From 6bde2de72d9e16a7fc1ee204149effb47d9676d9 Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Fri, 20 Jun 2025 17:31:33 +0800 Subject: [PATCH] fix:事项来源优化,定时器评价优化 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoService.java | 4 ++ dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java | 26 +++++++------ dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java | 1 dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java | 2 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java | 39 +++++++++++-------- dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java | 42 +++++++++++++++------ 6 files changed, 72 insertions(+), 42 deletions(-) diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java index b803a6c..81ef5eb 100644 --- a/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java +++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java @@ -26,6 +26,7 @@ CASE_CANAL_SECOND_5("22_00003-5", "劳动争议"), CASE_CANAL_SECOND_6("22_00003-6", "信访"), CASE_CANAL_SECOND_7("22_00003-7", "专项治理"), + CASE_CANAL_SECOND_8("22_00003-8", "部门排查"), /** * 来访形式,24_00002-1:来访,24_00002-2:线上,24_00002-3:排查 */ diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoService.java index 11dbc7e..6d7262b 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/service/CasebookInfoService.java @@ -1666,6 +1666,10 @@ caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); caseInfo.setCreateTime(nowDate); caseInfo.setUpdateTime(nowDate); + if (caseInfo.getCanal().equals(CaseBaseConstsEnum.CASE_CANAL_3.getIndex())) { + caseInfo.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_8.getIndex()); + caseInfo.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_8.getDes()); + } caseInfoList.add(caseInfo); // 保存所有当事人 diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java index c9329ce..460b21e 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseEvaluateService.java @@ -266,7 +266,7 @@ Date nowDate = DateUtils.getNowDate(); // 查询当事人评价任务 QueryWrapper<CaseTask> caseTaskQueryWrapper = new QueryWrapper<>(); - caseTaskQueryWrapper.in("case_id", idList).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()); + caseTaskQueryWrapper.in("case_id", idList).eq("node_id", FlowNodeEnum.FLOW_NODE_DSRPJ.getIndex()).orderByDesc("create_time"); List<CaseTask> dsrpjCaseTaskList = caseTaskService.list(caseTaskQueryWrapper); for(CaseTask dsrpjCaseTask: dsrpjCaseTaskList){ // 完成当前当事人评价节点任务 @@ -285,14 +285,19 @@ CaseTask jagdCaseTask = new CaseTask(); jagdCaseTask.setId(utilsClient.getNewTimeId()); jagdCaseTask.setCaseId(dsrpjCaseTask.getCaseId()); - jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); - jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); - jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); - jagdCaseTask.setNodeType(jagdFlowNode.getNodeType()); - jagdCaseTask.setNodeId(jagdFlowNode.getNodeId()); - jagdCaseTask.setNodeName(jagdFlowNode.getNodeName()); - jagdCaseTask.setFlowId(jagdFlowNode.getFlowId()); - jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName()); + if(jagdFlowNode!=null){ + jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); + jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); + jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); + jagdCaseTask.setNodeType(jagdFlowNode.getNodeType()); + jagdCaseTask.setNodeId(jagdFlowNode.getNodeId()); + jagdCaseTask.setNodeName(jagdFlowNode.getNodeName()); + jagdCaseTask.setFlowId(jagdFlowNode.getFlowId()); + jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName()); + if (jagdFlowNode.getExpire() != 0) { + jagdCaseTask.setExpireTime(syHolidayService.getExpiryDay(nowDate, jagdFlowNode.getExpire())); + } + } jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); // 任务所属单位:结案申请组织 caseTaskQueryWrapper.clear(); @@ -306,9 +311,6 @@ jagdCaseTask.setReadStatus(CaseTaskConsts.READ_STATUS_0); jagdCaseTask.setStatus(CaseTaskConsts.TASK_STATUS_2); // 任务处理时限 - if (jagdFlowNode.getExpire() != 0) { - jagdCaseTask.setExpireTime(syHolidayService.getExpiryDay(nowDate, jagdFlowNode.getExpire())); - } jagdCaseTask.setHandleUnitId(jasqCaseTaskList.get(0).getHandleUnitId()); jagdCaseTask.setHandleUnitName(jasqCaseTaskList.get(0).getHandleUnitName()); jagdCaseTask.setHandleDeptId(jasqCaseTaskList.get(0).getHandleDeptId()); diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java index fe1e6ae..109bdd0 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java @@ -317,6 +317,10 @@ caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); caseInfo.setVisitWay(CaseBaseConstsEnum.getVisitWayByCanal(caseInfo.getCanal()).getIndex()); caseInfo.setVisitWayName(CaseBaseConstsEnum.getVisitWayByCanal(caseInfo.getCanal()).getDes()); + if (caseInfo.getCanal().equals(CaseBaseConstsEnum.CASE_CANAL_3.getIndex())) { + caseInfo.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_8.getIndex()); + caseInfo.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_8.getDes()); + } //默认小程序可见 if (ObjectUtils.isNotEmpty(caseInfo.getCanal())) { if (CaseBaseConstsEnum.CASE_CANAL_1.getIndex().equals(caseInfo.getCanal())) { @@ -1134,7 +1138,7 @@ } if (ObjectUtils.isNotEmpty(content)) { for (CasePageDTO casePageDTO : content) { - if (CaseBaseConstsEnum.CASE_CANAL_4.getIndex().equals(casePageDTO.getCanal())) { + if (StringUtils.isNotEmpty(casePageDTO.getCanalSecondName())) { casePageDTO.setCanalName(casePageDTO.getCanalName() + "-" + casePageDTO.getCanalSecondName()); } StringBuffer sb = new StringBuffer(); @@ -1307,10 +1311,10 @@ return new PageImpl<CasePageDTO>(content, page, total); } - /** + /** * 统计调解过程 * 计算案件的调解过程相关统计数据,包括不予受理率、化解中率、化解成功率、化解不成功率等 - * + * * @param terms 统计条件 * @return 包含调解过程统计数据的DTO对象 */ @@ -1323,15 +1327,15 @@ caseStatisticsBaseDTO.setFailRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getFailNum() * 100, baseTotalNum, 1)); // 如果 baseTotalNum为0 设置 总数为0 caseStatisticsBaseDTO.setTotalNum(baseTotalNum); - + Integer levelTotalNum = caseStatisticsBaseDTO.getOneLevelNum() + caseStatisticsBaseDTO.getTwoLevelNum() + caseStatisticsBaseDTO.getThreeLevelNum(); caseStatisticsBaseDTO.setOneLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getOneLevelNum() * 100, levelTotalNum, 1)); caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); - + return caseStatisticsBaseDTO; } - + /** * 纠纷态势 @@ -2216,10 +2220,10 @@ for (String key : originalTypeTerms.keySet()) { terms.put(key, originalTypeTerms.get(key)); } - + // 调用统计调解过程的方法 CaseStatisticsBaseDTO processStats = statisticsProcess(terms); - + // 将调解过程统计数据合并到统计结果中 statistics.setTotalNum(processStats.getTotalNum()); statistics.setRejectNum(processStats.getRejectNum()); @@ -2545,9 +2549,9 @@ } else { terms.put("queryType", 3); } - log.info("xsd:{}",terms); + log.info("xsd:{}", terms); CtUnitDTO ctUnitDTO = mapper.getUnitByGridCode(terms); - log.info("xsd:ctUnitDTO{}",ctUnitDTO); + log.info("xsd:ctUnitDTO{}", ctUnitDTO); if (ObjectUtils.isNotEmpty(ctUnitDTO)) { if (StringUtils.isNotBlank(ctUnitDTO.getCity()) && StringUtils.isNotBlank(ctUnitDTO.getCityName())) { registerSaveDTO.setQueCity(ctUnitDTO.getCity()); @@ -2635,11 +2639,12 @@ // 获取调解案号 caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); - caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_3.getIndex()); - caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_3.getDes()); - caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); - caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); - + caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_4.getIndex()); + caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_4.getDes()); + if (StringUtils.isEmpty(caseInfo.getCanal())) { + caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); + caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); + } caseInfo.setCaseLevel(3); // //获取一级类型 // SyCause syCause = sysClient.getParentCaseTypeById(caseInfo.getCaseType()); @@ -2655,9 +2660,9 @@ } //todo case_title生成、经纬度转换 caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); - if(registerSaveDTO.getCreateTime()!=null){ + if (registerSaveDTO.getCreateTime() != null) { caseInfo.setCreateTime(registerSaveDTO.getCreateTime()); - }else { + } else { caseInfo.setCreateTime(nowDate); } diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java index 41afe2a..d146108 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/flow/service/FlowInfoService.java @@ -234,8 +234,8 @@ return flowNode; }catch (Exception e){ log.error("service方法[FlowInfoService.completeByTaskId]调用异常:"+e, e); - throw new ServiceException("FlowInfoService.completeByTaskId", e); } + return null; } /** diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java index 2442725..943e89e 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java +++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java @@ -73,7 +73,7 @@ Date nowDate = DateUtils.getNowDate(); List<String> canalSecondList = new ArrayList<>(); canalSecondList.add("12"); - canalSecondList.add("07"); + canalSecondList.add("13"); // 获取东八区的当前时间 ZonedDateTime now = ZonedDateTime.now(TARGET_ZONE); // 计算前30分钟的开始和结束(基于东八区) @@ -147,7 +147,7 @@ String fxdj = ""; String zrmj = ""; String zrga = ""; - String jyff=""; + String jyff = ""; String tcr = ""; String tcqk = ""; String tcjg = ""; @@ -162,7 +162,7 @@ if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } - } else if ("12".equals(canalSecond)) { + } else if ("12".equals(canalSecond) || "13".equals(canalSecond)) { if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } @@ -196,7 +196,7 @@ } catch (Exception e) { log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); } - registerSaveDTO.setTcqk(uploadPolice+" -- "+uploadPolicePhone+" -- "+fxdj+" -- "+zrmj+" -- "+tcr+" -- "+tcfa+" -- "+tcqk); + registerSaveDTO.setTcqk(uploadPolice + " -- " + uploadPolicePhone + " -- " + fxdj + " -- " + zrmj + " -- " + tcr + " -- " + tcfa + " -- " + tcqk); try { if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoRisk())) { List<Map<String, Object>> expInfoMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoRisk(), @@ -249,7 +249,7 @@ } registerSaveDTO.setId(IdUtils.getNewTimeId()); BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent); - registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); + registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); gridEvent.setLinkman(uploadPolice); gridEvent.setSystemId(gridCaseInfoDTO.getSystemId()); gridEvent.setContactTel(uploadPolicePhone); @@ -261,9 +261,18 @@ log.info("xsd保存事件:{}" + gridEvent); //设置二级事件来源 if (canalSecond.equals("12")) { + registerSaveDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); + registerSaveDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); registerSaveDTO.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_1.getIndex()); registerSaveDTO.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_1.getDes()); - } else { + } else if (canalSecond.equals("13")){ + registerSaveDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); + registerSaveDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); + registerSaveDTO.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_7.getIndex()); + registerSaveDTO.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_7.getDes()); + }else { + registerSaveDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); + registerSaveDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); registerSaveDTO.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_2.getIndex()); registerSaveDTO.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_2.getDes()); } @@ -352,7 +361,7 @@ if (parts.length == 3) { return parts[0] + parts[1] + parts[2]; } else if (parts.length >= 4) { - return parts[0] + parts[1] + parts[2]+"-"+parts[3]; + return parts[0] + parts[1] + parts[2] + "-" + parts[3]; } else { return input; // 或抛出异常 } @@ -368,7 +377,7 @@ Date nowDate = DateUtils.getNowDate(); List<String> canalSecondList = new ArrayList<>(); canalSecondList.add("12"); - canalSecondList.add("07"); + canalSecondList.add("13"); log.info("startTime:" + startTime); log.info("endTime:" + endTime); // 定义一个列表,用于存储需要查询的网格代码 @@ -430,7 +439,7 @@ String fxdj = ""; String zrmj = ""; String zrga = ""; - String jyff=""; + String jyff = ""; String tcr = ""; String tcqk = ""; String tcjg = ""; @@ -479,7 +488,7 @@ } catch (Exception e) { log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); } - registerSaveDTO.setTcqk(uploadPolice+" -- "+uploadPolicePhone+" -- "+fxdj+" -- "+zrmj+" -- "+tcr+" -- "+tcfa+" -- "+tcqk); + registerSaveDTO.setTcqk(uploadPolice + " -- " + uploadPolicePhone + " -- " + fxdj + " -- " + zrmj + " -- " + tcr + " -- " + tcfa + " -- " + tcqk); try { if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoRisk())) { List<Map<String, Object>> expInfoMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoRisk(), @@ -531,7 +540,7 @@ } } registerSaveDTO.setId(IdUtils.getNewTimeId()); - registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); + registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent); gridEvent.setSystemId(gridCaseInfoDTO.getSystemId()); gridEvent.setLinkman(uploadPolice); @@ -544,9 +553,18 @@ log.info("xsd保存事件:{}" + gridEvent); //设置二级事件来源 if (canalSecond.equals("12")) { + registerSaveDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); + registerSaveDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); registerSaveDTO.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_1.getIndex()); registerSaveDTO.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_1.getDes()); - } else { + } else if (canalSecond.equals("13")){ + registerSaveDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); + registerSaveDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); + registerSaveDTO.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_7.getIndex()); + registerSaveDTO.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_7.getDes()); + }else { + registerSaveDTO.setCanal(CaseBaseConstsEnum.CASE_CANAL_3.getIndex()); + registerSaveDTO.setCanalName(CaseBaseConstsEnum.CASE_CANAL_3.getDes()); registerSaveDTO.setCanalSecond(CaseBaseConstsEnum.CASE_CANAL_SECOND_2.getIndex()); registerSaveDTO.setCanalSecondName(CaseBaseConstsEnum.CASE_CANAL_SECOND_2.getDes()); } -- Gitblit v1.8.0