|
@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
|
|
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
|
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
|
|
@@ -22,12 +23,12 @@ import cn.iocoder.yudao.module.bpm.enums.DictDataConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants;
|
|
import cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmConstants;
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmConstants;
|
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
|
|
|
|
|
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
|
|
|
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
|
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
-import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
|
|
-import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -38,7 +39,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
@@ -77,7 +80,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
private FileApi fileApi;
|
|
private FileApi fileApi;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
- private AdminUserApi adminUserApi;
|
|
|
|
|
|
|
+ private EmployeeApi employeeApi;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private DeptApi deptApi;
|
|
private DeptApi deptApi;
|
|
@@ -87,10 +90,13 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
public Long stagingOaTurnover(OaTurnoverSaveReqVO stagingReqVO) {
|
|
public Long stagingOaTurnover(OaTurnoverSaveReqVO stagingReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
|
|
|
- Objects.requireNonNull(loginUser, "登录用户不能为空");
|
|
|
|
|
- // 人信息
|
|
|
|
|
- AdminUserRespDTO employee = adminUserApi.getUser(stagingReqVO.getEmployeeId());
|
|
|
|
|
|
|
+ // 登录员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ // 离职人信息
|
|
|
|
|
+ EmployeeRespDTO employee = employeeApi.getEmployeeById(stagingReqVO.getEmployeeId());
|
|
|
|
|
+ if (loginEmployee == null || employee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
OaTurnoverDO oaTurnover = BeanUtils.toBean(stagingReqVO, OaTurnoverDO.class);
|
|
OaTurnoverDO oaTurnover = BeanUtils.toBean(stagingReqVO, OaTurnoverDO.class);
|
|
|
if (StringUtils.isBlank(oaTurnover.getTurnoverId())) {
|
|
if (StringUtils.isBlank(oaTurnover.getTurnoverId())) {
|
|
@@ -98,19 +104,23 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
String uuid = IdUtil.fastSimpleUUID();
|
|
String uuid = IdUtil.fastSimpleUUID();
|
|
|
oaTurnover.setTurnoverId(uuid);
|
|
oaTurnover.setTurnoverId(uuid);
|
|
|
}
|
|
}
|
|
|
- if (employee != null) {
|
|
|
|
|
- oaTurnover.setEmployeeId(loginUser.getId());
|
|
|
|
|
- oaTurnover.setEmployeeName(loginUser.getNickname());
|
|
|
|
|
- oaTurnover.setEmployeePhone(loginUser.getMobile());
|
|
|
|
|
- oaTurnover.setDeptId(loginUser.getDeptId());
|
|
|
|
|
- oaTurnover.setPosition("员工职位");
|
|
|
|
|
- oaTurnover.setEntryDate("2023-01-01");
|
|
|
|
|
- oaTurnover.setUserId(loginUser.getId());
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ oaTurnover.setEmployeeId(employee.getId());
|
|
|
|
|
+ oaTurnover.setEmployeeName(employee.getName());
|
|
|
|
|
+ oaTurnover.setEmployeePhone(employee.getPhone());
|
|
|
|
|
+ oaTurnover.setDeptId(employee.getDeptId());
|
|
|
|
|
+ oaTurnover.setPostId(employee.getPostId());
|
|
|
|
|
+ oaTurnover.setPosition(employee.getPosition());
|
|
|
|
|
+ LocalDate entryDate = employee.getEntryDate();
|
|
|
|
|
+ if (entryDate != null) {
|
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
+ oaTurnover.setEntryDate(entryDate.format(formatter));
|
|
|
|
|
+ }
|
|
|
|
|
+ oaTurnover.setUserId(loginUserId);
|
|
|
oaTurnover.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_STAGING);
|
|
oaTurnover.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_STAGING);
|
|
|
oaTurnover.setInfoSource("0");
|
|
oaTurnover.setInfoSource("0");
|
|
|
- oaTurnover.setApplyEmployeeId(loginUser.getId());
|
|
|
|
|
- oaTurnover.setApplyEmployeeName(loginUser.getNickname());
|
|
|
|
|
|
|
+ oaTurnover.setApplyEmployeeId(loginEmployee.getId());
|
|
|
|
|
+ oaTurnover.setApplyEmployeeName(loginEmployee.getName());
|
|
|
|
|
+ oaTurnover.setCreator(String.valueOf(loginEmployee.getId()));
|
|
|
// 暂存不保存审批人信息
|
|
// 暂存不保存审批人信息
|
|
|
oaTurnover.setStartUserSelectAssignees(null);
|
|
oaTurnover.setStartUserSelectAssignees(null);
|
|
|
// 保存或更新表单信息
|
|
// 保存或更新表单信息
|
|
@@ -134,13 +144,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
}
|
|
}
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
|
|
|
- if (loginUser == null) {
|
|
|
|
|
- throw exception(ErrorCodeConstants.OA_LOGIN_USER_NOT_EXISTS);
|
|
|
|
|
- }
|
|
|
|
|
- // 人信息
|
|
|
|
|
- AdminUserRespDTO employee = adminUserApi.getUser(commitReqVO.getEmployeeId());
|
|
|
|
|
- if (employee == null) {
|
|
|
|
|
|
|
+ // 登录员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ // 离职人信息
|
|
|
|
|
+ EmployeeRespDTO employee = employeeApi.getEmployeeById(commitReqVO.getEmployeeId());
|
|
|
|
|
+ if (loginEmployee == null || employee == null) {
|
|
|
throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -152,15 +160,22 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
oaTurnover.setTurnoverId(uuid);
|
|
oaTurnover.setTurnoverId(uuid);
|
|
|
}
|
|
}
|
|
|
oaTurnover.setEmployeeId(employee.getId());
|
|
oaTurnover.setEmployeeId(employee.getId());
|
|
|
- oaTurnover.setEmployeeName(employee.getNickname());
|
|
|
|
|
- oaTurnover.setEmployeePhone(employee.getMobile());
|
|
|
|
|
|
|
+ oaTurnover.setEmployeeName(employee.getName());
|
|
|
|
|
+ oaTurnover.setEmployeePhone(employee.getPhone());
|
|
|
oaTurnover.setDeptId(employee.getDeptId());
|
|
oaTurnover.setDeptId(employee.getDeptId());
|
|
|
- oaTurnover.setPosition("员工职位");
|
|
|
|
|
- oaTurnover.setEntryDate("2023-01-01");
|
|
|
|
|
- oaTurnover.setUserId(loginUser.getId());
|
|
|
|
|
|
|
+ oaTurnover.setPostId(employee.getPostId());
|
|
|
|
|
+ oaTurnover.setPosition(employee.getPosition());
|
|
|
|
|
+ LocalDate entryDate = employee.getEntryDate();
|
|
|
|
|
+ if (entryDate != null) {
|
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
+ oaTurnover.setEntryDate(entryDate.format(formatter));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ oaTurnover.setUserId(loginUserId);
|
|
|
oaTurnover.setInfoSource("0");
|
|
oaTurnover.setInfoSource("0");
|
|
|
- oaTurnover.setApplyEmployeeId(loginUser.getId());
|
|
|
|
|
- oaTurnover.setApplyEmployeeName(loginUser.getNickname());
|
|
|
|
|
|
|
+ oaTurnover.setApplyEmployeeId(loginEmployee.getId());
|
|
|
|
|
+ oaTurnover.setApplyEmployeeName(loginEmployee.getName());
|
|
|
|
|
+ oaTurnover.setCreator(String.valueOf(loginEmployee.getId()));
|
|
|
// 保存或更新表单信息
|
|
// 保存或更新表单信息
|
|
|
if (oaTurnover.getId() == null) {
|
|
if (oaTurnover.getId() == null) {
|
|
|
oaTurnoverMapper.insert(oaTurnover);
|
|
oaTurnoverMapper.insert(oaTurnover);
|
|
@@ -179,7 +194,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
List<Long> selectAssignees = commitReqVO.getStartUserSelectAssignees();
|
|
List<Long> selectAssignees = commitReqVO.getStartUserSelectAssignees();
|
|
|
startUserSelectAssignees.put("approver", selectAssignees);
|
|
startUserSelectAssignees.put("approver", selectAssignees);
|
|
|
String processInstanceId = processInstanceApi
|
|
String processInstanceId = processInstanceApi
|
|
|
- .createProcessInstance(loginUser.getId(),
|
|
|
|
|
|
|
+ .createProcessInstance(loginEmployee.getId(),
|
|
|
new BpmProcessInstanceCreateReqDTO()
|
|
new BpmProcessInstanceCreateReqDTO()
|
|
|
.setProcessDefinitionKey(PROCESS_KEY)
|
|
.setProcessDefinitionKey(PROCESS_KEY)
|
|
|
.setVariables(processInstanceVariables)
|
|
.setVariables(processInstanceVariables)
|
|
@@ -196,14 +211,14 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_COMMITTED));
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_COMMITTED));
|
|
|
taskService.setVariable(task.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
taskService.setVariable(task.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
|
taskService.setVariable(task.getId(), "auditPass", "true");
|
|
taskService.setVariable(task.getId(), "auditPass", "true");
|
|
|
- bpmTaskService.approveTask(loginUserId, agreeReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), agreeReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
|
|
|
if (nextTask == null) {
|
|
if (nextTask == null) {
|
|
|
throw exception(ErrorCodeConstants.TASK_CREATE_FAIL_NO_START_SELECT_ASSIGNEE);
|
|
throw exception(ErrorCodeConstants.TASK_CREATE_FAIL_NO_START_SELECT_ASSIGNEE);
|
|
|
}
|
|
}
|
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
|
- AdminUserRespDTO currentAuditEmployee = adminUserApi.getUser(currentAuditEmployeeId);
|
|
|
|
|
|
|
+ EmployeeRespDTO currentAuditEmployee = employeeApi.getEmployeeById(currentAuditEmployeeId);
|
|
|
|
|
|
|
|
|
|
|
|
|
// 将工作流的流程实例ID、单据状态、最后一次审批时间、当前审批人更新到单据信息中
|
|
// 将工作流的流程实例ID、单据状态、最后一次审批时间、当前审批人更新到单据信息中
|
|
@@ -213,7 +228,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_COMMITTED)
|
|
.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_COMMITTED)
|
|
|
.setFinalAuditDate(LocalDateTime.now())
|
|
.setFinalAuditDate(LocalDateTime.now())
|
|
|
.setCurrentAuditEmployeeId(currentAuditEmployeeId)
|
|
.setCurrentAuditEmployeeId(currentAuditEmployeeId)
|
|
|
- .setCurrentAuditEmployeeName(currentAuditEmployee.getNickname())
|
|
|
|
|
|
|
+ .setCurrentAuditEmployeeName(currentAuditEmployee.getName())
|
|
|
.setStartUserSelectAssignees(selectAssignees.stream().map(String::valueOf).collect(Collectors.joining(","))));
|
|
.setStartUserSelectAssignees(selectAssignees.stream().map(String::valueOf).collect(Collectors.joining(","))));
|
|
|
// 保存业务uuid到附件中
|
|
// 保存业务uuid到附件中
|
|
|
saveFileList(commitReqVO.getFileIdList(), oaTurnover.getTurnoverId());
|
|
saveFileList(commitReqVO.getFileIdList(), oaTurnover.getTurnoverId());
|
|
@@ -226,7 +241,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
public Long agreeOaTurnover(BpmTaskApproveReqVO agreeReqVO) {
|
|
public Long agreeOaTurnover(BpmTaskApproveReqVO agreeReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
Task currentTask = bpmTaskService.getTask(agreeReqVO.getId());
|
|
Task currentTask = bpmTaskService.getTask(agreeReqVO.getId());
|
|
|
if (currentTask == null) {
|
|
if (currentTask == null) {
|
|
@@ -254,19 +273,19 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
agreeReqVO.setReason(reason);
|
|
agreeReqVO.setReason(reason);
|
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_AUDITING));
|
|
agreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_AUDITING));
|
|
|
taskService.setVariable(agreeReqVO.getId(), "auditPass", "true");
|
|
taskService.setVariable(agreeReqVO.getId(), "auditPass", "true");
|
|
|
- bpmTaskService.approveTask(loginUserId, agreeReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), agreeReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
OaTurnoverDO oaTurnoverDO = new OaTurnoverDO();
|
|
OaTurnoverDO oaTurnoverDO = new OaTurnoverDO();
|
|
|
if (nextTask != null) {
|
|
if (nextTask != null) {
|
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
|
- AdminUserRespDTO currentAuditEmployee = adminUserApi.getUser(currentAuditEmployeeId);
|
|
|
|
|
|
|
+ EmployeeRespDTO currentAuditEmployee = employeeApi.getEmployeeById(currentAuditEmployeeId);
|
|
|
|
|
|
|
|
// 如果审批人重复,实际未结束,再次更新为审核中
|
|
// 如果审批人重复,实际未结束,再次更新为审核中
|
|
|
taskService.setVariable(nextTask.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_AUDITING);
|
|
taskService.setVariable(nextTask.getId(), BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_AUDITING);
|
|
|
oaTurnoverDO.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_AUDITING)
|
|
oaTurnoverDO.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_AUDITING)
|
|
|
.setCurrentAuditEmployeeId(currentAuditEmployeeId)
|
|
.setCurrentAuditEmployeeId(currentAuditEmployeeId)
|
|
|
- .setCurrentAuditEmployeeName(currentAuditEmployee.getNickname())
|
|
|
|
|
|
|
+ .setCurrentAuditEmployeeName(currentAuditEmployee.getName())
|
|
|
.setFinalAuditDate(LocalDateTime.now())
|
|
.setFinalAuditDate(LocalDateTime.now())
|
|
|
.setId(oaTurnover.getId());
|
|
.setId(oaTurnover.getId());
|
|
|
|
|
|
|
@@ -277,7 +296,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
.setFinalAuditDate(LocalDateTime.now())
|
|
.setFinalAuditDate(LocalDateTime.now())
|
|
|
.setId(oaTurnover.getId());
|
|
.setId(oaTurnover.getId());
|
|
|
|
|
|
|
|
- // TODO 复制业务单据信息到业务模块单据表
|
|
|
|
|
|
|
+ // TODO DP复制业务单据信息到业务模块单据表
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
oaTurnoverMapper.updateById(oaTurnoverDO);
|
|
oaTurnoverMapper.updateById(oaTurnoverDO);
|
|
@@ -292,7 +311,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
public Long disagreeOaTurnover(BpmTaskReturnReqVO disagreeReqVO) {
|
|
public Long disagreeOaTurnover(BpmTaskReturnReqVO disagreeReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
Task currentTask = bpmTaskService.getTask(disagreeReqVO.getId());
|
|
Task currentTask = bpmTaskService.getTask(disagreeReqVO.getId());
|
|
|
|
|
|
|
@@ -301,16 +324,16 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
disagreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RETURNED));
|
|
disagreeReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RETURNED));
|
|
|
taskService.setVariable(disagreeReqVO.getId(), "auditPass", "false");
|
|
taskService.setVariable(disagreeReqVO.getId(), "auditPass", "false");
|
|
|
taskService.setVariable(disagreeReqVO.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RETURNED);
|
|
taskService.setVariable(disagreeReqVO.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RETURNED);
|
|
|
- bpmTaskService.returnTask(loginUserId, disagreeReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.returnTask(loginEmployee.getId(), disagreeReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
|
- AdminUserRespDTO currentAuditEmployee = adminUserApi.getUser(currentAuditEmployeeId);
|
|
|
|
|
|
|
+ EmployeeRespDTO currentAuditEmployee = employeeApi.getEmployeeById(currentAuditEmployeeId);
|
|
|
|
|
|
|
|
// 更新单据状态,当前处理人,最后处理时间
|
|
// 更新单据状态,当前处理人,最后处理时间
|
|
|
LambdaUpdateWrapper<OaTurnoverDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<OaTurnoverDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
updateWrapper.set(OaTurnoverDO::getCurrentAuditEmployeeId, currentAuditEmployeeId)
|
|
updateWrapper.set(OaTurnoverDO::getCurrentAuditEmployeeId, currentAuditEmployeeId)
|
|
|
- .set(OaTurnoverDO::getCurrentAuditEmployeeName, currentAuditEmployee.getNickname())
|
|
|
|
|
|
|
+ .set(OaTurnoverDO::getCurrentAuditEmployeeName, currentAuditEmployee.getName())
|
|
|
.set(OaTurnoverDO::getFinalAuditDate, LocalDateTime.now())
|
|
.set(OaTurnoverDO::getFinalAuditDate, LocalDateTime.now())
|
|
|
.set(OaTurnoverDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_RETURNED)
|
|
.set(OaTurnoverDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_RETURNED)
|
|
|
.eq(OaTurnoverDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
.eq(OaTurnoverDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
@@ -326,7 +349,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
public Long revocationOaTurnover(BpmTaskApproveReqVO revocationReqVO) {
|
|
public Long revocationOaTurnover(BpmTaskApproveReqVO revocationReqVO) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
Task currentTask = bpmTaskService.getTask(revocationReqVO.getId());
|
|
Task currentTask = bpmTaskService.getTask(revocationReqVO.getId());
|
|
|
if (currentTask == null) {
|
|
if (currentTask == null) {
|
|
@@ -336,7 +363,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
.eq(OaTurnoverDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
.eq(OaTurnoverDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
|
OaTurnoverDO oaTurnoverDO = oaTurnoverMapper.selectOne(lambdaQueryWrapper);
|
|
OaTurnoverDO oaTurnoverDO = oaTurnoverMapper.selectOne(lambdaQueryWrapper);
|
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaTurnoverDO.getAuditStatus())
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaTurnoverDO.getAuditStatus())
|
|
|
- || !Objects.equals(String.valueOf(loginUserId), oaTurnoverDO.getCreator())) {
|
|
|
|
|
|
|
+ || !Objects.equals(String.valueOf(loginEmployee.getId()), oaTurnoverDO.getCreator())) {
|
|
|
throw ServiceExceptionUtil.exception(ErrorCodeConstants.TASK_REVOCATION_NOT_ALLOWED);
|
|
throw ServiceExceptionUtil.exception(ErrorCodeConstants.TASK_REVOCATION_NOT_ALLOWED);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -349,16 +376,16 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
returnReqVO.setReason(reason);
|
|
returnReqVO.setReason(reason);
|
|
|
returnReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RECALLED));
|
|
returnReqVO.setTaskStatus(Integer.valueOf(DictDataConstants.OA_AUDIT_STATUS_RECALLED));
|
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RECALLED);
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_RECALLED);
|
|
|
- bpmTaskService.revocationTask(loginUserId, returnReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.revocationTask(loginEmployee.getId(), returnReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
|
- AdminUserRespDTO currentAuditEmployee = adminUserApi.getUser(currentAuditEmployeeId);
|
|
|
|
|
|
|
+ EmployeeRespDTO currentAuditEmployee = employeeApi.getEmployeeById(currentAuditEmployeeId);
|
|
|
|
|
|
|
|
// 更新单据状态,当前处理人,最后处理时间
|
|
// 更新单据状态,当前处理人,最后处理时间
|
|
|
LambdaUpdateWrapper<OaTurnoverDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<OaTurnoverDO> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
updateWrapper.set(OaTurnoverDO::getCurrentAuditEmployeeId, currentAuditEmployeeId)
|
|
updateWrapper.set(OaTurnoverDO::getCurrentAuditEmployeeId, currentAuditEmployeeId)
|
|
|
- .set(OaTurnoverDO::getCurrentAuditEmployeeName, currentAuditEmployee.getNickname())
|
|
|
|
|
|
|
+ .set(OaTurnoverDO::getCurrentAuditEmployeeName, currentAuditEmployee.getName())
|
|
|
.set(OaTurnoverDO::getFinalAuditDate, LocalDateTime.now())
|
|
.set(OaTurnoverDO::getFinalAuditDate, LocalDateTime.now())
|
|
|
.set(OaTurnoverDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_RECALLED)
|
|
.set(OaTurnoverDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_RECALLED)
|
|
|
.eq(OaTurnoverDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
.eq(OaTurnoverDO::getProcInstId, currentTask.getProcessInstanceId());
|
|
@@ -377,13 +404,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
}
|
|
}
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- AdminUserRespDTO loginUser = adminUserApi.getUser(loginUserId);
|
|
|
|
|
- if (loginUser == null) {
|
|
|
|
|
- throw exception(ErrorCodeConstants.OA_LOGIN_USER_NOT_EXISTS);
|
|
|
|
|
- }
|
|
|
|
|
- // 人信息
|
|
|
|
|
- AdminUserRespDTO employee = adminUserApi.getUser(reCommitReqVO.getEmployeeId());
|
|
|
|
|
- if (employee == null) {
|
|
|
|
|
|
|
+ // 登录员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ // 离职人信息
|
|
|
|
|
+ EmployeeRespDTO employee = employeeApi.getEmployeeById(reCommitReqVO.getEmployeeId());
|
|
|
|
|
+ if (loginEmployee == null || employee == null) {
|
|
|
throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -393,14 +418,20 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
.setProcInstId(oaTurnoverOld.getProcInstId());
|
|
.setProcInstId(oaTurnoverOld.getProcInstId());
|
|
|
|
|
|
|
|
oaTurnoverNew.setEmployeeId(employee.getId());
|
|
oaTurnoverNew.setEmployeeId(employee.getId());
|
|
|
- oaTurnoverNew.setEmployeeName(employee.getNickname());
|
|
|
|
|
- oaTurnoverNew.setEmployeePhone(employee.getMobile());
|
|
|
|
|
|
|
+ oaTurnoverNew.setEmployeeName(employee.getName());
|
|
|
|
|
+ oaTurnoverNew.setEmployeePhone(employee.getPhone());
|
|
|
oaTurnoverNew.setDeptId(employee.getDeptId());
|
|
oaTurnoverNew.setDeptId(employee.getDeptId());
|
|
|
- oaTurnoverNew.setPosition("员工职位");
|
|
|
|
|
- oaTurnoverNew.setEntryDate("2023-01-01");
|
|
|
|
|
- oaTurnoverNew.setUserId(loginUser.getId());
|
|
|
|
|
- oaTurnoverNew.setApplyEmployeeId(loginUser.getId());
|
|
|
|
|
- oaTurnoverNew.setApplyEmployeeName(loginUser.getNickname());
|
|
|
|
|
|
|
+ oaTurnoverNew.setPostId(employee.getPostId());
|
|
|
|
|
+ oaTurnoverNew.setPosition(employee.getPosition());
|
|
|
|
|
+ LocalDate entryDate = employee.getEntryDate();
|
|
|
|
|
+ if (entryDate != null) {
|
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
+ oaTurnoverNew.setEntryDate(entryDate.format(formatter));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ oaTurnoverNew.setUserId(loginUserId);
|
|
|
|
|
+ oaTurnoverNew.setApplyEmployeeId(loginEmployee.getId());
|
|
|
|
|
+ oaTurnoverNew.setApplyEmployeeName(loginEmployee.getName());
|
|
|
|
|
|
|
|
Task currentTask = taskService.createTaskQuery().processInstanceId(oaTurnoverNew.getProcInstId()).singleResult();
|
|
Task currentTask = taskService.createTaskQuery().processInstanceId(oaTurnoverNew.getProcInstId()).singleResult();
|
|
|
BpmTaskApproveReqVO approveReqVO = new BpmTaskApproveReqVO();
|
|
BpmTaskApproveReqVO approveReqVO = new BpmTaskApproveReqVO();
|
|
@@ -419,14 +450,14 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "true");
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "true");
|
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_COMMITTED);
|
|
|
// 再次提交,和审批通过逻辑相同
|
|
// 再次提交,和审批通过逻辑相同
|
|
|
- bpmTaskService.approveTask(loginUserId, approveReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), approveReqVO);
|
|
|
|
|
|
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
Task nextTask = taskService.createTaskQuery().processInstanceId(currentTask.getProcessInstanceId()).singleResult();
|
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
Long currentAuditEmployeeId = Long.valueOf(nextTask.getAssignee());
|
|
|
- AdminUserRespDTO currentAuditEmployee = adminUserApi.getUser(currentAuditEmployeeId);
|
|
|
|
|
|
|
+ EmployeeRespDTO currentAuditEmployee = employeeApi.getEmployeeById(currentAuditEmployeeId);
|
|
|
oaTurnoverNew.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_COMMITTED)
|
|
oaTurnoverNew.setAuditStatus(DictDataConstants.OA_AUDIT_STATUS_COMMITTED)
|
|
|
.setCurrentAuditEmployeeId(currentAuditEmployeeId)
|
|
.setCurrentAuditEmployeeId(currentAuditEmployeeId)
|
|
|
- .setCurrentAuditEmployeeName(currentAuditEmployee.getNickname())
|
|
|
|
|
|
|
+ .setCurrentAuditEmployeeName(currentAuditEmployee.getName())
|
|
|
.setFinalAuditDate(LocalDateTime.now());
|
|
.setFinalAuditDate(LocalDateTime.now());
|
|
|
oaTurnoverMapper.updateById(oaTurnoverNew);
|
|
oaTurnoverMapper.updateById(oaTurnoverNew);
|
|
|
|
|
|
|
@@ -444,7 +475,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
}
|
|
}
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
OaTurnoverDO oaTurnoverDO = validateOaTurnoverExists(id);
|
|
OaTurnoverDO oaTurnoverDO = validateOaTurnoverExists(id);
|
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_RETURNED.equals(oaTurnoverDO.getAuditStatus())
|
|
if (!DictDataConstants.OA_AUDIT_STATUS_RETURNED.equals(oaTurnoverDO.getAuditStatus())
|
|
@@ -460,7 +495,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "false");
|
|
taskService.setVariable(currentTask.getId(), "auditPass", "false");
|
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_CLOSED);
|
|
taskService.setVariable(currentTask.getId(),BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, DictDataConstants.OA_AUDIT_STATUS_CLOSED);
|
|
|
// 关闭,使用审批通过的方法实现
|
|
// 关闭,使用审批通过的方法实现
|
|
|
- bpmTaskService.approveTask(loginUserId, approveReqVO);
|
|
|
|
|
|
|
+ bpmTaskService.approveTask(loginEmployee.getId(), approveReqVO);
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<OaTurnoverDO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
LambdaUpdateWrapper<OaTurnoverDO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
lambdaUpdateWrapper.set(OaTurnoverDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_CLOSED)
|
|
lambdaUpdateWrapper.set(OaTurnoverDO::getAuditStatus, DictDataConstants.OA_AUDIT_STATUS_CLOSED)
|
|
@@ -484,7 +519,11 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
public OaTurnoverRespVO getOaTurnover(Long id) {
|
|
public OaTurnoverRespVO getOaTurnover(Long id) {
|
|
|
// 登录人信息
|
|
// 登录人信息
|
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- // TODO DP 根据登录人查询出对应的员工信息
|
|
|
|
|
|
|
+ // 根据登录人查询出对应的员工信息
|
|
|
|
|
+ EmployeeRespDTO loginEmployee = employeeApi.getEmployeeByUserId(loginUserId);
|
|
|
|
|
+ if (loginEmployee == null) {
|
|
|
|
|
+ throw exception(ErrorCodeConstants.OA_EMPLOYEE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
OaTurnoverDO oaTurnoverDO = oaTurnoverMapper.selectById(id);
|
|
OaTurnoverDO oaTurnoverDO = oaTurnoverMapper.selectById(id);
|
|
|
OaTurnoverRespVO oaTurnoverRespVO = BeanUtils.toBean(oaTurnoverDO, OaTurnoverRespVO.class);
|
|
OaTurnoverRespVO oaTurnoverRespVO = BeanUtils.toBean(oaTurnoverDO, OaTurnoverRespVO.class);
|
|
@@ -499,7 +538,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
if (StrUtil.isNotBlank(procInstId)) {
|
|
if (StrUtil.isNotBlank(procInstId)) {
|
|
|
Task task = taskService.createTaskQuery()
|
|
Task task = taskService.createTaskQuery()
|
|
|
.processInstanceId(procInstId)
|
|
.processInstanceId(procInstId)
|
|
|
- .taskAssignee(String.valueOf(loginUserId))
|
|
|
|
|
|
|
+ .taskAssignee(String.valueOf(loginEmployee.getId()))
|
|
|
.singleResult();
|
|
.singleResult();
|
|
|
if (DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaTurnoverDO.getAuditStatus())) {
|
|
if (DictDataConstants.OA_AUDIT_STATUS_COMMITTED.equals(oaTurnoverDO.getAuditStatus())) {
|
|
|
// 如果是已提交,不限制任务处理人是当前登录人,用于直接撤回
|
|
// 如果是已提交,不限制任务处理人是当前登录人,用于直接撤回
|
|
@@ -525,16 +564,15 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
// 审批人
|
|
// 审批人
|
|
|
String startUserSelectAssignees = oaTurnoverDO.getStartUserSelectAssignees();
|
|
String startUserSelectAssignees = oaTurnoverDO.getStartUserSelectAssignees();
|
|
|
if (StrUtil.isNotEmpty(startUserSelectAssignees)) {
|
|
if (StrUtil.isNotEmpty(startUserSelectAssignees)) {
|
|
|
- List<Long> userIdList = Arrays.stream(startUserSelectAssignees.split(","))
|
|
|
|
|
|
|
+ List<Long> employeeIdList = Arrays.stream(startUserSelectAssignees.split(","))
|
|
|
.map(Long::valueOf).collect(Collectors.toList());
|
|
.map(Long::valueOf).collect(Collectors.toList());
|
|
|
- List<AdminUserRespDTO> userList = adminUserApi.getUserList(userIdList);
|
|
|
|
|
- List<AdminUserRespDTO> auditUserList = new ArrayList<>();
|
|
|
|
|
- for (Long userId : userIdList) {
|
|
|
|
|
- for (AdminUserRespDTO adminUserRespDTO : userList) {
|
|
|
|
|
- if (Objects.equals(userId, adminUserRespDTO.getId())) {
|
|
|
|
|
- auditUserList.add(adminUserRespDTO);
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ List<EmployeeRespDTO> employeeRespDTOList = employeeApi.getEmployeeListByIds(employeeIdList);
|
|
|
|
|
+ Map<Long, EmployeeRespDTO> longEmployeeRespDTOMap = CollectionUtils.convertMap(employeeRespDTOList, EmployeeRespDTO::getId);
|
|
|
|
|
+ List<EmployeeRespDTO> auditUserList = new ArrayList<>();
|
|
|
|
|
+ for (Long employeeId : employeeIdList) {
|
|
|
|
|
+ EmployeeRespDTO employeeRespDTO = longEmployeeRespDTOMap.get(employeeId);
|
|
|
|
|
+ if (employeeRespDTO != null) {
|
|
|
|
|
+ auditUserList.add(employeeRespDTO);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
oaTurnoverRespVO.setAuditUserList(auditUserList);
|
|
oaTurnoverRespVO.setAuditUserList(auditUserList);
|
|
@@ -567,16 +605,15 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
// 审批人
|
|
// 审批人
|
|
|
String startUserSelectAssignees = oaTurnoverDO.getStartUserSelectAssignees();
|
|
String startUserSelectAssignees = oaTurnoverDO.getStartUserSelectAssignees();
|
|
|
if (StrUtil.isNotEmpty(startUserSelectAssignees)) {
|
|
if (StrUtil.isNotEmpty(startUserSelectAssignees)) {
|
|
|
- List<Long> userIdList = Arrays.stream(startUserSelectAssignees.split(","))
|
|
|
|
|
|
|
+ List<Long> employeeIdList = Arrays.stream(startUserSelectAssignees.split(","))
|
|
|
.map(Long::valueOf).collect(Collectors.toList());
|
|
.map(Long::valueOf).collect(Collectors.toList());
|
|
|
- List<AdminUserRespDTO> userList = adminUserApi.getUserList(userIdList);
|
|
|
|
|
- List<AdminUserRespDTO> auditUserList = new ArrayList<>();
|
|
|
|
|
- for (Long userId : userIdList) {
|
|
|
|
|
- for (AdminUserRespDTO adminUserRespDTO : userList) {
|
|
|
|
|
- if (Objects.equals(userId, adminUserRespDTO.getId())) {
|
|
|
|
|
- auditUserList.add(adminUserRespDTO);
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ List<EmployeeRespDTO> employeeRespDTOList = employeeApi.getEmployeeListByIds(employeeIdList);
|
|
|
|
|
+ Map<Long, EmployeeRespDTO> longEmployeeRespDTOMap = CollectionUtils.convertMap(employeeRespDTOList, EmployeeRespDTO::getId);
|
|
|
|
|
+ List<EmployeeRespDTO> auditUserList = new ArrayList<>();
|
|
|
|
|
+ for (Long employeeId : employeeIdList) {
|
|
|
|
|
+ EmployeeRespDTO employeeRespDTO = longEmployeeRespDTOMap.get(employeeId);
|
|
|
|
|
+ if (employeeRespDTO != null) {
|
|
|
|
|
+ auditUserList.add(employeeRespDTO);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
oaTurnoverRespVO.setAuditUserList(auditUserList);
|
|
oaTurnoverRespVO.setAuditUserList(auditUserList);
|
|
@@ -593,13 +630,12 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
|
|
|
List<OaTurnoverRespVO> oaTurnoverRespVOList = oaTurnoverRespVOPageResult.getList();
|
|
List<OaTurnoverRespVO> oaTurnoverRespVOList = oaTurnoverRespVOPageResult.getList();
|
|
|
if (CollectionUtil.isNotEmpty(oaTurnoverRespVOList)) {
|
|
if (CollectionUtil.isNotEmpty(oaTurnoverRespVOList)) {
|
|
|
List<Long> employeeIdList = oaTurnoverRespVOList.stream().map(OaTurnoverRespVO::getCurrentAuditEmployeeId).collect(Collectors.toList());
|
|
List<Long> employeeIdList = oaTurnoverRespVOList.stream().map(OaTurnoverRespVO::getCurrentAuditEmployeeId).collect(Collectors.toList());
|
|
|
- List<AdminUserRespDTO> employeeList = adminUserApi.getUserList(employeeIdList);
|
|
|
|
|
|
|
+ List<EmployeeRespDTO> employeeRespDTOList = employeeApi.getEmployeeListByIds(employeeIdList);
|
|
|
|
|
+ Map<Long, EmployeeRespDTO> longEmployeeRespDTOMap = CollectionUtils.convertMap(employeeRespDTOList, EmployeeRespDTO::getId);
|
|
|
for (OaTurnoverRespVO respVO : oaTurnoverRespVOList) {
|
|
for (OaTurnoverRespVO respVO : oaTurnoverRespVOList) {
|
|
|
- for (AdminUserRespDTO employee : employeeList) {
|
|
|
|
|
- if (employee.getId() != null && employee.getId().equals(respVO.getCurrentAuditEmployeeId())) {
|
|
|
|
|
- respVO.setCurrentAuditEmployeeName(employee.getNickname());
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ EmployeeRespDTO employeeRespDTO = longEmployeeRespDTOMap.get(respVO.getCurrentAuditEmployeeId());
|
|
|
|
|
+ if (employeeRespDTO != null) {
|
|
|
|
|
+ respVO.setCurrentAuditEmployeeName(employeeRespDTO.getName());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|