Browse Source

查体模板参照原型修改

Zhaops 6 năm trước cách đây
mục cha
commit
c53a0bd028

+ 1 - 1
icss-service/src/main/java/com/diagbot/entity/IntroduceDetail.java

@@ -76,7 +76,7 @@ public class IntroduceDetail implements Serializable {
     private Integer orderNo;
 
     /**
-     * 显示位置:0-都展示,1-推送展示,2-更多展示
+     * 显示位置:0-都展示,1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示
      */
     private Integer position;
 

+ 4 - 3
icss-service/src/main/java/com/diagbot/enums/IntroducePositionEnum.java

@@ -11,8 +11,9 @@ import lombok.Setter;
 public enum IntroducePositionEnum implements KeyedNamed {
     All(0, "都展示"),
     Push(1, "推送展示"),
-    More(2, "更多展示");
-
+    More(2, "更多展示"),
+    CommonTreatment(3, "一般治疗展示"),
+    SurgeryTreatment(4, "手术治疗展示");
     @Setter
     private Integer key;
 
@@ -47,4 +48,4 @@ public enum IntroducePositionEnum implements KeyedNamed {
     public String getName() {
         return name;
     }
-}
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2018/12/12 16:24
+ */
+@Getter
+@Setter
+public class DeptShortDTO {
+    private Long id;
+    private String name;
+}

+ 8 - 5
icssman-service/src/main/java/com/diagbot/dto/DeptVitalDTO.java

@@ -1,9 +1,10 @@
 package com.diagbot.dto;
 
-import com.diagbot.entity.QuestionInfo;
+import com.diagbot.entity.DeptInfo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -13,8 +14,10 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class DeptVitalDTO {
-    String deptId;
-    String deptName;
-    List<QuestionInfo> vitals;
+public class DeptVitalDTO extends DeptInfo {
+    private String operator;
+    private String operatorName;
+    private Date gmtOperate;
+    private List<QuestionShortDTO> vitals;
+    private List<QuestionShortDTO> unSelectedVitals;
 }

+ 2 - 2
icssman-service/src/main/java/com/diagbot/dto/IntroducePageDTO.java

@@ -19,6 +19,6 @@ public class IntroducePageDTO extends IntroduceInfo {
     private String operatorName;
     private Date gmtOperate;
     private String tagName;
-    private List<QuestionIntroduceDTO> questionList;
-    private List<QuestionIntroduceDTO> unRelatedQuestionList;
+    private List<QuestionShortDTO> questionList;
+    private List<QuestionShortDTO> unRelatedQuestionList;
 }

+ 1 - 1
icssman-service/src/main/java/com/diagbot/dto/QuestionIntroduceDTO.java

@@ -10,7 +10,7 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-public class QuestionIntroduceDTO {
+public class QuestionShortDTO {
     private Long id;
     private String tagName;
     private String name;

+ 153 - 3
icssman-service/src/main/java/com/diagbot/facade/DeptVitalFacade.java

@@ -2,6 +2,13 @@ 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.DeptShortDTO;
+import com.diagbot.dto.DeptVitalDTO;
+import com.diagbot.dto.QuestionShortDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.DeptInfo;
 import com.diagbot.entity.DeptVital;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.IsDeleteEnum;
@@ -10,9 +17,11 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.DeptVitalService;
 import com.diagbot.service.impl.DeptVitalServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.UserUtils;
+import com.diagbot.vo.DeptVitalPageVO;
 import com.diagbot.vo.DeptVitalVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,8 +44,12 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
     @Autowired
     private QuestionInfoFacade questionInfoFacade;
     @Autowired
+    private DeptInfoFacade deptInfoFacade;
+    @Autowired
     @Qualifier("deptVitalServiceImpl")
     private DeptVitalService deptVitalService;
+    @Autowired
+    private UserServiceClient userServiceClient;
 
     /**
      * 保存查体模板
@@ -128,7 +141,17 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
      * @param deptId
      * @return
      */
-    public List<QuestionInfo> getVitalsByDeptId(Long deptId) {
+    public DeptVitalDTO getModuleByDeptId(Long deptId) {
+        DeptVitalDTO deptVitalDTO = new DeptVitalDTO();
+        DeptInfo deptInfo = deptInfoFacade.getById(deptId);
+        if (deptInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "科室不存在");
+        } else if (deptInfo.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "科室已删除");
+        }
+        BeanUtil.copyProperties(deptInfo, deptVitalDTO);
+
+        //已关联查体
         QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
         deptVitalQueryWrapper.eq("dept_id", deptId).
                 eq("is_deleted", IsDeleteEnum.N.getKey());
@@ -137,6 +160,133 @@ public class DeptVitalFacade extends DeptVitalServiceImpl {
                 .map(deptVitals -> deptVitals.getVitalId())
                 .collect(Collectors.toList());
         List<QuestionInfo> vitalList = Lists.newArrayList(questionInfoFacade.listByIds(vitalIds));
-        return vitalList;
+        List<QuestionShortDTO> vitals = Lists.newArrayList();
+        for (QuestionInfo questionInfo : vitalList) {
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            vitals.add(questionShortDTO);
+        }
+        deptVitalDTO.setVitals(vitals);
+
+        //未关联查体
+        QueryWrapper<QuestionInfo> unSelectedVitalQueryWrapper = new QueryWrapper<>();
+        unSelectedVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("sub_type", 0).
+                notIn("id", vitalIds).
+                eq("type", QuestionTypeEnum.Vital.getKey());
+        List<QuestionInfo> unSelectedVitalList = questionInfoFacade.list(unSelectedVitalQueryWrapper);
+        List<QuestionShortDTO> unSelectedVitals = Lists.newArrayList();
+        for (QuestionInfo questionInfo : unSelectedVitalList) {
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            unSelectedVitals.add(questionShortDTO);
+        }
+        deptVitalDTO.setUnSelectedVitals(unSelectedVitals);
+        return deptVitalDTO;
+    }
+
+
+    /**
+     * 获取科室模板分页信息
+     *
+     * @param deptVitalPageVO
+     * @return
+     */
+    public IPage<DeptVitalDTO> getDeptVitalPage(DeptVitalPageVO deptVitalPageVO) {
+        QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
+        deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                select("dept_id", "gmt_create", "creator", "gmt_modified", "modifier").
+                groupBy("dept_id", "gmt_create", "creator", "gmt_modified", "modifier");
+        List<DeptVital> deptVitalList = this.list(deptVitalQueryWrapper);
+        Map<Long, DeptVital> deptVitalMap = EntityUtil.makeEntityMap(deptVitalList, "deptId");
+        List<Long> deptIds = deptVitalList.stream().map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
+
+        QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
+        deptInfoQueryWrapper.like("name", deptVitalPageVO.getDeptName()).
+                eq("is_deleted", IsDeleteEnum.N.getKey()).
+                in("id", deptIds);
+        IPage<DeptVitalDTO> page = deptInfoFacade.page(deptVitalPageVO, deptInfoQueryWrapper);
+
+        List<DeptVitalDTO> deptVitalDTOListRet = Lists.newLinkedList();
+        List<DeptVitalDTO> deptVitalDTOList = page.getRecords();
+        for (DeptInfo deptInfo : deptVitalDTOList) {
+            DeptVitalDTO deptVitalDTO = new DeptVitalDTO();
+            BeanUtil.copyProperties(deptInfo, deptVitalDTO);
+            if (deptVitalMap.get(deptInfo.getId()) != null) {
+                DeptVital deptVital = deptVitalMap.get(deptInfo.getId());
+                if (deptVital.getGmtModified().after(deptVital.getGmtCreate())) {
+                    deptVitalDTO.setGmtOperate(deptVital.getGmtModified());
+                    deptVitalDTO.setOperator(deptVital.getModifier());
+                } else {
+                    deptVitalDTO.setGmtOperate(deptVital.getGmtCreate());
+                    deptVitalDTO.setOperator(deptVital.getCreator());
+                }
+            }
+            deptVitalDTOListRet.add(deptVitalDTO);
+        }
+        List<String> userIds = deptVitalDTOListRet.stream().map(deptVitalDTO -> deptVitalDTO.getOperator()).collect(Collectors.toList());
+        RespDTO<Map<String, String>> data = userServiceClient.getUserInfoByIds(userIds);
+        Map<String, String> userInfos = data.data;
+        for (DeptVitalDTO deptVitalDTO : deptVitalDTOListRet) {
+            if (userInfos.get(deptVitalDTO.getOperator()) != null) {
+                deptVitalDTO.setOperatorName(deptVitalDTO.getOperator());
+            }
+        }
+        page.setRecords(deptVitalDTOListRet);
+
+        return page;
+    }
+
+    /**
+     * 获取科室下拉列表
+     *
+     * @return
+     */
+    public List<DeptShortDTO> getDeptShortList(List<Long> deptIds) {
+        List<DeptShortDTO> deptShortDTOList = Lists.newLinkedList();
+        QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
+        deptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                notIn("id", deptIds);
+        List<DeptInfo> deptInfoList = deptInfoFacade.list(deptInfoQueryWrapper);
+        for (DeptInfo deptInfo : deptInfoList) {
+            DeptShortDTO deptShortDTO = new DeptShortDTO();
+            BeanUtil.copyProperties(deptInfo, deptShortDTO);
+            deptShortDTOList.add(deptShortDTO);
+        }
+        return deptShortDTOList;
+    }
+
+    /**
+     * 获取科室下拉列表-新增
+     *
+     * @return
+     */
+    public List<DeptShortDTO> getDeptShortLisCreate() {
+        QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
+        deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                select("dept_id").
+                groupBy("dept_id");
+        List<DeptVital> deptVitalList = this.list(deptVitalQueryWrapper);
+        List<Long> deptIds = deptVitalList.stream().map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
+        return getDeptShortList(deptIds);
+    }
+
+    /**
+     * 获取科室下拉列表-修改
+     *
+     * @return
+     */
+    public List<DeptShortDTO> getDeptShortLisModify(Long expId) {
+        QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
+        deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                select("dept_id").
+                groupBy("dept_id");
+        List<DeptVital> deptVitalList = this.list(deptVitalQueryWrapper);
+        List<Long> deptIds = deptVitalList.stream().map(deptVital -> deptVital.getDeptId()).collect(Collectors.toList());
+        if (deptIds.contains(expId)) {
+            deptIds.remove(expId);
+            deptIds.size();
+        }
+        return getDeptShortList(deptIds);
     }
-}
+}

+ 15 - 15
icssman-service/src/main/java/com/diagbot/facade/IntroduceInfoFacade.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.IntroducePageDTO;
-import com.diagbot.dto.QuestionIntroduceDTO;
+import com.diagbot.dto.QuestionShortDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.IntroduceDetail;
 import com.diagbot.entity.IntroduceInfo;
@@ -257,29 +257,29 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         questionInfoQueryWrapper.in("id", questionIds).eq("is_deleted", IsDeleteEnum.N.getKey());
         List<QuestionInfo> questionInfoList = questionInfoFacade.list(questionInfoQueryWrapper);
 
-        List<QuestionIntroduceDTO> questionIntroduceDTOList = Lists.newLinkedList();
+        List<QuestionShortDTO> questionShortDTOList = Lists.newLinkedList();
         String tagName = "";
         for (QuestionInfo questionInfo : questionInfoList) {
-            QuestionIntroduceDTO questionIntroduceDTO = new QuestionIntroduceDTO();
-            BeanUtil.copyProperties(questionInfo, questionIntroduceDTO);
-            questionIntroduceDTOList.add(questionIntroduceDTO);
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            questionShortDTOList.add(questionShortDTO);
             tagName += questionInfo.getTagName() + ",";
         }
         if (tagName.endsWith(",")) {
             tagName = tagName.substring(0, tagName.length() - 1);
         }
         introducePageDTO.setTagName(tagName);
-        introducePageDTO.setQuestionList(questionIntroduceDTOList);
+        introducePageDTO.setQuestionList(questionShortDTOList);
 
         //未关联的标签
         QueryWrapper<QuestionInfo> unRelatedQuestionWrapper = new QueryWrapper<>();
         unRelatedQuestionWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).notIn("id", questionIds);
         List<QuestionInfo> unRelatedQuestionList = questionInfoFacade.list(unRelatedQuestionWrapper);
-        List<QuestionIntroduceDTO> unRelatedQuestionDTOList = Lists.newLinkedList();
+        List<QuestionShortDTO> unRelatedQuestionDTOList = Lists.newLinkedList();
         for (QuestionInfo questionInfo : unRelatedQuestionList) {
-            QuestionIntroduceDTO questionIntroduceDTO = new QuestionIntroduceDTO();
-            BeanUtil.copyProperties(questionInfo, questionIntroduceDTO);
-            unRelatedQuestionDTOList.add(questionIntroduceDTO);
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            unRelatedQuestionDTOList.add(questionShortDTO);
         }
         introducePageDTO.setUnRelatedQuestionList(unRelatedQuestionDTOList);
 
@@ -291,15 +291,15 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
      *
      * @return
      */
-    public List<QuestionIntroduceDTO> getAllQuestionList() {
+    public List<QuestionShortDTO> getAllQuestionList() {
         QueryWrapper<QuestionInfo> unRelatedQuestionWrapper = new QueryWrapper<>();
         unRelatedQuestionWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
         List<QuestionInfo> unRelatedQuestionList = questionInfoFacade.list(unRelatedQuestionWrapper);
-        List<QuestionIntroduceDTO> unRelatedQuestionDTOList = Lists.newLinkedList();
+        List<QuestionShortDTO> unRelatedQuestionDTOList = Lists.newLinkedList();
         for (QuestionInfo questionInfo : unRelatedQuestionList) {
-            QuestionIntroduceDTO questionIntroduceDTO = new QuestionIntroduceDTO();
-            BeanUtil.copyProperties(questionInfo, questionIntroduceDTO);
-            unRelatedQuestionDTOList.add(questionIntroduceDTO);
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            unRelatedQuestionDTOList.add(questionShortDTO);
         }
         return unRelatedQuestionDTOList;
     }

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

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2018/12/12 15:12
+ */
+@Getter
+@Setter
+public class DeptVitalPageVO extends Page {
+    String deptName;
+}

+ 41 - 5
icssman-service/src/main/java/com/diagbot/web/DeptVitalController.java

@@ -1,11 +1,13 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.DeptShortDTO;
 import com.diagbot.dto.DeptVitalDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.QuestionInfo;
 import com.diagbot.facade.DeptVitalFacade;
+import com.diagbot.vo.DeptVitalPageVO;
 import com.diagbot.vo.DeptVitalVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -70,10 +72,44 @@ public class DeptVitalController {
 
     @ApiOperation(value = "根据科室ID获取查体模板[by:zhaops]",
             notes = "deptId:科室ID,必填<br>")
-    @PostMapping("/getVitalsByDeptId")
-    @SysLogger("getVitalsByDeptId")
-    public RespDTO<List<QuestionInfo>> getVitalsByDeptId(@RequestParam("deptId") Long deptId) {
-        List<QuestionInfo> data = deptVitalFacade.getVitalsByDeptId(deptId);
+    @PostMapping("/getModuleByDeptId")
+    @SysLogger("getModuleByDeptId")
+    public RespDTO<DeptVitalDTO> getModuleByDeptId(@RequestParam("deptId") Long deptId) {
+        DeptVitalDTO data = deptVitalFacade.getModuleByDeptId(deptId);
+        return RespDTO.onSuc(data);
+    }
+
+    /**
+     * 分页查询查体模板,可带等于条件
+     *
+     * @param deptVitalPageVO
+     * @return
+     */
+    @ApiOperation(value = "分页查询查体模板,可带等于条件[by:zhaops]",
+            notes = "current:页码,必填<br>" +
+                    "size:每页显示条数,必填<br>" +
+                    "deptName:科室名称<br>")
+    @PostMapping("/getDeptVitalPage")
+    @SysLogger("getDeptVitalPage")
+    public RespDTO getDeptVitalPage(@RequestBody DeptVitalPageVO deptVitalPageVO) {
+        IPage<DeptVitalDTO> infoIPage = deptVitalFacade.getDeptVitalPage(deptVitalPageVO);
+        return RespDTO.onSuc(infoIPage);
+    }
+
+    @ApiOperation(value = "查询科室下拉列表-新增[by:zhaops]")
+    @PostMapping("/getDeptShortList_create")
+    @SysLogger("getDeptShortList_create")
+    public RespDTO<DeptShortDTO> getDeptShortListCreate() {
+        List<DeptShortDTO> data = deptVitalFacade.getDeptShortLisCreate();
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "查询科室下拉列表-修改[by:zhaops]",
+            notes = "deptId:科室ID,必填<br>")
+    @PostMapping("/getDeptShortList_modify")
+    @SysLogger("getDeptShortList_modify")
+    public RespDTO<DeptShortDTO> getDeptShortListModify(@RequestParam("deptId") Long deptId) {
+        List<DeptShortDTO> data = deptVitalFacade.getDeptShortLisModify(deptId);
         return RespDTO.onSuc(data);
     }
 }

+ 3 - 3
icssman-service/src/main/java/com/diagbot/web/IntroduceInfoController.java

@@ -4,7 +4,7 @@ package com.diagbot.web;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.IntroducePageDTO;
-import com.diagbot.dto.QuestionIntroduceDTO;
+import com.diagbot.dto.QuestionShortDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.IntroduceInfo;
 import com.diagbot.facade.IntroduceInfoFacade;
@@ -124,8 +124,8 @@ public class IntroduceInfoController {
     @ApiOperation(value = "获取未关联标签列表-新增提示信息时[by:zhaops]")
     @PostMapping("/getAllQuestionList")
     @SysLogger("getAllQuestionList")
-    public RespDTO<QuestionIntroduceDTO> getUnRelatedQuestionList() {
-        List<QuestionIntroduceDTO> data = introduceInfoFacade.getAllQuestionList();
+    public RespDTO<QuestionShortDTO> getUnRelatedQuestionList() {
+        List<QuestionShortDTO> data = introduceInfoFacade.getAllQuestionList();
         return RespDTO.onSuc(data);
     }
 }