添加市场法规发布流程接口
This commit is contained in:
+68
@@ -0,0 +1,68 @@
|
||||
package com.jero.modules.activiti.process.ms.common;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 15:28
|
||||
*/
|
||||
public class ProcessNewStandardImportConstants {
|
||||
|
||||
/** 法规工程师 */
|
||||
public static final String STANDARD_ENGINEER = "standardEngineer";
|
||||
/** 各部门接口人 */
|
||||
public static final String DEPT_USER = "deptUser";
|
||||
/** 主排查人 */
|
||||
public static final String MAIN_CHECK_USER = "mainCheckUser";
|
||||
/** 会签人员列表 */
|
||||
public static final String COUNTERSIGN_USER_LIST = "countersignUserList";
|
||||
/** 设计工程师科室经理审核 */
|
||||
public static final String MANAGER = "manager";
|
||||
/** 高级经理/技术官 */
|
||||
public static final String SENIOR_MANAGER = "seniorManager";
|
||||
/** 未分配数量 */
|
||||
public static final String UNALLOCATED_QUANTITY = "unallocatedQuantity";
|
||||
|
||||
/**
|
||||
* 法规工程师发起
|
||||
*/
|
||||
public static final String STANDARD_ENGINEER_START = "sid-F144BD89-366F-482C-89DE-3AE2BD22D371";
|
||||
/**
|
||||
* 各部门接口人分发
|
||||
*/
|
||||
public static final String DEPT_USER_DISTRIBUTE = "sid-F07416DD-65BF-499E-AC96-F7A407AA3CEB";
|
||||
/**
|
||||
* 主排查人分发
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_DISTRIBUTE = "sid-96A59284-7EE2-4F10-A327-F76BC26B95F8";
|
||||
/**
|
||||
* 主排查人分发
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_REDISTRIBUTE = "sid-3D1BFC0F-9074-4868-891F-2F76D00A21C7";
|
||||
/**
|
||||
* 主排查人汇总
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_COLLECT = "sid-A478E1B2-84B6-4884-875B-E6C53392BC4F";
|
||||
/**
|
||||
* 会签
|
||||
*/
|
||||
public static final String COUNTERSIGN = "sid-D3B3377E-9392-44D6-81D5-9DDDA91FB083";
|
||||
/**
|
||||
* 设计工程师科室经理审核
|
||||
*/
|
||||
public static final String MANAGER_APPROVAL = "sid-B253F229-2E92-4882-A054-EAA068069F0F";
|
||||
/**
|
||||
* 高级经理/技术官审核
|
||||
*/
|
||||
public static final String SENIOR_MANAGER_APPROVAL = "sid-31D9FF6F-D1BE-4B02-910C-5DB7A5D0A626";
|
||||
/**
|
||||
* 设计工程师工程师评估
|
||||
*/
|
||||
public static final String DESIGNER_ENGINEER_EVALUATION = "sid-45FC4ED6-DB83-49E0-A080-55192B7860EB";
|
||||
/**
|
||||
* 主排查人审核
|
||||
*/
|
||||
public static final String MAIN_CHECK_USER_APPROVAL = "sid-C9A2FE2E-8A8A-4846-8010-5AE4ECF14DFE";
|
||||
/** 自动任务 */
|
||||
public static final String AUTO_TASK_1 = "sid-95E41F78-FE01-4FEC-BF8B-EC11DFBA8824";
|
||||
public static final String AUTO_TASK_2 = "autoTask_2";
|
||||
public static final String AUTO_TASK_3 = "autoTask_3";
|
||||
}
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
package com.jero.modules.activiti.process.ms.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.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ms.entity.ProcessMarketStandardRelease;
|
||||
import com.jero.modules.activiti.process.ms.service.IProcessMarketStandardReleaseService;
|
||||
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;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 流程-市场法规清单发布流程
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "市场法规清单发布流程")
|
||||
@RestController
|
||||
@RequestMapping("process/marketStandardRelease")
|
||||
public class ProcessMarketStandardReleaseController extends JeroController<ProcessMarketStandardRelease
|
||||
, IProcessMarketStandardReleaseService> {
|
||||
|
||||
@Resource
|
||||
private IProcessMarketStandardReleaseService sccService;
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@AutoLog(value = "市场法规清单发布流程-发起流程")
|
||||
@ApiOperation(value = "市场法规清单发布流程-发起流程", notes = "市场法规清单发布流程-发起流程")
|
||||
@PostMapping(value = "/start")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
sccService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存到草稿
|
||||
* @param processInfoVO
|
||||
*/
|
||||
@AutoLog(value = "市场法规清单发布流程-保存")
|
||||
@ApiOperation(value="市场法规清单发布流程-保存", notes="市场法规清单发布流程-保存")
|
||||
@PostMapping("/save")
|
||||
public Result<?> save(@Validated @RequestBody ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
sccService.saveToDraft(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "市场法规清单发布流程-同意")
|
||||
@ApiOperation(value = "市场法规清单发布流程-同意", notes = "市场法规清单发布流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
sccService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "市场法规清单发布流程-驳回")
|
||||
@ApiOperation(value = "市场法规清单发布流程-驳回", notes = "市场法规清单发布流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
sccService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "市场法规清单发布流程-提交")
|
||||
@ApiOperation(value = "市场法规清单发布流程-提交", notes = "市场法规清单发布流程-提交")
|
||||
@PostMapping("/submit")
|
||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
sccService.submit(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "市场法规清单发布流程-转办")
|
||||
@ApiOperation(value="市场法规清单发布流程-转办", notes="市场法规清单发布流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody DelegateTaskParam param) {
|
||||
processHandleService.transfer(param.getTaskId(), param.getUserId());
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新法规导入流程-办理
|
||||
* @param taskId
|
||||
*/
|
||||
@AutoLog(value = "市场法规清单发布流程-办理")
|
||||
@ApiOperation(value="市场法规清单发布流程-办理", notes="市场法规清单发布流程-办理")
|
||||
@GetMapping("/handle/{taskId}")
|
||||
@Translation
|
||||
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
||||
ProcessDraft draft = actFlowCommonService.getExistDraftByTaskId(taskId, ProcessTypeEnum.NEW_STANDARD_IMPORT);
|
||||
if (draft != null) {
|
||||
return Result.OK(draft);
|
||||
}
|
||||
return Result.OK(sccService.getHandleData(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成
|
||||
* @param scc
|
||||
*/
|
||||
@AutoLog(value = "市场法规清单发布流程-生成")
|
||||
@ApiOperation(value="市场法规清单发布流程-生成", notes="市场法规清单发布流程-生成")
|
||||
@PostMapping("/generate")
|
||||
@Translation
|
||||
public Result<?> generate(@RequestPart("scc") ProcessMarketStandardRelease scc,
|
||||
@RequestPart("modelFile") MultipartFile modelFile,
|
||||
@RequestPart(name = "splitFile", required = false) MultipartFile splitFile) throws Exception {
|
||||
return Result.OK(sccService.generate(scc, modelFile, splitFile));
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
package com.jero.modules.activiti.process.ms.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName process_market_standard_release
|
||||
*/
|
||||
@TableName(value ="process_market_standard_release")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_market_standard_release对象", description="市场法规清单发布流程-主表")
|
||||
public class ProcessMarketStandardRelease implements Serializable {
|
||||
|
||||
/**主键*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 标准ID
|
||||
*/
|
||||
@ApiModelProperty(value = "标准ID")
|
||||
private String standardId;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date createTime;
|
||||
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
/**
|
||||
* 0表示未删除,1表示删除
|
||||
*/
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
|
||||
/**清单id*/
|
||||
@ApiModelProperty(value = "清单id")
|
||||
private String manifestId;
|
||||
/**清单编号*/
|
||||
@ApiModelProperty(value = "清单编号")
|
||||
private String manifestNo;
|
||||
/**清单名称*/
|
||||
@ApiModelProperty(value = "清单名称")
|
||||
private String manifestName;
|
||||
/**国家/地区*/
|
||||
@ApiModelProperty(value = "国家/地区")
|
||||
@Dict(dicCode = "market_state")
|
||||
private String country;
|
||||
|
||||
/**
|
||||
* 标准详情列表
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<LawsMarketStandardDetail> list;
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.jero.modules.activiti.process.ms.listener;
|
||||
|
||||
import com.jero.modules.activiti.process.ms.service.IProcessMarketStandardReleaseService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-06-18 15:43
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ProcessMarketStandardReleaseEndListener implements ExecutionListener {
|
||||
|
||||
@Resource
|
||||
private IProcessMarketStandardReleaseService processMarketStandardReleaseService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
processMarketStandardReleaseService.flowListener(delegateExecution);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.jero.modules.activiti.process.ms.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.ms.entity.ProcessMarketStandardRelease;
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @description 针对表【process_standard_import】的数据库操作Mapper
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
* @Entity
|
||||
*/
|
||||
public interface ProcessMarketStandardReleaseMapper extends BaseMapper<ProcessMarketStandardRelease> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.ni.mapper.ProcessNewStandardImportMapper">
|
||||
|
||||
</mapper>
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.jero.modules.activiti.process.ms.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ms.entity.ProcessMarketStandardRelease;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
public interface IProcessMarketStandardReleaseService extends IService<ProcessMarketStandardRelease> {
|
||||
|
||||
void startProcess(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO);
|
||||
|
||||
void saveToDraft(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO);
|
||||
|
||||
void approveTask(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO, boolean b);
|
||||
|
||||
ProcessInfoVO<ProcessMarketStandardRelease> getHandleData(String taskId);
|
||||
|
||||
void submit(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO);
|
||||
|
||||
String generate(ProcessMarketStandardRelease scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception;
|
||||
|
||||
void flowListener(DelegateExecution delegateExecution);
|
||||
}
|
||||
+257
@@ -0,0 +1,257 @@
|
||||
package com.jero.modules.activiti.process.ms.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.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.ms.entity.ProcessMarketStandardRelease;
|
||||
import com.jero.modules.activiti.process.ms.mapper.ProcessMarketStandardReleaseMapper;
|
||||
import com.jero.modules.activiti.process.ms.service.IProcessMarketStandardReleaseService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
||||
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.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<ProcessMarketStandardReleaseMapper, ProcessMarketStandardRelease>
|
||||
implements IProcessMarketStandardReleaseService {
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private ProcessMarketStandardReleaseMapper processMarketStandardReleaseMapper;
|
||||
|
||||
@Resource
|
||||
private ILawsMarketStandardDetailService lawsMarketStandardDetailService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void startProcess(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
// 流程Key
|
||||
String processDefinitionKey = ProcessType.MARKET_STANDARD_PUBLISH.getProcessKey();
|
||||
// 流程信息
|
||||
BasicProcessInfoDTO processInfo = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 任务信息
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
// 人员信息
|
||||
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
|
||||
// 业务数据
|
||||
ProcessMarketStandardRelease businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = setVariables(userInfoMap);
|
||||
// 删除草稿
|
||||
actFlowCommonService.getExistDraftAndRemove(processInfoVO.getDraftId());
|
||||
// 启动流程
|
||||
ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, actVariables);
|
||||
|
||||
// 获取流程实例ID
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
String processInstanceId = processInstance.getId();
|
||||
businessInfoDTO.setProcessInstanceId(processInstanceId);
|
||||
processInfo.setProcessInstanceId(processInstanceId);
|
||||
processInfo.setProcessDefinitionId(processDefinitionId);
|
||||
processInfo.setProcessType(ProcessTypeEnum.MARKET_STANDARD_PUBLISH.getValue());
|
||||
// 第一个节点业务数据处理
|
||||
this.startNodeBusProcess(processInfoVO);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
|
||||
// 当前用户Id
|
||||
String userId = UserUtils.getUserId();
|
||||
// 获取第一个任务的taskId
|
||||
String taskId = actFlowCommonService.getFirstTaskId(processInstanceId, userId, processDefinitionId);
|
||||
processTask.setTaskId(taskId);
|
||||
// 保存第一个节点的草稿
|
||||
processHandleService.saveToDraft(processInfoVO, UserUtils.getUserId());
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 自动完成第一个任务
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 根据流程实例id更新流程总表
|
||||
actFlowCommonService.updateProcessAll(processInfo);
|
||||
}
|
||||
|
||||
private Map<String, Object> setVariables(Map<String, Object> userInfoMap) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
// 人员信息
|
||||
userInfoMap.forEach((key, value) -> {
|
||||
if(Objects.equals("moreUserList",key + "List")){
|
||||
map.put(key, value);
|
||||
map.put(key + "List", Arrays.asList(value.toString().split(",")));
|
||||
return;
|
||||
}
|
||||
map.put(key, value);
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void saveToDraft(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
// 流程信息
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 流程类型
|
||||
basicProcessInfoDTO.setProcessType(ProcessTypeEnum.NEW_STANDARD_IMPORT.getValue());
|
||||
processHandleService.saveToDraft(processInfoVO, UserUtils.getUserId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 第一个节点业务数据处理
|
||||
* @param processInfoVO
|
||||
*/
|
||||
private void startNodeBusProcess(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
ProcessMarketStandardRelease businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
save(businessInfoDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void approveTask(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO, boolean pass) {
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = processTask.getTaskId();
|
||||
// 获取task
|
||||
if (StrUtil.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
// 获取执行id
|
||||
String executionId = task.getExecutionId();
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord record = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = record.getNodeId();
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取当前流程
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
Map<String, Object> userMap = new HashMap<>();
|
||||
Map<String, Object> flowUser;
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
String curUserId;
|
||||
switch (xmlNodeId) {
|
||||
|
||||
}
|
||||
// 转办修改流程变量逻辑
|
||||
switch (xmlNodeId) {
|
||||
|
||||
|
||||
}
|
||||
runtimeService.setVariable(processInstanceId, PASS, pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void submit(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
|
||||
startProcess(processInfoVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generate(ProcessMarketStandardRelease scc, MultipartFile modelFile, MultipartFile splitFile) throws Exception {
|
||||
// 新增流程主表数据
|
||||
this.save(scc);
|
||||
// 返回主键
|
||||
return scc.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowListener(DelegateExecution delegateExecution) {
|
||||
log.info("触发监听");
|
||||
String processInstanceId = delegateExecution.getProcessInstanceId();
|
||||
LambdaQueryWrapper<ProcessMarketStandardRelease> queryWrapperProcessMarketStandardRelease = new LambdaQueryWrapper<>();
|
||||
queryWrapperProcessMarketStandardRelease.eq(ProcessMarketStandardRelease::getProcessInstanceId, processInstanceId);
|
||||
ProcessMarketStandardRelease processMarketStandardRelease = getOne(queryWrapperProcessMarketStandardRelease,false);
|
||||
if(Objects.isNull(processMarketStandardRelease)){
|
||||
return;
|
||||
}
|
||||
// todo 更新业务状态
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessInfoVO<ProcessMarketStandardRelease> getHandleData(String taskId) {
|
||||
if (!actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("任务不存在");
|
||||
}
|
||||
ProcessInfoVO<ProcessMarketStandardRelease> result = new ProcessInfoVO<>();
|
||||
// 使用流程引擎根据taskId找到流程实例Id
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程通用数据
|
||||
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());
|
||||
result.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<ProcessMarketStandardRelease> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ProcessMarketStandardRelease::getProcessInstanceId, processInstanceId);
|
||||
ProcessMarketStandardRelease data = getOne(lambdaQueryWrapper,false);
|
||||
if(!Objects.isNull(data)){
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,data.getManifestId());
|
||||
queryLawsMarketStandardDetail.orderByDesc(LawsMarketStandardDetail::getId);
|
||||
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = lawsMarketStandardDetailService.list();
|
||||
if(!CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
|
||||
data.setList(listLawsMarketStandardDetail);
|
||||
}
|
||||
result.setBusinessInfoDTO(data);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.jero.modules.activiti.process.ms.vo;
|
||||
|
||||
|
||||
import com.jero.modules.activiti.process.ms.entity.ProcessMarketStandardRelease;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProcessMarketStandardReleaseVO {
|
||||
|
||||
ProcessMarketStandardRelease standardInfo;
|
||||
}
|
||||
+2
-2
@@ -56,8 +56,8 @@ public class ProcessNewStandardImportController extends JeroController<ProcessNe
|
||||
* 保存到草稿
|
||||
* @param processInfoVO
|
||||
*/
|
||||
@AutoLog(value = "企标废止发起流程-保存")
|
||||
@ApiOperation(value="企标废止发起流程-保存", notes="企标废止发起流程-保存")
|
||||
@AutoLog(value = "新法规导入流程-保存")
|
||||
@ApiOperation(value="新法规导入流程-保存", notes="新法规导入流程-保存")
|
||||
@PostMapping("/save")
|
||||
public Result<?> save(@Validated @RequestBody ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
|
||||
sccService.saveToDraft(processInfoVO);
|
||||
|
||||
+21
@@ -5,6 +5,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
@@ -58,6 +59,26 @@ public class MarketStandardController {
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页列表查询不带权限
|
||||
*
|
||||
* @param marketStandard
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-分页列表查询不带权限")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-分页列表查询不带权限", notes = "外部标准库-市场法规清单-分页列表查询不带权限")
|
||||
@GetMapping(value = "/queryPageListByOther")
|
||||
@ApiOperationSupport(order = 1)
|
||||
public Result<IPage<LawsMarketStandard>> queryPageListByOther(LawsMarketStandard marketStandard,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
IPage<LawsMarketStandard> pageList = marketStandardService.queryPage(marketStandard, pageNo, pageSize);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看
|
||||
*
|
||||
|
||||
+3
@@ -101,6 +101,9 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
}
|
||||
});
|
||||
}
|
||||
if (StringUtils.isNotBlank(marketStandard.getManifestStatus())) {
|
||||
queryWrapper.in("ms.manifest_status",Arrays.asList(marketStandard.getManifestStatus().split(",")));
|
||||
}
|
||||
if (StringUtils.isNotBlank(marketStandard.getDrivePosition())) {
|
||||
String[] str = marketStandard.getDrivePosition().split(",");
|
||||
queryWrapper.and(i->{
|
||||
|
||||
Reference in New Issue
Block a user