소스 검색

质控条目新增修改删除

gaodm 5 년 전
부모
커밋
7899e1cfea

+ 153 - 8
src/main/java/com/diagbot/entity/QcresultDetail.java

@@ -3,22 +3,21 @@ package com.diagbot.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
  * <p>
  * 质控评分明细信息
-每次评分增加一条信息,前面所有评分is_deleted全部设置为Y
+ * 每次评分增加一条信息,前面所有评分is_deleted全部设置为Y
  * </p>
  *
  * @author zhoutg
- * @since 2020-04-13
+ * @since 2020-04-14
  */
 @TableName("med_qcresult_detail")
-@Data
 public class QcresultDetail implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -31,20 +30,35 @@ public class QcresultDetail implements Serializable {
      */
     private Long hospitalId;
 
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    /**
+     * 模块总分
+     */
+    private BigDecimal casesScore;
+
     /**
      * 条目ID
      */
     private Long casesEntryId;
 
     /**
-     * 病人住院ID
+     * 人工修改分值
      */
-    private String behospitalCode;
+    private BigDecimal score;
 
     /**
-     * 人工修改分值
+     * 单项否决(1-单项否决 0-非)
      */
-    private String score;
+    private Integer isReject;
 
     /**
      * 是否删除,N:未删除,Y:删除
@@ -76,4 +90,135 @@ public class QcresultDetail implements Serializable {
      */
     private String remark;
 
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+
+    public String getBehospitalCode() {
+        return behospitalCode;
+    }
+
+    public void setBehospitalCode(String behospitalCode) {
+        this.behospitalCode = behospitalCode;
+    }
+
+    public Long getCasesId() {
+        return casesId;
+    }
+
+    public void setCasesId(Long casesId) {
+        this.casesId = casesId;
+    }
+
+    public BigDecimal getCasesScore() {
+        return casesScore;
+    }
+
+    public void setCasesScore(BigDecimal casesScore) {
+        this.casesScore = casesScore;
+    }
+
+    public Long getCasesEntryId() {
+        return casesEntryId;
+    }
+
+    public void setCasesEntryId(Long casesEntryId) {
+        this.casesEntryId = casesEntryId;
+    }
+
+    public BigDecimal getScore() {
+        return score;
+    }
+
+    public void setScore(BigDecimal score) {
+        this.score = score;
+    }
+
+    public Integer getIsReject() {
+        return isReject;
+    }
+
+    public void setIsReject(Integer isReject) {
+        this.isReject = isReject;
+    }
+
+    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 String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "QcresultDetail{" +
+                "id=" + id +
+                ", hospitalId=" + hospitalId +
+                ", behospitalCode=" + behospitalCode +
+                ", casesId=" + casesId +
+                ", casesScore=" + casesScore +
+                ", casesEntryId=" + casesEntryId +
+                ", score=" + score +
+                ", isReject=" + isReject +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", remark=" + remark +
+                "}";
+    }
 }

+ 3 - 2
src/main/java/com/diagbot/entity/QcresultInfo.java

@@ -6,12 +6,13 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
  * <p>
  * 质控评分结果信息
-每次评分增加一条信息,前面所有评分is_deleted全部设置为Y
+ * 每次评分增加一条信息,前面所有评分is_deleted全部设置为Y
  * </p>
  *
  * @author zhoutg
@@ -49,7 +50,7 @@ public class QcresultInfo implements Serializable {
     /**
      * 最后得分
      */
-    private String scoreRes;
+    private BigDecimal scoreRes;
 
     /**
      * 是否删除,N:未删除,Y:删除

+ 3 - 3
src/main/java/com/diagbot/facade/AlgorithmFacade.java

@@ -70,7 +70,7 @@ public class AlgorithmFacade {
         //新增
         if (algorithmVO.getType().equals(1)) {
             if (null == algorithmVO.getOptResultAlgVO()) {
-                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "新增操作条目不能为空!");
+                throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "新增操作条目不能为空!");
             }
             //验证和操作数据
             if (ListUtil.isNotEmpty(qcResultAlgVOList)) {
@@ -91,7 +91,7 @@ public class AlgorithmFacade {
         //修改
         if (algorithmVO.getType().equals(2)) {
             if (null == algorithmVO.getOptResultAlgVO()) {
-                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "修改操作条目不能为空!");
+                throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "修改操作条目不能为空!");
             }
             //操作数据
             if (ListUtil.isNotEmpty(qcResultAlgVOList)) {
@@ -107,7 +107,7 @@ public class AlgorithmFacade {
         //删除
         if (algorithmVO.getType().equals(3)) {
             if (null == algorithmVO.getOptResultAlgVO()) {
-                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "删除操作条目不能为空!");
+                throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "删除操作条目不能为空!");
             }
             //操作数据
             if (ListUtil.isNotEmpty(qcResultAlgVOList)) {

+ 13 - 0
src/main/java/com/diagbot/facade/QcresultDetailFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.QcresultDetailServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/14 14:24
+ */
+@Component
+public class QcresultDetailFacade extends QcresultDetailServiceImpl {
+}

+ 104 - 0
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -1,8 +1,31 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.AlgorithmDTO;
+import com.diagbot.entity.QcresultDetail;
+import com.diagbot.entity.QcresultInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.QcresultDetailServiceImpl;
 import com.diagbot.service.impl.QcresultInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.AlgorithmVO;
+import com.diagbot.vo.QcResultAlgVO;
+import com.diagbot.vo.QcresultVO;
+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.Date;
+import java.util.List;
+
 /**
  * @Description:
  * @Author:zhaops
@@ -10,4 +33,85 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class QcresultInfoFacade extends QcresultInfoServiceImpl {
+    @Autowired
+    @Qualifier("qcresultDetailServiceImpl")
+    private QcresultDetailServiceImpl qcresultDetailServiceImpl;
+    @Autowired
+    private AlgorithmFacade algorithmFacade;
+
+    public Boolean changeQcResult(QcresultVO qcresultVO) {
+        //入参验证
+        if (StringUtil.isBlank(qcresultVO.getBehospitalCode())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "病历id不能为空!");
+        }
+        if (null == qcresultVO.getOptResultAlgVO()) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "操作条目不能为空!");
+        }
+        //查询质控评分明细信息
+        qcresultVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+        List<QcresultDetail> qcresultDetails
+                = qcresultDetailServiceImpl.list(
+                new QueryWrapper<QcresultDetail>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", qcresultVO.getHospitalId())
+                        .eq("behospital_code", qcresultVO.getBehospitalCode()));
+
+        //评分
+        AlgorithmVO algorithmVO = new AlgorithmVO();
+        List<QcResultAlgVO> qcResultAlgVOList
+                = BeanUtil.listCopyTo(qcresultDetails, QcResultAlgVO.class);
+        algorithmVO.setOptResultAlgVO(qcresultVO.getOptResultAlgVO());
+        algorithmVO.setQcResultAlgVOList(qcResultAlgVOList);
+        AlgorithmDTO algorithmDTO = algorithmFacade.getAlgorithmRes(algorithmVO);
+        Long useId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
+        Date now = DateUtil.now();
+        //更新质控评分结果信息
+        //获取旧记录
+        QcresultInfo qcresultInfo
+                = this.getOne(
+                new QueryWrapper<QcresultInfo>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", qcresultVO.getHospitalId())
+                        .eq("behospital_code", qcresultVO.getBehospitalCode()));
+        //删除记录
+        this.update(new UpdateWrapper<QcresultInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", qcresultVO.getHospitalId())
+                .eq("behospital_code", qcresultVO.getBehospitalCode())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", useId)
+                .set("gmt_modified", now));
+        //新增记录
+        qcresultInfo.setScoreRes(algorithmDTO.getScore());
+        qcresultInfo.setLevel(algorithmDTO.getLevel());
+        qcresultInfo.setGmtCreate(now);
+        qcresultInfo.setCreator(useId.toString());
+        qcresultInfo.setGmtModified(now);
+        qcresultInfo.setModifier(useId.toString());
+        this.save(qcresultInfo);
+        //更新质控评分明细信息
+        //删除记录
+        qcresultDetailServiceImpl.update(new UpdateWrapper<QcresultDetail>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", qcresultVO.getHospitalId())
+                .eq("behospital_code", qcresultVO.getBehospitalCode())
+                .set("is_deleted", IsDeleteEnum.Y.getKey())
+                .set("modifier", useId)
+                .set("gmt_modified", now));
+        List<QcresultDetail> qcresultDetailList = new ArrayList<>();
+        List<QcResultAlgVO> qcResultAlgVORes = algorithmVO.getQcResultAlgVOList();
+        if (ListUtil.isNotEmpty(qcResultAlgVORes)) {
+            for (QcResultAlgVO qcResultAlgVO : qcResultAlgVORes) {
+                QcresultDetail qcresultDetail = new QcresultDetail();
+                BeanUtil.copyProperties(qcResultAlgVO, qcresultDetail);
+                qcresultDetail.setGmtCreate(now);
+                qcresultDetail.setCreator(useId.toString());
+                qcresultDetail.setGmtModified(now);
+                qcresultDetail.setModifier(useId.toString());
+                qcresultDetailList.add(qcresultDetail);
+            }
+            qcresultDetailServiceImpl.saveBatch(qcresultDetailList);
+        }
+        return true;
+    }
 }

+ 25 - 0
src/main/java/com/diagbot/vo/QcresultVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/4/14 14:27
+ */
+@Getter
+@Setter
+public class QcresultVO {
+    //病历id
+    private String behospitalCode;
+    //医院ID
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+    //操作类型(0:基础评分,1:新增条目评分,2:删除条目,3:修改条目)
+    @ApiModelProperty(hidden = true)
+    private Integer type;
+    //操作条目
+    private QcResultAlgVO optResultAlgVO;
+}

+ 1 - 1
src/test/java/com/diagbot/CodeGeneration.java

@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
         strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "med_medical_record","med_medical_record_content","med_home_page","med_home_operation_info","med_home_diagnose_info", "med_doctor_advice"}); // 需要生成的表
+        strategy.setInclude(new String[] { "med_qcresult_detail"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);