fix (farm): 首页

- 展示网箱集合
This commit is contained in:
达富斌
2025-11-06 21:07:26 +08:00
parent 4aec3151a7
commit d5e73e2454
4 changed files with 24 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.farm.controller.admin.home.vo;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.grid.ProductionPlanGridRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.PlotLesseeDetailsRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
@@ -164,6 +165,8 @@ public class HomeInfo {
private String manager;
@Schema(description = "二维码Url")
private String qrCodeUrl;
@Schema(description = "网箱总数")
private String gridRatio;
@Schema(description = "计划集合")
private List<PlanInfo> planInfos;
}
@@ -210,5 +213,7 @@ public class HomeInfo {
private String planModelPoint;
@Schema(description = "计划模型-物种图片")
private List<String> planModelImage;
@Schema(description = "网格信息")
private List<ProductionPlanGridRespVO> gridOverviewList;
}
}

View File

@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseInfoReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseInfoRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseOverviewReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseOverviewRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.grid.ProductionPlanGridRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.BaseStatisticsInfoRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.*;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.wx.BaseInfoForWxRespVO;
@@ -85,6 +86,12 @@ public interface BaseInfoService {
*/
TenantInfoRespVO getBaseOverviewInfo();
/**
* 获取网箱信息
* @param plotId
* @return
*/
List<ProductionPlanGridRespVO> getGridInfo(String plotId);
/**
* 数字驾驶舱-获取基地概要信息
*

View File

@@ -340,6 +340,11 @@ public class BaseInfoServiceImpl implements BaseInfoService {
}
return targetList;
}
@Override
public List<ProductionPlanGridRespVO> getGridInfo(String plotId) {
String plotCode = plotId;
return this.packageGridInfo(plotCode);
}
private List<ProductionPlanGridRespVO> packageGridInfo(String plotId) {
List<ProductionPlanGridRespVO> res = new ArrayList<>();

View File

@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.farm.service.home;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.grid.ProductionPlanGridRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.DeviceMonitorDataRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO;
import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo;
@@ -11,7 +12,6 @@ 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.manager.equipmentproducer.service.DeviceService;
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.deviceinfo.DeviceInfoService;
@@ -193,6 +193,8 @@ public class HomeServiceImpl implements HomeService {
Integer iotCount = deviceService.countDevice(e.getBaseId() , getLoginUser().getTenantId().toString());
// 物种数量
// int speciesNum = modelManagementService.getSpeciesNum(getLoginUser().getTenantId().toString());
// 网箱使用占比
String gridRatio = "100/500"; // TODO: 2025/11/6
PlotOrCropInfo t = new PlotOrCropInfo();
t.setLabel(label);
@@ -207,6 +209,7 @@ public class HomeServiceImpl implements HomeService {
t.setLotCount(iotCount);
t.setManager(employeeName);
t.setQrCodeUrl(e.getBaseId());
t.setGridRatio(gridRatio);
t.setPlanInfos(this.getPlanInfoList(e.getBaseId(), e.getPlotId(), employeeName));
return t;
}
@@ -230,6 +233,8 @@ public class HomeServiceImpl implements HomeService {
int progressBarDenominator = modelManagementService.getFarmRecordCount(e.getSpeciesModelId());
// 任务进度
String progressBar = progressBarNumerator +"/"+progressBarDenominator;
// 网格信息
List<ProductionPlanGridRespVO> gridOverviewList = baseInfoService.getGridInfo(plotId);
PlanInfo target = new PlanInfo();
target.setBaseId(e.getBaseId());
@@ -252,6 +257,7 @@ public class HomeServiceImpl implements HomeService {
String pointsInPolygon = LeafletjsUtil.generateRandomPointsInPolygon(plotObj.getPoint());
target.setPlanModelPoint(pointsInPolygon);
target.setPlanModelImage(speciesLibrary.getImageList());
target.setGridOverviewList(gridOverviewList);
targetList.add(target);
}
return targetList;