فهرست منبع

获取最近7天内的流调数据

zhoutg 5 سال پیش
والد
کامیت
22a26ee22e

+ 50 - 0
zzcx-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -25,6 +25,7 @@ import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.CheckAndSyncVO;
 import com.diagbot.vo.GetInquiryIdVO;
+import com.diagbot.vo.GetInquiryInnerVO;
 import com.diagbot.vo.GetInquiryVO;
 import com.diagbot.vo.HospitalVO;
 import com.diagbot.vo.InquiryCodeVO;
@@ -213,6 +214,55 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
     }
 
 
+    public GetInquiryDTO getInquiryInner(GetInquiryInnerVO getInquiryInnerVO) {
+        GetInquiryDTO getInquiryDTO = new GetInquiryDTO();
+        InquiryInfo inquiryInfo = null;
+
+        Date date = null;
+        if (getInquiryInnerVO.getDayLimit() != null) {
+            date = DateUtil.addDay(new Date(), getInquiryInnerVO.getDayLimit());
+        }
+
+        if (getInquiryInnerVO.getIdType() != null && StringUtil.isNotBlank(getInquiryInnerVO.getIdNum())) {
+            inquiryInfo = this.getOne(new QueryWrapper<InquiryInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("hospital_code", getInquiryInnerVO.getHospitalCode())
+                    .eq("id_type", getInquiryInnerVO.getIdType())
+                    .eq("id_num", getInquiryInnerVO.getIdNum())
+                    .eq(StringUtil.isNotBlank(getInquiryInnerVO.getRemark()), "remark", getInquiryInnerVO.getRemark())
+                    .gt(date != null, "gmt_modified", date)
+                    .orderByDesc("gmt_modified"), false
+            );
+        }
+
+        if (inquiryInfo == null) {
+            return null;
+        } else {
+            BeanUtil.copyProperties(inquiryInfo, getInquiryDTO);
+            List<InquiryDetail> list = inquiryDetailFacade.list(new QueryWrapper<InquiryDetail>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("inquiry_id", inquiryInfo.getId())
+                    .orderByAsc("id")
+            );
+
+            List<GetInquiryDetailDTO> inquiryDetailDTOS = new ArrayList<>();
+            if (ListUtil.isNotEmpty(list)) {
+                for (InquiryDetail inquiryDetail : list) {
+                    GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
+                    BeanUtil.copyProperties(inquiryDetail, getInquiryDetailDTO);
+                    if (StringUtil.isNotBlank(inquiryDetail.getRemark())) {
+                        List<Option> options = GsonUtil.toList(inquiryDetail.getRemark(), Option.class);
+                        getInquiryDetailDTO.setOptions(options);
+                    }
+                    inquiryDetailDTOS.add(getInquiryDetailDTO);
+                }
+                getInquiryDTO.setInquiryDetailDTOS(inquiryDetailDTOS);
+            }
+        }
+        return getInquiryDTO;
+    }
+
+
     public Long getInquiryIdByIdnum(GetInquiryIdVO getInquiryIdVO) {
         InquiryInfo inquiryInfo = this.getOne(new QueryWrapper<InquiryInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())

+ 43 - 0
zzcx-service/src/main/java/com/diagbot/vo/GetInquiryInnerVO.java

@@ -0,0 +1,43 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/2/28 15:46
+ */
+@Getter
+@Setter
+public class GetInquiryInnerVO {
+
+    /**
+     * 医院名称
+     */
+    @NotBlank(message = "请输入医院名称")
+    private String hospitalCode;
+
+    /**
+     * "证件类型(1:身份证,2:护照,3:病历号)"
+     */
+    private Integer idType;
+
+    /**
+     * 证件号
+     */
+    private String idNum;
+
+    /**
+     * 数据版本
+     */
+    private String remark;
+
+    /**
+     * 限制天数(负数)
+     */
+    private Integer dayLimit;
+
+}

+ 13 - 0
zzcx-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -10,6 +10,7 @@ import com.diagbot.entity.InquiryDetail;
 import com.diagbot.facade.InquiryInfoFacade;
 import com.diagbot.vo.CheckAndSyncVO;
 import com.diagbot.vo.GetInquiryIdVO;
+import com.diagbot.vo.GetInquiryInnerVO;
 import com.diagbot.vo.GetInquiryVO;
 import com.diagbot.vo.InquiryCodeVO;
 import com.diagbot.vo.InquiryDetailVO;
@@ -112,6 +113,18 @@ public class InquiryInfoController {
         return RespDTO.onSuc(inquiryInfoFacade.getInquiry(getInquiryVO));
     }
 
+    @ApiOperation(value = "获取病历【流调】【前端】[by:zhoutg]",
+            notes = "hospitalCode:医院名称<br>" +
+                    "idType:证件类型(1:身份证,2:护照,3:病历号)<br>" +
+                    "idNum:证件号<br>" +
+                    "remark: 数据版本,DV_B<br>" +
+                    "dayLimit: 限制天数,负数<br>")
+    @PostMapping("/getInquiryInner")
+    @SysLogger("getInquiryInner")
+    public RespDTO<GetInquiryDTO> getInquiryInner(@RequestBody @Validated GetInquiryInnerVO getInquiryInnerVO) {
+        return RespDTO.onSuc(inquiryInfoFacade.getInquiryInner(getInquiryInnerVO));
+    }
+
     @ApiOperation(value = "获取inquiryId[by:zhoutg]",
             notes = "hospitalCode:医院名称<br>" +
                     "source:厂商" +