|
@@ -91,7 +91,7 @@ public class YzActOrderModifyVerifyService {
|
|
|
QueryWrapper<TYzActOrderModify> qw = new QueryWrapper<>();
|
|
|
qw.select("act_order_no,inpatient_no,start_time,end_time,new_start_time," +
|
|
|
"new_end_time,audit_flag,proposer,proposer_name=(select name from a_employee_mi where code=proposer),propose_time," +
|
|
|
- "audit_staff,audit_time,audit_remark,propose_remark,order_time,new_order_time," +
|
|
|
+ "audit_staff,audit_time,audit_remark,propose_remark," +
|
|
|
"patient_name,frequ_code,ward_code,order_name");
|
|
|
qw.eq("act_order_no", actOrderNo);
|
|
|
return dao.selectOne(qw);
|
|
@@ -111,32 +111,46 @@ public class YzActOrderModifyVerifyService {
|
|
|
JSONObject obj = new JSONObject();
|
|
|
obj.put("name", "systemNotification");
|
|
|
if (auditFlag == YZ_APPROVED) {
|
|
|
- //改变医嘱表中数据
|
|
|
- if (dao.yzActOrderModify(pojo.getNewStartTime(), pojo.getNewEndTime(), pojo.getNewOrderTime(), pojo.getActOrderNo())) {
|
|
|
- //改变状态
|
|
|
- if (dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark)) {
|
|
|
- obj.put("message", String.format("用户【%s】,医嘱号为【%s】已通过审核。", pojo.getProposerName(), actOrderNo));
|
|
|
- log.info("医嘱修改成功原数据===>审核人:{},开始时间:{},结束时间:{},医嘱时间:{},医嘱号:{}",
|
|
|
- TokenUtil.getTokenUserId(), pojo.getStartTime(), pojo.getEndTime(), pojo.getOrderTime(), pojo.getActOrderNo());
|
|
|
- log.info("医嘱修改成功原数据===>审核人:{},开始时间:{},结束时间:{},医嘱时间:{},医嘱号:{}",
|
|
|
- TokenUtil.getTokenUserId(), pojo.getNewStartTime(), pojo.getNewEndTime(), pojo.getNewOrderTime(), pojo.getActOrderNo());
|
|
|
- }
|
|
|
+ if (judgeTheTime(pojo)) {
|
|
|
+ dao.shenHeZhuangTaiGaiBian(3, TokenUtil.getTokenUserId(), actOrderNo, "结束时间不能大于开始时间。");
|
|
|
+ obj.put("type", "error");
|
|
|
+ obj.put("message", String.format("用户【%s】,医嘱号为【%s】已驳回,驳回原因:%s", pojo.getProposerName(), actOrderNo, "结束时间不能大于开始时间。"));
|
|
|
+ log.info("医嘱修改审核,操作:{驳回},操作员:{},驳回医嘱号:{}", TokenUtil.getTokenUserId(), pojo.getActOrderNo());
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "结束时间不能大于开始时间,已自动驳回。");
|
|
|
+ } else {
|
|
|
+ dao.yzActOrderModify(pojo.getNewStartTime(), pojo.getNewEndTime(), pojo.getActOrderNo());
|
|
|
+ dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark);
|
|
|
+ obj.put("type", "success");
|
|
|
+ obj.put("message", String.format("用户【%s】,医嘱号为【%s】已通过审核。", pojo.getProposerName(), actOrderNo));
|
|
|
+ log.info("医嘱修改成功===>审核人:{},数据:{}",
|
|
|
+ TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(pojo, GetDateFormat.DATE_TIME));
|
|
|
}
|
|
|
} else if (auditFlag == YZ_REJECT) {
|
|
|
dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark);
|
|
|
obj.put("message", String.format("用户【%s】,医嘱号为【%s】已驳回,驳回原因:%s。", pojo.getProposerName(), actOrderNo, auditRemark));
|
|
|
+ obj.put("type", "error");
|
|
|
log.info("医嘱修改审核,操作:{驳回},操作员:{},驳回医嘱号:{}", TokenUtil.getTokenUserId(), pojo.getActOrderNo());
|
|
|
} else if (auditFlag == YZ_WITHDRAW) {
|
|
|
//数据回撤
|
|
|
- if (dao.shuJuHuiChe(pojo.getStartTime(), pojo.getEndTime(), pojo.getOrderTime(), pojo.getActOrderNo())) {
|
|
|
- if (dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark)) {
|
|
|
- obj.put("message", String.format("用户【%s】,医嘱号为【%s】数据回撤,回撤原因:%s。", pojo.getProposerName(), actOrderNo, auditRemark));
|
|
|
- log.info("医嘱修改审核,操作:{数据回撤成功},操作人员:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(pojo, GetDateFormat.DATE_TIME));
|
|
|
- }
|
|
|
- }
|
|
|
+ dao.shuJuHuiChe(pojo.getStartTime(), pojo.getEndTime(), pojo.getActOrderNo());
|
|
|
+ dao.shenHeZhuangTaiGaiBian(auditFlag, TokenUtil.getTokenUserId(), actOrderNo, auditRemark);
|
|
|
+ obj.put("message", String.format("用户【%s】,医嘱号为【%s】数据撤回,撤回原因:%s。", pojo.getProposerName(), actOrderNo, auditRemark));
|
|
|
+ obj.put("type", "error");
|
|
|
+ log.info("医嘱修改审核,操作:{数据撤回成功},操作人员:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(pojo, GetDateFormat.DATE_TIME));
|
|
|
}
|
|
|
String message = obj.toJSONString();
|
|
|
WebSocketServer.sendMessageByUserCode(pojo.getProposer(), message);
|
|
|
- return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功,以通知申请人员。");
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功,已通知申请人员。");
|
|
|
+ }
|
|
|
+
|
|
|
+ public Boolean judgeTheTime(TYzActOrderModify pojo) {
|
|
|
+ if (pojo.getNewEndTime() != null) {
|
|
|
+ if (pojo.getNewStartTime() != null) {
|
|
|
+ return pojo.getNewEndTime().getTime() < pojo.getNewStartTime().getTime();
|
|
|
+ } else {
|
|
|
+ return pojo.getNewEndTime().getTime() < pojo.getStartTime().getTime();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|