소스 검색

保存病历时不判断是否覆盖,获取历史病历时判断是否覆盖

zhaops 5 년 전
부모
커밋
5aa87f7706
1개의 변경된 파일64개의 추가작업 그리고 7개의 파일을 삭제
  1. 64 7
      xlcs-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

+ 64 - 7
xlcs-service/src/main/java/com/diagbot/facade/InquiryInfoFacade.java

@@ -28,7 +28,6 @@ import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.GsonUtil;
 import com.diagbot.util.HttpUtils;
 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;
@@ -103,7 +102,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
                 saveInquiryVO.setPatSex(IdCard.getGenderByIdCard(idNum));
             }
         }
-        if (StringUtil.isNotBlank(saveInquiryVO.getHospitalCode())
+        /*if (StringUtil.isNotBlank(saveInquiryVO.getHospitalCode())
                 && StringUtil.isNotBlank(saveInquiryVO.getPatName())
                 && !IntegerUtil.isNull(saveInquiryVO.getIdType())
                 && StringUtil.isNotBlank(saveInquiryVO.getIdNum())) {
@@ -118,7 +117,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
                         .apply("date_format(gmt_modified, '%Y-%m-%d')={0}", dateStr), false
                 );
             }
-        }
+        }*/
 
         if (inquiryInfo == null) {
             inquiryInfo = new InquiryInfo();
@@ -253,11 +252,69 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
         //业务获取
         List<HistoryInquiryDTO> historyInquiryDTOList = Lists.newLinkedList();
         QueryWrapper<InquiryInfo> inquiryInfoQueryWrapper = new QueryWrapper<>();
-        inquiryInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+        //配置了覆盖项时
+        if (sysSetFacade.isCover(historyInquiryVO.getHospitalCode())) {
+            if (StringUtil.isNotBlank(historyInquiryVO.getMachineId())) {
+                inquiryInfoQueryWrapper
+                        .eq("machine_id", historyInquiryVO.getMachineId())
+                        .apply("gmt_modified IN (\n" +
+                                "\t\tSELECT\n" +
+                                "\t\t\tmax(aa.gmt_modified) AS max_gmt_modified\n" +
+                                "\t\tFROM\n" +
+                                "\t\t\t(\n" +
+                                "\t\t\t\tSELECT\n" +
+                                "\t\t\t\t\tDATE(a.gmt_modified) datetemp,\n" +
+                                "\t\t\t\t\ta.gmt_modified,\n" +
+                                "\t\t\t\t\ta.machine_id\n" +
+                                "\t\t\t\tFROM\n" +
+                                "\t\t\t\t\txlcs_inquiry_info a\n" +
+                                "\t\t\t\tWHERE\n" +
+                                "\t\t\t\t\ta.is_deleted = 'N'\n" +
+                                "\t\t\t\t\tAND a.machine_id = {0}\n" +
+                                "\t\t\t\t\tAND a.hospital_code = {1}\n" +
+                                "\t\t\t) aa\n" +
+                                "\t\tGROUP BY\n" +
+                                "\t\t\taa.datetemp,\n" +
+                                "\t\t\taa.machine_id\n" +
+                                "\t)", historyInquiryVO.getMachineId(), historyInquiryVO.getHospitalCode());
+
+            } else if (StringUtil.isNotBlank(historyInquiryVO.getPatName()) && StringUtil.isNotBlank(historyInquiryVO.getIdNum())) {
+                inquiryInfoQueryWrapper
+                        .eq("pat_name", historyInquiryVO.getPatName())
+                        .eq("id_num", historyInquiryVO.getIdNum())
+                        .apply("gmt_modified IN (\n" +
+                                "\t\tSELECT\n" +
+                                "\t\t\tmax(aa.gmt_modified) AS max_gmt_modified\n" +
+                                "\t\tFROM\n" +
+                                "\t\t\t(\n" +
+                                "\t\t\t\tSELECT\n" +
+                                "\t\t\t\t\tDATE(gmt_modified) datetemp,\n" +
+                                "\t\t\t\t\ta.gmt_modified,\n" +
+                                "\t\t\t\t\ta.pat_name,\n" +
+                                "\t\t\t\t\ta.id_num\n" +
+                                "\t\t\t\tFROM\n" +
+                                "\t\t\t\t\txlcs_inquiry_info a\n" +
+                                "\t\t\t\tWHERE\n" +
+                                "\t\t\t\t\ta.is_deleted = 'N'\n" +
+                                "\t\t\t\tAND a.pat_name = {0}\n" +
+                                "\t\t\t\tAND a.id_num = {1}\n" +
+                                "\t\t\t\t\tAND a.hospital_code = {2}\n" +
+                                "\t\t\t) aa\n" +
+                                "\t\tGROUP BY\n" +
+                                "\t\t\taa.datetemp,\n" +
+                                "\t\t\taa.pat_name,\n" +
+                                "\t\t\taa.id_num\n" +
+                                "\t)", historyInquiryVO.getPatName(), historyInquiryVO.getIdNum(), historyInquiryVO.getHospitalCode());
+            }
+        } else {
+            inquiryInfoQueryWrapper
+                    .eq(StringUtil.isNotBlank(historyInquiryVO.getPatName()), "pat_name", historyInquiryVO.getPatName())
+                    .eq(StringUtil.isNotBlank(historyInquiryVO.getIdNum()), "id_num", historyInquiryVO.getIdNum())
+                    .eq(StringUtil.isNotBlank(historyInquiryVO.getMachineId()), "machine_id", historyInquiryVO.getMachineId());
+        }
+        inquiryInfoQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_code", historyInquiryVO.getHospitalCode())
-                .eq(StringUtil.isNotBlank(historyInquiryVO.getPatName()), "pat_name", historyInquiryVO.getPatName())
-                .eq(StringUtil.isNotBlank(historyInquiryVO.getIdNum()), "id_num", historyInquiryVO.getIdNum())
-                .eq(StringUtil.isNotBlank(historyInquiryVO.getMachineId()), "machine_id", historyInquiryVO.getMachineId())
                 .orderByDesc("gmt_modified");
         List<InquiryInfo> inquiryInfoList = this.list(inquiryInfoQueryWrapper);
         if (ListUtil.isNotEmpty(inquiryInfoList)) {