From 417c4a4ebef70bbcad064d284233d2b5fa71ebef Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 14 Jun 2024 17:36:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java                  |    1 
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml                   |   30 +++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseGeneralInvestigationVO.java |    4 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/TbResDykeVO.java                      |    5 ++
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java       |    5 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml              |   10 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResDykeMapper.xml               |   19 ++++++++-
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java          |   12 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java               |    1 
 9 files changed, 83 insertions(+), 4 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
index ec5b391..9c363ee 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -25,6 +25,10 @@
         tmp.totalDangerNum,
         tmp.termiteNum,
         tmp.otherNum,
+        ifnull(tmp.totalDanger,0) totalDanger,
+        ifnull(tmp.totalDangerSr,0) totalDangerSr,
+        ifnull(tmp.totalDangerCb,0) totalDangerCb,
+        ifnull(tmp.totalDangerDw,0) totalDangerDw,
 
         case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
         case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
@@ -61,7 +65,11 @@
 
         SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum,
         SUM(CASE WHEN (trgi."investigation_variety" = '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS termiteNum,
-        SUM(CASE WHEN (trgi."investigation_variety" != '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum
+        SUM(CASE WHEN (trgi."investigation_variety" != '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum,
+        SUM(CASE WHEN (trgi."is_danger" != '否') THEN 1 ELSE 0 END) AS totalDanger,
+        SUM(CASE WHEN (json_value(trgi."danger_info", '$.sr') != '') THEN json_value(trgi."danger_info", '$.sr') ELSE 0 END) AS totalDangerSr,
+        SUM(CASE WHEN (json_value(trgi."danger_info", '$.cb') != '') THEN json_value(trgi."danger_info", '$.cb') ELSE 0 END) AS totalDangerCb,
+        SUM(CASE WHEN (json_value(trgi."danger_info", '$.dw') != '') THEN json_value(trgi."danger_info", '$.dw') ELSE 0 END) AS totalDangerDw
         from sjzt_md."tb_res_general_investigation" trgi
         where 1=1
         <if test="attResBase.tbYear !=null and attResBase.tbYear !=''">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResDykeMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResDykeMapper.xml
index 247cdc7..c9ede16 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResDykeMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResDykeMapper.xml
@@ -72,7 +72,12 @@
         tmp.totalDangerNum,
         tmp.termiteNum,
         tmp.otherNum,
-        tmp.totalDangerLength
+        tmp.totalDangerLength,
+        ifnull(tmp.totalDanger,0) totalDanger,
+        ifnull(tmp.totalDangerSr,0) totalDangerSr,
+        ifnull(tmp.totalDangerCb,0) totalDangerCb,
+        ifnull(tmp.totalDangerDw,0) totalDangerDw
+
         from sjzt_md."tb_res_dyke" trd
         left join "SJZT_MD"."tb_dyke_investigation_state" tdis on trd."guid" = tdis."dyke_guid"
         left join YWXT."att_ad_base" aa on aa."guid" = trd."ad_code"
@@ -84,7 +89,11 @@
         sum(temp2.totalDangerNum) as totalDangerNum,
         sum(temp2.termiteNum) as termiteNum,
         sum(temp2.otherNum) as otherNum,
-        SUM(CASE WHEN temp2.dangerLength THEN temp2.dangerLength ELSE 0 END) AS totalDangerLength
+        SUM(CASE WHEN temp2.dangerLength THEN temp2.dangerLength ELSE 0 END) AS totalDangerLength,
+        sum(temp2.totalDanger) as totalDanger,
+        sum(temp2.totalDangerSr) as totalDangerSr,
+        sum(temp2.totalDangerCb) as totalDangerCb,
+        sum(temp2.totalDangerDw) as totalDangerDw
         from(
         SELECT
         TEMP1.*,
@@ -95,7 +104,11 @@
         SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength,
         SUM(CASE WHEN (tdi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum,
         SUM(CASE WHEN (tdi."investigation_variety" = '白蚁' and tdi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS termiteNum,
-        SUM(CASE WHEN (tdi."investigation_variety" != '白蚁' and tdi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum
+        SUM(CASE WHEN (tdi."investigation_variety" != '白蚁' and tdi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum,
+        SUM(CASE WHEN (tdi."is_danger" != '否') THEN 1 ELSE 0 END) AS totalDanger,
+        SUM(CASE WHEN (json_value(tdi."danger_info", '$.sr') != '') THEN json_value(tdi."danger_info", '$.sr') ELSE 0 END) AS totalDangerSr,
+        SUM(CASE WHEN (json_value(tdi."danger_info", '$.cb') != '') THEN json_value(tdi."danger_info", '$.cb') ELSE 0 END) AS totalDangerCb,
+        SUM(CASE WHEN (json_value(tdi."danger_info", '$.dw') != '') THEN json_value(tdi."danger_info", '$.dw') ELSE 0 END) AS totalDangerDw
         from sjzt_md."tb_dyke_investigation" tdi
         where 1=1
         <if test="vo.tbYear !=null and vo.tbYear !=''">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseGeneralInvestigationVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseGeneralInvestigationVO.java
index 38010db..7fa14ab 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseGeneralInvestigationVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseGeneralInvestigationVO.java
@@ -57,5 +57,9 @@
 	private String countyName;
 	private String townCode;
 	private String townName;
+	private String totalDanger;// 致险总处数
+	private String totalDangerSr;// 渗漏总处数
+	private String totalDangerCb;// 穿坝总处数
+	private String totalDangerDw;// 跌窝总处数
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/TbResDykeVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/TbResDykeVO.java
index e4b1290..1463a48 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/TbResDykeVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/TbResDykeVO.java
@@ -43,4 +43,9 @@
 	private String tbStateId;
 
 	private String hasDanger;
+
+	private String totalDanger;// 致险总处数
+	private String totalDangerSr;// 渗漏总处数
+	private String totalDangerCb;// 穿坝总处数
+	private String totalDangerDw;// 跌窝总处数
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
index 712fcf4..4abd035 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
@@ -116,6 +116,18 @@
 	}
 
 	/**
+	 * 根据父级角色查询子角色
+	 * @param parentId
+	 * @return
+	 */
+	@GetMapping("/treeByParentIdNew")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "树形结构", notes = "树形结构")
+	public R<List<RoleVO>> treeByParentIdNew(String parentId) {
+		List<RoleVO> tree = roleService.treeByParentIdNew(parentId);
+		return R.data(tree);
+	}
+	/**
 	 * 获取指定角色树形结构
 	 */
 	@GetMapping("/tree-by-id")
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java
index 2309d1b..3707809 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java
@@ -49,6 +49,7 @@
 	List<RoleVO> tree(String tenantId, String excludeRole);
 
 	List<RoleVO> treeByParentId(String [] parentId);
+	List<RoleVO> treeByParentIdNew(String [] parentId);
 
 	/**
 	 * 获取角色名
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
index f81f86a..51dd414 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
@@ -65,6 +65,36 @@
         ORDER BY sort
     </select>
 
+    <select id="treeByParentIdNew" resultMap="treeNodeResultMap">
+        select id, parent_id, role_name as title, id as "value", id as "key" from blade_role where is_deleted = 0
+        <if test="_parameter!=null and _parameter!=''">
+            and (
+            (
+            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                id = #{parentId}
+            </foreach>
+            )
+            or
+            (
+            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                parent_id = #{parentId}
+            </foreach>
+            )
+
+            or parent_id in (
+            select b.id from blade_role b where b.is_deleted = 0 and
+            (
+            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                b.PARENT_ID = #{parentId}
+            </foreach>
+            )
+
+            )
+            )
+        </if>
+        ORDER BY sort
+    </select>
+
     <select id="getRoleNames" resultType="java.lang.String">
         SELECT
         role_name
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java
index 7f3c16d..3f01445 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java
@@ -111,4 +111,5 @@
 	 */
 	boolean removeRole(String ids);
 
+	List<RoleVO> treeByParentIdNew(String parentId);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java
index 8b4896f..b9705ad 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java
@@ -86,6 +86,11 @@
 		}
 		return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId.split(",")));
 	}
+	@Override
+	public List<RoleVO> treeByParentIdNew(String parentId) {
+
+		return ForestNodeMerger.merge(baseMapper.treeByParentIdNew(parentId.split(",")));
+	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)

--
Gitblit v1.9.3