|  | @@ -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) {
 |