From 63e6c990e5bfd5c48b1abfeb273a500b783e7fa7 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Sun, 15 Sep 2024 17:22:57 +0800
Subject: [PATCH] 1、自行受理、受理跳转bug修复 2、联合处置流程优化
---
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java | 6
dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java | 6
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 216 ++++++++++++++++++------------
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml | 6
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseAssistApplyService.java | 91 +++++++++---
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java | 16 ++
dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml | 64 +++++++--
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java | 4
8 files changed, 281 insertions(+), 128 deletions(-)
diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
index edd1c18..b5fd9f8 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java
@@ -467,7 +467,21 @@
result.add(firstSelectTermDTO);
return result;
}else {
- return new ArrayList<>();
+ // todo
+ QueryWrapper<CtUnit> ctUnitQueryWrapper = new QueryWrapper<>();
+ ctUnitQueryWrapper.eq("parent_id", loginUnit.getParentId());
+ List<CtUnit> ctUnitList = mapper.selectList(ctUnitQueryWrapper);
+ //
+ List<SelectTermDTO> unitList = new ArrayList<>();
+ for (CtUnit ctUnit: ctUnitList){
+ SelectTermDTO unitSelectTerm = new SelectTermDTO();
+ unitSelectTerm.setValue(ctUnit.getId());
+ unitSelectTerm.setLabel(ctUnit.getUnitName());
+ unitSelectTerm.setParentId(ctUnit.getParentId());
+ unitSelectTerm.setCheckable(true);
+ unitList.add(unitSelectTerm);
+ }
+ return unitList;
}
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml
index 805e5c8..ca007be 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseReturnMapper.xml
@@ -21,6 +21,7 @@
<result property="returnTime" column="return_time"/>
<result property="returnStatus" column="return_status"/>
<result property="caseTaskId" column="case_task_id"/>
+ <result property="caseTaskType" column="case_task_type"/>
<result property="auditUnitId" column="audit_unit_id"/>
<result property="auditUnitName" column="audit_unit_name"/>
<result property="auditUserId" column="audit_user_id"/>
@@ -48,6 +49,7 @@
return_time,
return_status,
case_task_id,
+ case_task_type,
audit_unit_id,
audit_unit_name,
audit_user_id,
@@ -72,6 +74,7 @@
<if test="entity.returnTime != null">return_time = #{entity.returnTime},</if>
<if test="entity.returnStatus != null">return_status = #{entity.returnStatus},</if>
<if test="entity.caseTaskId != null">case_task_id = #{entity.caseTaskId},</if>
+ <if test="entity.caseTaskType != null">case_task_type = #{entity.caseTaskType},</if>
<if test="entity.auditUnitId != null">audit_unit_id = #{entity.auditUnitId},</if>
<if test="entity.auditUnitName != null">audit_unit_name = #{entity.auditUnitName},</if>
<if test="entity.auditUserId != null">audit_user_id = #{entity.auditUserId},</if>
@@ -119,6 +122,9 @@
<if test="terms.caseTaskId != null and terms.caseTaskId !=''">
and case_task_id = #{terms.caseTaskId}
</if>
+ <if test="terms.caseTaskType != null and terms.caseTaskType !=''">
+ and case_task_type = #{terms.caseTaskType}
+ </if>
<if test="terms.auditUnitId != null and terms.auditUnitId !=''">
and audit_unit_id = #{terms.auditUnitId}
</if>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java
index 244f900..e5a30d7 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/po/CaseReturn.java
@@ -84,6 +84,12 @@
private String caseTaskId;
/**
+ * 纠纷任务类型,1:承办,2:配合
+ */
+ @TableField(value = "case_task_type")
+ private Integer caseTaskType;
+
+ /**
* 回退审核组织编号
*/
@TableField(value = "audit_unit_id")
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 ffa776c..ff24fc4 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
@@ -197,31 +197,74 @@
// 获取当前登录用户
CtUserDTO loginUser = custClient.clientGetUserAll(userId);
Date now = DateUtils.getNowDate();
- caseAssistApply.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
- caseAssistApply.setAuditUserId(loginUser.getId());
- caseAssistApply.setAuditUserName(loginUser.getTrueName());
- caseAssistApply.setAuditTime(now);
- caseAssistApply.setUpdateTime(now);
- mapper.updateCaseAssistApply(caseAssistApply);
+ CaseAssistApply caseAssistApplyPO = mapper.selectById(caseAssistApply.getId());
+ caseAssistApplyPO.setAuditResult(caseAssistApply.getAuditResult());
+ caseAssistApplyPO.setAuditResultName(caseAssistApply.getAuditResultName());
+ caseAssistApplyPO.setAuditContent(caseAssistApply.getAuditContent());
+ caseAssistApplyPO.setApplyStatus(AuditBaseConsts.AUDIT_STATUS_1);
+ caseAssistApplyPO.setAuditUserId(loginUser.getId());
+ caseAssistApplyPO.setAuditUserName(loginUser.getTrueName());
+ caseAssistApplyPO.setAuditTime(now);
+ caseAssistApplyPO.setUpdateTime(now);
+ mapper.updateCaseAssistApply(caseAssistApplyPO);
// 审核通过,就启动联合处置工作流
- if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAssistApply.getAuditResult())) {
- String[] unitIds = caseAssistApply.getApplyAssistUnitId().split(BaseConsts.COMMA);
+ if (AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex().equals(caseAssistApplyPO.getAuditResult())) {
+ String[] unitIds = caseAssistApplyPO.getApplyAssistUnitId().split(BaseConsts.COMMA);
for (String unitId: unitIds) {
// 启动联合处置工作流
- FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, caseAssistApply.getCaseId());
+ FlowNode dfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, 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.setHandleUserId(loginUser.getId());
+ dfpCaseTask.setHandleUserName(loginUser.getTrueName());
+ dfpCaseTask.setHandleContent(caseAssistApplyPO.getAuditContent());
+ dfpCaseTask.setHandleIllust("交办至:"+caseAssistApplyPO.getApplyAssistUnitName());
+ // 任务处理时限
+ if (dfpFlowNode.getExpire() != 0) {
+ dfpCaseTask.setExpireTime(DateUtils.addDay(now, dfpFlowNode.getExpire()));
+ }
+ dfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ dfpCaseTask.setCustId(caseAssistApplyPO.getCustId());
+ 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(caseAssistApply.getCaseId());
- dslCaseTask.setFlowableId(firstFlowNode.getFlowableId());
- dslCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId());
- dslCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId());
+ dslCaseTask.setCaseId(caseAssistApplyPO.getCaseId());
+ dslCaseTask.setFlowableId(dslFlowNode.getFlowableId());
+ dslCaseTask.setProcessInstanceId(dslFlowNode.getProcessInstanceId());
+ dslCaseTask.setProcessTaskId(dslFlowNode.getProcessTaskId());
dslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
- dslCaseTask.setNodeType(firstFlowNode.getNodeType());
- dslCaseTask.setNodeId(firstFlowNode.getNodeId());
- dslCaseTask.setNodeName(firstFlowNode.getNodeName());
- dslCaseTask.setFlowId(firstFlowNode.getFlowId());
- dslCaseTask.setNodeShowName(firstFlowNode.getNodeShowName());
+ 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);
@@ -232,20 +275,20 @@
dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
// 任务处理时限
- if (firstFlowNode.getExpire() != 0) {
- dslCaseTask.setExpireTime(DateUtils.addDay(now, firstFlowNode.getExpire()));
+ if (dslFlowNode.getExpire() != 0) {
+ dslCaseTask.setExpireTime(DateUtils.addDay(now, dslFlowNode.getExpire()));
}
dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- dslCaseTask.setCustId(caseAssistApply.getCustId());
+ dslCaseTask.setCustId(caseAssistApplyPO.getCustId());
dslCaseTask.setCreateTime(now);
dslCaseTask.setUpdateTime(now);
caseTaskService.save(dslCaseTask);
}
// 更新纠纷扩展信息
CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
- caseInfoUnfoldPO.setId(caseAssistApply.getCaseId());
- caseInfoUnfoldPO.setAssistUnitId(caseAssistApply.getApplyAssistUnitId());
- caseInfoUnfoldPO.setAssistUnitName(caseAssistApply.getApplyAssistUnitName());
+ caseInfoUnfoldPO.setId(caseAssistApplyPO.getCaseId());
+ caseInfoUnfoldPO.setAssistUnitId(caseAssistApplyPO.getApplyAssistUnitId());
+ caseInfoUnfoldPO.setAssistUnitName(caseAssistApplyPO.getApplyAssistUnitName());
caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
}
}catch (Exception e){
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java
index 13d6d23..68b5d8d 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseReturnService.java
@@ -155,10 +155,10 @@
* @param caseId 纠纷编号
* @return
*/
- public CaseReturn getNewByCaseId(String caseId){
+ public CaseReturn getNewByCaseId(String caseId, int caseTaskType){
try{
QueryWrapper<CaseReturn> caseReturnQueryWrapper = new QueryWrapper<>();
- caseReturnQueryWrapper.eq("case_id", caseId).orderByDesc("return_time");
+ caseReturnQueryWrapper.eq("case_id", caseId).eq("case_task_type", caseTaskType).orderByDesc("return_time");
List<CaseReturn> caseReturnList = mapper.selectList(caseReturnQueryWrapper);
if (CollectionUtils.isNotEmpty(caseReturnList)) {
return caseReturnList.get(0);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
index 290d35e..f0aa4e3 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -443,7 +443,7 @@
// 回退申请节点
if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){
webCaseFlowDTO.setNodeShowName("事件回退");
- CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId);
+ CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType());
if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) {
webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent());
}else {
@@ -1113,7 +1113,7 @@
caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
- return dslCaseTask.getId();
+ return blfkCaseTask.getId();
}catch (Exception e){
log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
throw new ServiceException("CaseTaskService.webStartFlowZXSL", e);
@@ -1224,37 +1224,76 @@
collect(Collectors.joining(BaseConsts.COMMA));
for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){
// 启动联合处置工作流
- FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId());
- // 创建配合部门待受理任务
- CaseTask lhczCaseTask = new CaseTask();
- lhczCaseTask.setId(utilsClient.getNewTimeId());
- lhczCaseTask.setCaseId(dfpCaseTask.getCaseId());
- lhczCaseTask.setFlowableId(firstFlowNode.getFlowableId());
- lhczCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId());
- lhczCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId());
- lhczCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
- lhczCaseTask.setNodeType(firstFlowNode.getNodeType());
- lhczCaseTask.setNodeId(firstFlowNode.getNodeId());
- lhczCaseTask.setNodeName(firstFlowNode.getNodeName());
- lhczCaseTask.setFlowId(firstFlowNode.getFlowId());
- lhczCaseTask.setNodeShowName(firstFlowNode.getNodeShowName());
- lhczCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+ FlowNode lhczdfpFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_LHCZ, dfpCaseTask.getCaseId());
+ // 新建并完成配合部门待分派任务
+ CaseTask lhczdfpCaseTask = new CaseTask();
+ lhczdfpCaseTask.setId(utilsClient.getNewTimeId());
+ lhczdfpCaseTask.setCaseId(dfpCaseTask.getCaseId());
+ lhczdfpCaseTask.setFlowableId(lhczdfpFlowNode.getFlowableId());
+ lhczdfpCaseTask.setProcessInstanceId(lhczdfpFlowNode.getProcessInstanceId());
+ lhczdfpCaseTask.setProcessTaskId(lhczdfpFlowNode.getProcessTaskId());
+ lhczdfpCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+ lhczdfpCaseTask.setNodeType(lhczdfpFlowNode.getNodeType());
+ lhczdfpCaseTask.setNodeId(lhczdfpFlowNode.getNodeId());
+ lhczdfpCaseTask.setNodeName(lhczdfpFlowNode.getNodeName());
+ lhczdfpCaseTask.setFlowId(lhczdfpFlowNode.getFlowId());
+ lhczdfpCaseTask.setNodeShowName(lhczdfpFlowNode.getNodeShowName());
+ lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
// 通过调度的,任务候选执行者类型是上一步骤选择
- lhczCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
- lhczCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
- lhczCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
- // 需要签收
- lhczCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
- lhczCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+ lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+ lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId());
+ lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName());
+ // 不需要签收
+ lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+ lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+ lhczdfpCaseTask.setHandleUnitId(loginUser.getUnitId());
+ lhczdfpCaseTask.setHandleUnitName(loginUser.getUnitName());
+ lhczdfpCaseTask.setHandleUserId(loginUser.getId());
+ lhczdfpCaseTask.setHandleUserName(loginUser.getTrueName());
+ lhczdfpCaseTask.setHandleContent(assignTaskDTO.getAssignContent());
+ lhczdfpCaseTask.setHandleIllust("交办至:"+assistUnitName);
// 任务处理时限
- if (firstFlowNode.getExpire() != 0) {
- lhczCaseTask.setExpireTime(DateUtils.addDay(nowDate, firstFlowNode.getExpire()));
+ if (lhczdfpFlowNode.getExpire() != 0) {
+ lhczdfpCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdfpFlowNode.getExpire()));
}
- lhczCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- lhczCaseTask.setCustId(dfpCaseTask.getCustId());
- lhczCaseTask.setCreateTime(nowDate);
- lhczCaseTask.setUpdateTime(nowDate);
- mapper.insert(lhczCaseTask);
+ lhczdfpCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ lhczdfpCaseTask.setCustId(dfpCaseTask.getCustId());
+ lhczdfpCaseTask.setCreateTime(nowDate);
+ lhczdfpCaseTask.setUpdateTime(nowDate);
+ mapper.insert(lhczdfpCaseTask);
+ // 完成待分派任务
+ FlowNode lhczdslFlowNode = flowInfoService.completeTask(lhczdfpCaseTask.getFlowableId(), lhczdfpCaseTask.getProcessTaskId(),
+ FlowableConsts.OPERATION_forward, loginUser.getId());
+ // 创建配合部门待受理任务
+ CaseTask lhczdslCaseTask = new CaseTask();
+ lhczdslCaseTask.setId(utilsClient.getNewTimeId());
+ lhczdslCaseTask.setCaseId(lhczdfpCaseTask.getCaseId());
+ lhczdslCaseTask.setFlowableId(lhczdslFlowNode.getFlowableId());
+ lhczdslCaseTask.setProcessInstanceId(lhczdslFlowNode.getProcessInstanceId());
+ lhczdslCaseTask.setProcessTaskId(lhczdslFlowNode.getProcessTaskId());
+ lhczdslCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+ lhczdslCaseTask.setNodeType(lhczdslFlowNode.getNodeType());
+ lhczdslCaseTask.setNodeId(lhczdslFlowNode.getNodeId());
+ lhczdslCaseTask.setNodeName(lhczdslFlowNode.getNodeName());
+ lhczdslCaseTask.setFlowId(lhczdslFlowNode.getFlowId());
+ lhczdslCaseTask.setNodeShowName(lhczdslFlowNode.getNodeShowName());
+ lhczdslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2);
+ // 通过调度的,任务候选执行者类型是上一步骤选择
+ lhczdslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+ lhczdslCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId());
+ lhczdslCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName());
+ // 需要签收
+ lhczdslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_1);
+ lhczdslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+ // 任务处理时限
+ if (lhczdslFlowNode.getExpire() != 0) {
+ lhczdslCaseTask.setExpireTime(DateUtils.addDay(nowDate, lhczdslFlowNode.getExpire()));
+ }
+ lhczdslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ lhczdslCaseTask.setCustId(lhczdfpCaseTask.getCustId());
+ lhczdslCaseTask.setCreateTime(nowDate);
+ lhczdslCaseTask.setUpdateTime(nowDate);
+ mapper.insert(lhczdslCaseTask);
}
// 更新纠纷扩展信息
CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
@@ -1889,7 +1928,7 @@
htshCaseTask.setNodeName(htshFlowNode.getNodeName());
htshCaseTask.setFlowId(htshFlowNode.getFlowId());
htshCaseTask.setNodeShowName(htshFlowNode.getNodeShowName());
- htshCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+ htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType());
// 受理任务,任务候选执行者类型是上一步骤选择
htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId());
@@ -1909,6 +1948,7 @@
mapper.insert(htshCaseTask);
// 新增回退申请信息
caseReturn.setCaseTaskId(htshCaseTask.getId());
+ caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType());
caseReturnService.save(caseReturn);
}catch (Exception e){
log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e);
@@ -1950,65 +1990,67 @@
htshCaseTaskPO.setHandleTime(nowDate);
htshCaseTaskPO.setUpdateTime(nowDate);
mapper.updateCaseTask(htshCaseTaskPO);
- // 完成当前回退审核任务,走待分派任务
+ // 完成当前回退审核任务,承办部门走待分派任务,配合部门结束流程
FlowNode dfpFlowNode = flowInfoService.completeTask(htshCaseTask.getFlowableId(), htshCaseTask.getProcessTaskId(),
FlowableConsts.OPERATION_htsh_ty, userId);
- // 新建待分派任务
- CaseTask dfphCaseTask = new CaseTask();
- dfphCaseTask.setId(utilsClient.getNewTimeId());
- dfphCaseTask.setCaseId(htshCaseTask.getCaseId());
- dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
- dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
- dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
- dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
- dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
- dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
- dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
- dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
- dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
- dfphCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
- // 受理任务,任务候选执行者类型是上一步骤选择
- dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
- dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
- dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
- // 受理后的任务,不需要签收
- dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
- // 任务处理时限
- if (dfpFlowNode.getExpire() != 0) {
- dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+ if (CaseTaskConsts.CASE_TASK_TYPE_1 == htshCaseTask.getCaseTaskType()) {
+ // 新建待分派任务
+ CaseTask dfphCaseTask = new CaseTask();
+ dfphCaseTask.setId(utilsClient.getNewTimeId());
+ dfphCaseTask.setCaseId(htshCaseTask.getCaseId());
+ dfphCaseTask.setFlowableId(dfpFlowNode.getFlowableId());
+ dfphCaseTask.setProcessInstanceId(dfpFlowNode.getProcessInstanceId());
+ dfphCaseTask.setProcessTaskId(dfpFlowNode.getProcessTaskId());
+ dfphCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
+ dfphCaseTask.setNodeType(dfpFlowNode.getNodeType());
+ dfphCaseTask.setNodeId(dfpFlowNode.getNodeId());
+ dfphCaseTask.setNodeName(dfpFlowNode.getNodeName());
+ dfphCaseTask.setFlowId(dfpFlowNode.getFlowId());
+ dfphCaseTask.setNodeShowName(dfpFlowNode.getNodeShowName());
+ dfphCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
+ // 受理任务,任务候选执行者类型是上一步骤选择
+ dfphCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+ dfphCaseTask.setCandeUnitId(loginUser.getUnitId());
+ dfphCaseTask.setCandeUnitName(loginUser.getUnitName());
+ // 受理后的任务,不需要签收
+ dfphCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+ // 任务处理时限
+ if (dfpFlowNode.getExpire() != 0) {
+ dfphCaseTask.setExpireTime(DateUtils.addDay(nowDate, dfpFlowNode.getExpire()));
+ }
+ dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
+ dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ dfphCaseTask.setCustId(dfphCaseTask.getCustId());
+ dfphCaseTask.setCreateTime(nowDate);
+ dfphCaseTask.setUpdateTime(nowDate);
+ mapper.insert(dfphCaseTask);
+ // 更新纠纷信息
+ CaseInfo caseInfoPO = new CaseInfo();
+ caseInfoPO.setId(htshCaseTask.getCaseId());
+ caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
+ caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
+ caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
+ caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
+ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
+ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
+ caseInfoPO.setUpdateTime(nowDate);
+ caseInfoService.updateCaseInfo(caseInfoPO);
}
- dfphCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
- dfphCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
- dfphCaseTask.setCustId(dfphCaseTask.getCustId());
- dfphCaseTask.setCreateTime(nowDate);
- dfphCaseTask.setUpdateTime(nowDate);
- mapper.insert(dfphCaseTask);
- // 更新纠纷信息
- CaseInfo caseInfoPO = new CaseInfo();
- caseInfoPO.setId(htshCaseTask.getCaseId());
- caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex());
- caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes());
- caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex());
- caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes());
- caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
- caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
- caseInfoPO.setUpdateTime(nowDate);
- caseInfoService.updateCaseInfo(caseInfoPO);
}else {
// 审核不通过
// 完成当前回退审核任务
- CaseTask sbshCaseTaskPO = new CaseTask();
- sbshCaseTaskPO.setId(caseReturn.getCaseTaskId());
- sbshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
- sbshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
- sbshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
- sbshCaseTaskPO.setHandleUserId(loginUser.getId());
- sbshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
- sbshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
- sbshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
- sbshCaseTaskPO.setHandleTime(nowDate);
- sbshCaseTaskPO.setUpdateTime(nowDate);
- mapper.updateCaseTask(sbshCaseTaskPO);
+ CaseTask htshCaseTaskPO = new CaseTask();
+ htshCaseTaskPO.setId(caseReturn.getCaseTaskId());
+ htshCaseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2);
+ htshCaseTaskPO.setHandleUnitId(loginUser.getUnitId());
+ htshCaseTaskPO.setHandleUnitName(loginUser.getUnitName());
+ htshCaseTaskPO.setHandleUserId(loginUser.getId());
+ htshCaseTaskPO.setHandleUserName(loginUser.getTrueName());
+ htshCaseTaskPO.setHandleContent(caseReturn.getAuditContent());
+ htshCaseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_2);
+ htshCaseTaskPO.setHandleTime(nowDate);
+ htshCaseTaskPO.setUpdateTime(nowDate);
+ mapper.updateCaseTask(htshCaseTaskPO);
CaseReturn btyCaseReturn = caseReturnService.getById(caseReturn.getId());
CtUnitDTO returnUnit = custClient.getUnitById(btyCaseReturn.getReturnUnitId());
String operation = FlowableConsts.OPERATION_htsh_bty;
@@ -2034,7 +2076,7 @@
dslCaseTask.setNodeName(dslFlowNode.getNodeName());
dslCaseTask.setFlowId(dslFlowNode.getFlowId());
dslCaseTask.setNodeShowName(dslFlowNode.getNodeShowName());
- dslCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
+ dslCaseTask.setCaseTaskType(htshCaseTask.getCaseTaskType());
// 受理任务,任务候选执行者类型是上一步骤选择
dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
dslCaseTask.setCandeUnitId(btyCaseReturn.getReturnUnitId());
@@ -2053,8 +2095,8 @@
mapper.insert(dslCaseTask);
}
}catch (Exception e){
- log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e);
- throw new ServiceException("CaseTaskService.webAppearAudit", e);
+ log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e);
+ throw new ServiceException("CaseTaskService.webReturnAudit", e);
}
}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
index 420b90d..3cb9742 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/consts/FlowNodeEnum.java
@@ -13,7 +13,9 @@
/**
* 节点
*/
+ FLOW_NODE_DFP("DFP", "待分派"),
FLOW_NODE_DSL("DSL", "待受理"),
+ FLOW_NODE_HTSH("HTSH", "回退审核"),
FLOW_NODE_BLFK("BLFK", "办理反馈"),
FLOW_NODE_JASQ("JASQ", "结案申请"),
FLOW_NODE_JASH("JASH", "结案审核"),
@@ -100,8 +102,12 @@
*/
public static FlowNodeEnum getByIndex(final String index) {
switch (index) {
+ case "DFP":
+ return FLOW_NODE_DFP;
case "DSL":
return FLOW_NODE_DSL;
+ case "HTSH":
+ return FLOW_NODE_HTSH;
case "BLFK":
return FLOW_NODE_BLFK;
case "JASQ":
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml
index 49e31dd..386c8b8 100644
--- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_LHCZ_3LEVEL_V1.bpmn20.xml
@@ -6,12 +6,26 @@
<userTask id="BLFK" name="办理反馈"/>
<endEvent id="END" name="结束"/>
<userTask id="DSL" name="待受理"/>
- <sequenceFlow id="sid-6FA28350-5EFB-4393-B91A-D73ED7C3B390" sourceRef="START" targetRef="DSL"/>
+ <userTask id="DFP" name="待分派"/>
+ <sequenceFlow id="sid-97FF5E7D-10E2-45EA-86D6-0653C46C77FF" sourceRef="START" targetRef="DFP"/>
+ <sequenceFlow id="sid-295E1BEE-52BD-4CA8-A7E9-654AA5DB7A4D" name="通过" sourceRef="DSL" targetRef="BLFK">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="sid-ECF7A199-20E7-414B-B20A-83080EEED633" name="通过" sourceRef="DFP" targetRef="DSL">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+ </sequenceFlow>
+ <userTask id="HTSH" name="回退审核"/>
<sequenceFlow id="sid-A0580378-38E0-44D8-981B-9D048ED42E97" name="通过" sourceRef="BLFK" targetRef="END">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
</sequenceFlow>
- <sequenceFlow id="sid-295E1BEE-52BD-4CA8-A7E9-654AA5DB7A4D" name="通过" sourceRef="DSL" targetRef="BLFK">
- <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+ <sequenceFlow id="sid-898E82EA-FC5A-4EAA-AA8C-B5B74B39D826" name="回退申请" sourceRef="DSL" targetRef="HTSH">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsq'}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC" name="回退审核同意" sourceRef="HTSH" targetRef="BLFK">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_ty'}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="sid-05F6F2B8-9E23-4AAE-82FE-5F33117881D7" name="回退审核不同意" sourceRef="HTSH" targetRef="END">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='htsh_bty'}]]></conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_LHCZ_3LEVEL_V1">
@@ -20,25 +34,47 @@
<omgdc:Bounds height="30.0" width="30.0" x="15.0" y="160.00001244246837"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="BLFK" id="BPMNShape_BLFK">
- <omgdc:Bounds height="80.0" width="100.0" x="314.9999953061343" y="134.99999798834327"/>
+ <omgdc:Bounds height="80.0" width="99.99999999999994" x="494.9999953061343" y="134.99999798834327"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="END" id="BPMNShape_END">
- <omgdc:Bounds height="28.0" width="28.0" x="509.9999834597113" y="161.00001205503818"/>
+ <omgdc:Bounds height="28.0" width="28.0" x="689.9999834597113" y="161.00001205503818"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="DSL" id="BPMNShape_DSL">
- <omgdc:Bounds height="80.0" width="100.0" x="150.0" y="135.00001244246837"/>
+ <omgdc:Bounds height="80.0" width="100.0" x="330.0" y="135.00001244246837"/>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge bpmnElement="sid-6FA28350-5EFB-4393-B91A-D73ED7C3B390" id="BPMNEdge_sid-6FA28350-5EFB-4393-B91A-D73ED7C3B390">
- <omgdi:waypoint x="44.94999936756078" y="175.00001244246837"/>
- <omgdi:waypoint x="149.99999999993562" y="175.00001244246837"/>
- </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape bpmnElement="DFP" id="BPMNShape_DFP">
+ <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="135.00001244246837"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape bpmnElement="HTSH" id="BPMNShape_HTSH">
+ <omgdc:Bounds height="80.0" width="100.0" x="330.0" y="270.0"/>
+ </bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-A0580378-38E0-44D8-981B-9D048ED42E97" id="BPMNEdge_sid-A0580378-38E0-44D8-981B-9D048ED42E97">
- <omgdi:waypoint x="414.9499950929594" y="175.00000240740906"/>
- <omgdi:waypoint x="509.9999834597113" y="175.00001081646118"/>
+ <omgdi:waypoint x="594.9499950929594" y="175.00000240740906"/>
+ <omgdi:waypoint x="689.9999834597113" y="175.00001081646118"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-05F6F2B8-9E23-4AAE-82FE-5F33117881D7" id="BPMNEdge_sid-05F6F2B8-9E23-4AAE-82FE-5F33117881D7">
+ <omgdi:waypoint x="429.94999999999993" y="289.16666746346476"/>
+ <omgdi:waypoint x="691.0735362274839" y="180.36679574539076"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-295E1BEE-52BD-4CA8-A7E9-654AA5DB7A4D" id="BPMNEdge_sid-295E1BEE-52BD-4CA8-A7E9-654AA5DB7A4D">
- <omgdi:waypoint x="249.94999995704916" y="175.00000806243037"/>
- <omgdi:waypoint x="314.9999953060832" y="175.00000236400126"/>
+ <omgdi:waypoint x="429.95000000000005" y="175.00000806243034"/>
+ <omgdi:waypoint x="494.9999953061343" y="175.00000236400123"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-898E82EA-FC5A-4EAA-AA8C-B5B74B39D826" id="BPMNEdge_sid-898E82EA-FC5A-4EAA-AA8C-B5B74B39D826">
+ <omgdi:waypoint x="380.0" y="214.9500124424684"/>
+ <omgdi:waypoint x="380.0" y="270.0"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC" id="BPMNEdge_sid-2B1A0AA4-9560-41A7-9E4D-7C42107ABFCC">
+ <omgdi:waypoint x="428.82777566115067" y="270.0"/>
+ <omgdi:waypoint x="496.11110853652156" y="214.94999798834328"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-97FF5E7D-10E2-45EA-86D6-0653C46C77FF" id="BPMNEdge_sid-97FF5E7D-10E2-45EA-86D6-0653C46C77FF">
+ <omgdi:waypoint x="44.94999923927441" y="175.00001244246837"/>
+ <omgdi:waypoint x="135.0" y="175.00001244246837"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-ECF7A199-20E7-414B-B20A-83080EEED633" id="BPMNEdge_sid-ECF7A199-20E7-414B-B20A-83080EEED633">
+ <omgdi:waypoint x="234.9499999999802" y="175.00001244246837"/>
+ <omgdi:waypoint x="330.0" y="175.00001244246837"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
--
Gitblit v1.8.0