lighter 2 роки тому
батько
коміт
426ee04b6b

+ 3 - 0
src/main/java/thyyxxk/webserver/dao/his/casefrontsheet/CaseFrontSheetDao.java

@@ -680,4 +680,7 @@ public interface CaseFrontSheetDao extends BaseMapper<CaseFrontsheetMain> {
 
     @Select("select top 1 insuplc_admdvs from t_si_setlinfo where pat_no=#{patNo} and times=#{times} and revoked=0")
     String selectSetlInsuplcAdmdvs(@Param("patNo") String patNo, @Param("times") int times);
+
+    @Select("select top 1 isnull(op_type,9) from zd_icd9_cm3 where code=#{code}")
+    Integer selectOperationType(@Param("code") String code);
 }

+ 9 - 0
src/main/java/thyyxxk/webserver/entity/casefrontsheet/CaseFrontsheetSurgery.java

@@ -43,6 +43,11 @@ public class CaseFrontsheetSurgery implements Serializable {
 	 */
 	private String code;
 
+	/**
+	 * 1-手术  2-介入治疗   3-治疗性操作   4-诊断性操作
+	 * */
+	private Integer type;
+
 	/**
 	 * 手术时间
 	 */
@@ -209,4 +214,8 @@ public class CaseFrontsheetSurgery implements Serializable {
 				return null;
 		}
 	}
+
+	public Integer getType() {
+		return null == type ? 9 : type;
+	}
 }

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

@@ -681,6 +681,11 @@ public class CaseFrontSheetMainService {
         }
         int optype = info.getOpType();
         sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
+        sheet.getSurgeryList().forEach(item -> {
+            if (StringUtil.notBlank(item.getCode())) {
+                item.setType(dao.selectOperationType(item.getCode()));
+            }
+        });
         List<CodeName> message = optype == 1 ? VerifyCaseFrontSheet.getInstance().saveVerify(sheet) :
                 VerifyCaseFrontSheet.getInstance().printVerify(sheet, optype);
         if (message.isEmpty()) {
@@ -693,6 +698,11 @@ public class CaseFrontSheetMainService {
     }
 
     private Map<String, List<CodeName>> beginAnalyzeSheet(CaseFrontsheetMain sheet, int optype) {
+        sheet.getSurgeryList().forEach(item -> {
+            if (StringUtil.notBlank(item.getCode())) {
+                item.setType(dao.selectOperationType(item.getCode()));
+            }
+        });
         List<CodeName> force = VerifyCaseFrontSheet.getInstance().printVerify(sheet, optype);
         CaseFrontsheetDisdiag disdiag = sheet.getDisdiagList().get(0);
         List<CodeName> advice = VerifyCaseFrontSheet.getInstance().adviseVerification(sheet.getSocialNo(), disdiag.getCode());

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

@@ -134,13 +134,28 @@ public class VerifyCaseFrontSheet {
         if (StringUtil.invalidValue(info.getHkPlaceName())) {
             array.add(new CodeName("hkPlaceName","患者户口地址不能为空!"));
         }
-        if (Objects.equals(info.getInsutype(), Insutype.BASIC_MEDICAL_INSURANCE_FOR_EMPLOYEES.getCode())) {
-            if (StringUtil.invalidValue(info.getUnitName()) || StringUtil.invalidValue(info.getUnitPlace())) {
-                array.add(new CodeName("unitName","患者工作单位及地址不能为空!"));
-            }
-            if (StringUtil.isBlank(info.getUnitPhone())) {
-                array.add(new CodeName("unitPhone","患者单位电话不能为空!"));
-            }
+//        if (Objects.equals(info.getInsutype(), Insutype.BASIC_MEDICAL_INSURANCE_FOR_EMPLOYEES.getCode())) {
+//            if (StringUtil.invalidValue(info.getUnitName()) || StringUtil.invalidValue(info.getUnitPlace())) {
+//                array.add(new CodeName("unitName","患者工作单位及地址不能为空!"));
+//            }
+//            if (StringUtil.isBlank(info.getUnitPhone())) {
+//                array.add(new CodeName("unitPhone","患者单位电话不能为空!"));
+//            }
+//        }
+        if (StringUtil.invalidValue(info.getUnitName()) || StringUtil.invalidValue(info.getUnitPlace())) {
+            array.add(new CodeName("unitName","患者工作单位及地址不能为空!"));
+        }
+        if (StringUtil.isBlank(info.getUnitPhone())) {
+            array.add(new CodeName("unitPhone","患者单位电话不能为空!"));
+        }
+        if (StringUtil.isBlank(info.getUnitZipCode()) || info.getUnitZipCode().contains("-")) {
+            array.add(new CodeName("unitZipCode", "患者工作单位邮编不能为空!"));
+        }
+        if (StringUtil.isBlank(info.getAddrZipCode()) || info.getAddrZipCode().contains("-")) {
+            array.add(new CodeName("addrZipCode", "患者现住址邮编不能为空!"));
+        }
+        if (StringUtil.isBlank(info.getHkZipCode()) || info.getHkZipCode().contains("-")) {
+            array.add(new CodeName("hkZipCode", "患者户口邮编不能为空!"));
         }
         if (StringUtil.invalidValue(info.getContactName())) {
             array.add(new CodeName("contactName","患者联系人姓名不能为空!"));
@@ -439,6 +454,9 @@ public class VerifyCaseFrontSheet {
         if (StringUtil.isBlank(surgery.getOperator())) {
             array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",术者不能为空!"));
         }
+        if (surgery.getType() < 3 && StringUtil.isBlank(surgery.getLevel())) {
+            array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + "手术操作编码为介入治疗或手术时,手术级别不能为空!"));
+        }
         if (isHighLevelSurgery(surgery.getLevel())) {
             if (StringUtil.isBlank(surgery.getAssistantOne())) {
                 array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",三、四级手术I助不能为空!"));