Commit 3e96be2b authored by hongguangwu's avatar hongguangwu

1.7.23-确认接收留存历史数据并清空上一份入职数据

parent 2c87caff
# 实现计划:保存草稿时同步更新作业自动化状态
## 需求分析
用户要求在保存草稿(`saveDraftPreEmpMain`)时,如果作业自动化 `EmployeeRegistrationPre` 的状态为 **"2信息待审核"**,需要将其状态同步更新为 **"1信息待填写"**
当前保存(`savePreEmpMain`)时的行为是正确的,不需要修改。
## 代码分析
### 当前实现逻辑
`TPreEmpMainServiceImpl.saveBase()` 方法中:
- `saveDraftPreEmpMain` 调用 `saveBase(vo, CommonConstants.ZERO_STRING)`
- `savePreEmpMain` 调用 `saveBase(vo, CommonConstants.ONE_STRING)`
第 1592-1613 行处理保存时的状态变更:
```java
if (pre != null && Common.isNotNull(pre.getId()) && CommonConstants.ONE_STRING.equals(status)) {
main.setStatus(CommonConstants.TWO_STRING);
registrationPreService.updatePreStatusToTwo(main.getDeptId(), idCard);
// ...
}
```
### 已有方法
`EmployeeRegistrationPreService` 接口已提供:
- `updatePreStatusToTwo(String deptId, String empIdCard)` - 将状态从"1"更新为"2"
- `updatePreStatusToOne(String deptNo, String empIdcard)` - 将状态从"2"更新为"1"
## 修改方案
`saveBase` 方法的状态处理逻辑中,添加草稿保存时的状态同步逻辑:
`status == ZERO_STRING`(草稿保存)且 `pre != null && pre.getProcessStatus() == TWO_STRING`(待审核状态)时:
1. 调用 `registrationPreService.updatePreStatusToOne()` 将作业自动化状态更新为"1信息待填写"
## 文件修改
| 文件 | 修改内容 |
|------|----------|
| `TPreEmpMainServiceImpl.java` | 在 `saveBase` 方法中添加草稿保存时的状态同步逻辑 |
## 实施步骤
1.`saveBase` 方法中,在现有的状态处理逻辑之前或之后添加草稿保存的状态同步逻辑
2. 确保只在 `pre != null``pre.getProcessStatus() == TWO_STRING` 时才进行更新
## 代码修改位置
文件:`e:\mvp_workspace2025\yifu\yifu-archives\yifu-archives-biz\src\main\java\com\yifu\cloud\plus\v1\yifu\archives\service\impl\TPreEmpMainServiceImpl.java`
修改位置:第 1590 行附近的状态处理逻辑
## 预期效果
- 保存草稿时,如果作业自动化状态为"2信息待审核",自动更新为"1信息待填写"
- 保存正式提交时的行为保持不变
\ No newline at end of file
......@@ -1611,6 +1611,10 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
updateToEmployeeByPre(vo, isSimpleBoo);
}
}
// 草稿保存时,若作业自动化状态为待审核,同步更新为待填写
if (pre != null && Common.isNotNull(pre.getId()) && CommonConstants.ZERO_STRING.equals(status)) {
registrationPreService.updatePreStatusToOne(main.getDeptNo(), idCard);
}
main.setCreateBy(user.getId());
main.setCreateName(user.getNickname());
main.setCreateTime(LocalDateTime.now());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment