From e18c4a8ac170fea6e079047a27f72032c80eee67 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 30 九月 2024 14:12:18 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java |  187 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 177 insertions(+), 10 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 724f737..2c67b73 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,17 +1,30 @@
 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.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.apache.commons.beanutils.BeanUtils ;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 
 @Slf4j
 @Service
@@ -24,6 +37,15 @@
         this.dao = dao;
     }
 
+    @Autowired
+    private BaMapGraphMapper baMapGraphMapper;
+
+    @Autowired
+    private BaMapCoordinatesMapper baMapCoordinatesMapper;
+
+    @Autowired
+    private PrDivideMapper prDivideMapper;
+
     /**
      * 寰楀埌涓�涓墖鍖�
      * @param id 鐗囧尯ID
@@ -33,24 +55,98 @@
         return this.dao.selectByPrimaryKey(id) ;
     }
 
+
+    /**
+     * 寰楀埌鎵�鏈夌墖鍖�
+     * @return 鎵�鏈夌墖鍖洪泦鍚�
+     */
+    public QueryResultVo<List<BaBlock>> selectAll(){
+        QueryResultVo<List<BaBlock>> rsVo = new QueryResultVo<>() ;
+        rsVo.obj = this.dao.selectAll() ;
+        return rsVo ;
+    }    
     /**
      * 寰楀埌涓�涓墖鍖�
      * @param vo 鏌ヨ鏉′欢鍊煎璞�
      * @return 鐗囧尯瀹炰綋
      */
-    public QueryResultVo<List<BaBlock>> selectSome(QueryVo vo) throws Exception{
-        Map<String, Object> params = new HashMap<>();
-        BeanUtils.populate(vo, params);
+    @SuppressWarnings("unchecked")
+    public QueryResultVo<List<BaBlock>> selectSome(QueryVo vo){
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
         Long itemTotal = this.dao.selectTotal(params) ;
 
         QueryResultVo<List<BaBlock>> rsVo = new QueryResultVo<>() ;
         rsVo.pageSize = vo.pageSize ;
         rsVo.pageCurr = vo.pageCurr ;
         rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = this.dao.selectSome(params) ;
 
-        List<BaBlock> list = this.dao.selectSome(params) ;
+        return rsVo ;
+    }
 
-        return (QueryResultVo.<List<BaBlock>>builder().content(list)).build() ;
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鐗囧尯锛�2024-08-14鏂板锛屾浛鎹㈠師鏉ョ殑鐗囧尯鍒嗛〉鏌ヨ
+     * @param vo
+     * @return
+     */
+    public QueryResultVo<List<VoBlock>> getBlocks(QueryVo vo){
+        vo.setPageCurr((vo.getPageCurr() -1) * vo.getPageSize());
+        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) {
+            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");
+
+                // 澶勭悊涓�涓柊鐨勭墖鍖哄墠娓呯┖graphs锛岄伩鍏嶄笂涓�涓墖鍖虹殑graphs瀛樼暀鏁版嵁閫犳垚鏁版嵁閿欒
+                array_mapGraphs = null;
+                // 鏍规嵁鐗囧尯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);
+
+                            JSONArray[] arrays = new JSONArray[1];
+                            arrays[0] = array_mapCoordinates;
+                            job_mapGraph.put("coordinates", arrays);
+                        }
+                    }
+                }
+
+                // 灏嗗湴鍥惧浘褰㈡暟缁勬坊鍔犲埌鐗囧尯涓�
+                if(array_mapGraphs != null && array_mapGraphs.size() > 0) {
+                    job_block.put("graphs", array_mapGraphs);
+                }
+            }
+        }else {//澧炲姞鍋ュ.鎬�
+            QueryResultVo<List<VoBlock>> rsVo = new QueryResultVo<>() ;
+            return rsVo ;
+        }
+
+        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 ;
     }
 
     /**
@@ -58,8 +154,11 @@
      * @param po 瀹炰綋
      * @return 鏁伴噺
      */
-    public int save(BaBlock po){
-        return this.dao.insert(po) ;
+    @Transactional
+    public Long save(BaBlock po){
+        //return this.dao.putin(po) ;
+        this.dao.putin(po);
+        return po.getId();
     }
 
     /**
@@ -67,6 +166,7 @@
      * @param po 瀹炰綋
      * @return 鏁伴噺
      */
+    @Transactional
     public int update(BaBlock po){
         return this.dao.updateByPrimaryKeySelective(po) ;
     }
@@ -76,8 +176,75 @@
      * @param id 瀹炰綋ID
      * @return 鏁伴噺
      */
+    @Transactional
     public int delete(Long id){
         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();
+    };
+
+    /**
+     * 鏍规嵁鐗囧尯ID鍒犻櫎鍦板浘鍥惧舰
+     * @param blockId
+     * @return
+     */
+    public int deleteMapGraph(Long blockId) {
+        return this.baMapGraphMapper.deleteByBlockId(blockId);
+    }
+
+    /**
+     * 鏍规嵁鐗囧尯ID鍒犻櫎璇ョ墖鍖轰笅鐨勫潗鏍囩偣
+     * @param blockId
+     * @return
+     */
+    public int deleteMapCoordinates(Long blockId) {
+        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").toString());
+                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