From 84f54ef9dd4022a87c8c71648d3015d0ea51279b Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 15 八月 2024 08:36:07 +0800
Subject: [PATCH] 2024-08-15 朱宝民 添加片区(含地图图形和坐标)、分页获取片区(含地图图形和坐标)

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java |  101 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 99 insertions(+), 2 deletions(-)

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 89f37a1..11a0410 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
@@ -1,8 +1,18 @@
 package com.dy.pipIrrBase.block;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoBa.BaBlockMapper;
+import com.dy.pipIrrGlobal.daoBa.BaMapCoordinatesMapper;
+import com.dy.pipIrrGlobal.daoBa.BaMapGraphMapper;
 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 lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +32,12 @@
     private void setDao(BaBlockMapper dao){
         this.dao = dao;
     }
+
+    @Autowired
+    private BaMapGraphMapper baMapGraphMapper;
+
+    @Autowired
+    private BaMapCoordinatesMapper baMapCoordinatesMapper;
 
     /**
      * 寰楀埌涓�涓墖鍖�
@@ -62,13 +78,74 @@
     }
 
     /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鐗囧尯锛�2024-08-14鏂板锛屾浛鎹㈠師鏉ョ殑鐗囧尯鍒嗛〉鏌ヨ
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoBlock>> getBlocks(QueryVo vo){
+        vo.setPageCurr((vo.pageCurr -1) * vo.pageSize);
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+        Long itemTotal = this.dao.getBlocksCount(params) ;
+
+        JSONArray array_blocks = null;
+        JSONArray array_mapGraphs = null;
+
+        // 鑾峰彇鐗囧尯鍒楄〃
+        List<VoBlock> list_blocks = this.dao.getBlocks(params);
+        if(list_blocks != null && list_blocks.size() > 0) {
+            //JSONArray array_blocks = (JSONArray) JSON.toJSON(list_blocks);
+            array_blocks = (JSONArray) JSON.toJSON(list_blocks);
+            for (int i = 0; i < array_blocks.size(); i++) {
+                JSONObject job_block = array_blocks.getJSONObject(i);
+                Long blockId = job_block.getLong("id");
+
+                // 鏍规嵁鐗囧尯ID鑾峰彇鍦板浘鍥惧舰鍒楄〃
+                List<VoMapGraph> list_mapGraphs = this.dao.gertMapGraphsByBlockId(blockId);
+                if(list_mapGraphs != null && list_mapGraphs.size() > 0) {
+                    array_mapGraphs = (JSONArray) JSON.toJSON(list_mapGraphs);
+                    for (int j = 0; j < array_mapGraphs.size(); j++) {
+                        JSONObject job_mapGraph = array_mapGraphs.getJSONObject(j);
+                        job_mapGraph = array_mapGraphs.getJSONObject(j);
+                        Long graphId = job_mapGraph.getLong("graphId");
+                        String graphType = job_mapGraph.getString("type");
+
+                        // 鏍规嵁鍦板浘鍥惧舰ID鑾峰彇鍦板浘鍥惧舰鍧愭爣鍒楄〃锛屽苟娣诲姞鍒板湴鍥惧浘褰㈠璞′腑
+                        List<VoMapCoordinates> list_mapCoordinates = this.dao.getCoordinatesByGraphId(graphId);
+                        if(list_mapCoordinates != null && list_mapCoordinates.size() > 0) {
+                            JSONArray array_mapCoordinates = (JSONArray) JSON.toJSON(list_mapCoordinates);
+                            job_mapGraph.put("coordinates", array_mapCoordinates);
+                            String cc= "";
+                        }
+                    }
+                }
+
+                // 灏嗗湴鍥惧浘褰㈡暟缁勬坊鍔犲埌鐗囧尯涓�
+                if(array_mapGraphs != null && array_mapGraphs.size() > 0) {
+                    job_block.put("graph", array_mapGraphs);
+                }
+            }
+        }
+
+        QueryResultVo<List<VoBlock>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = vo.pageSize ;
+        rsVo.pageCurr = vo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+        //rsVo.obj = this.dao.getBlocks(params) ;
+        rsVo.obj = array_blocks.toList(VoBlock.class);
+
+        return rsVo ;
+    }
+
+    /**
      * 淇濆瓨瀹炰綋
      * @param po 瀹炰綋
      * @return 鏁伴噺
      */
     @Transactional
-    public int save(BaBlock po){
-        return this.dao.putin(po) ;
+    public Long save(BaBlock po){
+        //return this.dao.putin(po) ;
+        this.dao.putin(po);
+        return po.getId();
     }
 
     /**
@@ -91,4 +168,24 @@
         return this.dao.deleteLogicById(id) ;
     }
 
+    /**
+     * 娣诲姞鍦板浘鍥惧舰
+     * @param po
+     * @return
+     */
+    public Long addMapGraph(BaMapGraph po) {
+        this.baMapGraphMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 娣诲姞鍦板浘鍥惧舰鍧愭爣
+     * @param po
+     * @return
+     */
+    public Long addMapCoordinate(BaMapCoordinates po) {
+        this.baMapCoordinatesMapper.insert(po);
+        return po.getId();
+    };
+
 }

--
Gitblit v1.8.0