Zhaops 6 лет назад
Родитель
Сommit
d0b6f7e7de

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

@@ -76,9 +76,9 @@ public class IntroduceDetail implements Serializable {
     private Integer orderNo;
 
     /**
-     * 显示位置:0-都展示,1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示
      */
-    private Integer position;
+    private String position;
 
     /**
      * 是否诊断依据(1-是,0-否)
@@ -173,11 +173,11 @@ public class IntroduceDetail implements Serializable {
         this.orderNo = orderNo;
     }
 
-    public Integer getPosition() {
+    public String getPosition() {
         return position;
     }
 
-    public void setPosition(Integer position) {
+    public void setPosition(String position) {
         this.position = position;
     }
 

+ 0 - 1
icss-service/src/main/java/com/diagbot/enums/IntroducePositionEnum.java

@@ -9,7 +9,6 @@ import lombok.Setter;
  * @time: 2018/11/23 10:12
  */
 public enum IntroducePositionEnum implements KeyedNamed {
-    All(0, "都展示"),
     Push(1, "推送展示"),
     More(2, "更多展示"),
     CommonTreatment(3, "一般治疗展示"),

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

@@ -10,8 +10,6 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-public class VitalInfoDTO{
-    private String TagName;
-    private Long id;
+public class VitalInfoDTO extends QuestionShortDTO{
     private Integer orderNo;
 }

+ 22 - 0
icssman-service/src/main/java/com/diagbot/dto/VitalOrderDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2018/12/14 14:32
+ */
+@Getter
+@Setter
+public class VitalOrderDTO {
+    private String operator;
+    private String operatorName;
+    private Date gmtOperate;
+    List<VitalInfoDTO> vitals;
+    List<QuestionShortDTO> unOrderedVitals;
+}

+ 4 - 4
icssman-service/src/main/java/com/diagbot/entity/IntroduceDetail.java

@@ -76,9 +76,9 @@ public class IntroduceDetail implements Serializable {
     private Integer orderNo;
 
     /**
-     * 显示位置:0-都展示,1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示
+     * 显示位置(多选):1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示
      */
-    private Integer position;
+    private String position;
 
     /**
      * 是否诊断依据(1-是,0-否)
@@ -173,11 +173,11 @@ public class IntroduceDetail implements Serializable {
         this.orderNo = orderNo;
     }
 
-    public Integer getPosition() {
+    public String getPosition() {
         return position;
     }
 
-    public void setPosition(Integer position) {
+    public void setPosition(String position) {
         this.position = position;
     }
 

+ 0 - 1
icssman-service/src/main/java/com/diagbot/enums/IntroducePositionEnum.java

@@ -9,7 +9,6 @@ import lombok.Setter;
  * @time: 2018/11/23 10:12
  */
 public enum IntroducePositionEnum implements KeyedNamed {
-    All(0, "都展示"),
     Push(1, "推送展示"),
     More(2, "更多展示"),
     CommonTreatment(3, "一般治疗展示"),

+ 86 - 14
icssman-service/src/main/java/com/diagbot/facade/VitalOrderFacade.java

@@ -2,12 +2,18 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.QuestionShortDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.VitalInfoDTO;
+import com.diagbot.dto.VitalOrderDTO;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.entity.VitalOrder;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.service.VitalOrderService;
 import com.diagbot.service.impl.VitalOrderServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.UserUtils;
@@ -19,6 +25,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -33,6 +40,8 @@ public class VitalOrderFacade extends VitalOrderServiceImpl {
     VitalOrderService vitalOrderService;
     @Autowired
     QuestionInfoFacade questionInfoFacade;
+    @Autowired
+    UserServiceClient userServiceClient;
 
     public Boolean saveAll(List<VitalOrderVO> vitalOrderVOList) {
         //先删除现有排序
@@ -63,24 +72,87 @@ public class VitalOrderFacade extends VitalOrderServiceImpl {
      *
      * @return
      */
-    public List<VitalInfoDTO> getAll() {
+    public VitalOrderDTO getVitalOrderList() {
+        VitalOrderDTO vitalOrderDTO = new VitalOrderDTO();
+
         QueryWrapper<VitalOrder> vitalOrderQueryWrapper = new QueryWrapper<>();
-        vitalOrderQueryWrapper.orderByAsc("order_no");
-        List<VitalOrder> vitalOrderLis = this.list(vitalOrderQueryWrapper);
-        Map<Long, VitalOrder> orderMap = EntityUtil.makeEntityMap(vitalOrderLis, "id");
-        List<QuestionInfo> vitals = Lists.newArrayList(questionInfoFacade.listByIds(orderMap.keySet()));
+        vitalOrderQueryWrapper.orderByAsc("order_no")
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<VitalOrder> vitalOrderList = this.list(vitalOrderQueryWrapper);
+        List<Long> vitalIds = vitalOrderList.stream().map(vitalOrder -> vitalOrder.getQuestionId()).collect(Collectors.toList());
+
+        //操作人
+        if (vitalOrderList.size() > 0) {
+            String userId = vitalOrderList.get(0).getModifier();
+            vitalOrderDTO.setGmtOperate(vitalOrderList.get(0).getGmtModified());
+            vitalOrderDTO.setOperator(userId);
+            List<String> userIds = Lists.newArrayList();
+            userIds.add(userId);
+            RespDTO<Map<String, String>> userInfoMap = userServiceClient.getUserInfoByIds(userIds);
+            vitalOrderDTO.setOperatorName(userInfoMap.data.get(userId));
+        }
+
+        //已排序查体标签
+        List<QuestionInfo> vitals = Lists.newArrayList(questionInfoFacade.listByIds(vitalIds));
         Map<Long, QuestionInfo> vitalMap = EntityUtil.makeEntityMap(vitals, "id");
-        List<VitalInfoDTO> vitalInfoDTOList = Lists.newArrayList();
-        for (Map.Entry<Long, VitalOrder> entry : orderMap.entrySet()) {
-            if (vitalMap.get(entry.getKey()) != null) {
-                VitalInfoDTO vitalInfoDTO = new VitalInfoDTO();
-                vitalInfoDTO.setId(vitalMap.get(entry.getKey()).getId());
-                vitalInfoDTO.setTagName(vitalMap.get(entry.getKey()).getTagName());
-                vitalInfoDTO.setOrderNo(entry.getValue().getOrderNo());
-                vitalInfoDTOList.add(vitalInfoDTO);
+
+        List<VitalInfoDTO> vitalInfoDTOList = Lists.newLinkedList();
+        for (VitalOrder vitalOrder : vitalOrderList) {
+            VitalInfoDTO vitalInfoDTO = new VitalInfoDTO();
+            QuestionInfo questionInfo = vitalMap.get(vitalOrder.getQuestionId());
+            if (questionInfo != null) {
+                BeanUtil.copyProperties(questionInfo, vitalInfoDTO);
             }
+            vitalInfoDTO.setOrderNo(vitalOrder.getOrderNo());
+            vitalInfoDTOList.add(vitalInfoDTO);
+        }
+        vitalOrderDTO.setVitals(vitalInfoDTOList);
+
+        //未排序查体标签
+        QueryWrapper<QuestionInfo> unOrderedVitalQueryWrapper = new QueryWrapper<>();
+        unOrderedVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("type", QuestionTypeEnum.Vital.getKey())
+                .eq("sub_type", 0)
+                .notIn("id", vitalIds);
+        List<QuestionInfo> unOrderVitals = questionInfoFacade.list(unOrderedVitalQueryWrapper);
+        List<QuestionShortDTO> unOrderedVitalList = Lists.newLinkedList();
+        for (QuestionInfo questionInfo : unOrderVitals) {
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            unOrderedVitalList.add(questionShortDTO);
+        }
+        vitalOrderDTO.setUnOrderedVitals(unOrderedVitalList);
+
+        return vitalOrderDTO;
+    }
+
+    /**
+     * 获取未排序查体标签
+     *
+     * @return
+     */
+    public List<QuestionShortDTO> getUnOrderedVitalList() {
+        //已排序查体标签
+        QueryWrapper<VitalOrder> vitalOrderQueryWrapper = new QueryWrapper<>();
+        vitalOrderQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<VitalOrder> vitalOrderList = this.list(vitalOrderQueryWrapper);
+        List<Long> vitalIds = vitalOrderList.stream().map(vitalOrder -> vitalOrder.getQuestionId()).collect(Collectors.toList());
+
+        //未排序查体标签
+        QueryWrapper<QuestionInfo> unOrderedVitalQueryWrapper = new QueryWrapper<>();
+        unOrderedVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("type", QuestionTypeEnum.Vital.getKey())
+                .eq("sub_type", 0)
+                .notIn("id", vitalIds);
+        List<QuestionInfo> vitals = questionInfoFacade.list(unOrderedVitalQueryWrapper);
+
+        List<QuestionShortDTO> questionShortDTOList = Lists.newLinkedList();
+        for (QuestionInfo questionInfo : vitals) {
+            QuestionShortDTO questionShortDTO = new QuestionShortDTO();
+            BeanUtil.copyProperties(questionInfo, questionShortDTO);
+            questionShortDTOList.add(questionShortDTO);
         }
-        return vitalInfoDTOList;
+        return questionShortDTOList;
     }
 
     /**

+ 15 - 7
icssman-service/src/main/java/com/diagbot/web/VitalOrderController.java

@@ -2,9 +2,9 @@ package com.diagbot.web;
 
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.QuestionShortDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.VitalInfoDTO;
-import com.diagbot.entity.VitalOrder;
+import com.diagbot.dto.VitalOrderDTO;
 import com.diagbot.facade.VitalOrderFacade;
 import com.diagbot.vo.VitalOrderVO;
 import io.swagger.annotations.Api;
@@ -47,11 +47,19 @@ public class VitalOrderController {
         return RespDTO.onSuc(data);
     }
 
-    @ApiOperation(value = "获取查体排序-全部[by:zhaops]")
-    @PostMapping("/getAll")
-    @SysLogger("getAll")
-    public RespDTO<List<VitalInfoDTO>> getAll() {
-        List<VitalInfoDTO> data = vitalOrderFacade.getAll();
+    @ApiOperation(value = "获取查体排序[by:zhaops]")
+    @PostMapping("/getVitalOrderList")
+    @SysLogger("getVitalOrderList")
+    public RespDTO<VitalOrderDTO> getVitalOrderList() {
+        VitalOrderDTO data = vitalOrderFacade.getVitalOrderList();
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "获取未排序查体标签-初始页面[by:zhaops]")
+    @PostMapping("/getUnOrderedVitalList")
+    @SysLogger("getUnOrderedVitalList")
+    public RespDTO<QuestionShortDTO> getUnOrderedVitalList() {
+        List<QuestionShortDTO> data = vitalOrderFacade.getUnOrderedVitalList();
         return RespDTO.onSuc(data);
     }