7个文件已修改
1个文件已添加
92 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/resources/application-params.yml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/modelCalculate/ModelCalculator.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/modelCalculate/ModelCalculatorSv.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/timingTask/CalculateJob.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/timingTask/ModelListener.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestCtrl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/文档/水肥气象墒情/系统增加水肥气象墒情过程.docx 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateLast.java
@@ -220,10 +220,10 @@
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt) ;
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ;
        if(alarmVo != null){
            this.alarmBatteryVolt = alarmVo.batteryVolt ;
            this.alarmLoss = alarmVo.loss ;
            this.alarmWaterMeterBreak = alarmVo.meter ;
            this.alarmValve = alarmVo.valve ;
            this.alarmWaterMeterFault = alarmVo==null?null:alarmVo.meter; // æµé‡è®¡æ•…éšœ(1:报警,0:正常)
            this.alarmLoss = alarmVo==null?null:alarmVo.loss; // æ¼æŸ(偷水)报警(1:报警, 0:正常)
            this.alarmBatteryVolt = alarmVo==null?null:alarmVo.batteryVolt; //电池电压(1:报警,0:正常)
            this.alarmValve = alarmVo==null?null:alarmVo.valve; //阀门报警(1:报警,0:正常)
        }/*else{
            this.alarmBatteryVolt = null ;
            this.alarmLoss = null ;
@@ -249,10 +249,10 @@
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.dt) ;
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ;
        if(alarmVo != null){
            this.alarmBatteryVolt = alarmVo.batteryVolt ;
            this.alarmLoss = alarmVo.loss ;
            this.alarmWaterMeterBreak = alarmVo.meter ;
            this.alarmValve = alarmVo.valve ;
            this.alarmWaterMeterFault = alarmVo==null?null:alarmVo.meter; // æµé‡è®¡æ•…éšœ(1:报警,0:正常)
            this.alarmLoss = alarmVo==null?null:alarmVo.loss; // æ¼æŸ(偷水)报警(1:报警, 0:正常)
            this.alarmBatteryVolt = alarmVo==null?null:alarmVo.batteryVolt; //电池电压(1:报警,0:正常)
            this.alarmValve = alarmVo==null?null:alarmVo.valve; //阀门报警(1:报警,0:正常)
        }/*else{
            this.alarmBatteryVolt = null ;
            this.alarmLoss = null ;
pipIrr-platform/pipIrr-mw/pipIrr-param-set/src/main/resources/application-params.yml
@@ -60,12 +60,12 @@
            webPort: 8100
            actutorPort: 9100
            dbName: pipIrr_mq
            mqttEnable: false
            mqttEnable: true
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
            mqttProtocolAndDeviceIds: sd1/2430002404000888
            mqttSubTopicAndQos: weather/1,1;soil/1,1;manure/1,1
        yq:
            orgTag: yq
            tcpPort: 60101
@@ -129,8 +129,8 @@
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds:
            mqttSubTopicAndQos:
            mqttProtocolAndDeviceIds: sd1/2430002404000830
            mqttSubTopicAndQos: weather/1,1;soil/1,1;manure/1,1
        jyg:
            orgTag: jyg
            tcpPort: 60106
@@ -142,5 +142,5 @@
            mqttNoSubThenOff: 10
            mqttServerIp: 127.0.0.1
            mqttServerPort: 1883
            mqttProtocolAndDeviceIds: sd1/2430002404000840,sd1/2430002404000840
            mqttProtocolAndDeviceIds: sd1/2430002404000840
            mqttSubTopicAndQos: weather/1,1;soil/1,1;manure/1,1
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/modelCalculate/ModelCalculator.java
@@ -59,8 +59,10 @@
            List<VoWeatherMaxMinTmp> tmps = this.sv.selectYesterdayMaxMinTemperature(vo.weatherId) ;
            if(tmps != null && tmps.size() > 0){
                VoWeatherMaxMinTmp voMmTmp = tmps.get(0);//只能有一条记录
                Double et0 = this.calculateEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor) ;//计算蒸腾数据
                Integer count = this.saveEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor, et0) ;
                if(voMmTmp != null && voMmTmp.maxAirTemperature != null && voMmTmp.minAirTemperature != null){
                    Double et0 = this.calculateEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor) ;//计算蒸腾数据
                    this.saveEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor, et0) ;
                }
            }
        }
    }
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/modelCalculate/ModelCalculatorSv.java
@@ -55,8 +55,9 @@
    }
    public List<VoWeatherMaxMinTmp> selectYesterdayMaxMinTemperature(Long weatherId) throws Exception{
        String ymd = DateTime.yesterday_yyyy_MM_dd(Integer.parseInt(DateTime.yyyy()), Integer.parseInt(DateTime.MM()), Integer.parseInt(DateTime.dd())) ; //昨天
        int[] ymdGrp = DateTime.yyyy_MM_dd_2_ymdGroup(ymd) ;
        String yesterday = DateTime.lastXDay_yyyy_MM_dd(1) ; //昨天
        // String yesterday = DateTime.yesterday_yyyy_MM_dd(Integer.parseInt(DateTime.yyyy()), Integer.parseInt(DateTime.MM()), Integer.parseInt(DateTime.dd())) ; //昨天
        int[] ymdGrp = DateTime.yyyy_MM_dd_2_ymdGroup(yesterday) ;
        Long startId = IDLongGenerator.generateOneDayStartId(ymdGrp[0], ymdGrp[1], ymdGrp[2]) ;
        Long endId = IDLongGenerator.generateOneDayEndId(ymdGrp[0], ymdGrp[1], ymdGrp[2]) ;
        return this.rmWeatherHistoryDao.selectMaxMinTemperature(weatherId, startId, endId);
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/timingTask/CalculateJob.java
@@ -3,12 +3,15 @@
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.schedulerTask.TaskJob;
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.pipIrrGlobal.util.Org;
import com.dy.pipIrrModel.modelCalculate.ModelCalculator;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.List;
/**
 * @Author: liurunyu
@@ -19,21 +22,24 @@
    private static Logger log = LogManager.getLogger(CalculateJob.class.getName()) ;
    private String orgTag ;
    private List<Org.OrgVo> orgList ;
    @Override
    public void execute(JobExecutionContext ctx) throws JobExecutionException {
        JobDataMap jobDataMap = ctx.getJobDetail().getJobDataMap() ;
        if(jobDataMap != null){
            orgTag = (String)jobDataMap.get(ModelListener.orgKey) ;
            orgList = (List<Org.OrgVo>)jobDataMap.get(ModelListener.orgListKey) ;
        }
        if(orgTag == null){
        if(orgList == null){
            return ;
        }
        DataSourceContext.set(orgTag);//设置数据源
        ModelCalculator bean = (ModelCalculator)SpringContextUtil.getBean(ModelCalculator.selfBeanName);
        if(bean != null){
            bean.execute();
        for(Org.OrgVo vo : orgList){
            DataSourceContext.set(vo.tag);//设置数据源
            ModelCalculator bean = (ModelCalculator)SpringContextUtil.getBean(ModelCalculator.selfBeanName);
            if(bean != null){
                bean.execute();
            }
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/timingTask/ModelListener.java
@@ -25,7 +25,7 @@
@Component
public class ModelListener extends OrgListenerSupport implements ApplicationListener<ApplicationReadyEvent> {
    protected static final String orgKey = "tag" ;
    protected static final String orgListKey = "tagList" ;
    private static final String JobName = "modelCalculateJob" ;
    private static final String JobGroupName = "modelCalculateGroup" ;
    private static final Integer ThreadPoolMaxCount = 1 ;//线程池线程最大个数
@@ -74,11 +74,10 @@
        List<Org.OrgVo> orgList = Org.OrgList ;
        if(orgList != null && orgList.size() >0){
            SchedulerTaskSupport.setThreadPoolPro(ThreadPoolMaxCount * orgList.size(), ThreadPoolPriority);
            for(Org.OrgVo vo : orgList){
                HashMap<String , Object> jobDataMap    = new HashMap<String , Object>() ;
                jobDataMap.put(orgKey, vo.tag) ;
                SchedulerTaskSupport.addDailyJob(JobName + vo.tag, JobGroupName, CalculateJob.class, jobDataMap, startHour, startMinute ) ;
            }
            HashMap<String , Object> jobDataMap    = new HashMap<String , Object>() ;
            jobDataMap.put(orgListKey,orgList) ;
            SchedulerTaskSupport.addDailyJob(JobName, JobGroupName, CalculateJob.class, jobDataMap, startHour, startMinute ) ;
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestCtrl.java
@@ -56,6 +56,22 @@
        }
    }
    /**
     * è®¡ç®—日序
     */
    @GetMapping(path = "dateIndex")
    @SsoAop()
    public BaseResponse<Integer> dateIndex(String y_m_d){
        try {
            Long days = DateTime.daysBetweenyyyy_MM_dd(y_m_d, y_m_d.substring(0, 4) + "-01-01");
            Integer dateIndex = days.intValue() + 1 ;
            return BaseResponseUtils.buildSuccess(dateIndex);
        } catch (Exception e) {
            log.error("计算日序异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    @PostMapping(path = "calculate", consumes = MediaType.APPLICATION_JSON_VALUE)
    @SsoAop()
    public BaseResponse<Double> calculate(@RequestBody TestQo qo){
@@ -77,4 +93,10 @@
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    public static void main(String[] args) {
        String ymd = "2025-08-22" ;
        String year = ymd.substring(0, 4) ;
        System.out.println(year);
    }
}
pipIrr-platform/Îĵµ/Ë®·ÊÆøÏóÉÊÇé/ϵͳÔö¼ÓË®·ÊÆøÏóÉÊÇé¹ý³Ì.docx
Binary files differ