fix (farm): 首页

- 获取基地集合响应结构调整
This commit is contained in:
达富斌
2025-09-09 21:20:26 +08:00
parent 9916cbbdfb
commit f706ec5f9d
4 changed files with 39 additions and 14 deletions

View File

@@ -187,6 +187,10 @@ public class HomeInfo {
private String cycleName; private String cycleName;
@Schema(description = "任务进度") @Schema(description = "任务进度")
private String progressBar; private String progressBar;
@Schema(description = "任务进度-分子")
private Integer progressBarNumerator;
@Schema(description = "任务进度-分母")
private Integer progressBarDenominator;
@Schema(description = "种植面积") @Schema(description = "种植面积")
private Double predictedArea; private Double predictedArea;
@Schema(description = "预计产量") @Schema(description = "预计产量")
@@ -201,5 +205,7 @@ public class HomeInfo {
private String planSubStatusName; private String planSubStatusName;
@Schema(description = "计划模型坐标") @Schema(description = "计划模型坐标")
private String planModelPoint; private String planModelPoint;
@Schema(description = "计划模型-物种图片")
private List<String> planModelImage;
} }
} }

View File

@@ -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.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.ModelManagementPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementRespVO; import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.modelmanagement.vo.ModelManagementSaveReqVO; 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); ExcelUtils.write(response, "模型管理.xls", "数据", ModelManagementRespVO.class, respVOList);
} }
@GetMapping("/get/species")
@Operation(summary = "获得模型管理")
@Parameter(name = "speciesId", description = "物种编号", required = true, example = "1024")
public CommonResult<List<ModelManagementForPlanRespVO>> getModelManagementForPlan(@RequestParam String speciesId) {
return success(null);
}
/** /**
* 转换分页结果,处理suitablePlantingAreas字段的转换 * 转换分页结果,处理suitablePlantingAreas字段的转换
*/ */

View File

@@ -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.baseinfo.BaseInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; 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.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.baseinfo.BaseInfoService;
import cn.iocoder.yudao.module.farm.service.cropFarmingCenter.CropFarmingCenterService; import cn.iocoder.yudao.module.farm.service.cropFarmingCenter.CropFarmingCenterService;
import cn.iocoder.yudao.module.farm.service.deviceplotrelation.DevicePlotRelationService; 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.personnelmanagement.PersonnelManagementService;
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; 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.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.BigDecimalUtil;
import cn.iocoder.yudao.module.farm.utils.LeafletjsUtil; import cn.iocoder.yudao.module.farm.utils.LeafletjsUtil;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
@@ -26,7 +28,6 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; 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.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
import static cn.iocoder.yudao.module.farm.enums.CommonConstants.*; import static cn.iocoder.yudao.module.farm.enums.CommonConstants.*;
@@ -46,8 +47,9 @@ public class HomeServiceImpl implements HomeService {
private final CropFarmingCenterService cropFarmingCenterService; private final CropFarmingCenterService cropFarmingCenterService;
private final PersonnelManagementService personnelManagementService; private final PersonnelManagementService personnelManagementService;
private final ModelManagementService modelManagementService; 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.baseInfoService = baseInfoService;
this.plotInfoService = plotInfoService; this.plotInfoService = plotInfoService;
this.productionPlanService = productionPlanService; this.productionPlanService = productionPlanService;
@@ -55,6 +57,7 @@ public class HomeServiceImpl implements HomeService {
this.cropFarmingCenterService = cropFarmingCenterService; this.cropFarmingCenterService = cropFarmingCenterService;
this.personnelManagementService = personnelManagementService; this.personnelManagementService = personnelManagementService;
this.modelManagementService = modelManagementService; this.modelManagementService = modelManagementService;
this.speciesLibraryService = speciesLibraryService;
} }
@Override @Override
@@ -128,16 +131,14 @@ public class HomeServiceImpl implements HomeService {
return res; return res;
} }
private List<PlotPopupFrame> getPlotPopupFrame(BaseInfoDO baseObj, Map<String, String> employeeNameMap) { private List<PlotPopupFrame> getPlotPopupFrame(String plotId, Map<String, String> employeeNameMap) {
List<PlotPopupFrame> targetList = new ArrayList<>(); List<PlotPopupFrame> targetList = new ArrayList<>();
List<PlotInfoDO> plotList = plotInfoService.getPlotInfos(baseObj.getId()); PlotInfoDO e = plotInfoService.getPlotInfo(plotId);
for (PlotInfoDO e : plotList) { String employeeName = personnelManagementService.getEmployeeNameMap(employeeNameMap, e.getEmployeeId());
String employeeName = personnelManagementService.getEmployeeNameMap(employeeNameMap, e.getEmployeeId()); String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), e.getPlotArea());
String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), e.getPlotArea()); String beingCropName = productionPlanService.getBeingCropName(e.getPlotId());
String beingCropName = productionPlanService.getBeingCropName(e.getPlotId());
targetList.add(new PlotPopupFrame(beingPlotArea,employeeName,beingCropName)); targetList.add(new PlotPopupFrame(beingPlotArea,employeeName,beingCropName));
}
return targetList; return targetList;
} }
@@ -149,7 +150,7 @@ public class HomeServiceImpl implements HomeService {
// 地块详情 (包含计划信息) // 地块详情 (包含计划信息)
PlotOrCropInfo plotOrCropInfo = this.getPlotOrCropInfoList(e,"地块详情",employeeName); PlotOrCropInfo plotOrCropInfo = this.getPlotOrCropInfoList(e,"地块详情",employeeName);
// 地块浮框信息 // 地块浮框信息
List<PlotPopupFrame> plotPopupFrame = this.getPlotPopupFrame(baseObj, employeeNameMap); List<PlotPopupFrame> plotPopupFrame = this.getPlotPopupFrame(e.getId(), employeeNameMap);
PlotInfo t = new PlotInfo(); PlotInfo t = new PlotInfo();
t.setBaseId(e.getBaseId()); t.setBaseId(e.getBaseId());
@@ -200,6 +201,9 @@ public class HomeServiceImpl implements HomeService {
String beingCropName = productionPlanService.getPlantSpeciesCodeForName(e.getPlantSpeciesCode()); String beingCropName = productionPlanService.getPlantSpeciesCodeForName(e.getPlantSpeciesCode());
String cycleName = modelManagementService.getModelCycleName(e.getSpeciesModelId()); String cycleName = modelManagementService.getModelCycleName(e.getSpeciesModelId());
String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), null); String beingPlotArea = productionPlanService.getBeingPlotArea(e.getPlotId(), null);
// SpeciesLibraryDO speciesLibrary = speciesLibraryService.getSpeciesLibrary(e.getPlantSpeciesCode());
// List<String> planModelImage = speciesLibrary.getImageList();
List<String> planModelImage = new ArrayList<>();
PlanInfo target = new PlanInfo(); PlanInfo target = new PlanInfo();
target.setBaseId(e.getBaseId()); target.setBaseId(e.getBaseId());
@@ -210,7 +214,9 @@ public class HomeServiceImpl implements HomeService {
target.setPlantSpeciesName(beingCropName); target.setPlantSpeciesName(beingCropName);
target.setPlanNumber(e.getPlanNumber()); target.setPlanNumber(e.getPlanNumber());
target.setCycleName(cycleName); 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.setPredictedArea(Double.valueOf(beingPlotArea));
target.setPredictedYields(e.getPredictedYields()); target.setPredictedYields(e.getPredictedYields());
target.setPlanStatus(e.getPlanStatus()); target.setPlanStatus(e.getPlanStatus());
@@ -219,6 +225,7 @@ public class HomeServiceImpl implements HomeService {
target.setPlanSubStatusName(PLAN_MAP.getOrDefault(e.getPlanSubStatus(), "逾期未开始")); target.setPlanSubStatusName(PLAN_MAP.getOrDefault(e.getPlanSubStatus(), "逾期未开始"));
String pointsInPolygon = LeafletjsUtil.generateRandomPointsInPolygon(plotObj.getPoint()); String pointsInPolygon = LeafletjsUtil.generateRandomPointsInPolygon(plotObj.getPoint());
target.setPlanModelPoint(pointsInPolygon); target.setPlanModelPoint(pointsInPolygon);
target.setPlanModelImage(planModelImage);
targetList.add(target); targetList.add(target);
} }
return targetList; return targetList;

View File

@@ -452,8 +452,9 @@ public class ModelManagementServiceImpl implements ModelManagementService {
@Override @Override
public String getModelCycleName(String modelId) { public String getModelCycleName(String modelId) {
ModelCycleDO one = modelCycleMapper.selectOne("model_id", modelId); // TODO: 2025/9/9 这里处理当前日期是否在 排查开始日期+持续天数的范围内
return one.getName(); List<ModelCycleDO> cycleDOS = modelCycleMapper.selectList("model_id", modelId);
return cycleDOS.stream().findFirst().get().getName();
} }
@Override @Override