浏览代码

根据姓名证件号获取历史记录

zhaops 5 年之前
父节点
当前提交
931a18251b

+ 27 - 0
xlcs-service/src/main/java/com/diagbot/dto/HistoryInquiryDTO.java

@@ -0,0 +1,27 @@
+package com.diagbot.dto;
+
+import com.diagbot.vo.SaveInquiryDetailVO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:历史记录出参
+ * @Author:zhaops
+ * @time: 2020/3/5 10:56
+ */
+@Getter
+@Setter
+public class HistoryInquiryDTO {
+    private List<SaveInquiryDetailVO> detailList;
+    private Long id;
+    private String anxietyPoint;
+    private String anxietyRange;
+    private String anxietyJudge;
+    private String anxietyAdvise;
+    private String depressionPoint;
+    private String depressionRange;
+    private String depressionJudge;
+    private String depressionAdvise;
+}

+ 49 - 0
xlcs-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.dto.HistoryInquiryDTO;
 import com.diagbot.dto.InquiryDTO;
 import com.diagbot.dto.InquiryPatDTO;
 import com.diagbot.dto.SaveInquiryDTO;
@@ -19,6 +20,7 @@ import com.diagbot.service.impl.InquiryDetailServiceImpl;
 import com.diagbot.service.impl.InquiryInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.GsonUtil;
 import com.diagbot.util.HttpUtils;
@@ -26,6 +28,7 @@ import com.diagbot.util.IdCard;
 import com.diagbot.util.IntegerUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
+import com.diagbot.vo.HistoryInquiryVO;
 import com.diagbot.vo.HospitalVO;
 import com.diagbot.vo.InquiryDetailVO;
 import com.diagbot.vo.InquiryMechVO;
@@ -46,6 +49,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -217,6 +221,51 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         return resList;
     }
 
+    /**
+     * 历史记录
+     *
+     * @param historyInquiryVO
+     * @return
+     */
+    public List<HistoryInquiryDTO> getHistoryInquiry(HistoryInquiryVO historyInquiryVO) {
+        List<HistoryInquiryDTO> historyInquiryDTOList = Lists.newLinkedList();
+        QueryWrapper<InquiryInfo> inquiryInfoQueryWrapper = new QueryWrapper<>();
+        inquiryInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_code", historyInquiryVO.getHospitalCode())
+                .eq("pat_name", historyInquiryVO.getPatName())
+                .eq("id_num", historyInquiryVO.getIdNum())
+                .orderByAsc("gmt_modified");
+        List<InquiryInfo> inquiryInfoList = this.list(inquiryInfoQueryWrapper);
+        if (ListUtil.isNotEmpty(inquiryInfoList)) {
+            List<Long> inquiryIdList = inquiryInfoList.stream().map(i -> i.getId()).collect(Collectors.toList());
+            QueryWrapper<InquiryDetail> inquiryDetailQueryWrapper = new QueryWrapper<>();
+            inquiryDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("inquiry_id", inquiryIdList)
+                    .orderByAsc("inquiry_id", "id");
+            List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.list(inquiryDetailQueryWrapper);
+            Map<Long, List<InquiryDetail>> detailMap = EntityUtil.makeEntityListMap(inquiryDetailList, "inquiryId");
+            for (InquiryInfo inquiryInfo : inquiryInfoList) {
+                HistoryInquiryDTO historyInquiryDTO = new HistoryInquiryDTO();
+                BeanUtil.copyProperties(inquiryInfo, historyInquiryDTO);
+                List<InquiryDetail> details = detailMap.get(inquiryInfo.getId());
+                List<SaveInquiryDetailVO> saveInquiryDetailVOList = Lists.newLinkedList();
+                if (ListUtil.isNotEmpty(details)) {
+                    for (InquiryDetail inquiryDetail : details) {
+                        SaveInquiryDetailVO saveInquiryDetailVO = new SaveInquiryDetailVO();
+                        BeanUtil.copyProperties(inquiryDetail, saveInquiryDetailVO);
+                        if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
+                            saveInquiryDetailVO.setOptions(FastJsonUtils.getJsonToList(inquiryDetail.getRemark(), Option.class));
+                        }
+                        saveInquiryDetailVOList.add(saveInquiryDetailVO);
+                    }
+                    historyInquiryDTO.setDetailList(saveInquiryDetailVOList);
+                }
+                historyInquiryDTOList.add(historyInquiryDTO);
+            }
+        }
+        return historyInquiryDTOList;
+    }
+
 
     private List<String> getUrl(SaveInquiryVO saveInquiryVO) {
         List<String> ret = Lists.newArrayList();

+ 28 - 0
xlcs-service/src/main/java/com/diagbot/vo/HistoryInquiryVO.java

@@ -0,0 +1,28 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description: 历史记录入参
+ * @Author:zhaops
+ * @time: 2020/3/5 9:56
+ */
+@Getter
+@Setter
+public class HistoryInquiryVO {
+    @ApiModelProperty(value = "医院名称", required = true)
+    @NotBlank(message = "请输入医院编码")
+    private String hospitalCode;
+
+    @NotBlank(message = "请输入姓名")
+    @ApiModelProperty(value = "姓名", required = true)
+    private String patName;
+
+    @NotBlank(message = "请输入证件号")
+    @ApiModelProperty(value = "证件号", required = true)
+    private String idNum;
+}

+ 15 - 2
xlcs-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -1,12 +1,14 @@
 package com.diagbot.web;
 
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.HistoryInquiryDTO;
 import com.diagbot.dto.InquiryDTO;
 import com.diagbot.dto.InquiryPatDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SaveInquiryDTO;
 import com.diagbot.entity.InquiryDetail;
 import com.diagbot.facade.InquiryInfoFacade;
+import com.diagbot.vo.HistoryInquiryVO;
 import com.diagbot.vo.InquiryDetailVO;
 import com.diagbot.vo.InquiryMechVO;
 import com.diagbot.vo.InquiryPatInquiryVO;
@@ -66,7 +68,7 @@ public class InquiryInfoController {
             notes = "")
     @PostMapping("/getMachineId")
     @SysLogger("getMachineId")
-    public RespDTO<String> getMachineId(){
+    public RespDTO<String> getMachineId() {
         return RespDTO.onSuc(inquiryInfoFacade.getMachineId());
     }
 
@@ -88,7 +90,7 @@ public class InquiryInfoController {
                     "machineId:机器ID<br>")
     @PostMapping("/getInquirysByMech")
     @SysLogger("getInquirysByMech")
-    public RespDTO<List<InquiryDTO>> getInquirysByMech(@RequestBody @Validated InquiryMechVO inquiryMechVO){
+    public RespDTO<List<InquiryDTO>> getInquirysByMech(@RequestBody @Validated InquiryMechVO inquiryMechVO) {
         return RespDTO.onSuc(inquiryInfoFacade.getInquirysByMech(inquiryMechVO));
     }
 
@@ -101,4 +103,15 @@ public class InquiryInfoController {
         List<GetInquiryDetailDTO> data = inquiryInfoFacade.getDetail(inquiryDetailVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "获取历史记录[by:zhaops]",
+            notes = "hospitalCode:医院名称<br>" +
+                    "patName:病人姓名<br>" +
+                    "idNum:证件号码<br>")
+    @PostMapping("/getHistoryInquiry")
+    @SysLogger("getHistoryInquiry")
+    public RespDTO<List<HistoryInquiryDTO>> getHistoryInquiry(@RequestBody HistoryInquiryVO historyInquiryVO) {
+        List<HistoryInquiryDTO> data = inquiryInfoFacade.getHistoryInquiry(historyInquiryVO);
+        return RespDTO.onSuc(data);
+    }
 }