|
@@ -652,9 +652,26 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
List<String> taskIds = Func.toStrList(dto.getTaskIds());
|
|
List<String> taskIds = Func.toStrList(dto.getTaskIds());
|
|
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
String completionTimeStr = dateFormatter.format(dto.getCompletionTime());
|
|
String completionTimeStr = dateFormatter.format(dto.getCompletionTime());
|
|
|
|
+
|
|
|
|
+ //获取所有审批任务与计划任务关系
|
|
|
|
+ Map<String, ExpenseTaskRecord> taskRecordMaps = new LinkedHashMap<>();
|
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getTaskIds())) {
|
|
|
|
+ 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(" + dto.getTaskIds() + ")", new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
|
|
|
|
+ taskRecordMaps = expenseTaskRecords.stream().collect(Collectors.toMap(ExpenseTaskRecord::getExpenseInfoId, Function.identity()));
|
|
|
|
+ }
|
|
|
|
+
|
|
for (String taskId : taskIds) {
|
|
for (String taskId : taskIds) {
|
|
ProjectCostBudget planTaskInfo = projectCostBudgetService.getById(taskId);
|
|
ProjectCostBudget planTaskInfo = projectCostBudgetService.getById(taskId);
|
|
if (planTaskInfo != null) {
|
|
if (planTaskInfo != null) {
|
|
|
|
+ //判断计划任务状态
|
|
|
|
+ ExpenseTaskRecord record = taskRecordMaps.getOrDefault(String.valueOf(taskId), 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 && (Arrays.asList(1, 2).contains(task.getStatus()))) {
|
|
|
|
+ throw new ServiceException("计划任务【" + (ObjectUtil.isNotEmpty(planTaskInfo.getPlanTaskDesc()) ? planTaskInfo.getPlanTaskDesc() : null) + "】不是未提交或已驳回状态,操作失败");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
User departmentHead = this.getDepartmentHead(planTaskInfo.getDeptId());
|
|
User departmentHead = this.getDepartmentHead(planTaskInfo.getDeptId());
|
|
if (departmentHead != null && dto.getUpdateType().equals("1")) {
|
|
if (departmentHead != null && dto.getUpdateType().equals("1")) {
|
|
//任务完成
|
|
//任务完成
|
|
@@ -663,7 +680,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
taskProcessInfo.setReportDate(new Date());
|
|
taskProcessInfo.setReportDate(new Date());
|
|
taskProcessInfo.setTaskType(1); //任务审批
|
|
taskProcessInfo.setTaskType(1); //任务审批
|
|
- taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【计划完成】审批");
|
|
|
|
|
|
+ taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【计划任务完成】审批");
|
|
|
|
|
|
//上报人
|
|
//上报人
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
@@ -677,6 +694,9 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
nonEmptyAuditUserIds.add(userId);
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
|
+ } else if (auditUserIds.size() == 1 && StringUtils.isNotEmpty(userId) && userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
|
+ //如果只有本身,就是自己给自己提交的任务,只有一个审批人,那么就要添加
|
|
|
|
+ nonEmptyAuditUserIds.add(userId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
|
|
taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
|
|
@@ -697,7 +717,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
taskProcessInfo.setStatus(1); //待审批
|
|
taskProcessInfo.setReportDate(new Date());
|
|
taskProcessInfo.setReportDate(new Date());
|
|
taskProcessInfo.setTaskType(1); //任务审批
|
|
taskProcessInfo.setTaskType(1); //任务审批
|
|
- taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【任务转移】审批");
|
|
|
|
|
|
+ taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【计划任务转移】审批");
|
|
|
|
|
|
//上报人
|
|
//上报人
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
taskProcessInfo.setReportUserId(SecureUtil.getUserId());
|
|
@@ -711,6 +731,9 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
nonEmptyAuditUserIds.add(userId);
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
|
+ } else if (auditUserIds.size() == 1 && StringUtils.isNotEmpty(userId) && userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
|
+ //如果只有本身,就是自己给自己提交的任务,只有一个审批人,那么就要添加
|
|
|
|
+ nonEmptyAuditUserIds.add(userId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
|
|
taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
|
|
@@ -823,6 +846,9 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
nonEmptyAuditUserIds.add(userId);
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
|
+ } else if (auditUserIds.size() == 1 && StringUtils.isNotEmpty(userId) && userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
|
+ //如果只有本身,就是自己给自己提交的任务,只有一个审批人,那么就要添加
|
|
|
|
+ nonEmptyAuditUserIds.add(userId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
|
|
taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
|
|
@@ -1023,6 +1049,9 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
//如果审批人中存在自己本身,那么移除,自己不审批自己的任务
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
nonEmptyAuditUserIds.add(userId);
|
|
nonEmptyAuditUserIds.add(userId);
|
|
|
|
+ } else if (auditUserIds.size() == 1 && StringUtils.isNotEmpty(userId) && userId.equals(String.valueOf(SecureUtil.getUserId()))) {
|
|
|
|
+ //如果只有本身,就是自己给自己提交的任务,只有一个审批人,那么就要添加
|
|
|
|
+ nonEmptyAuditUserIds.add(userId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (nonEmptyAuditUserIds.size() == 0) {
|
|
if (nonEmptyAuditUserIds.size() == 0) {
|
|
@@ -1051,21 +1080,21 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
|
|
private String taskNameByType(int type) {
|
|
private String taskNameByType(int type) {
|
|
switch (type) {
|
|
switch (type) {
|
|
case 2:
|
|
case 2:
|
|
- return "向您发起【报销审批】审批";
|
|
|
|
|
|
+ return "向您发起【报销申请】审批";
|
|
case 3:
|
|
case 3:
|
|
- return "向您发起【支付审批】审批";
|
|
|
|
|
|
+ return "向您发起【支付申请】审批";
|
|
case 4:
|
|
case 4:
|
|
- return "向您发起【借款审批】审批";
|
|
|
|
|
|
+ return "向您发起【借款申请】审批";
|
|
case 5:
|
|
case 5:
|
|
- return "向您发起【采购审批】审批";
|
|
|
|
|
|
+ return "向您发起【采购申请】审批";
|
|
case 6:
|
|
case 6:
|
|
- return "向您发起【用车审批】审批";
|
|
|
|
|
|
+ return "向您发起【用车申请】审批";
|
|
case 7:
|
|
case 7:
|
|
- return "向您发起【发票审批】审批";
|
|
|
|
|
|
+ return "向您发起【发票申请】审批";
|
|
case 8:
|
|
case 8:
|
|
- return "向您发起【外包支付】审批";
|
|
|
|
|
|
+ return "向您发起【外包支付申请】审批";
|
|
case 9:
|
|
case 9:
|
|
- return "向您发起【出差审批】审批";
|
|
|
|
|
|
+ return "向您发起【出差申请】审批";
|
|
}
|
|
}
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|