From 43a19a4424f67c379934ed0d70e0d1b3512cd769 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 27 三月 2025 09:31:44 +0800
Subject: [PATCH] 灌溉计划表中增加项目ID字段,计划列表返回值中增加项目名称,项目状态改为整数表示
---
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockSv.java | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 159 insertions(+), 3 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 6e09240..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,16 +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.springframework.transaction.annotation.Transactional;
-import java.util.Map;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.Optional;
@Slf4j
@Service
@@ -22,6 +36,15 @@
private void setDao(BaBlockMapper dao){
this.dao = dao;
}
+
+ @Autowired
+ private BaMapGraphMapper baMapGraphMapper;
+
+ @Autowired
+ private BaMapCoordinatesMapper baMapCoordinatesMapper;
+
+ @Autowired
+ private PrDivideMapper prDivideMapper;
/**
* 寰楀埌涓�涓墖鍖�
@@ -62,13 +85,80 @@
}
/**
+ * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鐗囧尯锛�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 ;
+ }
+
+ /**
* 淇濆瓨瀹炰綋
* @param po 瀹炰綋
* @return 鏁伴噺
*/
@Transactional
- public int save(BaBlock po){
- return this.dao.insert(po) ;
+ public Long save(BaBlock po){
+ //return this.dao.putin(po) ;
+ this.dao.putin(po);
+ return po.getId();
}
/**
@@ -91,4 +181,70 @@
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