|
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.hotent.base.manager.impl.BaseManagerImpl;
|
|
import com.hotent.base.manager.impl.BaseManagerImpl;
|
|
|
-import com.hotent.base.model.CommonResult;
|
|
|
|
|
import com.hotent.base.util.StringUtil;
|
|
import com.hotent.base.util.StringUtil;
|
|
|
import com.hotent.baseInfo.req.CostTaskSearchReq;
|
|
import com.hotent.baseInfo.req.CostTaskSearchReq;
|
|
|
import com.hotent.constant.BaseConstant;
|
|
import com.hotent.constant.BaseConstant;
|
|
@@ -15,12 +14,10 @@ import com.hotent.constant.TaskStatusConstant;
|
|
|
import com.hotent.enterpriseDeclare.req.CostTaskPageReq;
|
|
import com.hotent.enterpriseDeclare.req.CostTaskPageReq;
|
|
|
import com.hotent.enterpriseDeclare.req.CostTaskReviewPageReq;
|
|
import com.hotent.enterpriseDeclare.req.CostTaskReviewPageReq;
|
|
|
import com.hotent.project.dao.CostProjectTaskDao;
|
|
import com.hotent.project.dao.CostProjectTaskDao;
|
|
|
-import com.hotent.project.manager.CostNoticeManager;
|
|
|
|
|
-import com.hotent.project.manager.CostProjectApprovalManager;
|
|
|
|
|
-import com.hotent.project.manager.CostProjectTaskManager;
|
|
|
|
|
-import com.hotent.project.manager.CostProjectTaskProccessManager;
|
|
|
|
|
|
|
+import com.hotent.project.manager.*;
|
|
|
import com.hotent.project.model.CostProjectApproval;
|
|
import com.hotent.project.model.CostProjectApproval;
|
|
|
import com.hotent.project.model.CostProjectTask;
|
|
import com.hotent.project.model.CostProjectTask;
|
|
|
|
|
+import com.hotent.project.model.CostProjectTaskPreliminaryOpinion;
|
|
|
import com.hotent.project.model.CostProjectTaskProccess;
|
|
import com.hotent.project.model.CostProjectTaskProccess;
|
|
|
import com.hotent.uc.api.model.IUser;
|
|
import com.hotent.uc.api.model.IUser;
|
|
|
import com.hotent.uc.util.ContextUtil;
|
|
import com.hotent.uc.util.ContextUtil;
|
|
@@ -54,6 +51,9 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private CostProjectApprovalManager costProjectApprovalManager;
|
|
private CostProjectApprovalManager costProjectApprovalManager;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private CostProjectTaskPreliminaryOpinionManager preliminaryOpinionManager;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<CostProjectTask> getTaskList(CostTaskSearchReq req) {
|
|
public List<CostProjectTask> getTaskList(CostTaskSearchReq req) {
|
|
@@ -176,6 +176,20 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
|
+ public String saveYjTask(CostProjectTaskPreliminaryOpinion costProjectTaskPreliminaryOpinion) {
|
|
|
|
|
+ // 1.校验内容是否填写完毕!todo
|
|
|
|
|
+
|
|
|
|
|
+ preliminaryOpinionManager.createOrUpdate(costProjectTaskPreliminaryOpinion);
|
|
|
|
|
+ // 3. 子流程状态改为已反馈
|
|
|
|
|
+ CostProjectTask task = this.getById(costProjectTaskPreliminaryOpinion.getTaskId());
|
|
|
|
|
+ task.setStatus(TaskStatusConstant.FEEDBACKED.getStatusCode());
|
|
|
|
|
+ this.updateById(task);
|
|
|
|
|
+
|
|
|
|
|
+ return "意见反馈完成";
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
public String doProcessBtn(CostTaskPageReq req) {
|
|
public String doProcessBtn(CostTaskPageReq req) {
|
|
|
|
|
|
|
|
CostProjectTask task = costProjectTaskManager.getById(req.getTaskId());
|
|
CostProjectTask task = costProjectTaskManager.getById(req.getTaskId());
|
|
@@ -217,6 +231,20 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
task.setCurrentNode(nextNodeStatus);
|
|
task.setCurrentNode(nextNodeStatus);
|
|
|
costProjectTaskManager.updateById(task);
|
|
costProjectTaskManager.updateById(task);
|
|
|
|
|
|
|
|
|
|
+ // 如果下一个节点是"意见告知",生成空的初步意见数据
|
|
|
|
|
+ if (NodeConstant.yjfk.getNodeKey().equals(nextNodeStatus)) {
|
|
|
|
|
+ // 检查是否已存在初步意见
|
|
|
|
|
+ CostProjectTaskPreliminaryOpinion existingOpinion = preliminaryOpinionManager.getByTaskId(task.getId());
|
|
|
|
|
+ if (existingOpinion == null) {
|
|
|
|
|
+ // 创建空的初步意见记录
|
|
|
|
|
+ CostProjectTaskPreliminaryOpinion preliminaryOpinion = new CostProjectTaskPreliminaryOpinion();
|
|
|
|
|
+ preliminaryOpinion.setTaskId(task.getId());
|
|
|
|
|
+ preliminaryOpinion.setStatus("draft");
|
|
|
|
|
+ preliminaryOpinion.setIsDeleted(BaseConstant.NORMAL_STATUS);
|
|
|
|
|
+ preliminaryOpinionManager.createOrUpdate(preliminaryOpinion);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 发送通知
|
|
// 发送通知
|
|
|
String title = nextNodeStatus+"通过";
|
|
String title = nextNodeStatus+"通过";
|
|
|
String auditedUnit = task.getAuditedUnitName() == null ? "" : task.getAuditedUnitName();
|
|
String auditedUnit = task.getAuditedUnitName() == null ? "" : task.getAuditedUnitName();
|
|
@@ -242,16 +270,16 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
if (allSiblingsCompleted) {
|
|
if (allSiblingsCompleted) {
|
|
|
CostProjectTask parentTask = costProjectTaskManager.getById(task.getPid());
|
|
CostProjectTask parentTask = costProjectTaskManager.getById(task.getPid());
|
|
|
if (parentTask != null) {
|
|
if (parentTask != null) {
|
|
|
- CostProjectTaskProccess parentProccess = costProjectTaskProccessManager.getOne(
|
|
|
|
|
- new LambdaQueryWrapper<CostProjectTaskProccess>()
|
|
|
|
|
- .eq(CostProjectTaskProccess::getTaskId, parentTask.getId())
|
|
|
|
|
|
|
+ CostProjectTask parentProccess = costProjectTaskManager.getOne(
|
|
|
|
|
+ new LambdaQueryWrapper<CostProjectTask>()
|
|
|
|
|
+ .eq(CostProjectTask::getPid, parentTask.getId())
|
|
|
);
|
|
);
|
|
|
// 将父任务流转到下一步 重置所有子任务状态
|
|
// 将父任务流转到下一步 重置所有子任务状态
|
|
|
parentTask.setCurrentNode(nextNodeStatus);
|
|
parentTask.setCurrentNode(nextNodeStatus);
|
|
|
costProjectTaskManager.updateById(parentTask);
|
|
costProjectTaskManager.updateById(parentTask);
|
|
|
if (parentProccess != null) {
|
|
if (parentProccess != null) {
|
|
|
parentProccess.setCurrentNode(nextNodeStatus);
|
|
parentProccess.setCurrentNode(nextNodeStatus);
|
|
|
- costProjectTaskProccessManager.updateById(parentProccess);
|
|
|
|
|
|
|
+ costProjectTaskManager.updateById(parentProccess);
|
|
|
}
|
|
}
|
|
|
List<CostProjectTask> children = costProjectTaskManager.list(
|
|
List<CostProjectTask> children = costProjectTaskManager.list(
|
|
|
new LambdaQueryWrapper<CostProjectTask>()
|
|
new LambdaQueryWrapper<CostProjectTask>()
|