完善新法规导入流程
This commit is contained in:
@@ -11,7 +11,7 @@ import lombok.Getter;
|
||||
@AllArgsConstructor
|
||||
public enum ProcessTypeEnum {
|
||||
DEMO("测试流程", 0, "com.jero.modules.activiti.process.demo.service.ProcessDemoService", "/workCenter/StandardEntryOrChangeProcess", "/workCenter/StandardEntryOrChangeProcess"),
|
||||
NEW_STANDARD_IMPORT("新法规导入流程", 1, "com.jero.modules.activiti.process.ni.service.ProcessNewStandardImportService", "/workCenter/ProcessNewStandardImportProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
NEW_STANDARD_IMPORT("新法规导入流程", 1, "com.jero.modules.activiti.process.ni.service.impl.ProcessNewStandardImportServiceImpl", "/workCenter/ProcessNewStandardImportProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
STANDARD_INTERPRET("标准解读流程", 2, "com.jero.modules.activiti.process.standardinterpret.service.impl.StandardInterpretFlow", "", ""),
|
||||
STANDARD_COMPLIANCE_CHECK("法规符合性排查流程", 3, "com.jero.modules.activiti.process.standardComplianceCheck.service.ProcessStandardComplianceCheckService", "/workCenter/StandardComplianceCheckProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ni.service.ProcessNewStandardImportService", "/workCenter/ProcessNewStandardImportProcess", "/workCenter/StandardComplianceCheckProcess"),
|
||||
|
||||
-1
@@ -188,7 +188,6 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
|
||||
* @Description: 转办
|
||||
**/
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void transfer(String taskId, String toUserId) {
|
||||
isMyTask(taskId); // 判断是否拥有任务处理权限
|
||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
|
||||
|
||||
+3
-2
@@ -12,6 +12,7 @@ import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
|
||||
import com.jero.modules.activiti.vo.DelegateTaskParam;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -95,8 +96,8 @@ public class ProcessNewStandardImportController extends JeroController<ProcessNe
|
||||
@AutoLog(value = "新法规导入流程-转办")
|
||||
@ApiOperation(value="新法规导入流程-转办", notes="新法规导入流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
public Result<?> transfer(@RequestBody DelegateTaskParam param) {
|
||||
processHandleService.transfer(param.getTaskId(), param.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -87,6 +87,10 @@ public class ProcessNewStandardImport implements Serializable {
|
||||
@ApiModelProperty(value = "标准类型")
|
||||
@Dict(dicCode = "standard_type")
|
||||
private String standardCategory;
|
||||
/**实施日期*/
|
||||
@ApiModelProperty(value = "实施日期")
|
||||
@TableField(exist = false)
|
||||
private String implementationDate;
|
||||
/**标准名称*/
|
||||
@ApiModelProperty(value = "标准名称")
|
||||
@TableField(exist = false)
|
||||
|
||||
+9
-3
@@ -1,10 +1,16 @@
|
||||
package com.jero.modules.activiti.process.ni.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.util.SpringContextUtils;
|
||||
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
|
||||
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
|
||||
import com.jero.modules.activiti.process.standardinterpret.service.StandardInterpretFlowService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -16,13 +22,13 @@ import javax.annotation.Resource;
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ProcessNewStandardImportFlowListener implements TaskListener {
|
||||
public class ProcessNewStandardImportEndListener implements ExecutionListener {
|
||||
|
||||
@Resource
|
||||
private IProcessNewStandardImportService processNewStandardImportService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
processNewStandardImportService.flowListener(delegateTask);
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
processNewStandardImportService.flowListener(delegateExecution);
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -5,12 +5,12 @@
|
||||
<mapper namespace="com.jero.modules.activiti.process.ni.mapper.ProcessNewStandardImportMapper">
|
||||
|
||||
<select id="getStandardNameById" resultType="com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport">
|
||||
select standard_number,standard_name,substitute_standard_number from
|
||||
(select id, standard_number,standard_name,substitute_standard_number
|
||||
select standard_number,standard_name,substitute_standard_number,implementation_date from
|
||||
(select id, standard_number,standard_name,substitute_standard_number,implementation_date
|
||||
from laws_domestic_standard
|
||||
where del_flag = 0
|
||||
union all
|
||||
select id, standard_number,standard_name,substitute_standard_number
|
||||
select id, standard_number,standard_name,substitute_standard_number,implementation_date
|
||||
from laws_enterprise_standard
|
||||
where del_flag = 0) a where id = #{id}
|
||||
</select>
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.ni.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@@ -25,5 +26,5 @@ public interface IProcessNewStandardImportService extends IService<ProcessNewSta
|
||||
|
||||
String generate(ProcessNewStandardImport scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception;
|
||||
|
||||
void flowListener(DelegateTask delegateTask);
|
||||
void flowListener(DelegateExecution delegateExecution);
|
||||
}
|
||||
|
||||
+37
-5
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.ni.service.impl;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
@@ -18,9 +19,13 @@ import com.jero.modules.activiti.process.ni.mapper.ProcessNewStandardImportMappe
|
||||
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.common.service.SendMessageAPI;
|
||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
@@ -40,6 +45,7 @@ import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewStandardImportMapper, ProcessNewStandardImport>
|
||||
implements IProcessNewStandardImportService {
|
||||
@@ -65,6 +71,9 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
@Resource
|
||||
private ProcessNewStandardImportMapper processNewStandardImportMapper;
|
||||
|
||||
@Resource
|
||||
private SendMessageAPI sendMessageAPI;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void startProcess(ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
@@ -99,6 +108,7 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
String userId = UserUtils.getUserId();
|
||||
// 获取第一个任务的taskId
|
||||
String taskId = actFlowCommonService.getFirstTaskId(processInstanceId, userId, processDefinitionId);
|
||||
processTask.setTaskId(taskId);
|
||||
// 保存第一个节点的草稿
|
||||
processHandleService.saveToDraft(processInfoVO, UserUtils.getUserId());
|
||||
// 更新审批表为完成,填充数据
|
||||
@@ -186,8 +196,32 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowListener(DelegateTask delegateTask) {
|
||||
|
||||
public void flowListener(DelegateExecution delegateExecution) {
|
||||
log.info("触发监听");
|
||||
String processInstanceId = delegateExecution.getProcessInstanceId();
|
||||
LambdaQueryWrapper<ProcessNewStandardImport> queryWrapperProcessNewStandardImport = new LambdaQueryWrapper<>();
|
||||
queryWrapperProcessNewStandardImport.eq(ProcessNewStandardImport::getProcessInstanceId, processInstanceId);
|
||||
ProcessNewStandardImport processNewStandardImport = getOne(queryWrapperProcessNewStandardImport,false);
|
||||
if(Objects.isNull(processNewStandardImport)){
|
||||
return;
|
||||
}
|
||||
String copyUser = processNewStandardImport.getCopyUser();
|
||||
ProcessNewStandardImport standardImport = processNewStandardImportMapper.
|
||||
getStandardNameById(processNewStandardImport.getStandardId());
|
||||
if(Objects.isNull(standardImport)){
|
||||
return;
|
||||
}
|
||||
// 流程Key
|
||||
String processDefinitionKey = ProcessType.NEW_STANDARD_IMPORT.getProcessKey();
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
sendMessageDTO.setTemplateCode(processDefinitionKey);
|
||||
sendMessageDTO.setToUserId(copyUser);
|
||||
Map<String, String> sendMap = new HashMap<>();
|
||||
sendMap.put("standardNumber", standardImport.getStandardNumber());
|
||||
sendMap.put("standardName", standardImport.getStandardName());
|
||||
sendMessageDTO.setMap(sendMap);
|
||||
sendMessageAPI.sendMessage(sendMessageDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -196,8 +230,6 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
throw new JeroBootException("任务不存在");
|
||||
}
|
||||
ProcessInfoVO<ProcessNewStandardImport> result = new ProcessInfoVO<>();
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
String executionId = taskService.createTaskQuery().taskId(taskId).singleResult().getExecutionId();
|
||||
// 使用流程引擎根据taskId找到流程实例Id
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程通用数据
|
||||
@@ -222,7 +254,7 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
|
||||
if(!Objects.isNull(processNewStandardImport)){
|
||||
data.setStandardName(processNewStandardImport.getStandardName());
|
||||
data.setStandardNumber(processNewStandardImport.getStandardNumber());
|
||||
data.setStandardCategory(processNewStandardImport.getStandardCategory());
|
||||
data.setImplementationDate(processNewStandardImport.getImplementationDate());
|
||||
data.setSubstituteStandardNumber(processNewStandardImport.getSubstituteStandardNumber());
|
||||
}
|
||||
result.setBusinessInfoDTO(data);
|
||||
|
||||
Reference in New Issue
Block a user