Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -35,30 +35,26 @@ public class HomeController {
|
||||
@Operation(summary = "农场首页")
|
||||
@GetMapping("/{baseId}")
|
||||
public CommonResult<HomeInfo> 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<OutlinedInfoVO> getWeatherInfo(@PathVariable("baseId") String baseId) {
|
||||
OutlinedInfoVO res = homeService.getOutlinedInfo(baseId);
|
||||
return success(res);
|
||||
return success(homeService.getOutlinedInfo(baseId));
|
||||
}
|
||||
|
||||
@Operation(summary = "农场首页-基地名称列表")
|
||||
@GetMapping("/baseNames")
|
||||
public CommonResult<List<BaseNameVO>> getBaseNameList() {
|
||||
List<BaseNameVO> res = homeService.getBaseNameList();
|
||||
return success(res);
|
||||
return success(homeService.getBaseNameList());
|
||||
}
|
||||
|
||||
@Operation(summary = "农场首页-公司基地及种植")
|
||||
@GetMapping("/companyBaseFarming")
|
||||
public CommonResult<Object> getCompanyBaseFarming() {
|
||||
Map<String, Object> res = homeService.getCompanyBaseFarming();
|
||||
return success(res);
|
||||
return success(homeService.getCompanyBaseFarming());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -26,6 +26,21 @@ public class HomeInfo {
|
||||
private List<PlotInfo> plotInfos;
|
||||
@Schema(description = "计划集合")
|
||||
private List<PlanInfo> 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
|
||||
|
||||
@@ -50,6 +50,7 @@ public interface BaseInfoService {
|
||||
* @return 基地
|
||||
*/
|
||||
BaseInfoDO getBaseInfo(String id);
|
||||
List<BaseInfoDO> getBaseInfos();
|
||||
|
||||
/**
|
||||
* 获得基地分页
|
||||
|
||||
@@ -111,6 +111,12 @@ public class BaseInfoServiceImpl implements BaseInfoService {
|
||||
return baseInfoMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BaseInfoDO> getBaseInfos() {
|
||||
String tenantId = String.valueOf(getLoginUser().getTenantId());
|
||||
return baseInfoMapper.selectList("tenant_id", tenantId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<BaseInfoDO> getBaseInfoPage(BaseInfoPageReqVO pageReqVO) {
|
||||
return baseInfoMapper.selectPage(pageReqVO);
|
||||
|
||||
@@ -21,8 +21,6 @@ public interface HomeService {
|
||||
*/
|
||||
HomeInfo getHomeInfo(String baseId);
|
||||
|
||||
HomeInfo2VO getHomeInfo2(String baseId);
|
||||
|
||||
/**
|
||||
* 首页概要信息
|
||||
* @param baseId 基地ID
|
||||
|
||||
@@ -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<PlotInfo> plotInfos = this.getPlotInfoList(baseId);
|
||||
List<PlanInfo> 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<HomeInfo2VO.PlotInfoVO> 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<HomeInfo2VO.PlotInfoVO> getPlots(String baseId) {
|
||||
// 地块信息
|
||||
List<PlotInfoDO> plotInfos = plotInfoService.getPlotInfos(baseId);
|
||||
List<HomeInfo2VO.PlotInfoVO> resList = new ArrayList<>();
|
||||
plotInfos.forEach(e -> {
|
||||
String plotId = e.getPlotId();
|
||||
|
||||
// 任务信息
|
||||
List<ProductionPlanDO> productionPlanInfos = productionPlanService.getProductionPlans(plotId);
|
||||
List<HomeInfo2VO.ProductionPlanVO> 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<BaseNameVO> getBaseNameList() {
|
||||
return null;
|
||||
List<BaseInfoDO> baseNameList = baseInfoService.getBaseInfos();
|
||||
return baseNameList.stream().map(e -> new BaseNameVO(e.getId(), e.getName())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user