核心信息提取,并且应用到【我的工作】中的三个tab

This commit is contained in:
2024-06-19 10:17:33 +08:00
parent 3b4c448b34
commit dec5914265
10 changed files with 48 additions and 16 deletions

View File

@@ -43,6 +43,16 @@ public class BpmProcessInstanceVO {
@ApiModelProperty("业务的唯一标识")
private String businessKey;
/**
* 历史流程实例编号
*/
private String historyInstanceId;
/**
* 业务流程重要信息
*/
private String instanceSign;
/**
* 发起流程的用户
*/

View File

@@ -92,7 +92,7 @@ public class BpmProcessInstanceController extends BaseController {
convertSet(pageResult.getList(), HistoricProcessInstance::getProcessDefinitionId));
Map<String, BpmCategory> categoryMap = categoryService.getCategoryMap(
convertSet(processDefinitionMap.values(), ProcessDefinition::getCategory));
PageResult<BpmProcessInstanceVO> bpmProcessInstanceVOPageResult = BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePage(pageResult, processDefinitionMap, categoryMap, taskMap, null, null);
PageResult<BpmProcessInstanceVO> bpmProcessInstanceVOPageResult = BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePage(pageResult, processDefinitionMap, categoryMap, taskMap, null, null,businessCommonFeignClient);
//封装调整为当前系统的格式
Page<BpmProcessInstanceVO> page = new Page<>();
page.setRecords(bpmProcessInstanceVOPageResult.getList());
@@ -129,7 +129,7 @@ public class BpmProcessInstanceController extends BaseController {
Map<String, Dept> deptMap = CollectionUtils.convertMap(deptList, Dept::getId);
PageResult<BpmProcessInstanceVO> bpmProcessInstanceVOPageResult = BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePage(pageResult,
processDefinitionMap, categoryMap, taskMap, userMap, deptMap);
processDefinitionMap, categoryMap, taskMap, userMap, deptMap,businessCommonFeignClient);
//封装调整为当前系统的格式
Page<BpmProcessInstanceVO> page = new Page<>();
page.setRecords(bpmProcessInstanceVOPageResult.getList());

View File

@@ -117,7 +117,7 @@ public class BpmTaskController extends BaseController {
convertSet(pageResult.getList(), HistoricTaskInstance::getProcessInstanceId));
List<UserVO> userList = userFeignClient.getUserVOByIdList(convertList(processInstanceMap.values(), HistoricProcessInstance::getStartUserId)).getData();
Map<String, UserVO> userMap = CollectionUtils.convertMap(userList, UserVO::getId);
PageResult<BpmTaskVO> bpmTaskRespVOPageResult = BpmTaskConvert.INSTANCE.buildTaskPage(pageResult, processInstanceMap, userMap, null);
PageResult<BpmTaskVO> bpmTaskRespVOPageResult = BpmTaskConvert.INSTANCE.buildTaskPage(pageResult, processInstanceMap, userMap, null,businessCommonFeignClient);
//封装调整为当前系统的格式
Page<BpmTaskVO> page = new Page<>();
page.setRecords(bpmTaskRespVOPageResult.getList());
@@ -150,7 +150,7 @@ public class BpmTaskController extends BaseController {
Map<String, UserVO> userMap = CollectionUtils.convertMap(userList, UserVO::getId);
List<Dept> deptList = deptFeignClient.getDeptInfoListByIds(convertList(userMap.values(), UserVO::getDeptId)).getData();
Map<String, Dept> deptMap = CollectionUtils.convertMap(deptList, Dept::getId);
PageResult<BpmTaskVO> bpmTaskVOPageResult = BpmTaskConvert.INSTANCE.buildTaskPage(pageResult, processInstanceMap, userMap, deptMap);
PageResult<BpmTaskVO> bpmTaskVOPageResult = BpmTaskConvert.INSTANCE.buildTaskPage(pageResult, processInstanceMap, userMap, deptMap,businessCommonFeignClient);
//封装调整为当前系统的格式
Page<BpmTaskVO> page = new Page<>();

View File

@@ -1,6 +1,7 @@
package com.njcn.bpm.utils;
import com.njcn.bpm.listener.BpmProcessInstanceStatusEvent;
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
import com.njcn.bpm.pojo.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO;
import com.njcn.bpm.pojo.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO;
import com.njcn.bpm.pojo.dto.PageResult;
@@ -8,6 +9,7 @@ import com.njcn.bpm.pojo.po.BpmCategory;
import com.njcn.bpm.pojo.po.BpmProcessDefinitionInfo;
import com.njcn.bpm.pojo.vo.BpmProcessDefinitionInfoVO;
import com.njcn.bpm.pojo.vo.instance.BpmProcessInstanceVO;
import com.njcn.supervision.api.BusinessCommonFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.user.pojo.vo.UserVO;
import org.flowable.engine.history.HistoricProcessInstance;
@@ -21,6 +23,7 @@ import org.mapstruct.factory.Mappers;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* 流程实例 Convert
@@ -37,7 +40,8 @@ public interface BpmProcessInstanceConvert {
Map<String, BpmCategory> categoryMap,
Map<String, List<Task>> taskMap,
Map<String, UserVO> userMap,
Map<String, Dept> deptMap) {
Map<String, Dept> deptMap,
BusinessCommonFeignClient businessCommonFeignClient) {
PageResult<BpmProcessInstanceVO> vpPageResult = BeanUtils.toBean(pageResult, BpmProcessInstanceVO.class);
for (int i = 0; i < pageResult.getList().size(); i++) {
BpmProcessInstanceVO respVO = vpPageResult.getList().get(i);
@@ -54,6 +58,14 @@ public interface BpmProcessInstanceConvert {
MapUtils.findAndThen(deptMap, startUser.getDeptId(), dept -> respVO.getStartUser().setDeptName(dept.getName()));
}
}
String processDefinitionId = respVO.getProcessDefinitionId();
String key = processDefinitionId.substring(0,processDefinitionId.lastIndexOf(":"));
key = key.substring(0,key.lastIndexOf(":"));
BpmInstanceInfo instanceInfo = businessCommonFeignClient.getInstanceInfo(key, respVO.getBusinessKey()).getData();
if(Objects.nonNull(instanceInfo)){
respVO.setHistoryInstanceId(instanceInfo.getHistoryInstanceId());
respVO.setInstanceSign(instanceInfo.getInstanceSign());
}
}
return vpPageResult;
}

View File

@@ -78,7 +78,8 @@ public interface BpmTaskConvert {
default PageResult<BpmTaskVO> buildTaskPage(PageResult<HistoricTaskInstance> pageResult,
Map<String, HistoricProcessInstance> processInstanceMap,
Map<String, UserVO> userMap,
Map<String, Dept> deptMap) {
Map<String, Dept> deptMap,
BusinessCommonFeignClient businessCommonFeignClient) {
List<BpmTaskVO> taskVOList = convertList(pageResult.getList(), task -> {
BpmTaskVO taskVO = BeanUtils.toBean(task, BpmTaskVO.class);
taskVO.setStatus(FlowableUtils.getTaskStatus(task));
@@ -96,6 +97,15 @@ public interface BpmTaskConvert {
taskVO.setProcessInstance(BeanUtils.toBean(processInstance, BpmTaskVO.ProcessInstance.class));
taskVO.getProcessInstance().setStartUser(BeanUtils.toBean(startUser, BpmProcessInstanceVO.User.class));
}
//处理额外信息
String processDefinitionId = taskVO.getProcessInstance().getProcessDefinitionId();
String key = processDefinitionId.substring(0,processDefinitionId.lastIndexOf(":"));
key = key.substring(0,key.lastIndexOf(":"));
BpmInstanceInfo instanceInfo = businessCommonFeignClient.getInstanceInfo(key, processInstance.getBusinessKey()).getData();
if(Objects.nonNull(instanceInfo)){
taskVO.setHistoryInstanceId(instanceInfo.getHistoryInstanceId());
taskVO.setInstanceSign(instanceInfo.getInstanceSign());
}
return taskVO;
});
return new PageResult<>(taskVOList, pageResult.getTotal());

View File

@@ -212,9 +212,9 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
.concat(quitRunningDeviceVO.getSubName())
.concat(StrPool.SLASH)
.concat(quitRunningDeviceVO.getDeviceName())
.concat("运行状态由:")
.concat("运行状态由")
.concat(RunFlagEnum.getRunFlagRemarkByStatus(quitRunningDeviceVO.getDevOriginalStatus()))
.concat("申请变更为:")
.concat("变更为")
.concat(RunFlagEnum.getRunFlagRemarkByStatus(quitRunningDeviceVO.getDevStatus()));
bpmInstanceInfo.setInstanceSign(sign);
return bpmInstanceInfo;

View File

@@ -195,9 +195,9 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
bpmInstanceInfo.setHistoryInstanceId(supervisionDevMainReportVO.getHistoryInstanceId());
String sign = supervisionDevMainReportVO.getOrgName()
.concat(StrPool.SLASH)
.concat(supervisionDevMainReportVO.getSubstationName())
.concat(supervisionDevMainReportVO.getSupervisionTempDeviceReport().getSubstationName())
.concat(StrPool.SLASH)
.concat(supervisionDevMainReportVO.getMonitoringTerminalName());
.concat(supervisionDevMainReportVO.getSupervisionTempDeviceReport().getMonitoringTerminalName());
bpmInstanceInfo.setInstanceSign(sign);
return bpmInstanceInfo;
}

View File

@@ -223,10 +223,10 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
if(warningLeafletVO.getLeafletType() == 1){
type = "预警单";
}
String sign = "问题来源".concat(ProblemTypeEnum.getNameByCode(warningLeafletVO.getProblemType()))
.concat(",由单位")
.concat(warningLeafletVO.getDeptName())
.concat("负责的")
String sign = "问题来源".concat(ProblemTypeEnum.getNameByCode(warningLeafletVO.getProblemType()))
.concat(",由单位")
.concat(StrUtil.isBlank(warningLeafletVO.getDeptName())?"":warningLeafletVO.getDeptName())
.concat("负责的")
.concat(warningLeafletVO.getLeafletName())
.concat(type);
bpmInstanceInfo.setInstanceSign(sign);

View File

@@ -245,7 +245,7 @@ public class SurveyPlanServiceImpl extends ServiceImpl<SurveyPlanMapper, SurveyP
String sign = "监督类型为:".concat(name)
.concat(",由")
.concat(surveyPlanVO.getDeptName())
.concat("负责的:")
.concat("负责")
.concat(surveyPlanVO.getPlanName());
bpmInstanceInfo.setInstanceSign(sign);
return bpmInstanceInfo;

View File

@@ -278,7 +278,7 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
String sign = "监督类型为:".concat(name)
.concat("")
.concat(surveyTestVO.getDeptName())
.concat("负责的:")
.concat("负责")
.concat(surveyTestVO.getPlanName())
.concat(",由")
.concat(surveyTestVO.getCompleteBy())