diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java
index 4f901d18..83dda701 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/enums/ProcessTypeEnum.java
@@ -15,6 +15,7 @@ public enum ProcessTypeEnum {
STANDARD_INTERPRET("标准解读流程", 2, "com.jero.modules.activiti.process.standardinterpret.service.impl.StandardInterpretFlow", "/workCenter/StandardInterpretationProcess", "/workCenter/StandardInterpretationProcess"),
STANDARD_COMPLIANCE_CHECK("法规符合性排查流程", 3, "com.jero.modules.activiti.process.standardComplianceCheck.service.StandardComplianceCheckFlow", "/workCenter/RegulatoryComplianceCheckProcess", "/workCenter/RegulatoryComplianceCheckProcess"),
MARKET_STANDARD_PUBLISH("市场清单发布流程", 4, "com.jero.modules.activiti.process.ms.service.impl.ProcessMarketStandardReleaseServiceImpl", "/workCenter/MarketListReleaseProcess", "/workCenter/MarketListReleaseProcess"),
+ ENTERPRISE_STANDARD_ABOLISH_PUBLISH("企标废止发布流程", 5, "com.jero.modules.activiti.process.abolish.service.impl.ProcessAbolishReleaseServiceImpl", "/workCenter/AbolishReleaseProcess", "/workCenter/AbolishReleaseProcess"),
;
private final String name;
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/controller/ProcessAbolishReleaseController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/controller/ProcessAbolishReleaseController.java
new file mode 100644
index 00000000..ff96d1a9
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/controller/ProcessAbolishReleaseController.java
@@ -0,0 +1,84 @@
+package com.jero.modules.activiti.process.abolish.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.modules.activiti.enums.ProcessTypeEnum;
+import com.jero.modules.activiti.process.abolish.entity.ProcessAbolishRelease;
+import com.jero.modules.activiti.process.abolish.service.IProcessAbolishReleaseService;
+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.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 javax.annotation.Resource;
+
+/**
+ *
+ * 企标废止发布流程 前端控制器
+ *
+ *
+ * @author sz
+ * @since 2024-09-05
+ */
+@Slf4j
+@Api(tags = "企标废止发布流程")
+@RestController
+@RequestMapping("/process/abolishRelease")
+public class ProcessAbolishReleaseController {
+
+ @Resource
+ private IProcessAbolishReleaseService processAbolishReleaseService;
+
+ @Resource
+ private ActFlowCommonService actFlowCommonService;
+
+ @AutoLog(value = "企标废止发布流程-发起流程")
+ @ApiOperation(value = "企标废止发布流程-发起流程", notes = "企标废止发布流程-发起流程")
+ @PostMapping(value = "/start")
+ public Result startProcess(@Validated @RequestBody ProcessInfoVO processInfoVO) {
+ processAbolishReleaseService.startProcess(processInfoVO);
+ return Result.OK();
+ }
+
+ @AutoLog(value = "企标废止发布流程-同意")
+ @ApiOperation(value = "企标废止发布流程-同意", notes = "企标废止发布流程-同意")
+ @PostMapping("/agree")
+ public Result agree(@Validated @RequestBody ProcessInfoVO processInfoVO) {
+ processAbolishReleaseService.approveTask(processInfoVO, true);
+ return Result.OK();
+ }
+
+ @AutoLog(value = "企标废止发布流程-驳回")
+ @ApiOperation(value = "企标废止发布流程-驳回", notes = "企标废止发布流程-驳回")
+ @PostMapping("/reject")
+ public Result reject(@Validated @RequestBody ProcessInfoVO processInfoVO) {
+ processAbolishReleaseService.approveTask(processInfoVO, false);
+ return Result.OK();
+ }
+
+ @AutoLog(value = "企标废止发布流程-提交")
+ @ApiOperation(value = "企标废止发布流程-提交", notes = "企标废止发布流程-提交")
+ @PostMapping("/submit")
+ public Result submit(@Validated @RequestBody ProcessInfoVO processInfoVO) {
+ processAbolishReleaseService.submit(processInfoVO);
+ return Result.OK();
+ }
+
+ @AutoLog(value = "企标废止发布流程-办理")
+ @ApiOperation(value="企标废止发布流程-办理", notes="企标废止发布流程-办理")
+ @GetMapping("/handle/{taskId}")
+ @Translation
+ public Result> handle(@PathVariable("taskId") String taskId) {
+ ProcessDraft draft = actFlowCommonService.getExistDraftByTaskId(taskId, ProcessTypeEnum.ENTERPRISE_STANDARD_ABOLISH_PUBLISH);
+ if (draft != null) {
+ return Result.OK(draft);
+ }
+ return Result.OK(processAbolishReleaseService.getHandleData(taskId));
+ }
+
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/entity/ProcessAbolishRelease.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/entity/ProcessAbolishRelease.java
new file mode 100644
index 00000000..e34faf65
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/entity/ProcessAbolishRelease.java
@@ -0,0 +1,77 @@
+package com.jero.modules.activiti.process.abolish.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ * 企标废止发布流程
+ *
+ *
+ * @author sz
+ * @since 2024-09-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("process_abolish_release")
+@ApiModel(value="ProcessAbolishRelease对象", description="企标废止发布流程")
+public class ProcessAbolishRelease implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "主键ID")
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private String id;
+
+ @ApiModelProperty(value = "流程实例Id")
+ private String processInstanceId;
+
+ @ApiModelProperty(value = "标准编号")
+ private String standardNumber;
+
+ @ApiModelProperty(value = "标准名称")
+ private String standardName;
+
+ @ApiModelProperty(value = "起草人")
+ private String drafter;
+
+ @ApiModelProperty(value = "主起草部门")
+ private String drafterDepart;
+
+ @ApiModelProperty(value = "关联部门")
+ private String relatedDepart;
+
+ @ApiModelProperty(value = "废止理由")
+ private String abolishReason;
+
+ @ApiModelProperty(value = "附件文件id")
+ private String fileIds;
+
+ @ApiModelProperty(value = "0表示未删除,1表示删除")
+ private Integer delFlag;
+
+ @ApiModelProperty(value = "创建人")
+ private String createBy;
+
+ @ApiModelProperty(value = "创建时间")
+ private Date createTime;
+
+ @ApiModelProperty(value = "更新人")
+ private String updateBy;
+
+ @ApiModelProperty(value = "更新时间")
+ private Date updateTime;
+
+
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/listener/ProcessESAbolishEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/listener/ProcessESAbolishEndListener.java
new file mode 100644
index 00000000..5cd8f02e
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/listener/ProcessESAbolishEndListener.java
@@ -0,0 +1,54 @@
+package com.jero.modules.activiti.process.abolish.listener;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.jero.modules.activiti.process.abolish.entity.ProcessAbolishRelease;
+import com.jero.modules.activiti.process.abolish.service.IProcessAbolishReleaseService;
+import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
+import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
+import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
+import com.jero.modules.tag.enums.TableNameEnum;
+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: Mzaxd
+ * @Date: 2023/10/10 14:14
+ */
+@Slf4j
+@Component("ProcessESAbolishEndListener")
+public class ProcessESAbolishEndListener implements ExecutionListener {
+
+ @Resource
+ private ILawsEnterpriseStandardService esService;
+
+ @Resource
+ private IProcessAbolishReleaseService processAbolishReleaseService;
+
+ /**
+ * 企标废止流程结束之后需要把标准状态设为废止
+ * @param delegateExecution
+ */
+ @Override
+ public void notify(DelegateExecution delegateExecution) {
+ log.info("企标废止流程结束 监听执行器开始执行");
+ // 找到流程实例Id
+ String processInstanceId = delegateExecution.getProcessInstanceId();
+ LambdaQueryWrapper abolishLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ abolishLambdaQueryWrapper.eq(ProcessAbolishRelease::getProcessInstanceId, processInstanceId);
+ ProcessAbolishRelease abolish = processAbolishReleaseService.getOne(abolishLambdaQueryWrapper);
+ String standNo = abolish.getStandardNumber();
+ LambdaQueryWrapper esWrapper = new LambdaQueryWrapper<>();
+ esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standNo);
+ LawsEnterpriseStandard one = esService.getOne(esWrapper);
+ log.info("企标废止流程监听执行器开始执行,企标编号为:{}", standNo);
+ esService.update(new LambdaUpdateWrapper()
+ .set(LawsEnterpriseStandard::getStandardState, StandardStateEnum.ABOLISH.getStateValue())
+ .eq(LawsEnterpriseStandard::getStandardNumber, standNo));
+ // todo 如果需要发消息可以在此处编写
+ log.info("企标废止流程结束监听执行器执行结束");
+ }
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/mapper/ProcessAbolishReleaseMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/mapper/ProcessAbolishReleaseMapper.java
new file mode 100644
index 00000000..dcdf5973
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/mapper/ProcessAbolishReleaseMapper.java
@@ -0,0 +1,16 @@
+package com.jero.modules.activiti.process.abolish.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jero.modules.activiti.process.abolish.entity.ProcessAbolishRelease;
+
+/**
+ *
+ * 企标废止发布流程 Mapper 接口
+ *
+ *
+ * @author sz
+ * @since 2024-09-05
+ */
+public interface ProcessAbolishReleaseMapper extends BaseMapper {
+
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/mapper/xml/ProcessAbolishReleaseMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/mapper/xml/ProcessAbolishReleaseMapper.xml
new file mode 100644
index 00000000..34028e8b
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/mapper/xml/ProcessAbolishReleaseMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/service/IProcessAbolishReleaseService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/service/IProcessAbolishReleaseService.java
new file mode 100644
index 00000000..96facfe9
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/service/IProcessAbolishReleaseService.java
@@ -0,0 +1,25 @@
+package com.jero.modules.activiti.process.abolish.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jero.modules.activiti.process.abolish.entity.ProcessAbolishRelease;
+import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
+import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
+
+/**
+ *
+ * 企标废止发布流程 服务类
+ *
+ *
+ * @author sz
+ * @since 2024-09-05
+ */
+public interface IProcessAbolishReleaseService extends IService {
+
+ void startProcess(ProcessInfoVO processInfoVO);
+
+ void approveTask(ProcessInfoVO processInfoVO, boolean pass);
+
+ ProcessInfoVO getHandleData(String taskId);
+
+ void submit(ProcessInfoVO processInfoVO);
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/service/impl/ProcessAbolishReleaseServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/service/impl/ProcessAbolishReleaseServiceImpl.java
new file mode 100644
index 00000000..07a3ba0c
--- /dev/null
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/abolish/service/impl/ProcessAbolishReleaseServiceImpl.java
@@ -0,0 +1,281 @@
+package com.jero.modules.activiti.process.abolish.service.impl;
+
+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.common.ActivitiCommon;
+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.abolish.entity.ProcessAbolishRelease;
+import com.jero.modules.activiti.process.abolish.mapper.ProcessAbolishReleaseMapper;
+import com.jero.modules.activiti.process.abolish.service.IProcessAbolishReleaseService;
+import com.jero.modules.activiti.process.common.enums.ProcessType;
+import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
+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.service.ProcessAllService;
+import com.jero.modules.activiti.service.ProcessApprovalRecordService;
+import com.jero.modules.activiti.service.ProcessNodeLinkService;
+import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
+import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
+import com.jero.modules.sys.utils.UserUtils;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.TaskService;
+import org.activiti.engine.runtime.ProcessInstance;
+import org.activiti.engine.task.Task;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
+
+/**
+ *
+ * 企标废止发布流程 服务实现类
+ *
+ *
+ * @author sz
+ * @since 2024-09-05
+ */
+@Service
+@Transactional(rollbackFor = JeroBootException.class)
+public class ProcessAbolishReleaseServiceImpl extends ServiceImpl implements IProcessAbolishReleaseService {
+
+ @Resource
+ private ActFlowCommonService actFlowCommonService;
+ @Resource
+ private ProcessNodeLinkService processNodeLinkService;
+ @Resource
+ private ProcessApprovalRecordService processApprovalRecordService;
+ @Resource
+ private ProcessAllService processAllService;
+ @Resource
+ private RuntimeService runtimeService;
+ @Resource
+ private IProcessHandleService processHandleService;
+ @Resource
+ private TaskService taskService;
+ @Resource
+ private ILawsEnterpriseStandardService esService;
+
+ @Override
+ public void startProcess(ProcessInfoVO processInfoVO) {
+ // 流程Key
+ String processDefinitionKey = ProcessType.ENTERPRISE_STANDARD_ABOLISH_PUBLISH.getProcessKey();
+ // 流程信息
+ BasicProcessInfoDTO processInfo = processInfoVO.getBasicProcessInfoDTO();
+ // 任务信息
+ BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
+ // 人员信息
+ Map userInfoMap = processInfoVO.getUserInfoMap();
+ // 业务数据
+ ProcessAbolishRelease businessInfoDTO = processInfoVO.getBusinessInfoDTO();
+ // 设置流程变量
+ Map 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.ENTERPRISE_STANDARD_ABOLISH_PUBLISH.getValue());
+ // 第一个节点业务数据处理
+ this.startNodeBusProcess(processInfoVO);
+ // 保存选人信息
+ processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, changeVariables(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);
+ // 根据流程实例id更新流程总表
+ actFlowCommonService.updateProcessAll(processInfo);
+ // 自动完成第一个任务
+ actFlowCommonService.completeTask(taskId, userId);
+ // 保存快照
+ processHandleService.saveToSnapshot(processInfoVO,userId);
+ }
+
+ @Override
+ public void approveTask(ProcessInfoVO processInfoVO, boolean pass) {
+ BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
+ String taskId = processTask.getTaskId();
+ // 获取task
+ if (StringUtils.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
+ throw new JeroBootException("taskId为空或任务不存在");
+ }
+ // 获取当前节点的id
+ ProcessApprovalRecord processApprovalRecord = actFlowCommonService.getNodeIdByTaskId(taskId);
+ String xmlNodeId = processApprovalRecord.getNodeId();
+ //任务Id 查询任务对象
+ Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+ String processInstanceId = task.getProcessInstanceId();
+ String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
+ if(Objects.isNull(task)){
+ throw new JeroBootException("找不到对应任务");
+ }
+ if (pass && task.getName().equals("授权人审批")) {
+ ProcessAbolishRelease businessInfoDTO = this.getOne(new LambdaQueryWrapper()
+ .eq(ProcessAbolishRelease::getProcessInstanceId, processInstanceId));
+ String standardNumber = businessInfoDTO.getStandardNumber();
+ LawsEnterpriseStandard es = esService.getOne(new LambdaQueryWrapper()
+ .eq(LawsEnterpriseStandard::getStandardNumber, standardNumber));
+ if (StandardStateEnum.ABOLISH.getStateValue().equals(es.getStandardState())) {
+ throw new JeroBootException("该标准已废止,需要驳回重新选择");
+ }
+ }
+ if(Objects.isNull(processTask.getCommitFlag())){
+ processTask.setCommitFlag(pass ? ActivitiCommon.COMMIT_FLAG1 : ActivitiCommon.COMMIT_FLAG2);
+ }
+ // 更新审批表为完成,填充数据
+ actFlowCommonService.updateApprovalInfo(processTask, taskId);
+ // 设置流程变量
+ runtimeService.setVariable(processInstanceId, PASS, pass);
+ // 审批节点
+ actFlowCommonService.completeTask(taskId, userId);
+ // 驳回,结束所有节点
+ processApprovalRecordService.updateApprovalRecordFinishFlag(pass, taskId, xmlNodeId, processInstanceId);
+ // 保存快照
+ // 获取流程通用数据
+ 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);
+ // 保存快照
+ processHandleService.saveToSnapshot(processInfoVO,userId);
+ }
+ }
+
+ @Override
+ public void submit(ProcessInfoVO processInfoVO) {
+ BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
+ String taskId = processTask.getTaskId();
+ // 获取task
+ if (StringUtils.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
+ throw new JeroBootException("taskId为空或任务不存在");
+ }
+ //任务Id 查询任务对象
+ Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+ if(Objects.isNull(task)){
+ throw new JeroBootException("找不到对应任务");
+ }
+ // 人员信息
+ Map userInfoMap = processInfoVO.getUserInfoMap();
+ // 设置流程变量
+ Map actVariables = setVariables(userInfoMap);
+ String processInstanceId = task.getProcessInstanceId();
+ runtimeService.setVariables(processInstanceId,actVariables);
+ String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
+ // 发起节点 更新业务数据
+ startNodeBusProcess(processInfoVO);
+ // 更新审批表为完成,填充数据
+ actFlowCommonService.updateApprovalInfo(processTask, taskId);
+ // 审批节点
+ actFlowCommonService.completeTask(taskId, userId);
+ // 保存快照
+ // 获取流程通用数据
+ 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);
+ // 保存快照
+ processHandleService.saveToSnapshot(processInfoVO,userId);
+ }
+ }
+
+ @Override
+ public ProcessInfoVO getHandleData(String taskId) {
+ if (!actFlowCommonService.taskExists(taskId)) {
+ throw new JeroBootException("任务不存在");
+ }
+ ProcessInfoVO 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 lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(ProcessAbolishRelease::getProcessInstanceId, processInstanceId);
+ ProcessAbolishRelease data = getOne(lambdaQueryWrapper,false);
+ result.setBusinessInfoDTO(data);
+ return result;
+ }
+
+ private void startNodeBusProcess(ProcessInfoVO processInfoVO) {
+ ProcessAbolishRelease businessInfoDTO = processInfoVO.getBusinessInfoDTO();
+ saveOrUpdate(businessInfoDTO);
+ }
+
+ private Map setVariables(Map userInfoMap) {
+ Map map = new HashMap<>();
+ // 人员信息
+ userInfoMap.forEach((key, value) -> {
+ if(Objects.equals("checkUserLeader1List",key + "List") ||
+ Objects.equals("checkUserLeader2List",key + "List") ||
+ Objects.equals("checkUserLeader3List",key + "List") ||
+ Objects.equals("checkUserLeader4List",key + "List") ||
+ Objects.equals("checkUserLeader5List",key + "List") ||
+ Objects.equals("checkUserLeader6List",key + "List")){
+ map.put(key, value);
+ map.put(key + "List", Arrays.asList(value.toString().split(",")));
+ return;
+ }
+ map.put(key, value);
+ });
+ return map;
+ }
+
+ private Map changeVariables(Map userInfoMap) {
+ Map map = new HashMap<>();
+ // 人员信息
+ userInfoMap.forEach((key, value) -> {
+ if(Objects.equals("checkUserLeader1List",key + "List") ||
+ Objects.equals("checkUserLeader4List",key + "List") ||
+ Objects.equals("checkUserLeader5List",key + "List") ||
+ Objects.equals("checkUserLeader6List",key + "List")){
+ map.put(key + "List", value);
+ return;
+ }
+ map.put(key, value);
+ });
+ return map;
+ }
+}
diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/ProcessType.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/ProcessType.java
index 633d08d0..0a15ad25 100644
--- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/ProcessType.java
+++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/enums/ProcessType.java
@@ -15,6 +15,7 @@ public enum ProcessType {
STANDARD_INTERPRET("标准解读流程", "2", "standard_interpret", "StandardInterpretFlowServiceImpl"),
STANDARD_COMPLIANCE_CHECK("法规符合性评估流程", "3", "laws-evaluation-main", "ProcessStandardComplianceCheckServiceImpl"),
MARKET_STANDARD_PUBLISH("市场清单发布流程", "4", "market_standard_publish", "ProcessNewStandardImportServiceImpl"),
+ ENTERPRISE_STANDARD_ABOLISH_PUBLISH("企标废止发布流程", "5", "enterprise_standard_abolish_publish", "ProcessAbolishReleaseServiceImpl"),
;
private final String name;
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java
index 35564c61..c93491f3 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubMeeting.java
@@ -57,8 +57,8 @@ public class LawsClubMeeting implements Serializable {
@Excel(name = "会议费用", width = 20)
private String meetingCost;
- @ApiModelProperty(value = "线下/线上地点")
- @Excel(name = "线下/线上地点", width = 20)
+ @ApiModelProperty(value = "线上/线下地点")
+ @Excel(name = "线上/线下地点", width = 20)
private String meetingPlace;
@ApiModelProperty(value = "计划完成日期")
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java
index 36edaae5..e25b5206 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/club/entity/LawsClubResearchInformation.java
@@ -62,6 +62,7 @@ public class LawsClubResearchInformation implements Serializable {
@ApiModelProperty(value = "专业接口人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
+ @Excel(name = "专业接口人", width = 20, dicText = "realname", dicCode = "id", dictTable = "sys_user")
private String specializedInterfacePerson;
@ApiModelProperty(value = "专业模块")
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java
index 4f9f839f..0baaecb2 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/club/service/impl/LawsClubMeetingServiceImpl.java
@@ -226,13 +226,11 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl fileList = FileUnZip.readExcelFile(zipEntryName);
File zipFile = new File(zipEntryName);
List fileList = new ArrayList<>();
if (zipFile.isDirectory()) {
File[] files = zipFile.listFiles();
for (File fi : files) {
- // 对文件进行过滤,只读取Excel文件
fileList.add(fi);
}
}
@@ -272,7 +270,6 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl meetingExcels, Map unZipFileMap) throws IOException{
StringBuilder msg = new StringBuilder();
// 拿到这个流程的名称
@@ -459,6 +456,7 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl
+
+
+ 企标废止流程
+
+
+
+
+
+
+
+ ${!pass}
+
+
+
+
+
+
+
+
+
+ ${pass}
+
+
+
+
+ ${!pass}
+
+
+ ${!pass}
+
+
+
+ ${pass}
+
+
+
+
+
+ ${!pass}
+
+
+
+ ${pass}
+
+
+
+
+
+ ${!pass}
+
+
+
+ ${pass}
+
+
+
+
+
+ ${!pass}
+
+
+
+ ${pass}
+
+
+
+
+
+
+
+
+
+ ${pass}
+
+
+ ${!pass}
+
+
+ ${!pass}
+
+
+ ${!pass}
+
+
+ ${!pass}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+