Explorar o código

模板维护,获取子模板

wangyu %!s(int64=6) %!d(string=hai) anos
pai
achega
2e3f8d296e

+ 23 - 0
icssman-service/src/main/java/com/diagbot/dto/ModuleInfoDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.ModuleDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/26 15:44
+ */
+@Getter
+@Setter
+public class ModuleInfoDTO {
+    //模板id
+    private Long id;
+    //模板名称
+    private String name;
+    //模板明细
+    private List<ModuleDetail> moduleDetails;
+}

+ 52 - 0
icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -3,6 +3,8 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.GetQuestionInfoDTO;
+import com.diagbot.dto.ModuleInfoDTO;
+import com.diagbot.entity.ModuleDetail;
 import com.diagbot.entity.ModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
@@ -13,11 +15,13 @@ import com.diagbot.util.DateUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddModuleInfoVO;
+import com.diagbot.vo.GetModuleInfoVO;
 import com.diagbot.vo.ModuleGetQuestionInfoVO;
 import com.diagbot.vo.UpdateModuleInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
@@ -121,4 +125,52 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
         List<GetQuestionInfoDTO> getQuestionInfoDTOS = questionInfoFacade.moduleGetQuestiongInfoByName(moduleGetQuestionInfoVO);
         return getQuestionInfoDTOS;
     }
+
+    /**
+     * 获取子模板
+     *
+     * @param getModuleInfoVO
+     * @return
+     */
+    public List<ModuleInfoDTO> getModuleInfo(GetModuleInfoVO getModuleInfoVO){
+        //获取模板信息
+        QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+        moduleInfoQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey());
+        if(getModuleInfoVO.getType() != null){
+            moduleInfoQueryWrapper.eq("type",getModuleInfoVO.getType());
+        }
+        List<ModuleInfo> moduleInfoList = this.list(moduleInfoQueryWrapper);
+        List<Long> moduleIdList = new ArrayList<>();
+        for (ModuleInfo moduleInfo:moduleInfoList) {
+            moduleIdList.add(moduleInfo.getId());
+        }
+        //获取模板明细信息
+        QueryWrapper<ModuleDetail> moduleDetailQueryWrapper = new QueryWrapper<>();
+        moduleDetailQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
+            .in("module_id",moduleIdList);
+        List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(moduleDetailQueryWrapper);
+        //将模板明细根据模板id放入map
+        Map<Long,List<ModuleDetail>> moduleDetailMap = new HashMap<>();
+        List<ModuleDetail> allModuleDetials = null;
+        for (ModuleInfo moduleInfo:moduleInfoList) {
+            allModuleDetials = new ArrayList<>();
+            for (ModuleDetail moduleDetail:moduleDetailList) {
+               if(moduleInfo.getId().longValue() == moduleDetail.getModuleId().longValue()){
+                   allModuleDetials.add(moduleDetail);
+               }
+            }
+            moduleDetailMap.put(moduleInfo.getId(),allModuleDetials);
+        }
+        //给ModuleInfoDTO设值
+        List<ModuleInfoDTO> moduleInfoDTOList = new ArrayList<>();
+        ModuleInfoDTO moduleInfoDTO = null;
+            for (ModuleInfo moduleInfo:moduleInfoList) {
+                moduleInfoDTO = new ModuleInfoDTO();
+                moduleInfoDTO.setId(moduleInfo.getId());
+                moduleInfoDTO.setName(moduleInfo.getName());
+                moduleInfoDTO.setModuleDetails(moduleDetailMap.get(moduleInfoDTO.getId()));
+                moduleInfoDTOList.add(moduleInfoDTO);
+            }
+        return moduleInfoDTOList;
+    }
 }

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

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/26 15:27
+ */
+@Getter
+@Setter
+public class GetModuleInfoVO {
+    //模板类型
+    private Integer type;
+}

+ 12 - 0
icssman-service/src/main/java/com/diagbot/web/ModuleInfoController.java

@@ -3,9 +3,11 @@ package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.GetQuestionInfoDTO;
+import com.diagbot.dto.ModuleInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ModuleInfoFacade;
 import com.diagbot.vo.AddModuleInfoVO;
+import com.diagbot.vo.GetModuleInfoVO;
 import com.diagbot.vo.ModuleGetQuestionInfoVO;
 import com.diagbot.vo.UpdateModuleInfoVO;
 import io.swagger.annotations.Api;
@@ -84,4 +86,14 @@ public class ModuleInfoController {
         List<GetQuestionInfoDTO> date = moduleInfoFacade.getQuestionInfos(moduleGetQuestionInfoVO);
         return RespDTO.onSuc(date);
     }
+
+    @ApiOperation(value = "获取子模板信息[by:wangyu]",
+            notes = "type: 模板类型,1:主诉模板 2:现病史模板 3:现病史空模板 4 : 其他史模板 5:嵌套模板 6:慢病模板<br>" +
+                    "<br>")
+    @PostMapping("/getModuleInfo")
+    @SysLogger("getModuleInfo")
+    public RespDTO<List<ModuleInfoDTO>> getModuleInfo(@Valid @RequestBody GetModuleInfoVO getModuleInfoVO) {
+        List<ModuleInfoDTO> date = moduleInfoFacade.getModuleInfo(getModuleInfoVO);
+        return RespDTO.onSuc(date);
+    }
 }