fix (farm): 配置文件,大屏

- 分离wanmao与吉水微信账号配置
- 大屏bug修复
This commit is contained in:
达富斌
2025-10-10 11:11:29 +08:00
parent d25d0d26e3
commit 4af34297e2
9 changed files with 99 additions and 14 deletions

View File

@@ -126,9 +126,7 @@ public class DigitalCockpitController {
@Parameter(name = "year", description = "查询条件: 年份", required = true)
public CommonResult<List<CropStatisticsRespVO>> getCropStatisticsInfo(@RequestParam("baseId") String baseId,
@RequestParam("year") String year) {
// TODO: 2025/9/24 待实现
List<CropStatisticsRespVO> res = new ArrayList<>();
res.add(new CropStatisticsRespVO("香菜",1000,1200));
List<CropStatisticsRespVO> res = productionPlanService.getCultivatingAreaInfo(baseId, year);
return success(res);
}
@@ -138,9 +136,7 @@ public class DigitalCockpitController {
@Parameter(name = "year", description = "查询条件: 年份", required = true)
public CommonResult<List<YieldStatisticsRespVO>> getYieldStatisticsInfo(@RequestParam("baseId") String baseId,
@RequestParam("year") String year) {
// TODO: 2025/9/24 待实现
List<YieldStatisticsRespVO> res = new ArrayList<>();
res.add(new YieldStatisticsRespVO("香菜",10000,16000));
List<YieldStatisticsRespVO> res = productionPlanService.getCultivatingYieldInfo(baseId, year);
return success(res);
}

View File

@@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.api.vo.*;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.ProductionPlanPage2ReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.ProductionPlanRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.productionplan.ProductionPlanPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.CropStatisticsRespVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO;
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
import org.apache.ibatis.annotations.Mapper;
@@ -83,4 +84,6 @@ public interface ProductionPlanMapper extends BaseMapperX<ProductionPlanDO> {
List<YieldComparisonChartRespVO> getYieldComparisonChart(YieldComparisonChartReqVO req);
PlantingPlanCompletionRespVO getPlantingPlanCompletionChart(PlantingPlanCompletionReqVO req);
List<CropStatisticsRespVO> getCultivatingAreaInfo(@Param("baseId") String baseId, @Param("year") String year);
}

View File

@@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.farm.service.productionplan;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.*;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.CropStatisticsRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.YieldStatisticsRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.BaseNamePlanRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.productionplan.ProductionPlanPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.productionplan.ProductionPlanSaveReqVO;
@@ -215,6 +217,10 @@ public interface ProductionPlanService {
*/
CultivatingInfo getCultivatingInfo(String baseId, String tenantId);
List<CropStatisticsRespVO> getCultivatingAreaInfo(String baseId, String year);
List<YieldStatisticsRespVO> getCultivatingYieldInfo(String baseId, String year);
@Data
@AllArgsConstructor
@NoArgsConstructor

View File

@@ -5,6 +5,8 @@ import cn.hutool.core.util.IdUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.*;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.CropStatisticsRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.YieldStatisticsRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.BaseNamePlanRespVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.productionplan.ProductionPlanPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.productionplan.ProductionPlanSaveReqVO;
@@ -12,6 +14,7 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO;
import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.specieslibrary.SpeciesLibraryMapper;
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
import cn.iocoder.yudao.module.farm.utils.DateUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.ObjectUtils;
@@ -53,6 +56,8 @@ public class ProductionPlanServiceImpl implements ProductionPlanService {
@Resource
private SpeciesLibraryMapper speciesLibraryMapper;
@Resource
private SpeciesLibraryService speciesLibraryService;
@Resource
private BaseInfoMapper baseInfoMapper;
@Override
@@ -415,5 +420,19 @@ public class ProductionPlanServiceImpl implements ProductionPlanService {
return new CultivatingInfo(cultivatingSpeciesCount,cultivatingPlotCount);
}
@Override
public List<CropStatisticsRespVO> getCultivatingAreaInfo(String baseId, String year) {
Map<String, String> map = speciesLibraryService.getSpeciesName();
List<CropStatisticsRespVO> list = productionPlanMapper.getCultivatingAreaInfo(baseId, year);
for (CropStatisticsRespVO c : list) {
c.setSpeciesName(map.getOrDefault(c.getSpeciesName(),""));
}
return list ;
}
@Override
public List<YieldStatisticsRespVO> getCultivatingYieldInfo(String baseId, String year) {
return null;
}
}

View File

@@ -96,4 +96,6 @@ public interface SpeciesLibraryService {
List<SpeciesLibraryDO> getSpeciesLibraryList();
Map<String, String> getSpeciesName();
}

View File

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.basicdatamanagement.specieslibrary.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.deviceclassify.DeviceClassifyDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.twodict.TwoDictDO;
@@ -791,4 +792,14 @@ public class SpeciesLibraryServiceImpl implements SpeciesLibraryService {
return result;
}
public Map<String,String> getSpeciesName() {
LambdaQueryWrapper<SpeciesLibraryDO> x = new LambdaQueryWrapper<>();
x.eq(SpeciesLibraryDO::getTenantId, getLoginUser().getTenantId());
List<SpeciesLibraryDO> speciesLibraryDOList = speciesLibraryMapper.selectList(x);
Map<String, String> nameMap = speciesLibraryDOList.stream().collect((Collectors.toMap(SpeciesLibraryDO::getId, SpeciesLibraryDO::getCultivarName)));
return nameMap;
}
}

View File

@@ -90,4 +90,25 @@
</select>
<select id="getCultivatingAreaInfo"
resultType="cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.CropStatisticsRespVO">
SELECT
plant_species_code AS speciesName,
SUM(predicted_area) AS cropArea,
SUM(total_area) AS totalArea
FROM farm_production_plan
<where>
deleted = 0
<if test="baseId != null and baseId != ''">
AND base_id = #{baseId}
</if>
<if test="year != null and year != ''">
AND YEAR(production_start_date) = #{year}
</if>
</where>
GROUP BY plant_species_code
</select>
</mapper>