Merge branch 'feature/gzdyh_ctiy_bugfix' into gzdyh_H5_prod
# Conflicts:
# dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseStatisticsBaseDTO.java
4 files added
27 files modified
| | |
| | | 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:排查 |
| | | */ |
| | |
| | | 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); |
| | | } |
| | |
| | | private String label;//对象名称 |
| | | private String parentId;//父类ID |
| | | private Boolean checkable; |
| | | private Double sort;//排序 |
| | | private List<CtUnitTreeDTO> children;//子类集合 |
| | | } |
| | |
| | | * 用户单位 |
| | | */ |
| | | private String unit; |
| | | /** |
| | | * 用户单位类型 |
| | | */ |
| | | private int unitType; |
| | | |
| | | /** |
| | | * 用户部门 |
| | |
| | | CtUnit ctUnit = ctUnitService.getById(ctUser.getUnitId()); |
| | | if (ObjectUtils.isNotEmpty(ctUnit)) { |
| | | if (ctUnit.getUnitGrade() == UserBaseConsts.UNIT_GRADE_3 && ctUnit.getUnitType() == UserBaseConsts.UNIT_TYPE_102) { |
| | | userLoginDTO.setUnit(ctUnit.getUnitDes()); |
| | | userLoginDTO.setUnit(ctUnit.getUnitName()); |
| | | userLoginDTO.setUnitType(ctUnit.getUnitType()); |
| | | // CtUnit parentCtUnit = ctUnitService.getById(ctUnit.getParentId()); |
| | | // if (ObjectUtils.isNotEmpty(parentCtUnit)) {1 |
| | | // userLoginDTO.setUnit(parentCtUnit.getUnitName()); |
| | |
| | | // } |
| | | } else { |
| | | userLoginDTO.setUnit(ctUnit.getUnitName()); |
| | | userLoginDTO.setUnitType(ctUnit.getUnitType()); |
| | | } |
| | | } else { |
| | | userLoginDTO.setUnit(ctUser.getUnitName()); |
| | |
| | | log.info("xsdctUnit:{}", ctUnit); |
| | | ctUnitService.saveCtUnit(ctUnit); |
| | | userLoginDTO.setUnit(ctUnit.getUnitName()); |
| | | userLoginDTO.setUnitType(ctUnit.getUnitType()); |
| | | ctUser.setUnitName(ctUnit.getUnitName()); |
| | | ctUser.setUnitId(ctUnit.getId()); |
| | | ctUserService.updateCtUser(ctUser); |
| | |
| | | } else if (parts.length >= 4) { |
| | | return parts[0] + parts[1] + parts[2] + "-" + parts[3]; |
| | | } else if (parts.length >= 5) { |
| | | return parts[0] + parts[1] + parts[2] + "-" + parts[3]+"-" + parts[4]; |
| | | return parts[0] + parts[1] + parts[2] + "-" + parts[3] + "-" + parts[4]; |
| | | } else { |
| | | return input; // 或抛出异常 |
| | | } |
| | |
| | | userLoginDTO.setUserId(ctUser.getId()); |
| | | userLoginDTO.setTrueName(ctUser.getTrueName()); |
| | | userLoginDTO.setUnit(ctUser.getUnitName()); |
| | | CtUnit byId = ctUnitService.getById(ctUser.getUnitId()); |
| | | if (byId != null) { |
| | | userLoginDTO.setUnitType(byId.getUnitType()); |
| | | } |
| | | userLoginDTO.setDept(ctUser.getDeptName()); |
| | | userLoginDTO.setPhone(ctUser.getMobile()); |
| | | userLoginDTO.setCustId(ctUser.getCustId()); |
| | |
| | | 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(); |
| | |
| | | switch (grade) { |
| | | case 1: |
| | | //市级级 |
| | | ctUnit.setLevel(grade ); |
| | | ctUnit.setLevel(grade); |
| | | ctUnit.setUnitGrade(grade); |
| | | ctUnit.setUnitType(UserBaseConsts.UNIT_TYPE_102); |
| | | ctUnit.setParentId("2024000000000001"); |
| | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | profiles: |
| | | active: |
| | | # - dev |
| | | # - test |
| | | - prod |
| | | - test |
| | | # - prod |
| | | |
| | | devtools: |
| | | restart: |
| | |
| | | if (StringUtils.isNotBlank(assistUnitId)){ |
| | | terms.put("assistUnitId", assistUnitId); |
| | | } |
| | | //任务是否完成 |
| | | String taskStatus = request.getParameter("taskStatus"); |
| | | if (StringUtils.isNotBlank(taskStatus)){ |
| | | terms.put("taskStatus", taskStatus); |
| | | } |
| | | return terms; |
| | | } |
| | | /** |
| | |
| | | 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> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- t1.unit_name as groupName,--> |
| | | <!-- </if>--> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- t1.unit_name as groupName,--> |
| | | <!-- </if>--> |
| | | </if> |
| | | </sql> |
| | | |
| | |
| | | <if test="terms.queRoad != null and terms.queRoad !=''"> |
| | | (case when t1.village = '' or t1.village is null then '本级' else t1.village end) |
| | | </if> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- t1.id--> |
| | | <!-- </if>--> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- t1.id--> |
| | | <!-- </if>--> |
| | | </if> |
| | | </sql> |
| | | |
| | |
| | | <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 |
| | | 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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | and t2.delete_status = 0 |
| | |
| | | <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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | and t2.delete_status = 0 |
| | |
| | | <!-- 首页-统计超时任务 --> |
| | | <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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | and t2.delete_status = 0 |
| | |
| | | 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 !=''"> |
| | |
| | | </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 !=''"> |
| | |
| | | </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 !=''"> |
| | |
| | | </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 !=''"> |
| | |
| | | <select id="statisticsApplyGroup" resultType="cn.huge.module.analysis.domain.dto.AvgDurationGroupDTO"> |
| | | select |
| | | <include refid="selectPart"/> |
| | | avg(usetime_hour) as sp, |
| | | count(distinct ownerId) as sps |
| | | avg(usetime_hour) as sp, |
| | | 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 !=''"> |
| | |
| | | </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 !=''"> |
| | |
| | | <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 !=''"> |
| | |
| | | </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 !=''"> |
| | |
| | | <include refid="statisticsApplyAVG-wherePart"/> |
| | | </if> |
| | | ) t1 |
| | | group by <include refid="groupPart"/> |
| | | group by |
| | | <include refid="groupPart"/> |
| | | </select> |
| | | |
| | | <!-- 条件 --> |
| | |
| | | <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 |
| | |
| | | |
| | | <!-- 分组统计督办平均时长 --> |
| | | <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> |
| | |
| | | <!-- 首页-查询超时数量 --> |
| | | <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 |
| | |
| | | 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 ( |
| | |
| | | GROUP BY case_type_first_name |
| | | </if> |
| | | <if test="groupByArea != null and groupByArea != ''"> |
| | | <!-- AND road_name is not NULL--> |
| | | <!-- AND road_name is not NULL--> |
| | | GROUP BY area_name |
| | | </if> |
| | | <if test="groupByRoad != null and groupByRoad != ''"> |
| | | <!-- AND road_name is not NULL--> |
| | | <!-- AND road_name is not NULL--> |
| | | GROUP BY road_name |
| | | </if> |
| | | <if test="groupByTime != null and groupByTime != ''"> |
| | | GROUP BY groupByType |
| | | GROUP BY groupByType |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | select |
| | | COUNT(1) |
| | | 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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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, |
| | | (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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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} |
| | |
| | | select |
| | | COUNT(1) |
| | | 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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | and t2.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) ) |
| | | <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, |
| | | (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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 |
| | | 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 |
| | | t1.delete_status = 0 |
| | | and t2.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)) |
| | | <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} |
| | |
| | | select |
| | | COUNT(1) |
| | | 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 left join dyh_case_info_unfold t4 on t3.id = t4.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 |
| | | <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="listDBQuantity" resultType="cn.huge.module.analysis.domain.dto.TimeoutTaskInfoDTO"> |
| | | select t2.case_id as caseId, t2.sup_time as turnaroundTime, |
| | | (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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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, |
| | | 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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 left join dyh_case_info_unfold t4 on t3.id = t4.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 |
| | | <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 "> |
| | | isnull(${s.property}), ${s.property} ${s.direction} |
| | |
| | | <select id="countAllQuantity" resultType="java.lang.Long"> |
| | | select sum(zs) |
| | | from( |
| | | select |
| | | COUNT(1) as zs |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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') |
| | | 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)) |
| | | union |
| | | select |
| | | COUNT(1) as zs |
| | | 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 left join dyh_case_info_unfold t4 on t3.id = t4.id |
| | | where |
| | | select |
| | | COUNT(1) as zs |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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') |
| | | 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 |
| | | 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 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, |
| | | (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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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') |
| | | or (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL')) |
| | | 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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 |
| | | t1.delete_status = 0 |
| | | 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') |
| | | 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)) |
| | | union all |
| | | select t2.case_id as caseId, null as caseTaskId, t2.sup_time as turnaroundTime, |
| | | (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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 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> |
| | | 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, |
| | | 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, |
| | | (select count(1) from dyh_case_supervise where case_id = t2.case_id) as superviseCount |
| | | 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 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 "> |
| | |
| | | order by isnull(t2.sup_time), t2.sup_time desc |
| | | </if> |
| | | limit #{page.offset}, #{page.size} |
| | | |
| | | </select> |
| | | |
| | | <sql id="statisticsCirculation-wherePart"> |
| | |
| | | count(distinct case when t3.zxsl_status = 1 then t4.id end) as zxsl, |
| | | count(distinct case when t3.zxsl_status = 0 and (t4.node_id = 'JAGD' or t4.node_id = 'BLFK' |
| | | or t4.node_id = 'JASH' or t4.node_id = 'JASH_EJ' or t4.node_id = 'JASH_YJ') then t4.id end) as lzsl, |
| | | -- count(distinct case when t3.zxsl_status = 0 and (((t4.node_id = 'ZJ_DFP' or t4.node_id = 'QJ_DFP' |
| | | -- 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) |
| | | -- or t4.node_id = 'SJ_SBSH' |
| | | -- or t4.node_id = 'SJ_HTSH' or t4.node_id = 'QJ_HTSH' or t4.node_id = 'QJ_SBSH' or t4.node_id = 'ZJ_HTSH' |
| | | -- or t4.node_id = 'JASQ' or t4.node_id = 'HTSH' |
| | | -- ) then t4.id end) as lzz, |
| | | -- count(distinct case when t3.zxsl_status = 0 and (((t4.node_id = 'ZJ_DFP' or t4.node_id = 'QJ_DFP' |
| | | -- 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) |
| | | -- or t4.node_id = 'SJ_SBSH' |
| | | -- or t4.node_id = 'SJ_HTSH' or t4.node_id = 'QJ_HTSH' or t4.node_id = 'QJ_SBSH' or t4.node_id = 'ZJ_HTSH' |
| | | -- or t4.node_id = 'JASQ' or t4.node_id = 'HTSH' |
| | | -- ) then t4.id end) as lzz, |
| | | count(distinct case when (t3.zxsl_status = 0 and (t4.node_id = 'ZJ_DFP' or t4.node_id = 'QJ_DFP' |
| | | 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, |
| | |
| | | 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> |
| | | |
| | | <!-- 分组查询字段 --> |
| | |
| | | village as code, |
| | | 'queVillage' as region |
| | | </if> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- unit_name as name,--> |
| | | <!-- id as code--> |
| | | <!-- </if>--> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- unit_name as name,--> |
| | | <!-- id as code--> |
| | | <!-- </if>--> |
| | | </if> |
| | | from dyh_ct_unit |
| | | where |
| | |
| | | <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 |
| | |
| | | <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> |
| | | |
| | |
| | | t3.village as code, |
| | | 'queVillage' as region, |
| | | </if> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- (case when t3.unit_name = '' or t3.unit_name is null then '本级' else t3.unit_name end)as name,--> |
| | | <!-- t3.id as code,--> |
| | | <!-- 'unitId' as region,--> |
| | | <!-- </if>--> |
| | | <!-- <if test="terms.unitIds != null and terms.unitIds !=''">--> |
| | | <!-- (case when t3.unit_name = '' or t3.unit_name is null then '本级' else t3.unit_name end)as name,--> |
| | | <!-- t3.id as code,--> |
| | | <!-- 'unitId' as region,--> |
| | | <!-- </if>--> |
| | | </if> |
| | | count(distinct t1.id) as total |
| | | FROM dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id |
| | |
| | | and t2.mediate_unit_id = #{terms.mediateUnitId} |
| | | </if> |
| | | <if test="terms.assistUnitId != null and terms.assistUnitId !=''"> |
| | | and t2.assist_unit_id = #{terms.assistUnitId} |
| | | and t2.assist_unit_id = #{terms.assistUnitId} |
| | | </if> |
| | | </if> |
| | | group by |
| | |
| | | FROM dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id |
| | | left join dyh_ct_unit t3 on t2.belong_unit_id = t3.id |
| | | where t1.delete_status = 0 |
| | | and t3.delete_status = 0 |
| | | and t2.is_risk = 1 |
| | | and t3.delete_status = 0 |
| | | and t2.is_risk = 1 |
| | | <if test="terms != null"> |
| | | <if test="terms.queProv != null and terms.queProv !=''"> |
| | | and t3.prov = #{terms.queProv} |
| | |
| | | and t2.mediate_unit_id = #{terms.mediateUnitId} |
| | | </if> |
| | | <if test="terms.assistUnitId != null and terms.assistUnitId !=''"> |
| | | and t2.assist_unit_id = #{terms.assistUnitId} |
| | | and t2.assist_unit_id = #{terms.assistUnitId} |
| | | </if> |
| | | </if> |
| | | group by t1.case_type_first_name order by count(t1.case_type_first_name) desc limit 3 |
| | |
| | | <select id="getZZZXUnitId" resultType="string"> |
| | | select id from dyh_ct_unit |
| | | where delete_status = 0 |
| | | and (unit_type = 101 or unit_type = 103) |
| | | and (unit_type = 101 or unit_type = 103) |
| | | <if test="terms.queProv != null and terms.queProv !=''"> |
| | | and prov = #{terms.queProv} |
| | | </if> |
| | |
| | | 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> |
| | | |
| | |
| | | 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> |
| | | |
| | |
| | | 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> |
| | | |
| | |
| | | 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"/> |
| | |
| | | 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> |
| | | |
| | |
| | | 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, |
| | |
| | | <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 |
| | |
| | | |
| | | <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, |
| | |
| | | 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, |
| | |
| | | <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 |
| | |
| | | * 督办次数 |
| | | */ |
| | | private String superviseCount; |
| | | |
| | | |
| | | /** |
| | | * 超时节点 |
| | | */ |
| | | private String nodeName; |
| | | |
| | | /** |
| | | * 节点处理状态 |
| | | */ |
| | | private Integer taskStatus; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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); |
| | | |
| | | // 保存所有当事人 |
| | |
| | | terms.put("mediator", mediator); |
| | | } |
| | | |
| | | //经办人ID |
| | | String systemSource = request.getParameter("systemSource"); |
| | | if (StringUtils.isNotBlank(systemSource)) { |
| | | terms.put("systemSource", systemSource); |
| | | } |
| | | |
| | | //市民编码 |
| | | String cityCode = request.getParameter("cityCode"); |
| | | if (StringUtils.isNotBlank(cityCode)) { |
| | | terms.put("cityCode", cityCode); |
| | | } |
| | | |
| | | String peopleNum = request.getParameter("peopleNum"); |
| | | if (StringUtils.isNotBlank(peopleNum)) { |
| | | String[] split = peopleNum.split("-"); |
| | |
| | | String areaType = request.getParameter("areaType"); |
| | | terms.put("areaType", areaType); |
| | | String unitGrades = request.getParameter("unitGrades"); |
| | | if(ObjectUtils.isNotEmpty(unitGrades)){ |
| | | if (ObjectUtils.isNotEmpty(unitGrades)) { |
| | | String[] split = unitGrades.split(","); |
| | | List<String> unitGradeList = new ArrayList<>(); |
| | | for (String s : split) { |
| | |
| | | } |
| | | //统计条件 resolveType 1-化解中,2-已结案,3-不予受理 |
| | | String resolveType = request.getParameter("resolveType"); |
| | | if(ObjectUtils.isNotEmpty(unitGrades)){ |
| | | if (ObjectUtils.isNotEmpty(unitGrades)) { |
| | | terms.put("resolveType", resolveType); |
| | | } |
| | | |
| | |
| | | Map<String, Object> terms = getParameterAll(); |
| | | String createStart = request.getParameter("createStart"); |
| | | String createEnd = request.getParameter("createEnd"); |
| | | if(ObjectUtils.isEmpty(createStart) || ObjectUtils.isEmpty(createEnd)){ |
| | | if (ObjectUtils.isEmpty(createStart) || ObjectUtils.isEmpty(createEnd)) { |
| | | return ReturnFailUtils.getRepInfo("请选择登记时间区间"); |
| | | } |
| | | //计算两个时间的天数 |
| | |
| | | LocalDate date1 = LocalDate.parse(createStart, formatter); |
| | | LocalDate date2 = LocalDate.parse(createEnd, formatter); |
| | | long daysBetween = ChronoUnit.DAYS.between(date1, date2); |
| | | if(daysBetween > 366){ |
| | | if (daysBetween > 366) { |
| | | return ReturnFailUtils.getRepInfo("选择登记时间区间不能大于1年"); |
| | | } |
| | | |
| | |
| | | CaseInfoWeExcelDTO caseInfoWeExcelDTO = new CaseInfoWeExcelDTO(); |
| | | BeanUtils.copyProperties(casePageDTO, caseInfoWeExcelDTO); |
| | | caseInfoWeExcelDTO.setSysSource("本系统"); |
| | | Map<String,String> personMap = new HashMap<>(); |
| | | Map<String, String> personMap = new HashMap<>(); |
| | | //申请人 |
| | | if(ObjectUtils.isNotEmpty(casePageDTO.getPlaintiffList())){ |
| | | if (ObjectUtils.isNotEmpty(casePageDTO.getPlaintiffList())) { |
| | | StringBuffer sb = new StringBuffer(); |
| | | for (CasePersonWeDTO casePersonWeDTO : casePageDTO.getPlaintiffList()) { |
| | | if(ObjectUtils.isNotEmpty(casePersonWeDTO.getExtreme()) && casePersonWeDTO.getExtreme().equals(1)){ |
| | | if (ObjectUtils.isNotEmpty(casePersonWeDTO.getExtreme()) && casePersonWeDTO.getExtreme().equals(1)) { |
| | | extreme = "是"; |
| | | } |
| | | personMap.put(casePersonWeDTO.getId(), casePersonWeDTO.getTrueName()); |
| | | if(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casePersonWeDTO.getPerClass())){ |
| | | if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casePersonWeDTO.getPerClass())) { |
| | | sb.append(casePersonWeDTO.getTrueName()); |
| | | if(ObjectUtils.isNotEmpty(casePersonWeDTO.getCertiNo())){ |
| | | if (ObjectUtils.isNotEmpty(casePersonWeDTO.getCertiNo())) { |
| | | sb.append("(").append(casePersonWeDTO.getCertiNo()).append(")"); |
| | | } |
| | | sb.append("、"); |
| | | }else{ |
| | | } else { |
| | | sb.append(casePersonWeDTO.getTrueName()); |
| | | if(ObjectUtils.isNotEmpty(casePersonWeDTO.getOrgaCode())){ |
| | | if (ObjectUtils.isNotEmpty(casePersonWeDTO.getOrgaCode())) { |
| | | sb.append("(").append(casePersonWeDTO.getOrgaCode()).append(")"); |
| | | } |
| | | sb.append("、"); |
| | | } |
| | | } |
| | | //申请代理人 |
| | | if(ObjectUtils.isNotEmpty(casePageDTO.getAgentList())){ |
| | | if (ObjectUtils.isNotEmpty(casePageDTO.getAgentList())) { |
| | | for (CaseAgentWeDTO caseAgentWeDTO : casePageDTO.getAgentList()) { |
| | | if (CaseBaseConstsEnum.PERSON_TYPE_3.getIndex().equals(caseAgentWeDTO.getPerType())) { |
| | | sb.append(caseAgentWeDTO.getTrueName()); |
| | | sb.append("("); |
| | | if(ObjectUtils.isNotEmpty(caseAgentWeDTO.getCertiNo())){ |
| | | if (ObjectUtils.isNotEmpty(caseAgentWeDTO.getCertiNo())) { |
| | | sb.append(caseAgentWeDTO.getCertiNo()).append(","); |
| | | } |
| | | sb.append("代理对象:"); |
| | | if(ObjectUtils.isNotEmpty(personMap.get(caseAgentWeDTO.getPersonId()))){ |
| | | if (ObjectUtils.isNotEmpty(personMap.get(caseAgentWeDTO.getPersonId()))) { |
| | | String[] split = caseAgentWeDTO.getPersonId().split(","); |
| | | Boolean isfrist = true; |
| | | for (String personId : split) { |
| | | if(isfrist){ |
| | | if (isfrist) { |
| | | sb.append(personMap.get(personId)); |
| | | isfrist = false; |
| | | }else{ |
| | | } else { |
| | | sb.append(",").append(personMap.get(personId)); |
| | | } |
| | | } |
| | |
| | | caseInfoWeExcelDTO.setPlaintiffs(sb.substring(0, sb.length() - 1)); |
| | | } |
| | | //被申请人 |
| | | if(ObjectUtils.isNotEmpty(casePageDTO.getDefendantList())){ |
| | | if (ObjectUtils.isNotEmpty(casePageDTO.getDefendantList())) { |
| | | StringBuffer sb = new StringBuffer(); |
| | | for (CasePersonWeDTO casePersonWeDTO : casePageDTO.getDefendantList()) { |
| | | personMap.put(casePersonWeDTO.getId(), casePersonWeDTO.getTrueName()); |
| | | if(CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casePersonWeDTO.getPerClass())){ |
| | | if (CaseBaseConstsEnum.PERSON_CLASS_1.getIndex().equals(casePersonWeDTO.getPerClass())) { |
| | | sb.append(casePersonWeDTO.getTrueName()); |
| | | if(ObjectUtils.isNotEmpty(casePersonWeDTO.getCertiNo())){ |
| | | if (ObjectUtils.isNotEmpty(casePersonWeDTO.getCertiNo())) { |
| | | sb.append("(").append(casePersonWeDTO.getCertiNo()).append(")"); |
| | | } |
| | | sb.append("、"); |
| | | }else{ |
| | | } else { |
| | | sb.append(casePersonWeDTO.getTrueName()); |
| | | if(ObjectUtils.isNotEmpty(casePersonWeDTO.getOrgaCode())){ |
| | | if (ObjectUtils.isNotEmpty(casePersonWeDTO.getOrgaCode())) { |
| | | sb.append("(").append(casePersonWeDTO.getOrgaCode()).append(")"); |
| | | } |
| | | sb.append("、"); |
| | | } |
| | | } |
| | | //被申请代理人 |
| | | if(ObjectUtils.isNotEmpty(casePageDTO.getAgentList())){ |
| | | if (ObjectUtils.isNotEmpty(casePageDTO.getAgentList())) { |
| | | for (CaseAgentWeDTO caseAgentWeDTO : casePageDTO.getAgentList()) { |
| | | if (CaseBaseConstsEnum.PERSON_TYPE_4.getIndex().equals(caseAgentWeDTO.getPerType())) { |
| | | sb.append(caseAgentWeDTO.getTrueName()); |
| | | sb.append("("); |
| | | if(ObjectUtils.isNotEmpty(caseAgentWeDTO.getCertiNo())){ |
| | | if (ObjectUtils.isNotEmpty(caseAgentWeDTO.getCertiNo())) { |
| | | sb.append(caseAgentWeDTO.getCertiNo()).append(","); |
| | | } |
| | | sb.append("代理对象:"); |
| | | if(ObjectUtils.isNotEmpty(personMap.get(caseAgentWeDTO.getPersonId()))){ |
| | | if (ObjectUtils.isNotEmpty(personMap.get(caseAgentWeDTO.getPersonId()))) { |
| | | String[] split = caseAgentWeDTO.getPersonId().split(","); |
| | | Boolean isfrist = true; |
| | | for (String personId : split) { |
| | | if(isfrist){ |
| | | if (isfrist) { |
| | | sb.append(personMap.get(personId)); |
| | | isfrist = false; |
| | | }else{ |
| | | } else { |
| | | sb.append(",").append(personMap.get(personId)); |
| | | } |
| | | } |
| | |
| | | caseInfoWeExcelDTO.setCreateTime(DateUtils.DateToString(casePageDTO.getCreateTime(), "yyyy/MM/dd")); |
| | | caseInfoWeExcelDTO.setVisitTime(DateUtils.DateToString(casePageDTO.getVisitTime(), "yyyy/MM/dd")); |
| | | caseInfoWeExcelDTO.setOccurTime(DateUtils.DateToString(casePageDTO.getOccurTime(), "yyyy/MM/dd")); |
| | | caseInfoWeExcelDTO.setPeopleNum(casePageDTO.getPeopleNum()+""); |
| | | caseInfoWeExcelDTO.setAmount(casePageDTO.getAmount()+""); |
| | | caseInfoWeExcelDTO.setPeopleNum(casePageDTO.getPeopleNum() + ""); |
| | | caseInfoWeExcelDTO.setAmount(casePageDTO.getAmount() + ""); |
| | | caseInfoWeExcelDTO.setExtreme(extreme); |
| | | if(ObjectUtils.isNotEmpty(casePageDTO.getMajorStatus())){ |
| | | if (ObjectUtils.isNotEmpty(casePageDTO.getMajorStatus())) { |
| | | switch (casePageDTO.getMajorStatus()) { |
| | | case 1: |
| | | caseInfoWeExcelDTO.setMajorStatus("是"); |
| | |
| | | break; |
| | | } |
| | | } |
| | | caseInfoWeExcelDTO.setSort(i+""); |
| | | caseInfoWeExcelDTO.setSort(i + ""); |
| | | i++; |
| | | excelList.add(caseInfoWeExcelDTO); |
| | | } |
| | |
| | | Map<String, Object> terms = getParameterAll(); |
| | | CaseStatisticsBaseDTO statistics = service.statistics(terms, null); |
| | | List<CaseInfoWeAreaExcelDTO> excelList = new ArrayList<>(); |
| | | if(ObjectUtils.isNotEmpty(statistics.getAreaList())){ |
| | | if (ObjectUtils.isNotEmpty(statistics.getAreaList())) { |
| | | int i = 1; |
| | | for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : statistics.getAreaList()) { |
| | | CaseInfoWeAreaExcelDTO caseInfoWeAreaExcelDTO = new CaseInfoWeAreaExcelDTO(); |
| | | BeanUtils.copyProperties(caseStatisticsAreaDTO, caseInfoWeAreaExcelDTO); |
| | | caseInfoWeAreaExcelDTO.setSort(i+""); |
| | | caseInfoWeAreaExcelDTO.setFinishNUm(caseStatisticsAreaDTO.getResolveNum()+caseStatisticsAreaDTO.getUnResolveNum()); |
| | | caseInfoWeAreaExcelDTO.setSort(i + ""); |
| | | caseInfoWeAreaExcelDTO.setFinishNUm(caseStatisticsAreaDTO.getResolveNum() + caseStatisticsAreaDTO.getUnResolveNum()); |
| | | excelList.add(caseInfoWeAreaExcelDTO); |
| | | i++; |
| | | } |
| | |
| | | // 查询类型 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(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询重复事项 |
| | | * @url {ctx}/api/web/caseInfo/listRepeatCase |
| | | * |
| | | * @param caseId 案件编号 |
| | | * @param userId 登录用户 |
| | | * @return Object |
| | | * @url {ctx}/api/web/caseInfo/listRepeatCase |
| | | */ |
| | | @GetMapping("/listRepeatCase") |
| | | public Object listRepeatCase( @RequestParam(value = "caseId") String caseId, @CurrentUser String userId) { |
| | | public Object listRepeatCase(@RequestParam(value = "caseId") String caseId, @CurrentUser String userId) { |
| | | try { |
| | | return ReturnSucUtils.getRepInfo(caseRepeatService.listRepeatCase(caseId)); |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 协同推送-网格推送案件入库 |
| | | * |
| | | * @param registerSaveDTO 实体对象 |
| | | * @url {ctx}/api/web/caseInfo/gridCaseRegister |
| | | */ |
| | |
| | | return ReturnFailUtils.getRepInfo(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | @GetMapping("/getCaseNo") |
| | | public R<String> getCaseNo(@CurrentUser String userId) { |
| | | return service.createCaseNo(userId); |
| | | } |
| | | } |
| | |
| | | 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 { |
| | |
| | | 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 { |
| | |
| | | } |
| | | 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()); |
| | |
| | | } |
| | | 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"); |
| | | if(ObjectUtils.isNotEmpty(mediatorType)){ |
| | | if (ObjectUtils.isNotEmpty(mediatorType)) { |
| | | terms.put("mediatorType", mediatorType); |
| | | terms.put("mediatorId", loginUser.getId()); |
| | | } |
| | |
| | | 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 { |
| | |
| | | } |
| | | 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)); |
| | |
| | | } |
| | | 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) { |
| | |
| | | } |
| | | 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); |
| | |
| | | } |
| | | |
| | | 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; |
| | |
| | | |
| | | /** |
| | | * 测试接口 |
| | | * @url {ctx}/api/web/caseTask/test |
| | | * |
| | | * @return Object |
| | | * @url {ctx}/api/web/caseTask/test |
| | | */ |
| | | @GetMapping("/test") |
| | | public Object test(@RequestParam(value = "caseId") String caseId, |
| | | @RequestParam(value = "oldTaskId") String oldTaskId, @RequestParam(value = "newTaskId") String newTaskId, |
| | | @RequestParam(value = "oldProcess") String oldProcess,@RequestParam(value = "newProcess") String newProcess, |
| | | @RequestParam(value = "oldTaskId") String oldTaskId, @RequestParam(value = "newTaskId") String newTaskId, |
| | | @RequestParam(value = "oldProcess") String oldProcess, @RequestParam(value = "newProcess") String newProcess, |
| | | @RequestParam(value = "ownerIds") String ownerIds, @RequestParam(value = "userId") String userId, |
| | | @RequestParam(value = "handleStatus") String handleStatus) { |
| | | try { |
| | | CaseTask oldTask = null; |
| | | if(StringUtils.isNotBlank(oldTaskId)){ |
| | | if (StringUtils.isNotBlank(oldTaskId)) { |
| | | oldTask = service.getById(oldTaskId); |
| | | } |
| | | CaseTask newTask = null; |
| | | if(StringUtils.isNotBlank(newTaskId)){ |
| | | if (StringUtils.isNotBlank(newTaskId)) { |
| | | newTask = service.getById(newTaskId); |
| | | } |
| | | List<String> ownerIdList = Arrays.asList(ownerIds.split(",")); |
| | |
| | | <!-- 表 --> |
| | | <sql id='table-name'>dyh_case_info</sql> |
| | | <sql id="column-part-all"> |
| | | a.id, |
| | | a |
| | | . |
| | | id |
| | | , |
| | | a.status, |
| | | a.status_name, |
| | | a.canal, |
| | |
| | | </sql> |
| | | <!-- 字段 --> |
| | | <sql id="column-part"> |
| | | id, |
| | | id |
| | | , |
| | | case_title, |
| | | case_ref, |
| | | case_level, |
| | |
| | | </if> |
| | | <if test="terms.caseTypeFirstList != null and terms.caseTypeFirstList.size > 0"> |
| | | and a.case_type_first in |
| | | <foreach collection="terms.caseTypeFirstList" item="caseTypeFirst" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.caseTypeFirstList" item="caseTypeFirst" index="index" open="(" |
| | | separator="," close=")"> |
| | | #{caseTypeFirst} |
| | | </foreach> |
| | | </if> |
| | |
| | | <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"> |
| | | and c.unit_grade in |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if> |
| | |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if>) |
| | | </if> |
| | | ) |
| | | or (b.belong_unit_id is null and a.que_city = #{terms.queCity}) |
| | | ) |
| | | </if> |
| | |
| | | and (b.belong_unit_id is not null and c.area = #{terms.queArea} |
| | | <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> |
| | | and c.unit_grade in |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if> |
| | |
| | | and ((b.belong_unit_id is not null and c.area = #{terms.queArea} |
| | | <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> |
| | | and c.unit_grade in |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if> |
| | |
| | | and (b.belong_unit_id is not null and c.road = #{terms.queRoad} |
| | | <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> |
| | | and c.unit_grade in |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if> |
| | |
| | | and ((b.belong_unit_id is not null and c.road = #{terms.queRoad} |
| | | <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> |
| | | and c.unit_grade in |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if> |
| | |
| | | and (b.belong_unit_id is not null and c.village = #{terms.queVillage} |
| | | <if test="terms.unitGrades != null and terms.unitGrades.size > 0"> |
| | | and c.unit_grade in |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," close=")"> |
| | | <foreach collection="terms.unitGrades" item="unitGrade" index="index" open="(" separator="," |
| | | close=")"> |
| | | #{unitGrade} |
| | | </foreach> |
| | | </if> |
| | |
| | | </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> |
| | | <if test="terms.cityCode != null and terms.cityCode !=''"> |
| | | and e.citizen_event_code = #{terms.cityCode} |
| | | </if> |
| | | </where> |
| | | </if> |
| | |
| | | |
| | | <select id="pageTermsCaseRegister" resultType="cn.huge.module.cases.domain.dto.CaseRegisterDTO"> |
| | | SELECT |
| | | t1.id as caseId,t1.create_time as createTime,t1.input_user_name as inputUserName,t1.status_name as statusName,t1.case_level as |
| | | t1.id as caseId,t1.create_time as createTime,t1.input_user_name as inputUserName,t1.status_name as |
| | | statusName,t1.case_level as |
| | | caseLevel,t1.canal_name as canalName, |
| | | t1.case_type_first_name as caseTypeFirstName,t1.case_type_name as caseTypeName,t1.plaintiffs as |
| | | plaintiffs,t1.defendants as defendants,t2.medi_result_name as mediResultName, |
| | |
| | | </select> |
| | | |
| | | |
| | | <select id="countTermsCaseRegister" resultType="java.lang.Long" > |
| | | <select id="countTermsCaseRegister" resultType="java.lang.Long"> |
| | | SELECT |
| | | count(t1.id) |
| | | FROM |
| | |
| | | from |
| | | dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id |
| | | LEFT JOIN dyh_ct_unit c ON b.belong_unit_id = c.id |
| | | <if test="terms.cityCode != null and terms.cityCode !=''"> |
| | | left join dyh_th_grid_citizen_event e on e.case_id = a.id |
| | | </if> |
| | | <include refid="where-part-all"/> |
| | | </select> |
| | | |
| | |
| | | dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id |
| | | LEFT JOIN dyh_ct_unit c ON b.belong_unit_id = c.id |
| | | left join (select id ,case_id from dyh_case_task group by case_id) d on a.id = d.case_id |
| | | <if test="terms.cityCode != null and terms.cityCode !=''"> |
| | | left join dyh_th_grid_citizen_event e on e.case_id = a.id |
| | | </if> |
| | | <include refid="where-part-all"/> |
| | | <if test="page.sort != null"> |
| | | <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> |
| | |
| | | <select id="statisticsArea" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsAreaDTO"> |
| | | SELECT |
| | | <if test='terms.areaType == null or terms.areaType =="1"'> |
| | | IF(c.city is null,a.que_city,c.city) as areaCode,IF(c.city_name is null,a.que_city_name,c.city_name) as areaName, |
| | | IF(c.city is null,a.que_city,c.city) as areaCode,IF(c.city_name is null,a.que_city_name,c.city_name) as |
| | | areaName, |
| | | </if> |
| | | <if test='terms.areaType != null and terms.areaType =="2"'> |
| | | IF(c.area is null,a.que_area,c.area) as areaCode,IF(c.area_name is null,a.que_area_name,c.area_name) as areaName, |
| | | IF(c.area is null,a.que_area,c.area) as areaCode,IF(c.area_name is null,a.que_area_name,c.area_name) as |
| | | areaName, |
| | | </if> |
| | | <if test='terms.areaType != null and terms.areaType =="3"'> |
| | | IF(c.road is null,a.que_road,c.road) as areaCode,IF(c.road_name is null,a.que_road_name,c.road_name) as areaName, |
| | | IF(c.road is null,a.que_road,c.road) as areaCode,IF(c.road_name is null,a.que_road_name,c.road_name) as |
| | | areaName, |
| | | </if> |
| | | <if test='terms.areaType != null and terms.areaType =="4"'> |
| | | IF(c.village is null,a.que_village,c.village) as areaCode,IF(c.village_name is null,a.que_village_name,c.village_name) as areaName, |
| | | IF(c.village is null,a.que_village,c.village) as areaCode,IF(c.village_name is |
| | | null,a.que_village_name,c.village_name) as areaName, |
| | | </if> |
| | | c.unit_grade as unitGrade, |
| | | count(1) as caseNum, |
| | |
| | | sum(case when a.case_level = 2 then 1 else 0 end) as twoLevelNum, |
| | | sum(case when a.case_level = 3 then 1 else 0 end) as threeLevelNum, |
| | | sum(case when a.info_process = 2 then 1 |
| | | when a.info_process = 1 then 1 else 0 end) as processNum, |
| | | 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 |
| | |
| | | <if test='terms.areaType != null and terms.areaType =="4"'> |
| | | ifnull(t2.village_name, '本级') as areaName,ifnull(t2.village, '1') as areaCode, |
| | | </if> |
| | | count(distinct case when (t1.node_id = 'DSRPJ' or t1.node_id = 'JAGD' or t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' |
| | | or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP' or t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' |
| | | or t1.node_id = 'DSL' or t1.node_id = 'QJ_SBSH' or t1.node_id = 'SJ_SBSH' or t1.node_id = 'HTSH' or t1.node_id = 'ZJ_HTSH' |
| | | count(distinct case when (t1.node_id = 'DSRPJ' or t1.node_id = 'JAGD' or t1.node_id = 'ZJ_DFP' or t1.node_id = |
| | | 'QJ_DFP' |
| | | or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP' or t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = |
| | | 'SJ_DSL' |
| | | or t1.node_id = 'DSL' or t1.node_id = 'QJ_SBSH' or t1.node_id = 'SJ_SBSH' or t1.node_id = 'HTSH' or t1.node_id = |
| | | 'ZJ_HTSH' |
| | | or t1.node_id = 'QJ_HTSH' or t1.node_id = 'SJ_HTSH')then t1.id end) as flowAllNum, |
| | | count(distinct case when (t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP') then t1.id end) as flowJbNum, |
| | | count(distinct case when (t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL') then t1.id end) as flowSlNum, |
| | | count(distinct case when (t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' or t1.node_id = 'SJ_DFP' or t1.node_id |
| | | = 'DFP') then t1.id end) as flowJbNum, |
| | | count(distinct case when (t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id |
| | | = 'DSL') then t1.id end) as flowSlNum, |
| | | count(distinct case when (t1.node_id = 'QJ_SBSH' or t1.node_id = 'SJ_SBSH') then t1.id end) as flowSbNum, |
| | | count(distinct case when (t1.node_id = 'HTSH' or t1.node_id = 'ZJ_HTSH' or t1.node_id = 'QJ_HTSH' or t1.node_id = 'SJ_HTSH') then t1.id end) as flowHtNum, |
| | | count(distinct case when (t1.node_id = 'HTSH' or t1.node_id = 'ZJ_HTSH' or t1.node_id = 'QJ_HTSH' or t1.node_id |
| | | = 'SJ_HTSH') then t1.id end) as flowHtNum, |
| | | count(distinct case when (t1.node_id = 'DSRPJ' or t1.node_id = 'JAGD') then t1.id end) as flowBjNum |
| | | from |
| | | (SELECT case_id, node_id, handle_time, create_time, cande_unit_id, id, status |
| | |
| | | where status = 2 or (status = 1 and (node_id = 'DSRPJ' or node_id = 'JAGD')) |
| | | ) s |
| | | WHERE rn = 1 AND ((DATE_FORMAT(s.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.startDate} |
| | | and DATE_FORMAT(s.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.endDate}) OR DATE_FORMAT(s.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.startDate} |
| | | and DATE_FORMAT(s.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.endDate}) OR |
| | | DATE_FORMAT(s.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.startDate} |
| | | and DATE_FORMAT(s.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.endDate}) group by s.case_id) t1 |
| | | left join dyh_ct_unit t2 on (t1.cande_unit_id = t2.id) or (t1.cande_unit_id is null and t2.id = (select mediate_unit_id from dyh_case_info_unfold where id = t1.case_id)) |
| | | left join dyh_ct_unit t2 on (t1.cande_unit_id = t2.id) or (t1.cande_unit_id is null and t2.id = (select |
| | | mediate_unit_id from dyh_case_info_unfold where id = t1.case_id)) |
| | | <where> |
| | | <if test="terms.queCity != null and terms.queCity !=''"> |
| | | and t2.city = #{terms.queCity} |
| | |
| | | </if> |
| | | count(distinct case when t2.info_process = 1 or t2.info_process = 2 then t2.id end) as sourceHjzNum, |
| | | count(distinct case when t2.info_process = 3 and t3.medi_result = '22_00025-1' then t2.id end) as sourceHjcgNum, |
| | | count(distinct case when t2.info_process = 3 and t3.medi_result = '22_00025-2' then t2.id end) as sourceHjbcgNum, |
| | | count(distinct case when t2.info_process = 3 and t3.medi_result = '22_00025-2' then t2.id end) as |
| | | sourceHjbcgNum, |
| | | count(distinct case when t2.info_process = 4 then t2.id end) as sourceByslNum |
| | | from (SELECT case_id, node_id, create_time, cande_unit_id, id, status,handle_result |
| | | FROM ( |
| | |
| | | ROW_NUMBER() OVER (PARTITION BY case_id ORDER BY node_type desc, create_time DESC) AS rn |
| | | FROM dyh_case_task where node_id != 'DSRPJ' and delete_status = 0 |
| | | ) s |
| | | WHERE rn = 1 group by s.case_id)t1 left join dyh_case_info t2 on t2.id = t1.case_id left join dyh_case_info_unfold t3 on t2.id = t3.id |
| | | WHERE rn = 1 group by s.case_id)t1 left join dyh_case_info t2 on t2.id = t1.case_id left join |
| | | dyh_case_info_unfold t3 on t2.id = t3.id |
| | | left join dyh_ct_unit t4 on t3.belong_unit_id = t4.id |
| | | <where> |
| | | and t2.delete_status = 0 and t4.delete_status = 0 |
| | |
| | | </select> |
| | | |
| | | <update id="deleteCaseById"> |
| | | update dyh_case_info set delete_status = 1,update_time = #{updateTime} where id = #{id} |
| | | update dyh_case_info |
| | | set delete_status = 1, |
| | | update_time = #{updateTime} |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <!-- 统计指定canal值下按canal_second分组的案件数量 --> |
| | | <select id="countByCanalSecond" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsTypeDTO"> |
| | | SELECT |
| | | a.canal_second as caseType, |
| | | COUNT(*) as caseNum |
| | | a.canal_second as caseType, |
| | | COUNT(*) as caseNum |
| | | FROM |
| | | dyh_case_info a |
| | | inner JOIN dyh_case_info_unfold b on a.id = b.id |
| | | LEFT JOIN dyh_ct_unit c ON b.belong_unit_id = c.id |
| | | <include refid="where-part-all"/> |
| | | GROUP BY |
| | | a.canal_second |
| | | a.canal_second |
| | | </select> |
| | | |
| | | <!-- 统计分析(基础) --> |
| | |
| | | */ |
| | | private String tcqk; |
| | | |
| | | private String cityCode; |
| | | |
| | | |
| | | } |
| | |
| | | package cn.huge.module.cases.domain.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @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 rejectNum=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 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 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 toDayTotalNum=0;//今日新增总记录数 |
| | | private Integer toDayProcessNum=0;//今日新增化解中数 |
| | |
| | | private CaseStatisticsSourceDTO oneSecondSource;//非警务纠纷 |
| | | private CaseStatisticsSourceDTO twoSecondSource;//12345 |
| | | private CaseStatisticsSourceDTO threeSecondSource;//网格上报 |
| | | private List<CaseStatisticsTypeDTO> typeList;//纠纷类型集合 |
| | | private List<CaseStatisticsTypeDTO> typeList = new ArrayList<>();//纠纷类型集合 |
| | | |
| | | private List<CasePageDTO> caseList;//案件集合(实时动态) |
| | | |
| | |
| | | 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;//本系统数 |
| | |
| | | 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){ |
| | | // 完成当前当事人评价节点任务 |
| | |
| | | CaseTask jagdCaseTask = new CaseTask(); |
| | | jagdCaseTask.setId(utilsClient.getNewTimeId()); |
| | | jagdCaseTask.setCaseId(dsrpjCaseTask.getCaseId()); |
| | | jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); |
| | | jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); |
| | | jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); |
| | | jagdCaseTask.setNodeType(jagdFlowNode.getNodeType()); |
| | | jagdCaseTask.setNodeId(jagdFlowNode.getNodeId()); |
| | | jagdCaseTask.setNodeName(jagdFlowNode.getNodeName()); |
| | | jagdCaseTask.setFlowId(jagdFlowNode.getFlowId()); |
| | | jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName()); |
| | | if(jagdFlowNode!=null){ |
| | | jagdCaseTask.setFlowableId(jagdFlowNode.getFlowableId()); |
| | | jagdCaseTask.setProcessInstanceId(jagdFlowNode.getProcessInstanceId()); |
| | | jagdCaseTask.setProcessTaskId(jagdFlowNode.getProcessTaskId()); |
| | | jagdCaseTask.setNodeType(jagdFlowNode.getNodeType()); |
| | | jagdCaseTask.setNodeId(jagdFlowNode.getNodeId()); |
| | | jagdCaseTask.setNodeName(jagdFlowNode.getNodeName()); |
| | | jagdCaseTask.setFlowId(jagdFlowNode.getFlowId()); |
| | | jagdCaseTask.setNodeShowName(jagdFlowNode.getNodeShowName()); |
| | | if (jagdFlowNode.getExpire() != 0) { |
| | | jagdCaseTask.setExpireTime(syHolidayService.getExpiryDay(nowDate, jagdFlowNode.getExpire())); |
| | | } |
| | | } |
| | | jagdCaseTask.setCaseTaskType(CaseTaskConsts.CASE_TASK_TYPE_1); |
| | | // 任务所属单位:结案申请组织 |
| | | caseTaskQueryWrapper.clear(); |
| | |
| | | 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()); |
| | |
| | | package cn.huge.module.cases.service; |
| | | |
| | | import cn.huge.base.common.bo.R; |
| | | import cn.huge.base.common.exception.ServiceException; |
| | | import cn.huge.base.common.utils.*; |
| | | import cn.huge.module.casebook.consts.ByCaseTypeEnum; |
| | |
| | | private CaseWindupApplyService caseWindupApplyService; |
| | | @Autowired |
| | | private CasePersonService casePersonService; |
| | | @Autowired |
| | | private ThGridCitizenEventService thGridCitizenEventService; |
| | | |
| | | |
| | | /** |
| | |
| | | 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.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())) { |
| | |
| | | caseInfoDTO.setIsRisk(caseInfoUnfold.getIsRisk()); |
| | | caseInfoDTO.setTcqk(caseInfoUnfold.getTcqk()); |
| | | } |
| | | ThGridCitizenEvent thGridCitizenEvent = thGridCitizenEventService.getByCaseId(caseId); |
| | | if (thGridCitizenEvent != null) { |
| | | caseInfoDTO.setCityCode(thGridCitizenEvent.getCitizenEventCode()); |
| | | } |
| | | } else { |
| | | CasebookInfo casebookInfo = casebookInfoService.getById(caseId); |
| | | if (ObjectUtils.isNotEmpty(casebookInfo)) { |
| | |
| | | generateQrCodeRequestVo.setGridCode(area); |
| | | caseInfo.setCaseRef(sysClient.getCaseRefByGenerateQrCode(generateQrCodeRequestVo)); |
| | | // 生产调解案号 |
| | | caseInfo.setCaseNo(utilsClient.createCaseNo(caseInfo.getQueArea())); |
| | | // caseInfo.setCaseNo(utilsClient.createCaseNo(caseInfo.getQueArea())); |
| | | log.info("xsdcaseInfo:{}", caseInfo); |
| | | caseInfoUnfold.setId(caseInfo.getId()); |
| | | caseInfoUnfold.setCreateTime(nowDate); |
| | |
| | | } |
| | | 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(); |
| | |
| | | return new PageImpl<CasePageDTO>(content, page, total); |
| | | } |
| | | |
| | | /** |
| | | /** |
| | | * 统计调解过程 |
| | | * 计算案件的调解过程相关统计数据,包括不予受理率、化解中率、化解成功率、化解不成功率等 |
| | | * |
| | | * |
| | | * @param terms 统计条件 |
| | | * @return 包含调解过程统计数据的DTO对象 |
| | | */ |
| | |
| | | caseStatisticsBaseDTO.setFailRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getFailNum() * 100, baseTotalNum, 1)); |
| | | // 如果 baseTotalNum为0 设置 总数为0 |
| | | caseStatisticsBaseDTO.setTotalNum(baseTotalNum); |
| | | |
| | | |
| | | Integer levelTotalNum = caseStatisticsBaseDTO.getOneLevelNum() + caseStatisticsBaseDTO.getTwoLevelNum() + caseStatisticsBaseDTO.getThreeLevelNum(); |
| | | caseStatisticsBaseDTO.setOneLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getOneLevelNum() * 100, levelTotalNum, 1)); |
| | | caseStatisticsBaseDTO.setTwoLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getTwoLevelNum() * 100, levelTotalNum, 1)); |
| | | caseStatisticsBaseDTO.setThreeLevelRate(BigDecimalUtil.integerDivideDelZero(caseStatisticsBaseDTO.getThreeLevelNum() * 100, levelTotalNum, 1)); |
| | | |
| | | |
| | | return caseStatisticsBaseDTO; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 纠纷态势 |
| | |
| | | } |
| | | 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)); |
| | |
| | | } 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)); |
| | |
| | | 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")); |
| | | } |
| | | 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")); |
| | | 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()); |
| | | } |
| | | } |
| | | |
| | | // 临时移除类型筛选条件,以便 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"); |
| | | //根据用户筛选区域范围 |
| | |
| | | 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); |
| | | // 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.setTzfjwjfNum(caseStatisticsBaseDTO6.getTotalNum()); |
| | | |
| | | // 根据原始类型筛选条件计算总数和比率 |
| | | // 注意:比率计算应该始终基于所有类型的总数,而不是选择的特定类型数量 |
| | | Integer allNum = statistics.getSysNum() + statistics.getOttffNum() + statistics.getRmtjNum() + statistics.getXfNum() + statistics.getLdzcNum() + statistics.getFjwjfNum(); |
| | | 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.setFjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getFjwjfNum() * 100, allNum, 1)); |
| | | statistics.setTzfjwjfRate(BigDecimalUtil.integerDivideDelZero(statistics.getTzfjwjfNum() * 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"); |
| | | // 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()); |
| | | // |
| | | // 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; |
| | | // } |
| | | |
| | | /** |
| | | * 按系列案编号查询 |
| | |
| | | } else { |
| | | terms.put("queryType", 3); |
| | | } |
| | | log.info("xsd:{}",terms); |
| | | log.info("xsd:{}", terms); |
| | | CtUnitDTO ctUnitDTO = mapper.getUnitByGridCode(terms); |
| | | log.info("xsd:ctUnitDTO{}",ctUnitDTO); |
| | | log.info("xsd:ctUnitDTO{}", ctUnitDTO); |
| | | if (ObjectUtils.isNotEmpty(ctUnitDTO)) { |
| | | if (StringUtils.isNotBlank(ctUnitDTO.getCity()) && StringUtils.isNotBlank(ctUnitDTO.getCityName())) { |
| | | registerSaveDTO.setQueCity(ctUnitDTO.getCity()); |
| | |
| | | } |
| | | |
| | | // 获取调解案号 |
| | | caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); |
| | | caseInfo.setVisitWay(CaseBaseConstsEnum.VISIT_WAY_3.getIndex()); |
| | | caseInfo.setVisitWayName(CaseBaseConstsEnum.VISIT_WAY_3.getDes()); |
| | | caseInfo.setCanal(CaseBaseConstsEnum.CASE_CANAL_4.getIndex()); |
| | | caseInfo.setCanalName(CaseBaseConstsEnum.CASE_CANAL_4.getDes()); |
| | | |
| | | // caseInfo.setCaseNo(utilsClient.createCaseNo(ctUnitDTO.getArea())); |
| | | 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()); |
| | |
| | | } |
| | | //todo case_title生成、经纬度转换 |
| | | caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1); |
| | | if(registerSaveDTO.getCreateTime()!=null){ |
| | | if (registerSaveDTO.getCreateTime() != null) { |
| | | caseInfo.setCreateTime(registerSaveDTO.getCreateTime()); |
| | | }else { |
| | | } else { |
| | | caseInfo.setCreateTime(nowDate); |
| | | } |
| | | |
| | |
| | | .insert(5, "-") |
| | | .toString(); |
| | | } |
| | | |
| | | public R<String> createCaseNo(String userId) { |
| | | CtUnitDTO unitByUserId = custClient.getUnitByUserId(userId); |
| | | return R.ok(utilsClient.createCaseNo(unitByUserId.getArea())); |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | // 待受理节点 |
| | |
| | | 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("协同推送"); |
| | |
| | | dispCaseBaseDTO.setCaseId(caseInfo.getId()); |
| | | if ("22_00003-1".equals(caseInfo.getCanalSecond())) { |
| | | dispCaseBaseDTO.setIsQu(1); |
| | | }else { |
| | | } else { |
| | | dispCaseBaseDTO.setIsQu(0); |
| | | } |
| | | CaseDispBaseDTO caseDispBaseDTO = dispClient.sysDisp(dispCaseBaseDTO); |
| | |
| | | CaseInfo caseInfo = caseInfoService.getCaseInfo(dslCaseTask.getCaseId()); |
| | | CaseInfo caseInfoPO = new CaseInfo(); |
| | | caseInfoPO.setId(dslCaseTask.getCaseId()); |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); |
| | | if (flowOperation == FlowableConsts.OPERATION_jb_zzzx) { |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_1.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_1.getDes()); |
| | | } else { |
| | | caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); |
| | | caseInfoPO.setStatusName(CaseStatusBaseConstsEnum.CASE_STATUS_3.getDes()); |
| | | } |
| | | caseInfoPO.setProcess(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getIndex()); |
| | | caseInfoPO.setProcessName(CaseProcessBaseConstsEnum.getByStatus(caseInfoPO.getStatus()).getDes()); |
| | | caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); |
| | |
| | | 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); |
| | |
| | | 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"); |
| | |
| | | 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()); |
| | |
| | | package cn.huge.module.cases.service; |
| | | |
| | | import cn.huge.module.cases.domain.dto.CaseAndEventInfoDTO; |
| | | import cn.huge.module.cases.domain.po.ThGridCitizenEvent; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * @title: 市民工单事件表服务接口 |
| | |
| | | * @return 整合后的案件和工单信息 |
| | | */ |
| | | CaseAndEventInfoDTO integrateCaseAndEventInfo(String caseId); |
| | | |
| | | ThGridCitizenEvent getByCaseId(String caseId); |
| | | } |
| | |
| | | |
| | | return dto; |
| | | } |
| | | |
| | | @Override |
| | | public ThGridCitizenEvent getByCaseId(String caseId) { |
| | | return thGridCitizenEventMapper.getByCaseId(caseId); |
| | | } |
| | | } |
| | |
| | | return flowNode; |
| | | }catch (Exception e){ |
| | | log.error("service方法[FlowInfoService.completeByTaskId]调用异常:"+e, e); |
| | | throw new ServiceException("FlowInfoService.completeByTaskId", e); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | |
| | | profiles: |
| | | active: |
| | | # - dev |
| | | # - test |
| | | - prod |
| | | - test |
| | | # - prod |
| | | |
| | | devtools: |
| | | restart: |
New file |
| | |
| | | package cn.huge.module.ai; |
| | | |
| | | import cn.huge.base.common.bo.R; |
| | | import cn.huge.base.common.utils.HttpClientUtils; |
| | | import cn.huge.base.common.utils.ReturnFailUtils; |
| | | import cn.huge.base.common.utils.ReturnSucUtils; |
| | | import cn.huge.module.ai.domain.AiBodyDto; |
| | | import cn.huge.module.ai.domain.AiRequestVo; |
| | | import cn.huge.module.sy.domain.po.SyTimeLimit; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.net.http.HttpClient; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @RequestMapping("/api/web/ai/chat") |
| | | @Slf4j |
| | | public class AiChatController { |
| | | |
| | | private String url = "http://10.202.1.102:9002/"; |
| | | |
| | | @PostMapping("/risk") |
| | | public R<String> risk(@RequestBody AiRequestVo aiRequestVo) { |
| | | String postUrl = url + "v1/workflows/run"; |
| | | initHead("Bearer app-8ylvZOHf2fOgTGfe28MYtHDD"); |
| | | String s = ""; |
| | | try { |
| | | s = HttpClientUtils.httpPostRaw(postUrl, JSON.toJSONString(aiRequestVo), initHead("Bearer app-8ylvZOHf2fOgTGfe28MYtHDD"), "utf-8"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | JSONObject object = JSONObject.parseObject(s); |
| | | if (object != null) { |
| | | JSONObject data = object.getJSONObject("data"); |
| | | if (data != null) { |
| | | JSONObject outputs = data.getJSONObject("outputs"); |
| | | if (outputs != null) { |
| | | JSONObject body = outputs.getJSONObject("body"); |
| | | if (body != null) { |
| | | return R.ok(body.getJSONObject("data").getString("is_risk_ai")); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | log.info("xsd:{}", object); |
| | | return R.ok("0"); |
| | | } |
| | | |
| | | @PostMapping("/chat") |
| | | public R<AiBodyDto> chat(@RequestBody AiRequestVo aiRequestVo) { |
| | | String postUrl = url + "v1/chat-messages"; |
| | | String s = ""; |
| | | AiBodyDto aiBodyDto = new AiBodyDto(); |
| | | try { |
| | | s = HttpClientUtils.httpPostRaw(postUrl, JSON.toJSONString(aiRequestVo), initHead("Bearer app-8naZjGyj8a129EuUP2Jb6n7T"), "utf-8"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | JSONObject object = JSONObject.parseObject(s); |
| | | if (object != null) { |
| | | String conversation_id = object.getString("conversation_id"); |
| | | String answer = object.getString("answer"); |
| | | aiBodyDto.setAnswer(answer); |
| | | aiBodyDto.setConversationId(conversation_id); |
| | | } |
| | | log.info("xsd:{}", aiBodyDto); |
| | | return R.ok(aiBodyDto); |
| | | } |
| | | |
| | | @PostMapping("/strategy") |
| | | public R<AiBodyDto> strategy(@RequestBody AiRequestVo aiRequestVo) { |
| | | String postUrl = url + "v1/workflows/run"; |
| | | String s = ""; |
| | | AiBodyDto aiBodyDto = new AiBodyDto(); |
| | | try { |
| | | s = HttpClientUtils.httpPostRaw(postUrl, JSON.toJSONString(aiRequestVo), initHead("Bearer app-WMriHFsAozx0FECkopW2Z6X1"), "utf-8"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | JSONObject object = JSONObject.parseObject(s); |
| | | if (object != null) { |
| | | JSONObject data = object.getJSONObject("data"); |
| | | if (data != null) { |
| | | JSONObject outputs = data.getJSONObject("outputs"); |
| | | if (outputs != null) { |
| | | String text = outputs.getString("text"); |
| | | aiBodyDto.setAnswer(text); |
| | | } |
| | | } |
| | | } |
| | | log.info("xsd:{}", aiBodyDto); |
| | | return R.ok(aiBodyDto); |
| | | } |
| | | |
| | | private Map<String, String> initHead(String token) { |
| | | Map<String, String> head = new HashMap<>(); |
| | | head.put("Content-Type", "application/json"); |
| | | head.put("Authorization", token); |
| | | return head; |
| | | } |
| | | } |
New file |
| | |
| | | package cn.huge.module.ai.domain; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class AiBodyDto { |
| | | private String response_mode; |
| | | private String conversationId; |
| | | private String answer; |
| | | } |
New file |
| | |
| | | package cn.huge.module.ai.domain; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class AiRequestVo { |
| | | private Inputs inputs; |
| | | private String response_mode; |
| | | private String user; |
| | | private String query; |
| | | private String conversation_id; |
| | | @Data |
| | | public static class Inputs{ |
| | | private String caseId; |
| | | private String caseText; |
| | | } |
| | | } |
| | |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | List<String> canalSecondList = new ArrayList<>(); |
| | | canalSecondList.add("12"); |
| | | canalSecondList.add("13"); |
| | | canalSecondList.add("07"); |
| | | // 获取东八区的当前时间 |
| | | ZonedDateTime now = ZonedDateTime.now(TARGET_ZONE); |
| | |
| | | String fxdj = ""; |
| | | String zrmj = ""; |
| | | String zrga = ""; |
| | | String jyff=""; |
| | | String jyff = ""; |
| | | String tcr = ""; |
| | | String tcqk = ""; |
| | | String tcjg = ""; |
| | |
| | | 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"); |
| | | } |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { |
| | | uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfo())) { |
| | | JSONObject jsonObject = JSON.parseObject(gridCaseInfoDTO.getExtInfo()); |
| | | zrga = jsonObject.get("tcdwMc").toString(); |
| | | zrmj = jsonObject.get("zrmj").toString(); |
| | | fxdj = jsonObject.get("fxdj").toString(); |
| | | jfmc = jsonObject.get("jfmc").toString(); |
| | | registerSaveDTO.setGridHandle(zrga + "--" + zrmj); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoTcqk())) { |
| | | List<Map<String, Object>> expInfoTcqkMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoTcqk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | for (Map expInfoMap : expInfoTcqkMapList) { |
| | | tcr = expInfoMap.get("tcr").toString(); |
| | | tcqk = expInfoMap.get("tcqk").toString(); |
| | | tcjg = expInfoMap.get("tcjgMc").toString(); |
| | | tcfa = expInfoMap.get("tcfa").toString(); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | registerSaveDTO.setTcqk(uploadPolice+" -- "+uploadPolicePhone+" -- "+fxdj+" -- "+zrmj+" -- "+tcr+" -- "+tcfa+" -- "+tcqk); |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoRisk())) { |
| | | List<Map<String, Object>> expInfoMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoRisk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | List<CasePersonDTO> casePersonDTOList = new ArrayList<>(); |
| | | for (Map expInfoMap : expInfoMapList) { |
| | | CasePersonDTO casePersonDTO = new CasePersonDTO(); |
| | | String name = ""; |
| | | certiNo = ""; |
| | | String mobile = ""; |
| | | if (StringUtils.isNotBlank(expInfoMap.get("cardNumber").toString())) { |
| | | certiNo = expInfoMap.get("cardNumber").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("name").toString())) { |
| | | name = expInfoMap.get("name").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("contactPhone").toString())) { |
| | | mobile = expInfoMap.get("contactPhone").toString(); |
| | | } |
| | | casePersonDTO.setMobile(mobile); |
| | | casePersonDTO.setTrueName(name); |
| | | casePersonDTO.setCertiNo(certiNo); |
| | | casePersonDTOList.add(casePersonDTO); |
| | | gridEvent.setCertiNo(certiNo); |
| | | |
| | | if (StringUtils.isNotBlank(plaintiffs)) { |
| | | if (!plaintiffs.contains(name)) |
| | | plaintiffs = plaintiffs + "," + name; |
| | | } else { |
| | | plaintiffs = name; |
| | | } |
| | | if (StringUtils.isNotBlank(phone)) { |
| | | if (!phone.contains(mobile)) |
| | | phone = phone + "," + mobile; |
| | | } else { |
| | | phone = mobile; |
| | | } |
| | | if (StringUtils.isNotBlank(gridEvent.getCertiNo())) { |
| | | gridEvent.setCertiNo(gridEvent.getCertiNo() + "," + certiNo); |
| | | } else { |
| | | gridEvent.setCertiNo(certiNo); |
| | | } |
| | | } |
| | | registerSaveDTO.setPersonList(casePersonDTOList); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { |
| | | uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); |
| | | } |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { |
| | | uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfo())) { |
| | | JSONObject jsonObject = JSON.parseObject(gridCaseInfoDTO.getExtInfo()); |
| | | zrga = jsonObject.get("tcdwMc").toString(); |
| | | zrmj = jsonObject.get("zrmj").toString(); |
| | | fxdj = jsonObject.get("fxdj").toString(); |
| | | jfmc = jsonObject.get("jfmc").toString(); |
| | | registerSaveDTO.setGridHandle(zrga + "--" + zrmj); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoTcqk())) { |
| | | List<Map<String, Object>> expInfoTcqkMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoTcqk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | for (Map expInfoMap : expInfoTcqkMapList) { |
| | | tcr = expInfoMap.get("tcr").toString(); |
| | | tcqk = expInfoMap.get("tcqk").toString(); |
| | | tcjg = expInfoMap.get("tcjgMc").toString(); |
| | | tcfa = expInfoMap.get("tcfa").toString(); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | registerSaveDTO.setTcqk(uploadPolice + " -- " + uploadPolicePhone + " -- " + fxdj + " -- " + zrmj + " -- " + tcr + " -- " + tcfa + " -- " + tcqk); |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoRisk())) { |
| | | List<Map<String, Object>> expInfoMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoRisk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | List<CasePersonDTO> casePersonDTOList = new ArrayList<>(); |
| | | for (Map expInfoMap : expInfoMapList) { |
| | | CasePersonDTO casePersonDTO = new CasePersonDTO(); |
| | | String name = ""; |
| | | certiNo = ""; |
| | | String mobile = ""; |
| | | if (StringUtils.isNotBlank(expInfoMap.get("cardNumber").toString())) { |
| | | certiNo = expInfoMap.get("cardNumber").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("name").toString())) { |
| | | name = expInfoMap.get("name").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("contactPhone").toString())) { |
| | | mobile = expInfoMap.get("contactPhone").toString(); |
| | | } |
| | | casePersonDTO.setMobile(mobile); |
| | | casePersonDTO.setTrueName(name); |
| | | casePersonDTO.setCertiNo(certiNo); |
| | | casePersonDTOList.add(casePersonDTO); |
| | | gridEvent.setCertiNo(certiNo); |
| | | |
| | | if (StringUtils.isNotBlank(plaintiffs)) { |
| | | if (!plaintiffs.contains(name)) |
| | | plaintiffs = plaintiffs + "," + name; |
| | | } else { |
| | | plaintiffs = name; |
| | | } |
| | | if (StringUtils.isNotBlank(phone)) { |
| | | if (!phone.contains(mobile)) |
| | | phone = phone + "," + mobile; |
| | | } else { |
| | | phone = mobile; |
| | | } |
| | | if (StringUtils.isNotBlank(gridEvent.getCertiNo())) { |
| | | gridEvent.setCertiNo(gridEvent.getCertiNo() + "," + certiNo); |
| | | } else { |
| | | gridEvent.setCertiNo(certiNo); |
| | | } |
| | | } |
| | | registerSaveDTO.setPersonList(casePersonDTOList); |
| | | } |
| | | } 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")); |
| | | registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); |
| | | gridEvent.setLinkman(uploadPolice); |
| | | gridEvent.setSystemId(gridCaseInfoDTO.getSystemId()); |
| | | gridEvent.setContactTel(uploadPolicePhone); |
| | |
| | | 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()); |
| | | } |
| | |
| | | registerSaveDTO.setPhone(phone); |
| | | String dyhUnitId = gridCaseTaskService.getGridUnitIdByUnitId(gridCode); |
| | | if (StringUtils.isNotBlank(dyhUnitId)) { |
| | | registerSaveDTO.setWantUnitId(dyhUnitId); |
| | | } else { |
| | | log.info("网格组织查询不到对应组织:" + gridCode); |
| | | } |
| | |
| | | if (parts.length == 3) { |
| | | return parts[0] + parts[1] + parts[2]; |
| | | } else if (parts.length >= 4) { |
| | | return parts[0] + parts[1] + parts[2]+"-"+parts[3]; |
| | | return parts[0] + parts[1] + parts[2] + "-" + parts[3]; |
| | | } else { |
| | | return input; // 或抛出异常 |
| | | } |
| | |
| | | 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); |
| | |
| | | String fxdj = ""; |
| | | String zrmj = ""; |
| | | String zrga = ""; |
| | | String jyff=""; |
| | | String jyff = ""; |
| | | String tcr = ""; |
| | | String tcqk = ""; |
| | | String tcjg = ""; |
| | |
| | | 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"); |
| | | } |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { |
| | | uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfo())) { |
| | | JSONObject jsonObject = JSON.parseObject(gridCaseInfoDTO.getExtInfo()); |
| | | zrga = jsonObject.get("tcdwMc").toString(); |
| | | zrmj = jsonObject.get("zrmj").toString(); |
| | | fxdj = jsonObject.get("fxdj").toString(); |
| | | jfmc = jsonObject.get("jfmc").toString(); |
| | | registerSaveDTO.setGridHandle(zrga + "--" + zrmj); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoTcqk())) { |
| | | List<Map<String, Object>> expInfoTcqkMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoTcqk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | for (Map expInfoMap : expInfoTcqkMapList) { |
| | | tcr = expInfoMap.get("tcr").toString(); |
| | | tcqk = expInfoMap.get("tcqk").toString(); |
| | | tcjg = expInfoMap.get("tcjgMc").toString(); |
| | | tcfa = expInfoMap.get("tcfa").toString(); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | registerSaveDTO.setTcqk(uploadPolice+" -- "+uploadPolicePhone+" -- "+fxdj+" -- "+zrmj+" -- "+tcr+" -- "+tcfa+" -- "+tcqk); |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoRisk())) { |
| | | List<Map<String, Object>> expInfoMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoRisk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | List<CasePersonDTO> casePersonDTOList = new ArrayList<>(); |
| | | for (Map expInfoMap : expInfoMapList) { |
| | | CasePersonDTO casePersonDTO = new CasePersonDTO(); |
| | | String name = ""; |
| | | certiNo = ""; |
| | | String mobile = ""; |
| | | if (StringUtils.isNotBlank(expInfoMap.get("cardNumber").toString())) { |
| | | certiNo = expInfoMap.get("cardNumber").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("name").toString())) { |
| | | name = expInfoMap.get("name").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("contactPhone").toString())) { |
| | | mobile = expInfoMap.get("contactPhone").toString(); |
| | | } |
| | | casePersonDTO.setMobile(mobile); |
| | | casePersonDTO.setTrueName(name); |
| | | casePersonDTO.setCertiNo(certiNo); |
| | | casePersonDTOList.add(casePersonDTO); |
| | | gridEvent.setCertiNo(certiNo); |
| | | |
| | | if (StringUtils.isNotBlank(plaintiffs)) { |
| | | if (!plaintiffs.contains(name)) |
| | | plaintiffs = plaintiffs + "," + name; |
| | | } else { |
| | | plaintiffs = name; |
| | | } |
| | | if (StringUtils.isNotBlank(phone)) { |
| | | if (!phone.contains(mobile)) |
| | | phone = phone + "," + mobile; |
| | | } else { |
| | | phone = mobile; |
| | | } |
| | | if (StringUtils.isNotBlank(gridEvent.getCertiNo())) { |
| | | gridEvent.setCertiNo(gridEvent.getCertiNo() + "," + certiNo); |
| | | } else { |
| | | gridEvent.setCertiNo(certiNo); |
| | | } |
| | | } |
| | | registerSaveDTO.setPersonList(casePersonDTOList); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getLinkman())) { |
| | | uploadPolice = AesUtils.decrypt(gridCaseInfoDTO.getLinkman(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); |
| | | } |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getContactTel())) { |
| | | uploadPolicePhone = AesUtils.decrypt(gridCaseInfoDTO.getContactTel(), "W90akz7tA7tyMn5tNTynG69YM2E8jGfF"); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfo())) { |
| | | JSONObject jsonObject = JSON.parseObject(gridCaseInfoDTO.getExtInfo()); |
| | | zrga = jsonObject.get("tcdwMc").toString(); |
| | | zrmj = jsonObject.get("zrmj").toString(); |
| | | fxdj = jsonObject.get("fxdj").toString(); |
| | | jfmc = jsonObject.get("jfmc").toString(); |
| | | registerSaveDTO.setGridHandle(zrga + "--" + zrmj); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoTcqk())) { |
| | | List<Map<String, Object>> expInfoTcqkMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoTcqk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | for (Map expInfoMap : expInfoTcqkMapList) { |
| | | tcr = expInfoMap.get("tcr").toString(); |
| | | tcqk = expInfoMap.get("tcqk").toString(); |
| | | tcjg = expInfoMap.get("tcjgMc").toString(); |
| | | tcfa = expInfoMap.get("tcfa").toString(); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("解析extInfo失败,事件id:{" + gridCaseInfoDTO.getId() + "}; 解析内容:" + gridCaseInfoDTO.getExtInfo() + "失败原因:" + e.getMessage()); |
| | | } |
| | | registerSaveDTO.setTcqk(uploadPolice + " -- " + uploadPolicePhone + " -- " + fxdj + " -- " + zrmj + " -- " + tcr + " -- " + tcfa + " -- " + tcqk); |
| | | try { |
| | | if (StringUtils.isNotBlank(gridCaseInfoDTO.getExtInfoRisk())) { |
| | | List<Map<String, Object>> expInfoMapList = JSON.parseObject(gridCaseInfoDTO.getExtInfoRisk(), |
| | | new TypeReference<List<Map<String, Object>>>() { |
| | | }); |
| | | List<CasePersonDTO> casePersonDTOList = new ArrayList<>(); |
| | | for (Map expInfoMap : expInfoMapList) { |
| | | CasePersonDTO casePersonDTO = new CasePersonDTO(); |
| | | String name = ""; |
| | | certiNo = ""; |
| | | String mobile = ""; |
| | | if (StringUtils.isNotBlank(expInfoMap.get("cardNumber").toString())) { |
| | | certiNo = expInfoMap.get("cardNumber").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("name").toString())) { |
| | | name = expInfoMap.get("name").toString(); |
| | | } |
| | | if (StringUtils.isNotBlank(expInfoMap.get("contactPhone").toString())) { |
| | | mobile = expInfoMap.get("contactPhone").toString(); |
| | | } |
| | | casePersonDTO.setMobile(mobile); |
| | | casePersonDTO.setTrueName(name); |
| | | casePersonDTO.setCertiNo(certiNo); |
| | | casePersonDTOList.add(casePersonDTO); |
| | | gridEvent.setCertiNo(certiNo); |
| | | |
| | | if (StringUtils.isNotBlank(plaintiffs)) { |
| | | if (!plaintiffs.contains(name)) |
| | | plaintiffs = plaintiffs + "," + name; |
| | | } else { |
| | | plaintiffs = name; |
| | | } |
| | | if (StringUtils.isNotBlank(phone)) { |
| | | if (!phone.contains(mobile)) |
| | | phone = phone + "," + mobile; |
| | | } else { |
| | | phone = mobile; |
| | | } |
| | | if (StringUtils.isNotBlank(gridEvent.getCertiNo())) { |
| | | gridEvent.setCertiNo(gridEvent.getCertiNo() + "," + certiNo); |
| | | } else { |
| | | gridEvent.setCertiNo(certiNo); |
| | | } |
| | | } |
| | | registerSaveDTO.setPersonList(casePersonDTOList); |
| | | } |
| | | } 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")); |
| | | registerSaveDTO.setCreateTime(DateUtils.StringToDate(gridCaseInfoDTO.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); |
| | | BeanUtils.copyProperties(gridCaseInfoDTO, gridEvent); |
| | | gridEvent.setSystemId(gridCaseInfoDTO.getSystemId()); |
| | | gridEvent.setLinkman(uploadPolice); |
| | |
| | | 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()); |
| | | } |
| | |
| | | profiles: |
| | | active: |
| | | # - dev |
| | | # - test |
| | | - prod |
| | | - test |
| | | # - prod |
| | | |
| | | devtools: |
| | | restart: |
| | |
| | | /** |
| | | * 常量前缀 |
| | | */ |
| | | 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 = "粤调"; |
| | | |
| | | /** |
| | |
| | | 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)){ |
New file |
| | |
| | | #添加索引 |
| | | 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); |