dyh-service/dyh-base/src/main/java/cn/huge/module/mediate/constant/CaseBaseConstsEnum.java
@@ -25,7 +25,8 @@ CASE_CANAL_SECOND_4("22_00003-4", "人民调解"), 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:排查 */ dyh-service/dyh-cust/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -91,6 +91,12 @@ if (item.isLastOrgRole() && item.getRoleName().contains("调度干部")) { BeanUtils.copyProperties(item, nowRoleDTO); } if (item.isLastOrgRole() && item.getRoleCode().equals("22_00024-2")) { BeanUtils.copyProperties(item, nowRoleDTO); } // if (item.isLastOrgRole() && item.getRoleName().contains("领导")) { // BeanUtils.copyProperties(item, nowRoleDTO); // } if (item.getRoleName().contains("(M)")) { BeanUtils.copyProperties(item, roleDTO); } dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUnitTreeDTO.java
@@ -14,5 +14,6 @@ private String label;//对象名称 private String parentId;//父类ID private Boolean checkable; private Double sort;//排序 private List<CtUnitTreeDTO> children;//子类集合 } dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java
@@ -674,7 +674,7 @@ GridUserRoleVo gridUserRoleVo = new GridUserRoleVo(); gridUserRoleVo.setUserId(userId); GridUserRoleDTO userRoleDTO = sysClient.getUserRoleList(gridUserRoleVo); if (StringUtils.isEmpty(userRoleDTO.getRoleName()) || !userRoleDTO.getRoleName().contains("(M)")) { if (StringUtils.isEmpty(userRoleDTO.getRoleName()) || (!userRoleDTO.getRoleName().contains("(M)") && !userRoleDTO.getRoleName().contains("领导") && !userRoleDTO.getRoleName().contains("调度干部"))) { return ReturnFailUtils.getRepInfo("该用户没有矛调系统的权限"); } CtUserole ctUserole = new CtUserole(); dyh-service/dyh-cust/src/main/java/cn/huge/module/utils/TreeUtils.java
@@ -4,9 +4,7 @@ import cn.huge.module.ctuser.dto.CtUnitTreeDTO; import org.apache.commons.collections.CollectionUtils; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.*; /** * @author zhouxiantao @@ -60,20 +58,22 @@ List<CtUnitTreeDTO> termsList = new ArrayList<>(); if(ObjectUtils.isNotEmpty(termsSet)){ for (CtUnitTreeDTO selectTermDTO : termsSet) { termsList.add(selectTermDTO); } termsList.sort((o1, o2)->{ String s1 = o1.getValue().replaceAll("[^0-9]", ""); String s1 = selectTermDTO.getValue().replaceAll("[^0-9]", ""); if(ObjectUtils.isEmpty(s1)){ s1 = "0"; } String s2 = o2.getValue().replaceAll("[^0-9]", ""); if(ObjectUtils.isEmpty(s2)){ s2 = "0"; } Double totalScore1 = Double.valueOf(s1); Double totalScore2 = Double.valueOf(s2); if(totalScore1 < totalScore2) { selectTermDTO.setSort(totalScore1); String area = getArea(selectTermDTO.getLabel()); if(ObjectUtils.isNotEmpty(area)){ selectTermDTO.setSort(Double.valueOf(area)); } termsList.add(selectTermDTO); } termsList.sort((o1, o2)->{ Double totalScore1 = o1.getSort(); Double totalScore2 = o2.getSort(); if(totalScore1 > totalScore2) { return 1; }else if (totalScore1.equals(totalScore2)) { return 0; @@ -85,4 +85,25 @@ return termsList; } public static String getArea(String areaName) { Map<String, String> map = new HashMap<>(); map.put("越秀区", "2"); map.put("海珠区", "3"); map.put("荔湾区", "4"); map.put("天河区", "5"); map.put("白云区", "6"); map.put("黄埔区", "7"); map.put("花都区", "8"); map.put("番禺区", "9"); map.put("南沙区", "10"); map.put("从化区", "11"); map.put("增城区", "12"); for (String s : map.keySet()) { if(areaName.contains(s)){ return map.get(s); } } return null; } } dyh-service/dyh-disp/src/main/resources/config/application.yml
@@ -3,8 +3,8 @@ profiles: active: # - dev # - test - prod - test # - prod devtools: restart: dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/controller/AnalysisWebController.java
@@ -205,6 +205,11 @@ if (StringUtils.isNotBlank(assistUnitId)){ terms.put("assistUnitId", assistUnitId); } //任务是否完成 String taskStatus = request.getParameter("taskStatus"); if (StringUtils.isNotBlank(taskStatus)){ terms.put("taskStatus", taskStatus); } return terms; } /** dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/dao/mapper/xml/AnalysisMapper.xml
@@ -29,7 +29,8 @@ t1.road, </if> <if test="terms.queRoad != null and terms.queRoad !=''"> (case when t1.village_name = '' or t1.village_name is null then '本级' else t1.village_name end)as groupName, (case when t1.village_name = '' or t1.village_name is null then '本级' else t1.village_name end)as groupName, t1.village as groupCode, t1.village, </if> @@ -101,14 +102,18 @@ <if test="terms.unitIds != null and terms.unitIds !=''"> and t1.id in(${terms.unitIds}) </if> </if> </sql> <!-- 统计任务平均时长 --> <select id="statisticsAVG" resultType="cn.huge.module.analysis.domain.dto.AvgDurationDTO"> select AVG(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as fp, AVG(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as sl, AVG(case when (t2.node_id = 'BLFK' and t2.status = '2') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as blz select AVG(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as fp, AVG(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as sl, AVG(case when (t2.node_id = 'BLFK' and t2.status = '2') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as blz from dyh_ct_unit t1 left join dyh_case_task t2 on t1.id = t2.handle_unit_id left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where @@ -122,11 +127,16 @@ <select id="statisticsGroupAVG" resultType="cn.huge.module.analysis.domain.dto.AvgDurationGroupDTO"> select <include refid="selectPart"/> AVG(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as fp, count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.status = 2 then t2.id end) as fps, AVG(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as sl, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.status = 2 then t2.id end) as sls, AVG(case when (t2.node_id = 'BLFK' and t2.status = '2') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as blz, AVG(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as fp, count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.status = 2 then t2.id end) as fps, AVG(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as sl, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.status = 2 then t2.id end) as sls, AVG(case when (t2.node_id = 'BLFK' and t2.status = '2') and t2.status = 2 then ROUND(DATEDIFF(SECOND, t2.create_time, t2.handle_time) / 3600.0, 2) end) as blz, count(case when (t2.node_id = 'BLFK' and t2.status = '2') and t2.status = 2 then t2.id end) as bls from dyh_ct_unit t1 left join dyh_case_task t2 on t1.id = t2.handle_unit_id left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id @@ -135,14 +145,39 @@ and t2.delete_status = 0 and t3.delete_status = 0 <include refid="statisticsAVG-wherePart"/> group by <include refid="groupPart"/> group by <include refid="groupPart"/> </select> <!-- 分组统计任务 --> <select id="statisticsQuantity" resultType="cn.huge.module.analysis.domain.dto.StatisticsGroupDTO"> select count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as fpcs, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as slcs <if test="terms.taskStatus != null and terms.taskStatus == 1 "> count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2)) then t2.id end) as fpcs, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2)) then t2.id end) as slcs </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((sysdate > expire_time and t2.status = 1)) then t2.id end) as fpcs, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((sysdate > expire_time and t2.status = 1)) then t2.id end) as slcs </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as fpcs, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as slcs </if> from dyh_ct_unit t1 left join dyh_case_task t2 on t1.id = t2.cande_unit_id left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where @@ -155,8 +190,12 @@ <!-- 首页-统计超时任务 --> <select id="homeStatisticsQuantity" resultType="cn.huge.module.analysis.domain.dto.StatisticsGroupDTO"> select count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as fpcs, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as slcs count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as fpcs, count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) then t2.id end) as slcs from dyh_ct_unit t1 left join dyh_case_task t2 on t1.id = t2.cande_unit_id left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where @@ -212,7 +251,8 @@ from ( select ROUND(DATEDIFF(SECOND, t2.appear_time, t2.audit_time) / 3600.0, 2) as usetime_hour from dyh_ct_unit t1 left join dyh_case_appear t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_appear t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.apply_status = 1 <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -223,7 +263,8 @@ </if> union all select ROUND(DATEDIFF(SECOND, t2.apply_time, t2.audit_time) / 3600.0, 2) as usetime_hour from dyh_ct_unit t1 left join dyh_case_assist_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_assist_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.apply_status = 1 <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -234,7 +275,8 @@ </if> union all select ROUND(DATEDIFF(SECOND, t2.return_time, t2.audit_time) / 3600.0, 2) as usetime_hour from dyh_ct_unit t1 left join dyh_case_return t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_return t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.return_status = 1 <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -245,7 +287,8 @@ </if> union all select ROUND(DATEDIFF(SECOND, t2.apply_time, t2.audit_time) / 3600.0, 2) as usetime_hour from dyh_ct_unit t1 left join dyh_case_windup_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_windup_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.apply_status = 1 <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -265,8 +308,10 @@ count(distinct ownerId) as sps from ( select ROUND(DATEDIFF(SECOND, t2.appear_time, t2.audit_time) / 3600.0, 2) as usetime_hour, t2.id as ownerId, t1.* from dyh_ct_unit t1 left join dyh_case_appear t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id select ROUND(DATEDIFF(SECOND, t2.appear_time, t2.audit_time) / 3600.0, 2) as usetime_hour, t2.id as ownerId, t1.* from dyh_ct_unit t1 left join dyh_case_appear t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.apply_status = 1 and t2.audit_time != t2.appear_time <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -277,7 +322,8 @@ </if> union all select ROUND(DATEDIFF(SECOND, t2.apply_time, t2.audit_time) / 3600.0, 2) as usetime_hour, t2.id as ownerId, t1.* from dyh_ct_unit t1 left join dyh_case_assist_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_assist_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.apply_status = 1 and t2.audit_time != t2.apply_time <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -287,8 +333,10 @@ <include refid="statisticsApplyAVG-wherePart"/> </if> union all select ROUND(DATEDIFF(SECOND, t2.return_time, t2.audit_time) / 3600.0, 2) as usetime_hour, t2.id as ownerId, t1.* from dyh_ct_unit t1 left join dyh_case_return t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id select ROUND(DATEDIFF(SECOND, t2.return_time, t2.audit_time) / 3600.0, 2) as usetime_hour, t2.id as ownerId, t1.* from dyh_ct_unit t1 left join dyh_case_return t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.return_status = 1 and t2.audit_time!= t2.return_time <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -299,7 +347,8 @@ </if> union all select ROUND(DATEDIFF(SECOND, t2.apply_time, t2.audit_time) / 3600.0, 2) as usetime_hour, t2.id as ownerId, t1.* from dyh_ct_unit t1 left join dyh_case_windup_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_windup_apply t2 on t1.id = t2.audit_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where t2.apply_status = 1 and t2.audit_time != t2.apply_time <if test="terms != null"> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> @@ -309,7 +358,8 @@ <include refid="statisticsApplyAVG-wherePart"/> </if> ) t1 group by <include refid="groupPart"/> group by <include refid="groupPart"/> </select> <!-- 条件 --> @@ -354,12 +404,14 @@ <if test="terms.unitIds != null and terms.unitIds !=''"> and t1.id in(${terms.unitIds}) </if> </sql> <!-- 统计督办平均时长 --> <select id="statisticsSuperviseAVG" resultType="cn.huge.module.analysis.domain.dto.AvgDurationDTO"> select AVG(ROUND(DATEDIFF(SECOND, t2.sup_time, t2.reply_time) / 3600.0, 2)) as db from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where <include refid="statisticsSuperviseAVG-wherePart"/> and t2.sup_status = 1 @@ -367,20 +419,34 @@ <!-- 分组统计督办平均时长 --> <select id="statisticsSuperviseGroup" resultType="cn.huge.module.analysis.domain.dto.AvgDurationGroupDTO"> select <include refid="selectPart"/> AVG(ROUND(DATEDIFF(SECOND, t2.sup_time, t2.reply_time) / 3600.0, 2)) as db, count(case when sup_status = 1 then t2.id end ) as hfs from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id select <include refid="selectPart"/> AVG(ROUND(DATEDIFF(SECOND, t2.sup_time, t2.reply_time) / 3600.0, 2)) as db, count(case when sup_status = 1 then t2.id end ) as hfs from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where <include refid="statisticsSuperviseAVG-wherePart"/> and t2.sup_status = 1 group by <include refid="groupPart"/> group by <include refid="groupPart"/> </select> <!-- 分组查询超时数量 --> <select id="statisticsSuperviseQuantity" resultType="cn.huge.module.analysis.domain.dto.StatisticsGroupDTO"> select count(case when ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) then t2.id end) as dbcs from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id <if test="terms.taskStatus != null and terms.taskStatus == 1 "> count(case when (t2.overtime_status = '1') then t2.id end) as dbcs </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> count(case when (sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) then t2.id end) as dbcs </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> count(case when ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) then t2.id end) as dbcs </if> from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where <include refid="statisticsSuperviseAVG-wherePart"/> </select> @@ -388,14 +454,17 @@ <!-- 首页-查询超时数量 --> <select id="homeStatisticsSuperviseQuantity" resultType="cn.huge.module.analysis.domain.dto.StatisticsGroupDTO"> select count(case when ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) then t2.id end) as dbcs from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id count(case when ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) then t2.id end) as dbcs from dyh_ct_unit t1 left join dyh_case_supervise t2 on t1.id = t2.quilt_unit_id left join dyh_case_info t3 on t2.case_id = t3.id where <include refid="statisticsSuperviseAVG-wherePart"/> </select> <!-- 统计重复来访案件数量 --> <select id="countRepeatedCases" resultType="cn.huge.module.analysis.domain.dto.CountRepeateDto" parameterType="cn.huge.module.analysis.domain.vo.CountRepeateVo"> <select id="countRepeatedCases" resultType="cn.huge.module.analysis.domain.dto.CountRepeateDto" parameterType="cn.huge.module.analysis.domain.vo.CountRepeateVo"> WITH RepeatedPersons AS ( SELECT true_name, mobile, certi_no FROM gzdyh_test.dyh_case_person @@ -408,7 +477,8 @@ MinCaseIds AS ( SELECT rp.true_name, rp.mobile, rp.certi_no, MIN(p.case_id) as min_case_id FROM RepeatedPersons rp JOIN gzdyh_test.dyh_case_person p ON rp.true_name = p.true_name AND rp.mobile = p.mobile AND rp.certi_no = p.certi_no JOIN gzdyh_test.dyh_case_person p ON rp.true_name = p.true_name AND rp.mobile = p.mobile AND rp.certi_no = p.certi_no GROUP BY rp.true_name, rp.mobile, rp.certi_no ), FilteredCases AS ( @@ -501,13 +571,24 @@ and t2.delete_status = 0 and t3.delete_status = 0 <include refid="statisticsAVG-wherePart"/> and (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) and (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = 1 and t2.status = 2) </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > expire_time and t2.status = 1) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) </if> </select> <!-- 查询分派超时案件 --> <select id="listFPQuantity" resultType="cn.huge.module.analysis.domain.dto.TimeoutTaskInfoDTO"> select t2.case_id as caseId, t2.id as caseTaskId, t2.create_time as turnaroundTime, t2.node_name as nodeName, (case t2.status when 1 then 0 when 2 then 1 end) as taskStatus, (case t2.status when 2 then t2.overtime_hour when 1 then DATEDIFF(hh, t2.expire_time, sysdate) end) as timeLimit, select t2.case_id as caseId, t2.id as caseTaskId, t2.create_time as turnaroundTime, t2.node_name as nodeName, (case t2.status when 1 then 0 when 2 then 1 end) as taskStatus, (case t2.status when 2 then t2.overtime_hour when 1 then DATEDIFF(hh, t2.expire_time, sysdate) end) as timeLimit, t3.case_level as caseGrade, t3.canal_name as caseSource, t4.mediator as mediator, t3.status_name as statusName, concat_ws('', ifnull(t3.case_type_first_name, ''), '/' , ifnull(t3.case_type_name, '')) as caseType, concat(t3.que_area_name, t3.que_road_name) as queAddress, t2.cande_unit_name as candeUnitName, @@ -519,7 +600,16 @@ and t2.delete_status = 0 and t3.delete_status = 0 <include refid="statisticsAVG-wherePart"/> and (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) and (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = 1 and t2.status = 2) </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > expire_time and t2.status = 1) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) </if> <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> isnull(${s.property}), ${s.property} ${s.direction} @@ -544,13 +634,23 @@ <include refid="statisticsAVG-wherePart"/> and (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = 1 and t2.status = 2) </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > expire_time and t2.status = 1) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1) ) </if> </select> <!-- 查询受理超时案件 --> <select id="listSLQuantity" resultType="cn.huge.module.analysis.domain.dto.TimeoutTaskInfoDTO"> select t2.case_id as caseId, t2.id as caseTaskId,t2.create_time as turnaroundTime, t2.node_name as nodeName, (case t2.status when 1 then 0 when 2 then 1 end) as taskStatus, (case t2.status when 2 then t2.overtime_hour when 1 then DATEDIFF(hh, t2.expire_time, sysdate) end) as timeLimit, select t2.case_id as caseId, t2.id as caseTaskId,t2.create_time as turnaroundTime, t2.node_name as nodeName, (case t2.status when 1 then 0 when 2 then 1 end) as taskStatus, (case t2.status when 2 then t2.overtime_hour when 1 then DATEDIFF(hh, t2.expire_time, sysdate) end) as timeLimit, t3.case_level as caseGrade, t3.canal_name as caseSource, t4.mediator as mediator, t3.status_name as statusName, concat_ws('', ifnull(t3.case_type_first_name, ''), '/' , ifnull(t3.case_type_name, '')) as caseType, concat(t3.que_area_name, t3.que_road_name) as queAddress, t2.cande_unit_name as candeUnitName, @@ -564,7 +664,15 @@ <include refid="statisticsAVG-wherePart"/> and (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = 1 and t2.status = 2) </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > expire_time and t2.status = 1) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) </if> <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> isnull(${s.property}), ${s.property} ${s.direction} @@ -584,13 +692,22 @@ left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where <include refid="statisticsSuperviseAVG-wherePart"/> <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = '1') </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) </if> </select> <!-- 查询督办超时案件 --> <select id="listDBQuantity" resultType="cn.huge.module.analysis.domain.dto.TimeoutTaskInfoDTO"> select t2.case_id as caseId, t2.sup_time as turnaroundTime, '督办回复' as nodeName, t2.sup_status as taskStatus, (case t2.sup_status when 1 then t2.overtime_hour when 0 then DATEDIFF(hh, DATEADD(hour, t2.reply_term, t2.sup_time), sysdate) end) as timeLimit, (case t2.sup_status when 1 then t2.overtime_hour when 0 then DATEDIFF(hh, DATEADD(hour, t2.reply_term, t2.sup_time), sysdate) end) as timeLimit, t3.case_level as caseGrade,t3.canal_name as caseSource, t4.mediator as mediator, t3.status_name as statusName, concat_ws('', ifnull(t3.case_type_first_name, ''), '/' , ifnull(t3.case_type_name, '')) as caseType, concat(t3.que_area_name, t3.que_road_name) as queAddress, t2.quilt_unit_name as candeUnitName, @@ -599,7 +716,15 @@ left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where <include refid="statisticsSuperviseAVG-wherePart"/> <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = '1') </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) </if> <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> isnull(${s.property}), ${s.property} ${s.direction} @@ -626,7 +751,15 @@ <include refid="statisticsAVG-wherePart"/> and((t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') or (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL')) <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = 1 and t2.status = 2) </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > expire_time and t2.status = 1) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) </if> union select COUNT(1) as zs @@ -634,15 +767,25 @@ left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where <include refid="statisticsSuperviseAVG-wherePart"/> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) ) <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = '1') </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) </if>) </select> <!-- 查询督办超时案件 --> <select id="listAllQuantity" resultType="cn.huge.module.analysis.domain.dto.TimeoutTaskInfoDTO"> select * from( select t2.case_id as caseId, t2.id as caseTaskId, t2.create_time as turnaroundTime, t2.node_name as nodeName, (case t2.status when 1 then 0 when 2 then 1 end) as taskStatus, (case t2.status when 2 then t2.overtime_hour when 1 then DATEDIFF(hh, t2.expire_time, sysdate) end) as timeLimit, select t2.case_id as caseId, t2.id as caseTaskId, t2.create_time as turnaroundTime, t2.node_name as nodeName, (case t2.status when 1 then 0 when 2 then 1 end) as taskStatus, (case t2.status when 2 then t2.overtime_hour when 1 then DATEDIFF(hh, t2.expire_time, sysdate) end) as timeLimit, t3.case_level as caseGrade, t3.canal_name as caseSource, t4.mediator as mediator, t3.status_name as statusName, concat_ws('', ifnull(t3.case_type_first_name, ''), '/' , ifnull(t3.case_type_name, '')) as caseType, concat(t3.que_area_name, t3.que_road_name) as queAddress, t2.cande_unit_name as candeUnitName, @@ -656,10 +799,20 @@ <include refid="statisticsAVG-wherePart"/> and ((t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') or (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL')) <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = 1 and t2.status = 2) </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > expire_time and t2.status = 1) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) </if> union all select t2.case_id as caseId, null as caseTaskId, t2.sup_time as turnaroundTime, '督办回复' as nodeName, t2.sup_status as taskStatus, (case t2.sup_status when 1 then t2.overtime_hour when 0 then DATEDIFF(hh, DATEADD(hour, t2.reply_term, t2.sup_time), sysdate) end) as timeLimit, select t2.case_id as caseId, null as caseTaskId, t2.sup_time as turnaroundTime, '督办回复' as nodeName, t2.sup_status as taskStatus, (case t2.sup_status when 1 then t2.overtime_hour when 0 then DATEDIFF(hh, DATEADD(hour, t2.reply_term, t2.sup_time), sysdate) end) as timeLimit, t3.case_level as caseGrade,t3.canal_name as caseSource, t4.mediator as mediator, t3.status_name as statusName, concat_ws('', ifnull(t3.case_type_first_name, ''), '/' , ifnull(t3.case_type_name, '')) as caseType, concat(t3.que_area_name, t3.que_road_name) as queAddress, t2.quilt_unit_name as candeUnitName, @@ -668,7 +821,16 @@ left join dyh_case_info t3 on t2.case_id = t3.id left join dyh_case_info_unfold t4 on t3.id = t4.id where <include refid="statisticsSuperviseAVG-wherePart"/> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) <if test="terms.taskStatus != null and terms.taskStatus == 1 "> and (t2.overtime_status = '1') </if> <if test="terms.taskStatus != null and terms.taskStatus == 0"> and (sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) </if> <if test="terms.taskStatus == null or terms.taskStatus ==''"> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) </if> ) <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> @@ -679,6 +841,7 @@ order by isnull(t2.sup_time), t2.sup_time desc </if> limit #{page.offset}, #{page.size} </select> <sql id="statisticsCirculation-wherePart"> @@ -741,7 +904,8 @@ or t4.node_id = 'SJ_DFP' or t4.node_id = 'DFP' or t4.node_id = 'QJ_DSL' or t4.node_id = 'SJ_DSL' or t4.node_id = 'DSL' or t4.node_id = 'ZJ_DSL')and t4.handle_result =3) then t4.id end) as bysl from dyh_ct_unit t1 left join dyh_case_info_unfold t2 on t2.belong_unit_id = t1.id left join dyh_case_info t3 on t2.id = t3.id dyh_ct_unit t1 left join dyh_case_info_unfold t2 on t2.belong_unit_id = t1.id left join dyh_case_info t3 on t2.id = t3.id left join(SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result FROM ( SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result, @@ -752,7 +916,8 @@ group by s.case_id) t4 on t2.id = t4.case_id where t1.delete_status = 0 and t3.delete_status = 0 <include refid="statisticsCirculation-wherePart"/> group by <include refid="groupPart"/> group by <include refid="groupPart"/> </select> <!-- 分组查询字段 --> @@ -863,12 +1028,14 @@ <if test="terms.unitIds != null and terms.unitIds !=''"> and id in(${terms.unitIds}) </if> group by <include refid="groupALLPart"/> group by <include refid="groupALLPart"/> </select> <!-- 查询下属所有属地 --> <select id="listSubordinateTerritory" resultType="string"> select <include refid="selectALLPart"/> select <include refid="selectALLPart"/> from dyh_ct_unit where delete_status = 0 @@ -898,22 +1065,21 @@ <if test="terms.unitIds != null and terms.unitIds !=''"> and id in(${terms.unitIds}) </if> group by <include refid="groupALLPart"/> group by <include refid="groupALLPart"/> </select> <!-- 获取所有下属组织包括自己 --> <select id="getAllParentUnit" resultType="string"> SELECT id FROM dyh_ct_unit START WITH id = #{unitId} FROM dyh_ct_unit START WITH id = #{unitId} CONNECT BY PRIOR id = parent_id; </select> <!-- 获取所有下属组织包括自己 --> <select id="getAllDeptParentUnit" resultType="string"> SELECT id FROM dyh_ct_unit START WITH id = #{unitId} FROM dyh_ct_unit START WITH id = #{unitId} CONNECT BY PRIOR id = parent_id and unit_type != 101 and unit_type != 103; </select> @@ -1110,8 +1276,10 @@ and t2.delete_status = 0 and t3.delete_status = 0 <include refid="statisticsAVG-wherePart"/> and (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) group by <include refid="groupPart"/> and (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) group by <include refid="groupPart"/> order by quantity asc </select> @@ -1128,8 +1296,10 @@ and t3.delete_status = 0 <include refid="statisticsAVG-wherePart"/> and (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1) ) group by <include refid="groupPart"/> (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1) ) group by <include refid="groupPart"/> order by quantity asc </select> @@ -1143,7 +1313,8 @@ where <include refid="statisticsSuperviseAVG-wherePart"/> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) group by <include refid="groupPart"/> group by <include refid="groupPart"/> order by quantity asc </select> @@ -1167,7 +1338,8 @@ and((t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') or (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL')) and ((t2.overtime_status = 1 and t2.status = 2) or (sysdate > expire_time and t2.status = 1)) group by <include refid="groupPart"/> group by <include refid="groupPart"/> union all select <include refid="selectPart"/> @@ -1177,8 +1349,10 @@ where <include refid="statisticsSuperviseAVG-wherePart"/> and ((sysdate > DATEADD(hour, t2.reply_term, t2.sup_time) and t2.sup_status = 0) or (t2.overtime_status = '1')) group by <include refid="groupPart"/> )t1 group by <include refid="groupPart"/> group by <include refid="groupPart"/> )t1 group by <include refid="groupPart"/> order by quantity asc </select> @@ -1249,7 +1423,8 @@ select count(1) from dyh_ct_unit t1 left join dyh_case_info_unfold t2 on t2.belong_unit_id = t1.id left join dyh_case_info t3 on t2.id = t3.id dyh_ct_unit t1 left join dyh_case_info_unfold t2 on t2.belong_unit_id = t1.id left join dyh_case_info t3 on t2.id = t3.id left join(SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result FROM ( SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result, @@ -1268,7 +1443,8 @@ <if test="terms.caseStatus != null and terms.caseStatus == 3"> and t3.zxsl_status = 0 and ((t4.node_id in ('ZJ_DFP', 'QJ_DFP', 'SJ_DFP', 'DFP', 'QJ_DSL', 'SJ_DSL', 'DSL', 'ZJ_DSL') and t4.handle_result !=3) or t4.node_id in ('SJ_SBSH', 'SJ_HTSH', 'QJ_HTSH', 'QJ_SBSH', 'ZJ_HTSH', 'JASQ', 'HTSH')) and t4.handle_result !=3) or t4.node_id in ('SJ_SBSH', 'SJ_HTSH', 'QJ_HTSH', 'QJ_SBSH', 'ZJ_HTSH', 'JASQ', 'HTSH')) </if> <if test="terms.caseStatus != null and terms.caseStatus == 4"> and t3.zxsl_status = 0 @@ -1280,7 +1456,8 @@ <select id="listStatisticsCirculation" resultMap="dataResult-CasePageDTO"> select t3.id, t3.status,t3.status_name,t3.canal,t3.canal_name,t3.canal_second,t3.canal_second_name,t3.case_level,t3.case_type, t3.id, t3.status,t3.status_name,t3.canal,t3.canal_name,t3.canal_second,t3.canal_second_name,t3.case_level,t3.case_type, t3.case_type_name,t3.case_type_first_name,t3.input_unit_id,t3.input_unit_name,t3.create_time,t3.plaintiffs,t3.defendants, IF(t1.city_name is null,t3.que_city_name,t1.city_name) as que_city_name, IF(t1.area_name is null,t3.que_area_name,t1.area_name) as que_area_name, @@ -1292,7 +1469,8 @@ t2.assist_unit_name,t2.close_time,t2.agree_type,t2.agree_type_name,t2.agree_content,t2.windup_content, t4.id from dyh_ct_unit t1 left join dyh_case_info_unfold t2 on t2.belong_unit_id = t1.id left join dyh_case_info t3 on t2.id = t3.id dyh_ct_unit t1 left join dyh_case_info_unfold t2 on t2.belong_unit_id = t1.id left join dyh_case_info t3 on t2.id = t3.id left join(SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result FROM ( SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result, @@ -1311,7 +1489,8 @@ <if test="terms.caseStatus != null and terms.caseStatus == 3"> and t3.zxsl_status = 0 and ((t4.node_id in ('ZJ_DFP', 'QJ_DFP', 'SJ_DFP', 'DFP', 'QJ_DSL', 'SJ_DSL', 'DSL', 'ZJ_DSL') and t4.handle_result !=3) or t4.node_id in ('SJ_SBSH', 'SJ_HTSH', 'QJ_HTSH', 'QJ_SBSH', 'ZJ_HTSH', 'JASQ', 'HTSH')) and t4.handle_result !=3) or t4.node_id in ('SJ_SBSH', 'SJ_HTSH', 'QJ_HTSH', 'QJ_SBSH', 'ZJ_HTSH', 'JASQ', 'HTSH')) </if> <if test="terms.caseStatus != null and terms.caseStatus == 4"> and t3.zxsl_status = 0 dyh-service/dyh-mediate/src/main/java/cn/huge/module/analysis/domain/dto/TimeoutTaskInfoDTO.java
@@ -64,6 +64,7 @@ */ private String superviseCount; /** * 超时节点 */ dyh-service/dyh-mediate/src/main/java/cn/huge/module/casebook/controller/web/CaseBookWebController.java
@@ -19,6 +19,7 @@ import org.springframework.data.domain.Sort; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; 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); // 保存所有当事人 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -173,6 +173,12 @@ terms.put("mediator", mediator); } //经办人ID String systemSource = request.getParameter("systemSource"); if (StringUtils.isNotBlank(systemSource)) { terms.put("systemSource", systemSource); } String peopleNum = request.getParameter("peopleNum"); if (StringUtils.isNotBlank(peopleNum)) { String[] split = peopleNum.split("-"); @@ -1324,83 +1330,41 @@ // 查询类型 1-本系统,2-12345,3-人民调解,4-信访,5-劳动仲裁,6-非警务纠纷 String ledgerType = request.getParameter("ledgerType"); if("1".equals(ledgerType)){ terms.put("canalList", Arrays.asList("22_00001-1","22_00001-2","22_00001-3")); }else if("2".equals(ledgerType)){ terms.put("canal", "22_00001-4"); terms.put("canalSecond", "22_00003-3"); terms.put("canalSecondNot", "22_00003-2"); }else if("6".equals(ledgerType)){ terms.put("canal", "22_00001-4"); terms.put("canalSecond", "22_00003-4"); terms.put("canalSecondNot", "22_00003-2"); }else if("4".equals(ledgerType)){ terms.put("canal", "22_00001-4"); terms.put("canalSecond", "22_00003-6"); terms.put("canalSecondNot", "22_00003-2"); }else if("5".equals(ledgerType)){ terms.put("canal", "22_00001-4"); terms.put("canalSecond", "22_00003-5"); terms.put("canalSecondNot", "22_00003-2"); }else if("3".equals(ledgerType)){ terms.put("canal", "22_00001-4"); terms.put("canalSecond", "22_00003-1"); terms.put("canalSecondNot", "22_00003-2"); }else{ terms.put("canalSecondAll", "22_00003-2"); //所有表里面的数据都是本系统,其他的后续会新建表存储 if(ObjectUtils.isNotEmpty(ledgerType) && !"1".equals(ledgerType)){ terms.put("canal", "-1"); } return ReturnSucUtils.getRepInfo("处理成功", service.ledger(terms, userId)); return ReturnSucUtils.getRepInfo("处理成功", service.ledger(terms, userId, ledgerType)); } catch (Exception e) { log.error("Controller接口[CaseInfoWebController.ledger]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(); } } // /** // * 解纷态势 // * // * @return Object // * @url {ctx}/api/web/caseInfo/ledger // * @CurrentUser String userId // */ // @GetMapping("/ledger") // public Object ledger(@CurrentUser String userId) { // try { // Map<String, Object> terms = getParameterAll(); // // 查询类型 1-本系统,2-12345,3-人民调解,4-信访,5-劳动仲裁,6-非警务纠纷 // String ledgerType = request.getParameter("ledgerType"); // // if("1".equals(ledgerType)){ // terms.put("canalList", Arrays.asList("22_00001-1","22_00001-2","22_00001-3")); // }else if("2".equals(ledgerType)){ // terms.put("canal", "22_00001-4"); // terms.put("canalSecond", "22_00003-3"); // terms.put("canalSecondNot", "22_00003-2"); // }else if("3".equals(ledgerType)){ // terms.put("canal", "22_00001-4"); // terms.put("canalSecond", "22_00003-4"); // terms.put("canalSecondNot", "22_00003-2"); // }else if("4".equals(ledgerType)){ // terms.put("canal", "22_00001-4"); // terms.put("canalSecond", "22_00003-6"); // terms.put("canalSecondNot", "22_00003-2"); // }else if("5".equals(ledgerType)){ // terms.put("canal", "22_00001-4"); // terms.put("canalSecond", "22_00003-5"); // terms.put("canalSecondNot", "22_00003-2"); // }else if("6".equals(ledgerType)){ // terms.put("canal", "22_00001-4"); // terms.put("canalSecond", "22_00003-1"); // terms.put("canalSecondNot", "22_00003-2"); // }else{ // terms.put("canalSecondAll", "22_00003-2"); // } // return ReturnSucUtils.getRepInfo("处理成功", service.ledger(terms, userId)); // } catch (Exception e) { // log.error("Controller接口[CaseInfoWebController.ledger]请求异常:" + e, e); // return ReturnFailUtils.getRepInfo(); // } // } /** * 解纷态势 * * @return Object * @url {ctx}/api/web/caseInfo/ledgerCount * @CurrentUser String userId */ @GetMapping("/ledgerCount") public Object ledgerCount(@CurrentUser String userId) { try { Map<String, Object> terms = getParameterAll(); // 查询类型 1-本系统,2-12345,3-人民调解,4-信访,5-劳动仲裁,6-非警务纠纷 String ledgerType = request.getParameter("ledgerType"); //所有表里面的数据都是本系统,其他的后续会新建表存储 if(ObjectUtils.isNotEmpty(ledgerType) && !"1".equals(ledgerType)){ terms.put("canal", "-1"); } return ReturnSucUtils.getRepInfo("处理成功", service.ledgerCount(terms, userId)); } catch (Exception e) { log.error("Controller接口[CaseInfoWebController.ledger]请求异常:" + e, e); return ReturnFailUtils.getRepInfo(); } } /** * 查询重复事项 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseTaskWebController.java
@@ -525,6 +525,13 @@ terms.put("partyName", partyName); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } if (status == 1) { terms.put("candeUnitId", loginUser.getUnitId()); } else { @@ -615,6 +622,13 @@ terms.put("partyName", partyName); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } if (status == 1) { terms.put("candeUnitId", loginUser.getUnitId()); } else { @@ -763,6 +777,13 @@ } setRequestParam(terms); CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } // 不予受理,查询case_dismiss表 if (status == 3) { terms.put("disUnitId", loginUser.getUnitId()); @@ -813,6 +834,13 @@ } terms.put("caseTaskType", caseTaskType); CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("candeUnitId", loginUser.getUnitId()); String mediatorType = request.getParameter("mediatorType"); @@ -894,6 +922,13 @@ terms.put("partyName", partyName); } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } if (caseTaskType == 1) { terms.put("applyUnitId", loginUser.getUnitId()); } else { @@ -1043,6 +1078,13 @@ } PageRequest pageRequest = PageRequest.of(page - 1, size, sort); CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("auditUnitId", loginUser.getUnitId()); terms.put("applyStatus", status); return ReturnSucUtils.getRepInfo(service.pageMyTaskSh(pageRequest, type, terms)); @@ -1121,6 +1163,13 @@ } PageRequest pageRequest = PageRequest.of(page - 1, size, sort); CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("applyUnitId", loginUser.getUnitId()); return ReturnSucUtils.getRepInfo(service.pageMyTaskShWSQD(pageRequest, terms)); } catch (Exception e) { @@ -1196,6 +1245,13 @@ } PageRequest pageRequest = PageRequest.of(page - 1, size, sort); CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } Page<FrontPageListDTO> frontPageListDTOPage = null; if (StringUtils.isNotBlank(loginUser.getUnitId())) { terms.put("type", status); @@ -1446,6 +1502,13 @@ } CtUserDTO loginUser = custClient.clientGetUserAll(userId); CtUnitDTO unitById = custClient.getUnitById(loginUser.getUnitId()); //如果是政法委,赋予综治中心查看案件的权限,政法委不接收案子处理,只负责指导,所以可以直接赋予 if (201 == unitById.getUnitType()) { CtUnitDTO bjZzzx = custClient.getBjZzzx(unitById.getId()); if (bjZzzx != null) loginUser.setUnitId(bjZzzx.getId()); } terms.put("handleUnitId", loginUser.getUnitId()); // 排序 Sort sort = null; @@ -1593,8 +1656,9 @@ /** * 测试接口 * @url {ctx}/api/web/caseTask/test * * @return Object * @url {ctx}/api/web/caseTask/test */ @GetMapping("/test") public Object test(@RequestParam(value = "caseId") String caseId, dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -411,22 +411,6 @@ <if test="terms.mediatorId != null and terms.mediatorId !=''"> and b.mediator_id = #{terms.mediatorId} </if> <if test="terms.visitTimeStart != null and terms.visitTimeStart !='' and terms.visitTimeEnd != null and terms.visitTimeEnd !=''"> and (DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.visitTimeStart} and DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.visitTimeEnd}) </if> <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> and (DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.createStart} and DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.createEnd}) </if> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> and (DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.closeStart} and DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.closeEnd}) </if> <if test="terms.fileStart != null and terms.fileStart !='' and terms.fileEnd != null and terms.fileEnd !=''"> and (DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.fileStart} and DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.fileEnd}) </if> <if test='terms.queCity != null and terms.queCity !="" and terms.statistics != null and terms.areaType == "1"'> and (b.belong_unit_id is not null and c.city = #{terms.queCity} <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> @@ -573,6 +557,25 @@ </if> <if test="terms.agreeType != null and terms.agreeType !=''"> and b.agree_type = #{terms.agreeType} </if> <if test="terms.systemSource != null and terms.systemSource !=''"> and b.sys_source = #{terms.systemSource} </if> <if test="terms.visitTimeStart != null and terms.visitTimeStart !='' and terms.visitTimeEnd != null and terms.visitTimeEnd !=''"> and (DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.visitTimeStart} and DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.visitTimeEnd}) </if> <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> and (a.create_time <![CDATA[ >= ]]> #{terms.createStart} and a.create_time <![CDATA[ <= ]]> #{terms.createEnd}) </if> <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> and (DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.closeStart} and DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.closeEnd}) </if> <if test="terms.fileStart != null and terms.fileStart !='' and terms.fileEnd != null and terms.fileEnd !=''"> and (DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.fileStart} and DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.fileEnd}) </if> </where> </if> @@ -1121,7 +1124,11 @@ when a.info_process = 1 then 1 else 0 end) as processNum, sum(case when a.info_process = 3 and b.medi_result = '22_00025-1' then 1 else 0 end) as finishNum, sum(case when a.info_process = 4 then 1 else 0 end) as rejectNum, sum(case when a.info_process = 3 and b.medi_result = '22_00025-2' then 1 else 0 end) as failNum sum(case when a.info_process = 3 and b.medi_result = '22_00025-2' then 1 else 0 end) as failNum, sum(case when a.canal_second = '22_00003-8' then 1 else 0 end) as bmpcNum, sum(case when a.canal_second = '22_00003-2' then 1 else 0 end) as wgpcNum, sum(case when a.canal_second = '22_00003-1' then 1 else 0 end) as fjwjfNum, sum(case when a.canal_second = '22_00003-7' then 1 else 0 end) as zxjfNum FROM dyh_case_info a inner JOIN dyh_case_info_unfold b on a.id = b.id dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseStatisticsBaseDTO.java
@@ -1,6 +1,8 @@ package cn.huge.module.cases.domain.dto; import lombok.Data; import java.util.ArrayList; import java.util.List; /** @@ -10,28 +12,32 @@ @Data public class CaseStatisticsBaseDTO { private Integer totalNum=0;//总记录数 private Integer processNum=0;//办理中数量 private Integer finishNum=0;//已结案数量 private Integer rejectNum=0;//不予受理数量 private Integer resolveNum=0;//化解成功数量 private String resolveRate;//化解成功率 private Integer unResolveNum=0;//化解不成功数量 private String unResolveRate;//化解不成功率 private Integer resolveingNum=0;//化解中数量 private String resolveingRate;//化解中率 // private Integer processNum=0;//办理中数量 // private Integer finishNum=0;//已结案数量 // private Integer rejectNum=0;//不予受理数量 // private Integer resolveNum=0;//化解成功数量 // private String resolveRate;//化解成功率 // private Integer unResolveNum=0;//化解不成功数量 // private String unResolveRate;//化解不成功率 // private Integer resolveingNum=0;//化解中数量 // private String resolveingRate;//化解中率 private Integer rejectNum=0;//不予受理数量 private String rejectRate;//不予受理率 // private Integer processNum=0;//化解中数量 private Integer processNum=0;//化解中数量 private String processRate;//化解中率 // private Integer finishNum=0;//化解成功数量 private Integer finishNum=0;//化解成功数量 private String finishRate;//化解成功率 private Integer failNum=0;//化解不成功数量 private String failRate;//化解不成功率 private Integer toDayTotalNum=0;//今日新增总记录数 private Integer toDayProcessNum=0;//今日新增化解中数 private Integer toDayRejectNum=0;//今日新增不予受理数量 private Integer toDayFinishNum=0;//今日新增已结案数量 private Integer bmpcNum;//部门排查 private String bmpcCode="22_00003-8";//部门排查编码 private Integer wgpcNum;//网格排查 private String wgpcCode="22_00003-2";//网格排查编码 private Integer fjwjfNum;//非警务纠纷 private String fjwjfCode="22_00003-1";//非警务纠纷编码 private Integer zxjfNum;//专项纠纷 private String zxjfCode="22_00003-7";//专项纠纷编码 private Integer oneLevelNum=0;//1级事件数量 private Integer twoLevelNum=0;//2级事件数量 @@ -48,7 +54,7 @@ private CaseStatisticsSourceDTO oneSecondSource;//非警务纠纷 private CaseStatisticsSourceDTO twoSecondSource;//12345 private CaseStatisticsSourceDTO threeSecondSource;//网格上报 private List<CaseStatisticsTypeDTO> typeList;//纠纷类型集合 private List<CaseStatisticsTypeDTO> typeList = new ArrayList<>();//纠纷类型集合 private List<CasePageDTO> caseList;//案件集合(实时动态) @@ -66,8 +72,8 @@ private String xfRate;//信访占比 private Integer ldzcNum=0;//劳动仲裁数 private String ldzcRate;//劳动仲裁占比 private Integer fjwjfNum=0;//非警务纠纷数 private String fjwjfRate;//非警务纠纷占比 private Integer tzfjwjfNum=0;//非警务纠纷数 private String tzfjwjfRate;//非警务纠纷占比 // private Integer allNum=0;//全部数 // private Integer sysNum=0;//本系统数 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,6 +285,7 @@ CaseTask jagdCaseTask = new CaseTask(); jagdCaseTask.setId(utilsClient.getNewTimeId()); jagdCaseTask.setCaseId(dsrpjCaseTask.getCaseId()); if(jagdFlowNode!=null){ jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); @@ -293,6 +294,10 @@ 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()); dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -311,13 +311,19 @@ generateQrCodeRequestVo.setBusinessSource("02"); generateQrCodeRequestVo.setGenerateUnifiedCode(true); generateQrCodeRequestVo.setInfoSource("03"); String area = this.formatGridCode(ctUnitDTO.getArea()); log.info("xsdgridCode:{}",registerSaveDTO.getQueArea()); String area = this.formatGridCode(registerSaveDTO.getQueArea()); log.info("xsdgridCode:{}",area); generateQrCodeRequestVo.setGridCode(area); caseInfo.setCaseRef(sysClient.getCaseRefByGenerateQrCode(generateQrCodeRequestVo)); // 获取调解案号 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())) { @@ -1135,7 +1141,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(); @@ -1498,29 +1504,8 @@ } areaTotal = areaTotal + caseStatisticsAreaDTO.getCaseNum(); //本及:承办单位是本及和没有承办单位并且没有下级区域编码 // if(ObjectUtils.isEmpty(caseStatisticsAreaDTO.getAreaCode()) || unitGrades.contains(caseStatisticsAreaDTO.getUnitGrade())){ // allArea.setCaseNum(dellNull(caseStatisticsAreaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); // allArea.setResolveNum(dellNull(caseStatisticsAreaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); // allArea.setUnResolveNum(dellNull(caseStatisticsAreaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); // allArea.setResolveingNum(dellNull(caseStatisticsAreaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); // }else{ // areaList.add(caseStatisticsAreaDTO); // areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); // } } areaList.add(allArea); // if ("1".equals(areaType)) { // Map<String, String> area = getArea(); // for (String areaName : area.keySet()) { // if (!areaNames.contains(areaName)) { // CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); // areaChild.setAreaCode(area.get(areaName)); // areaChild.setAreaName(areaName); // areaList.add(areaChild); // } // } // } List<QueAreaDTO> queArea = listAreaByType(areaCode); log.info("listAreaByType {}", JSON.toJSONString(queArea)); @@ -1559,12 +1544,6 @@ } else { otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); } // if (i > 5) { // otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); // } else { // typeList.add(caseStatisticsTypeDTO); // } } for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); @@ -2292,34 +2271,220 @@ return caseOverviewDetailDTOs; } public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId) throws IOException { // 备份原始的类型筛选条件,用于后续恢复 Map<String, Object> originalTypeTerms = new HashMap<>(); if (terms.containsKey("canal")) { originalTypeTerms.put("canal", terms.get("canal")); public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId,String ledgerType) throws IOException { terms.put("statistics", "1"); CtUnitDTO ctUnitDTO = null; if (ObjectUtils.isNotEmpty(userId)) { ctUnitDTO = custClient.getUnitByUserId(userId); } if (terms.containsKey("canalSecond")) { originalTypeTerms.put("canalSecond", terms.get("canalSecond")); String areaCode = null; //目前没有村居数据,所以单位等级是4的也归集到3里面 if (ObjectUtils.isNotEmpty(ctUnitDTO)) { if (ctUnitDTO.getUnitGrade().equals(1)) { terms.put("queCity", ctUnitDTO.getCity()); } else if (ctUnitDTO.getUnitGrade().equals(2)) { terms.put("queArea", ctUnitDTO.getArea()); } else if (ctUnitDTO.getUnitGrade().equals(3)) { terms.put("queRoad", ctUnitDTO.getRoad()); } else if (ctUnitDTO.getUnitGrade().equals(4)) { terms.put("queVillage", ctUnitDTO.getVillage()); } if (terms.containsKey("canalList")) { originalTypeTerms.put("canalList", terms.get("canalList")); } if (terms.containsKey("canalSecondNot")) { originalTypeTerms.put("canalSecondNot", terms.get("canalSecondNot")); } if (terms.containsKey("canalSecondAll")) { originalTypeTerms.put("canalSecondAll", terms.get("canalSecondAll")); } // 临时移除类型筛选条件,以便 statistics 获取全量数据 terms.remove("canal"); terms.remove("canalSecond"); terms.remove("canalList"); terms.remove("canalSecondNot"); terms.remove("canalSecondAll"); //目前没有村居,所以区和街道进来都是按街道展示 String areaType = null; String childAreaType = null; List<Integer> unitGrades = new ArrayList<>(); List<Integer> childUnitGrades = new ArrayList<>(); String childUnitGradeStr = null; String unitGradeStr = null; Boolean isLast = false; if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { terms.remove("queArea"); terms.remove("queCity"); terms.remove("queRoad"); areaType = "4"; childAreaType = "5"; areaCode = terms.get("queVillage") + ""; unitGrades.add(4); childUnitGrades.add(5); childUnitGradeStr = "5"; unitGradeStr = "4"; isLast = true; } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { terms.remove("queArea"); terms.remove("queCity"); areaType = "3"; childAreaType = "4"; areaCode = terms.get("queRoad") + ""; unitGrades.add(3); childUnitGrades.add(4); childUnitGradeStr = "4"; unitGradeStr = "3"; } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { terms.remove("queCity"); areaType = "2"; childAreaType = "3"; areaCode = terms.get("queArea") + ""; unitGrades.add(2); childUnitGrades.add(3); childUnitGrades.add(4); childUnitGradeStr = "3,4"; unitGradeStr = "2"; } else { areaType = "1"; childAreaType = "2"; unitGrades.add(1); childUnitGrades.add(2); childUnitGrades.add(3); childUnitGrades.add(4); if (ObjectUtils.isNotEmpty(ctUnitDTO)) { areaCode = ctUnitDTO.getCity(); } else { areaCode = "440100"; } childUnitGradeStr = "2,3,4"; unitGradeStr = "1"; } //基础数据统计 terms.put("areaType", areaType); // 调用统计调解过程的方法 CaseStatisticsBaseDTO caseStatisticsBaseDTO = new CaseStatisticsBaseDTO(); List<String> areaCodeList = new ArrayList<>(); List<CaseStatisticsAreaDTO> areaList = new ArrayList<>(); //本系统或者全部的时候才去查询数据 if(ObjectUtils.isEmpty(ledgerType) || "1".equals(ledgerType)){ caseStatisticsBaseDTO = statisticsProcess(terms); //区域数据统计 List<CaseStatisticsAreaDTO> caseStatisticsAreaDTOS = new ArrayList<>(); if (!isLast) { terms.put("areaType", childAreaType); terms.put("unitGrades", childUnitGrades); caseStatisticsAreaDTOS = mapper.statisticsArea(terms); if (ObjectUtils.isEmpty(caseStatisticsAreaDTOS)) { caseStatisticsAreaDTOS = new ArrayList<>(); } else { for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { caseStatisticsAreaDTO.setAreaType(childAreaType); caseStatisticsAreaDTO.setUnitGrades(childUnitGradeStr); if ("4".equals(childAreaType)) { caseStatisticsAreaDTO.setQueVillage(caseStatisticsAreaDTO.getAreaCode()); } else if ("3".equals(childAreaType)) { caseStatisticsAreaDTO.setQueRoad(caseStatisticsAreaDTO.getAreaCode()); } else if ("2".equals(childAreaType)) { caseStatisticsAreaDTO.setQueArea(caseStatisticsAreaDTO.getAreaCode()); } } } } //本级区数据 terms.put("areaType", areaType); terms.put("unitGrades", unitGrades); List<CaseStatisticsAreaDTO> allAreas = mapper.statisticsArea(terms); CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); if (ObjectUtils.isNotEmpty(allAreas)) { allArea = allAreas.get(0); } terms.remove("unitGrades"); allArea.setAreaName("本级"); allArea.setAreaCode("0"); allArea.setAreaType(areaType); allArea.setUnitGrades(unitGradeStr); if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { allArea.setQueVillage(terms.get("queVillage") + ""); } if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { allArea.setQueRoad(terms.get("queRoad") + ""); } if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { allArea.setQueArea(terms.get("queArea") + ""); } if (ObjectUtils.isNotEmpty(terms.get("queCity"))) { allArea.setQueCity(terms.get("queCity") + ""); } List<String> areaNames = new ArrayList<>();//为兼容白云区数据 Integer areaTotal = allArea.getCaseNum(); for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) { areaNames.add(caseStatisticsAreaDTO.getAreaName()); if (ObjectUtils.isEmpty(caseStatisticsAreaDTO.getAreaCode())) { allArea.setCaseNum(dellNull(caseStatisticsAreaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); allArea.setResolveNum(dellNull(caseStatisticsAreaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); allArea.setUnResolveNum(dellNull(caseStatisticsAreaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); allArea.setResolveingNum(dellNull(caseStatisticsAreaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); allArea.setRejectNum(dellNull(caseStatisticsAreaDTO.getRejectNum()) + dellNull(allArea.getRejectNum())); } else { areaList.add(caseStatisticsAreaDTO); areaCodeList.add(caseStatisticsAreaDTO.getAreaCode()); } areaTotal = areaTotal + caseStatisticsAreaDTO.getCaseNum(); } areaList.add(allArea); //纠纷类型统计 List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { sortType(caseStatisticsTypeDTOS); } Integer typeTotalNum = 0; Integer otherCaseNum = 0; int i = 1; List<CaseStatisticsTypeDTO> typeList = new ArrayList<>(); for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) { typeTotalNum = typeTotalNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); if (i < 6 && !"其他".equals(caseStatisticsTypeDTO.getCaseTypeName())) { typeList.add(caseStatisticsTypeDTO); i++; } else { otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); } } for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); } if (otherCaseNum > 0) { CaseStatisticsTypeDTO caseStatisticsTypeDTO = new CaseStatisticsTypeDTO(); caseStatisticsTypeDTO.setCaseTypeName("其他"); caseStatisticsTypeDTO.setCaseNum(otherCaseNum); caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); typeList.add(caseStatisticsTypeDTO); caseStatisticsBaseDTO.setTypeList(typeList); } } List<QueAreaDTO> queArea = listAreaByType(areaCode); log.info("listAreaByType {}", JSON.toJSONString(queArea)); for (QueAreaDTO caseAreaDTO : queArea) { if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); areaChild.setAreaCode(caseAreaDTO.getAreaCode()); areaChild.setAreaName(caseAreaDTO.getAreaName()); areaChild.setCaseNum(0); areaChild.setResolveNum(0); areaChild.setUnResolveNum(0); areaChild.setResolveingNum(0); areaList.add(areaChild); } } if (ObjectUtils.isNotEmpty(areaList)) { sortArea(areaList); } caseStatisticsBaseDTO.setAreaList(areaList); return caseStatisticsBaseDTO; } public CaseStatisticsBaseDTO ledgerCount(Map<String, Object> terms, String userId) throws IOException { // 获取全量基础统计数据 CaseStatisticsBaseDTO statistics = statistics(terms, userId); CaseStatisticsBaseDTO statistics = new CaseStatisticsBaseDTO(); terms.put("statistics", "1"); //根据用户筛选区域范围 @@ -2356,288 +2521,9 @@ terms.remove("canalSecond"); terms.remove("canal"); terms.put("areaType", areaType); terms.put("canalList", Arrays.asList("22_00001-1", "22_00001-2", "22_00001-3")); CaseStatisticsBaseDTO caseStatisticsBaseDTO1 = mapper.statisticsBase(terms); statistics.setSysNum(caseStatisticsBaseDTO1.getTotalNum()); terms.remove("canalList"); terms.put("canal", "22_00001-4"); terms.put("canalSecond", "22_00003-3"); CaseStatisticsBaseDTO caseStatisticsBaseDTO2 = mapper.statisticsBase(terms); statistics.setOttffNum(caseStatisticsBaseDTO2.getTotalNum()); terms.put("canalSecond", "22_00003-4"); CaseStatisticsBaseDTO caseStatisticsBaseDTO3 = mapper.statisticsBase(terms); statistics.setRmtjNum(caseStatisticsBaseDTO3.getTotalNum()); terms.put("canalSecond", "22_00003-6"); CaseStatisticsBaseDTO caseStatisticsBaseDTO4 = mapper.statisticsBase(terms); statistics.setXfNum(caseStatisticsBaseDTO4.getTotalNum()); terms.put("canalSecond", "22_00003-5"); CaseStatisticsBaseDTO caseStatisticsBaseDTO5 = mapper.statisticsBase(terms); statistics.setLdzcNum(caseStatisticsBaseDTO5.getTotalNum()); terms.put("canalSecond", "22_00003-1"); CaseStatisticsBaseDTO caseStatisticsBaseDTO6 = mapper.statisticsBase(terms); statistics.setFjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); // 重新计算纠纷类型统计,基于用户选择的类型 terms.remove("canalSecond"); terms.remove("canal"); terms.remove("canalList"); terms.remove("canalSecondNot"); terms.remove("canalSecondAll"); // 恢复所有原始类型筛选条件进行纠纷类型统计 for (String key : originalTypeTerms.keySet()) { terms.put(key, originalTypeTerms.get(key)); } // 调用统计调解过程的方法 CaseStatisticsBaseDTO processStats = statisticsProcess(terms); // 将调解过程统计数据合并到统计结果中 statistics.setTotalNum(processStats.getTotalNum()); statistics.setRejectNum(processStats.getRejectNum()); statistics.setProcessNum(processStats.getProcessNum()); statistics.setFinishNum(processStats.getFinishNum()); statistics.setFailNum(processStats.getFailNum()); statistics.setRejectRate(processStats.getRejectRate()); statistics.setProcessRate(processStats.getProcessRate()); statistics.setFinishRate(processStats.getFinishRate()); statistics.setFailRate(processStats.getFailRate()); // 重新获取纠纷类型统计(基于完整的选择类型条件) List<CaseStatisticsTypeDTO> caseStatisticsTypeDTOS = mapper.statisticsTypeFirst(terms); if (ObjectUtils.isNotEmpty(caseStatisticsTypeDTOS)) { sortType(caseStatisticsTypeDTOS); } Integer typeTotalNum = 0; Integer otherCaseNum = 0; int i = 1; List<CaseStatisticsTypeDTO> typeList = new ArrayList<>(); for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : caseStatisticsTypeDTOS) { typeTotalNum = typeTotalNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); if (i < 6 && !"其他".equals(caseStatisticsTypeDTO.getCaseTypeName())) { typeList.add(caseStatisticsTypeDTO); i++; } else { otherCaseNum = otherCaseNum + dellNull(caseStatisticsTypeDTO.getCaseNum()); } } for (CaseStatisticsTypeDTO caseStatisticsTypeDTO : typeList) { caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); } if (otherCaseNum > 0) { CaseStatisticsTypeDTO caseStatisticsTypeDTO = new CaseStatisticsTypeDTO(); caseStatisticsTypeDTO.setCaseTypeName("其他"); caseStatisticsTypeDTO.setCaseNum(otherCaseNum); caseStatisticsTypeDTO.setCaseRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsTypeDTO.getCaseNum() * 100, typeTotalNum, 1)); typeList.add(caseStatisticsTypeDTO); } statistics.setTypeList(typeList); // 根据原始类型筛选条件计算总数和比率 // 注意:比率计算应该始终基于所有类型的总数,而不是选择的特定类型数量 Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getFjwjfNum(); statistics.setSysRate(BigDecimalUtil.integerDivideDelZero(statistics.getSysNum() * 100, allNum, 1)); statistics.setOttffRate(BigDecimalUtil.integerDivideDelZero(statistics.getOttffNum() * 100, allNum, 1)); statistics.setRmtjRate(BigDecimalUtil.integerDivideDelZero(statistics.getRmtjNum() * 100, allNum, 1)); statistics.setXfRate(BigDecimalUtil.integerDivideDelZero(statistics.getXfNum() * 100, allNum, 1)); statistics.setLdzcRate(BigDecimalUtil.integerDivideDelZero(statistics.getLdzcNum() * 100, allNum, 1)); statistics.setFjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getFjwjfNum() * 100, allNum, 1)); statistics.setAllNum(allNum); // 重新计算地区统计(areaList),基于用户选择的类型 // 清除之前的筛选条件 terms.remove("canal"); terms.remove("canalSecond"); terms.remove("canalList"); terms.remove("canalSecondNot"); terms.remove("canalSecondAll"); // 恢复所有原始类型筛选条件进行地区统计 for (String key : originalTypeTerms.keySet()) { terms.put(key, originalTypeTerms.get(key)); } // 从原有逻辑中获取区域相关变量 String childAreaType = null; List<Integer> childUnitGrades = new ArrayList<>(); String childUnitGradeStr = null; String unitGradeStr = null; Boolean isLast = false; List<Integer> unitGrades = new ArrayList<>(); if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { childAreaType = "5"; childUnitGrades.add(5); childUnitGradeStr = "5"; unitGradeStr = "4"; unitGrades.add(4); isLast = true; } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { childAreaType = "4"; childUnitGrades.add(4); childUnitGradeStr = "4"; unitGradeStr = "3"; unitGrades.add(3); } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { childAreaType = "3"; childUnitGrades.add(3); childUnitGrades.add(4); childUnitGradeStr = "3,4"; unitGradeStr = "2"; unitGrades.add(2); } else { childAreaType = "2"; childUnitGrades.add(2); childUnitGrades.add(3); childUnitGrades.add(4); childUnitGradeStr = "2,3,4"; unitGradeStr = "1"; unitGrades.add(1); } // 重新计算地区统计 List<CaseStatisticsAreaDTO> areaStatistics = new ArrayList<>(); if (!isLast) { terms.put("areaType", childAreaType); terms.put("unitGrades", childUnitGrades); areaStatistics = mapper.statisticsArea(terms); if (ObjectUtils.isEmpty(areaStatistics)) { areaStatistics = new ArrayList<>(); } else { for (CaseStatisticsAreaDTO areaDTO : areaStatistics) { areaDTO.setAreaType(childAreaType); areaDTO.setUnitGrades(childUnitGradeStr); if ("4".equals(childAreaType)) { areaDTO.setQueVillage(areaDTO.getAreaCode()); } else if ("3".equals(childAreaType)) { areaDTO.setQueRoad(areaDTO.getAreaCode()); } else if ("2".equals(childAreaType)) { areaDTO.setQueArea(areaDTO.getAreaCode()); } } } } // 本级区数据 terms.put("areaType", areaType); terms.put("unitGrades", unitGrades); List<CaseStatisticsAreaDTO> allAreas = mapper.statisticsArea(terms); CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO(); if (ObjectUtils.isNotEmpty(allAreas)) { allArea = allAreas.get(0); } terms.remove("unitGrades"); allArea.setAreaName("本级"); allArea.setAreaCode("0"); allArea.setAreaType(areaType); allArea.setUnitGrades(unitGradeStr); if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { allArea.setQueVillage(terms.get("queVillage") + ""); } if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { allArea.setQueRoad(terms.get("queRoad") + ""); } if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { allArea.setQueArea(terms.get("queArea") + ""); } if (ObjectUtils.isNotEmpty(terms.get("queCity"))) { allArea.setQueCity(terms.get("queCity") + ""); } List<String> areaCodeList = new ArrayList<>(); List<CaseStatisticsAreaDTO> areaList = new ArrayList<>(); for (CaseStatisticsAreaDTO areaDTO : areaStatistics) { if (ObjectUtils.isEmpty(areaDTO.getAreaCode())) { allArea.setCaseNum(dellNull(areaDTO.getCaseNum()) + dellNull(allArea.getCaseNum())); allArea.setResolveNum(dellNull(areaDTO.getResolveNum()) + dellNull(allArea.getResolveNum())); allArea.setUnResolveNum(dellNull(areaDTO.getUnResolveNum()) + dellNull(allArea.getUnResolveNum())); allArea.setResolveingNum(dellNull(areaDTO.getResolveingNum()) + dellNull(allArea.getResolveingNum())); allArea.setRejectNum(dellNull(areaDTO.getRejectNum()) + dellNull(allArea.getRejectNum())); } else { areaList.add(areaDTO); areaCodeList.add(areaDTO.getAreaCode()); } } areaList.add(allArea); // 添加没有数据的区域(数量为0) String areaCode = null; if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { areaCode = terms.get("queVillage") + ""; } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { areaCode = terms.get("queRoad") + ""; } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { areaCode = terms.get("queArea") + ""; } else { areaCode = terms.get("queCity") != null ? terms.get("queCity") + "" : "440100"; } List<QueAreaDTO> queArea = listAreaByType(areaCode); for (QueAreaDTO caseAreaDTO : queArea) { if (!areaCodeList.contains(caseAreaDTO.getAreaCode())) { CaseStatisticsAreaDTO areaChild = new CaseStatisticsAreaDTO(); areaChild.setAreaCode(caseAreaDTO.getAreaCode()); areaChild.setAreaName(caseAreaDTO.getAreaName()); areaChild.setCaseNum(0); areaChild.setResolveNum(0); areaChild.setUnResolveNum(0); areaChild.setResolveingNum(0); areaList.add(areaChild); } } if (ObjectUtils.isNotEmpty(areaList)) { sortArea(areaList); } // 更新statistics中的areaList statistics.setAreaList(areaList); return statistics; } // public CaseStatisticsBaseDTO ledger(Map<String, Object> terms, String userId) throws IOException { // CaseStatisticsBaseDTO statistics = statistics(terms, userId); // // terms.put("statistics", "1"); // //根据用户筛选区域范围 // CtUnitDTO ctUnitDTO = custClient.getUnitByUserId(userId); // //目前没有村居数据,所以单位等级是4的也归集到3里面 // String areaType = null; // terms.remove("unitGrade"); // terms.remove("canal"); // if (ctUnitDTO.getUnitGrade().equals(1)) { // terms.put("queCity", ctUnitDTO.getCity()); // } else if (ctUnitDTO.getUnitGrade().equals(2)) { // terms.put("queArea", ctUnitDTO.getArea()); // } else if (ctUnitDTO.getUnitGrade().equals(3)) { // terms.put("queRoad", ctUnitDTO.getRoad()); // } else if (ctUnitDTO.getUnitGrade().equals(4)) { // terms.put("queVillage", ctUnitDTO.getRoad()); // } // if (ObjectUtils.isNotEmpty(terms.get("queVillage"))) { // terms.remove("queArea"); // terms.remove("queCity"); // terms.remove("queRoad"); // areaType = "4"; // } else if (ObjectUtils.isNotEmpty(terms.get("queRoad"))) { // terms.remove("queArea"); // terms.remove("queCity"); // areaType = "3"; // } else if (ObjectUtils.isNotEmpty(terms.get("queArea"))) { // terms.remove("queCity"); // areaType = "2"; // } else { // areaType = "1"; // } // //基础数据统计 // terms.remove("canalSecond"); // terms.remove("canal"); // terms.put("areaType", areaType); // terms.put("canalList", Arrays.asList("22_00001-1", "22_00001-2", "22_00001-3")); // CaseStatisticsBaseDTO caseStatisticsBaseDTO1 = mapper.statisticsBase(terms); // statistics.setSysNum(caseStatisticsBaseDTO1.getTotalNum()); // terms.remove("canalList"); // terms.put("canal", "22_00001-4"); // terms.put("canalSecond", "22_00003-3"); @@ -2654,18 +2540,21 @@ // statistics.setLdzcNum(caseStatisticsBaseDTO5.getTotalNum()); // terms.put("canalSecond", "22_00003-1"); // CaseStatisticsBaseDTO caseStatisticsBaseDTO6 = mapper.statisticsBase(terms); // statistics.setFjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); // // Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getFjwjfNum(); // statistics.setSysRate(BigDecimalUtil.integerDivideDelZero(statistics.getSysNum() * 100, allNum, 1)); // statistics.setOttffRate(BigDecimalUtil.integerDivideDelZero(statistics.getOttffNum() * 100, allNum, 1)); // statistics.setRmtjRate(BigDecimalUtil.integerDivideDelZero(statistics.getRmtjNum() * 100, allNum, 1)); // statistics.setXfRate(BigDecimalUtil.integerDivideDelZero(statistics.getXfNum() * 100, allNum, 1)); // statistics.setLdzcRate(BigDecimalUtil.integerDivideDelZero(statistics.getLdzcNum() * 100, allNum, 1)); // statistics.setFjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getFjwjfNum() * 100, allNum, 1)); // statistics.setAllNum(allNum); // return statistics; // } // statistics.setTzfjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); // 根据原始类型筛选条件计算总数和比率 // 注意:比率计算应该始终基于所有类型的总数,而不是选择的特定类型数量 Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getTzfjwjfNum(); statistics.setSysRate(BigDecimalUtil.integerDivideDelZero(statistics.getSysNum() * 100, allNum, 1)); statistics.setOttffRate(BigDecimalUtil.integerDivideDelZero(statistics.getOttffNum() * 100, allNum, 1)); statistics.setRmtjRate(BigDecimalUtil.integerDivideDelZero(statistics.getRmtjNum() * 100, allNum, 1)); statistics.setXfRate(BigDecimalUtil.integerDivideDelZero(statistics.getXfNum() * 100, allNum, 1)); statistics.setLdzcRate(BigDecimalUtil.integerDivideDelZero(statistics.getLdzcNum() * 100, allNum, 1)); statistics.setTzfjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getTzfjwjfNum() * 100, allNum, 1)); statistics.setAllNum(allNum); return statistics; } /** * 按系列案编号查询 @@ -2807,11 +2696,12 @@ // 获取调解案号 caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_3.getIndex()); caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_3.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()); 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); } } } // 待受理节点 @@ -645,6 +651,14 @@ lfdj.setNodeShowName("自行排查"); lfdj.setHandleUserName(caseInfo.getInputUserName()); lfdj.setHandleUnitName(caseInfo.getInputUnitName()); if(CaseBaseConstsEnum.CASE_CANAL_SECOND_2.getIndex().equals(caseInfo.getCanalSecond())){ lfdj.setHandleUserName("系统自动获取"); lfdj.setHandleUnitName(caseInfo.getCanalSecondName()); } if(CaseBaseConstsEnum.CASE_CANAL_SECOND_7.getIndex().equals(caseInfo.getCanalSecond())){ lfdj.setHandleUserName("系统自动获取"); lfdj.setHandleUnitName(caseInfo.getCanalSecondName()); } } if (CaseBaseConstsEnum.CASE_CANAL_4.getIndex().equals(caseInfo.getCanal())) { lfdj.setNodeShowName("协同推送"); @@ -2038,8 +2052,13 @@ CaseInfo caseInfo = caseInfoService.getCaseInfo(dslCaseTask.getCaseId()); CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dslCaseTask.getCaseId()); 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()); @@ -2469,8 +2488,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); @@ -2612,7 +2635,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"); @@ -2664,14 +2687,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/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; } /** dyh-service/dyh-mediate/src/main/resources/config/application.yml
@@ -3,8 +3,8 @@ profiles: active: # - dev # - test - prod - test # - prod devtools: restart: dyh-service/dyh-sys/src/main/java/cn/huge/module/timer/GridCityCaseTimer.java
@@ -73,6 +73,7 @@ Date nowDate = DateUtils.getNowDate(); List<String> canalSecondList = new ArrayList<>(); canalSecondList.add("12"); canalSecondList.add("13"); canalSecondList.add("07"); // 获取东八区的当前时间 ZonedDateTime now = ZonedDateTime.now(TARGET_ZONE); @@ -155,14 +156,7 @@ String certiNo = ""; String plaintiffs = ""; String phone = ""; if ("07".equals(canalSecond)) { if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } } else if ("12".equals(canalSecond)) { if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } @@ -246,7 +240,6 @@ } catch (Exception e) { log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); } } registerSaveDTO.setId(IdUtils.getNewTimeId()); BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent); registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); @@ -261,9 +254,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 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()); } @@ -320,7 +322,6 @@ registerSaveDTO.setPhone(phone); String dyhUnitId = gridCaseTaskService.getGridUnitIdByUnitId(gridCode); if (StringUtils.isNotBlank(dyhUnitId)) { registerSaveDTO.setWantUnitId(dyhUnitId); } else { log.info("网格组织查询不到对应组织:" + gridCode); } @@ -368,6 +369,7 @@ Date nowDate = DateUtils.getNowDate(); List<String> canalSecondList = new ArrayList<>(); canalSecondList.add("12"); canalSecondList.add("13"); canalSecondList.add("07"); log.info("startTime:" + startTime); log.info("endTime:" + endTime); @@ -438,14 +440,7 @@ String certiNo = ""; String plaintiffs = ""; String phone = ""; if ("07".equals(canalSecond)) { if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } } else if ("12".equals(canalSecond)) { if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); } @@ -529,7 +524,6 @@ } catch (Exception e) { log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); } } registerSaveDTO.setId(IdUtils.getNewTimeId()); registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent); @@ -544,9 +538,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 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()); } dyh-service/dyh-sys/src/main/resources/config/application.yml
@@ -3,8 +3,8 @@ profiles: active: # - dev # - test - prod - test # - prod devtools: restart: dyh-service/dyh-utils/src/main/java/cn/huge/module/mediate/utils/CaseNoUtils.java
@@ -19,17 +19,17 @@ /** * 常量前缀 */ public static String CASE_NO_SIGN_TH = "天河调"; public static String CASE_NO_SIGN_HZ = "海珠调"; public static String CASE_NO_SIGN_LW = "荔湾调"; public static String CASE_NO_SIGN_YX = "越秀调"; public static String CASE_NO_SIGN_PY = "番禺调"; public static String CASE_NO_SIGN_HD = "花都调"; public static String CASE_NO_SIGN_BY = "粤云调"; public static String CASE_NO_SIGN_NS = "南沙调"; public static String CASE_NO_SIGN_HP = "黄埔调"; public static String CASE_NO_SIGN_ZC = "增城调"; public static String CASE_NO_SIGN_CH = "从化调"; public static String CASE_NO_SIGN_TH = "穗天综调"; public static String CASE_NO_SIGN_HZ = "穗海综调"; public static String CASE_NO_SIGN_LW = "穗荔综调"; public static String CASE_NO_SIGN_YX = "穗越综调"; public static String CASE_NO_SIGN_PY = "穗番综调"; public static String CASE_NO_SIGN_HD = "穗花综调"; public static String CASE_NO_SIGN_BY = "穗云综调"; public static String CASE_NO_SIGN_NS = "穗南综调"; public static String CASE_NO_SIGN_HP = "穗埔综调"; public static String CASE_NO_SIGN_ZC = "穗增综调"; public static String CASE_NO_SIGN_CH = "穗从综调"; public static String CASE_NO_SIGN_GZ = "粤调"; /** @@ -136,7 +136,7 @@ StringBuffer caseNoSign = new StringBuffer(); // 设置年号 int year = DateUtils.getYear(DateUtils.getNowDate()); caseNoSign.append("(").append(year).append(")"); caseNoSign.append(year); if (GzRegionBaseEnum.AREA_1.getIndex().equals(area)){ caseNoSign.append(CASE_NO_SIGN_TH); }else if (GzRegionBaseEnum.AREA_2.getIndex().equals(area)){ sql/20250620.sql
New file @@ -0,0 +1,17 @@ #添加索引 CREATE INDEX idx_canal ON "HUGETEST".dyh_case_info(canal); CREATE INDEX idx_case_ref ON "HUGETEST".dyh_case_info(case_ref); CREATE INDEX idx_case_type ON "HUGETEST".dyh_case_info(case_type); CREATE INDEX idx_area_road_village ON "HUGETEST".dyh_case_info(que_area, que_road, que_village); CREATE INDEX idx_source ON "HUGETEST".dyh_case_info(source); CREATE INDEX idx_input_unit_id ON "HUGETEST".dyh_case_info(input_unit_id); CREATE INDEX idx_status ON "HUGETEST".dyh_case_info(status); CREATE INDEX idx_process ON "HUGETEST".dyh_case_info(process); CREATE INDEX idx_belong_unit_id ON "HUGETEST".dyh_case_info_unfold(belong_unit_id); CREATE INDEX idx_mediate_unit_id ON "HUGETEST".dyh_case_info_unfold(mediate_unit_id); CREATE INDEX idx_medi_result ON "HUGETEST".dyh_case_info_unfold(medi_result); CREATE INDEX idx_unit_grade ON "HUGETEST".dyh_ct_unit(unit_grade); CREATE INDEX idx_unit_type ON "HUGETEST".dyh_ct_unit(unit_type); CREATE INDEX idx_area_road_village ON "HUGETEST".dyh_ct_unit(area, road, village);