fix (farm): 微服务API

- 数字驾驶舱-统计图-种植计划完成情况
This commit is contained in:
达富斌
2025-09-15 14:55:33 +08:00
parent 4daa5a8637
commit aed3d074f4
4 changed files with 15 additions and 14 deletions

View File

@@ -44,7 +44,6 @@ public class ApiController {
* @param req 根据租户id、开始时间、结束时间 ,已完成状态 * @param req 根据租户id、开始时间、结束时间 ,已完成状态
* @return 种植计划id、种植计划名称 * @return 种植计划id、种植计划名称
*/ */
@PermitAll
@PostMapping("/production-plan/page") @PostMapping("/production-plan/page")
@Operation(summary = "生产计划-分页") @Operation(summary = "生产计划-分页")
public CommonResult<PageResult<FarmProductionPlanRespVO>> getPageForFarmProductionPlan(@Valid @RequestBody FarmProductionPlanReqVO req) { public CommonResult<PageResult<FarmProductionPlanRespVO>> getPageForFarmProductionPlan(@Valid @RequestBody FarmProductionPlanReqVO req) {
@@ -59,14 +58,12 @@ public class ApiController {
* @param req 根据租户id、种植计划id * @param req 根据租户id、种植计划id
* @return 种植计划id、种植计划名称、种植开始时间、种植结束时间、计划所属的基地图片、基地简介、基地中心坐标点 * @return 种植计划id、种植计划名称、种植开始时间、种植结束时间、计划所属的基地图片、基地简介、基地中心坐标点
*/ */
@PermitAll
@PostMapping("/production-plan/get") @PostMapping("/production-plan/get")
@Operation(summary = "生产计划-详情") @Operation(summary = "生产计划-详情")
public CommonResult<FarmProductionPlanDetailRespVO> getDetailForFarmProductionPlan(@Valid @RequestBody FarmProductionPlanDetailReqVO req) { public CommonResult<FarmProductionPlanDetailRespVO> getDetailForFarmProductionPlan(@Valid @RequestBody FarmProductionPlanDetailReqVO req) {
return productionPlanService.getDetailForFarmProductionPlan(req); return productionPlanService.getDetailForFarmProductionPlan(req);
} }
@PermitAll
@PostMapping("/digital-cockpit/get") @PostMapping("/digital-cockpit/get")
@Operation(summary = "数字驾驶舱-基地概要信息") @Operation(summary = "数字驾驶舱-基地概要信息")
public CommonResult<FarmBaseOverviewRespVO> getBaseOverview(@Valid @RequestBody FarmBaseOverviewReqVO req) { public CommonResult<FarmBaseOverviewRespVO> getBaseOverview(@Valid @RequestBody FarmBaseOverviewReqVO req) {
@@ -74,35 +71,30 @@ public class ApiController {
} }
// TODO: 2025/9/4 地图展示信息 - 设备坐标 // TODO: 2025/9/4 地图展示信息 - 设备坐标
@PermitAll
@PostMapping("/digital-cockpit/list") @PostMapping("/digital-cockpit/list")
@Operation(summary = "数字驾驶舱-基地信息列表") @Operation(summary = "数字驾驶舱-基地信息列表")
public CommonResult<List<FarmBaseInfoRespVO>> getBaseInfoList(@Valid @RequestBody FarmBaseInfoReqVO req) { public CommonResult<List<FarmBaseInfoRespVO>> getBaseInfoList(@Valid @RequestBody FarmBaseInfoReqVO req) {
return baseInfoService.getBaseInfoList(req); return baseInfoService.getBaseInfoList(req);
} }
@PermitAll
@PostMapping("/digital-cockpit/chart/yield-comparison") @PostMapping("/digital-cockpit/chart/yield-comparison")
@Operation(summary = "数字驾驶舱-生产数据-产量对比") @Operation(summary = "数字驾驶舱-生产数据-产量对比")
public CommonResult<List<YieldComparisonChartRespVO>> getYieldComparisonChart(@Valid @RequestBody YieldComparisonChartReqVO req) { public CommonResult<List<YieldComparisonChartRespVO>> getYieldComparisonChart(@Valid @RequestBody YieldComparisonChartReqVO req) {
return productionPlanService.getYieldComparisonChart(req); return productionPlanService.getYieldComparisonChart(req);
} }
@PermitAll
@PostMapping("/digital-cockpit/chart/planting-plan-completion") @PostMapping("/digital-cockpit/chart/planting-plan-completion")
@Operation(summary = "数字驾驶舱-生产数据-种植计划完成情况") @Operation(summary = "数字驾驶舱-生产数据-种植计划完成情况")
public CommonResult<PlantingPlanCompletionRespVO> getPlantingPlanCompletionChart(@Valid @RequestBody PlantingPlanCompletionReqVO req) { public CommonResult<PlantingPlanCompletionRespVO> getPlantingPlanCompletionChart(@Valid @RequestBody PlantingPlanCompletionReqVO req) {
return productionPlanService.getPlantingPlanCompletionChart(req); return productionPlanService.getPlantingPlanCompletionChart(req);
} }
@PermitAll
@PostMapping("/digital-cockpit/chart/disaster-statistics") @PostMapping("/digital-cockpit/chart/disaster-statistics")
@Operation(summary = "数字驾驶舱-灾害统计-灾害分析") @Operation(summary = "数字驾驶舱-灾害统计-灾害分析")
public CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(@Valid @RequestBody DisasterAnalysisReqVO req) { public CommonResult<List<DisasterAnalysisRespVO>> getDisasterStatisticsChart(@Valid @RequestBody DisasterAnalysisReqVO req) {
return productionPlanService.getDisasterStatisticsChart(req); // TODO: 2025/9/4 未实现 return productionPlanService.getDisasterStatisticsChart(req); // TODO: 2025/9/4 未实现
} }
@PermitAll
@PostMapping("/digital-cockpit/chart/farming-distribution") @PostMapping("/digital-cockpit/chart/farming-distribution")
@Operation(summary = "数字驾驶舱-灾害统计-农事分布") @Operation(summary = "数字驾驶舱-灾害统计-农事分布")
public CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(@Valid @RequestBody FarmingDistributionReqVO req) { public CommonResult<List<FarmingDistributionRespVO>> getFarmingDistributionChart(@Valid @RequestBody FarmingDistributionReqVO req) {

View File

@@ -6,6 +6,8 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List;
/** /**
* @description: 数字驾驶舱-统计图-对比产量 请求实体 * @description: 数字驾驶舱-统计图-对比产量 请求实体
* @author: binda * @author: binda
@@ -22,5 +24,7 @@ public class YieldComparisonChartReqVO {
@Schema(description = "租户ID") @Schema(description = "租户ID")
@NotNull(message = "租户ID: 不能为空") @NotNull(message = "租户ID: 不能为空")
private String tenantId; private String tenantId;
@Schema(description = "日期 (yyyy)")
private List<Integer> yieldDate;
} }

View File

@@ -46,18 +46,22 @@
resultType="cn.iocoder.yudao.module.farm.controller.admin.api.vo.YieldComparisonChartRespVO"> resultType="cn.iocoder.yudao.module.farm.controller.admin.api.vo.YieldComparisonChartRespVO">
SELECT SELECT
YEAR(production_end_date) AS date, YEAR(production_start_date) AS date,
SUM(predicted_yields) AS predictedYields, COALESCE(SUM(predicted_yields), 0) AS predictedYields,
SUM(practical_yields) AS practicalYields COALESCE(SUM(practical_yields), 0) AS practicalYields
FROM farm_production_plan FROM farm_production_plan
<where> <where>
plan_status = 3 plan_status = 3
AND deleted = 0 AND deleted = 0
AND production_end_date IS NOT NULL AND production_start_date IS NOT NULL
<if test="tenantId != null and tenantId != ''">AND tenant_id = #{tenantId}</if> <if test="tenantId != null and tenantId != ''">AND tenant_id = #{tenantId}</if>
<if test="baseId != null and baseId != ''">AND base_id = #{baseId}</if> <if test="baseId != null and baseId != ''">AND base_id = #{baseId}</if>
<!-- 添加年份范围筛选 -->
<if test="yieldDate != null and yieldDate.size() == 2">
AND YEAR(production_start_date) BETWEEN #{yieldDate[0]} AND #{yieldDate[1]}
</if>
</where> </where>
GROUP BY YEAR(production_end_date) GROUP BY YEAR(production_start_date)
ORDER BY date ORDER BY date
</select> </select>

View File

@@ -246,6 +246,7 @@ yudao:
security: security:
permit-all_urls: permit-all_urls:
- /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录 - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录
- /admin-api/farm/remote/** # 提供给客户的API接口
websocket: websocket:
enable: true # websocket的开关 enable: true # websocket的开关
path: /infra/ws # 路径 path: /infra/ws # 路径
@@ -288,7 +289,7 @@ yudao:
- /admin-api/system/user/profile/** - /admin-api/system/user/profile/**
- /admin-api/system/auth/** - /admin-api/system/auth/**
- /admin-api/app/traceability-code/scan - /admin-api/app/traceability-code/scan
- /admin-api/farm/remote/** # - /admin-api/farm/remote/**
ignore-tables: ignore-tables:
- region - region
- farm_mqtt_connection - farm_mqtt_connection