|
@@ -184,6 +184,9 @@ public class VerifyCaseFrontSheet {
|
|
|
if (StringUtil.invalidValue(info.getAdmissDays())) {
|
|
|
array.add(new CodeName("admissDays","患者住院天数不能为空!"));
|
|
|
}
|
|
|
+ if (StringUtil.isBlank(info.getClinicDiagCode()) || StringUtil.isBlank(info.getClinicDiagStr())) {
|
|
|
+ array.add(new CodeName("clinicDiag", "患者门(急)诊诊断需要填写标准诊断,请补充。"));
|
|
|
+ }
|
|
|
if (StringUtil.isBlank(info.getDisdiagList().get(0).getName())) {
|
|
|
array.add(new CodeName("disdiagMain","患者主要诊断不能为空!"));
|
|
|
}
|
|
@@ -422,9 +425,6 @@ public class VerifyCaseFrontSheet {
|
|
|
if (StringUtil.isBlank(surgery.getName())) {
|
|
|
array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",三、四级手术名称、编码不能为空!"));
|
|
|
}
|
|
|
- if (null == surgery.getDate()) {
|
|
|
- array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",三、四级手术日期不能为空!"));
|
|
|
- }
|
|
|
if (StringUtil.isBlank(surgery.getOperator())) {
|
|
|
array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",三、四级手术术者不能为空!"));
|
|
|
}
|
|
@@ -444,6 +444,44 @@ public class VerifyCaseFrontSheet {
|
|
|
array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",三、四级手术II助不能为空!"));
|
|
|
}
|
|
|
}
|
|
|
+ if (needAnstTimeButNotPresent(surgery)) {
|
|
|
+ array.add(new CodeName("surgeryTable","手术" + surgery.getNo() + ",麻醉开始时间和结束时间不能为空!"));
|
|
|
+ }
|
|
|
+ List<String> msgs = logicalSurgeryTime(surgery.getDate(), surgery.getOpEndDate(),
|
|
|
+ surgery.getAnstStartDate(), surgery.getAnstEndDate());
|
|
|
+ for (String msg : msgs) {
|
|
|
+ array.add(new CodeName("surgeryTable", "手术" + surgery.getNo() + "," + msg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean needAnstTimeButNotPresent(CaseFrontsheetSurgery surgery) {
|
|
|
+ return StringUtil.notBlank(surgery.getAnaesthesia()) && (null == surgery.getAnstStartDate() || null == surgery.getAnstEndDate());
|
|
|
+ }
|
|
|
+
|
|
|
+ public static List<String> logicalSurgeryTime(Date opStart, Date opEnd, Date anstStart, Date anstEnd) {
|
|
|
+ List<String> errors = new ArrayList<>();
|
|
|
+ if (null == opStart) {
|
|
|
+ errors.add("手术开始时间不能为空。");
|
|
|
+ }
|
|
|
+ if (null == opEnd) {
|
|
|
+ errors.add("手术结束时间不能为空。");
|
|
|
+ }
|
|
|
+ if (null != opStart && null != opEnd && opEnd.before(opStart)) {
|
|
|
+ errors.add("手术开始时间不能晚于手术结束时间。");
|
|
|
+ }
|
|
|
+ if (null != anstStart && null != opStart && anstStart.after(opStart)) {
|
|
|
+ errors.add("麻醉开始时间不能晚于手术开始时间。");
|
|
|
+ }
|
|
|
+ if (null != anstStart && null != opEnd && anstStart.after(opEnd)) {
|
|
|
+ errors.add("麻醉开始时间不能晚于手术结束时间。");
|
|
|
+ }
|
|
|
+ if (null != anstEnd && null != opEnd && anstEnd.before(opEnd)) {
|
|
|
+ errors.add("麻醉结束时间不能早于手术结束时间。");
|
|
|
+ }
|
|
|
+ if (null != anstEnd && null != opStart && anstEnd.before(opStart)) {
|
|
|
+ errors.add("麻醉结束时间不能早于手术开始时间。");
|
|
|
+ }
|
|
|
+ return errors;
|
|
|
}
|
|
|
|
|
|
private boolean needPathologicDiag(String diag) {
|