提交app同步后端
This commit is contained in:
@@ -13,10 +13,12 @@ import com.ruoyi.hrm.domain.*;
|
|||||||
import com.ruoyi.hrm.domain.bo.HrmFlowTaskBo;
|
import com.ruoyi.hrm.domain.bo.HrmFlowTaskBo;
|
||||||
import com.ruoyi.hrm.domain.bo.HrmSealStampBo;
|
import com.ruoyi.hrm.domain.bo.HrmSealStampBo;
|
||||||
import com.ruoyi.hrm.domain.vo.HrmFlowTaskVo;
|
import com.ruoyi.hrm.domain.vo.HrmFlowTaskVo;
|
||||||
|
import com.ruoyi.hrm.domain.vo.HrmEmployeeVo;
|
||||||
import com.ruoyi.hrm.mapper.*;
|
import com.ruoyi.hrm.mapper.*;
|
||||||
import com.ruoyi.hrm.service.IHrmFlowTaskService;
|
import com.ruoyi.hrm.service.IHrmFlowTaskService;
|
||||||
import com.ruoyi.hrm.service.IHrmSealReqService;
|
import com.ruoyi.hrm.service.IHrmSealReqService;
|
||||||
import com.ruoyi.hrm.service.IHrmFlowCcService;
|
import com.ruoyi.hrm.service.IHrmFlowCcService;
|
||||||
|
import com.ruoyi.hrm.service.IHrmEmployeeService;
|
||||||
import com.ruoyi.hrm.domain.bo.HrmFlowCcBo;
|
import com.ruoyi.hrm.domain.bo.HrmFlowCcBo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -47,6 +49,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
private final HrmAppropriationReqMapper appropriationReqMapper;
|
private final HrmAppropriationReqMapper appropriationReqMapper;
|
||||||
private final ObjectMapper objectMapper; // Spring Boot 默认提供
|
private final ObjectMapper objectMapper; // Spring Boot 默认提供
|
||||||
private final UserService userService;
|
private final UserService userService;
|
||||||
|
private final IHrmEmployeeService employeeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HrmFlowTaskVo queryById(Long taskId) {
|
public HrmFlowTaskVo queryById(Long taskId) {
|
||||||
@@ -74,7 +77,7 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
return tasks;
|
return tasks;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillBizData(List<HrmFlowTaskVo> tasks) {
|
private void fillBizData(List<HrmFlowTaskVo> tasks) {
|
||||||
// 1. 按 bizType 分组,并收集 bizId
|
// 1. 按 bizType 分组,并收集 bizId
|
||||||
Map<String, List<Long>> bizIdsByType = tasks.stream()
|
Map<String, List<Long>> bizIdsByType = tasks.stream()
|
||||||
.filter(t -> t.getBizType() != null && t.getBizId() != null)
|
.filter(t -> t.getBizType() != null && t.getBizId() != null)
|
||||||
@@ -90,19 +93,39 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
if (bizIds.isEmpty()) return;
|
if (bizIds.isEmpty()) return;
|
||||||
switch (bizType) {
|
switch (bizType) {
|
||||||
case "leave":
|
case "leave":
|
||||||
leaveReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("leave_" + d.getBizId(), d));
|
leaveReqMapper.selectBatchIds(bizIds).forEach(d -> {
|
||||||
|
Map<String, Object> dataMap = objectMapper.convertValue(d, Map.class);
|
||||||
|
fillEmpName(dataMap, d.getEmpId());
|
||||||
|
bizDataMap.put("leave_" + d.getBizId(), dataMap);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
case "travel":
|
case "travel":
|
||||||
travelReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("travel_" + d.getBizId(), d));
|
travelReqMapper.selectBatchIds(bizIds).forEach(d -> {
|
||||||
|
Map<String, Object> dataMap = objectMapper.convertValue(d, Map.class);
|
||||||
|
fillEmpName(dataMap, d.getEmpId());
|
||||||
|
bizDataMap.put("travel_" + d.getBizId(), dataMap);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
case "seal":
|
case "seal":
|
||||||
sealReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("seal_" + d.getBizId(), d));
|
sealReqMapper.selectBatchIds(bizIds).forEach(d -> {
|
||||||
|
Map<String, Object> dataMap = objectMapper.convertValue(d, Map.class);
|
||||||
|
fillEmpName(dataMap, d.getEmpId());
|
||||||
|
bizDataMap.put("seal_" + d.getBizId(), dataMap);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
case "reimburse":
|
case "reimburse":
|
||||||
reimburseReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("reimburse_" + d.getBizId(), d));
|
reimburseReqMapper.selectBatchIds(bizIds).forEach(d -> {
|
||||||
|
Map<String, Object> dataMap = objectMapper.convertValue(d, Map.class);
|
||||||
|
fillEmpName(dataMap, d.getEmpId());
|
||||||
|
bizDataMap.put("reimburse_" + d.getBizId(), dataMap);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
case "appropriation":
|
case "appropriation":
|
||||||
appropriationReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("appropriation_" + d.getBizId(), d));
|
appropriationReqMapper.selectBatchIds(bizIds).forEach(d -> {
|
||||||
|
Map<String, Object> dataMap = objectMapper.convertValue(d, Map.class);
|
||||||
|
fillEmpName(dataMap, d.getEmpId());
|
||||||
|
bizDataMap.put("appropriation_" + d.getBizId(), dataMap);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -112,13 +135,20 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
String key = task.getBizType() + "_" + task.getBizId();
|
String key = task.getBizType() + "_" + task.getBizId();
|
||||||
Object data = bizDataMap.get(key);
|
Object data = bizDataMap.get(key);
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
// 将实体对象转换为 Map<String, Object>,方便前端使用
|
task.setBizData((Map<String, Object>) data);
|
||||||
Map<String, Object> dataMap = objectMapper.convertValue(data, Map.class);
|
|
||||||
task.setBizData(dataMap);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void fillEmpName(Map<String, Object> dataMap, Long empId) {
|
||||||
|
if (empId != null) {
|
||||||
|
HrmEmployeeVo emp = employeeService.queryById(empId);
|
||||||
|
if (emp != null && emp.getEmpName() != null) {
|
||||||
|
dataMap.put("empName", emp.getEmpName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -416,6 +446,11 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
|
|
||||||
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
|
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
|
||||||
fillBizData(result.getRecords());
|
fillBizData(result.getRecords());
|
||||||
|
result.getRecords().forEach(task -> {
|
||||||
|
if (task.getAssigneeUserId() != null) {
|
||||||
|
task.setAssigneeNickName(userService.selectNickNameById(task.getAssigneeUserId()));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
|
|||||||
@@ -51,12 +51,13 @@
|
|||||||
<sql id="selectVo">
|
<sql id="selectVo">
|
||||||
SELECT
|
SELECT
|
||||||
e.emp_id, e.user_id, e.emp_no, e.emp_name, e.gender, e.mobile, e.email, e.id_no,
|
e.emp_id, e.user_id, e.emp_no, e.emp_name, e.gender, e.mobile, e.email, e.id_no,
|
||||||
e.hire_date, e.employment_type, e.status, e.dept_id, e.post_id, e.remark,
|
e.hire_date, e.employment_type, e.status, su.dept_id, e.post_id, e.remark,
|
||||||
e.create_by, e.create_time, e.update_by, e.update_time,
|
e.create_by, e.create_time, e.update_by, e.update_time,
|
||||||
d.dept_name,
|
d.dept_name,
|
||||||
p.post_name
|
p.post_name
|
||||||
FROM hrm_employee e
|
FROM hrm_employee e
|
||||||
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id AND d.del_flag = '0'
|
left join sys_user su on su.user_id = e.user_id
|
||||||
|
LEFT JOIN sys_dept d ON su.dept_id = d.dept_id AND d.del_flag = 0
|
||||||
LEFT JOIN sys_post p ON e.post_id = p.post_id
|
LEFT JOIN sys_post p ON e.post_id = p.post_id
|
||||||
WHERE e.del_flag = 0
|
WHERE e.del_flag = 0
|
||||||
</sql>
|
</sql>
|
||||||
|
|||||||
Reference in New Issue
Block a user