|
@@ -704,7 +704,7 @@ public class CaseFrontSheetMainService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private ResultVo<List<CodeName>> saveSheet(CaseFrontsheetMain sheet) {
|
|
|
+ private ResultVo<List<CodeName>> saveSheet(CaseFrontsheetMain sheet, String staffId) {
|
|
|
String bah = sheet.getBah();
|
|
|
int times = sheet.getAdmissTimes();
|
|
|
if (StringUtil.notBlank(sheet.getSocialNo())) {
|
|
@@ -764,10 +764,13 @@ public class CaseFrontSheetMainService {
|
|
|
dao.writeNewZySurgeryRecord(item);
|
|
|
}
|
|
|
}
|
|
|
+ if (null != staffId) {
|
|
|
+ dao.writeBaOpLog(1, staffId, bah, times);
|
|
|
+ }
|
|
|
return ResultVoUtil.success();
|
|
|
}
|
|
|
|
|
|
- private ResultVo<List<CodeName>> archiveSheet(CaseFrontsheetMain sheet) {
|
|
|
+ private ResultVo<List<CodeName>> archiveSheet(CaseFrontsheetMain sheet, String staffId) {
|
|
|
String staff = TokenUtil.getInstance().getTokenUserId();
|
|
|
List<Integer> roles = userDao.getUserRoles(staff);
|
|
|
if (!roles.contains(7) && !roles.contains(1)) {
|
|
@@ -775,7 +778,9 @@ public class CaseFrontSheetMainService {
|
|
|
}
|
|
|
String bah = sheet.getBah();
|
|
|
int times = sheet.getAdmissTimes();
|
|
|
- sheet.setSignDate(new Date());
|
|
|
+
|
|
|
+ Date firstSignDate = dao.selectFirstSignDate(bah, times);
|
|
|
+ sheet.setSignDate(null == firstSignDate ? new Date() : firstSignDate);
|
|
|
sheet.setUnsignDate(null);
|
|
|
sheet.setSignStaff(staff);
|
|
|
sheet.setFileStatus(State.FileStatus.SIGNED);
|
|
@@ -787,6 +792,7 @@ public class CaseFrontSheetMainService {
|
|
|
}
|
|
|
insertSheetData(sheet);
|
|
|
basDao.updateActFileStatus(bah, times, State.FileStatus.SIGNED);
|
|
|
+ dao.writeBaOpLog(2, staffId, bah, times);
|
|
|
return ResultVoUtil.success();
|
|
|
}
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请勿重复签收。");
|
|
@@ -904,7 +910,7 @@ public class CaseFrontSheetMainService {
|
|
|
}
|
|
|
sheet.setIsDoctorPrint(true);
|
|
|
sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
|
|
|
- ResultVo<List<CodeName>> save = saveSheet(sheet);
|
|
|
+ ResultVo<List<CodeName>> save = saveSheet(sheet, TokenUtil.getInstance().getTokenUserId());
|
|
|
if (save.getCode() != ExceptionEnum.SUCCESS.getCode()) {
|
|
|
Map<String, List<CodeName>> map = new HashMap<>();
|
|
|
map.put("force", save.getData());
|
|
@@ -942,20 +948,15 @@ public class CaseFrontSheetMainService {
|
|
|
item.setType(dao.selectOperationType(item.getCode()));
|
|
|
}
|
|
|
});
|
|
|
- final String bah = sheet.getBah();
|
|
|
- final int times = sheet.getAdmissTimes();
|
|
|
- int optype = info.getOpType();
|
|
|
- if (optype == 2) {
|
|
|
- dao.writeBaOpLog(optype, info.getStaffId(), bah, times);
|
|
|
- return archiveSheet(sheet);
|
|
|
+ if (info.getOpType() == 2) {
|
|
|
+ return archiveSheet(sheet, info.getStaffId());
|
|
|
}
|
|
|
List<CodeName> message = VerifyCaseFrontSheet.getInstance().saveVerify(sheet);
|
|
|
if (message.isEmpty()) {
|
|
|
- dao.writeBaOpLog(optype, info.getStaffId(), bah, times);
|
|
|
if (!sheet.getDisdiagList().isEmpty()) {
|
|
|
sheet.setMainDisdiagStatus(sheet.getDisdiagList().get(0).getDismissStatus());
|
|
|
}
|
|
|
- return optype == 1 ? saveSheet(sheet) : archiveSheet(sheet);
|
|
|
+ return saveSheet(sheet, info.getStaffId());
|
|
|
}
|
|
|
return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "校验未通过。", message);
|
|
|
}
|
|
@@ -1240,7 +1241,7 @@ public class CaseFrontSheetMainService {
|
|
|
return "OK";
|
|
|
}
|
|
|
sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
|
|
|
- ResultVo<List<CodeName>> save = saveSheet(sheet);
|
|
|
+ ResultVo<List<CodeName>> save = saveSheet(sheet, null);
|
|
|
if (save.getCode() != ExceptionEnum.SUCCESS.getCode()) {
|
|
|
return "校验未通过。";
|
|
|
}
|