| | |
| | | */ |
| | | List<VoWeather> selectSome(Map<?, ?> params); |
| | | |
| | | List<VoWeatherMaxMinTmp> selectMaxMinTemperature(@Param("weatherId") Long weatherId, @Param("maxId") Long maxId, @Param("minId") Long minId); |
| | | List<VoWeatherMaxMinTmp> selectMaxMinTemperature(@Param("weatherId") Long weatherId, @Param("startId") Long startId, @Param("endId") Long endId); |
| | | |
| | | int updateByPrimaryKeySelective(RmWeatherHistory record); |
| | | |
| | |
| | | /** |
| | | * 作物外键 |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @Schema(description = "所属的作物", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @NotNull(message = "所属的作物不能为空") //不能为空也不能为null |
| | | public Long cropId; |
| | |
| | | /** |
| | | * 气象站id |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @Schema(description = "关联的气象站", requiredMode = Schema.RequiredMode.REQUIRED) |
| | | @NotNull(message = "关联的气象站不能为空") //不能为空也不能为null |
| | | public Long weatherId; |
| | |
| | | * 蒸腾量 |
| | | */ |
| | | @Schema(description = "本日作物蒸腾量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "0.00") |
| | | public Double et0; |
| | | |
| | | /** |
| | |
| | | <select id="selectEt0ByCropAndDt" resultType="com.dy.pipIrrGlobal.pojoMd.MdEt0"> |
| | | SELECT |
| | | <include refid="Base_Column_List_with_alias" > |
| | | <property name="alias" value="htb"/> |
| | | <property name="alias" value="et"/> |
| | | </include>, |
| | | mc.name as cropName |
| | | from md_et0 et |
| | |
| | | |
| | | <!--根据指定条件查询温度的最大值与最小值--> |
| | | <select id="selectMaxMinTemperature" resultType="com.dy.pipIrrGlobal.voRm.VoWeatherMaxMinTmp"> |
| | | SELECT max(air_temperature) maxTmp, min(air_temperature) minTmp |
| | | SELECT max(air_temperature) maxAirTemperature, min(air_temperature) minAirTemperature |
| | | FROM rm_weather_history tb |
| | | <where> |
| | | <if test="weatherId != null"> |
| | |
| | | * @LastEditTime 2023/12/21 20:28 |
| | | * @Description 通信中间件对外进行web调用,把命令结果发送出去 |
| | | */ |
| | | @Slf4j |
| | | @Component() |
| | | public class CommandResultDeal { |
| | | |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | public void execute(){ |
| | | String orgTag = DataSourceContext.get() ; |
| | | List<VoCrops> crops = this.sv.selectAllCrops() ; |
| | | if(crops != null && crops.size() > 0){ |
| | | for (VoCrops crop : crops) { |
| | |
| | | } |
| | | } |
| | | } |
| | | 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())) ; //昨天 |
| | |
| | | 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) ; |
| | | } |
| | | } |
| | | } |
| | |
| | | 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 ; |
| | | } |
| | | } |
| | |
| | | import com.dy.pipIrrGlobal.voPr.VoWeather; |
| | | import com.dy.pipIrrGlobal.voRm.VoWeatherMaxMinTmp; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | po.minTmp = minAirTemperature ; |
| | | po.factor = factor ; |
| | | po.et0 = et0 ; |
| | | this.mdEt0Dao.insert(po) ; |
| | | return 0 ; |
| | | return this.mdEt0Dao.insert(po) ; |
| | | } |
| | | } |
| | |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import com.dy.common.webUtil.ResultCodeMsg; |
| | | import com.dy.pipIrrGlobal.pojoMd.MdEt0; |
| | | import com.dy.pipIrrGlobal.voRm.VoManure; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.media.Content; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @GetMapping(path = "oneCropsSomeEt0") |
| | | @SsoAop() |
| | | public BaseResponse<List<VoManure>> oneCropsSomeEt0(VaporQo qo){ |
| | | public BaseResponse<List<MdEt0>> oneCropsSomeEt0(VaporQo qo){ |
| | | try { |
| | | if(qo.cropId == null){ |
| | | return BaseResponseUtils.buildFail("作物id不能为空") ; |
| | |
| | | if(qo.timeStart == null || qo.timeStart.trim().equals("")){ |
| | | qo.timeStart = DateTime.lastXDay_yyyy_MM_dd(qo.timeStop, 10); |
| | | } |
| | | return BaseResponseUtils.buildSuccess(sv.oneCropsSomeEt0(qo)); |
| | | List<MdEt0> list = sv.oneCropsSomeEt0(qo) ; |
| | | if(list == null){ |
| | | list = new ArrayList<>() ; |
| | | } |
| | | return BaseResponseUtils.buildSuccess(list); |
| | | } catch (Exception e) { |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |