Commit 2973dea6 by 赵剑炜

增加了审核流程明细查询

parent e44d51d5
package com.junmp.jyzb.api.bean.query.ProcessReq;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class InstanceReq {
/**
* 表单名称
*/
private String processId;
/**
* 备注信息
*/
private String templateId;
}
package com.junmp.junmpProcess.controller; package com.junmp.junmpProcess.controller;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.junmp.junmpProcess.common.utils.HttpStatus; import com.junmp.junmpProcess.common.utils.HttpStatus;
import com.junmp.junmpProcess.common.utils.ResponseResult; import com.junmp.junmpProcess.common.utils.ResponseResult;
import com.junmp.junmpProcess.common.utils.ReturnMsg; import com.junmp.junmpProcess.common.utils.ReturnMsg;
...@@ -7,8 +8,10 @@ import com.junmp.junmpProcess.dto.HandleDataDTO; ...@@ -7,8 +8,10 @@ import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.junmpProcess.entity.ProcessTemplates; import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.service.Bussiness.WorkProcessService; import com.junmp.junmpProcess.service.Bussiness.WorkProcessService;
import com.junmp.junmpProcess.service.IFlowDefinitionService; import com.junmp.junmpProcess.service.IFlowDefinitionService;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.junmpProcess.service.ISysFormService; import com.junmp.junmpProcess.service.ISysFormService;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService; import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
import com.junmp.jyzb.api.bean.query.ProcessReq.InstanceReq;
import com.junmp.jyzb.api.bean.query.ProcessReq.SuspendOrActivateDefinitionReq; import com.junmp.jyzb.api.bean.query.ProcessReq.SuspendOrActivateDefinitionReq;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -31,6 +34,8 @@ public class FlowDefinitionController { ...@@ -31,6 +34,8 @@ public class FlowDefinitionController {
private IFlowDefinitionService FlowDefinitionService; private IFlowDefinitionService FlowDefinitionService;
@Autowired @Autowired
private ProcessTemplateService processTemplateService; private ProcessTemplateService processTemplateService;
@Autowired
private IFlowInstanceService flowInstanceService;
@ApiOperation("停启用流程") @ApiOperation("停启用流程")
@PostMapping("StopProcessInstanceById") @PostMapping("StopProcessInstanceById")
public ApiRes<Boolean> stopProcessInstanceById(@RequestBody SuspendOrActivateDefinitionReq req) { public ApiRes<Boolean> stopProcessInstanceById(@RequestBody SuspendOrActivateDefinitionReq req) {
...@@ -45,15 +50,31 @@ public class FlowDefinitionController { ...@@ -45,15 +50,31 @@ public class FlowDefinitionController {
/** /**
* 查询表单模板数据 * 查询表单模板数据
* *
* @param formId 模板id * @param process 模板id
* @return 模板详情数据 * @return 模板详情数据
*/ */
@ApiOperation("根据ID获取表单信息") @ApiOperation("根据ID获取表单信息")
@PostMapping(value = "getFormTemplateById") @PostMapping(value = "getFormTemplateById")
public ResponseResult getFormTemplateById(@RequestBody Map<String,Object> formId) { public ResponseResult getFormTemplateById(@RequestBody InstanceReq process) {
String temp= formId.get("formId").toString(); String temp= process.getTemplateId().toString();
String processInstanceId= process.getProcessId().toString();//
if (!StringUtils.isEmpty(temp))
{
ProcessTemplates processTemplates = processTemplateService.getById(temp); ProcessTemplates processTemplates = processTemplateService.getById(temp);
processTemplates.setFormId(processTemplates.getTemplateId()); processTemplates.setFormId(processTemplates.getTemplateId());
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,processTemplates); return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,processTemplates);
} }
else if (!StringUtils.isEmpty(processInstanceId))
{
String tempID= flowInstanceService.getFormIdByInstanceId(processInstanceId);
ProcessTemplates processTemplates = processTemplateService.getById(tempID);
processTemplates.setFormId(processTemplates.getTemplateId());
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,processTemplates);
}
else
{
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.NO_DATA,"");
}
}
} }
...@@ -17,4 +17,6 @@ public interface IFlowDefinitionService { ...@@ -17,4 +17,6 @@ public interface IFlowDefinitionService {
* @return * @return
*/ */
ApiRes<String> getLatestDefinitionId(String formId); ApiRes<String> getLatestDefinitionId(String formId);
} }
...@@ -37,4 +37,11 @@ public interface IFlowInstanceService { ...@@ -37,4 +37,11 @@ public interface IFlowInstanceService {
* @return * @return
*/ */
String startProcessInstanceById(StartProcessInstanceDTO processInstanceDto); String startProcessInstanceById(StartProcessInstanceDTO processInstanceDto);
/**
* 通过流程实例id獲取表單ID
*
* @return
*/
String getFormIdByInstanceId(String instanceId);
} }
...@@ -14,6 +14,8 @@ import com.junmp.v2.sys.user.service.SysUserService; ...@@ -14,6 +14,8 @@ import com.junmp.v2.sys.user.service.SysUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.FlowableObjectNotFoundException; import org.flowable.common.engine.api.FlowableObjectNotFoundException;
import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.history.HistoricActivityInstance;
import org.flowable.engine.history.HistoricActivityInstanceQuery;
import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.engine.runtime.ProcessInstance; import org.flowable.engine.runtime.ProcessInstance;
...@@ -27,9 +29,12 @@ import java.util.ArrayList; ...@@ -27,9 +29,12 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static com.junmp.junmpProcess.common.CommonConstants.*; import static com.junmp.junmpProcess.common.CommonConstants.*;
import static com.junmp.junmpProcess.common.CommonConstants.BUSINESS_STATUS_1; import static com.junmp.junmpProcess.common.CommonConstants.BUSINESS_STATUS_1;
import static com.junmp.junmpProcess.common.WorkFlowConstants.PROCESS_PREFIX;
@Service @Service
@Slf4j @Slf4j
...@@ -135,4 +140,30 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -135,4 +140,30 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
task.setAssignee(StartUser.getUserId().toString()); task.setAssignee(StartUser.getUserId().toString());
return processInstance.getProcessInstanceId(); return processInstance.getProcessInstanceId();
} }
@Override
public String getFormIdByInstanceId(String instanceId) {
HistoricActivityInstance query = historyService.createHistoricActivityInstanceQuery()
.processInstanceId(instanceId)
.orderByHistoricActivityInstanceStartTime().asc()
.listPage(0, 1).get(0);
if (query != null) {
// String[] parts = query.getProcessDefinitionId().split(":");
// String pro=parts[0].replace(PROCESS_PREFIX, "");
// return pro;
String pattern = "Process_(\\d+):.*";
Pattern regex = Pattern.compile(pattern);
Matcher matcher = regex.matcher(query.getProcessDefinitionId());
if (matcher.find()) {
String extractedNumber = matcher.group(1);
return extractedNumber;
} else {
return null;
}
}
else return null;
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论