From 4fd99c2a20258abc53085ae6f8d8cd54be91a626 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 18 八月 2025 11:17:22 +0800
Subject: [PATCH] 查询一个作物时,关联查询所关联的气象站名称

---
 pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsSv.java |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 101 insertions(+), 3 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsSv.java
index 235913f..af11c12 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/crops/CropsSv.java
@@ -1,9 +1,13 @@
 package com.dy.pipIrrModel.crops;
 
+import com.dy.common.util.DateTime;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoMd.MdCropsMapper;
+import com.dy.pipIrrGlobal.daoPr.PrStWeatherMapper;
 import com.dy.pipIrrGlobal.pojoMd.MdCrops;
+import com.dy.pipIrrGlobal.pojoPr.PrStWeather;
 import com.dy.pipIrrGlobal.voMd.VoCrops;
+import com.dy.pipIrrGlobal.voPr.VoWeather;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +27,7 @@
 public class CropsSv {
 
     private MdCropsMapper mdCropsDao ;
+    private PrStWeatherMapper prStWeatherMapper ;
 
     @Autowired
     private void setDao(MdCropsMapper dao) { this.mdCropsDao = dao; }
@@ -33,7 +38,18 @@
      * @return 瀹炰綋
      */
     public VoCrops selectById(Long id){
-        return this.mdCropsDao.selectById(id) ;
+        VoCrops vo = this.mdCropsDao.selectById(id) ;
+        if(vo != null){
+            this.setStoppedStr(vo) ;
+            this.setLife(vo) ;
+            if(vo.weatherId != null){
+                VoWeather wVo = this.prStWeatherMapper.selectOne(vo.weatherId) ;
+                if(wVo != null){
+                    vo.weatherName = wVo.getName() ;
+                }
+            }
+        }
+        return vo ;
     }
 
     /**
@@ -50,7 +66,14 @@
         rsVo.pageSize = qo.pageSize ;
         rsVo.pageCurr = qo.pageCurr ;
         rsVo.calculateAndSet(itemTotal, params);
-        rsVo.obj = this.mdCropsDao.selectSome(params) ;
+        List<VoCrops> list = this.mdCropsDao.selectSome(params) ;
+        if(list != null && list.size() > 0){
+            for(VoCrops vo : list){
+                this.setStoppedStr(vo) ;
+                this.setLife(vo) ;
+            }
+        }
+        rsVo.obj = list ;
 
         return rsVo ;
     }
@@ -60,7 +83,14 @@
      */
     @SuppressWarnings("unchecked")
     public List<VoCrops> selectAll(){
-        return this.mdCropsDao.selectAll() ;
+        List<VoCrops> list = this.mdCropsDao.selectAll() ;
+        if(list != null && list.size() > 0){
+            for(VoCrops vo : list){
+                this.setStoppedStr(vo) ;
+                this.setLife(vo) ;
+            }
+        }
+        return list ;
     }
     /**
      * 娣诲姞瀹炰綋
@@ -88,5 +118,73 @@
         return mdCropsDao.deleteById(id);
     }
 
+    private void setStoppedStr(VoCrops vo) {
+        if (vo.stopped != null) {
+            if(vo.stopped == 0){
+                vo.stoppedStr = "鍚�";
+            }else{
+                vo.stoppedStr = "鏄�";
+            }
+        }else{
+            vo.stoppedStr = "" ;
+        }
+    }
+    private void setLife(VoCrops vo){
+        vo.lifeLenStr = "--" ;
+        vo.lifeCur = "--" ;
+        vo.lifeFactorStr = "--" ;
+        try{
+            if(vo.startDt != null && vo.endDt != null){
+                String start = DateTime.yyyy() + "-" + vo.startDt ;
+                String now = DateTime.yyyy_MM_dd() ;
+                Long days = DateTime.daysBetweenyyyy_MM_dd(now, start) ;
+                if(days > 0){
+                    vo.lifeLen = days.intValue() ;
+                    vo.lifeLenStr = "" + days + "澶�" ;
+                    if(vo.life4Start != null && vo.life4End != null){
+                        if(days >= vo.life4Start && days <= vo.life4End){
+                            vo.lifeCur = "鐢熼暱鏈湡" ;
+                            vo.lifeFactor = vo.life4Factor ;
+                            vo.lifeFactorStr = "" + vo.lifeFactor ;
+                        }
+                        if(days > vo.life4End){
+                            vo.lifeCur = "宸茬粨鏉�" ;
+                            vo.lifeLenStr = "--" ;
+                        }
+                    }
+                    if(vo.life3Start != null && vo.life3End != null){
+                        if(days >= vo.life3Start && days <= vo.life3End){
+                            vo.lifeCur = "鐢熼暱涓湡" ;
+                            vo.lifeFactor = vo.life3Factor ;
+                            vo.lifeFactorStr = "" + vo.lifeFactor ;
+                        }
+                    }
+                    if(vo.life2Start != null && vo.life2End != null){
+                        if(days >= vo.life2Start && days <= vo.life2End){
+                            vo.lifeCur = "蹇�熺敓闀挎湡" ;
+                            vo.lifeFactor = vo.life2Factor ;
+                            vo.lifeFactorStr = "" + vo.lifeFactor ;
+                        }
+                    }
+                    if(vo.life1Start != null && vo.life1End != null){
+                        if(days >= vo.life1Start && days <= vo.life1End){
+                            vo.lifeCur = "鐢熼暱鍒濇湡" ;
+                            vo.lifeFactor = vo.life1Factor ;
+                            vo.lifeFactorStr = "" + vo.lifeFactor ;
+                        }
+                        if(days < vo.life1Start){
+                            vo.lifeCur = "鏈紑濮�" ;
+                            vo.lifeLenStr = "--" ;
+                        }
+                    }
+                }else{
+                    vo.lifeCur = "鏈紑濮�" ;
+                    vo.lifeLenStr = "--" ;
+                }
+            }
+        }catch (Exception e){
+            log.error("璁$畻浣滅墿鐢熷懡鍛ㄦ湡澶辫触", e) ;
+        }
+    }
 
 }

--
Gitblit v1.8.0