xiangpei
2025-03-03 b5a21d35e93b93fdb1f190fd1851c945b2a3a207
调整流程推进、日志的项目id类型
20个文件已修改
2个文件已添加
233 ■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProjectProcessController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProjectProcess.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/TaskHangupForm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/TaskJumpForm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/query/TaskQuery.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/event/event/TaskLogEvent.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProcessLogService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProjectProcessService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/task/FlowableTask.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/ycl/common/enums/business/ProjectProcessTypeEnum.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project_management_正式数据.sql 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectProcessController.java
@@ -56,15 +56,15 @@
    @GetMapping("/detail/{projectId}/{processId}")
    @ApiOperation(value = "获取项目流程详情信息", notes = "获取项目流程详情信息")
//    @PreAuthorize("@ss.hasPermi('projectProcess:detail')")
    public Result detail(@PathVariable("projectId") Long projectId, @PathVariable("processId") String processId) {
        return projectProcessService.detail(projectId, processId);
    public Result detail(ProjectProcessForm form) {
        return projectProcessService.detail(form);
    }
    @PostMapping("/start/{projectId}/{processDefId}")
    @PostMapping("/start")
    @ApiOperation(value = "启动流程", notes = "启动流程")
//    @PreAuthorize("@ss.hasPermi('projectProcess:start')")
    public Result startProcess(@PathVariable("projectId") Long projectId, @PathVariable("processDefId") String processDefId) {
        return projectProcessService.startProcess(projectId, processDefId);
    public Result startProcess(@RequestBody @Validated ProjectProcessForm form) {
        return projectProcessService.startProcess(form);
    }
    @GetMapping("/detail/task/list")
business/src/main/java/com/ycl/domain/entity/ProjectEngineering.java
@@ -44,14 +44,18 @@
    private String status;
    @TableField("department")
    /** ä¸»ç®¡éƒ¨é—¨ */
    private Long department;
    @TableField("unit")
    /** ä¸šä¸»å•位 */
    private Long unit;
    @TableField("parent_id")
    private String parent;
    @TableField("year")
    /** å¹´ä»½ */
    private Date year;
}
business/src/main/java/com/ycl/domain/entity/ProjectProcess.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.system.domain.base.AbsEntity;
import lombok.Data;
@@ -21,7 +22,7 @@
    @TableField("project_id")
    /** é¡¹ç›®ID */
    private Long projectId;
    private String projectId;
    @TableField("process_def_id")
    /** æµç¨‹å®šä¹‰ID */
@@ -35,4 +36,8 @@
    /** æ•°æ®æäº¤æ”¾/业主单位id */
    private Long dataLaunch;
    @TableField("project_type")
    /** é¡¹ç›®ç±»åž‹ï¼šé¡¹ç›®è¿˜æ˜¯å·¥ç¨‹ */
    private ProjectProcessTypeEnum projectType;
}
business/src/main/java/com/ycl/domain/form/ProjectProcessForm.java
@@ -1,5 +1,6 @@
package com.ycl.domain.form;
import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.common.group.Update;
import com.ycl.common.group.Add;
import com.ycl.system.domain.base.AbsForm;
@@ -25,12 +26,16 @@
    @NotNull(message = "项目ID不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目ID")
    private Long projectId;
    private String projectId;
    @NotBlank(message = "流程ID不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("流程定义ID")
    private String processDefId;
    @NotBlank(message = "项目类型不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("项目类型:项目还是工程")
    private ProjectProcessTypeEnum projectType;
    public static ProjectProcess getEntityByForm(@NonNull ProjectProcessForm form, ProjectProcess entity) {
        if(entity == null) {
          entity = new ProjectProcess();
business/src/main/java/com/ycl/domain/form/TaskDelegationForm.java
@@ -35,7 +35,7 @@
    private String targetId;
    @ApiModelProperty("项目id,用于保存日志")
    private Long projectId;
    private String projectId;
    @ApiModelProperty("流程实例id,用于保存日志")
    private String processInsId;
business/src/main/java/com/ycl/domain/form/TaskHangupForm.java
@@ -27,7 +27,7 @@
    private String reason;
    @ApiModelProperty("项目id")
    private Long projectId;
    private String projectId;
    /**
     * æµç¨‹å®žä¾‹id
business/src/main/java/com/ycl/domain/form/TaskJumpForm.java
@@ -25,7 +25,7 @@
    private String taskId;
    @ApiModelProperty("项目id,用于保存日志")
    private Long projectId;
    private String projectId;
    @ApiModelProperty("流程实例id,用于保存日志")
    private String processInsId;
business/src/main/java/com/ycl/domain/form/TaskSuperviseForm.java
@@ -27,7 +27,7 @@
    private String taskId;
    @ApiModelProperty("项目id,用于保存日志")
    private Long projectId;
    private String projectId;
    @ApiModelProperty("流程实例id,用于保存日志")
    private String processInsId;
business/src/main/java/com/ycl/domain/form/TaskTeamWorkForm.java
@@ -24,7 +24,7 @@
    private String taskId;
    @ApiModelProperty("项目id")
    private Long projectId;
    private String projectId;
    /**
     * æµç¨‹å®žä¾‹id
business/src/main/java/com/ycl/domain/query/TaskQuery.java
@@ -13,7 +13,7 @@
    /**
     * é¡¹ç›®id
     */
    private Long projectId;
    private String projectId;
    /**
     * æµç¨‹å®šä¹‰id
business/src/main/java/com/ycl/domain/vo/ProjectProcessDetailVO.java
@@ -14,7 +14,12 @@
    /**
     * é¡¹ç›®id
     */
    private Long projectId;
    private String projectId;
    /**
     * é¡¹ç›®ç±»åž‹ï¼šå·¥ç¨‹æˆ–项目
     */
    private String projectType;
    /**
     * é¡¹ç›®åç§°
business/src/main/java/com/ycl/domain/vo/ProjectProcessVO.java
@@ -1,5 +1,6 @@
package com.ycl.domain.vo;
import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.domain.entity.ProjectInfo;
import com.ycl.system.domain.base.AbsVo;
import io.swagger.annotations.ApiModel;
business/src/main/java/com/ycl/event/event/TaskLogEvent.java
@@ -26,7 +26,7 @@
    /**
     * é¡¹ç›®id
     */
    private Long projectId;
    private String projectId;
    /**
     * æµç¨‹å®žä¾‹id
@@ -68,7 +68,7 @@
     * @param taskId ä»»åŠ¡id
     * @param otherData å…¶å®ƒæ•°æ®
     */
    public TaskLogEvent(Object source,Long id,Long userId, Long projectId, String processInsId, String taskId, String taskDefKey, String taskName,ProcessLogEventTypeEnum eventType, Object otherData) {
    public TaskLogEvent(Object source,Long id,Long userId, String projectId, String processInsId, String taskId, String taskDefKey, String taskName,ProcessLogEventTypeEnum eventType, Object otherData) {
        super(source);
        this.id = id;
        this.userId = userId;
business/src/main/java/com/ycl/service/ProcessLogService.java
@@ -24,7 +24,7 @@
     * @param projectId é¡¹ç›®id
     * @param eventDataJson json扩展内容
     */
    void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson);
    void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson);
    /**
     * æ‰¹é‡åˆ é™¤
business/src/main/java/com/ycl/service/ProjectProcessService.java
@@ -27,11 +27,10 @@
    /**
     * æ ¹æ®é¡¹ç›®id查找
     * @param projectId
     * @param processId
     * @param form
     * @return
     */
    Result detail(Long projectId, String processId);
    Result detail(ProjectProcessForm form);
    /**
     * é¡¹ç›®è®¾ç½®æµç¨‹
@@ -44,11 +43,10 @@
    /**
     * å¯åŠ¨æµç¨‹
     *
     * @param processDefId  æµç¨‹å®šä¹‰id
     * @param projectId  é¡¹ç›®id,作为业务id存入activity表
     * @param form
     * @return
     */
    Result startProcess(Long projectId, String processDefId);
    Result startProcess(ProjectProcessForm form);
    /**
     * æŸ¥è¯¢ä»»åŠ¡åˆ—è¡¨
business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -58,7 +58,7 @@
     * @param eventDataJson json扩展内容
     */
    @Override
    public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, Long projectId, String eventDataJson) {
    public void add(String taskId, String flowInsId, ProcessLogEventTypeEnum eventType, String projectId, String eventDataJson) {
        ProcessLog log = new ProcessLog();
        log.setTaskId(taskId);
        log.setProcessInsId(flowInsId);
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -23,6 +23,7 @@
import com.ycl.domain.vo.IndexCustomerTaskVO;
import com.ycl.domain.vo.ProjectProcessDetailVO;
import com.ycl.event.event.TaskLogEvent;
import com.ycl.mapper.ProjectEngineeringMapper;
import com.ycl.mapper.ProjectInfoMapper;
import com.ycl.mapper.ProjectProcessMapper;
import com.ycl.service.*;
@@ -77,6 +78,7 @@
    private final IdentityService identityService;
    private final RepositoryService repositoryService;
    private final ProjectInfoMapper projectInfoMapper;
    private final ProjectEngineeringMapper projectEngineeringMapper;
    private final HistoryService historyService;
    private final ISysUserService sysUserService;
    private final ISysRoleService sysRoleService;
@@ -121,6 +123,7 @@
        // æŸ¥è¯¢è¯¥é¡¹ç›®æ˜¯å¦å·²ç»ç»‘定过流程了,检查绑定的流程是否在运行,在运行就删了
        ProjectProcess pp = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(ProjectProcess::getProjectId, form.getProjectId())
                .eq(ProjectProcess::getProjectType, form.getProjectType())
                .one();
        if (Objects.isNull(pp)) {
            throw new RuntimeException("该项目未绑定流程");
@@ -140,6 +143,8 @@
                }
            }
        }
        Long unitId = null;
        if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
        ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
                .select(ProjectInfo::getProjectOwnerUnit)
                .eq(ProjectInfo::getId, form.getProjectId())
@@ -147,16 +152,29 @@
        if (Objects.isNull(project)) {
            throw new RuntimeException("项目不存在");
        }
        SysDept dept = deptService.selectDeptById(project.getProjectOwnerUnit());
            unitId = project.getProjectOwnerUnit();
        } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
            ProjectEngineering projectEngineering = new LambdaQueryChainWrapper<>(projectEngineeringMapper)
                    .select(ProjectEngineering::getDepartment)
                    .eq(ProjectEngineering::getId, form.getProjectId())
                    .one();
            if (Objects.isNull(projectEngineering)) {
                throw new RuntimeException("工程不存在");
            }
            unitId = projectEngineering.getUnit();
        }
        SysDept dept = deptService.selectDeptById(unitId);
        if (Objects.isNull(dept)) {
            throw new RuntimeException("项目业主单位不存在");
            throw new RuntimeException("业主单位不存在");
        }
        String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId(), dept.getDeptId());
        new LambdaUpdateChainWrapper<>(baseMapper)
                .eq(ProjectProcess::getProjectId, form.getProjectId())
                .eq(ProjectProcess::getProjectType, form.getProjectType())
                .set(ProjectProcess::getProcessDefId, form.getProcessDefId())
                .set(ProjectProcess::getProcessInsId, processInsId)
                .set(ProjectProcess::getDataLaunch, project.getProjectOwnerUnit())
                .set(ProjectProcess::getDataLaunch, unitId)
                .update();
        return Result.ok("流程变更成功");
@@ -164,21 +182,38 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result startProcess(Long projectId, String processDefId) {
        ProjectInfo project = projectInfoMapper.selectById(projectId);
    public Result startProcess(ProjectProcessForm form) {
        Long unitId = null;
        if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
            ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
                    .select(ProjectInfo::getProjectOwnerUnit)
                    .eq(ProjectInfo::getId, form.getProjectId())
                    .one();
        if (Objects.isNull(project)) {
            throw new RuntimeException("项目不存在");
        }
        SysDept dept = deptService.selectDeptById(project.getProjectOwnerUnit());
        if (Objects.isNull(dept)) {
            throw new RuntimeException("项目业主单位不存在");
            unitId = project.getProjectOwnerUnit();
        } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
            ProjectEngineering projectEngineering = new LambdaQueryChainWrapper<>(projectEngineeringMapper)
                    .select(ProjectEngineering::getDepartment)
                    .eq(ProjectEngineering::getId, form.getProjectId())
                    .one();
            if (Objects.isNull(projectEngineering)) {
                throw new RuntimeException("工程不存在");
        }
        String processInsId = this.startPro(projectId, processDefId, dept.getDeptId());
            unitId = projectEngineering.getUnit();
        }
        SysDept dept = deptService.selectDeptById(unitId);
        if (Objects.isNull(dept)) {
            throw new RuntimeException("业主单位不存在");
        }
        String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId(), dept.getDeptId());
        ProjectProcess entity = new ProjectProcess();
        entity.setProjectId(projectId);
        entity.setProcessDefId(processDefId);
        entity.setProjectId(form.getProjectId());
        entity.setProcessDefId(form.getProcessDefId());
        entity.setProcessInsId(processInsId);
        entity.setDataLaunch(project.getProjectOwnerUnit());
        entity.setDataLaunch(unitId);
        entity.setProjectType(form.getProjectType());
        baseMapper.insert(entity);
        return Result.ok("流程启动成功");
@@ -191,7 +226,7 @@
     * @param processDefId
     * @return
     */
    private String startPro(Long projectId, String processDefId, Long createBy) {
    private String startPro(String projectId, String processDefId, Long createBy) {
        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefId)
@@ -213,39 +248,51 @@
    /**
     * èŽ·å–æµç¨‹è¯¦æƒ…
     *
     * @param projectId
     * @param form
     * @return
     */
    @Override
    public Result detail(Long projectId, String processDefId) {
        // é¡¹ç›®ä¿¡æ¯
        ProjectInfo projectInfo = new LambdaQueryChainWrapper<>(projectInfoMapper)
                .select(ProjectInfo::getId, ProjectInfo::getProjectName, ProjectInfo::getProjectCode)
                .eq(ProjectInfo::getId, projectId)
                .one();
    public Result detail(ProjectProcessForm form) {
        String projectName = "";
        String projectCode = "";
        if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
            ProjectInfo projectInfo = projectInfoMapper.selectById(form.getProjectId());
        if (Objects.isNull(projectInfo)) {
            return Result.error("该项目不存在");
                throw new RuntimeException("项目不存在");
            }
            projectName = projectInfo.getProjectName();
            projectCode = projectInfo.getProjectCode();
        } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
            ProjectEngineering projectEngineering = projectEngineeringMapper.selectById(form.getProjectId());
            if (Objects.isNull(projectEngineering)) {
                throw new RuntimeException("工程不存在");
            }
            projectName = projectEngineering.getProjectName();
        }
        ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(ProjectProcess::getProjectId, projectId)
                .eq(ProjectProcess::getProcessDefId, processDefId)
                .eq(ProjectProcess::getProjectId, form.getProjectId())
                .eq(ProjectProcess::getProcessDefId, form.getProcessDefId())
                .eq(ProjectProcess::getProjectType, form.getProjectType())
                .one();
        if (Objects.isNull(projectProcess)) {
            return Result.error("该项目未设置流程");
            return Result.error("未设置流程");
        }
        ProjectProcessDetailVO detail = new ProjectProcessDetailVO();
        detail.setProjectId(projectId);
        detail.setProjectName(projectInfo.getProjectName());
        detail.setProjectCode(projectInfo.getProjectCode());
        detail.setProjectType(form.getProjectType().getValue());
        detail.setProjectId(form.getProjectId());
        detail.setProjectName(projectName);
        detail.setProjectCode(projectCode);
        ProjectProcessDetailVO.TaskStatistics taskStatistics = new ProjectProcessDetailVO.TaskStatistics();
        // çŠ¶æ€ç»Ÿè®¡
        taskStatistics.setTotalTaskNum(this.getTotalTaskNum(processDefId));
        taskStatistics.setTotalTaskNum(this.getTotalTaskNum(form.getProcessDefId()));
        taskStatistics.setTodoTaskNum(this.getTodoTaskNum(projectProcess.getProcessInsId()));
        taskStatistics.setRemainingTaskNum(this.getRemainingTaskNum(processDefId, projectProcess.getProcessInsId(), taskStatistics.getTotalTaskNum()));
        taskStatistics.setRemainingTaskNum(this.getRemainingTaskNum(form.getProcessDefId(), projectProcess.getProcessInsId(), taskStatistics.getTotalTaskNum()));
        taskStatistics.setTimelyFinishedTaskNum(this.getTimelyTaskNum(projectProcess.getProcessInsId()));
        taskStatistics.setOvertimeTaskNum(this.getOvertimeTaskNum(projectProcess.getProcessInsId()));
        taskStatistics.setWillOvertimeTaskNum(this.getWillOvertimeTaskNum(projectProcess.getProcessInsId()));
@@ -835,7 +882,7 @@
     * @param pageNum
     * @param result
     */
    public void getTodoTaskList(Long projectId, String processInsId, String taskName, int pageSize, int pageNum, Result result) {
    public void getTodoTaskList(String projectId, String processInsId, String taskName, int pageSize, int pageNum, Result result) {
        TaskQuery taskQuery = taskService.createTaskQuery()
                .active()
                .processInstanceId(processInsId)
@@ -872,7 +919,7 @@
     * @param result
     * @return
     */
    private List<CustomerTaskVO> getAllUserTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
    private List<CustomerTaskVO> getAllUserTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
        int startNum = pageSize * (pageNum - 1);
        int endNum = startNum + pageSize;
        List<UserTask> allUserTaskElement = this.getAllUserTaskElement(processDefinitionId);
@@ -1022,7 +1069,7 @@
     * @param processDefId æµç¨‹å®šä¹‰id
     * @return
     */
    private List<CustomerTaskVO> getFinishedProcessTaskInfo(List<UserTask> userTasks, Long projectId, String processInsId, String processDefId) {
    private List<CustomerTaskVO> getFinishedProcessTaskInfo(List<UserTask> userTasks, String projectId, String processInsId, String processDefId) {
        HistoricProcessInstance hisProcess = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInsId).singleResult();
        if (Objects.isNull(hisProcess)) {
            return new ArrayList<>();
@@ -1088,7 +1135,7 @@
     * @param taskVO    ä»»åŠ¡vo
     * @param projectId é¡¹ç›®id
     */
    private void setRuntimeTaskInfo(Task task, CustomerTaskVO taskVO, Long projectId) {
    private void setRuntimeTaskInfo(Task task, CustomerTaskVO taskVO, String projectId) {
        // å½“前流程信息
        taskVO.setTaskId(task.getId());
        taskVO.setCreateTime(task.getCreateTime());
@@ -1231,7 +1278,7 @@
     * @param result
     * @return
     */
    private List<CustomerTaskVO> getTimelyTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
    private List<CustomerTaskVO> getTimelyTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
        int startNum = pageSize * (pageNum - 1);
        int endNum = startNum + pageSize;
@@ -1443,7 +1490,7 @@
     * @param result
     * @return
     */
    private List<CustomerTaskVO> getOvertimeTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
    private List<CustomerTaskVO> getOvertimeTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
        int startNum = pageSize * (pageNum - 1);
        int endNum = startNum + pageSize;
@@ -1556,7 +1603,7 @@
     * @param result
     * @return
     */
    private List<CustomerTaskVO> getWillOvertimeTask(Long projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
    private List<CustomerTaskVO> getWillOvertimeTask(String projectId, String processDefinitionId, String processInsId, String taskName, Integer pageNum, Integer pageSize, Result result) {
        int startNum = pageSize * (pageNum - 1);
        int endNum = startNum + pageSize;
@@ -1631,7 +1678,7 @@
     * @param result
     * @return
     */
    private List<CustomerTaskVO> getRemainingTask(Long projectId,
    private List<CustomerTaskVO> getRemainingTask(String projectId,
                                                  String processDefinitionId,
                                                  String processInsId,
                                                  String taskName,
@@ -1759,7 +1806,7 @@
     * @param setType  0 è®¾ç½®è´£ä»»å•位   1 è®¾ç½®åŠžç†å•ä½
     * @param vo
     */
    private void varYzReview(CustomerTaskVO vo, Long projectId, String processInsId, HandlerTypeEnum type, Integer setType) {
    private void varYzReview(CustomerTaskVO vo, String projectId, String processInsId, HandlerTypeEnum type, Integer setType) {
        ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(projectProcessMapper)
                .eq(ProjectProcess::getProjectId, projectId)
                .eq(ProjectProcess::getProcessInsId, processInsId)
@@ -1829,7 +1876,7 @@
     * @param projectId
     * @param processInsId
     */
    private void setCandidateInfo(UserTask userTask, CustomerTaskVO vo, Long projectId, String processInsId) {
    private void setCandidateInfo(UserTask userTask, CustomerTaskVO vo, String projectId, String processInsId) {
        if (StringUtils.isNotBlank(userTask.getAssignee())) {
            SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee()));
            if (Objects.nonNull(sysUser)) {
business/src/main/java/com/ycl/task/FlowableTask.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
import com.ycl.common.enums.business.ProjectProcessTypeEnum;
import com.ycl.domain.entity.ProcessCoding;
import com.ycl.domain.entity.ProcessLog;
import com.ycl.domain.entity.ProjectInfo;
@@ -214,10 +215,11 @@
            return;
        }
        List<Long> projectIds = projectProcessMapper.selectList(
                        new QueryWrapper<ProjectProcess>()
                                .in("process_ins_id", processInstanceIds)
                ).stream()
        List<String> projectIds = new LambdaQueryChainWrapper<>(projectProcessMapper)
                .in(ProjectProcess::getProcessInsId, processInstanceIds)
                .eq(ProjectProcess::getProjectType, ProjectProcessTypeEnum.PROJECT)
                .list()
                .stream()
                .map(ProjectProcess::getProjectId)
                .collect(Collectors.toList());
common/src/main/java/com/ycl/common/enums/business/ProjectProcessTypeEnum.java
New file
@@ -0,0 +1,28 @@
package com.ycl.common.enums.business;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
/**
 * å·¥ä½œæµä»»åŠ¡çŠ¶æ€
 *
 * @author:xp
 * @date:2024/11/29 11:13
 */
@Getter
public enum ProjectProcessTypeEnum {
    PROJECT("PROJECT", "项目"),
    ENGINEERING("ENGINEERING", "工程"),
    ;
    private final String value;
    @JsonValue
    private final String desc;
    ProjectProcessTypeEnum(String value, String desc) {
        this.value = value;
        this.desc = desc;
    }
}
flowable/src/main/java/com/ycl/domain/entity/ProcessLog.java
@@ -35,7 +35,7 @@
    @TableField("project_id")
    /** é¡¹ç›®id */
    private Long projectId;
    private String projectId;
    @TableField("process_ins_id")
    /** æµç¨‹å®žä¾‹id */
flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
@@ -32,7 +32,7 @@
    /** é¡¹ç›®id */
    @ApiModelProperty("项目id")
    private Long projectId;
    private String projectId;
    /** æµç¨‹å®žä¾‹id */
    @ApiModelProperty("流程实例id")
project_management_ÕýʽÊý¾Ý.sql
Binary files differ