Quellcode durchsuchen

Merge branch 'develop' into dev/cdssman20200727_init

gaodm vor 4 Jahren
Ursprung
Commit
50c836f1bc

+ 1 - 0
mrman-service/src/main/java/com/diagbot/dto/GetModuleInfoOneDTO.java

@@ -22,6 +22,7 @@ public class GetModuleInfoOneDTO {
     private Long hospitalId;
     //数据模块ID
     private Long modeId;
+    private Integer defaultModule =0; //默认模版是否开启(0-否 1-是)
     //模板明细
     private Map<Integer, List<QcModuleDetailDTO>> moduleDetail;
     // 已选择的文书

+ 5 - 0
mrman-service/src/main/java/com/diagbot/dto/QcTypePageDTO.java

@@ -53,6 +53,11 @@ public class QcTypePageDTO implements Serializable {
      */
     private Date gmtModified;
 
+    /**
+     * 默认模版是否开启(0-否 1-是)
+     */
+    private Integer defaultModule =0;
+
     /**
      * 创建人,0表示无创建人值
      */

+ 5 - 0
mrman-service/src/main/java/com/diagbot/entity/QcModuleInfo.java

@@ -51,6 +51,11 @@ public class QcModuleInfo implements Serializable {
      */
     private String modifier;
 
+    /**
+     * 默认模版是否开启(0-否 1-是)
+     */
+    private Integer defaultModule =0;
+
     /**
      * 模板名称
      */

+ 107 - 12
mrman-service/src/main/java/com/diagbot/facade/QcModuleInfoFacade.java

@@ -4,11 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
-import com.diagbot.dto.GetModuleInfoOneDTO;
-import com.diagbot.dto.MedRecordAnalyzeDTO;
-import com.diagbot.dto.ModuleInfoListDTO;
-import com.diagbot.dto.QcModuleDetailDTO;
-import com.diagbot.dto.QuestionDTO;
+import com.diagbot.dto.*;
 import com.diagbot.entity.MedModuleMapping;
 import com.diagbot.entity.QcModuleDetail;
 import com.diagbot.entity.QcModuleInfo;
@@ -21,12 +17,7 @@ import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
-import com.diagbot.vo.AddModuleInfoVO;
-import com.diagbot.vo.GetModuleInfoOneVO;
-import com.diagbot.vo.GetModuleInfoVO;
-import com.diagbot.vo.ModuleIndexVO;
-import com.diagbot.vo.QuestionIdsVO;
-import com.diagbot.vo.UpdateModuleInfoVO;
+import com.diagbot.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -94,13 +85,116 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
         return true;
     }
 
+    /**
+     * 模板列表首页
+     *
+     * @param defaultModuleVO
+     * @return
+     */
+    public Object saveDefaultModuleInfo(DefaultModuleVO defaultModuleVO) {
+        Boolean flag = false;
+        //用户选择添加默认(标准)模块
+        if (1 == defaultModuleVO.getDefaultModule()) {
+            //用户同意更换默认(标准)模版   校验标准模版是否存在之前,提示信息用户操作默认为0 当用户点击提示信息确定则1
+            if (1 == defaultModuleVO.getDefineType()) {
+                //此时不会给出提示
+                flag = true;
+//            原有的标准模版设置为0 体现互斥行性
+                UpdateWrapper<QcModuleInfo> serviceInfoWrapper = new UpdateWrapper<>();
+                serviceInfoWrapper
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("mode_id", defaultModuleVO.getModeId())
+                        .eq("hospital_id", defaultModuleVO.getHospitalId())
+                        .eq("default_module", 1)
+                        .set("default_module", "0");
+                this.update(new QcModuleInfo(), serviceInfoWrapper);
+            }
+            //校验标准模版是否存在
+            int sum = this.count(new QueryWrapper<QcModuleInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("mode_id", defaultModuleVO.getModeId())
+                    .eq("hospital_id", defaultModuleVO.getHospitalId())
+                    .eq("default_module", 1));
+            if (sum > 0) {
+                //发现标准模版已经存在,默认给出提示
+                if (flag == false) {
+                    return null;
+                }
+            }
+            Boolean bac = false;
+            //更新模版状态
+            UpdateWrapper<QcModuleInfo> serviceInfoWrapper = new UpdateWrapper<>();
+            serviceInfoWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("mode_id", defaultModuleVO.getModeId())
+                    .eq("hospital_id", defaultModuleVO.getHospitalId())
+                    .eq("name", defaultModuleVO.getName())
+                    .set("default_module", "1");
+            bac = this.update(new QcModuleInfo(), serviceInfoWrapper);
+            return bac;
+
+        } else {
+            //用户直接取消,无视互斥
+            UpdateWrapper<QcModuleInfo> serviceWrapper = new UpdateWrapper<>();
+            serviceWrapper
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("mode_id", defaultModuleVO.getModeId())
+                    .eq("hospital_id", defaultModuleVO.getHospitalId())
+                    .eq("name", defaultModuleVO.getName())
+                    .eq("default_module", 1)
+                    .set("default_module", defaultModuleVO.getDefaultModule());
+            this.update(new QcModuleInfo(), serviceWrapper);
+
+        }
+        return true;
+    }
+
     /**
      * 添加模板
      *
      * @param addModulInfoVO
      * @return
      */
-    public Boolean saveOrUpdateModuleInfo(AddModuleInfoVO addModulInfoVO) {
+    public Object saveOrUpdateModuleInfo(AddModuleInfoVO addModulInfoVO) {
+        Boolean flag = false;
+        //用户选择添加默认(标准)模块
+        if (1 == addModulInfoVO.getDefaultModule()) {
+            //用户同意更换默认(标准)模版   校验标准模版是否存在之前,提示信息用户操作默认为0 当用户点击提示信息确定则1
+            if (1 == addModulInfoVO.getDefineType()) {
+                //此时不会给出提示
+                flag = true;
+//            原有的标准模版设置为0 互斥行性
+                UpdateWrapper<QcModuleInfo> serviceInfoWrapper = new UpdateWrapper<>();
+                serviceInfoWrapper
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("mode_id", addModulInfoVO.getModeId())
+                        .eq("hospital_id", addModulInfoVO.getHospitalId())
+                        .eq("default_module", 1)
+                        .set("default_module", "0");
+                this.update(new QcModuleInfo(), serviceInfoWrapper);
+            }
+            //校验标准模版是否存在
+            List<QcModuleInfo> list = this.list(new QueryWrapper<QcModuleInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("mode_id", addModulInfoVO.getModeId())
+                    .eq("hospital_id", addModulInfoVO.getHospitalId())
+                    .eq("default_module", 1));
+            if (list.size() > 0) {
+                //发现标准模版已经存在
+                if (flag == false) {
+                    //修改页面
+                    if (null != addModulInfoVO.getId()) {
+                        //当默认唯一模版提交修改按钮不提示
+                        if (!addModulInfoVO.getId().equals(list.get(0).getId())) {
+                            return null;
+                        }
+                    } else if (null == addModulInfoVO.getId()) {
+                        //新增时候互斥给出提示
+                        return null;
+                    }
+                }
+            }
+        }
         // 校验名称是否相同
         int count = this.count(new QueryWrapper<QcModuleInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -171,6 +265,7 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
                 .eq("id", updateModuleInfoVO.getId())
                 .set("name", updateModuleInfoVO.getName())
                 .set("mode_id", updateModuleInfoVO.getModeId())
+                .set("default_module", updateModuleInfoVO.getDefaultModule())
                 // .set("record_module_id", updateModuleInfoVO.getRecordModuleId())
                 .set("modifier", userId)
                 .set("gmt_modified", DateUtil.now())

+ 2 - 2
mrman-service/src/main/java/com/diagbot/facade/QcTypeFacade.java

@@ -95,7 +95,7 @@ public class QcTypeFacade extends QcTypeServiceImpl {
         String person = param.getPerson();
         // 先删除原明细(物理删除)
         qcTypeCasesEntryService.remove(new QueryWrapper<QcTypeCasesEntry>()
-            .eq("type_id", qcTypeSaveVO.getId())
+                .eq("type_id", qcTypeSaveVO.getId())
         );
         // 再插入新明细
         List<QcTypeCasesEntryVO> qcTypeCasesEntryVOList = qcTypeSaveVO.getQcTypeCasesEntryVOList();
@@ -249,4 +249,4 @@ public class QcTypeFacade extends QcTypeServiceImpl {
         return true;
     }
 
-}
+}

+ 3 - 1
mrman-service/src/main/java/com/diagbot/vo/AddModuleInfoVO.java

@@ -16,9 +16,11 @@ public class AddModuleInfoVO {
 
     private Long id;//模板id,修改时传,新增不用传
     private String name;//模板名称
+    private Integer defaultModule =0;//默认模版是否开启(0-否 1-是)
+    private Integer defineType =0;//校验时使用(0-不更换 1-更换)
     private Long hospitalId; //医院ID
     private Long modeId; //数据模块ID
     private List<Long> recordIdList ; //med_record_analyze的id列表
     private List<AddModuleDetailVO> moduleDetail; //标签列表
     private String remark;
-}
+}

+ 23 - 0
mrman-service/src/main/java/com/diagbot/vo/DefaultModuleVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: cy
+ * @time: 2020/09/29 15:35
+ */
+@Getter
+@Setter
+public class DefaultModuleVO {
+
+    private Long id;//模板id
+    private String name;//模板名称
+    private Integer defaultModule =0;//默认模版是否开启(0-否 1-是)
+    private Integer defineType =0;//校验时使用(0-不更换 1-更换)
+    private Long hospitalId; //医院ID
+    private Long modeId; //数据模块ID
+}

+ 22 - 0
mrman-service/src/main/java/com/diagbot/vo/QcTypeControlVO.java

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 质控类型保存入参
+ * @Author: ztg
+ * @Date: 2018/10/24 16:11
+ */
+@Data
+public class QcTypeControlVO {
+
+    // 主键
+    private Long id;
+    // 医院ID
+    private Long hospitalId;
+    // 质控类型名称
+    private String name;
+}

+ 1 - 0
mrman-service/src/main/java/com/diagbot/vo/UpdateModuleInfoVO.java

@@ -20,6 +20,7 @@ public class UpdateModuleInfoVO {
     private String name;
     private Long hospitalId; //医院ID
     private Long modeId; //数据模块ID
+    private Integer defaultModule =0;//默认模版是否开启(0-否 1-是)
     private List<Long> recordIdList ; //med_record_analyze的id列表
     @NotNull(message="明细不能为空")
     private List<AddModuleDetailVO> moduleDetail;

+ 26 - 7
mrman-service/src/main/java/com/diagbot/web/QcModuleInfoController.java

@@ -7,11 +7,7 @@ import com.diagbot.dto.MedRecordAnalyzeDTO;
 import com.diagbot.dto.ModuleInfoListDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.QcModuleInfoFacade;
-import com.diagbot.vo.AddModuleInfoVO;
-import com.diagbot.vo.DeleteModuleVO;
-import com.diagbot.vo.GetModuleInfoOneVO;
-import com.diagbot.vo.GetModuleInfoVO;
-import com.diagbot.vo.ModuleIndexVO;
+import com.diagbot.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +41,8 @@ public class QcModuleInfoController {
             notes = "id,修改时传,新增不用传<br>" +
                     "name: 模板名称,必填<br>" +
                     "modeId: 数据模块ID,必填<br>" +
+                    "defaultModule:默认模版是否开启(0-默认否 1-是)" +
+                    "defineType: 校验时使用(0-默认不更换 1-更换)" +
                     "recordIdList: med_record_analyze的id列表<br>" +
                     "hospitalId: 医院ID,必填<br>" +
                     "moduleDetail: 标签列表<br>" +
@@ -52,8 +50,29 @@ public class QcModuleInfoController {
     @PostMapping("/saveOrUpdateModuleInfo")
     @SysLogger("saveOrUpdateModuleInfo")
     @Transactional
-    public RespDTO<Boolean> saveOrUpdateModuleInfo(@Valid @RequestBody AddModuleInfoVO addModuleInfoVO) {
-        Boolean data = qcModuleInfoFacade.saveOrUpdateModuleInfo(addModuleInfoVO);
+    public RespDTO<Object> saveOrUpdateModuleInfo(@Valid @RequestBody AddModuleInfoVO addModuleInfoVO) {
+        Object data = qcModuleInfoFacade.saveOrUpdateModuleInfo(addModuleInfoVO);
+        if(null==data){
+            return RespDTO.onError("默认标准类型已存在,是否替换");
+        }
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "模板列表首页[by:cy]",
+            notes = "id,模板id<br>" +
+                    "name: 模板名称,必填<br>" +
+                    "defaultModule:默认模版是否开启(0-默认否 1-是)" +
+                    "defineType: 校验时使用(0-默认不更换 1-更换)" +
+                    "modeId: 数据模块ID,必填<br>" +
+                    "hospitalId: 医院ID,必填<br>")
+    @PostMapping("/saveDefaultModuleInfo")
+    @SysLogger("saveDefaultModuleInfo")
+    @Transactional
+    public RespDTO<Object> saveDefaultModuleInfo(@Valid @RequestBody DefaultModuleVO defaultModuleVO) {
+        Object data = qcModuleInfoFacade.saveDefaultModuleInfo(defaultModuleVO);
+        if(null==data){
+            return RespDTO.onError("默认标准类型已存在,是否替换?");
+        }
         return RespDTO.onSuc(data);
     }
 

+ 2 - 6
mrman-service/src/main/java/com/diagbot/web/QcTypeController.java

@@ -8,12 +8,7 @@ import com.diagbot.dto.QcTypePageDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.QcQuestionInfo;
 import com.diagbot.facade.QcTypeFacade;
-import com.diagbot.vo.DeleteQcTypeVO;
-import com.diagbot.vo.QcEntryHospitalVO;
-import com.diagbot.vo.QcTypeIndexVO;
-import com.diagbot.vo.QcTypePageVO;
-import com.diagbot.vo.QcTypeSaveVO;
-import com.diagbot.vo.QcTypeVO;
+import com.diagbot.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,6 +49,7 @@ public class QcTypeController {
         return RespDTO.onSuc(true);
     }
 
+
     @ApiOperation(value = "分页列表[by:zhoutg]",
             notes = "    // 名称\n" +
                     "     String name;\n" +