diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java index 9609826e..272d73be 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/CommonVO.java @@ -1,8 +1,10 @@ package com.jero.modules.activiti.process.common.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -18,47 +20,49 @@ public class CommonVO { * 任务ID */ @ApiModelProperty("任务ID") - String taskId; + private String taskId; /** * 备注 */ @ApiModelProperty("备注") - String commitText; + private String commitText; /** * 附件 */ @ApiModelProperty("附件") - String commitFile; + private String commitFile; /** * 同意驳回标识 */ @ApiModelProperty("同意驳回标识") - Integer commitFlag; + private Integer commitFlag; /** * 同意驳回标识 */ @ApiModelProperty("同意驳回标识") - boolean pass; + private boolean pass; /** * 流程名称 */ @ApiModelProperty("流程名称") - String prcName; + private String prcName; /** * 截止日期 */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty("截止日期") - Date dueTime; + private Date dueTime; /** * 流程描述 */ @ApiModelProperty("流程描述") - String prcMes; + private String prcMes; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java index 5424c0b4..8c4d4834 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/service/ActFlowCommonService.java @@ -2,12 +2,6 @@ package com.jero.modules.activiti.process.common.service; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; -import com.jero.common.system.vo.LoginUser; -import com.jero.modules.activiti.process.common.entity.CenterQueryVO; -import com.jero.modules.activiti.process.common.enums.ProcessType; -import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; -import com.jero.modules.activiti.util.SpringContextUtil; -import com.jero.modules.sys.utils.UserUtils; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.RepositoryService; import org.activiti.engine.RuntimeService; @@ -152,7 +146,7 @@ public class ActFlowCommonService { return processDefinition.getKey(); } - public void autoCompleteFirstTask(String userId, String processInstanceId, String processDefinitionId) { + public void autoCompleteFirstTask(String userId, String processInstanceId, String processDefinitionId, Map variables) { // 自动完成第一个任务 List> taskList = this.myTaskList(userId); if (!CollectionUtils.isEmpty(taskList)) { @@ -164,10 +158,16 @@ public class ActFlowCommonService { log.info("当前用户ID:{},相关联的流程定义ID:{}", userId, map.get("processDefinitionId").toString()); log.info("匹配到的任务ID:{}", map.get("taskId").toString()); - this.completeTask(map.get("taskId").toString(), userId, map); + this.completeTask(map.get("taskId").toString(), userId, variables); break; } } } } + + public String getProcessInstanceIdByTaskId(String taskId) { + // 使用流程引擎根据taskId找到流程实例Id + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + return task.getProcessInstanceId(); + } } \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index befcc7e3..8cb6a37a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -88,7 +88,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl save(@RequestParam(value = "taskId", required = false) String taskId, - @RequestBody List esInitChangeList) { - // TODO 按照Demo重写 - initChangeService.saveToDraft(taskId, esInitChangeList); + public Result save(@RequestBody InitChangeDataVO initChangeDataVO) { + initChangeService.saveToDraft(initChangeDataVO); return Result.OK(); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java index 935706fe..b8f7a7c4 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/ProcessEsInitChangeService.java @@ -37,10 +37,9 @@ public interface ProcessEsInitChangeService extends IService esInitChange); + void saveToDraft(InitChangeDataVO initChangeData); /** * 软删除实例数据 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java index 0774e542..7087922e 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java @@ -9,9 +9,12 @@ import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.FinishFlagEnum; +import com.jero.modules.activiti.enums.ProcessTypeEnum; import com.jero.modules.activiti.process.common.entity.CommonVO; +import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; +import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; import com.jero.modules.activiti.process.esInitChange.entity.vo.FlowUserInfoVO; import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO; @@ -19,15 +22,16 @@ import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChang import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper; import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; +import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider; import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil; import com.jero.modules.sys.utils.UserUtils; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.TaskService; import org.activiti.engine.runtime.ProcessInstance; -import org.activiti.engine.task.Task; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -58,12 +62,17 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl esInitChange) { -// saveOrUpdateBatch(esInitChange); -// // 先删后增 -// LambdaUpdateWrapper draftWrapper = new LambdaUpdateWrapper<>(); -// draftWrapper.in(ProcessDraft::getBusinessId, esInitChange.stream().map(ProcessEsInitChange::getId).collect(Collectors.toList())); -// processDraftService.remove(draftWrapper); -// List draftList = new ArrayList<>(); -// for (ProcessEsInitChange esInitChangeItem : esInitChange) { -// ProcessDraft draft = new ProcessDraft(); -// draft.setDraftId(UUID.randomUUID().toString()); -// draft.setBusinessId(esInitChangeItem.getId()); -// draft.setProcessKey(ProcessType.ES_INIT_CHANGE.getProcessKey()); -// draftList.add(draft); -// } -// processDraftService.saveBatch(draftList); + public void saveToDraft(InitChangeDataVO initChangeData) { + CommonVO commonVO = initChangeData.getCommonVO(); + String taskId = commonVO.getTaskId(); + List esInitChange = initChangeData.getDataList(); + saveOrUpdateBatch(esInitChange); + // 先删后增 + String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId); + LambdaUpdateWrapper draftWrapper = new LambdaUpdateWrapper<>(); + draftWrapper.in(ProcessDraft::getProjectId, esInitChange.stream().map(ProcessEsInitChange::getId).collect(Collectors.toList())); + processDraftService.remove(draftWrapper); + List draftList = new ArrayList<>(); + for (ProcessEsInitChange esInitChangeItem : esInitChange) { + ProcessDraft draft = new ProcessDraft(); + draft.setProjectId(esInitChangeItem.getId()); + draft.setProcessInstanceId(processInstanceId); + draft.setPrcName(commonVO.getPrcName()); + draft.setPrcType(ProcessTypeEnum.B.getValue()); + draftList.add(draft); + } + processDraftService.saveBatch(draftList); } public Map setVariables(InitChangeDataVO initChangeData) {