From 9cd7dd1c881f21dd17fbbd7aceb4d60e78149b9c Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Thu, 19 Jun 2025 20:50:42 +0800 Subject: [PATCH] fix:办理反馈优化;结案审核优化 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java | 10 +++++++--- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java | 41 +++++++++++++++++++++++++++++------------ 2 files changed, 36 insertions(+), 15 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 39208a2..545b2c7 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 @@ -420,11 +420,17 @@ 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); + } + if (bysl.getName().equals("不予受理")) { + buttonList.add(bysl); + } else { + if (UserBaseConsts.UNIT_GRADE_2 == ctUnitDTO.getUnitGrade()) { + buttonList.add(bysl); + } } } // 待受理节点 @@ -1492,7 +1498,7 @@ dispCaseBaseDTO.setCaseId(caseInfo.getId()); if ("22_00003-1".equals(caseInfo.getCanalSecond())) { dispCaseBaseDTO.setIsQu(1); - }else { + } else { dispCaseBaseDTO.setIsQu(0); } CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO); @@ -1999,8 +2005,13 @@ CaseInfo caseInfo = caseInfoService.getCaseInfo(dslCaseTask.getCaseId()); CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dslCaseTask.getCaseId()); - caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); - caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); + if (flowOperation == FlowableConsts.OPERATION_jb_zzzx) { + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); + } else { + caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); + caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); + } caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); @@ -2430,8 +2441,12 @@ ThreadPoolUtils.executor(new AsynUpdateCaseEventNode(jasqCaseTask.getCaseId(), blfkCaseTaskPO, jasqCaseTask, GridEnum.getCatByTaskNode(blfkCaseTask.getNodeId()), GridEnum.EVENT_FLOW_7.getIndex(), ownerIdList, loginUser.getId(), 0, GridEnum.EVENT_PROCESS_STATUS_1.getIndex())); - // 化解成功,自动结案审核通过 - if (MediResultBaseConstsEnum.MEDI_RESULT_1.getIndex().equals(caseWindupApply.getMediResult())) { + // 1、如果是综治中心自己结案,就直接结案 + // 2、交办案件,如果不是,不管成功与否,就审核,审核部门为当前提交部门对应的综治中心 + // 3、自行受理,直接结案 + CaseInfo caseInfo = caseInfoService.getById(jasqCaseTask.getCaseId()); + // 判断是否自行受理 + if (CaseBaseConsts.ZXSL_STATUS_1 == caseInfo.getZxslStatus()) { // 完成当前结案申请工作流节点任务,走结案审核任务 FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, userId); @@ -2573,7 +2588,7 @@ mapper.insert(jagdCaseTask); // 完成结案归档工作流节点任务,结束流程 log.info("xsd:结案归档"); - CaseInfo caseInfo = caseInfoService.getById(caseWindupApply.getCaseId()); + caseInfo = caseInfoService.getById(caseWindupApply.getCaseId()); Date createTime = caseInfo.getCreateTime(); // 创建 2025年4月30日 的日期对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -2625,14 +2640,16 @@ caseInfoUnfoldPO.setCloseTime(nowDate); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); - } else {// 化解不成功 + } else {// 不是自行受理 // 完成当前结案申请工作流节点任务 FlowNode jashFlowNode = flowInfoService.completeTask(jasqCaseTask.getFlowableId(), jasqCaseTask.getProcessTaskId(), FlowableConsts.OPERATION_forward, userId); - // 判断是否自行受理 - CaseInfo caseInfo = caseInfoService.getById(jasqCaseTask.getCaseId()); - if (CaseBaseConsts.ZXSL_STATUS_1 == caseInfo.getZxslStatus()) { - // 自行受理,自行完成结案审核节点,直接进入下一个节点 + + //判断是否是综治中心 + String unitId = loginUser.getUnitId(); + CtUnitDTO unitById = custClient.getUnitById(unitId); + if (unitById != null && 101 == unitById.getUnitType()) { + // 是综治中心,自行完成结案审核节点,直接进入下一个节点 // 新建并自动完成结案审核任务 CaseTask jashCaseTask = new CaseTask(); jashCaseTask.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java index 639c2b8..e54896b 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java @@ -173,8 +173,12 @@ try{ // 创建CaseWindupApply的查询条件包装器 QueryWrapper<CaseWindupApply> caseWindupApplyQueryWrapper = new QueryWrapper<>(); - // 设置查询条件为case_task_id等于传入的caseTaskId + // 设置查询条件为case_id等于传入的caseId caseWindupApplyQueryWrapper.eq("case_id", caseId); + // 按创建时间降序排序,确保获取最新的记录 + caseWindupApplyQueryWrapper.orderByDesc("create_time"); + // 添加LIMIT 1限制,确保只返回一条记录 + caseWindupApplyQueryWrapper.last("LIMIT 1"); // 使用查询条件从数据库中选取一条记录 CaseWindupApply caseWindupApply = mapper.selectOne(caseWindupApplyQueryWrapper); @@ -182,9 +186,9 @@ return caseWindupApply; }catch (Exception e){ // 记录错误日志,包括方法调用失败的信息和异常堆栈 - log.error("[CaseWindupApplyService.getByCaseTaskId]调用失败,异常信息:"+e, e); + log.error("[CaseWindupApplyService.getByCaseId]调用失败,异常信息:"+e, e); // 抛出服务异常,包含方法名称和原始异常 - throw new ServiceException("CaseWindupApplyService.getByCaseTaskId", e); + throw new ServiceException("CaseWindupApplyService.getByCaseId", e); } } /** -- Gitblit v1.8.0