From 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 07 十一月 2026 08:50:53 +0800
Subject: [PATCH] feat: 完善质检、生产、销售、财务与人事模块并接入审批流程
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmResignationApplicationServiceImpl.java | 23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmResignationApplicationServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmResignationApplicationServiceImpl.java
index 8b8fe32..7edc503 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmResignationApplicationServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmResignationApplicationServiceImpl.java
@@ -150,7 +150,7 @@
@Override
public void updateResignationApplication(HrmResignationApplicationSaveReqVO updateReqVO) {
HrmResignationApplicationDO application = validateResignationApplicationExists(updateReqVO.getId());
- if (!Objects.equals(application.getStatus(), HrmAuditStatusEnum.DRAFT.getStatus())) {
+ if (!isEditableResignationStatus(application.getStatus())) {
throw exception(RESIGNATION_APPLICATION_UPDATE_FAIL_NOT_DRAFT);
}
HrmResignationApplicationDO updateObj = BeanUtils.toBean(updateReqVO, HrmResignationApplicationDO.class);
@@ -190,6 +190,11 @@
throw exception(RESIGNATION_APPLICATION_NOT_EXISTS);
}
return application;
+ }
+
+ private boolean isEditableResignationStatus(Integer status) {
+ return Objects.equals(status, HrmAuditStatusEnum.DRAFT.getStatus())
+ || Objects.equals(status, HrmAuditStatusEnum.REJECT.getStatus());
}
@Override
@@ -323,16 +328,12 @@
@Transactional(rollbackFor = Exception.class)
public void submitResignationApplication(Long id, String processDefinitionKey, Long userId) {
HrmResignationApplicationDO application = validateResignationApplicationExists(id);
- if (ObjUtil.notEqual(application.getStatus(), HrmAuditStatusEnum.DRAFT.getStatus())) {
+ if (!isEditableResignationStatus(application.getStatus())) {
throw exception(RESIGNATION_APPLICATION_SUBMIT_FAIL_NOT_DRAFT);
}
// 鍏ㄥ眬鍏嶅鎵癸細涓氬姟鏍¢獙閫氳繃鍚庣洿鎺ユ墽琛屽鎵归�氳繃閫昏緫锛屾棤闇�娴佺▼妯″瀷銆�
if (bpmProcessInstanceApi.isGlobalAutoApprove()) {
- resignationApplicationMapper.updateById(HrmResignationApplicationDO.builder()
- .id(id)
- .processInstanceId("")
- .status(HrmAuditStatusEnum.PROCESS.getStatus())
- .build());
+ resignationApplicationMapper.startApproval(id, "", HrmAuditStatusEnum.PROCESS.getStatus());
updateResignationApplicationAuditStatus(id, HrmAuditStatusEnum.APPROVE.getStatus());
return;
}
@@ -340,11 +341,7 @@
ProcessDefinition processDefinition = resolveActiveProcessDefinition(processDefinitionKey);
String processInstanceId = bpmProcessInstanceApi.createProcessInstance(userId, new BpmProcessInstanceCreateReqDTO()
.setProcessDefinitionKey(processDefinition.getKey()).setBusinessKey(String.valueOf(id)));
- resignationApplicationMapper.updateById(HrmResignationApplicationDO.builder()
- .id(id)
- .processInstanceId(processInstanceId)
- .status(HrmAuditStatusEnum.PROCESS.getStatus())
- .build());
+ resignationApplicationMapper.startApproval(id, processInstanceId, HrmAuditStatusEnum.PROCESS.getStatus());
}
private void validateApproveCategoryAndProcessDefinition() {
@@ -684,4 +681,4 @@
: String.format("ID=%s", employeeId);
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3