wangyu 6 rokov pred
rodič
commit
7c2f5d9e49

+ 30 - 2
icssman-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 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.GetAllDeptsDTO;
@@ -9,6 +10,8 @@ import com.diagbot.dto.GetDeptNameDTO;
 import com.diagbot.dto.GetQuestionUsualAndTypeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DeptInfo;
+import com.diagbot.entity.ModuleDetail;
+import com.diagbot.entity.ModuleInfo;
 import com.diagbot.entity.QuestionUsual;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
@@ -46,6 +49,10 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
     private UserServiceClient userServiceClient;
     @Autowired
     private QuestionUsualFacade questionUsualFacade;
+    @Autowired
+    ModuleInfoFacade moduleInfoFacade;
+    @Autowired
+    ModuleDetailFacade moduleDetailFacade;
     /**
      * 添加科室信息
      *
@@ -116,6 +123,8 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
      * @return
      */
     public Boolean deleteDeptInfo(DeleteDeptInfoVO deleteDeptInfoVO) {
+        Date now = DateUtil.now();
+        String person = UserUtils.getCurrentPrincipleID();
         //判断科室是否已被删除
         if(deptInfoIsDeletedStatus(Long.parseLong(deleteDeptInfoVO.getId()))){
             throw new CommonException(CommonErrorCode.NOT_EXISTS,
@@ -131,10 +140,29 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
         //删除操作
         DeptInfo deptInfo = new DeptInfo();
         deptInfo.setId(Long.parseLong(deleteDeptInfoVO.getId()));
-        deptInfo.setModifier(UserUtils.getCurrentPrincipleID());
+        deptInfo.setModifier(person);
         deptInfo.setIsDeleted(IsDeleteEnum.Y.getKey());
-        deptInfo.setGmtModified(DateUtil.now());
+        deptInfo.setGmtModified(now);
         this.updateById(deptInfo);
+        //删除慢病模板
+        QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+        moduleInfoQueryWrapper.eq("relation_id",deleteDeptInfoVO.getId())
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<ModuleInfo> moduleInfoList = moduleInfoFacade.list(moduleInfoQueryWrapper);
+        List<Long> moduleIds = moduleInfoList.stream().map(ModuleInfo::getId).collect(Collectors.toList());
+        moduleInfoFacade.update(new ModuleInfo(), new UpdateWrapper<ModuleInfo>()
+                .in("id", moduleIds)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("gmt_modified", now)
+                .set("modifier", person)
+                .set("is_deleted", IsDeleteEnum.Y.getKey()));
+        //删除模板明细
+        moduleDetailFacade.update(new ModuleDetail(), new UpdateWrapper<ModuleDetail>()
+                .in("module_id", moduleIds)
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .set("gmt_modified", now)
+                .set("modifier", person)
+                .set("is_deleted", IsDeleteEnum.Y.getKey()));
         return true;
     }
 

+ 26 - 11
icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -31,6 +31,7 @@ import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddModuleInfoVO;
+import com.diagbot.vo.GetAllDeptAndDisInfoVO;
 import com.diagbot.vo.GetModuleDetailInfoVO;
 import com.diagbot.vo.GetModuleInfoOneVO;
 import com.diagbot.vo.GetModuleInfoVO;
@@ -128,16 +129,6 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
      */
     public Boolean updateModuleInfo(UpdateModuleInfoVO updateModuleInfoVO) {
         String userId = UserUtils.getCurrentPrincipleID();
-        QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
-        moduleInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
-                .notIn("id",updateModuleInfoVO.getId());
-        List<ModuleInfo> moduleInfos = this.list(moduleInfoQueryWrapper);
-        for (ModuleInfo moduleInfo: moduleInfos) {
-            if(moduleInfo.getName().equals(updateModuleInfoVO.getName())){
-                throw new CommonException(CommonErrorCode.IS_EXISTS,
-                        "模板名称重复");
-            }
-        }
         UpdateWrapper<ModuleInfo> moduleInfoUpdateWrapper = new UpdateWrapper<>();
         moduleInfoUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("id", updateModuleInfoVO.getId())
@@ -440,16 +431,26 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
      *
      * @return
      */
-    public GetAllDeptAndDisInfoDTO getAllDeptAndDisInfo(){
+    public GetAllDeptAndDisInfoDTO getAllDeptAndDisInfo(GetAllDeptAndDisInfoVO getAllDeptAndDisInfoVO){
         //获取所有科室
         QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
         deptInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey());
+        if(getAllDeptAndDisInfoVO.getModuleType() != null && getAllDeptAndDisInfoVO.getModuleType().intValue() == 1){//过滤添加过得科室
+            List<ModuleInfo> moduleInfoList = getModuleInfos(getAllDeptAndDisInfoVO.getModuleType(),getAllDeptAndDisInfoVO.getType());
+            List<Long> deptIds = moduleInfoList.stream().map(ModuleInfo::getRelationId).collect(Collectors.toList());
+            deptInfoQueryWrapper.notIn("id",deptIds);
+        }
         List<DeptInfo> deptInfoList = deptInfoFacade.list(deptInfoQueryWrapper);
         List<DeptDTO> deptDTOS = BeanUtil.listCopyTo(deptInfoList,DeptDTO.class);
         //获取所有疾病
         QueryWrapper<DisType> disTypeQueryWrapper = new QueryWrapper<>();
         disTypeQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
                 .eq("type",1);
+        if(getAllDeptAndDisInfoVO.getModuleType() != null && getAllDeptAndDisInfoVO.getModuleType().intValue() == 2){//过滤添加过得疾病
+            List<ModuleInfo> moduleInfoList = getModuleInfos(getAllDeptAndDisInfoVO.getModuleType(),getAllDeptAndDisInfoVO.getType());
+            List<Long> disIds = moduleInfoList.stream().map(ModuleInfo::getRelationId).collect(Collectors.toList());
+            disTypeQueryWrapper.notIn("dis_id",disIds);
+        }
         List<DisType> disTypes = disTypeFacade.list(disTypeQueryWrapper);
         List<DisDTO> disDTOS = new ArrayList<>();
         for (DisType disType: disTypes) {
@@ -475,5 +476,19 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
         return getAllDeptAndDisInfoDTO;
     }
 
+    /**
+     * 获取模板信息
+     *
+     * @param moduleType
+     * @param type
+     * @return
+     */
+    public List<ModuleInfo> getModuleInfos(Long moduleType,String type){
+        QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+        moduleInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
+                .eq("module_type",moduleType)
+                .eq("type",type);
+        return this.list(moduleInfoQueryWrapper);
+    }
 
 }

+ 19 - 0
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -525,6 +525,25 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
                         .set("gmt_modified", now)
                         .set("modifier", person)
                         .set("is_deleted", IsDeleteEnum.Y.getKey()));
+                //删除慢病模板
+                QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+                moduleInfoQueryWrapper.eq("relation_id",id)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey());
+                List<ModuleInfo> moduleInfoList = moduleInfoFacade.list(moduleInfoQueryWrapper);
+                List<Long> moduleIds = moduleInfoList.stream().map(ModuleInfo::getId).collect(Collectors.toList());
+                moduleInfoFacade.update(new ModuleInfo(), new UpdateWrapper<ModuleInfo>()
+                        .in("id", moduleIds)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .set("gmt_modified", now)
+                        .set("modifier", person)
+                        .set("is_deleted", IsDeleteEnum.Y.getKey()));
+                //删除模板明细
+                moduleDetailFacade.update(new ModuleDetail(), new UpdateWrapper<ModuleDetail>()
+                        .in("module_id", moduleIds)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .set("gmt_modified", now)
+                        .set("modifier", person)
+                        .set("is_deleted", IsDeleteEnum.Y.getKey()));
             }
             //如果是量表
             if (deleteQuestionVO.getType() == QuestionTypeEnum.Scale.getKey()) {

+ 19 - 0
icssman-service/src/main/java/com/diagbot/vo/GetAllDeptAndDisInfoVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2019/4/24 16:36
+ */
+@Getter
+@Setter
+public class GetAllDeptAndDisInfoVO {
+    //模板类型
+    private Long moduleType;
+    //模板归属
+    private String type;
+
+}