fix (farm): 大屏数据维护

- 品种数据 bug
- 灾害数据 bug
This commit is contained in:
达富斌
2025-09-24 19:14:51 +08:00
parent effd58ae9e
commit 78c3631435
21 changed files with 352 additions and 65 deletions

View File

@@ -4,11 +4,15 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.*;
import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService;
import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService;
import cn.iocoder.yudao.module.farm.service.farmingrecord.FarmingRecordService;
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
import cn.iocoder.yudao.module.farm.service.screendisasterdata.ScreenDisasterDataService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.security.PermitAll;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -28,12 +32,18 @@ import java.util.List;
@Validated
public class ApiController {
private final ScreenDisasterDataService screenDisasterDataService;
private final ProductionPlanService productionPlanService;
private final FarmingRecordService farmingRecordService;
private final BaseInfoService baseInfoService;
private final DeviceInfoService deviceInfoService;
public ApiController(ProductionPlanService productionPlanService, BaseInfoService baseInfoService) {
public ApiController(ScreenDisasterDataService screenDisasterDataService, ProductionPlanService productionPlanService, FarmingRecordService farmingRecordService, BaseInfoService baseInfoService, DeviceInfoService deviceInfoService) {
this.screenDisasterDataService = screenDisasterDataService;
this.productionPlanService = productionPlanService;
this.farmingRecordService = farmingRecordService;
this.baseInfoService = baseInfoService;
this.deviceInfoService = deviceInfoService;
}
/**
@@ -70,7 +80,6 @@ public class ApiController {
return baseInfoService.getBaseOverview(req);
}
// TODO: 2025/9/4 地图展示信息 - 设备坐标
@PostMapping("/digital-cockpit/list")
@Operation(summary = "数字驾驶舱-基地信息列表")
public CommonResult<List<FarmBaseInfoRespVO>> getBaseInfoList(@Valid @RequestBody FarmBaseInfoReqVO req) {
@@ -92,19 +101,19 @@ public class ApiController {
@PostMapping("/digital-cockpit/chart/disaster-statistics")
@Operation(summary = "数字驾驶舱-灾害统计-灾害分析")
public CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(@Valid @RequestBody DisasterAnalysisReqVO req) {
return productionPlanService.getDisasterStatisticsChart(req); // TODO: 2025/9/4 未实现
return screenDisasterDataService.getDisasterStatisticsChart(req); // TODO: 2025/9/4 未实现
}
@PostMapping("/digital-cockpit/chart/farming-distribution")
@Operation(summary = "数字驾驶舱-灾害统计-农事分布")
public CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(@Valid @RequestBody FarmingDistributionReqVO req) {
return productionPlanService.getFarmingDistributionChart(req); // TODO: 2025/9/4 未实现
return farmingRecordService.getFarmingDistributionChart(req); // TODO: 2025/9/4 未实现
}
// todo 设备监控
// todo 物候信息
// todo 设备总览
@PostMapping("/digital-cockpit/chart/device-state")
@Operation(summary = "数字驾驶舱-设备总览")
public CommonResult<DeviceStateRespVO> getDeviceStateStatistics(@Valid @RequestBody DeviceStateReqVO req) {
return deviceInfoService.getDeviceStateStatistics(req);
}
}

View File

@@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.farm.controller.admin.api.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: binda
* @date: 2025/9/24 16:22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceStateReqVO {
@Schema(description = "基地D")
@NotNull(message = "基地D: 不能为空")
private String baseId;
@Schema(description = "租户ID")
@NotNull(message = "租户ID: 不能为空")
private String tenantId;
}

View File

@@ -0,0 +1,33 @@
package cn.iocoder.yudao.module.farm.controller.admin.api.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description: 设备状态
* @author: binda
* @date: 2025/9/24 16:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceStateRespVO {
@Schema(description = "设备总数")
private Integer totalDevices;
@Schema(description = "在线设备总数")
private Integer totalOnlineDevices;
@Schema(description = "离线设备总数")
private Integer totalOfflineDevices;
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class DeviceType{
@Schema(description = "设备类型名称")
private String deviceTypeName;
@Schema(description = "设备数量")
private Integer deviceCount;
}
}

View File

@@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.farm.controller.admin.api.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -13,5 +15,10 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class FarmingDistributionReqVO {
private String id;
@Schema(description = "基地D")
@NotNull(message = "基地D: 不能为空")
private String baseId;
@Schema(description = "租户ID")
@NotNull(message = "租户ID: 不能为空")
private String tenantId;
}

View File

@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.farm.controller.admin.api.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -13,5 +14,14 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class FarmingDistributionRespVO {
private String id;
@Schema(description = "总数")
private Integer totalCount;
@Schema(description = "已逾期")
private Integer overdueStatusCount;
@Schema(description = "已完成")
private Integer completedStatusCount;
@Schema(description = "未完成")
private Integer pendingStatusCount;
@Schema(description = "执行中")
private Integer executingStatusCount;
}

View File

@@ -2,10 +2,7 @@ package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.BaseNameRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.BasePointRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.BaseStatisticsInfoRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.CompanyInfoRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO;
@@ -17,6 +14,7 @@ import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService;
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -85,7 +83,11 @@ public class DigitalCockpit {
@Operation(summary = "基地统计信息")
@Parameter(name = "baseId", description = "基地ID", required = true)
public CommonResult<BaseStatisticsInfoRespVO> getBaseStatisticsInfo(@RequestParam("baseId") String baseId) {
BaseStatisticsInfoRespVO res = baseInfoService.getBaseStatisticsInfo(baseId);
BaseStatisticsInfoRespVO res = new BaseStatisticsInfoRespVO();
res.setTotalArea(0);
res.setTotalCropSpecies(0);
res.setTotalCropPlot(0);
res.setTotalPlot(0);
return success(res);
}
@@ -96,62 +98,84 @@ public class DigitalCockpit {
return success(res);
}
@GetMapping("/various indexes")
@Operation(summary = "各项数据统计")
@Parameter(name = "baseId", description = "基地ID", required = true)
public CommonResult<VariousIndexesRespVO> getVariousIndexes(@RequestParam("baseId") String baseId) {
// TODO: 2025/9/24 待实现
int weatherAlertCount = 0;
int pestAlertCount = 0;
int environmentalAlertCount = 0;
int deviceAlertCount = 0;
int farmingReminderCount = 0;
return success(new VariousIndexesRespVO(weatherAlertCount, pestAlertCount, environmentalAlertCount, deviceAlertCount, farmingReminderCount));
}
@GetMapping("/crop-statistics/type/1")
@Operation(summary = "种植统计-种植分布")
@Parameter(name = "baseId", description = "基地ID", required = true)
@Parameter(name = "year", description = "查询条件: 年份", required = true)
public void getCropStatisticsInfo(@RequestParam("baseId") String baseId,
public CommonResult<List<CropStatisticsRespVO>> getCropStatisticsInfo(@RequestParam("baseId") String baseId,
@RequestParam("year") String year) {
List<CropStatisticsRespVO> res = new ArrayList<>();
return success(res);
}
@GetMapping("/crop-statistics/type/2")
@Operation(summary = "种植统计-产量分布")
@Parameter(name = "baseId", description = "基地ID", required = true)
@Parameter(name = "year", description = "查询条件: 年份", required = true)
public void getYieldStatisticsInfo(@RequestParam("baseId") String baseId,
public CommonResult<List<YieldStatisticsRespVO>> getYieldStatisticsInfo(@RequestParam("baseId") String baseId,
@RequestParam("year") String year) {
List<YieldStatisticsRespVO> res = new ArrayList<>();
return success(res);
}
@GetMapping("/crop-statistics/type/3")
@Operation(summary = "种植统计-实际/预计产量对比")
@Parameter(name = "baseId", description = "基地ID", required = true)
@Parameter(name = "year", description = "查询条件: 年份", required = true)
public void getActualYieldStatisticsInfo(@RequestParam("baseId") String baseId,
public CommonResult<List<ActualYieldStatisticsRespVO>> getActualYieldStatisticsInfo(@RequestParam("baseId") String baseId,
@RequestParam("year") String year) {
List<ActualYieldStatisticsRespVO> res = new ArrayList<>();
return success(res);
}
@GetMapping("/farm-records/type/1")
@Operation(summary = "农事分布")
@Parameter(name = "baseId", description = "基地ID", required = true)
public void getFarmRecords(@RequestParam("baseId") String baseId) {
public CommonResult<FarmRecordsRespVO> getFarmRecords(@RequestParam("baseId") String baseId) {
FarmRecordsRespVO res = new FarmRecordsRespVO();
res.setTotalCount(0);
res.setOverdueStatusCount(0);
res.setCompletedStatusCount(0);
res.setPendingStatusCount(0);
res.setExecutingStatusCount(0);
return success(res);
}
@GetMapping("/farm-records/type/2")
@Operation(summary = "农事活动趋势")
@Parameter(name = "baseId", description = "基地ID", required = true)
public void getFarmRecordsDirection(@RequestParam("baseId") String baseId) {
public CommonResult<String> getFarmRecordsDirection(@RequestParam("baseId") String baseId) {
return success("暂时不做");
}
@GetMapping("/device-info/statistics")
@Operation(summary = "设备统计")
@Parameter(name = "baseId", description = "基地ID", required = true)
public void getDeviceInfo(@RequestParam("baseId") String baseId) {
public CommonResult<DeviceInfoRespVO> getDeviceInfo(@RequestParam("baseId") String baseId) {
DeviceInfoRespVO res = new DeviceInfoRespVO();
return success(res);
}
@GetMapping("/device-info/monitor-data")
@Operation(summary = "监测数据")
@Parameter(name = "baseId", description = "基地ID", required = true)
public void getMonitoringData(@RequestParam("baseId") String baseId) {
public CommonResult<String> getMonitoringData(@RequestParam("baseId") String baseId) {
return success("暂时不做");
}
}

View File

@@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: binda
* @date: 2025/9/24 18:47
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ActualYieldStatisticsRespVO {
@Schema(description = "物种名称")
private String speciesName;
@Schema(description = "实际产量")
private Integer practicalYields;
@Schema(description = "预计产量")
private Integer predictedYields;
}

View File

@@ -16,8 +16,10 @@ import lombok.NoArgsConstructor;
public class BaseStatisticsInfoRespVO {
@Schema(description = "总面积")
private Integer totalArea;
@Schema(description = "基地数量")
private Integer totalBase;
@Schema(description = "地块数量")
@Schema(description = "在种作物")
private Integer totalCropSpecies;
@Schema(description = "在种地块")
private Integer totalCropPlot;
@Schema(description = "地块总数")
private Integer totalPlot;
}

View File

@@ -0,0 +1,23 @@
package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: binda
* @date: 2025/9/24 18:38
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CropStatisticsRespVO {
@Schema(description = "物种名称")
private String speciesName;
@Schema(description = "在种面积")
private Integer cropArea;
@Schema(description = "总面积")
private Integer totalArea;
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: binda
* @date: 2025/9/24 18:56
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceInfoRespVO {
@Schema(description = "设备类型名称")
private String deviceTypeName;
@Schema(description = "设备数量")
private String deviceCount;
}

View File

@@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: binda
* @date: 2025/9/24 18:51
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FarmRecordsRespVO {
@Schema(description = "总数")
private Integer totalCount;
@Schema(description = "已逾期")
private Integer overdueStatusCount;
@Schema(description = "已完成")
private Integer completedStatusCount;
@Schema(description = "未完成")
private Integer pendingStatusCount;
@Schema(description = "执行中")
private Integer executingStatusCount;
}

View File

@@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description: 各项指标
* @author: binda
* @date: 2025/9/24 17:20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VariousIndexesRespVO {
@Schema(description = "气象预警数量")
private Integer weatherAlertCount;
@Schema(description = "病虫害告警数量")
private Integer pestAlertCount;
@Schema(description = "环境告警数量")
private Integer environmentalAlertCount;
@Schema(description = "设备告警数量")
private Integer deviceAlertCount;
@Schema(description = "农事提醒刷领")
private Integer farmingReminderCount;
}

View File

@@ -0,0 +1,25 @@
package cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @description:
* @author: binda
* @date: 2025/9/24 18:43
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class YieldStatisticsRespVO {
@Schema(description = "物种名称")
private String speciesName;
@Schema(description = "实际产量")
private Integer practicalYields;
@Schema(description = "预计产量")
private Integer predictedYields;
@Schema(description = "总产量")
private Integer totalYield;
}

View File

@@ -1,5 +1,8 @@
package cn.iocoder.yudao.module.farm.service.deviceinfo;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DeviceStateReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DeviceStateRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.DeviceInfoPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.DeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.v2.DeviceInfoDetailV2RespVO;
@@ -76,4 +79,11 @@ public interface DeviceInfoService {
* @return
*/
DeviceStatisticsRespVO getStatisticsInfo(String baseId);
/**
* api接口
* 设备总览
* @return
*/
CommonResult<DeviceStateRespVO> getDeviceStateStatistics(DeviceStateReqVO req);
}

View File

@@ -2,6 +2,9 @@ package cn.iocoder.yudao.module.farm.service.deviceinfo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DeviceStateReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DeviceStateRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.DeviceInfoPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.DeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.v2.DeviceInfoDetailV2RespVO;
@@ -160,4 +163,10 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
return deviceInfoMapper.getStatisticsInfo(baseId,String.valueOf(getLoginUser().getTenantId()));
}
@Override
public CommonResult<DeviceStateRespVO> getDeviceStateStatistics(DeviceStateReqVO req) {
return null;
}
}

View File

@@ -1,5 +1,8 @@
package cn.iocoder.yudao.module.farm.service.farmingrecord;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmingDistributionReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmingDistributionRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordCreateReqVO;
@@ -82,4 +85,13 @@ public interface FarmingRecordService {
* @return
*/
int getFarmRecordCount(String planId);
/**
* api 接口
* 灾害统计-农事分布
* @param req
* @return
*/
CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(FarmingDistributionReqVO req);
}

View File

@@ -1,9 +1,12 @@
package cn.iocoder.yudao.module.farm.service.farmingrecord;
import cn.hutool.core.util.IdUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmingDistributionReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmingDistributionRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordCreateReqVO;
@@ -263,4 +266,9 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
Long count = farmingRecordMapper.selectCount(x);
return count.intValue();
}
@Override
public CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(FarmingDistributionReqVO req) {
return null;
}
}

View File

@@ -195,22 +195,6 @@ public interface ProductionPlanService {
*/
CommonResult<PlantingPlanCompletionRespVO> getPlantingPlanCompletionChart(PlantingPlanCompletionReqVO req);
/**
* api 接口
* 灾害统计-灾害分析
* @param req
* @return
*/
CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(DisasterAnalysisReqVO req);
/**
* api 接口
* 灾害统计-农事分布
* @param req
* @return
*/
CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(FarmingDistributionReqVO req);
/**
* 使用地块ID 获取该地块的计划数量
* @param plotId

View File

@@ -403,16 +403,6 @@ public class ProductionPlanServiceImpl implements ProductionPlanService {
return CommonResult.success(res);
}
@Override
public CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(DisasterAnalysisReqVO req) {
return null;
}
@Override
public CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(FarmingDistributionReqVO req) {
return null;
}
@Override
public int getPlanCount(String plotId) {
List<ProductionPlanDO> planDOList = productionPlanMapper.selectList("plot_id", plotId);

View File

@@ -2,6 +2,9 @@ package cn.iocoder.yudao.module.farm.service.screendisasterdata;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataSaveReqVO;
import jakarta.validation.*;
@@ -60,4 +63,12 @@ public interface ScreenDisasterDataService {
*/
PageResult<ScreenDisasterDataDO> getScreenDisasterDataPage(ScreenDisasterDataPageReqVO pageReqVO);
/**
* api 接口
* 灾害统计-灾害分析
* @param req
* @return
*/
CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(DisasterAnalysisReqVO req);
}

View File

@@ -1,8 +1,11 @@
package cn.iocoder.yudao.module.farm.service.screendisasterdata;
import cn.hutool.core.util.IdUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DisasterAnalysisRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.largescreen.screendisasterdata.vo.ScreenDisasterDataSaveReqVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
@@ -96,4 +99,9 @@ public class ScreenDisasterDataServiceImpl implements ScreenDisasterDataService
return res;
}
@Override
public CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(DisasterAnalysisReqVO req) {
return null;
}
}