From ecb8ee9c13ef1d4b7c0324dcd39e3ae34d9ce5b5 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Sat, 14 Sep 2024 23:21:05 +0800
Subject: [PATCH] 1、自行受理bug修复2 2、流程进度展示bug修复2
---
dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml | 23 +++++--
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 117 ++++++++++++++++++++++++++++++--------
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java | 5 +
3 files changed, 113 insertions(+), 32 deletions(-)
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
index edd8ee6..2509ec1 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/WebCaseFlowDTO.java
@@ -20,6 +20,11 @@
public class WebCaseFlowDTO {
/**
+ * 流程进度名称
+ */
+ private String processName;
+
+ /**
* 流程节点名称
*/
private String nodeShowName;
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 776d69a..c399f44 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
@@ -413,20 +413,22 @@
for (CaseTask caseTask: handleCaseTaskList){
// 已结束节点
if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){
- // 待受理节点,需要加多一个签收节点
+ // 待受理并已签收的节点,需要加多一个签收节点
if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex())
|| caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex())
|| caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex())
|| caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSL.getIndex())){
- WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
- slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
- slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
- slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
- slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
- slWebCaseFlowDTO.setHandleNotes("已签收");
- slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
- slWebCaseFlowDTO.setStatus(caseTask.getStatus());
- handleCaseFlowList.add(slWebCaseFlowDTO);
+ if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus()){
+ WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO();
+ slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+ slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
+ slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
+ slWebCaseFlowDTO.setHandleNotes("已签收");
+ slWebCaseFlowDTO.setTaskType(caseTask.getTaskType());
+ slWebCaseFlowDTO.setStatus(caseTask.getStatus());
+ handleCaseFlowList.add(slWebCaseFlowDTO);
+ }
}
// 回退审核节点,需要加多一个回退申请节点
if(caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
@@ -460,12 +462,18 @@
// 普通节点
WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
- webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName());
webCaseFlowDTO.setHandleTime(caseTask.getHandleTime());
webCaseFlowDTO.setStatus(caseTask.getStatus());
webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust());
webCaseFlowDTO.setTaskType(caseTask.getTaskType());
+ // 当事人评价节点,特殊处理
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+ }else{
+ webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName());
+ }
// 审核节点要判断通过/不通过
if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex())
|| caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex())
@@ -496,8 +504,13 @@
}else {
// 进行中的节点
WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO();
- webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
- webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+ // 当事人评价节点,特殊处理
+ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){
+ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName());
+ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName());
+ }else{
+ webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName());
+ }
webCaseFlowDTO.setStatus(caseTask.getStatus());
handleCaseFlowList.add(webCaseFlowDTO);
}
@@ -905,6 +918,10 @@
// 系统给综治中心分派,不需要签收
dfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
dfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+ // 任务处理时限
+ if (firstFlowNode.getExpire() != 0) {
+ dfpCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+ }
dfpCaseTask.setHandleUnitName("系统派单");
dfpCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
dfpCaseTask.setHandleIllust("派单至:"+caseDispBaseDTO.getTargetName());
@@ -974,21 +991,61 @@
*/
public void webStartFlowZXSL(CaseInfo caseInfo, CtUserDTO loginUser){
try{
- // 启动自行受理工作流
- FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId());
+ // 启动自行受理工作流,进入待受理节点
+ FlowNode dslFlowNode = flowInfoService.startFlow(FlowableConsts.FLOWABLE_ID_ZXSL, caseInfo.getId());
+ // 创建并完成待受理任务
+ CaseTask dslCaseTask = new CaseTask();
+ dslCaseTask.setId(utilsClient.getNewTimeId());
+ dslCaseTask.setCaseId(caseInfo.getId());
+ 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_1);
+ // 自行受理,任务候选执行者类型是上一步骤选择
+ dslCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
+ dslCaseTask.setCandeUnitId(loginUser.getUnitId());
+ dslCaseTask.setCandeUnitName(loginUser.getUnitName());
+ // 自行受理,不需要签收
+ dslCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
+ dslCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2);
+ // 任务处理时限
+ if (dslFlowNode.getExpire() != 0) {
+ dslCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), dslFlowNode.getExpire()));
+ }
+ dslCaseTask.setHandleUnitId(loginUser.getUnitId());
+ dslCaseTask.setHandleUnitName(loginUser.getUnitName());
+ dslCaseTask.setHandleUserId(loginUser.getId());
+ dslCaseTask.setHandleUserName(loginUser.getTrueName());
+ dslCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1);
+ dslCaseTask.setHandleIllust("自行受理");
+ dslCaseTask.setHandleTime(caseInfo.getCreateTime());
+ dslCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
+ dslCaseTask.setCustId(caseInfo.getCustId());
+ dslCaseTask.setCreateTime(caseInfo.getCreateTime());
+ dslCaseTask.setUpdateTime(caseInfo.getCreateTime());
+ mapper.insert(dslCaseTask);
+ // 完成待受理任务,走办理反馈节点
+ FlowNode blfkFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(),
+ FlowableConsts.OPERATION_forward, loginUser.getId());
// 进入第1个节点-办理反馈
CaseTask blfkCaseTask = new CaseTask();
blfkCaseTask.setId(utilsClient.getNewTimeId());
blfkCaseTask.setCaseId(caseInfo.getId());
- blfkCaseTask.setFlowableId(firstFlowNode.getFlowableId());
- blfkCaseTask.setProcessInstanceId(firstFlowNode.getProcessInstanceId());
- blfkCaseTask.setProcessTaskId(firstFlowNode.getProcessTaskId());
+ blfkCaseTask.setFlowableId(blfkFlowNode.getFlowableId());
+ blfkCaseTask.setProcessInstanceId(blfkFlowNode.getProcessInstanceId());
+ blfkCaseTask.setProcessTaskId(blfkFlowNode.getProcessTaskId());
blfkCaseTask.setTaskType(CaseTaskConsts.TASK_TYPE_1);
- blfkCaseTask.setNodeType(firstFlowNode.getNodeType());
- blfkCaseTask.setNodeId(firstFlowNode.getNodeId());
- blfkCaseTask.setNodeName(firstFlowNode.getNodeName());
- blfkCaseTask.setFlowId(firstFlowNode.getFlowId());
- blfkCaseTask.setNodeShowName(firstFlowNode.getNodeShowName());
+ blfkCaseTask.setNodeType(blfkFlowNode.getNodeType());
+ blfkCaseTask.setNodeId(blfkFlowNode.getNodeId());
+ blfkCaseTask.setNodeName(blfkFlowNode.getNodeName());
+ blfkCaseTask.setFlowId(blfkFlowNode.getFlowId());
+ blfkCaseTask.setNodeShowName(blfkFlowNode.getNodeShowName());
blfkCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1);
// 通过调度的,任务候选执行者类型是上一步骤选择
blfkCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1);
@@ -998,8 +1055,8 @@
blfkCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0);
blfkCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_1);
// 任务处理时限
- if (firstFlowNode.getExpire() != 0) {
- blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), firstFlowNode.getExpire()));
+ if (blfkFlowNode.getExpire() != 0) {
+ blfkCaseTask.setExpireTime(DateUtils.addDay(caseInfo.getCreateTime(), blfkFlowNode.getExpire()));
}
blfkCaseTask.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
blfkCaseTask.setCustId(caseInfo.getCustId());
@@ -1016,6 +1073,13 @@
caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex());
caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes());
caseInfoService.updateCaseInfo(caseInfoPO);
+ // 更新纠纷扩展信息
+ CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold();
+ caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId());
+ caseInfoUnfoldPO.setAcceptTime(blfkCaseTask.getCreateTime());
+ caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId());
+ caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName());
+ caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO);
}catch (Exception e){
log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e);
throw new ServiceException("CaseTaskService.webStartFlowZXSL", e);
@@ -1332,7 +1396,8 @@
// 新增结案申请信息
caseWindupApply.setApplyUnitId(loginUser.getUnitId());
caseWindupApply.setApplyUnitName(loginUser.getUnitName());
- caseWindupApply.setApplyUserId(loginUser.getTrueName());
+ caseWindupApply.setApplyUserId(loginUser.getId());
+ caseWindupApply.setApplyUserName(loginUser.getTrueName());
caseWindupApply.setApplyTime(nowDate);
caseWindupApply.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
caseWindupApply.setCreateTime(nowDate);
diff --git a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
index 1ab88eb..428c7bc 100644
--- a/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
+++ b/dyh-service/dyh-mediate/src/main/resources/processes/GZDYH_ZXSL_3LEVEL_V1.bpmn20.xml
@@ -10,7 +10,6 @@
<endEvent id="END" name="结束"/>
<userTask id="JASQ" name="结案申请"/>
<sequenceFlow id="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" sourceRef="JAGD" targetRef="END"/>
- <sequenceFlow id="sid-E2A63ACD-76CD-4419-A771-C082334A3A11" sourceRef="START" targetRef="BLFK"/>
<sequenceFlow id="sid-15046AD2-218B-4567-B05A-26B2D0069DE2" name="通过" sourceRef="DSRPJ" targetRef="JAGD">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
</sequenceFlow>
@@ -26,11 +25,16 @@
<sequenceFlow id="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" name="结案审核不同意不同意" sourceRef="JASH" targetRef="BLFK">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='jash_bty'}]]></conditionExpression>
</sequenceFlow>
+ <userTask id="DSL" name="待受理"/>
+ <sequenceFlow id="sid-6435F238-68D1-434F-8830-9130EE87BE4C" name="通过" sourceRef="DSL" targetRef="BLFK">
+ <conditionExpression xsi:type="tFormalExpression"><![CDATA[${operation=='forward'}]]></conditionExpression>
+ </sequenceFlow>
+ <sequenceFlow id="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" sourceRef="START" targetRef="DSL"/>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_GZDYH_ZXSL_3LEVEL_V1">
<bpmndi:BPMNPlane bpmnElement="GZDYH_ZXSL_3LEVEL_V1" id="BPMNPlane_GZDYH_ZXSL_3LEVEL_V1">
<bpmndi:BPMNShape bpmnElement="START" id="BPMNShape_START">
- <omgdc:Bounds height="30.0" width="30.0" x="195.0" y="160.00001244246837"/>
+ <omgdc:Bounds height="30.0" width="30.0" x="40.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"/>
@@ -50,10 +54,9 @@
<bpmndi:BPMNShape bpmnElement="JASQ" id="BPMNShape_JASQ">
<omgdc:Bounds height="80.0" width="100.0" x="479.99999284744274" y="134.99998591840347"/>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge bpmnElement="sid-E2A63ACD-76CD-4419-A771-C082334A3A11" id="BPMNEdge_sid-E2A63ACD-76CD-4419-A771-C082334A3A11">
- <omgdi:waypoint x="224.94999837483869" y="175.00001039707323"/>
- <omgdi:waypoint x="314.9999950161384" y="174.99999811788496"/>
- </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape bpmnElement="DSL" id="BPMNShape_DSL">
+ <omgdc:Bounds height="80.0" width="100.0" x="135.0" y="135.00001244246837"/>
+ </bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-03DCE158-DCD9-4C4F-803A-FA2795072196" id="BPMNEdge_sid-03DCE158-DCD9-4C4F-803A-FA2795072196">
<omgdi:waypoint x="684.9999901652337" y="134.99999798834327"/>
<omgdi:waypoint x="684.9999901652337" y="105.00000053644179"/>
@@ -63,6 +66,10 @@
<bpmndi:BPMNEdge bpmnElement="sid-A0580378-38E0-44D8-981B-9D048ED42E97" id="BPMNEdge_sid-A0580378-38E0-44D8-981B-9D048ED42E97">
<omgdi:waypoint x="414.94999530600165" y="174.9999943307857"/>
<omgdi:waypoint x="479.9999928473666" y="174.99998957230346"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-6435F238-68D1-434F-8830-9130EE87BE4C" id="BPMNEdge_sid-6435F238-68D1-434F-8830-9130EE87BE4C">
+ <omgdi:waypoint x="234.95000000000002" y="175.0000084274335"/>
+ <omgdi:waypoint x="314.99999530610273" y="175.0000019993631"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5" id="BPMNEdge_sid-FE66E67A-D6D4-4E68-BB7E-14A17E87B9E5">
<omgdi:waypoint x="1059.9499856948855" y="175.00000415177684"/>
@@ -80,6 +87,10 @@
<omgdi:waypoint x="579.9499928474428" y="174.99998600593358"/>
<omgdi:waypoint x="659.9999901652095" y="174.99999338149593"/>
</bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge bpmnElement="sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3" id="BPMNEdge_sid-B9DCA90A-70F1-4D12-90AE-44A0943FA1B3">
+ <omgdi:waypoint x="69.94999891869115" y="175.00001244246837"/>
+ <omgdi:waypoint x="134.99999999999022" y="175.00001244246837"/>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
--
Gitblit v1.8.0