add 注解

This commit is contained in:
liao
2023-11-20 15:44:32 +08:00
parent d3cf0ae1fc
commit 4655da0fa8
10 changed files with 166 additions and 32 deletions
@@ -61,6 +61,7 @@ public class ProcessFbStandardConsultation implements Serializable {
@Excel(name = "0表示未删除,1表示删除", width = 15) @Excel(name = "0表示未删除,1表示删除", width = 15)
@ApiModelProperty(value = "0表示未删除,1表示删除") @ApiModelProperty(value = "0表示未删除,1表示删除")
private java.lang.Integer delFlag; private java.lang.Integer delFlag;
/**标准编号*/ /**标准编号*/
@Excel(name = "标准编号", width = 15) @Excel(name = "标准编号", width = 15)
@ApiModelProperty(value = "标准编号") @ApiModelProperty(value = "标准编号")
@@ -0,0 +1,18 @@
package com.jero.modules.activiti.process.fb.listener;
import com.jero.common.util.SpringContextUtils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* @Author: liao
* @Date: 2023/11/13 17:01
* @Description: 设置任务的业务key
*/
public class BusinessKeyListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
TaskListenerService taskListenerService = SpringContextUtils.getBean(TaskListenerService.class);
taskListenerService.setBusinessKey(delegateTask);
}
}
@@ -1,9 +0,0 @@
package com.jero.modules.activiti.process.fb.listener;
/**
* @Author: liao
* @Date: 2023/11/13 17:01
* @Description: 设置子流程变量名
*/
public class SetVariableListener {
}
@@ -0,0 +1,62 @@
package com.jero.modules.activiti.process.fb.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey;
import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationUserLink;
import com.jero.modules.activiti.process.fb.service.IProcessFbConsultationUserLinkService;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @Author: liao
* @Date: 2023/11/20 11:41
* @Description: 任务监听器服务
*/
@Service
@Slf4j
public class TaskListenerService {
@Resource
private IProcessFbConsultationUserLinkService processFbConsultationUserLinkService;
@Resource
private ProcessAllService processAllService;
public void setBusinessKey(DelegateTask delegateTask) {
// 在任务创建时,设置业务key
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
String assignee = delegateTask.getAssignee();
String processInstanceId = delegateTask.getProcessInstanceId();
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
DelegateExecution execution = delegateTask.getExecution();
LambdaQueryWrapper<ProcessFbConsultationUserLink> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProcessFbConsultationUserLink::getBusinessId, processAll.getProjectId());
String userId = CurrentUserUtil.getId();
switch (taskDefinitionKey) {
case ConsultationTaskKey.MODULE_OWNER_START: // 模块负责人分发
queryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId);
queryWrapper.eq(ProcessFbConsultationUserLink::getModuleOwnerId, assignee);
break;
default:
log.info("{}没有监听任务", taskDefinitionKey);
return;
}
ProcessFbConsultationUserLink userLink = processFbConsultationUserLinkService.getOne(queryWrapper);
delegateTask.setFormKey(userLink.getId());
log.info("================================任务监听器=================================");
log.info("任务id: {}", delegateTask.getId());
log.info("taskDefinitionKey: {}", taskDefinitionKey);
log.info("assignee: {}", assignee);
log.info("=======================================================================");
}
}
@@ -86,7 +86,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.FB_STANDARD_CONSULTATION)); // 流程定义id basicProcessInfoDTO.setProcessDefinitionId(processHandleService.getDefinitionIdByKey(ProcessDefinitionKey.FB_STANDARD_CONSULTATION)); // 流程定义id
basicProcessInfoDTO.setProcessName(businessInfoDTO.getStandardNumber() + "-" + businessInfoDTO.getStandardName() + "-" + "征求意见"); // 流程名称 basicProcessInfoDTO.setProcessName(businessInfoDTO.getStandardNumber() + "-" + businessInfoDTO.getStandardName() + "-" + "征求意见"); // 流程名称
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_CONSULTATION.getValue()); // 流程类型 basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_CONSULTATION.getValue()); // 流程类型
String processInstanceId = processHandleService.startProcess(processInfoVO); processHandleService.startProcess(processInfoVO);
// 把各部所主管级领导数据存入关联人员表 // 把各部所主管级领导数据存入关联人员表
List<String> departLeaderList = Arrays.asList(departLeaders.split(",")); List<String> departLeaderList = Arrays.asList(departLeaders.split(","));
@@ -107,7 +107,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
**/ **/
@Override @Override
public void approveTask(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO, boolean pass) { public void approveTask(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO, boolean pass) {
throw new JeroBootException("目前还未开发,请联系管理员");
} }
/** /**
@@ -117,7 +117,17 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
**/ **/
@Override @Override
public void saveToDraft(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) { public void saveToDraft(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
// 保存业务信息
ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO();
ProcessFbStandardConsultation processFbStandardConsultation = businessInfoDTO.getProcessFbStandardConsultation();
ProcessFbConsultationUserLink processFbConsultationUserLink = businessInfoDTO.getProcessFbConsultationUserLink();
List<ProcessFbConsultationList> processFbConsultationLists = businessInfoDTO.getProcessFbConsultationLists();
// 流程信息
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.FB_STANDARD_CONSULTATION.getValue()); // 流程类型
processHandleService.saveToDraft(processInfoVO);
} }
/** /**
@@ -173,20 +183,29 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
case ConsultationTaskKey.DEPART_LEADER_START_1: case ConsultationTaskKey.DEPART_LEADER_START_1:
processDepartLeaderStart_1(processInfoVO); // 各部所主管级领导分发 processDepartLeaderStart_1(processInfoVO); // 各部所主管级领导分发
break; break;
case ConsultationTaskKey.DESIGN_ENGINEER_2: // 设计工程师填写征求意见(直接 case ConsultationTaskKey.DESIGN_ENGINEER_2: // 设计工程师填写征求意见(不分发给模块负责人
processEngineer_2(processInfoVO); processEngineer_2(processInfoVO);
break; break;
default: default:
throw new JeroBootException("目前还未开发,请联系管理员"); throw new JeroBootException("目前还未开发,请联系管理员");
} }
taskInfo.setCommitFlag(CommitFlagEnum.PASS.getValue()); taskInfo.setCommitFlag(CommitFlagEnum.PASS.getValue());
processHandleService.updateApprovalRecord(processInfoVO); //processHandleService.updateApprovalRecord(processInfoVO);
Execution execution = runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult();
log.info("================================流程节点=================================");
log.info("任务Id: {}", task.getId());
log.info("任务ProcessInstanceId: {}", task.getProcessInstanceId());
log.info("任务ExecutionId: {}", task.getExecutionId());
log.info("任务SuperExecutionId: {}", execution.getSuperExecutionId());
log.info("任务ParentTaskId: {}", task.getParentTaskId());
log.info("=======================================================================");
} }
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/11/16 15:46 * @Date: 2023/11/16 15:46
* @Description: 设计工程师填写征求意见(直接 * @Description: 设计工程师填写征求意见(不分发给模块负责人
**/ **/
private void processEngineer_2(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) { private void processEngineer_2(ProcessInfoVO<ProcessFbStandardConsultationVO> processInfoVO) {
ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); // 全部业务信息 ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); // 全部业务信息
@@ -1,6 +1,5 @@
package com.jero.modules.activiti.process.fb.service.impl; package com.jero.modules.activiti.process.fb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.entity.ProcessApprovalRecord;
@@ -22,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RepositoryService; import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService; import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService; import org.activiti.engine.TaskService;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task; import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -62,6 +62,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
* @Description: 启动流程 * @Description: 启动流程
**/ **/
@Override @Override
@Transactional
public String startProcess(ProcessInfoVO processInfoVO) { public String startProcess(ProcessInfoVO processInfoVO) {
// 删除自己的草稿 // 删除自己的草稿
deleteMyDraft(processInfoVO.getBusinessId()); deleteMyDraft(processInfoVO.getBusinessId());
@@ -94,14 +95,18 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.PASS.getValue()); // 审批意见(1通过,2驳回) basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.PASS.getValue()); // 审批意见(1通过,2驳回)
updateApprovalRecord(processInfoVO); updateApprovalRecord(processInfoVO);
Execution execution = runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult();
log.info("================================启动流程=================================");
log.info("流程定义id: {}", processDefinitionId);
log.info("流程实例id: {}", processInstanceId);
log.info("任务ExecutionId: {}", task.getExecutionId());
log.info("任务SuperExecutionId: {}", execution.getSuperExecutionId());
log.info("任务ParentTaskId: {}", task.getParentTaskId());
log.info("=======================================================================");
// 完成任务 // 完成任务
taskService.complete(taskId); taskService.complete(taskId);
System.out.println("================================启动流程=================================");
System.out.println("流程定义id: " + processDefinitionId);
System.out.println("流程实例id: " + processInstanceId);
System.out.println("=======================================================================");
return processInstanceId; return processInstanceId;
} }
@@ -294,12 +299,12 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
* @Description: 删除自己的草稿 * @Description: 删除自己的草稿
**/ **/
private void deleteMyDraft(String businessId) { private void deleteMyDraft(String businessId) {
if (StringUtils.isNotBlank(businessId)) { /*if (StringUtils.isNotBlank(businessId)) {
LambdaQueryWrapper<ProcessDraft> deleteWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessDraft> deleteWrapper = new LambdaQueryWrapper<>();
deleteWrapper.eq(ProcessDraft::getProjectId, businessId); deleteWrapper.eq(ProcessDraft::getProjectId, businessId);
deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId()); deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId());
processDraftService.remove(deleteWrapper); processDraftService.remove(deleteWrapper);
} }*/
} }
/** /**
@@ -17,8 +17,7 @@ import com.jero.modules.personal.service.ILawsStandardCollectionService;
import com.jero.modules.personal.service.ILawsStandardSharingService; import com.jero.modules.personal.service.ILawsStandardSharingService;
import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.entity.LawsTag;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -57,7 +56,7 @@ public class LawsDomesticController {
@PostMapping(value = "/getCommonPage") @PostMapping(value = "/getCommonPage")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@RequiresPermissions("domesticStandard:search") @RequiresPermissions("domesticStandard:search")
public Result<IPage<Map<String,Object>>> getCommonPage(@RequestBody Map<String,Object> parameterMap) { public Result<IPage<Map<String,Object>>> getCommonPage(@RequestBody @ApiParam("标签管理") Map<String,Object> parameterMap) {
parameterMap.put(FieldCommon.MODULE, MODULE_VALUE); parameterMap.put(FieldCommon.MODULE, MODULE_VALUE);
return Result.OK(lawsCommonService.getCommonPage(parameterMap)); return Result.OK(lawsCommonService.getCommonPage(parameterMap));
} }
@@ -25,9 +25,7 @@ import com.jero.modules.personal.service.ILawsStandardSharingService;
import com.jero.modules.sys.utils.UserUtils; import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.entity.LawsTag;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -76,7 +74,7 @@ public class LawsEnterpriseController {
@PostMapping(value = "/getCommonPage") @PostMapping(value = "/getCommonPage")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@RequiresPermissions("enterpriseStandard:search") @RequiresPermissions("enterpriseStandard:search")
public Result<IPage<Map<String,Object>>> getCommonPage(@RequestBody Map<String,Object> parameterMap) { public Result<IPage<Map<String,Object>>> getCommonPage(@RequestBody @ApiParam("标签管理") Map<String,Object> parameterMap) {
parameterMap.put(FieldCommon.MODULE, MODULE_VALUE); parameterMap.put(FieldCommon.MODULE, MODULE_VALUE);
return Result.OK(lawsCommonService.getCommonPage(parameterMap)); return Result.OK(lawsCommonService.getCommonPage(parameterMap));
} }
@@ -17,8 +17,7 @@ import com.jero.modules.personal.service.ILawsStandardCollectionService;
import com.jero.modules.personal.service.ILawsStandardSharingService; import com.jero.modules.personal.service.ILawsStandardSharingService;
import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.entity.LawsTag;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -57,7 +56,7 @@ public class LawsOverseasController {
@PostMapping(value = "/getCommonPage") @PostMapping(value = "/getCommonPage")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@RequiresPermissions("overseasStandard:search") @RequiresPermissions("overseasStandard:search")
public Result<IPage<Map<String,Object>>> getCommonPage(@RequestBody Map<String,Object> parameterMap) { public Result<IPage<Map<String,Object>>> getCommonPage(@RequestBody @ApiParam("标签管理") Map<String,Object> parameterMap) {
parameterMap.put(FieldCommon.MODULE, MODULE_VALUE); parameterMap.put(FieldCommon.MODULE, MODULE_VALUE);
return Result.OK(lawsCommonService.getCommonPage(parameterMap)); return Result.OK(lawsCommonService.getCommonPage(parameterMap));
} }
@@ -5,6 +5,9 @@
<bpmn:outgoing>Flow_1d5objw</bpmn:outgoing> <bpmn:outgoing>Flow_1d5objw</bpmn:outgoing>
</bpmn:startEvent> </bpmn:startEvent>
<bpmn:userTask id="engineer_start" name="法规工程师发起" activiti:assignee="${engineer}"> <bpmn:userTask id="engineer_start" name="法规工程师发起" activiti:assignee="${engineer}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1d5objw</bpmn:incoming> <bpmn:incoming>Flow_1d5objw</bpmn:incoming>
<bpmn:outgoing>Flow_0azsibi</bpmn:outgoing> <bpmn:outgoing>Flow_0azsibi</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>
@@ -19,6 +22,9 @@
<bpmn:outgoing>Flow_1gv6jmb</bpmn:outgoing> <bpmn:outgoing>Flow_1gv6jmb</bpmn:outgoing>
</bpmn:startEvent> </bpmn:startEvent>
<bpmn:userTask id="depart_leader_start_1" name="各部所主管级领导分发" activiti:assignee="${departLeader}"> <bpmn:userTask id="depart_leader_start_1" name="各部所主管级领导分发" activiti:assignee="${departLeader}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1gv6jmb</bpmn:incoming> <bpmn:incoming>Flow_1gv6jmb</bpmn:incoming>
<bpmn:outgoing>Flow_0hpm8eq</bpmn:outgoing> <bpmn:outgoing>Flow_0hpm8eq</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>
@@ -30,6 +36,9 @@
</bpmn:exclusiveGateway> </bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_0hpm8eq" sourceRef="depart_leader_start_1" targetRef="Gateway_0mogtm0" /> <bpmn:sequenceFlow id="Flow_0hpm8eq" sourceRef="depart_leader_start_1" targetRef="Gateway_0mogtm0" />
<bpmn:userTask id="design_engineer_2" name="设计工程师填写征求意见" activiti:assignee="${designEngineer}"> <bpmn:userTask id="design_engineer_2" name="设计工程师填写征求意见" activiti:assignee="${designEngineer}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_05oz1ja</bpmn:incoming> <bpmn:incoming>Flow_05oz1ja</bpmn:incoming>
<bpmn:outgoing>Flow_09jjte7</bpmn:outgoing> <bpmn:outgoing>Flow_09jjte7</bpmn:outgoing>
<bpmn:multiInstanceLoopCharacteristics activiti:collection="designEngineerList" activiti:elementVariable="designEngineer"> <bpmn:multiInstanceLoopCharacteristics activiti:collection="designEngineerList" activiti:elementVariable="designEngineer">
@@ -40,6 +49,9 @@
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${!passFirst}</bpmn:conditionExpression> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${!passFirst}</bpmn:conditionExpression>
</bpmn:sequenceFlow> </bpmn:sequenceFlow>
<bpmn:userTask id="depart_leader_end_1" name="各部所主管级领导审批" activiti:assignee="${departLeader}"> <bpmn:userTask id="depart_leader_end_1" name="各部所主管级领导审批" activiti:assignee="${departLeader}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0oc8671</bpmn:incoming> <bpmn:incoming>Flow_0oc8671</bpmn:incoming>
<bpmn:incoming>Flow_14aeapm</bpmn:incoming> <bpmn:incoming>Flow_14aeapm</bpmn:incoming>
<bpmn:outgoing>Flow_18olfei</bpmn:outgoing> <bpmn:outgoing>Flow_18olfei</bpmn:outgoing>
@@ -55,11 +67,17 @@
<bpmn:outgoing>Flow_13krhma</bpmn:outgoing> <bpmn:outgoing>Flow_13krhma</bpmn:outgoing>
</bpmn:startEvent> </bpmn:startEvent>
<bpmn:userTask id="module_owner_start" name="模块负责人分发(可跳过)" activiti:assignee="${moduleOwner}"> <bpmn:userTask id="module_owner_start" name="模块负责人分发(可跳过)" activiti:assignee="${moduleOwner}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_13krhma</bpmn:incoming> <bpmn:incoming>Flow_13krhma</bpmn:incoming>
<bpmn:outgoing>Flow_0e4x3wm</bpmn:outgoing> <bpmn:outgoing>Flow_0e4x3wm</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>
<bpmn:sequenceFlow id="Flow_13krhma" sourceRef="Event_15afvr9" targetRef="module_owner_start" /> <bpmn:sequenceFlow id="Flow_13krhma" sourceRef="Event_15afvr9" targetRef="module_owner_start" />
<bpmn:userTask id="design_engineer_1" name="设计工程师填写征求意见" activiti:assignee="${designEngineer}"> <bpmn:userTask id="design_engineer_1" name="设计工程师填写征求意见" activiti:assignee="${designEngineer}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0e4x3wm</bpmn:incoming> <bpmn:incoming>Flow_0e4x3wm</bpmn:incoming>
<bpmn:outgoing>Flow_0vnqotz</bpmn:outgoing> <bpmn:outgoing>Flow_0vnqotz</bpmn:outgoing>
<bpmn:multiInstanceLoopCharacteristics activiti:collection="designEngineerList" activiti:elementVariable="designEngineer"> <bpmn:multiInstanceLoopCharacteristics activiti:collection="designEngineerList" activiti:elementVariable="designEngineer">
@@ -68,6 +86,9 @@
</bpmn:userTask> </bpmn:userTask>
<bpmn:sequenceFlow id="Flow_0e4x3wm" sourceRef="module_owner_start" targetRef="design_engineer_1" /> <bpmn:sequenceFlow id="Flow_0e4x3wm" sourceRef="module_owner_start" targetRef="design_engineer_1" />
<bpmn:userTask id="module_owner_end_1" name="模块负责人汇总填写意见(可跳过)" activiti:assignee="${moduleOwner}"> <bpmn:userTask id="module_owner_end_1" name="模块负责人汇总填写意见(可跳过)" activiti:assignee="${moduleOwner}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0vnqotz</bpmn:incoming> <bpmn:incoming>Flow_0vnqotz</bpmn:incoming>
<bpmn:outgoing>Flow_05e6l5d</bpmn:outgoing> <bpmn:outgoing>Flow_05e6l5d</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>
@@ -98,11 +119,17 @@
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${!passSecond}</bpmn:conditionExpression> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${!passSecond}</bpmn:conditionExpression>
</bpmn:sequenceFlow> </bpmn:sequenceFlow>
<bpmn:userTask id="depart_leader_collect_2" name="各部所主管级领导汇总" activiti:assignee="${departLeader}"> <bpmn:userTask id="depart_leader_collect_2" name="各部所主管级领导汇总" activiti:assignee="${departLeader}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_09jjte7</bpmn:incoming> <bpmn:incoming>Flow_09jjte7</bpmn:incoming>
<bpmn:outgoing>Flow_0qai32h</bpmn:outgoing> <bpmn:outgoing>Flow_0qai32h</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>
<bpmn:sequenceFlow id="Flow_0qai32h" sourceRef="depart_leader_collect_2" targetRef="Event_0r7jsfk" /> <bpmn:sequenceFlow id="Flow_0qai32h" sourceRef="depart_leader_collect_2" targetRef="Event_0r7jsfk" />
<bpmn:userTask id="module_owner_end_2" name="模块负责人汇总填写意见(可跳过)" activiti:assignee="${moduleOwner}"> <bpmn:userTask id="module_owner_end_2" name="模块负责人汇总填写意见(可跳过)" activiti:assignee="${moduleOwner}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0f48izh</bpmn:incoming> <bpmn:incoming>Flow_0f48izh</bpmn:incoming>
<bpmn:outgoing>Flow_14aeapm</bpmn:outgoing> <bpmn:outgoing>Flow_14aeapm</bpmn:outgoing>
<bpmn:multiInstanceLoopCharacteristics activiti:collection="moduleOwnerList" activiti:elementVariable="moduleOwner"> <bpmn:multiInstanceLoopCharacteristics activiti:collection="moduleOwnerList" activiti:elementVariable="moduleOwner">
@@ -113,6 +140,9 @@
</bpmn:subProcess> </bpmn:subProcess>
<bpmn:sequenceFlow id="Flow_0azsibi" sourceRef="engineer_start" targetRef="sub_process_1" /> <bpmn:sequenceFlow id="Flow_0azsibi" sourceRef="engineer_start" targetRef="sub_process_1" />
<bpmn:userTask id="engineer_start_end" name="法规工程师审批" activiti:assignee="${engineer}"> <bpmn:userTask id="engineer_start_end" name="法规工程师审批" activiti:assignee="${engineer}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_19vxot3</bpmn:incoming> <bpmn:incoming>Flow_19vxot3</bpmn:incoming>
<bpmn:incoming>Flow_0g6wwzz</bpmn:incoming> <bpmn:incoming>Flow_0g6wwzz</bpmn:incoming>
<bpmn:incoming>Flow_1f5fu60</bpmn:incoming> <bpmn:incoming>Flow_1f5fu60</bpmn:incoming>
@@ -136,6 +166,9 @@
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${passThird == 2}</bpmn:conditionExpression> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${passThird == 2}</bpmn:conditionExpression>
</bpmn:sequenceFlow> </bpmn:sequenceFlow>
<bpmn:userTask id="depart_leader_collect_3" name="各部所主管级领导汇总"> <bpmn:userTask id="depart_leader_collect_3" name="各部所主管级领导汇总">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1aeqdsv</bpmn:incoming> <bpmn:incoming>Flow_1aeqdsv</bpmn:incoming>
<bpmn:outgoing>Flow_0g6wwzz</bpmn:outgoing> <bpmn:outgoing>Flow_0g6wwzz</bpmn:outgoing>
<bpmn:multiInstanceLoopCharacteristics activiti:collection="departLeaderList" activiti:elementVariable="departLeader"> <bpmn:multiInstanceLoopCharacteristics activiti:collection="departLeaderList" activiti:elementVariable="departLeader">
@@ -153,6 +186,9 @@
<bpmn:outgoing>Flow_07p5ivp</bpmn:outgoing> <bpmn:outgoing>Flow_07p5ivp</bpmn:outgoing>
</bpmn:startEvent> </bpmn:startEvent>
<bpmn:userTask id="module_owner_end_3" name="模块负责人汇总填写意见(可跳过)"> <bpmn:userTask id="module_owner_end_3" name="模块负责人汇总填写意见(可跳过)">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1ft2poj</bpmn:incoming> <bpmn:incoming>Flow_1ft2poj</bpmn:incoming>
<bpmn:incoming>Flow_0q5ae61</bpmn:incoming> <bpmn:incoming>Flow_0q5ae61</bpmn:incoming>
<bpmn:outgoing>Flow_0mdmcs5</bpmn:outgoing> <bpmn:outgoing>Flow_0mdmcs5</bpmn:outgoing>
@@ -161,6 +197,9 @@
</bpmn:multiInstanceLoopCharacteristics> </bpmn:multiInstanceLoopCharacteristics>
</bpmn:userTask> </bpmn:userTask>
<bpmn:userTask id="depart_leader_end_4" name="各部所主管级领导审批" activiti:assignee="${departLeader}"> <bpmn:userTask id="depart_leader_end_4" name="各部所主管级领导审批" activiti:assignee="${departLeader}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0mdmcs5</bpmn:incoming> <bpmn:incoming>Flow_0mdmcs5</bpmn:incoming>
<bpmn:outgoing>Flow_0flbibd</bpmn:outgoing> <bpmn:outgoing>Flow_0flbibd</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>
@@ -181,6 +220,9 @@
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${!passSecond}</bpmn:conditionExpression> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${!passSecond}</bpmn:conditionExpression>
</bpmn:sequenceFlow> </bpmn:sequenceFlow>
<bpmn:userTask id="depart_leader_start_2" name="各部所主管级领导审批" activiti:assignee="${departLeader}"> <bpmn:userTask id="depart_leader_start_2" name="各部所主管级领导审批" activiti:assignee="${departLeader}">
<bpmn:extensionElements>
<activiti:taskListener class="com.jero.modules.activiti.process.fb.listener.BusinessKeyListener" event="create" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_07p5ivp</bpmn:incoming> <bpmn:incoming>Flow_07p5ivp</bpmn:incoming>
<bpmn:outgoing>Flow_0q5ae61</bpmn:outgoing> <bpmn:outgoing>Flow_0q5ae61</bpmn:outgoing>
</bpmn:userTask> </bpmn:userTask>