From ad416630c480a4e4af46674192b08277d17e1f1e Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 10 九月 2024 08:37:39 +0800
Subject: [PATCH] 2024-09-10 朱宝民 片区、分水房二级联动

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java   |   35 +++++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml                      |   13 +++++-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java        |   28 ++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java |   15 +++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java       |    8 ++++
 5 files changed, 97 insertions(+), 2 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
index c267e59..aed83e1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoPr.PrDivide;
 import com.dy.pipIrrGlobal.voPr.VoDivide;
+import com.dy.pipIrrGlobal.voPr.VoSimpleDivide;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -56,4 +57,11 @@
      * @return
      */
     Long getBlockIdById(@Param("divideId") Long divideId);
+
+    /**
+     * 鏍规嵁鐗囧尯ID鑾峰彇鍒嗘按鎴垮垪琛�
+     * @param blockId
+     * @return
+     */
+    List<VoSimpleDivide> getDividesByBlockId(Long blockId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java
new file mode 100644
index 0000000..e54c9f3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoSimpleDivide.java
@@ -0,0 +1,28 @@
+package com.dy.pipIrrGlobal.voPr;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-09-09 20:05
+ * @LastEditTime 2024-09-09 20:05
+ * @Description
+ */
+
+@Data
+public class VoSimpleDivide {
+    private static final long serialVersionUID = 202409092005001L;
+
+    /**
+     * 鍒嗘按鎴縄D
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long divideId;
+
+    /**
+     * 鍒嗘按鎴垮悕绉�
+     */
+    private String divideName;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
index 8f5ca51..e435175 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
@@ -302,14 +302,23 @@
     update pr_divide set deleted = 1
     <where>
       <if test = "id != null and id > 0">
-        AND id = ${id}
+        AND id = #{id}
       </if>
     </where>
   </update>
 
   <!--鏍规嵁鍒嗘按鎴跨紪鍙疯幏鍙栨墍灞炵墖鍖虹紪鍙�-->
   <select id="getBlockIdById" resultType="java.lang.Long">
-    SELECT blockId FROM pr_divide WHERE id = ${divideId}
+    SELECT blockId FROM pr_divide WHERE id = #{divideId}
+  </select>
+
+  <!--鏍规嵁鐗囧尯ID鑾峰彇鍒嗘按鎴垮垪琛�-->
+  <select id="getDividesByBlockId" resultType="com.dy.pipIrrGlobal.voPr.VoSimpleDivide">
+    SELECT
+      id As divideId,
+      name AS divideName
+    FROM pr_divide
+    WHERE deleted = 0 AND blockId = #{blockId}
   </select>
 
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
index a6bb146..eb0b48b 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
@@ -388,4 +388,19 @@
 
         return BaseResponseUtils.buildSuccess(true);
     }
+
+    /**
+     * 鑾峰彇鐗囧尯銆佸垎姘存埧鑱斿姩瑙嗗浘锛屾坊鍔犲啘鎴锋椂浣跨敤
+     * @return
+     */
+    @GetMapping(path = "/block_divides")
+    @SsoAop()
+    public BaseResponse<JSONArray> getBlockDivides() {
+        try {
+            return BaseResponseUtils.buildSuccess(this.sv.getBlockDivides());
+        } catch (Exception e) {
+            log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
index 2286f3d..8d0b720 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java
@@ -7,20 +7,24 @@
 import com.dy.pipIrrGlobal.daoBa.BaBlockMapper;
 import com.dy.pipIrrGlobal.daoBa.BaMapCoordinatesMapper;
 import com.dy.pipIrrGlobal.daoBa.BaMapGraphMapper;
+import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
 import com.dy.pipIrrGlobal.pojoBa.BaBlock;
 import com.dy.pipIrrGlobal.pojoBa.BaMapCoordinates;
 import com.dy.pipIrrGlobal.pojoBa.BaMapGraph;
 import com.dy.pipIrrGlobal.voBa.VoBlock;
 import com.dy.pipIrrGlobal.voBa.VoMapCoordinates;
 import com.dy.pipIrrGlobal.voBa.VoMapGraph;
+import com.dy.pipIrrGlobal.voPr.VoSimpleDivide;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 @Slf4j
 @Service
@@ -38,6 +42,9 @@
 
     @Autowired
     private BaMapCoordinatesMapper baMapCoordinatesMapper;
+
+    @Autowired
+    private PrDivideMapper prDivideMapper;
 
     /**
      * 寰楀埌涓�涓墖鍖�
@@ -212,4 +219,32 @@
         return this.baMapCoordinatesMapper.deleteByBlockId(blockId);
     }
 
+    /**
+     * 鑾峰彇鐗囧尯銆佸垎姘存埧鑱斿姩瑙嗗浘锛屾坊鍔犲啘鎴锋椂浣跨敤
+     * @return
+     */
+    public JSONArray getBlockDivides() {
+        JSONArray array_blocks = null;
+        JSONArray array_divides = null;
+        JSONArray array_result = new JSONArray();
+
+        List<BaBlock> list_blocks = dao.selectAll();
+        if(list_blocks != null && list_blocks.size() > 0) {
+            array_blocks = (JSONArray) JSON.toJSON(list_blocks);
+            for (int i = 0; i < array_blocks.size(); i++) {
+                JSONObject job_block = array_blocks.getJSONObject(i);
+                JSONObject job_blockNew = new JSONObject();
+                job_blockNew.put("value", job_block.getLong("id"));
+                job_blockNew.put("label", job_block.getString("name"));
+
+                List<VoSimpleDivide> list_divides = Optional.ofNullable( prDivideMapper.getDividesByBlockId(job_block.getLong("id"))).orElse(new ArrayList<>());
+                array_divides = (JSONArray) JSON.toJSON(list_divides);
+                job_blockNew.put("children", array_divides);
+                array_result.add(job_blockNew);
+            }
+            return array_result;
+        }else {
+            return new JSONArray();
+        }
+    }
 }

--
Gitblit v1.8.0