From 229cdb3d5692219b8ddd3ebcf13873d3a0bc703a Mon Sep 17 00:00:00 2001 From: huangh <hshgjzd5@163.com> Date: Thu, 26 Sep 2024 10:34:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/gzdyh_test' into gzdyh_test --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 790 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 565 insertions(+), 225 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 f0aa4e3..e01eeed 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 @@ -22,6 +22,8 @@ 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.draft.domain.po.CasedraftInfo; +import cn.huge.module.draft.service.CasedraftInfoService; import cn.huge.module.mediate.constant.AuditBaseConsts; import cn.huge.module.mediate.constant.AuditBaseConstsEnum; import cn.huge.module.disp.constant.DispBaseConstsEnum; @@ -95,15 +97,12 @@ private CaseReturnService caseReturnService; @Autowired private CaseEvaluateService caseEvaluateService; - @Autowired - private CaseWindupApplyMapper caseWindupApplyMapper; + private CaseAssistInfoService caseAssistInfoService; @Autowired - private CaseReturnMapper caseReturnMapper; + private CaseDismissService caseDismissService; @Autowired - private CaseAppearMapper caseAppearMapper; - @Autowired - private CaseAssistApplyMapper caseAssistApplyMapper; + private CasedraftInfoService casedraftInfoService; /** * 更新对象 @@ -196,14 +195,26 @@ } /** + * 根据纠纷编号查询进行中的配合部门任务 + * @param caseId + * @return + */ + public List<CaseTask> listAssistTasking(String caseId){ + // 查询配合部门的任务 + QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); + caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", caseId) + .eq("status", CaseTaskConsts.TASK_STATUS_1); + List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + return assistCaseTaskList; + } + + /** * web端-任务出来页面-初始化tab和按钮 * @param caseTaskId * @return */ public TabButtonDTO webGetTabButton(String caseTaskId, String userId){ try{ - // 查询当前任务信息 - CaseTask caseTask = mapper.selectById(caseTaskId); // 定义tab TabButtonInfoDTO sxxq = new TabButtonInfoDTO(); sxxq.setId("sxxq"); @@ -214,9 +225,9 @@ TabButtonInfoDTO sxbl = new TabButtonInfoDTO(); sxbl.setId("sxbl"); sxbl.setName("事项办理"); -// TabButtonInfoDTO sqjl = new TabButtonInfoDTO(); -// sqjl.setId("sqjl"); -// sqjl.setName("申请记录"); + TabButtonInfoDTO sqjl = new TabButtonInfoDTO(); + sqjl.setId("sqjl"); + sqjl.setName("申请记录"); TabButtonInfoDTO htsh = new TabButtonInfoDTO(); htsh.setId("htsh"); htsh.setName("回退审核"); @@ -235,6 +246,9 @@ TabButtonInfoDTO daxx = new TabButtonInfoDTO(); daxx.setId("daxx"); daxx.setName("档案信息"); + TabButtonInfoDTO byslxq = new TabButtonInfoDTO(); + byslxq.setId("byslxq"); + byslxq.setName("详情"); // 定义button TabButtonInfoDTO tjbljl = new TabButtonInfoDTO(); @@ -264,114 +278,163 @@ TabButtonInfoDTO sb = new TabButtonInfoDTO(); sb.setId("sb"); sb.setName("上报"); + TabButtonInfoDTO bysl = new TabButtonInfoDTO(); + bysl.setId("bysl"); + bysl.setName("不予受理"); + // 根据流程显示tab List<TabButtonInfoDTO> tabList = new LinkedList<>(); // 根据流程显示button List<TabButtonInfoDTO> buttonList = new LinkedList<>(); + // 查询当前任务信息 + CaseTask caseTask = mapper.selectById(caseTaskId); if (ObjectUtils.isNotEmpty(caseTask)) { - if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); -// tabList.add(sqjl); + // 已完成任务 + if (CaseTaskConsts.TASK_STATUS_2 == caseTask.getStatus()){ + // 不予受理 + if (ObjectUtils.isNotEmpty(caseTask.getHandleResult()) && CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ + tabList.add(byslxq); + tabList.add(sqjl); + }else { + // 正常任务 + CaseInfo caseInfo = caseInfoService.getById(caseTask.getCaseId()); + if (CaseProcessBaseConstsEnum.CASE_PROCESS_6.getIndex() != caseInfo.getProcess()){ + daxx.setName("详情"); + } + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + }else { + // 进行中任务 + // 待分派节点 + if (FlowNodeEnum.FLOW_NODE_ZJ_DFP.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); - buttonList.add(zxsl); - buttonList.add(jb); - buttonList.add(sb); - } - if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); -// tabList.add(sqjl); + sl.setName("自行受理"); + buttonList.add(sl); + buttonList.add(jb); + buttonList.add(sb); + buttonList.add(bysl); - buttonList.add(sl); - buttonList.add(ht); - } - if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(htsh); - } - if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(sbsh); - } - if (FlowNodeEnum.FLOW_NODE_QJ_DFP.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); -// tabList.add(sqjl); + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 待受理节点 + if (FlowNodeEnum.FLOW_NODE_ZJ_DSL.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { + tabList.add(dslxq); + tabList.add(sqjl); - buttonList.add(zxsl); - buttonList.add(jb); - buttonList.add(sb); - } - if (FlowNodeEnum.FLOW_NODE_QJ_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); -// tabList.add(sqjl); + buttonList.add(sl); + buttonList.add(ht); + buttonList.add(bysl); - buttonList.add(sl); - buttonList.add(ht); - } - if (FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(htsh); - } - if (FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(sbsh); - } - if (FlowNodeEnum.FLOW_NODE_SJ_DFP.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); -// tabList.add(sqjl); + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 回退审核节点 + if (FlowNodeEnum.FLOW_NODE_ZJ_HTSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_QJ_HTSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_HTSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(htsh); - buttonList.add(zxsl); - buttonList.add(jb); - } - if (FlowNodeEnum.FLOW_NODE_SJ_DSL.getIndex().equals(caseTask.getNodeId())) { - tabList.add(dslxq); -// tabList.add(sqjl); + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 上报审核节点 + if (FlowNodeEnum.FLOW_NODE_QJ_SBSH.getIndex().equals(caseTask.getNodeId()) + || FlowNodeEnum.FLOW_NODE_SJ_SBSH.getIndex().equals(caseTask.getNodeId())) { + sxxq.setName("详情"); + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(sbsh); - buttonList.add(sl); - buttonList.add(ht); - } - if (FlowNodeEnum.FLOW_NODE_SJ_HTSH.getIndex().equals(caseTask.getNodeId())) { - sxxq.setName("详情"); - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(htsh); - } - if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { - tabList.add(sxxq); - tabList.add(sxbl); -// tabList.add(sqjl); + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 办理反馈节点 + if (FlowNodeEnum.FLOW_NODE_BLFK.getIndex().equals(caseTask.getNodeId())) { + if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) { + tabList.add(sxxq); + tabList.add(sxbl); + tabList.add(lcdb); + tabList.add(sqjl); - buttonList.add(tjbljl); - buttonList.add(lhczsq); - buttonList.add(jasq); - } - if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(jash); - } - if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { - daxx.setName("信息"); - tabList.add(daxx); - tabList.add(lcdb); -// tabList.add(sqjl); - } - if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { - tabList.add(daxx); - tabList.add(lcdb); -// tabList.add(sqjl); + buttonList.add(tjbljl); + buttonList.add(lhczsq); + buttonList.add(jasq); +// buttonList.add(db); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } else { + tabList.add(sxxq); + tabList.add(sxbl); + tabList.add(lcdb); + tabList.add(sqjl); + + buttonList.add(tjbljl); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + } + // 结案审核节点 + if (FlowNodeEnum.FLOW_NODE_JASH.getIndex().equals(caseTask.getNodeId())) { + tabList.add(sxxq); + tabList.add(sqjl); + tabList.add(jash); + + // 额外单独给详情跳转查看 + daxx.setName("详情"); + tabList.add(daxx); + } + // 当事人评价节点 + if (FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex().equals(caseTask.getNodeId())) { + daxx.setName("详情"); + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + // 结案归档节点 + if (FlowNodeEnum.FLOW_NODE_JAGD.getIndex().equals(caseTask.getNodeId())) { + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); + } + // 联合处置-待受理 + 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); + } } }else { - tabList.add(sxxq); -// tabList.add(sqjl); - tabList.add(lhczsh); + daxx.setName("详情"); + tabList.add(daxx); + tabList.add(lcdb); + tabList.add(sqjl); } // 封装数据 TabButtonDTO tabButtonDTO = new TabButtonDTO(); @@ -423,9 +486,9 @@ if (CaseTaskConsts.SIGN_STATUS_2 == caseTask.getSignStatus() && CaseTaskConsts.TASK_TYPE_1 == caseTask.getTaskType()){ WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - slWebCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); - slWebCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); - slWebCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); + slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); slWebCaseFlowDTO.setHandleNotes("已签收"); slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); slWebCaseFlowDTO.setStatus(caseTask.getStatus()); @@ -465,6 +528,8 @@ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); + webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleUserName(null); }else{ webCaseFlowDTO.setHandleUnitName(caseTask.getHandleUnitName()); } @@ -498,9 +563,33 @@ webCaseFlowDTO.setHandleNotes("化解结果:"+webCaseFlowDTO.getMediResultName()); } } + // 不予受理 + if (CaseTaskConsts.HANDLE_RESULT_3 == caseTask.getHandleResult()){ + webCaseFlowDTO.setNodeShowName("不予受理"); + webCaseFlowDTO.setHandleNotes(null); + webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_4); + } handleCaseFlowList.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.TASK_TYPE_1 == caseTask.getTaskType()){ + WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); + slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); + slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); + slWebCaseFlowDTO.setHandleNotes("已签收"); + slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); + slWebCaseFlowDTO.setStatus(CaseTaskConsts.TASK_STATUS_2); + handleCaseFlowList.add(slWebCaseFlowDTO); + } + } + // 正常节点 WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); webCaseFlowDTO.setStatus(caseTask.getStatus()); @@ -508,7 +597,7 @@ if (caseTask.getNodeId().equals(FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex())){ webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); }else{ - webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); } handleCaseFlowList.add(webCaseFlowDTO); } @@ -516,21 +605,146 @@ result.put("handleCaseFlowList", handleCaseFlowList); // 查询配合组织流程 - LinkedList<WebCaseFlowDTO> assistCaseFlowList = new LinkedList<>(); - caseTaskQueryWrapper.clear(); - caseTaskQueryWrapper.eq("case_id", caseId).eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).orderByDesc("create_time"); - List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); - for (CaseTask caseTask: assistCaseTaskList){ - WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); - webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); - webCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); - webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); - webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); - webCaseFlowDTO.setTaskType(caseTask.getTaskType()); - webCaseFlowDTO.setStatus(caseTask.getStatus()); - assistCaseFlowList.add(webCaseFlowDTO); + List<CaseAssistInfo> caseAssistInfoList = caseAssistInfoService.listByCaseId(caseId); + if (CollectionUtils.isNotEmpty(caseAssistInfoList)){ + LinkedList<WebAssistCaseFlowDTO> assistCaseFlowList = new LinkedList<>(); + for (CaseAssistInfo caseAssistInfo: caseAssistInfoList){ + WebAssistCaseFlowDTO webAssistCaseFlowDTO = new WebAssistCaseFlowDTO(); + webAssistCaseFlowDTO.setUnitId(caseAssistInfo.getAssistUnitId()); + if (CaseTaskConsts.ASSIST_STATUS_0 == caseAssistInfo.getAssistStatus()) { + webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()); + }else { + webAssistCaseFlowDTO.setUnitName(caseAssistInfo.getAssistUnitName()+"(已回退)"); + } + LinkedList<WebCaseFlowDTO> caseFlowList = new LinkedList<>(); + caseTaskQueryWrapper.clear(); + caseTaskQueryWrapper.eq("case_id", caseId).eq("cande_unit_id", caseAssistInfo.getAssistUnitId()) + .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.TASK_TYPE_1 == caseTask.getTaskType()){ + WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); + slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); + slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); + slWebCaseFlowDTO.setHandleNotes("已签收"); + slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); + slWebCaseFlowDTO.setStatus(caseTask.getStatus()); + caseFlowList.add(slWebCaseFlowDTO); + } + } + // 普通节点 + WebCaseFlowDTO webCaseFlowDTO = new WebCaseFlowDTO(); + webCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + webCaseFlowDTO.setHandleUserName(caseTask.getHandleUserName()); + webCaseFlowDTO.setHandleTime(caseTask.getHandleTime()); + webCaseFlowDTO.setStatus(caseTask.getStatus()); + webCaseFlowDTO.setHandleNotes(caseTask.getHandleIllust()); + webCaseFlowDTO.setTaskType(caseTask.getTaskType()); + // 回退申请节点 + if(CaseTaskConsts.TASK_TYPE_2 == caseTask.getTaskType()){ + webCaseFlowDTO.setNodeShowName("事件回退"); + CaseReturn caseReturn = caseReturnService.getNewByCaseId(caseId, caseTask.getCaseTaskType()); + if (StringUtils.isNotEmpty(caseReturn.getReturnContent())) { + webCaseFlowDTO.setHandleNotes("回退理由:" + caseReturn.getReturnContent()); + }else { + webCaseFlowDTO.setHandleNotes("回退理由:-"); + + } + } + // 上报申请节点 + if(CaseTaskConsts.TASK_TYPE_3 == caseTask.getTaskType()){ + 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_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()) + || 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.setAuditResult(AuditBaseConstsEnum.AUDIT_RESULT_2.getIndex()); + webCaseFlowDTO.setAuditResultName(AuditBaseConstsEnum.AUDIT_RESULT_2.getDes()); + webCaseFlowDTO.setTaskType(CaseTaskConsts.TASK_TYPE_2); + }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.TASK_TYPE_1 == caseTask.getTaskType()){ + WebCaseFlowDTO slWebCaseFlowDTO = new WebCaseFlowDTO(); + slWebCaseFlowDTO.setNodeShowName(caseTask.getNodeShowName()); + slWebCaseFlowDTO.setHandleUnitName(caseTask.getCandeUnitName()); + slWebCaseFlowDTO.setHandleUserName(caseTask.getSignUserName()); + slWebCaseFlowDTO.setHandleTime(caseTask.getSignTime()); + slWebCaseFlowDTO.setHandleNotes("已签收"); + slWebCaseFlowDTO.setTaskType(caseTask.getTaskType()); + 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())){ + webCaseFlowDTO.setProcessName(caseTask.getNodeShowName()); + }else{ + webCaseFlowDTO.setProcessName(caseTask.getCandeUnitName()); + } + caseFlowList.add(webCaseFlowDTO); + } + } + webAssistCaseFlowDTO.setCaseFlowList(caseFlowList); + assistCaseFlowList.add(webAssistCaseFlowDTO); + } + result.put("assistCaseFlowList", assistCaseFlowList); } - result.put("assistCaseFlowList", assistCaseFlowList); return result; }catch (Exception e){ log.error("[CaseTaskService.webGetTabButton]调用失败,异常信息:"+e, e); @@ -556,7 +770,21 @@ long countReturnReview = caseReturnService.countReturnReview(loginUser.getUnitId()); long countAppearReview = caseAppearService.countAppearReview(loginUser.getUnitId()); long countAssistReview = caseAssistApplyService.countAssistReview(loginUser.getUnitId()); + frontPageCountDTO.setReturnReview(countReturnReview); + frontPageCountDTO.setAppearReview(countAppearReview); + frontPageCountDTO.setWindupReview(countApplyReview); + frontPageCountDTO.setAssistReview(countAssistReview); frontPageCountDTO.setWaitReview(countApplyReview+countReturnReview+countAppearReview+countAssistReview); + // 已办 + Map<String, Object> ybTerms = new HashMap<>(); + ybTerms.put("handleUnitId", loginUser.getUnitId()); + long alreadyDone = mapper.countMyTaskYb(ybTerms); + frontPageCountDTO.setAlreadyDone(alreadyDone); + // 已办 + Map<String, Object> cgTerms = new HashMap<>(); + cgTerms.put("inputUnitId", loginUser.getUnitId()); + long caseDraft = casedraftInfoService.countTerms(cgTerms); + frontPageCountDTO.setCaseDraft(caseDraft); return frontPageCountDTO; }catch (Exception e) { log.error("[CaseTaskService.getCountList]调用失败,异常信息:" + e, e); @@ -565,16 +793,16 @@ } /** - * 首页-查询待办任务-受分派 + * 首页-查询待办任务-待/已分派 * @param page 分页对象 * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskFp(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListFPDTO> pageMyTaskFp(PageRequest page, Map<String, Object> terms){ try { long total = mapper.countMyTaskFp(terms); - List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskFp(page, terms); - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + List<FrontPageListFPDTO> frontPageListFPDTOList = mapper.pageMyTaskFp(page, terms); + return new PageImpl<FrontPageListFPDTO>(frontPageListFPDTOList, page, total); }catch (Exception e) { log.error("[CaseTaskService.pageMyTaskFp]调用失败,异常信息:" + e, e); throw new ServiceException("CaseTaskService.pageMyTaskFp", e); @@ -583,16 +811,16 @@ } /** - * 首页-查询待办任务-受签收 + * 首页-查询待办任务-待/已签收 * @param page 分页对象 * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskQs(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListQSDTO> pageMyTaskQs(PageRequest page, Map<String, Object> terms){ try { long total = mapper.countMyTaskQs(terms); - List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskQs(page, terms); - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + List<FrontPageListQSDTO> frontPageListDTOList = mapper.pageMyTaskQs(page, terms); + return new PageImpl<FrontPageListQSDTO>(frontPageListDTOList, page, total); }catch (Exception e) { log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); throw new ServiceException("CaseTaskService.pageMyTaskQs", e); @@ -600,19 +828,19 @@ } /** - * 首页-查询待办任务-受待理 + * 首页-查询待办任务-待/已受理 * @param page 分页对象 * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskSl(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListSLDTO> pageMyTaskSl(PageRequest page, Map<String, Object> terms){ try { long total = mapper.countMyTaskSl(terms); - List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskSl(page, terms); - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + List<FrontPageListSLDTO> frontPageListDTOList = mapper.pageMyTaskSl(page, terms); + return new PageImpl<FrontPageListSLDTO>(frontPageListDTOList, page, total); }catch (Exception e) { - log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); - throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + log.error("[CaseTaskService.pageMyTaskSl]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskSl", e); } } @@ -622,39 +850,22 @@ * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskBlz(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListBLZDTO> pageMyTaskBlz(PageRequest page, Map<String, Object> terms){ try { - long total = mapper.countMyTaskProcessing(terms); - List<FrontPageListDTO> frontPageListDTOList = mapper.pageMyTaskProcessing(page, terms); - List<String> caseIdList = new ArrayList<>(); + long total = mapper.countMyTaskBlz(terms); + List<FrontPageListBLZDTO> frontPageListBLZDTOList = mapper.pageMyTaskBlz(page, terms); Date now = DateUtils.getNowDate(); - for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ - long milliseconds1 = frontPageListDTO.getTurnaroundTime().getTime(); + for(FrontPageListBLZDTO frontPageListBLZDTO: frontPageListBLZDTOList){ + long milliseconds1 = frontPageListBLZDTO.getTurnaroundTime().getTime(); long milliseconds2 = now.getTime(); long diff = milliseconds2 - milliseconds1; long daysBetween = diff / (24 * 60 * 60 * 1000); - frontPageListDTO.setProcessingDays(daysBetween); - caseIdList.add(frontPageListDTO.getCaseId()); + frontPageListBLZDTO.setProcessingDays(daysBetween); } - if(CollectionUtils.isNotEmpty(caseIdList)){ - QueryWrapper<CaseInfoUnfold> unfoldQueryWrapper = new QueryWrapper<>(); - unfoldQueryWrapper.in("id", caseIdList); - List<CaseInfoUnfold> unfoldList = caseInfoUnfoldService.list(unfoldQueryWrapper); - for(CaseInfoUnfold unfold: unfoldList){ - for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ - if(frontPageListDTO.getCaseId().equals(unfold.getId())){ - frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName()); - frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName()); - frontPageListDTO.setManager(unfold.getMediator()); - } - } - } - } - - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + return new PageImpl<FrontPageListBLZDTO>(frontPageListBLZDTOList, page, total); }catch (Exception e) { - log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); - throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + log.error("[CaseTaskService.pageMyTaskBlz]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskBlz", e); } } @@ -664,30 +875,14 @@ * @param terms 条件 * @return Page */ - public Page<FrontPageListDTO> pageMyTaskBl(PageRequest page, Map<String, Object> terms){ + public Page<FrontPageListJADTO> pageMyTaskJa(PageRequest page, Map<String, Object> terms){ try { - long total = caseWindupApplyService.countMySubmitApplyReview(terms); - List<FrontPageListDTO> frontPageListDTOList = caseWindupApplyService.listMySubmitApplyReview(page, terms); - - List<String> caseIdList = new ArrayList<>(); - caseIdList = frontPageListDTOList.stream().map(FrontPageListDTO ::getCaseId).collect(Collectors.toList()); - if(CollectionUtils.isNotEmpty(caseIdList)){ - QueryWrapper<CaseInfoUnfold> unfoldQueryWrapper = new QueryWrapper<>(); - unfoldQueryWrapper.in("id", caseIdList); - List<CaseInfoUnfold> unfoldList = caseInfoUnfoldService.list(unfoldQueryWrapper); - for(CaseInfoUnfold unfold: unfoldList){ - for(FrontPageListDTO frontPageListDTO: frontPageListDTOList){ - if(frontPageListDTO.getCaseId().equals(unfold.getId())){ - frontPageListDTO.setOrganizingUnit(unfold.getMediateUnitName()); - frontPageListDTO.setCooperatingUnit(unfold.getAssistUnitName()); - } - } - } - } - return new PageImpl<FrontPageListDTO>(frontPageListDTOList, page, total); + long total = caseWindupApplyService.countMyTaskJa(terms); + List<FrontPageListJADTO> frontPageListJADTOList = caseWindupApplyService.listMyTaskJa(page, terms); + return new PageImpl<FrontPageListJADTO>(frontPageListJADTOList, page, total); }catch (Exception e) { - log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); - throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + log.error("[CaseTaskService.pageMyTaskJa]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskJa", e); } } @@ -723,6 +918,23 @@ /** * 首页-待审核分页查询 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListWSQDDTO> pageMyTaskShWSQD(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskShWSQD(terms); + List<FrontPageListWSQDDTO> frontPageListWSQDDTOList = mapper.pageMyTaskShWSQD(page,terms); + return new PageImpl<FrontPageListWSQDDTO>(frontPageListWSQDDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskQs]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskQs", e); + } + } + + /** + * 首页-待审核分页查询 * @param caseId 事项编号 * @return Page */ @@ -745,16 +957,18 @@ List<CaseAssistApply>caseAssistApplyList = caseAssistApplyService.list(caseAssistApplyQueryWrapper); List<SortUtilDTO> sortUtilDTOList = new ArrayList<>(); + List<String> idList = new ArrayList<>(); String ids = new String(); - ids += caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.joining(",")); - ids += caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.joining(",")); - ids += caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.joining(",")); - ids += caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.joining(",")); + idList.addAll(caseReturnList.stream().map(CaseReturn:: getId).collect(Collectors.toList())); + idList.addAll(caseAppearList.stream().map(CaseAppear:: getId).collect(Collectors.toList())); + idList.addAll(caseWindupApplyList.stream().map(CaseWindupApply:: getId).collect(Collectors.toList())); + idList.addAll(caseAssistApplyList.stream().map(CaseAssistApply:: getId).collect(Collectors.toList())); + ids = idList.stream().map(String::valueOf).collect(Collectors.joining("','")); List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>(); if(StringUtils.isNotBlank(ids)){ Map terms = new HashMap(); terms.put("mainId", caseId); - terms.put("ownerIds", "," + ids + ","); + terms.put("ownerIds", "'" + ids + "'"); fileIdTypeInfoBaseDTOList = sysClient.listIdTypeInfoByOwnerIdList(terms); } @@ -1121,6 +1335,78 @@ } /** + * web端任务处理-不予受理 + * @param caseDismiss 不予受理表单 + * @param userId 当前登录用户 + */ + public void webDismiss(CaseDismiss caseDismiss, String userId){ + try{ + Date nowDate = DateUtils.getNowDate(); + // 获取当前登录用户 + CtUserDTO loginUser = custClient.clientGetUserAll(userId); + // 查询当前任务 + CaseTask caseTask = mapper.selectById(caseDismiss.getCaseTaskId()); + // 结束当前任务 + CaseTask caseTaskPO = new CaseTask(); + caseTaskPO.setId(caseDismiss.getCaseTaskId()); + caseTaskPO.setStatus(CaseTaskConsts.TASK_STATUS_2); + caseTaskPO.setHandleUnitId(loginUser.getUnitId()); + caseTaskPO.setHandleUnitName(loginUser.getUnitName()); + caseTaskPO.setHandleUserId(loginUser.getId()); + caseTaskPO.setHandleUserName(loginUser.getTrueName()); + caseTaskPO.setHandleResult(CaseTaskConsts.HANDLE_RESULT_3); + caseTaskPO.setHandleContent(caseDismiss.getDisContent()); + caseTaskPO.setHandleTime(nowDate); + caseTaskPO.setUpdateTime(nowDate); + mapper.updateCaseTask(caseTaskPO); + // 结束当前工作流任务 + flowInfoService.endFlow(caseTask.getProcessInstanceId()); + // 更新纠纷信息 + CaseInfo caseInfoPO = new CaseInfo(); + caseInfoPO.setId(caseTask.getCaseId()); + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_8.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_8.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); + // 有配合部门,也结束配合部门工作流程 + List<CaseTask> assistCaseTaskList = this.listAssistTasking(caseDismiss.getCaseId()); + for (CaseTask assistCaseTask: assistCaseTaskList){ + // 完成配合部门当前任务 + assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + assistCaseTask.setHandleUnitId(loginUser.getUnitId()); + assistCaseTask.setHandleUnitName(loginUser.getUnitName()); + assistCaseTask.setHandleUserId(loginUser.getId()); + assistCaseTask.setHandleUserName(loginUser.getTrueName()); + assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + assistCaseTask.setHandleTime(nowDate); + assistCaseTask.setUpdateTime(nowDate); + mapper.updateCaseTask(assistCaseTask); + // 结束配合部门当前工作流任务 + flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); + } + // 新增不予受理信息 + caseDismiss.setCaseTaskTime(caseTask.getCreateTime()); + caseDismiss.setDisUnitId(loginUser.getUnitId()); + caseDismiss.setDisUnitName(loginUser.getUnitName()); + caseDismiss.setDisUserId(loginUser.getId()); + caseDismiss.setDisUserName(loginUser.getTrueName()); + caseDismiss.setDisTime(nowDate); + caseDismiss.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + caseDismiss.setCustId(caseTask.getCustId()); + caseDismiss.setCreateTime(nowDate); + caseDismiss.setUpdateTime(nowDate); + caseDismissService.save(caseDismiss); + }catch (Exception e){ + log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); + throw new ServiceException("CaseTaskService.webAssign", e); + } + } + + /** * web端任务处理-交办 * @param assignTaskDTO 交办任务表单 * @param userId 当前登录用户 @@ -1214,13 +1500,14 @@ 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); // 分派配合组织 if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ // 拼接配合组织编号和名称 String assistUnitId = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). collect(Collectors.joining(BaseConsts.COMMA)); - String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitId). + String assistUnitName = assignTaskDTO.getAssistUnitList().stream().map(AssignAssistUnitDTO::getUitName). collect(Collectors.joining(BaseConsts.COMMA)); for (AssignAssistUnitDTO assignAssistUnitDTO: assignTaskDTO.getAssistUnitList()){ // 启动联合处置工作流 @@ -1241,8 +1528,8 @@ lhczdfpCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_2); // 通过调度的,任务候选执行者类型是上一步骤选择 lhczdfpCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); - lhczdfpCaseTask.setCandeUnitId(loginUser.getUnitId()); - lhczdfpCaseTask.setCandeUnitName(loginUser.getUnitName()); + lhczdfpCaseTask.setCandeUnitId(assignAssistUnitDTO.getUitId()); + lhczdfpCaseTask.setCandeUnitName(assignAssistUnitDTO.getUitName()); // 不需要签收 lhczdfpCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); lhczdfpCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); @@ -1294,6 +1581,17 @@ lhczdslCaseTask.setCreateTime(nowDate); lhczdslCaseTask.setUpdateTime(nowDate); mapper.insert(lhczdslCaseTask); + // 新增联合处置信息 + CaseAssistInfo caseAssistInfoPO = new CaseAssistInfo(); + caseAssistInfoPO.setId(utilsClient.getNewTimeId()); + caseAssistInfoPO.setCaseId(dslCaseTask.getCaseId()); + caseAssistInfoPO.setAssistUnitId(assignAssistUnitDTO.getUitId()); + caseAssistInfoPO.setAssistUnitName(assignAssistUnitDTO.getUitName()); + caseAssistInfoPO.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_0); + caseAssistInfoPO.setCustId(dslCaseTask.getCustId()); + caseAssistInfoPO.setCreateTime(nowDate); + caseAssistInfoPO.setUpdateTime(nowDate); + caseAssistInfoService.save(caseAssistInfoPO); } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); @@ -1377,8 +1675,13 @@ dslCaseTaskPO.setUpdateTime(nowDate); mapper.updateCaseTask(dslCaseTaskPO); // 完成当前待受理工作流任务 + String operation = FlowableConsts.OPERATION_sl; + // 配合部门受理条件改为通过 + if (CaseTaskConsts.CASE_TASK_TYPE_2 == dslCaseTask.getCaseTaskType()) { + operation = FlowableConsts.OPERATION_forward; + } FlowNode newFlowNode = flowInfoService.completeTask(dslCaseTask.getFlowableId(), dslCaseTask.getProcessTaskId(), - FlowableConsts.OPERATION_sl, userId); + operation, userId); // 新建办理反馈任务 CaseTask blfkCaseTask = new CaseTask(); blfkCaseTask.setId(utilsClient.getNewTimeId()); @@ -1420,6 +1723,7 @@ 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); // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); @@ -1428,6 +1732,15 @@ caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); + }else { + // 更新配合部门联合处置信息 + QueryWrapper<CaseAssistInfo> caseAssistInfoQueryWrapper = new QueryWrapper<>(); + caseAssistInfoQueryWrapper.eq("case_id", blfkCaseTask.getCaseId()) + .eq("assist_unit_id", loginUser.getUnitId()).eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0); + CaseAssistInfo caseAssistInfoPO = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper); + caseAssistInfoPO.setCaseTaskId(blfkCaseTask.getId()); + caseAssistInfoPO.setAcceptTime(nowDate); + caseAssistInfoService.updateCaseAssistInfo(caseAssistInfoPO); } return blfkCaseTask.getId(); }catch (Exception e){ @@ -1671,17 +1984,13 @@ caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); - caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } // 查询配合部门的任务,全部结束流程 - QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); - caseTaskQueryWrapper.eq("case_task_type", CaseTaskConsts.CASE_TASK_TYPE_2).eq("case_id", jasqCaseTask.getCaseId()); - List<CaseTask> assistCaseTaskList = mapper.selectList(caseTaskQueryWrapper); + List<CaseTask> assistCaseTaskList = this.listAssistTasking(jasqCaseTask.getCaseId()); for (CaseTask assistCaseTask: assistCaseTaskList){ - // 完成配合部门当前办理反馈任务 - assistCaseTask.setId(caseWindupApply.getCaseTaskId()); + // 完成配合部门当前任务 assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); assistCaseTask.setHandleUnitId(loginUser.getUnitId()); assistCaseTask.setHandleUnitName(loginUser.getUnitName()); @@ -1691,10 +2000,8 @@ assistCaseTask.setHandleTime(nowDate); assistCaseTask.setUpdateTime(nowDate); mapper.updateCaseTask(assistCaseTask); - // 完成当前配合部门办理反馈工作流任务 - flowInfoService.completeTask(assistCaseTask.getFlowableId(), assistCaseTask.getProcessTaskId(), - FlowableConsts.OPERATION_forward, userId); - + // 结束配合部门当前工作流任务 + flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -1785,12 +2092,6 @@ // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); caseInfoUnfoldPO.setId(dsrpjCaseTask.getCaseId()); - caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); - caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); - caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); - caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); - caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); - caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); @@ -1853,18 +2154,6 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); - // 更新纠纷扩展信息 - CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); - caseInfoUnfoldPO.setId(blfkCaseTask.getCaseId()); - caseInfoUnfoldPO.setMediResult(caseWindupApply.getMediResult()); - caseInfoUnfoldPO.setMediResultName(caseWindupApply.getMediResultName()); - caseInfoUnfoldPO.setAgreeType(caseWindupApply.getAgreeType()); - caseInfoUnfoldPO.setAgreeTypeName(caseWindupApply.getAgreeTypeName()); - caseInfoUnfoldPO.setAgreeContent(caseWindupApply.getAgreeContent()); - caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); - caseInfoUnfoldPO.setCloseTime(nowDate); - caseInfoUnfoldPO.setUpdateTime(nowDate); - caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -1931,9 +2220,9 @@ htshCaseTask.setCaseTaskType(dslCaseTask.getCaseTaskType()); // 受理任务,任务候选执行者类型是上一步骤选择 htshCaseTask.setCandeType(CaseTaskConsts.CANDE_TYPE_1); - CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); - htshCaseTask.setCandeUnitId(ctUnitDTO.getId()); - htshCaseTask.setCandeUnitName(ctUnitDTO.getUnitName()); +// CtUnitDTO ctUnitDTO = custClient.getParentZzzxUnit(loginUser.getUnitId()); + htshCaseTask.setCandeUnitId(loginUser.getUnitId()); + htshCaseTask.setCandeUnitName(loginUser.getUnitName()); // 受理后的任务,不需要签收 htshCaseTask.setSignStatus(CaseTaskConsts.SIGN_STATUS_0); // 任务处理时限 @@ -2035,6 +2324,31 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); + // 有配合部门,也结束配合部门工作流程 + List<CaseTask> assistCaseTaskList = this.listAssistTasking(htshCaseTask.getCaseId()); + for (CaseTask assistCaseTask: assistCaseTaskList){ + // 完成配合部门当前任务 + assistCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); + assistCaseTask.setHandleUnitId(loginUser.getUnitId()); + assistCaseTask.setHandleUnitName(loginUser.getUnitName()); + assistCaseTask.setHandleUserId(loginUser.getId()); + assistCaseTask.setHandleUserName(loginUser.getTrueName()); + assistCaseTask.setHandleResult(CaseTaskConsts.HANDLE_RESULT_1); + assistCaseTask.setHandleTime(nowDate); + assistCaseTask.setUpdateTime(nowDate); + mapper.updateCaseTask(assistCaseTask); + // 结束配合部门当前工作流任务 + flowInfoService.endFlow(assistCaseTask.getProcessInstanceId()); + } + }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); + CaseAssistInfo caseAssistInfo = caseAssistInfoService.getOne(caseAssistInfoQueryWrapper); + if (ObjectUtils.isNotEmpty(caseAssistInfo)){ + caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1); + caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); + } } }else { // 审核不通过 @@ -2312,4 +2626,30 @@ } } + /** + * 按条件查询 + * @param terms 条件 + * @return List + */ + public List<SignTaskDTO> listIdByTerms(Map<String, Object> terms){ + return mapper.listIdByTerms(terms); + } + + /** + * web端-工作台-已办事项 + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<FrontPageListYBDTO> pageMyTaskYb(PageRequest page, Map<String, Object> terms){ + try { + long total = mapper.countMyTaskYb(terms); + List<FrontPageListYBDTO> frontPageListYBDTOList = mapper.pageMyTaskYb(page, terms); + return new PageImpl<FrontPageListYBDTO>(frontPageListYBDTOList, page, total); + }catch (Exception e) { + log.error("[CaseTaskService.pageMyTaskYb]调用失败,异常信息:" + e, e); + throw new ServiceException("CaseTaskService.pageMyTaskYb", e); + } + } + } -- Gitblit v1.8.0