diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java index ee0ba03b..cb3d4baa 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java @@ -6,7 +6,6 @@ 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.baseinfo.vo.BaseNamePlanRespVO; import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.BaseNameRespVO; -import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.CommonDictRespVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.FarmingTypeRespVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO; import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.sys.SysDictRespVO; @@ -27,14 +26,12 @@ import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLi import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibraryRespVO; import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibrarySaveReqVO; import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesThreeLevelTreeRespVO; -import cn.iocoder.yudao.module.farm.controller.admin.twodict.vo.TwoDictTreeRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata.DisasterDataDO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputLibraryDO; import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; import cn.iocoder.yudao.module.farm.dal.mysql.sysDict.SysDictDO; -import cn.iocoder.yudao.module.farm.enums.CommonConstants; import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService; import cn.iocoder.yudao.module.farm.service.disasterdata.DisasterDataService; import cn.iocoder.yudao.module.farm.service.farmingtypemaintenance.FarmingTypeMaintenanceService; @@ -44,7 +41,6 @@ import cn.iocoder.yudao.module.farm.service.speciesclassifylibrary.SpeciesClassi import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; import cn.iocoder.yudao.module.farm.service.sysDict.SysDictService; import cn.iocoder.yudao.module.farm.service.twodict.TwoDictService; -import cn.iocoder.yudao.module.farm.utils.TreeStructureUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -53,9 +49,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java index 25af2609..51f91433 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java @@ -35,30 +35,26 @@ public class HomeController { @Operation(summary = "农场首页") @GetMapping("/{baseId}") public CommonResult getBaseInfo(@PathVariable("baseId") String baseId) { - HomeInfo res = homeService.getHomeInfo(baseId); - return success(res); + return success(homeService.getHomeInfo(baseId)); } @Parameter(name = "baseId", description = "基地ID", required = true) @Operation(summary = "农场首页-概要信息") @GetMapping("/outlined/{baseId}") public CommonResult getWeatherInfo(@PathVariable("baseId") String baseId) { - OutlinedInfoVO res = homeService.getOutlinedInfo(baseId); - return success(res); + return success(homeService.getOutlinedInfo(baseId)); } @Operation(summary = "农场首页-基地名称列表") @GetMapping("/baseNames") public CommonResult> getBaseNameList() { - List res = homeService.getBaseNameList(); - return success(res); + return success(homeService.getBaseNameList()); } @Operation(summary = "农场首页-公司基地及种植") @GetMapping("/companyBaseFarming") public CommonResult getCompanyBaseFarming() { - Map res = homeService.getCompanyBaseFarming(); - return success(res); + return success(homeService.getCompanyBaseFarming()); } } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java index f1709e93..016e8f57 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.farm.controller.admin.home.vo; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; /** * @description: 基地名称下拉列表 @@ -8,6 +10,8 @@ import lombok.Data; * @date: 2025/8/15 18:04 */ @Data +@AllArgsConstructor +@NoArgsConstructor public class BaseNameVO { public String baseId; public String baseName; 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 01fe0b22..0ed4ce4b 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 @@ -26,6 +26,21 @@ public class HomeInfo { private List plotInfos; @Schema(description = "计划集合") private List planInfos; + @Schema(description = "统计信息") + private StatisticalInfo statisticalInfo; + + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class StatisticalInfo { + @Schema(description = "今日任务数量") + private Integer taskCount; + @Schema(description = "告警数量") + private Integer warningCount; + @Schema(description = "物联设备数量") + private Integer iotCount; + } @Data @AllArgsConstructor diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java index 8a0ac896..dfc8f8f3 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java @@ -50,6 +50,7 @@ public interface BaseInfoService { * @return 基地 */ BaseInfoDO getBaseInfo(String id); + List getBaseInfos(); /** * 获得基地分页 diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java index f3bff5cd..82d41e61 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java @@ -111,6 +111,12 @@ public class BaseInfoServiceImpl implements BaseInfoService { return baseInfoMapper.selectById(id); } + @Override + public List getBaseInfos() { + String tenantId = String.valueOf(getLoginUser().getTenantId()); + return baseInfoMapper.selectList("tenant_id", tenantId); + } + @Override public PageResult getBaseInfoPage(BaseInfoPageReqVO pageReqVO) { return baseInfoMapper.selectPage(pageReqVO); diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java index 6b91de91..6b1c7b17 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java @@ -21,8 +21,6 @@ public interface HomeService { */ HomeInfo getHomeInfo(String baseId); - HomeInfo2VO getHomeInfo2(String baseId); - /** * 首页概要信息 * @param baseId 基地ID 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 0b20ccbc..f7e2b656 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 @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo.*; -import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo2VO; 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; @@ -21,6 +20,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; @@ -56,7 +56,7 @@ public class HomeServiceImpl implements HomeService { List plotInfos = this.getPlotInfoList(baseId); List planInfos = this.getPlanInfoList(""); - return new HomeInfo(baseOverviewInfo,basePopupFrame,plotInfos,planInfos); + return new HomeInfo(baseOverviewInfo,basePopupFrame,plotInfos,planInfos,null); } private BaseOverviewInfo getBaseOverviewInfo(String baseId) { @@ -138,87 +138,6 @@ public class HomeServiceImpl implements HomeService { return targetList; } - - - @Override - public HomeInfo2VO getHomeInfo2(String baseId) { - - // 地块信息 - List plotInfoVOs = this.getPlots(baseId); - - int plotCount = 0; // 在种地块 - int plotTotalCount = 0; // 地块总数 - - // 任务信息 - int cropCount = 0; // 在种作物 - int cropTotalCount = 0; // 作物总数 - - // 基地信息 - BaseInfoDO baseInfoDO = baseInfoService.getBaseInfo(baseId); - - HomeInfo2VO.BaseInfoVO baseInfoVO = new HomeInfo2VO.BaseInfoVO(); - baseInfoVO.setId(baseInfoDO.getId()); - baseInfoVO.setArea(baseInfoDO.getArea()); - baseInfoVO.setPointName(""); // todo 需要从坐标json中解析坐标名称 - baseInfoVO.setManager(baseInfoDO.getManager()); - baseInfoVO.setPlotCount(plotCount); - baseInfoVO.setPlotTotalCount(plotTotalCount); - baseInfoVO.setCropCount(cropCount); - baseInfoVO.setCropTotalCount(cropTotalCount); - - HomeInfo2VO res = new HomeInfo2VO(); - res.setBaseInfo(baseInfoVO); - res.setPlotInfoVOS(plotInfoVOs); - return res; - } - - /** - * 构建地块信息 - * - * @param baseId 基地ID - * @return 地块集合 - */ - private List getPlots(String baseId) { - // 地块信息 - List plotInfos = plotInfoService.getPlotInfos(baseId); - List resList = new ArrayList<>(); - plotInfos.forEach(e -> { - String plotId = e.getPlotId(); - - // 任务信息 - List productionPlanInfos = productionPlanService.getProductionPlans(plotId); - List plans = new ArrayList<>(); - productionPlanInfos.forEach(ee -> { - HomeInfo2VO.ProductionPlanVO planVO = new HomeInfo2VO.ProductionPlanVO(); - planVO.setId(ee.getId()); -// planVO.setPlantSpecies(ee.getPlantSpecies()); -// planVO.setCultivationAreaId(ee.getCultivationAreaId()); - planVO.setManagementCycleName(""); // todo 当前管理周期名称 - planVO.setManagementCyclePlan(""); // todo 当前管理周期计划进度 - planVO.setCultivatedArea(0); // todo 种植面积 -// planVO.setEstimatedOutput(ee.getEstimatedOutput()); // todo 预产数量 - planVO.setTaskCount(0); // todo 任务数量 - planVO.setManager(""); // - plans.add(planVO); // todo 任务负责人 - }); - - HomeInfo2VO.PlotInfoVO plotVO = new HomeInfo2VO.PlotInfoVO(); - plotVO.setPlotId(plotId); - plotVO.setPlotName(e.getPlotName()); - plotVO.setPlotArea(e.getPlotArea()); - plotVO.setCropName(""); // todo 种植作物名称,使用逗号分割 - plotVO.setCropCount(0); // todo 地块在种作物数量 - plotVO.setProductionPlanCount(0); // todo 农事任务数量 - plotVO.setIotCount(0); // todo 物联网设备数据 - plotVO.setManager(e.getEmployeeId()); // todo 负责人id -> name - plotVO.setQrCodeUrl(""); // 二维码URL - plotVO.setProductionPlanVOS(plans); - resList.add(plotVO); - }); - - return resList; - } - @Override public OutlinedInfoVO getOutlinedInfo(String baseId) { OutlinedInfoVO res = new OutlinedInfoVO(); @@ -230,7 +149,8 @@ public class HomeServiceImpl implements HomeService { @Override public List getBaseNameList() { - return null; + List baseNameList = baseInfoService.getBaseInfos(); + return baseNameList.stream().map(e -> new BaseNameVO(e.getId(), e.getName())).collect(Collectors.toList()); } @Override