Ver código fonte

签收时不校验ABO血型和RH血型的关联

lighter 2 anos atrás
pai
commit
5f83046c12

+ 3 - 3
src/main/java/thyyxxk/webserver/service/casefrontsheet/CaseFrontSheetMainService.java

@@ -438,7 +438,7 @@ public class CaseFrontSheetMainService {
         Integer status = dao.getSignApplyStatus(sheet.getBah(), sheet.getAdmissTimes());
         if (null == status) {
             sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
-            List<CodeName> message = VerifyCaseFrontSheet.getInstance().printVerify(sheet);
+            List<CodeName> message = VerifyCaseFrontSheet.getInstance().printVerify(sheet, 1);
             if (message.isEmpty()) {
                 dao.insertNewSignApply(sheet.getBah(), sheet.getAdmissTimes(),
                         sheet.getName(), sheet.getSex(), TokenUtil.getTokenUserId());
@@ -581,7 +581,7 @@ public class CaseFrontSheetMainService {
         }
         sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
         sheet.setIsDoctorPrint(true);
-        List<CodeName> force = VerifyCaseFrontSheet.getInstance().printVerify(sheet);
+        List<CodeName> force = VerifyCaseFrontSheet.getInstance().printVerify(sheet, param.getOpType());
         List<CodeName> advice = VerifyCaseFrontSheet.getInstance().adviseVerification(sheet.getSocialNo());
         JSONObject powersi = qualityControl(sheet);
         if (null != powersi) {
@@ -618,7 +618,7 @@ public class CaseFrontSheetMainService {
         int optype = info.getOpType();
         sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
         List<CodeName> message = optype == 1 ? VerifyCaseFrontSheet.getInstance().saveVerify(sheet) :
-                VerifyCaseFrontSheet.getInstance().printVerify(sheet);
+                VerifyCaseFrontSheet.getInstance().printVerify(sheet, optype);
         if (message.isEmpty()) {
             final String bah = sheet.getBah();
             final int times = sheet.getAdmissTimes();

+ 5 - 5
src/main/java/thyyxxk/webserver/service/casefrontsheet/VerifyCaseFrontSheet.java

@@ -58,7 +58,7 @@ public class VerifyCaseFrontSheet {
         if (DateUtil.daysBetween(sheet.getQualityControlDate(), sheet.getDismissDate()) > 7) {
             array.add(new CodeName("qualityControlDate", "质控日期不能大于出院7天!"));
         }
-        return connectedVerify(array, sheet);
+        return connectedVerify(array, sheet, 1);
     }
 
     public List<CodeName> adviseVerification(String socialNo) {
@@ -72,7 +72,7 @@ public class VerifyCaseFrontSheet {
         return array;
     }
 
-    public List<CodeName> printVerify(CaseFrontsheetMain info) {
+    public List<CodeName> printVerify(CaseFrontsheetMain info, Integer opType) {
         List<CodeName> array = new ArrayList<>();
         if (StringUtil.invalidValue(info.getName())) {
             array.add(new CodeName("name", "患者姓名不能为空!"));
@@ -305,10 +305,10 @@ public class VerifyCaseFrontSheet {
             }
         }
 
-        return connectedVerify(array, info);
+        return connectedVerify(array, info, opType);
     }
 
-    private List<CodeName> connectedVerify(List<CodeName> array, CaseFrontsheetMain info) {
+    private List<CodeName> connectedVerify(List<CodeName> array, CaseFrontsheetMain info, Integer opType) {
         if (StringUtil.notBlank(info.getZyDismissWay())) {
             if ("1".equals(info.getZyDismissWay())  || "2".equals(info.getZyDismissWay())) {
                 if (StringUtil.invalidValue(info.getDismissDestination())) {
@@ -359,7 +359,7 @@ public class VerifyCaseFrontSheet {
                 (StringUtil.invalidValue(info.getHurtReasonName()) || StringUtil.invalidValue(info.getHurtReasonCode()))) {
             array.add(new CodeName("hurtReasonName","根据患者出院主要诊断,损伤中毒诊断不能为空!"));
         }
-        if (StringUtil.notBlank(info.getBloodType()) && !"5".equals(info.getBloodType())) {
+        if (null != opType && opType != 2 && StringUtil.notBlank(info.getBloodType()) && !"5".equals(info.getBloodType())) {
             if (!"1".equals(info.getRh()) && !"2".equals(info.getRh())) {
                 array.add(new CodeName("rh","患者血型确定时,Rh血型应为阴或阳!"));
             }