diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/controller/ProcessAnnualInitController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/controller/ProcessAnnualInitController.java index 009e547b..0292edfd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/controller/ProcessAnnualInitController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/controller/ProcessAnnualInitController.java @@ -2,20 +2,22 @@ package com.jero.modules.activiti.process.annualinit.controller; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.aspect.annotation.Translation; import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.annualinit.entity.ProcessAnnualInit; import com.jero.modules.activiti.process.annualinit.service.ProcessAnnualInitService; import com.jero.modules.activiti.process.annualinit.vo.ProcessAnnualInitVO; +import com.jero.modules.activiti.process.common.entity.ProcessDraft; +import com.jero.modules.activiti.process.common.service.ActFlowCommonService; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -35,6 +37,8 @@ public class ProcessAnnualInitController extends JeroController handle(String taskId) { + ProcessDraft draft = actFlowCommonService.getExistDraftByTaskId(taskId, ProcessTypeEnum.ANNUAL_INIT); + if (draft != null) { + return Result.OK(draft); + } + return Result.OK(processAnnualInitService.getHandleData(taskId)); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/mapper/ProcessAnnualInitLinkMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/mapper/ProcessAnnualInitLinkMapper.java index f4a766d6..58048d6c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/mapper/ProcessAnnualInitLinkMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/mapper/ProcessAnnualInitLinkMapper.java @@ -1,4 +1,9 @@ package com.jero.modules.activiti.process.annualinit.mapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.apache.ibatis.annotations.Param; +import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.modules.activiti.process.annualinit.entity.ProcessAnnualInitLink; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -10,6 +15,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @since 2024-09-24 14:30:21 */ public interface ProcessAnnualInitLinkMapper extends BaseMapper { + default List listByProcessId(String processId) { + LambdaQueryWrapper myQuery = Wrappers.lambdaQuery(ProcessAnnualInitLink.class); + myQuery.eq(ProcessAnnualInitLink::getProcessId, processId); + return selectList(myQuery); + } + } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java index e4c458be..6ca10d16 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitService.java @@ -1,6 +1,8 @@ package com.jero.modules.activiti.process.annualinit.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.system.api.ISysBaseAPI; import com.jero.modules.activiti.common.ActivitiCommon; @@ -25,6 +27,7 @@ import com.jero.modules.laws.common.util.CurrentUserUtil; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.TaskService; import org.activiti.engine.task.Task; +import org.apache.poi.ss.formula.functions.T; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -250,6 +253,23 @@ public class ProcessAnnualInitService extends ServiceImpl getHandleData(String taskId) { + ProcessInfoVO processInfoVO = processHandleService.queryProcessInfoVO(taskId); + String businessId = processInfoVO.getBusinessId(); + ProcessAnnualInit annualInit = this.getById(businessId); + + ProcessAnnualInitVO annualInitVO = new ProcessAnnualInitVO(); + annualInitVO.setAnnualInit(annualInit); + + LambdaQueryWrapper myQuery = Wrappers.lambdaQuery(ProcessAnnualInitLink.class); + myQuery.eq(ProcessAnnualInitLink::getProcessId, annualInit); + List list = annualInitLinkService.list(myQuery); + + annualInitVO.setAnnualInitLinkList(list); + processInfoVO.setBusinessInfoDTO(annualInitVO); + return processInfoVO; + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java index 7eae8e85..150a6377 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java @@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.fb.service; import com.jero.modules.activiti.process.fb.dto.ProcessDTO; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; +import org.apache.poi.ss.formula.functions.T; import java.util.Map; @@ -88,4 +89,10 @@ public interface IProcessHandleService { **/ void deleteMyDraft(String taskId, String businessId, Integer processType); + /** + * 查询流程信息 + * @param taskId taskId + * @return ProcessInfoVO + */ + ProcessInfoVO queryProcessInfoVO(String taskId); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index 7b0893f8..f932c22f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -38,6 +38,7 @@ import org.activiti.engine.runtime.Execution; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -555,6 +556,27 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { } } + @Override + public ProcessInfoVO queryProcessInfoVO(String taskId) { + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String processInstanceId = task.getProcessInstanceId(); + ProcessInfoVO processInfoVO = new ProcessInfoVO<>(); + // 获取流程通用数据 + ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId); + if(!Objects.isNull(process)){ + BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO(); + basicProcessInfoDTO.setProcessName(process.getPrcName()); + basicProcessInfoDTO.setProcessType(process.getPrcType()); + basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId()); + basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId()); + basicProcessInfoDTO.setProcessDescription(process.getPrcMes()); + basicProcessInfoDTO.setProcessDueDate(process.getDueTime()); + processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO); + processInfoVO.setBusinessId(process.getProjectId()); + } + return processInfoVO; + } + /** * @Author: liao * @Date: 2023/11/3 11:14