liurunyu
2025-08-20 d4c8e72800fcf6fbaa3804d383c7b6a23f826f3e
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/modelCalculate/ModelCalculator.java
@@ -1,5 +1,6 @@
package com.dy.pipIrrModel.modelCalculate;
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.pojoMd.MdEt0;
import com.dy.pipIrrGlobal.voMd.VoCrops;
@@ -32,6 +33,7 @@
    }
    public void execute(){
        String orgTag = DataSourceContext.get() ;
        List<VoCrops> crops = this.sv.selectAllCrops() ;
        if(crops != null && crops.size() > 0){
            for (VoCrops crop : crops) {
@@ -47,6 +49,7 @@
                }
            }
        }
        orgTag = DataSourceContext.get() ;
    }
    private void executeOnCrop(VoCrops vo, VoWeather voWeather) throws Exception{
        String yesterday_ymd = DateTime.yesterday_yyyy_MM_dd(Integer.parseInt(DateTime.yyyy()), Integer.parseInt(DateTime.MM()), Integer.parseInt(DateTime.dd())) ; //昨天
@@ -57,7 +60,7 @@
            if(tmps != null && tmps.size() > 0){
                VoWeatherMaxMinTmp voMmTmp = tmps.get(0);//只能有一条记录
                Double et0 = this.calculateEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor) ;//计算蒸腾数据
                this.saveEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor, et0) ;
                Integer count = this.saveEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor, et0) ;
            }
        }
    }
@@ -120,11 +123,12 @@
        return et0 ;
    }
    private void saveEt0(String yesterday_ymd, VoCrops vo, VoWeather voWeather, VoWeatherMaxMinTmp voMmTmp, Double factor, Double et0)throws Exception{
    private Integer saveEt0(String yesterday_ymd, VoCrops vo, VoWeather voWeather, VoWeatherMaxMinTmp voMmTmp, Double factor, Double et0)throws Exception{
        MdEt0 po = this.sv.selectByCropWeatherDt(vo.id, voWeather.id, yesterday_ymd);
        if(po != null){
        if(po == null){
            Date yesterday = DateTime.dateFrom_yyyy_MM_dd(yesterday_ymd) ;
            this.sv.saveEt0(vo.id, voWeather.id, yesterday, voMmTmp.maxAirTemperature, voMmTmp.minAirTemperature, factor, et0) ;
            return this.sv.saveEt0(vo.id, voWeather.id, yesterday, voMmTmp.maxAirTemperature, voMmTmp.minAirTemperature, factor, et0) ;
        }
        return null ;
    }
}