|
|
@@ -200,7 +200,7 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
resultMessage = supplementMaterial(task, req);
|
|
|
break;
|
|
|
case "2":
|
|
|
- // 中止
|
|
|
+ // 中止/恢复
|
|
|
resultMessage = suspendTask(task,req);
|
|
|
break;
|
|
|
case "3":
|
|
|
@@ -236,7 +236,6 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
// 检查是否已存在初步意见
|
|
|
CostProjectTaskPreliminaryOpinion existingOpinion = preliminaryOpinionManager.getByTaskId(task.getId());
|
|
|
if (existingOpinion == null) {
|
|
|
- // 创建空的初步意见记录
|
|
|
CostProjectTaskPreliminaryOpinion preliminaryOpinion = new CostProjectTaskPreliminaryOpinion();
|
|
|
preliminaryOpinion.setTaskId(task.getId());
|
|
|
preliminaryOpinion.setStatus("draft");
|
|
|
@@ -246,7 +245,7 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
}
|
|
|
|
|
|
// 发送通知
|
|
|
- String title = nextNodeStatus+"通过";
|
|
|
+ String title = NodeConstant.getNodeValueByKey(task.getCurrentNode())+"通过";
|
|
|
String auditedUnit = task.getAuditedUnitName() == null ? "" : task.getAuditedUnitName();
|
|
|
String projectName = task.getProjectName() == null ? "" : task.getProjectName();
|
|
|
String year = task.getYear() == null ? "" : task.getYear();
|
|
|
@@ -270,17 +269,9 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
if (allSiblingsCompleted) {
|
|
|
CostProjectTask parentTask = costProjectTaskManager.getById(task.getPid());
|
|
|
if (parentTask != null) {
|
|
|
- CostProjectTask parentProccess = costProjectTaskManager.getOne(
|
|
|
- new LambdaQueryWrapper<CostProjectTask>()
|
|
|
- .eq(CostProjectTask::getPid, parentTask.getId())
|
|
|
- );
|
|
|
- // 将父任务流转到下一步 重置所有子任务状态
|
|
|
+ // 将父任务流转到下一步 重置所有子任务状态 意见反馈为待反馈 其它为审核中
|
|
|
parentTask.setCurrentNode(nextNodeStatus);
|
|
|
costProjectTaskManager.updateById(parentTask);
|
|
|
- if (parentProccess != null) {
|
|
|
- parentProccess.setCurrentNode(nextNodeStatus);
|
|
|
- costProjectTaskManager.updateById(parentProccess);
|
|
|
- }
|
|
|
List<CostProjectTask> children = costProjectTaskManager.list(
|
|
|
new LambdaQueryWrapper<CostProjectTask>()
|
|
|
.eq(CostProjectTask::getPid, parentTask.getId())
|
|
|
@@ -301,58 +292,42 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
* 退回,填写退回原因 修改状态
|
|
|
*/
|
|
|
private String returnToSubmit(CostProjectTask task,CostTaskPageReq req) {
|
|
|
- NodeConstant nextNode = NodeConstant.getNextNode(task.getCurrentNode());
|
|
|
- if (nextNode == null){
|
|
|
- return "当前节点无法通过";
|
|
|
- }
|
|
|
- // 将当前任务置为办结
|
|
|
- String nextNodeStatus = nextNode.getNodeKey();
|
|
|
+
|
|
|
// 通知内容组装
|
|
|
- String title = nextNodeStatus+"退回";
|
|
|
+ String title = NodeConstant.getNodeValueByKey(task.getCurrentNode())+"退回";
|
|
|
String enterpriseId = task.getAuditedUnitId() == null ? "" : task.getAuditedUnitId();
|
|
|
String noticeSource = "系统";
|
|
|
String sendTarget = task.getCreateBy() == null ? "" : task.getCreateBy();
|
|
|
costNoticeManager.sendNotice(task.getProjectId(), "1", title, req.getContent(), enterpriseId, noticeSource, sendTarget);
|
|
|
|
|
|
// 更新任务的当前节点和状态
|
|
|
- task.setCurrentNode(nextNodeStatus);
|
|
|
- task.setStatus(TaskStatusConstant.WAIT_SUBMIT.getStatusCode());
|
|
|
+ task.setStatus(TaskStatusConstant.NOT_PASSED.getStatusCode());
|
|
|
costProjectTaskManager.updateById(task);
|
|
|
|
|
|
return title;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 中止,填写中止原因 只修改状态
|
|
|
+ * 中止,填写中止原因 修改状态
|
|
|
*/
|
|
|
private String suspendTask(CostProjectTask task,CostTaskPageReq req) {
|
|
|
NodeConstant nextNode = NodeConstant.getNextNode(task.getCurrentNode());
|
|
|
if (nextNode == null){
|
|
|
return "当前节点无法通过";
|
|
|
}
|
|
|
- // 将当前任务置为办结
|
|
|
- String nextNodeStatus = nextNode.getNodeKey();
|
|
|
|
|
|
- // 更新任务状态为中止
|
|
|
- task.setStatus(TaskStatusConstant.SUSPENDED.getStatusCode());
|
|
|
+ // 更新任务状态为中止/恢复
|
|
|
+ String status = req.getStatus()==null ? TaskStatusConstant.SUSPENDED.getStatusCode() :TaskStatusConstant.AUDITING.getStatusCode();
|
|
|
+ task.setStatus(status);
|
|
|
costProjectTaskManager.updateById(task);
|
|
|
|
|
|
// 通知内容组装
|
|
|
- String title = nextNodeStatus+"中止";
|
|
|
+ String title = NodeConstant.getNodeValueByKey(task.getCurrentNode())+TaskStatusConstant.getStatusNameByCode(status);
|
|
|
String enterpriseId = task.getAuditedUnitId() == null ? "" : task.getAuditedUnitId();
|
|
|
String noticeSource = "系统";
|
|
|
String sendTarget = task.getCreateBy() == null ? "" : task.getCreateBy();
|
|
|
costNoticeManager.sendNotice(task.getProjectId(), "1", title, req.getContent(), enterpriseId, noticeSource, sendTarget);
|
|
|
|
|
|
- // 更新流程阶段为中止
|
|
|
- CostProjectTaskProccess taskProccess = costProjectTaskProccessManager.getOne(
|
|
|
- new LambdaQueryWrapper<CostProjectTaskProccess>()
|
|
|
- .eq(CostProjectTaskProccess::getTaskId, task.getId())
|
|
|
- );
|
|
|
- if (taskProccess != null) {
|
|
|
- costProjectTaskProccessManager.updateById(taskProccess);
|
|
|
- }
|
|
|
-
|
|
|
return title;
|
|
|
}
|
|
|
|