From decc1c12c646fe6bf5f596dedf1067e0861693c9 Mon Sep 17 00:00:00 2001
From: liyj <15602261488@163.com>
Date: Tue, 15 Oct 2024 17:45:49 +0800
Subject: [PATCH] 1、配合部门流程优化
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java | 80 +++++++++++++++++++++++----------------
1 files changed, 47 insertions(+), 33 deletions(-)
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
index ff24fc4..013fddc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java
@@ -3,18 +3,15 @@
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.module.cases.consts.CaseTaskConsts;
import cn.huge.module.cases.domain.dto.FrontPageListDTO;
-import cn.huge.module.cases.domain.po.CaseInfo;
-import cn.huge.module.cases.domain.po.CaseInfoUnfold;
-import cn.huge.module.cases.domain.po.CaseTask;
+import cn.huge.module.cases.domain.po.*;
import cn.huge.module.client.api.impl.CustClientImpl;
import cn.huge.module.client.api.impl.SysClientImpl;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.cases.dao.mapper.CaseAssistApplyMapper;
-import cn.huge.module.cases.domain.po.CaseAssistApply;
import cn.huge.module.constant.BaseConsts;
-import cn.huge.module.cust.constant.UserBaseConsts;
import cn.huge.module.cust.dto.CtUnitDTO;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.flow.consts.FlowableConsts;
@@ -37,7 +34,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
/**
* @title: 联合处置申请信息表业务逻辑处理
@@ -67,6 +63,8 @@
private CaseTaskService caseTaskService;
@Autowired
private CaseInfoUnfoldService caseInfoUnfoldService;
+ @Autowired
+ private CaseAssistInfoService caseAssistInfoService;
/**
* 更新对象
@@ -209,35 +207,39 @@
mapper.updateCaseAssistApply(caseAssistApplyPO);
// 审核通过,就启动联合处置工作流
if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAssistApplyPO.getAuditResult())) {
- String[] unitIds = caseAssistApplyPO.getApplyAssistUnitId().split(BaseConsts.COMMA);
- for (String unitId: unitIds) {
+ String[] unitIdList = caseAssistApplyPO.getApplyAssistUnitId().split(BaseConsts.COMMA);
+ String[] unitNameList = caseAssistApplyPO.getApplyAssistUnitName().split(BaseConsts.COMMA);
+ for (int i=0; i<unitIdList.length; i++){
+ String unitId = unitIdList[i];
+ String unitName = unitNameList[i];
// 启动联合处置工作流
- FlowNode dfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, caseAssistApplyPO.getCaseId());
- // 新建并完成配合部门待分派任务
+ FlowNode dfpFlowNode = flowInfoService.startFlow(FlowableConsts.GZDYH_LHCZ_V1, caseAssistApplyPO.getCaseId());
+ // 新建并完成配合组织待分派节点任务
CaseTask dfpCaseTask = new CaseTask();
dfpCaseTask.setId(utilsClient.getNewTimeId());
dfpCaseTask.setCaseId(caseAssistApplyPO.getCaseId());
dfpCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
dfpCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
dfpCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
- dfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
dfpCaseTask.setNodeType(dfpFlowNode.getNodeType());
dfpCaseTask.setNodeId(dfpFlowNode.getNodeId());
dfpCaseTask.setNodeName(dfpFlowNode.getNodeName());
dfpCaseTask.setFlowId(dfpFlowNode.getFlowId());
dfpCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
dfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
- // 通过调度的,任务候选执行者类型是上一步骤选择
- dfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+ // 任务所属单位:联合处置审核组织
dfpCaseTask.setCandeUnitId(loginUser.getUnitId());
dfpCaseTask.setCandeUnitName(loginUser.getUnitName());
- // 不需要签收
+ // 联合处置审核任务,不需要签收
dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
dfpCaseTask.setHandleUnitId(loginUser.getUnitId());
dfpCaseTask.setHandleUnitName(loginUser.getUnitName());
+ dfpCaseTask.setHandleDeptId(loginUser.getDeptId());
+ dfpCaseTask.setHandleDeptName(loginUser.getDeptName());
dfpCaseTask.setHandleUserId(loginUser.getId());
dfpCaseTask.setHandleUserName(loginUser.getTrueName());
+ dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
dfpCaseTask.setHandleContent(caseAssistApplyPO.getAuditContent());
dfpCaseTask.setHandleIllust("交办至:"+caseAssistApplyPO.getApplyAssistUnitName());
// 任务处理时限
@@ -249,40 +251,50 @@
dfpCaseTask.setCreateTime(now);
dfpCaseTask.setUpdateTime(now);
caseTaskService.save(dfpCaseTask);
- // 完成待分派任务
+ // 完成待分派节点任务,进入待受理节点
FlowNode dslFlowNode = flowInfoService.completeTask(dfpCaseTask.getFlowableId(), dfpCaseTask.getProcessTaskId(),
FlowableConsts.OPERATION_forward, loginUser.getId());
- // 创建配合部门待受理任务
+ // 创建待受理节点任务
CaseTask dslCaseTask = new CaseTask();
dslCaseTask.setId(utilsClient.getNewTimeId());
dslCaseTask.setCaseId(caseAssistApplyPO.getCaseId());
dslCaseTask.setFlowableId(dslFlowNode.getFlowableId());
dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId());
dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId());
- dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
dslCaseTask.setNodeType(dslFlowNode.getNodeType());
dslCaseTask.setNodeId(dslFlowNode.getNodeId());
dslCaseTask.setNodeName(dslFlowNode.getNodeName());
dslCaseTask.setFlowId(dslFlowNode.getFlowId());
dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
- // 通过调度的,任务候选执行者类型是上一步骤选择
- dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+ // 任务所属组织:联合处置组织
CtUnitDTO ctUnitDTO = custClient.getUnitById(unitId);
dslCaseTask.setCandeUnitId(ctUnitDTO.getId());
dslCaseTask.setCandeUnitName(ctUnitDTO.getUnitName());
- // 需要签收
+ // 待受理任务,需要签收
dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
- dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
// 任务处理时限
if (dslFlowNode.getExpire() != 0) {
dslCaseTask.setExpireTime(DateUtils.addDay(now, dslFlowNode.getExpire()));
}
+ dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
dslCaseTask.setCustId(caseAssistApplyPO.getCustId());
dslCaseTask.setCreateTime(now);
dslCaseTask.setUpdateTime(now);
caseTaskService.save(dslCaseTask);
+ // 新增联合处置信息
+ CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo();
+ caseAssistInfoPO.setId(utilsClient.getNewTimeId());
+ caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId());
+ caseAssistInfoPO.setProcessInstanceId(dslCaseTask.getProcessInstanceId());
+ caseAssistInfoPO.setAssistUnitId(unitId);
+ caseAssistInfoPO.setAssistUnitName(unitName);
+ caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0);
+ caseAssistInfoPO.setCustId(dslCaseTask.getCustId());
+ caseAssistInfoPO.setCreateTime(now);
+ caseAssistInfoPO.setUpdateTime(now);
+ caseAssistInfoService.save(caseAssistInfoPO);
}
// 更新纠纷扩展信息
CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -299,26 +311,27 @@
/**
* 根据案件编号查询联合处置申请
- * @param caseId 条件
+ * @param id 主键编号
* @return long
*/
- public CaseAssistApply caseAssistApplyByCaseId(String caseId){
+ public CaseAssistApply caseAssistApplyById(String id){
try {
QueryWrapper<CaseAssistApply> caseAssistApplyQueryWrapper = new QueryWrapper<>();
- caseAssistApplyQueryWrapper.eq("case_id", caseId).eq("apply_status", 0)
- .orderByDesc("create_time");
+ caseAssistApplyQueryWrapper.eq("id", id);
CaseAssistApply caseAssistApply = mapper.selectOne(caseAssistApplyQueryWrapper);
- Map<String, Object> terms = new HashMap<>();
- terms.put("mainId", caseId);
- terms.put("ownerIds", "'" + caseAssistApply.getId() + "'");
- List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms);
- if (CollectionUtils.isNotEmpty(fileIdInfoBaseDTOList)) {
- caseAssistApply.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList());
+ if(ObjectUtils.isNotEmpty(caseAssistApply)){
+ Map<String, Object> terms = new HashMap<>();
+ terms.put("mainId", caseAssistApply.getCaseId());
+ terms.put("ownerIds", "'" + caseAssistApply.getId() + "'");
+ List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = sysClient.listIdInfoByOwnerIdList(terms);
+ if (CollectionUtils.isNotEmpty(fileIdInfoBaseDTOList)) {
+ caseAssistApply.setFileInfoBaseDTOList(fileIdInfoBaseDTOList.get(0).getFileList());
+ }
}
return caseAssistApply;
}catch(Exception e ){
- log.error("[CaseAssistApplyService.caseAssistApplyByCaseId]调用失败,异常信息:"+e, e);
- throw new ServiceException("CaseAssistApplyService.caseAssistApplyByCaseId", e);
+ log.error("[CaseAssistApplyService.caseAssistApplyById]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseAssistApplyService.caseAssistApplyById", e);
}
}
@@ -349,4 +362,5 @@
public List<FrontPageListDTO> pageMyTaskAssistReview(PageRequest page, Map<String, Object> terms){
return mapper.pageMyTaskAssistReview(page, terms);
}
+
}
--
Gitblit v1.8.0