From 2c7324f3b7862999139075fd35032be885fc9c31 Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Tue, 22 Oct 2024 15:03:47 +0800 Subject: [PATCH] feat:增加网格待办相关功能 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 527 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 349 insertions(+), 178 deletions(-) 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 1857f72..7d3d06d 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 @@ -34,12 +34,19 @@ import cn.huge.module.flow.domain.po.FlowNode; import cn.huge.module.flow.service.FlowInfoService; import cn.huge.module.mediate.constant.*; +import cn.huge.module.sys.constant.GridBaseConsts; +import cn.huge.module.sys.constant.GridEnum; import cn.huge.module.sys.constant.SyTimeEnum; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; +import cn.huge.module.sys.vo.GridTaskVo; +import cn.huge.module.sys.vo.GridToDoBacthVo; +import cn.huge.module.sys.vo.GridToDoVo; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Maps; +import lombok.extern.java.Log; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -282,6 +289,12 @@ TabButtonInfoDTO bysl = new TabButtonInfoDTO(); bysl.setId("bysl"); bysl.setName("不予受理"); + TabButtonInfoDTO xqcl = new TabButtonInfoDTO(); + xqcl.setId("xqcl"); + xqcl.setName("处理"); + TabButtonInfoDTO tabcl = new TabButtonInfoDTO(); + tabcl.setId("tabcl"); + tabcl.setName("处理"); // 根据流程显示tab List<TabButtonInfoDTO> tabList = new LinkedList<>(); @@ -314,19 +327,19 @@ || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); tabList.add(sqjl); + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); sl.setName("自行受理"); buttonList.add(sl); buttonList.add(jb); buttonList.add(bysl); + buttonList.add(xqcl); CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); if (UserBaseConsts.UNIT_GRADE_1 != ctUnitDTO.getUnitGrade()) { buttonList.add(sb); } - - // 额外单独给详情跳转查看 - daxx.setName("详情"); - tabList.add(daxx); } // 待受理节点 if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId()) @@ -334,14 +347,13 @@ || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); tabList.add(sqjl); - - buttonList.add(sl); - buttonList.add(ht); -// buttonList.add(bysl); - // 额外单独给详情跳转查看 daxx.setName("详情"); tabList.add(daxx); + + buttonList.add(sl); + buttonList.add(ht); + buttonList.add(xqcl); } // 回退审核节点 if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId()) @@ -352,10 +364,11 @@ tabList.add(sxxq); tabList.add(sqjl); tabList.add(htsh); - // 额外单独给详情跳转查看 daxx.setName("详情"); tabList.add(daxx); + + buttonList.add(tabcl); } // 上报审核节点 if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId()) @@ -364,10 +377,11 @@ tabList.add(sxxq); tabList.add(sqjl); tabList.add(sbsh); - // 额外单独给详情跳转查看 daxx.setName("详情"); tabList.add(daxx); + + buttonList.add(tabcl); } // 办理反馈节点 if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { @@ -376,37 +390,39 @@ tabList.add(sxbl); tabList.add(lcdb); tabList.add(sqjl); + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); buttonList.add(tjbljl); buttonList.add(lhczsq); buttonList.add(jasq); -// buttonList.add(db); - - // 额外单独给详情跳转查看 - daxx.setName("详情"); - tabList.add(daxx); + buttonList.add(tabcl); } else { tabList.add(sxxq); tabList.add(sxbl); tabList.add(lcdb); tabList.add(sqjl); - - buttonList.add(tjbljl); - // 额外单独给详情跳转查看 daxx.setName("详情"); tabList.add(daxx); + + buttonList.add(tjbljl); + buttonList.add(tabcl); } } // 结案审核节点 - if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { + if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(caseTask.getNodeId()) + ||FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex().equals(caseTask.getNodeId())) { tabList.add(sxxq); tabList.add(sqjl); tabList.add(jash); - // 额外单独给详情跳转查看 daxx.setName("详情"); tabList.add(daxx); + + buttonList.add(tabcl); } // 当事人评价节点 if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { @@ -425,13 +441,13 @@ if (FlowNodeEnum.FLOW_NODE_DSL.getIndex().equals(caseTask.getNodeId())) { tabList.add(dslxq); tabList.add(sqjl); - - buttonList.add(sl); - buttonList.add(ht); - // 额外单独给详情跳转查看 daxx.setName("详情"); tabList.add(daxx); + + buttonList.add(sl); + buttonList.add(ht); + buttonList.add(tabcl); } } }else { @@ -556,6 +572,8 @@ } // 审核节点要判断通过/不通过 if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH_EJ.getIndex()) || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) @@ -630,160 +648,168 @@ List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId); if (CollectionUtils.isNotEmpty(caseAssistInfoList)){ LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>(); + int i = 0; for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){ - WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); - webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()); if (CaseTaskConsts.ASSIST_STATUS_0 == caseAssistInfo.getAssistStatus()) { + WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); + webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()); webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()); - }else { - webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)"); - } - LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>(); - // 首节点 - WebCaseFlowDTO lfdjAssist = new WebCaseFlowDTO(); - if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){ - lfdjAssist.setNodeShowName("来访登记"); - lfdjAssist.setHandleUserName(caseInfo.getInputUserName()); - lfdjAssist.setHandleUnitName(caseInfo.getInputUnitName()); - }else { - lfdjAssist.setNodeShowName(caseInfo.getCanalName()); - lfdjAssist.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)"); - } - lfdjAssist.setTaskType(SHOW_TASK_TYPE_1); - lfdjAssist.setStatus(CaseTaskConsts.TASK_STATUS_2); - lfdjAssist.setHandleTime(new Date()); - caseFlowList.add(lfdjAssist); - // 查询其他节点 - caseTaskQueryWrapper.clear(); - caseTaskQueryWrapper.eq("case_id", caseId).eq("process_instance_id", caseAssistInfo.getProcessInstanceId()) - .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id"); - List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); - for (CaseTask caseTask: assistCaseTaskList){ - // 已结束节点 - 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())){ - if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){ - WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); - slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1); - slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); - slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); - slWebCaseFlowDTO.setHandleNotes("已签收"); - slWebCaseFlowDTO.setStatus(caseTask.getStatus()); - caseFlowList.add(slWebCaseFlowDTO); - } - } - // 普通节点 - WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); - webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1); - webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); - webCaseFlowDTO.setStatus(caseTask.getStatus()); - webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); - // 当事人评价/结案归档节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ - webCaseFlowDTO.setHandleUserName(null); - webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); - }else if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ - webCaseFlowDTO.setHandleUserName(null); - webCaseFlowDTO.setHandleUnitName("系统自动"); - }else{ - webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); - webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); - } - // 回退申请节点 - if(CaseTaskConsts.HANDLE_RESULT_4 == caseTask.getHandleResult()){ - webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2); - webCaseFlowDTO.setNodeShowName("事件回退"); - CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType()); - if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { - webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); - }else { - webCaseFlowDTO.setHandleNotes("回退理由:-"); - } - } - // 上报申请节点 - if(CaseTaskConsts.HANDLE_RESULT_5 == caseTask.getHandleResult()){ - webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_3); - webCaseFlowDTO.setNodeShowName("事件上报"); - CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId); - if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) { - webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent()); - }else { - webCaseFlowDTO.setHandleNotes("上报意见:-" ); - } - } - // 审核节点要判断通过/不通过 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) - || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) - || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) - || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) - || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex()) - || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){ - // 审核不通过 - if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { - webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2); - webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); - webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); - }else{ - // 审核通过 - webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); - webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); - } - // 临时加上 - webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName()); - } - // 结案申请,需要展示化解结果 - if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){ - CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId()); - if (ObjectUtils.isNotEmpty(caseInfoUnfold)){ - webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult()); - webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName()); - // 临时加上 - webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); - } - } - caseFlowList.add(webCaseFlowDTO); + LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>(); + // 首节点 + WebCaseFlowDTO lfdjAssist = new WebCaseFlowDTO(); + if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())){ + lfdjAssist.setNodeShowName("来访登记"); + lfdjAssist.setHandleUserName(caseInfo.getInputUserName()); + lfdjAssist.setHandleUnitName(caseInfo.getInputUnitName()); }else { - // 进行中的节点 - // 待受理并已签收的正常任务节点,需要加多一个签收节点 - 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())){ - if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){ - WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); - slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); - slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); - slWebCaseFlowDTO.setHandleNotes("已签收"); - slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1); - slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2); - caseFlowList.add(slWebCaseFlowDTO); - } - } - // 正常节点 - WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); - webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setStatus(caseTask.getStatus()); - // 当事人评价节点,特殊处理 - if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) - || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ - webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); - }else{ - webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); - } - caseFlowList.add(webCaseFlowDTO); + lfdjAssist.setNodeShowName(caseInfo.getCanalName()); + lfdjAssist.setHandleUnitName(caseInfo.getInputUserName()+"(当事人)"); } + lfdjAssist.setTaskType(SHOW_TASK_TYPE_1); + lfdjAssist.setStatus(CaseTaskConsts.TASK_STATUS_2); + lfdjAssist.setHandleTime(new Date()); + caseFlowList.add(lfdjAssist); + // 查询其他节点 + caseTaskQueryWrapper.clear(); + caseTaskQueryWrapper.eq("case_id", caseId).eq("process_instance_id", caseAssistInfo.getProcessInstanceId()) + .eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByAsc("id"); + List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + for (CaseTask caseTask: assistCaseTaskList){ + // 已结束节点 + 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())){ + if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){ + WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); + slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1); + slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); + slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); + slWebCaseFlowDTO.setHandleNotes("已签收"); + slWebCaseFlowDTO.setStatus(caseTask.getStatus()); + caseFlowList.add(slWebCaseFlowDTO); + } + } + // 普通节点 + WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); + webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1); + webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); + webCaseFlowDTO.setStatus(caseTask.getStatus()); + webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); + // 当事人评价/结案归档节点,特殊处理 + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ + webCaseFlowDTO.setHandleUserName(null); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); + }else if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ + webCaseFlowDTO.setHandleUserName(null); + webCaseFlowDTO.setHandleUnitName("系统自动"); + }else{ + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); + } + // 回退申请节点 + if(CaseTaskConsts.HANDLE_RESULT_4 == caseTask.getHandleResult()){ + webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2); + webCaseFlowDTO.setNodeShowName("事件回退"); + CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType()); + if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { + webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); + }else { + webCaseFlowDTO.setHandleNotes("回退理由:-"); + } + } + // 上报申请节点 + if(CaseTaskConsts.HANDLE_RESULT_5 == caseTask.getHandleResult()){ + webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_3); + webCaseFlowDTO.setNodeShowName("事件上报"); + CaseAppear caseAppear = caseAppearService.getNewByCaseId(caseId); + if (StringUtils.isNotEmpty(caseAppear.getAppearContent())) { + webCaseFlowDTO.setHandleNotes("上报理由:" + caseAppear.getAppearContent()); + }else { + webCaseFlowDTO.setHandleNotes("上报意见:-" ); + } + } + // 审核节点要判断通过/不通过 + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JASH.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex())){ + // 审核不通过 + if (CaseTaskConsts.HANDLE_RESULT_2 == caseTask.getHandleResult()) { + webCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_2); + webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); + webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); + }else{ + // 审核通过 + webCaseFlowDTO.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_1.getIndex()); + webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_1.getDes()); + } + // 临时加上 + webCaseFlowDTO.setHandleNotes("审核结果:"+webCaseFlowDTO.getAuditResultName()); + } + // 结案申请,需要展示化解结果 + if (FlowNodeEnum.FLOW_NODE_JASQ.getIndex().equals(caseTask.getNodeId())){ + CaseInfoUnfold caseInfoUnfold = caseInfoUnfoldService.getById(caseTask.getCaseId()); + if (ObjectUtils.isNotEmpty(caseInfoUnfold)){ + webCaseFlowDTO.setMediResult(caseInfoUnfold.getMediResult()); + webCaseFlowDTO.setMediResultName(caseInfoUnfold.getMediResultName()); + // 临时加上 + webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); + } + } + caseFlowList.add(webCaseFlowDTO); + }else { + // 进行中的节点 + // 待受理并已签收的正常任务节点,需要加多一个签收节点 + 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())){ + if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.HANDLE_RESULT_0 == caseTask.getHandleResult()){ + WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); + slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); + slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); + slWebCaseFlowDTO.setHandleNotes("已签收"); + slWebCaseFlowDTO.setTaskType(SHOW_TASK_TYPE_1); + slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2); + caseFlowList.add(slWebCaseFlowDTO); + } + } + // 正常节点 + WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); + webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + webCaseFlowDTO.setStatus(caseTask.getStatus()); + // 当事人评价节点,特殊处理 + if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()) + || caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_JAGD.getIndex())){ + webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); + }else{ + webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); + } + caseFlowList.add(webCaseFlowDTO); + } + } + webAssistCaseFlowDTO.setCaseFlowList(caseFlowList); + assistCaseFlowList.add(webAssistCaseFlowDTO); + }else { + WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); + // i防止提供给前端的unitId重复 + i++; + webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()+"_"+i); + webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)"); + LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>(); + webAssistCaseFlowDTO.setCaseFlowList(caseFlowList); + assistCaseFlowList.add(webAssistCaseFlowDTO); } - webAssistCaseFlowDTO.setCaseFlowList(caseFlowList); - assistCaseFlowList.add(webAssistCaseFlowDTO); } result.put("assistCaseFlowList", assistCaseFlowList); } @@ -1146,7 +1172,7 @@ if (UserBaseConsts.UNIT_GRADE_3 == caseDispBaseDTO.getTargetUnitGrade()) { // 启动来访登记工作流 FlowNode firstFlowNode = flowInfoService.startFlow(FlowableConsts.getJbFlow(caseInfo.getCanal()), caseInfo.getId()); - if (UserBaseConsts.UNIT_TYPE_1 == caseDispBaseDTO.getTargetUnitType()){ + if (UserBaseConsts.UNIT_TYPE_101 == caseDispBaseDTO.getTargetUnitType()){ // 调度给镇街综治中心,进入第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); dfpCaseTask.setId(utilsClient.getNewTimeId()); @@ -1185,6 +1211,13 @@ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); + + try { + //添加网格待办 + this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); + }catch (Exception e){ + log.error("添加网格待办失败"); + } }else { // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); @@ -1263,6 +1296,13 @@ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); + + try { + //添加网格待办 + this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); + }catch (Exception e){ + log.error("添加网格待办失败"); + } } } } @@ -1370,6 +1410,14 @@ caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + + try { + //添加网格待办 + this.createGridToDo(caseInfo, blfkCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); + }catch (Exception e){ + log.error("添加网格待办失败"); + } + return blfkCaseTask.getId(); }catch (Exception e){ log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); @@ -1455,6 +1503,8 @@ caseDismiss.setCreateTime(nowDate); caseDismiss.setUpdateTime(nowDate); caseDismissService.save(caseDismiss); + //删除网格待办 + this.deleteGridTodo(caseTask); }catch (Exception e){ log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAssign", e); @@ -1552,6 +1602,7 @@ dslCaseTask.setUpdateTime(nowDate); mapper.insert(dslCaseTask); // 更新纠纷信息 + CaseInfo caseInfo = caseInfoService.getCaseInfo(dslCaseTask.getCaseId()); CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dslCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); @@ -1562,6 +1613,12 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + + try { + this.taskFlowGridToDo(caseInfo, dslCaseTask, assignTaskDTO.getCaseTaskId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2); + }catch (Exception e){ + log.error("添加网格待办失败"); + } // 交办配合组织 if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ @@ -1652,6 +1709,12 @@ caseAssistInfoPO.setCreateTime(nowDate); caseAssistInfoPO.setUpdateTime(nowDate); caseAssistInfoService.save(caseAssistInfoPO); + + try { + this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2); + }catch (Exception e){ + log.error("添加网格待办失败"); + } } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); @@ -1701,6 +1764,10 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + } + CaseInfo caseInfo = caseInfoService.getCaseInfo(qsCaseTask.getCaseId()); + if(ObjectUtils.isNotEmpty(caseInfo)){ + this.taskFlowGridToDo(caseInfo, caseTaskPO, caseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } } }catch (Exception e){ @@ -1777,6 +1844,10 @@ blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); + + //删除网格待办状态 + this.deleteGridTodo(dslCaseTaskPO); + // 承办组织受理才更新纠纷信息 if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { // 更新纠纷信息 @@ -2304,6 +2375,8 @@ caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + + this.createGridToDo(caseInfo, jashCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); } } // 查询联合处置申请单,全部结束申请单 @@ -2392,12 +2465,12 @@ CaseInfo caseInfo = caseInfoService.getById(jashCaseTask.getCaseId()); if (CaseBaseConsts.CASE_LEVEL_1 == caseInfo.getCaseLevel()){ // 一级事件,本级+上级+上上级审核 - if (FlowNodeEnum.FLOW_NODE_JASH.equals(jashCaseTask.getNodeId())){ + if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){ // 完成本级综治中心审核,进入上级综治中心审核节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty_sq, userId); - }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.equals(jashCaseTask.getNodeId())){ + }else if (FlowNodeEnum.FLOW_NODE_JASH_YJ.getIndex().equals(jashCaseTask.getNodeId())){ // 完成上级综治中心审核,进入上上级综治中心审核节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty_sq, userId); @@ -2410,7 +2483,7 @@ }else if (CaseBaseConsts.CASE_LEVEL_2 == caseInfo.getCaseLevel()){ // 二级事件,本级+上级审核 String operation = FlowableConsts.OPERATION_jash_ty; - if (FlowNodeEnum.FLOW_NODE_JASH.equals(jashCaseTask.getNodeId())){ + if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(jashCaseTask.getNodeId())){ // 完成本级综治中心审核,进入上级综治中心审核节点 nextFlowNode = flowInfoService.completeTask(jashCaseTask.getFlowableId(), jashCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_jash_ty_sq, userId); @@ -2687,6 +2760,8 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + + this.deleteGridTodo(jashCaseTaskPO); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -2774,6 +2849,9 @@ caseReturn.setCaseTaskId(htshCaseTask.getId()); caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType()); caseReturnService.save(caseReturn); + //添加网格审核任务 + CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId()); + this.createGridToDo(caseInfo, htshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); }catch (Exception e){ log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webReturnApply", e); @@ -2884,16 +2962,29 @@ mapper.updateCaseTask(assistCaseTask); // 结束配合组织当前工作流任务 flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); + // 更新联合处置信息 + UpdateWrapper<CaseAssistInfo> caseAssistInfoUpdateWrapper = new UpdateWrapper<>(); + caseAssistInfoUpdateWrapper.eq("case_id", htshCaseTask.getCaseId()) + .eq("process_instance_id", assistCaseTask.getProcessInstanceId()) + .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2); + caseAssistInfoService.update(caseAssistInfoUpdateWrapper); + + //修改网格待办 + CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); } }else { // 更新联合处置信息 QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>(); - caseAssistInfoQueryWrapper.eq("case_id", htshCaseTask.getCaseId()).eq("assist_unit_id", htshCaseTask.getCandeUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0); + caseAssistInfoQueryWrapper.eq("case_id", htshCaseTask.getCaseId()) + .eq("assist_unit_id", htshCaseTask.getCandeUnitId()) + .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0); CaseAssistInfo caseAssistInfo = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper); if (ObjectUtils.isNotEmpty(caseAssistInfo)){ caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1); caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); } + this.deleteGridTodo(htshCaseTaskPO); } }else { // 审核不通过 @@ -2962,6 +3053,9 @@ nextCaseTask.setCreateTime(nowDate); nextCaseTask.setUpdateTime(nowDate); mapper.insert(nextCaseTask); + //修改网格待办 + CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } }catch (Exception e){ log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e); @@ -3045,6 +3139,9 @@ // 新增上报申请信息 caseAppear.setCaseTaskId(sbshCaseTask.getId()); caseAppearService.save(caseAppear); + //添加网格审核任务 + CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId()); + this.createGridToDo(caseInfo, sbshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); }catch (Exception e){ log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAppearApply", e); @@ -3133,6 +3230,10 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + + //网格待办任务处理 + CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); }else { // 审核不通过 // 完成当前上报审核任务 @@ -3186,6 +3287,10 @@ dfphCaseTask.setCreateTime(nowDate); dfphCaseTask.setUpdateTime(nowDate); mapper.insert(dfphCaseTask); + + //网格待办任务处理 + CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId()); + this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); } }catch (Exception e){ log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); @@ -3219,4 +3324,70 @@ } } + public void deleteGridTodo(CaseTask caseTask) { + try { + //删除网格待办任务 + GridTaskVo gridTaskVo = new GridTaskVo(); + gridTaskVo.setCaseId(caseTask.getCaseId()); + gridTaskVo.setCaseTaskId(caseTask.getId()); + sysClient.deleteTaskTodo(gridTaskVo); + } catch (Exception e) { + log.error("添加网格待办失败"); + } + } + + public void createGridToDo(CaseInfo caseInfo, CaseTask caseTask, String gridObjType, String noticeTypeName){ + try { + //添加网格待办 + GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo(); + gridToDoBacthVo.setObjId(caseTask.getId()); + gridToDoBacthVo.setObjType(gridObjType); + gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); + gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants()+"的"+caseInfo.getCaseTypeName()+"事件"); + gridToDoBacthVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); + sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId()); + } catch (Exception e) { + log.error("添加网格待办失败"); + log.error(e.getMessage(), e); + } + } + + public void updateGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) { + try { + //添加网格待办 + GridToDoVo gridToDoVo = new GridToDoVo(); + gridToDoVo.setObjId(caseTask.getId()); + gridToDoVo.setObjType(gridObjType); + gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); + gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件"); + gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); + gridToDoVo.setCaseId(caseInfo.getId()); + sysClient.updateTaskTodo(gridToDoVo, previousTaskId); + } catch (Exception e) { + log.error("添加网格待办失败"); + log.error(e.getMessage(), e); + } + } + + public void taskFlowGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) { + try { + //删除网格待办任务 + GridTaskVo gridTaskVo = new GridTaskVo(); + gridTaskVo.setCaseId(caseInfo.getId()); + gridTaskVo.setCaseTaskId(previousTaskId); + sysClient.deleteTaskTodo(gridTaskVo); + //添加网格待办 + GridToDoVo gridToDoVo = new GridToDoVo(); + gridToDoVo.setObjId(caseTask.getId()); + gridToDoVo.setObjType(gridObjType); + gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); + gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件"); + gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); + gridToDoVo.setCaseId(caseInfo.getId()); + sysClient.updateTaskTodo(gridToDoVo, previousTaskId); + } catch (Exception e) { + log.error("添加网格待办失败"); + log.error(e.getMessage(), e); + } + } } -- Gitblit v1.8.0