소스 검색

二期诊断关联量表,添加修改

wangyu 6 년 전
부모
커밋
d2a3dc4c3f

+ 160 - 0
icssman-service/src/main/java/com/diagbot/entity/DisScale.java

@@ -0,0 +1,160 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 诊断量表映射表
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-04-01
+ */
+@TableName("icss_dis_scale")
+public class DisScale implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 诊断标签id
+     */
+    private Long disId;
+
+    /**
+     * 量表标签id
+     */
+    private Long scaleId;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public Long getDisId() {
+        return disId;
+    }
+
+    public void setDisId(Long disId) {
+        this.disId = disId;
+    }
+    public Long getScaleId() {
+        return scaleId;
+    }
+
+    public void setScaleId(Long scaleId) {
+        this.scaleId = scaleId;
+    }
+    public Integer getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(Integer orderNo) {
+        this.orderNo = orderNo;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "DisScale{" +
+        "id=" + id +
+        ", isDeleted=" + isDeleted +
+        ", gmtCreate=" + gmtCreate +
+        ", gmtModified=" + gmtModified +
+        ", creator=" + creator +
+        ", modifier=" + modifier +
+        ", disId=" + disId +
+        ", scaleId=" + scaleId +
+        ", orderNo=" + orderNo +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 80 - 0
icssman-service/src/main/java/com/diagbot/facade/DisScaleFacade.java

@@ -0,0 +1,80 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.DisScale;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.DisScaleService;
+import com.diagbot.service.impl.DisScaleServiceImpl;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddDisScaleInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/4/1 13:29
+ */
+@Component
+public class DisScaleFacade extends DisScaleServiceImpl{
+    @Autowired
+    private QuestionFacade questionFacade;
+    @Autowired
+    @Qualifier("disScaleServiceImpl")
+    private DisScaleService disScaleService;
+    /**
+     * 添加诊断量表关联信息
+     *
+     * @param addDisScaleInfoVO
+     * @return
+     */
+    public Boolean addDisScaleInfo(AddDisScaleInfoVO addDisScaleInfoVO) {
+        String userId = UserUtils.getCurrentPrincipleID();
+        //判断诊断是否已被删除
+        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+        questionInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
+                .eq("id",addDisScaleInfoVO.getDisId());
+        if(questionFacade.count(questionInfoQueryWrapper) == 0){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS,
+                    "关联诊断标签已删除");
+        }
+        //判断该诊断是否关联过量表
+        QueryWrapper<DisScale> disScaleQueryWrapper = new QueryWrapper<>();
+        disScaleQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
+                .eq("dis_id",addDisScaleInfoVO.getDisId());
+        //如果添加过将原来的标签删除
+        if (this.count(disScaleQueryWrapper) != 0) {
+            UpdateWrapper<DisScale> updateWrapper = new UpdateWrapper();
+            updateWrapper.eq("dis_id", addDisScaleInfoVO.getDisId())
+                    .set("is_deleted", IsDeleteEnum.Y.getKey())
+                    .set("modifier", userId)
+                    .set("gmt_modified", DateUtil.now());
+            this.update(new DisScale(), updateWrapper);
+        }
+        //重新添加标签
+        DisScale disScale = new DisScale();
+        List<DisScale> addList = new ArrayList<>();
+        for (int i = 0; i < addDisScaleInfoVO.getScaleId().size(); i++) {
+            disScale = new DisScale();
+            disScale.setCreator(userId);
+            disScale.setModifier(userId);
+            disScale.setGmtCreate(DateUtil.now());
+            disScale.setGmtModified(DateUtil.now());
+            disScale.setScaleId(addDisScaleInfoVO.getScaleId().get(i));
+            disScale.setDisId(addDisScaleInfoVO.getDisId());
+            disScale.setOrderNo(i + 1);
+            addList.add(disScale);
+        }
+        disScaleService.saveBatch(addList);
+        return true;
+    }
+}

+ 16 - 0
icssman-service/src/main/java/com/diagbot/mapper/DisScaleMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.DisScale;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 诊断量表映射表 Mapper 接口
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-04-01
+ */
+public interface DisScaleMapper extends BaseMapper<DisScale> {
+
+}

+ 16 - 0
icssman-service/src/main/java/com/diagbot/service/DisScaleService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.DisScale;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 诊断量表映射表 服务类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-04-01
+ */
+public interface DisScaleService extends IService<DisScale> {
+
+}

+ 20 - 0
icssman-service/src/main/java/com/diagbot/service/impl/DisScaleServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.DisScale;
+import com.diagbot.mapper.DisScaleMapper;
+import com.diagbot.service.DisScaleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 诊断量表映射表 服务实现类
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-04-01
+ */
+@Service
+public class DisScaleServiceImpl extends ServiceImpl<DisScaleMapper, DisScale> implements DisScaleService {
+
+}

+ 21 - 0
icssman-service/src/main/java/com/diagbot/vo/AddDisScaleInfoVO.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/4/1 13:25
+ */
+@Getter
+@Setter
+public class AddDisScaleInfoVO {
+    @NotNull(message = "请输入诊断标签id")
+    private Long disId;
+    @NotNull(message = "请输入量表标签id")
+    private List<Long> scaleId;
+}

+ 45 - 0
icssman-service/src/main/java/com/diagbot/web/DisScaleController.java

@@ -0,0 +1,45 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.DisScaleFacade;
+import com.diagbot.vo.AddDisScaleInfoVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * 诊断量表映射表 前端控制器
+ * </p>
+ *
+ * @author wangyu
+ * @since 2019-04-01
+ */
+@RestController
+@RequestMapping("/disScale")
+@Api(value = "诊断关联量表相关API", tags = { "诊断关联量表相关API" })
+public class DisScaleController {
+
+    @Autowired
+    private DisScaleFacade disScaleFacade;
+
+    @ApiOperation(value = "【二期】诊断量表关联——添加和修改[by:wangyu]",
+            notes = "disId: 诊断id,必填<br>" +
+                    "scaleId: 量表id,必填<br>")
+    @PostMapping("/addDisScaleInfo")
+    @SysLogger("addDisScaleInfo")
+    @Transactional
+    public RespDTO<Boolean> addDisScaleInfo(@RequestBody @Valid AddDisScaleInfoVO addDisScaleInfoVO){
+        Boolean data = disScaleFacade.addDisScaleInfo(addDisScaleInfoVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 19 - 0
icssman-service/src/main/resources/mapper/DisScaleMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.DisScaleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DisScale">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="dis_id" property="disId" />
+        <result column="scale_id" property="scaleId" />
+        <result column="order_no" property="orderNo" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>