feat:(feature/REQ-3581) 变更签证用印申请操作时记录日志

This commit is contained in:
李龙 2025-02-24 10:22:20 +08:00
parent 9459e626a8
commit 276e1e871d
3 changed files with 52 additions and 3 deletions

View File

@ -31,6 +31,9 @@ public enum VisaLogTypeEnum {
TRANSMIT_APPROVE("transmit_approve", "审批流操作:转交","审批人变更", "%s将审批转交至%s原因为%s"),
FALLBACK_APPROVE("fallback_approve", "审批流操作:回退","%s回退审批", "%s回退审批至审批节点%s"),
APPROVE_COMPLETED("approved_completed", "审批流:审批通过","%s通过", "%s流程已完成"),
CANCEL_STAMP("stamp_canceled", "操作取消用印","%s取消用印", "%s操作取消单据用印申请"),
COMPLETE_STAMP("stamp_complete", "操作完成用印","%s完成用印", "%s操作完成用印"),
AUTO_COMPLETE_STAMP("stamp_auto_complete", "电子签合同状态\"签署完成\"回调时","用印成功", "单据用印申请均签署通过!"),
;
/**

View File

@ -27,6 +27,9 @@ public class UpdateVisaChangeReq {
@NotNull(message = "操作人不能为空")
private Long operatorId;
@NotNull(message = "操作人名字不能为空")
private String operatorName;
/**
* 变更签证用印操作
*/
@ -41,8 +44,10 @@ public class UpdateVisaChangeReq {
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum VisaStampAction {
COMPLETE("完成用印"),
CANCEL("取消用印");
COMPLETE("用户完成用印"),
CANCEL("取消用印"),
// 所有审批流审批完成时自动完成审批要区别手动完成用印操作记录日志
AUTO_COMPLETE("自动完成用印");
private String desc;
}

View File

@ -42,7 +42,6 @@ import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
import cn.axzo.nanopart.visa.api.enums.VisaRelationVarTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
import cn.axzo.nanopart.visa.api.request.ChangeRecordButtonOperationReq;
@ -167,6 +166,9 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.MSG_CENTER_APP_COD
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_INITIATOR_NAME;
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_TOPIC;
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
import static cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq.VisaStampAction.AUTO_COMPLETE;
import static cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq.VisaStampAction.CANCEL;
import static cn.axzo.nanopart.visa.api.request.UpdateVisaChangeReq.VisaStampAction.COMPLETE;
import static cn.axzo.nanopart.visa.server.config.BizResultCode.CHANGE_RECORD_NOT_FOUND;
import static cn.axzo.nanopart.visa.server.utils.Constants.DATE_FORMAT;
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
@ -1939,6 +1941,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
this.updateById(update);
// 在某些用印操作时需要记录recordLog用于详情展示因为以前详情展示的操作日志是使用的recordLog
insertRecordLog(req);
operateLogService.save(LogAddReq.builder()
.scene("UPSERT_CHANGE_RECORD")
.level("INFO")
@ -1964,4 +1969,40 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
return result;
}
private void insertRecordLog(UpdateVisaChangeReq req) {
if (Objects.isNull(req.getVisaStampAction())) {
return;
}
if (Objects.equals(req.getVisaStampAction(), COMPLETE)) {
changeRecordLogService.addLog(ChangeRecordLog.builder()
.visaId(req.getVisaId())
.action(VisaLogTypeEnum.COMPLETE_STAMP.name())
.title(String.format(VisaLogTypeEnum.COMPLETE_STAMP.getTitle(), req.getOperatorName()))
.content(String.format(VisaLogTypeEnum.COMPLETE_STAMP.getContent(), req.getOperatorName()))
.orderBy(Constants.APPROVE_ORDER_BY)
.build());
return;
}
if (Objects.equals(req.getVisaStampAction(), CANCEL)) {
changeRecordLogService.addLog(ChangeRecordLog.builder()
.visaId(req.getVisaId())
.action(VisaLogTypeEnum.CANCEL_STAMP.name())
.title(String.format(VisaLogTypeEnum.CANCEL_STAMP.getTitle(), req.getOperatorName()))
.content(String.format(VisaLogTypeEnum.CANCEL_STAMP.getContent(), req.getOperatorName()))
.orderBy(Constants.APPROVE_ORDER_BY)
.build());
return;
}
if (Objects.equals(req.getVisaStampAction(), AUTO_COMPLETE)) {
changeRecordLogService.addLog(ChangeRecordLog.builder()
.visaId(req.getVisaId())
.action(VisaLogTypeEnum.AUTO_COMPLETE_STAMP.name())
.title(VisaLogTypeEnum.AUTO_COMPLETE_STAMP.getTitle())
.content(VisaLogTypeEnum.AUTO_COMPLETE_STAMP.getContent())
.orderBy(Constants.APPROVE_ORDER_BY)
.build());
}
}
}