|
@@ -761,6 +761,7 @@ public class CaseFrontSheetMainService {
|
|
|
if (null == sheet.getLateFlag()) {
|
|
|
sheet.setLateFlag(calculateLateState(sheet.getDismissDate()));
|
|
|
}
|
|
|
+ fillMajorErrorFlags(sheet);
|
|
|
insertSheetData(sheet);
|
|
|
basDao.updateActFileStatus(bah, times, State.FileStatus.SIGNED);
|
|
|
dao.writeBaOpLog(2, staffId, bah, times);
|
|
@@ -769,6 +770,27 @@ public class CaseFrontSheetMainService {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请勿重复签收。");
|
|
|
}
|
|
|
|
|
|
+ private void fillMajorErrorFlags(CaseFrontsheetMain sheet) {
|
|
|
+ List<String> majorErrors = basDao.getMajorErrors(sheet.getBah(), sheet.getAdmissTimes());
|
|
|
+ if (majorErrors.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (String majorError : majorErrors) {
|
|
|
+ if (majorError.contains("主要诊断填写错误")) {
|
|
|
+ sheet.setMaindiagInputErr(1);
|
|
|
+ }
|
|
|
+ if (majorError.contains("主要诊断编码错误")) {
|
|
|
+ sheet.setMaindiagCodeErr(1);
|
|
|
+ }
|
|
|
+ if (majorError.contains("主要手术填写错误")) {
|
|
|
+ sheet.setMainsurgInputErr(1);
|
|
|
+ }
|
|
|
+ if (majorError.contains("主要手术编码错误")) {
|
|
|
+ sheet.setMainsurgCodeErr(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void insertSheetData(CaseFrontsheetMain sheet) {
|
|
|
if (null == sheet.getSignStaff()) {
|
|
|
sheet.setSignStaff(dao.selectSignStaff(sheet.getBah(), sheet.getAdmissTimes()));
|