|
@@ -68,21 +68,26 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
throw new ServiceException("未获取到当前用户信息,请联系管理员");
|
|
|
}
|
|
|
QueryWrapper<TaskProcessInfo> queryWrapper = Condition.getQueryWrapper(dto);
|
|
|
- if (dto.getSelectType().equals("1")) { //待审批为待办任务
|
|
|
- queryWrapper.lambda().like(TaskProcessInfo::getAuditUserIds, SecureUtil.getUserId());
|
|
|
- queryWrapper.lambda().eq(TaskProcessInfo::getStatus, 1);
|
|
|
- } else if (dto.getSelectType().equals("2")) { //已审核、已驳回为已办任务
|
|
|
- queryWrapper.lambda().apply("(audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS IN ( 2, 3 )) OR (audit_user_ids LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS = 3)");
|
|
|
- } else if (dto.getSelectType().equals("3")) { //我发起的任务
|
|
|
- if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
|
|
|
- queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
|
|
|
- }
|
|
|
- queryWrapper.lambda().eq(TaskProcessInfo::getReportUserId, SecureUtil.getUserId());
|
|
|
- } else if (dto.getSelectType().equals("4")) { //抄送给我的
|
|
|
- if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
|
|
|
- queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
|
|
|
- }
|
|
|
- queryWrapper.lambda().like(TaskProcessInfo::getCcUserIds, SecureUtil.getUserId());
|
|
|
+ switch (dto.getSelectType()) {
|
|
|
+ case "1": //待审批为待办任务
|
|
|
+ queryWrapper.lambda().like(TaskProcessInfo::getAuditUserIds, SecureUtil.getUserId());
|
|
|
+ queryWrapper.lambda().eq(TaskProcessInfo::getStatus, 1);
|
|
|
+ break;
|
|
|
+ case "2": //已审核、已驳回为已办任务
|
|
|
+ queryWrapper.lambda().apply("(audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS IN ( 2, 3 )) OR (audit_user_ids LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS = 3)");
|
|
|
+ break;
|
|
|
+ case "3": //我发起的任务
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
|
|
|
+ queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
|
|
|
+ }
|
|
|
+ queryWrapper.lambda().eq(TaskProcessInfo::getReportUserId, SecureUtil.getUserId());
|
|
|
+ break;
|
|
|
+ case "4": //抄送给我的
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
|
|
|
+ queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
|
|
|
+ }
|
|
|
+ queryWrapper.lambda().like(TaskProcessInfo::getCcUserIds, SecureUtil.getUserId());
|
|
|
+ break;
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(dto.getStartTime()) && StringUtils.isNotEmpty(dto.getEndTime())) {
|
|
|
String endTime = dto.getEndTime();
|
|
@@ -93,12 +98,25 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
|
|
|
List<DictInfo> dictInfoList = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'report_type'", new BeanPropertyRowMapper<>(DictInfo.class));
|
|
|
|
|
|
- Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
|
|
|
+ Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
|
|
|
|
|
|
return pages.convert((obj -> {
|
|
|
TaskProcessInfoVO vo = new TaskProcessInfoVO();
|
|
|
BeanUtils.copyProperties(obj, vo);
|
|
|
|
|
|
+ if (dto.getSelectType().equals("3") && vo.getReportUserId().equals(SecureUtil.getUserId())) {
|
|
|
+ //如果是本身,也就是我发起的任务,那么替换任务名称
|
|
|
+ String taskName = vo.getTaskName();
|
|
|
+ String re = taskName.replace("向您发起", "我发起的");
|
|
|
+ vo.setTaskName(re);
|
|
|
+ }
|
|
|
+ if (dto.getSelectType().equals("4")) {
|
|
|
+ //抄送给我的
|
|
|
+ String taskName = vo.getTaskName();
|
|
|
+ String re = taskName.replace("向您发起", "抄送给您的");
|
|
|
+ vo.setTaskName(re);
|
|
|
+ }
|
|
|
+
|
|
|
vo.setReportUserName(userMap.get(vo.getReportUserId()));
|
|
|
|
|
|
if (StringUtils.isNotEmpty(vo.getAuditUserIds())) {
|
|
@@ -118,7 +136,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
vo.setStatusName(vo.getStatus().equals(1) ? "待审批" : (vo.getStatus().equals(2) ? "已审批" : "已驳回"));
|
|
|
|
|
|
for (DictInfo dictInfo : dictInfoList) {
|
|
|
- if ((vo.getTaskType()).equals(dictInfo.getDictValue())) {
|
|
|
+ if ((vo.getTaskType()).equals(dictInfo.getDictValue().intValue())) {
|
|
|
vo.setReportTypeName(dictInfo.getDictName());
|
|
|
break;
|
|
|
}
|
|
@@ -133,7 +151,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
TaskProcessInfo taskProcessInfo = baseMapper.selectById(id);
|
|
|
if (taskProcessInfo != null) {
|
|
|
//构造基础信息
|
|
|
- Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
|
|
|
+ Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
|
|
|
List<DictInfo> dictInfoList1 = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'report_type'", new BeanPropertyRowMapper<>(DictInfo.class));
|
|
|
List<DictInfo> dictInfoList2 = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'expense_fr_type'", new BeanPropertyRowMapper<>(DictInfo.class));
|
|
|
List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
|
|
@@ -141,7 +159,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
basicsVO.setTaskId(taskProcessInfo.getId());
|
|
|
basicsVO.setTaskName(taskProcessInfo.getTaskName());
|
|
|
for (DictInfo dictInfo : dictInfoList1) {
|
|
|
- if ((taskProcessInfo.getTaskType()).equals(dictInfo.getDictValue())) {
|
|
|
+ if ((taskProcessInfo.getTaskType()).equals(dictInfo.getDictValue().intValue())) {
|
|
|
basicsVO.setReportTypeName(dictInfo.getDictName());
|
|
|
break;
|
|
|
}
|
|
@@ -444,7 +462,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
queryWrapper.lambda().ge(ProjectCostBudget::getPlanStartTime, dto.getStartTime()).le(ProjectCostBudget::getPlanEndTime, dto.getEndTime());
|
|
|
}
|
|
|
IPage<ProjectCostBudget> pages = projectCostBudgetService.page(page, queryWrapper.lambda().orderBy(true, true, ProjectCostBudget::getCreateTime));
|
|
|
- Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
|
|
|
+ Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
|
|
|
List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
|
|
|
|
|
|
//封装page对象
|
|
@@ -511,6 +529,14 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
List<ProjectCostBudget> taskList = projectCostBudgetService.getBaseMapper().selectBatchIds(Func.toStrList(ids));
|
|
|
List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
|
|
|
List<TaskPlanInfoVO> vos = new ArrayList<>();
|
|
|
+
|
|
|
+ //获取所有审批任务与计划任务关系
|
|
|
+ Map<String, ExpenseTaskRecord> taskRecordMaps = new LinkedHashMap<>();
|
|
|
+ if (ObjectUtil.isNotEmpty(ids)) {
|
|
|
+ List<ExpenseTaskRecord> expenseTaskRecords = jdbcTemplate.query("select task_id,expense_info_id from c_expense_task_record where expense_info_type = 1 and expense_info_id in(" + ids + ")", new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
|
|
|
+ taskRecordMaps = expenseTaskRecords.stream().collect(Collectors.toMap(ExpenseTaskRecord::getExpenseInfoId, Function.identity()));
|
|
|
+ }
|
|
|
+
|
|
|
for (ProjectCostBudget obj : taskList) {
|
|
|
TaskPlanInfoVO vo = new TaskPlanInfoVO();
|
|
|
vo.setId(obj.getId());
|
|
@@ -521,7 +547,21 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- vo.setStatusName(""); //TODO 任务状态 多种
|
|
|
+
|
|
|
+ //判断任务状态
|
|
|
+ ExpenseTaskRecord record = taskRecordMaps.getOrDefault(String.valueOf(vo.getId()), null);
|
|
|
+ if (record != null) {
|
|
|
+ TaskProcessInfo task = jdbcTemplate.query("select status from c_task_process_info where id = " + record.getTaskId(), new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
|
|
|
+ if (task != null) {
|
|
|
+ vo.setStatus(task.getStatus());
|
|
|
+ vo.setStatusName(task.getStatus().equals(1) ? "待审批" : (task.getStatus().equals(2) ? "已审批" : (task.getStatus().equals(3) ? "已驳回" : "未提交审批")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(vo.getStatusName())) {
|
|
|
+ vo.setStatus(0);
|
|
|
+ vo.setStatusName("未提交审批");
|
|
|
+ }
|
|
|
+
|
|
|
vos.add(vo);
|
|
|
}
|
|
|
return vos;
|
|
@@ -545,7 +585,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
|
taskProcessInfo.setReportDate(new Date());
|
|
|
taskProcessInfo.setTaskType(1); //任务审批
|
|
|
- taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【任务审批】审批");
|
|
|
+ taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【计划完成】审批");
|
|
|
|
|
|
//上报人
|
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
@@ -556,7 +596,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
|
|
|
List<String> nonEmptyAuditUserIds = new LinkedList<>();
|
|
|
for (String userId : auditUserIds) {
|
|
|
- if (StringUtils.isNotEmpty(userId)) {
|
|
|
+ //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
|
+ if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
}
|
|
|
}
|
|
@@ -578,7 +619,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
|
taskProcessInfo.setReportDate(new Date());
|
|
|
taskProcessInfo.setTaskType(1); //任务审批
|
|
|
- taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【任务转移】审批");
|
|
|
+ taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【任务转移】审批");
|
|
|
|
|
|
//上报人
|
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
@@ -589,7 +630,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
|
|
|
List<String> nonEmptyAuditUserIds = new LinkedList<>();
|
|
|
for (String userId : auditUserIds) {
|
|
|
- if (StringUtils.isNotEmpty(userId)) {
|
|
|
+ //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
|
+ if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
}
|
|
|
}
|
|
@@ -694,13 +736,14 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
|
taskProcessInfo.setReportDate(new Date());
|
|
|
taskProcessInfo.setTaskType(10); //成本测算审批
|
|
|
- taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【成本测算】审批");
|
|
|
+ taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【成本测算】审批");
|
|
|
//上报人
|
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
|
|
|
|
List<String> nonEmptyAuditUserIds = new LinkedList<>();
|
|
|
for (String userId : auditUserIds) {
|
|
|
- if (StringUtils.isNotEmpty(userId)) {
|
|
|
+ //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
|
+ if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
}
|
|
|
}
|
|
@@ -869,7 +912,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
taskProcessInfo.setTaskType(type);
|
|
|
String taskNameByType = this.taskNameByType(type);
|
|
|
if (StringUtils.isNotEmpty(taskNameByType)) {
|
|
|
- taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】" + taskNameByType);
|
|
|
+ taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】" + taskNameByType);
|
|
|
}
|
|
|
//上报人
|
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
@@ -899,7 +942,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
|
|
|
|
List<String> nonEmptyAuditUserIds = new LinkedList<>();
|
|
|
for (String userId : auditUserIds) {
|
|
|
- if (StringUtils.isNotEmpty(userId)) {
|
|
|
+ //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
|
+ if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
}
|
|
|
}
|