From f706ec5f9dc2089b487cc4d1ad41dc0f14a20c9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E5=AF=8C=E6=96=8C?= Date: Tue, 9 Sep 2025 21:20:26 +0800 Subject: [PATCH] =?UTF-8?q?fix=20(farm):=20=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 获取基地集合响应结构调整 --- .../controller/admin/home/vo/HomeInfo.java | 6 ++++ .../ModelManagementController.java | 11 +++++++ .../farm/service/home/HomeServiceImpl.java | 31 ++++++++++++------- .../ModelManagementServiceImpl.java | 5 +-- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/HomeInfo.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/HomeInfo.java index 26e118a5..efbd7b79 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/HomeInfo.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/HomeInfo.java @@ -187,6 +187,10 @@ public class HomeInfo { private String cycleName; @Schema(description = "任务进度") private String progressBar; + @Schema(description = "任务进度-分子") + private Integer progressBarNumerator; + @Schema(description = "任务进度-分母") + private Integer progressBarDenominator; @Schema(description = "种植面积") private Double predictedArea; @Schema(description = "预计产量") @@ -201,5 +205,7 @@ public class HomeInfo { private String planSubStatusName; @Schema(description = "计划模型坐标") private String planModelPoint; + @Schema(description = "计划模型-物种图片") + private List planModelImage; } } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelmanagement/ModelManagementController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelmanagement/ModelManagementController.java index 02f1128b..8766ba13 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelmanagement/ModelManagementController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelmanagement/ModelManagementController.java @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementForPlanRespVO; import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementRespVO; import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementSaveReqVO; @@ -131,6 +132,16 @@ public class ModelManagementController { ExcelUtils.write(response, "模型管理.xls", "数据", ModelManagementRespVO.class, respVOList); } + @GetMapping("/get/species") + @Operation(summary = "获得模型管理") + @Parameter(name = "speciesId", description = "物种编号", required = true, example = "1024") + public CommonResult> getModelManagementForPlan(@RequestParam String speciesId) { + + + + return success(null); + } + /** * 转换分页结果,处理suitablePlantingAreas字段的转换 */ diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java index 7b6d7c1b..2dff7f1b 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService; import cn.iocoder.yudao.module.farm.service.cropFarmingCenter.CropFarmingCenterService; import cn.iocoder.yudao.module.farm.service.deviceplotrelation.DevicePlotRelationService; @@ -15,6 +16,7 @@ import cn.iocoder.yudao.module.farm.service.modelmanagement.ModelManagementServi import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; +import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil; import cn.iocoder.yudao.module.farm.utils.LeafletjsUtil; import org.apache.commons.lang3.ObjectUtils; @@ -26,7 +28,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import java.util.stream.Stream; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.module.farm.enums.CommonConstants.*; @@ -46,8 +47,9 @@ public class HomeServiceImpl implements HomeService { private final CropFarmingCenterService cropFarmingCenterService; private final PersonnelManagementService personnelManagementService; private final ModelManagementService modelManagementService; + private final SpeciesLibraryService speciesLibraryService; - public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, DevicePlotRelationService driverPropertyInfoService, CropFarmingCenterService cropFarmingCenterService, PersonnelManagementService personnelManagementService, ModelManagementService modelManagementService) { + public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, DevicePlotRelationService driverPropertyInfoService, CropFarmingCenterService cropFarmingCenterService, PersonnelManagementService personnelManagementService, ModelManagementService modelManagementService, SpeciesLibraryService speciesLibraryService) { this.baseInfoService = baseInfoService; this.plotInfoService = plotInfoService; this.productionPlanService = productionPlanService; @@ -55,6 +57,7 @@ public class HomeServiceImpl implements HomeService { this.cropFarmingCenterService = cropFarmingCenterService; this.personnelManagementService = personnelManagementService; this.modelManagementService = modelManagementService; + this.speciesLibraryService = speciesLibraryService; } @Override @@ -128,16 +131,14 @@ public class HomeServiceImpl implements HomeService { return res; } - private List getPlotPopupFrame(BaseInfoDO baseObj, Map employeeNameMap) { + private List getPlotPopupFrame(String plotId, Map employeeNameMap) { List targetList = new ArrayList<>(); - List plotList = plotInfoService.getPlotInfos(baseObj.getId()); - for (PlotInfoDO e : plotList) { - String employeeName = personnelManagementService.getEmployeeNameMap(employeeNameMap, e.getEmployeeId()); - String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), e.getPlotArea()); - String beingCropName = productionPlanService.getBeingCropName(e.getPlotId()); + PlotInfoDO e = plotInfoService.getPlotInfo(plotId); + String employeeName = personnelManagementService.getEmployeeNameMap(employeeNameMap, e.getEmployeeId()); + String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), e.getPlotArea()); + String beingCropName = productionPlanService.getBeingCropName(e.getPlotId()); - targetList.add(new PlotPopupFrame(beingPlotArea,employeeName,beingCropName)); - } + targetList.add(new PlotPopupFrame(beingPlotArea,employeeName,beingCropName)); return targetList; } @@ -149,7 +150,7 @@ public class HomeServiceImpl implements HomeService { // 地块详情 (包含计划信息) PlotOrCropInfo plotOrCropInfo = this.getPlotOrCropInfoList(e,"地块详情",employeeName); // 地块浮框信息 - List plotPopupFrame = this.getPlotPopupFrame(baseObj, employeeNameMap); + List plotPopupFrame = this.getPlotPopupFrame(e.getId(), employeeNameMap); PlotInfo t = new PlotInfo(); t.setBaseId(e.getBaseId()); @@ -200,6 +201,9 @@ public class HomeServiceImpl implements HomeService { String beingCropName = productionPlanService.getPlantSpeciesCodeForName(e.getPlantSpeciesCode()); String cycleName = modelManagementService.getModelCycleName(e.getSpeciesModelId()); String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), null); +// SpeciesLibraryDO speciesLibrary = speciesLibraryService.getSpeciesLibrary(e.getPlantSpeciesCode()); +// List planModelImage = speciesLibrary.getImageList(); + List planModelImage = new ArrayList<>(); PlanInfo target = new PlanInfo(); target.setBaseId(e.getBaseId()); @@ -210,7 +214,9 @@ public class HomeServiceImpl implements HomeService { target.setPlantSpeciesName(beingCropName); target.setPlanNumber(e.getPlanNumber()); target.setCycleName(cycleName); - target.setProgressBar("0/10"); // TODO: 2025/9/1 + target.setProgressBar("1/10"); // TODO: 2025/9/1 + target.setProgressBarNumerator(1); // TODO: 2025/9/1 + target.setProgressBarDenominator(10); // TODO: 2025/9/1 target.setPredictedArea(Double.valueOf(beingPlotArea)); target.setPredictedYields(e.getPredictedYields()); target.setPlanStatus(e.getPlanStatus()); @@ -219,6 +225,7 @@ public class HomeServiceImpl implements HomeService { target.setPlanSubStatusName(PLAN_MAP.getOrDefault(e.getPlanSubStatus(), "逾期未开始")); String pointsInPolygon = LeafletjsUtil.generateRandomPointsInPolygon(plotObj.getPoint()); target.setPlanModelPoint(pointsInPolygon); + target.setPlanModelImage(planModelImage); targetList.add(target); } return targetList; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelmanagement/ModelManagementServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelmanagement/ModelManagementServiceImpl.java index 60d46c9b..f8517efc 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelmanagement/ModelManagementServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelmanagement/ModelManagementServiceImpl.java @@ -452,8 +452,9 @@ public class ModelManagementServiceImpl implements ModelManagementService { @Override public String getModelCycleName(String modelId) { - ModelCycleDO one = modelCycleMapper.selectOne("model_id", modelId); - return one.getName(); + // TODO: 2025/9/9 这里处理当前日期是否在 排查开始日期+持续天数的范围内 + List cycleDOS = modelCycleMapper.selectList("model_id", modelId); + return cycleDOS.stream().findFirst().get().getName(); } @Override