| | |
| | | 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 ; |
| | |
| | | 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 ; |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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) ; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | 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); |
| | |
| | | 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 |
| | |
| | | |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | @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 ;//çº¿ç¨æ± çº¿ç¨æå¤§ä¸ªæ° |
| | |
| | | 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 ) ; |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è®¡ç®æ¥åº |
| | | */ |
| | | @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){ |
| | |
| | | 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); |
| | | } |
| | | } |