广州市综治平台后端
xusd
7 days ago 9cd7dd1c881f21dd17fbbd7aceb4d60e78149b9c
fix:办理反馈优化;结案审核优化
2 files modified
51 ■■■■ changed files
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java 41 ●●●● patch | view | raw | blame | history
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseWindupApplyService.java 10 ●●●● patch | view | raw | blame | history
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());
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);
        }
    }
    /**