From fca638bd85eb9e5c04a766e7d5c3f469fe2388ca Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Fri, 20 Sep 2024 17:30:15 +0800
Subject: [PATCH] 态势分析

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/Area.json                       | 1053 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAreaDTO.java                |   17 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java   |    4 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml           |   23 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java                |   57 ++
 dyh-service/dyh-mediate/pom.xml                                                                        |    1 
 7 files changed, 1,153 insertions(+), 4 deletions(-)

diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
index 40c57af..fe75fd3 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/controller/wechat/PaUserWechatController.java
@@ -238,7 +238,7 @@
 
     /**
      * 当事人小程序-实名认证
-     * url: {ctx}/api/weChat/paUser/realAuth
+     * url: {ctx}/api/wechat/paUser/realAuth
      * type: post
      */
     @PostMapping(value = "/realAuth")
diff --git a/dyh-service/dyh-mediate/pom.xml b/dyh-service/dyh-mediate/pom.xml
index 98cf495..34488fb 100644
--- a/dyh-service/dyh-mediate/pom.xml
+++ b/dyh-service/dyh-mediate/pom.xml
@@ -347,6 +347,7 @@
                 <directory>${basedir}/src/main/java</directory>
                 <includes>
                     <include>**/*.xml</include>
+                    <include>**/*.json</include>
                 </includes>
             </resource>
         </resources>
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
index d839f7d..968cc9a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -82,6 +82,10 @@
             terms.put("createStart", fileStart+ " 00:00:00");
             terms.put("createEnd", fileEnd+ " 23:59:59");
         }
+        String areaType = request.getParameter("areaType");
+        if (StringUtils.isNotBlank(areaType)){
+            terms.put("areaType", areaType);
+        }
         return terms;
     }
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
index 416174b..350543c 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -276,6 +276,7 @@
     <sql id="where-part-all">
         <if test="terms != null">
             <where>
+                and delete_status = 0
                 <if test="terms.status != null and terms.status !=''">
                     and a.status = #{terms.status}
                 </if>
@@ -680,14 +681,32 @@
     <!--  统计分析(区域)  -->
     <select id="statisticsArea" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsAreaDTO">
         SELECT
-        a.que_area as areaCode,a.que_area_name as areaName,count(1) as caseNum,
+        <if test="terms.areaType == null or terms.areaType ==''">
+            a.que_area as areaCode,a.que_area_name as areaName,
+        </if>
+        <if test='terms.areaType != null and terms.areaType =="1"'>
+            a.que_area as areaCode,a.que_area_name as areaName,
+        </if>
+        <if test='terms.areaType != null and terms.areaType =="2"'>
+            a.que_road as areaCode,a.que_road_name as areaName,
+        </if>
+        count(1) as caseNum,
         sum(case when b.medi_result = '22_00025-1' then 1 else 0 end) as resolveNum,
         sum(case when b.medi_result is null and a.info_process <![CDATA[ < ]]> 4 then 1 else 0 end) as resolveingNum,
         sum(case when b.medi_result = '22_00025-2' then 1 else 0 end) as unResolveNum
         FROM
         dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id
         <include refid="where-part-all"/>
-        group by a.que_area
+        <if test="terms.areaType == null or terms.areaType ==''">
+            group by a.que_area
+        </if>
+        <if test='terms.areaType != null and terms.areaType =="1"'>
+            group by a.que_area
+        </if>
+        <if test='terms.areaType != null and terms.areaType =="2"'>
+            group by a.que_road
+        </if>
+
     </select>
     <!--  统计分析(基础)  -->
     <select id="statisticsBase" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsBaseDTO">
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/Area.json b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/Area.json
new file mode 100644
index 0000000..8483179
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/Area.json
@@ -0,0 +1,1053 @@
+{
+	"areaName": "广州市",
+	"areaCode": "1601",
+	"children": [
+		{
+			"areaName": "白云区",
+			"areaCode": "50258",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "新市街道",
+					"areaCode": "62857",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "云城街道",
+					"areaCode": "129164",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "石门街道",
+					"areaCode": "129165",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "鹤龙街道",
+					"areaCode": "129166",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "白云湖街道",
+					"areaCode": "129167",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "江高镇",
+					"areaCode": "50373",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "人和镇",
+					"areaCode": "50374",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "太和镇",
+					"areaCode": "50375",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "竹料镇",
+					"areaCode": "50376",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "钟落潭镇",
+					"areaCode": "50377",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "51885",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "三元里街道",
+					"areaCode": "62833",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "景泰街道",
+					"areaCode": "62834",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "黄石街道",
+					"areaCode": "62835",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "棠景街道",
+					"areaCode": "62836",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "嘉禾街道",
+					"areaCode": "62837",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "均禾街道",
+					"areaCode": "62838",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "石井街道",
+					"areaCode": "62839",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "金沙街道",
+					"areaCode": "62840",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "松洲街道",
+					"areaCode": "62855",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "同德街道",
+					"areaCode": "62856",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "同和街道",
+					"areaCode": "62858",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "京溪街道",
+					"areaCode": "62859",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "永平街道",
+					"areaCode": "62860",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "龙归街道",
+					"areaCode": "71879",
+					"parentId": "50258"
+				},
+				{
+					"areaName": "大源街道",
+					"areaCode": "71880",
+					"parentId": "50258"
+				}
+			]
+		},
+		{
+			"areaName": "天河区",
+			"areaCode": "3633",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "员村街道",
+					"areaCode": "63243",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "车陂街道",
+					"areaCode": "63244",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "五山街道",
+					"areaCode": "63245",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "沙河街道",
+					"areaCode": "63246",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "石牌街道",
+					"areaCode": "63247",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "沙东街道",
+					"areaCode": "63248",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "天河南街道",
+					"areaCode": "63249",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "林和街道",
+					"areaCode": "63250",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "兴华街道",
+					"areaCode": "63251",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "棠下街道",
+					"areaCode": "63252",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "冼村街道",
+					"areaCode": "63253",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "长兴街道",
+					"areaCode": "63254",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "前进街道",
+					"areaCode": "63255",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "珠吉街道",
+					"areaCode": "63256",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "天园街道",
+					"areaCode": "63257",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "猎德街道",
+					"areaCode": "63258",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "元岗街道",
+					"areaCode": "63259",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "黄村街道",
+					"areaCode": "63260",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "龙洞街道",
+					"areaCode": "63261",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "凤凰街道",
+					"areaCode": "63262",
+					"parentId": "3633"
+				},
+				{
+					"areaName": "新塘街道",
+					"areaCode": "63263",
+					"parentId": "3633"
+				}
+			]
+		},
+		{
+			"areaName": "海珠区",
+			"areaCode": "3634",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "赤岗街道",
+					"areaCode": "63199",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "龙凤街道",
+					"areaCode": "63200",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "华洲街道",
+					"areaCode": "63201",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "新港街道",
+					"areaCode": "63203",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "昌岗街道",
+					"areaCode": "63204",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "江南中街道",
+					"areaCode": "63205",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "滨江街道",
+					"areaCode": "63206",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "素社街道",
+					"areaCode": "63207",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "海幢街道",
+					"areaCode": "63208",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "南华西街道",
+					"areaCode": "63209",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "瑞宝街道",
+					"areaCode": "63210",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "江海街道",
+					"areaCode": "63211",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "沙园街道",
+					"areaCode": "63216",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "南石头街道",
+					"areaCode": "63217",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "凤阳街道",
+					"areaCode": "63218",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "琶洲街道",
+					"areaCode": "63219",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "南洲街道",
+					"areaCode": "63220",
+					"parentId": "3634"
+				},
+				{
+					"areaName": "官洲街道",
+					"areaCode": "63221",
+					"parentId": "3634"
+				}
+			]
+		},
+		{
+			"areaName": "荔湾区",
+			"areaCode": "3635",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "沙面街道",
+					"areaCode": "63101",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "岭南街道",
+					"areaCode": "63102",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "逢源街道",
+					"areaCode": "63103",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "彩虹街道",
+					"areaCode": "63104",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "南源街道",
+					"areaCode": "63105",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "桥中街道",
+					"areaCode": "63106",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "花地街道",
+					"areaCode": "63107",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "海龙街道",
+					"areaCode": "63108",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "中南街道",
+					"areaCode": "63109",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "华林街道",
+					"areaCode": "63126",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "多宝街道",
+					"areaCode": "63127",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "昌华街道",
+					"areaCode": "63128",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "龙津街道",
+					"areaCode": "63129",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "金花街道",
+					"areaCode": "63130",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "西村街道",
+					"areaCode": "63131",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "站前街道",
+					"areaCode": "63132",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "白鹤洞街道",
+					"areaCode": "63133",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "冲口街道",
+					"areaCode": "63134",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "石围塘街道",
+					"areaCode": "63135",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "茶滘街道",
+					"areaCode": "63136",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "东漖街道",
+					"areaCode": "63137",
+					"parentId": "3635"
+				},
+				{
+					"areaName": "东沙街道",
+					"areaCode": "63138",
+					"parentId": "3635"
+				}
+			]
+		},
+		{
+			"areaName": "越秀区",
+			"areaCode": "3637",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "洪桥街道",
+					"areaCode": "63154",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "光塔街道",
+					"areaCode": "63155",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "人民街道",
+					"areaCode": "63156",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "农林街道",
+					"areaCode": "63157",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "黄花岗街道",
+					"areaCode": "63158",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "建设街道",
+					"areaCode": "63159",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "矿泉街道",
+					"areaCode": "63160",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "大东街道",
+					"areaCode": "63168",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "北京街道",
+					"areaCode": "63177",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "六榕街道",
+					"areaCode": "63178",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "流花街道",
+					"areaCode": "63179",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "东山街道",
+					"areaCode": "63180",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "梅花村街道",
+					"areaCode": "63181",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "华乐街道",
+					"areaCode": "63182",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "大塘街道",
+					"areaCode": "63183",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "珠光街道",
+					"areaCode": "63184",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "白云街道",
+					"areaCode": "63185",
+					"parentId": "3637"
+				},
+				{
+					"areaName": "登峰街道",
+					"areaCode": "63187",
+					"parentId": "3637"
+				}
+			]
+		},
+		{
+			"areaName": "番禺区",
+			"areaCode": "36953",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "南村镇",
+					"areaCode": "50397",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "新造镇",
+					"areaCode": "50398",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "化龙镇",
+					"areaCode": "50399",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "石楼镇",
+					"areaCode": "50400",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "沙湾镇",
+					"areaCode": "50401",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "石碁镇",
+					"areaCode": "50402",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "51883",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "市桥街道",
+					"areaCode": "62865",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "沙头街道",
+					"areaCode": "62866",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "东环街道",
+					"areaCode": "62867",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "小谷围街道",
+					"areaCode": "62868",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "大石街道",
+					"areaCode": "62869",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "洛浦街道",
+					"areaCode": "62870",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "石壁街道",
+					"areaCode": "62871",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "桥南街道",
+					"areaCode": "62891",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "钟村街道",
+					"areaCode": "62892",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "大龙街道",
+					"areaCode": "62893",
+					"parentId": "36953"
+				},
+				{
+					"areaName": "广州大学城",
+					"areaCode": "51091",
+					"parentId": "36953"
+				}
+			]
+		},
+		{
+			"areaName": "花都区",
+			"areaCode": "50256",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "狮岭镇",
+					"areaCode": "50414",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "雅瑶镇",
+					"areaCode": "50415",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "花山镇",
+					"areaCode": "50416",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "花东镇",
+					"areaCode": "50417",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "炭步镇",
+					"areaCode": "50418",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "梯面镇",
+					"areaCode": "50419",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "赤坭镇",
+					"areaCode": "50420",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "白云国际机场",
+					"areaCode": "50421",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "51884",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "花城街道",
+					"areaCode": "62876",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "新华街道",
+					"areaCode": "62894",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "秀全街道",
+					"areaCode": "62900",
+					"parentId": "50256"
+				},
+				{
+					"areaName": "新雅街道",
+					"areaCode": "62901",
+					"parentId": "50256"
+				}
+			]
+		},
+		{
+			"areaName": "南沙区",
+			"areaCode": "50259",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "黄阁镇",
+					"areaCode": "50423",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "东涌镇",
+					"areaCode": "50424",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "大岗镇",
+					"areaCode": "50425",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "榄核镇",
+					"areaCode": "50426",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "横沥镇",
+					"areaCode": "50427",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "万顷沙镇",
+					"areaCode": "50430",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "51886",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "龙穴街道",
+					"areaCode": "52680",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "南沙街道",
+					"areaCode": "62914",
+					"parentId": "50259"
+				},
+				{
+					"areaName": "珠江街道",
+					"areaCode": "62915",
+					"parentId": "50259"
+				}
+			]
+		},
+		{
+			"areaName": "黄埔区",
+			"areaCode": "50283",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "长岭街道",
+					"areaCode": "129162",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "云埔街道",
+					"areaCode": "129163",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "长洲街道",
+					"areaCode": "50386",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "51887",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "永和街道",
+					"areaCode": "53526",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "联和街道",
+					"areaCode": "62861",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "文冲街道",
+					"areaCode": "62862",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "南岗街道",
+					"areaCode": "62863",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "萝岗街道",
+					"areaCode": "62864",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "黄埔街道",
+					"areaCode": "62883",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "红山街道",
+					"areaCode": "62884",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "鱼珠街道",
+					"areaCode": "62885",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "大沙街道",
+					"areaCode": "62886",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "穗东街道",
+					"areaCode": "62887",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "荔联街道",
+					"areaCode": "62888",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "夏港街道",
+					"areaCode": "62889",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "东区街道",
+					"areaCode": "62890",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "九佛街道",
+					"areaCode": "71656",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "龙湖街道",
+					"areaCode": "71661",
+					"parentId": "50283"
+				},
+				{
+					"areaName": "新龙镇",
+					"areaCode": "71662",
+					"parentId": "50283"
+				}
+			]
+		},
+		{
+			"areaName": "增城区",
+			"areaCode": "50284",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "朱村街道",
+					"areaCode": "50447",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "新塘镇",
+					"areaCode": "50448",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "小楼镇",
+					"areaCode": "50449",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "石滩镇",
+					"areaCode": "50450",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "中新镇",
+					"areaCode": "50451",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "正果镇",
+					"areaCode": "50452",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "派潭镇",
+					"areaCode": "50453",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "宁西街道",
+					"areaCode": "51055",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "仙村镇",
+					"areaCode": "51056",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "52086",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "增江街道",
+					"areaCode": "62875",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "荔城街道",
+					"areaCode": "62897",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "永宁街道",
+					"areaCode": "62898",
+					"parentId": "50284"
+				},
+				{
+					"areaName": "荔湖街道",
+					"areaCode": "62899",
+					"parentId": "50284"
+				}
+			]
+		},
+		{
+			"areaName": "从化区",
+			"areaCode": "50285",
+			"parentId": "1601",
+			"children": [
+				{
+					"areaName": "太平镇",
+					"areaCode": "50466",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "神岗镇",
+					"areaCode": "50467",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "温泉镇",
+					"areaCode": "50468",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "良口镇",
+					"areaCode": "50469",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "吕田镇",
+					"areaCode": "50470",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "鳌头镇",
+					"areaCode": "50471",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "龙潭镇",
+					"areaCode": "51057",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "东明镇",
+					"areaCode": "51058",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "城区",
+					"areaCode": "51382",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "街口街道",
+					"areaCode": "62872",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "流溪河林场",
+					"areaCode": "62873",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "黄龙带水库管理处",
+					"areaCode": "62874",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "江埔街道",
+					"areaCode": "62895",
+					"parentId": "50285"
+				},
+				{
+					"areaName": "城郊街道",
+					"areaCode": "62896",
+					"parentId": "50285"
+				}
+			]
+		}
+	]
+}
\ No newline at end of file
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAreaDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAreaDTO.java
new file mode 100644
index 0000000..0758558
--- /dev/null
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/json/CaseAreaDTO.java
@@ -0,0 +1,17 @@
+package cn.huge.module.cases.domain.json;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhouxiantao
+ * @create 2024-09-20 9:54
+ */
+@Data
+public class CaseAreaDTO {
+    private String areaName;//区域名称
+    private String areaCode;//区域编码
+    private String parentId;//父类ID
+    private List<CaseAreaDTO> children;//子类集合
+}
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
index e26abb9..2778806 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -4,6 +4,7 @@
 import cn.huge.base.common.utils.*;
 import cn.huge.module.cases.domain.dto.*;
 
+import cn.huge.module.cases.domain.json.CaseAreaDTO;
 import cn.huge.module.cases.domain.po.CaseAgent;
 import cn.huge.module.cases.domain.po.CaseInfoUnfold;
 import cn.huge.module.cases.domain.po.CasePerson;
@@ -24,6 +25,7 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -36,6 +38,8 @@
 import org.springframework.data.domain.PageRequest;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -893,7 +897,7 @@
         return new PageImpl<CasePageDTO>(content, page, total);
     }
 
-    public CaseStatisticsBaseDTO statistics(Map<String, Object> terms){
+    public CaseStatisticsBaseDTO statistics(Map<String, Object> terms) throws IOException {
         //基础数据统计
         CaseStatisticsBaseDTO caseStatisticsBaseDTO = mapper.statisticsBase(terms);
         Integer baseTotalNum = dellNull(caseStatisticsBaseDTO.getResolveNum()) + dellNull(caseStatisticsBaseDTO.getUnResolveNum())+ dellNull(caseStatisticsBaseDTO.getResolveingNum());
@@ -913,13 +917,30 @@
         CaseStatisticsAreaDTO allArea = new CaseStatisticsAreaDTO();
         allArea.setAreaName("本级");
         allArea.setAreaCode("1");
+        List<String> areaCodeList = new ArrayList<>();
         for (CaseStatisticsAreaDTO caseStatisticsAreaDTO : caseStatisticsAreaDTOS) {
             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()));
+            areaCodeList.add(caseStatisticsAreaDTO.getAreaCode());
         }
         caseStatisticsAreaDTOS.add(allArea);
+        List<CaseAreaDTO> queArea = listAreaByType(terms.get("areaType"), terms.get("queArea"));
+        log.info("listAreaByType {}",JSON.toJSONString(queArea));
+        for (CaseAreaDTO 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);
+                caseStatisticsAreaDTOS.add(areaChild);
+            }
+        }
+
         if(ObjectUtils.isNotEmpty(caseStatisticsAreaDTOS)){
             sortArea(caseStatisticsAreaDTOS);
         }
@@ -1027,4 +1048,38 @@
         }
         return number;
     }
+
+    /**
+     * 根据json文件获取区域信息
+     * */
+    public CaseAreaDTO getArea() throws IOException {
+        Class<?> clazz = CaseAreaDTO.class;
+        String path = clazz.getResource("").getPath();
+        ObjectMapper mapper = new ObjectMapper();
+        File file = new File(path+"Area.json");
+        CaseAreaDTO obj = mapper.readValue(file, CaseAreaDTO.class);
+        return obj;
+    }
+
+    /**
+     * 根据不同的等级获取不同区域子集合
+     * @param areaType 1-市级 2-区
+     * */
+    public List<CaseAreaDTO> listAreaByType(Object areaType,Object areaCode) throws IOException {
+        log.info("listAreaByType {},{}",areaType,areaCode);
+        CaseAreaDTO area = getArea();
+        log.info("listAreaByType area {}",JSON.toJSONString(area));
+        if(ObjectUtils.isEmpty(areaType) || areaType.equals("") || areaType.equals("1")){
+            return area.getChildren();
+        }
+        if(areaType.equals("2")){
+            List<CaseAreaDTO> children = area.getChildren();
+            for (CaseAreaDTO child : children) {
+                if(child.getAreaCode().equals(areaCode)){
+                    return child.getChildren();
+                }
+            }
+        }
+        return new ArrayList<>();
+    }
 }

--
Gitblit v1.8.0