Kaynağa Gözat

Merge remote-tracking branch 'origin/dev-shaoyf' into dev-shaoyf

zhoutg 5 yıl önce
ebeveyn
işleme
93277a56e9

+ 26 - 11
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03010.java

@@ -27,31 +27,46 @@ public class THR03010 extends QCCatalogue {
             return;
         }
         Map<String, String> structureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
-        String behospitalDate = structureMap.get("behospitalDate")==null?null:structureMap.get("behospitalDate");
-        String leaveHospitalDate = structureMap.get("leaveHospitalDate")==null?null:structureMap.get("leaveHospitalDate");
-        if(behospitalDate!=null && leaveHospitalDate!=null){
+        String behospitalDate = structureMap.get("behospitalDate") == null ? null : structureMap.get("behospitalDate");
+        String leaveHospitalDate = structureMap.get("leaveHospitalDate") == null ? null : structureMap.get("leaveHospitalDate");
+        if (behospitalDate != null && leaveHospitalDate != null) {
             Date beDate = StringUtil.parseDateTime(behospitalDate);
             Date leaveDate = StringUtil.parseDateTime(leaveHospitalDate);
-            long l = (leaveDate.getTime() - beDate.getTime())/(24*60*60*1000);
-            if(l>3){
+            long l = (leaveDate.getTime() - beDate.getTime()) / (24 * 60 * 60 * 1000);
+            if (l > 3) {
                 List<String> stringDate = new ArrayList<>();
 
                 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
-                for (int i=1;i<4;i++) {
+                for (int i = 1; i < 4; i++) {
                     Date firstTimeOfDay = DateUtil.getFirstTimeOfDay(DateUtil.addDay(beDate, i));
                     stringDate.add(formatter.format(firstTimeOfDay));
                 }
                 List<String> stringList = new ArrayList<>();
                 List<ThreeLevelWardDoc> threeLevelWardDocs = inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs();
-                for(ThreeLevelWardDoc t :threeLevelWardDocs){
+                for (ThreeLevelWardDoc t : threeLevelWardDocs) {
                     Date threeLevelDate = StringUtil.parseDateTime(t.getStructureMap().get("查房日期"));
                     stringList.add(formatter.format(threeLevelDate));
                 }
-                if(stringList.size() > 2){//查房日期取出没有3天时间, 直接报错
-                    if(!stringDate.containsAll(stringList)){
+                if (stringList.size() > 2) {//查房日期取出没有3天时间, 直接报错
+                    //去重
+                    List<String> listTemp = new ArrayList<String>();
+                    for (int i = 0; i < stringList.size(); i++) {
+                        if (!listTemp.contains(stringList.get(i))) {
+                            listTemp.add(stringList.get(i));
+                        }
+                    }
+                    int i = 0;
+                    for (String str : stringDate) {
+                        for (String s : listTemp) {
+                            if (str.equals(s)) {
+                                i++;
+                            }
+                        }
+                    }
+                    if (i < 3) {
                         status.set("-1");
-                    };
-                }else {
+                    }
+                } else {
                     status.set("-1");
                 }