zxl
2025-12-11 ad7cbfd8fd19fcce4345a4907c1f059a34c2869b
business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -16,6 +16,8 @@
import com.ycl.common.core.domain.entity.SysRole;
import com.ycl.common.core.domain.entity.SysUser;
import com.ycl.common.enums.FlowComment;
import com.ycl.common.enums.business.AuditHistoryEnum;
import com.ycl.common.enums.business.AuditTypeEnum;
import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
import com.ycl.common.enums.business.TaskStatusEnum;
import com.ycl.common.exception.CustomException;
@@ -29,6 +31,7 @@
import com.ycl.domain.entity.ProcessLog;
import com.ycl.domain.entity.ProjectProcess;
import com.ycl.domain.entity.SysForm;
import com.ycl.domain.form.AuditHistoryForm;
import com.ycl.domain.form.EditFinishedTaskForm;
import com.ycl.domain.json.RejectData;
import com.ycl.domain.query.ProcessLogQuery;
@@ -111,7 +114,7 @@
    private final ProcessLogService processLogService;
    private final ApplicationEventPublisher publisher;
    private final ProjectProcessMapper projectProcessMapper;
    private final AuditHistoryService auditHistoryService;
    @Value("${targetIp}")
    private String targetIp;
@@ -136,6 +139,21 @@
            taskService.setAssignee(taskVo.getTaskId(), userId.toString());
            taskService.complete(taskVo.getTaskId(), taskVo.getVariables());
        }
        ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(projectProcessMapper)
                .eq(ProjectProcess::getProcessInsId, task.getProcessInstanceId())
                .eq(ProjectProcess::getProcessDefId, task.getProcessDefinitionId())
                .one();
        AuditHistoryForm auditHistoryForm =
                buildForm(task.getId(),
                        task.getTaskDefinitionKey(),
                        null,
                        SecurityUtils.getDeptId() + "",
                        AuditTypeEnum.Review.name(),
                        projectProcess.getProjectId(),
                        "t_project_info",
                        task.getName()
                );
        auditHistoryService.add(auditHistoryForm);
        return AjaxResult.success();
    }
@@ -195,9 +213,45 @@
                    ProcessLogEventTypeEnum.FINISHED,
                    null));
        }
        //保存日志
        AuditHistoryForm auditHistoryForm =
                buildForm(taskId,
                task.getTaskDefinitionKey(),
                null,
                SecurityUtils.getDeptId() + "",
                AuditTypeEnum.Submit.name(),
                projectProcess.getProjectId(),
                "t_project_info",
                task.getName()
        );
        auditHistoryService.add(auditHistoryForm);
        return AjaxResult.success("提交成功");
    }
    public AuditHistoryForm buildForm(
            String taskId,
            String taskDefinitionKey,
            String viewer,
            String commitDept,
            String auditType,
            String businessKey,
            String businessTable,
            String content) {
        AuditHistoryForm auditHistoryForm = new AuditHistoryForm();
        auditHistoryForm.setTaskId(taskId);
        auditHistoryForm.setTaskDefinitionKey(taskDefinitionKey);
        auditHistoryForm.setViewer(viewer);
        auditHistoryForm.setCommitDept(commitDept);
        auditHistoryForm.setAuditType(auditType);
        auditHistoryForm.setBusinessKey(businessKey);
        auditHistoryForm.setBusinessTable(businessTable);
        auditHistoryForm.setContent(content);
        // 5. 特殊字段默认值:isRead 默认为 (未读)
        auditHistoryForm.setIsRead(AuditHistoryEnum.UN_READ.name());
        return auditHistoryForm;
    }
    /**
     * 容缺补交
@@ -499,6 +553,21 @@
                task.getName(),
                ProcessLogEventTypeEnum.REJECT,
                new RejectData(flowTaskVo.getComment())));
        //保存日志
        AuditHistoryForm auditHistoryForm =
                buildForm(task.getId(),
                        task.getTaskDefinitionKey(),
                        null,
                        SecurityUtils.getDeptId() + "",
                        AuditTypeEnum.Submit.name(),
                        projectProcess.getProjectId(),
                        "t_project_info",
                        task.getName()
                );
        auditHistoryService.add(auditHistoryForm);
    }
    /**
@@ -688,6 +757,7 @@
    @Transactional(rollbackFor = Exception.class)
    public void assignTask(FlowTaskVo flowTaskVo) {
        // 直接转派就可以覆盖掉之前的
        log.info("flowTaskVo:{}",flowTaskVo);
        taskService.setAssignee(flowTaskVo.getTaskId(), flowTaskVo.getAssignee());
//        // 删除指派人重新指派
//        taskService.deleteCandidateUser(flowTaskVo.getTaskId(),flowTaskVo.getAssignee());
@@ -695,6 +765,17 @@
//        // 如果要查询转给他人处理的任务,可以同时将OWNER进行设置:
//        taskService.setOwner(flowTaskVo.getTaskId(), flowTaskVo.getAssignee());
//        AuditHistoryForm auditHistoryForm =
//                buildForm(flowTaskVo.getTaskId(),
//                        task.getTaskDefinitionKey(),
//                        null,
//                        SecurityUtils.getDeptId() + "",
//                        AuditTypeEnum.Submit.name(),
//                        projectProcess.getProjectId(),
//                        "t_project_info",
//                        task.getName()
//                );
    }
    /**