Browse Source

病案首页相关优化

lighter 11 months ago
parent
commit
205898c9c9

+ 4 - 0
src/main/java/thyyxxk/webserver/service/inpatient/casefrontsheet/CaseFrontSheetExportService.java

@@ -25,6 +25,7 @@ import thyyxxk.webserver.utils.*;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.atomic.AtomicInteger;
 
 @Slf4j
@@ -44,6 +45,9 @@ public class CaseFrontSheetExportService {
         String end = DateUtil.getMonthEndtime(month);
         List<SheetForHqms> list =  isHqms ? dao.fetchSheets2(begin, end) : dao.fetchSheets(begin, end);
         for (SheetForHqms sheet : list) {
+            if (Objects.equals(sheet.getZyAdmissWay(), "4")) {
+                sheet.setZyAdmissWay("2");
+            }
             sheet.setSurgicalFee(DecimalUtil.add(sheet.getAnesthetizeFee(), sheet.getSurgeryFee()));
             sheet.setSurgeryList(selectSurgeries(sheet.getBah(), sheet.getAdmissTimes(), isHqms));
             sheet.setDisdiagList(selectDiags(sheet.getBah(), sheet.getAdmissTimes()));

+ 4 - 5
src/main/java/thyyxxk/webserver/service/inpatient/casefrontsheet/CaseFrontSheetMainService.java

@@ -649,10 +649,7 @@ public class CaseFrontSheetMainService {
     private void insertSheetData(CaseFrontsheetMain sheet) {
         Integer lateFlag = sheet.getLateFlag();
         if (null == lateFlag) {
-            lateFlag = dao.selectLateFlag(sheet.getBah(), sheet.getAdmissTimes());
-            if (null == lateFlag) {
-                lateFlag = calculateLateState(sheet.getDismissDate());
-            }
+            lateFlag = calculateLateState(sheet.getDismissDate());
         }
         sheet.setLateFlag(lateFlag);
         if (null == sheet.getSignStaff()) {
@@ -830,7 +827,9 @@ public class CaseFrontSheetMainService {
         });
         List<CodeName> force = VerifyCaseFrontSheet.getInstance().printVerify(sheet);
         CaseFrontsheetDisdiag disdiag = sheet.getDisdiagList().get(0);
-        List<CodeName> advice = VerifyCaseFrontSheet.getInstance().adviseVerification(sheet.getSocialNo(), disdiag.getCode());
+        List<CodeName> advice = VerifyCaseFrontSheet
+                .getInstance()
+                .adviseVerification(sheet.getSocialNo(), sheet.getBirthDate(), disdiag.getCode());
         setlQualityControlPass(sheet, advice);
         surgeryChargesVerify(sheet, advice);
         JSONObject powersi = powersiQualityCheck(sheet);

+ 11 - 1
src/main/java/thyyxxk/webserver/service/inpatient/casefrontsheet/VerifyCaseFrontSheet.java

@@ -55,7 +55,7 @@ public class VerifyCaseFrontSheet {
         return connectedVerify(array, sheet);
     }
 
-    public List<CodeName> adviseVerification(String socialNo, String mainDisdiagCode) {
+    public List<CodeName> adviseVerification(String socialNo, Date birth, String mainDisdiagCode) {
         List<CodeName> array = new ArrayList<>();
         if (StringUtil.invalidValue(socialNo)) {
             array.add(new CodeName("socialNo","请补全患者身份证!"));
@@ -63,6 +63,16 @@ public class VerifyCaseFrontSheet {
         if (!IdCardUtil.isValidatedIdCard(socialNo)) {
             array.add(new CodeName("socialNo","患者身份证不合法!"));
         }
+        if (StringUtil.notBlank(socialNo)) {
+            if (null == birth) {
+                array.add(new CodeName("birthDate","患者出生日期与身份证不符!"));
+            } else {
+                String b = DateUtil.format(birth, "yyyyMMdd");
+                if (!socialNo.substring(6,14).equals(b)) {
+                    array.add(new CodeName("birthDate","患者出生日期与身份证不符!"));
+                }
+            }
+        }
         validateMainDiagnose(mainDisdiagCode, array);
         return array;
     }