| | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2025/8/19 8:35 |
| | | * @Description 作物蒸腾量 |
| | | * @Description 作物蒸散量 |
| | | */ |
| | | @TableName(value="md_et0", autoResultMap = true) |
| | | @Data |
| | |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @Schema(name = "作物蒸腾量") |
| | | @Schema(name = "作物蒸散量") |
| | | public class MdEt0 implements BaseEntity { |
| | | |
| | | public static final long serialVersionUID = 202508190840001L; |
| | |
| | | public Date dt; |
| | | |
| | | /** |
| | | * 蒸腾量 |
| | | * 蒸散量 |
| | | */ |
| | | @Schema(description = "本日作物蒸腾量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @Schema(description = "本日作物蒸散量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "0.00") |
| | | public Double et0; |
| | | |
| | |
| | | public Date dt; |
| | | |
| | | /** |
| | | * 蒸腾量 |
| | | * 蒸散量 |
| | | */ |
| | | @Schema(description = "本日作物蒸腾量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @Schema(description = "本日作物蒸散量", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @JsonFormat(shape = JsonFormat.Shape.NUMBER, pattern = "0.00") |
| | | public Double et0; |
| | | } |
| | |
| | | this.executeOnCrop(crop, voWeather); |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("计算作物(id=" + crop.id + ")蒸腾数据时异常", e); |
| | | log.error("计算作物(id=" + crop.id + ")蒸散数据时异常", e); |
| | | } |
| | | } |
| | | } |
| | |
| | | if(tmps != null && tmps.size() > 0){ |
| | | VoWeatherMaxMinTmp voMmTmp = tmps.get(0);//只能有一条记录 |
| | | if(voMmTmp != null && voMmTmp.maxAirTemperature != null && voMmTmp.minAirTemperature != null){ |
| | | Double et0 = this.calculateEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor) ;//计算蒸腾数据 |
| | | Double et0 = this.calculateEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor) ;//计算蒸散数据 |
| | | this.saveEt0(yesterday_ymd, vo, voWeather, voMmTmp, factor, et0) ; |
| | | } |
| | | } |
| | |
| | | * @Author: liurunyu |
| | | * @Date: 2025/8/6 9:32 |
| | | * @Description |
| | | * 作物蒸腾自动计算 |
| | | * 作物蒸散自动计算 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2025/8/22 10:20 |
| | | * @Description 不要删除!!! 为前端蒸腾量计算提供的服务 |
| | | * @Description 不要删除!!! 为前端蒸散量计算提供的服务 |
| | | */ |
| | | |
| | | @Slf4j |
| | | @Tag(name = "作物日蒸腾量计算测试", description = "作物日蒸腾量计算测试") |
| | | @Tag(name = "作物日蒸散量计算测试", description = "作物日蒸散量计算测试") |
| | | @RestController |
| | | @RequestMapping(path = "mdTest") |
| | | public class TestCtrl { |
| | |
| | | } |
| | | return BaseResponseUtils.buildSuccess(vo); |
| | | } catch (Exception e) { |
| | | log.error("查询所有作物的昨日蒸腾量异常", e); |
| | | log.error("查询所有作物的昨日蒸散量异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | |
| | | Double et0 = Hargreaves.ET0(qo.kc, qo.maxTmp, qo.minTmp, zenithRadiation); |
| | | return BaseResponseUtils.buildSuccess(et0); |
| | | } catch (Exception e) { |
| | | log.error("查询所有作物的昨日蒸腾量异常", e); |
| | | log.error("查询所有作物的昨日蒸散量异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | |
| | | * @Description |
| | | */ |
| | | @Slf4j |
| | | @Tag(name = "作物日蒸腾量", description = "作物日蒸腾量查询等操作") |
| | | @Tag(name = "作物日蒸散量", description = "作物日蒸散量查询等操作") |
| | | @RestController |
| | | @RequestMapping(path = "mdVapor") |
| | | public class VaporCtrl { |
| | |
| | | |
| | | |
| | | /** |
| | | * 客户端请求得到所有作物的昨日蒸腾量 |
| | | * @return 所有所有作物的昨日蒸腾量 |
| | | * 客户端请求得到所有作物的昨日蒸散量 |
| | | * @return 所有所有作物的昨日蒸散量 |
| | | */ |
| | | @Operation(summary = "获得作物的昨日蒸腾量", description = "返回所有作物的昨日蒸腾量数据") |
| | | @Operation(summary = "获得作物的昨日蒸散量", description = "返回所有作物的昨日蒸散量数据") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "返回作物的昨日蒸腾量数据(BaseResponse.content:QueryResultVo[{}])", |
| | | description = "返回作物的昨日蒸散量数据(BaseResponse.content:QueryResultVo[{}])", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = MdEt0.class))} |
| | | ) |
| | |
| | | List<MdEt0> res = this.sv.selectEt0(ymd) ; |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } catch (Exception e) { |
| | | log.error("查询所有作物的昨日蒸腾量异常", e); |
| | | log.error("查询所有作物的昨日蒸散量异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据指定条件作物查询一段时间内的蒸腾量 |
| | | * 根据指定条件作物查询一段时间内的蒸散量 |
| | | * @param qo |
| | | * @return |
| | | */ |
| | |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @Builder |
| | | @Schema(name = "作物日蒸腾查询条件") |
| | | @Schema(name = "作物日蒸散查询条件") |
| | | public class VaporQo extends QueryConditionVo { |
| | | /** |
| | | * 作物ID |
| | |
| | | |
| | | |
| | | /** |
| | | * 得到一个作物一周内的蒸腾量 |
| | | * 得到一个作物一周内的蒸散量 |
| | | * @return 数据集合 |
| | | */ |
| | | @Operation(summary = "一个作物一周内的蒸腾量", description = "一个作物一周内的蒸腾量") |
| | | @Operation(summary = "一个作物一周内的蒸散量", description = "一个作物一周内的蒸散量") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "一个作物一周内的蒸腾量(BaseResponse.content:[VoTopXIntake{}])", |
| | | description = "一个作物一周内的蒸散量(BaseResponse.content:[VoTopXIntake{}])", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = VoEt0Simple.class))} |
| | | ) |
| | |
| | | * @Description |
| | | */ |
| | | @Slf4j |
| | | @Tag(name = "作物日蒸腾量", description = "作物日蒸腾量查询等操作") |
| | | @Tag(name = "作物日蒸散量", description = "作物日蒸散量查询等操作") |
| | | @RestController |
| | | @RequestMapping(path = "mdVapor") |
| | | public class VaporCtrl { |
| | |
| | | |
| | | |
| | | /** |
| | | * 客户端请求得到所有作物的昨日蒸腾量 |
| | | * @return 所有所有作物的昨日蒸腾量 |
| | | * 客户端请求得到所有作物的昨日蒸散量 |
| | | * @return 所有所有作物的昨日蒸散量 |
| | | */ |
| | | @GetMapping(path = "allCropsWithYesterday") |
| | | public BaseResponse<List<MdEt0>> allYesterday(){ |
| | |
| | | List<MdEt0> res = this.sv.selectEt0(ymd) ; |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } catch (Exception e) { |
| | | log.error("查询所有作物的昨日蒸腾量异常", e); |
| | | log.error("查询所有作物的昨日蒸散量异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据指定条件作物查询一段时间内的蒸腾量 |
| | | * 根据指定条件作物查询一段时间内的蒸散量 |
| | | * @param qo |
| | | * @return |
| | | */ |