From 166ef8866dd0f78469acaf3f126e065bd9c329d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E5=AF=8C=E6=96=8C?= Date: Mon, 27 Oct 2025 13:50:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=20(farm):=20=E5=86=9C=E4=BA=8B=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 单位 -> 中文展示 --- .../vo/FarmingRecordSaveReqVO.java | 3 ++ .../module/farm/enums/CommonConstants.java | 4 +++ .../farm/manager/inputs/InputsManager.java | 4 --- .../CropFarmingCenterServiceImpl.java | 35 +++++++++++++++++-- .../FarmingRecordServiceImpl.java | 7 ++++ 5 files changed, 46 insertions(+), 7 deletions(-) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropfarmingcenter/vo/FarmingRecordSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropfarmingcenter/vo/FarmingRecordSaveReqVO.java index bd41b1ea..64ca2b37 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropfarmingcenter/vo/FarmingRecordSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropfarmingcenter/vo/FarmingRecordSaveReqVO.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRec import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -25,6 +26,8 @@ public class FarmingRecordSaveReqVO { @Schema(description = "任务时间") private String taskTime; + private LocalDate taskStartDate; + private LocalDate taskEndDate; @Schema(description = "任务计划 (1: 开始; 2: 结束;)") private Integer taskStatus; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java index 57df8990..18c9e478 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java @@ -10,6 +10,10 @@ import java.util.Map; */ public class CommonConstants { + public final static String ASSET_TYPE = "asset_type"; // 投入品类型 + public final static String ITEMS_UNIT = "asset_unit"; // 规格-单位 (eg: 斤,吨..) + public final static String SPECIFICATION_PRICE = "asset_price"; // 单品-单位 (eg: 捆,箱..) + public final static Integer YES_CODE = 1; public final static String YES_NAME = "是"; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/inputs/InputsManager.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/inputs/InputsManager.java index 78edd591..2e72ac04 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/inputs/InputsManager.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/inputs/InputsManager.java @@ -50,10 +50,6 @@ public class InputsManager { this.modelFarmingOperationService = modelFarmingOperationService; } - private final String ASSET_TYPE = "asset_type"; // 投入品类型 - private final String ITEMS_UNIT = "asset_unit"; // 规格-单位 (eg: 斤,吨..) - private final String SPECIFICATION_PRICE = "asset_price"; // 单品-单位 (eg: 捆,箱..) - private Map getDictTypeMap(String dictType) { List dictDataList = dictDataService.getDictDataList(NO_CODE, dictType); return dictDataList.stream() diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java index 648d5e45..7f9ac5cb 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java @@ -21,7 +21,6 @@ import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanag import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.modelmanagement.models.vo.ModelManagementRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; -import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputUsageRecordsDO; import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO; import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO; @@ -43,6 +42,8 @@ import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil; import cn.iocoder.yudao.module.farm.utils.StrHelperUtil; +import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; +import cn.iocoder.yudao.module.system.service.dict.DictDataService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -53,6 +54,7 @@ import java.time.LocalDate; import java.time.Period; import java.time.ZoneId; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -87,11 +89,12 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { private final PlotInfoService plotInfoService; private final SpeciesLibraryService speciesLibraryService; private final FarmingTypeMaintenanceService farmingTypeMaintenanceService; + private final DictDataService dictDataService; public CropFarmingCenterServiceImpl(SpeciesLibraryMapper speciesLibraryMapper, PersonnelManagementMapper personnelManagementMapper, BaseInfoMapper baseInfoMapper, ProductionPlanMapper productionPlanMapper, FarmingRecordMapper farmingRecordMapper, InputUsageRecordsMapper inputUsageRecordsMapper, ModelManagementService modelManagementService, FarmingRecordService farmingRecordService, - FarmingRecordInputService farmingRecordInputService, PlotInfoService plotInfoService, SpeciesLibraryService speciesLibraryService, FarmingTypeMaintenanceService farmingTypeMaintenanceService) { + FarmingRecordInputService farmingRecordInputService, PlotInfoService plotInfoService, SpeciesLibraryService speciesLibraryService, FarmingTypeMaintenanceService farmingTypeMaintenanceService, DictDataService dictDataService) { this.speciesLibraryMapper = speciesLibraryMapper; this.personnelManagementMapper = personnelManagementMapper; this.baseInfoMapper = baseInfoMapper; @@ -104,6 +107,7 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { this.plotInfoService = plotInfoService; this.speciesLibraryService = speciesLibraryService; this.farmingTypeMaintenanceService = farmingTypeMaintenanceService; + this.dictDataService = dictDataService; } @Override @@ -714,7 +718,18 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { @Override public List getFarmReport(ChartCommonReqVO req) { - return inputUsageRecordsMapper.getFarmReport(req); + Map itemsNameMap = this.getDictTypeMap(ITEMS_UNIT); + Map specificationNameMap = this.getDictTypeMap(SPECIFICATION_PRICE); + + List list = inputUsageRecordsMapper.getFarmReport(req); + for (FarmingReport1RespVO f : list) { + if (f.getCurrentSpecType() == 1) { + f.setUnitName(itemsNameMap.get(f.getUnit().toString())); + } else { + f.setUnitName(specificationNameMap.get(f.getUnit().toString())); + } + } + return list; } @Override @@ -744,4 +759,18 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { ); } + private Map getDictTypeMap(String dictType) { + List dictDataList = dictDataService.getDictDataList(NO_CODE, dictType); + return dictDataList.stream() + // 按 sort 字段降序排序(数字大的在上面) + .sorted((o1, o2) -> o2.getSort().compareTo(o1.getSort())) + // 收集到 Map 中 + .collect(Collectors.toMap( + DictDataDO::getValue, // key 映射 + DictDataDO::getLabel, // value 映射 + (oldValue, newValue) -> oldValue, // 键冲突时的处理策略 + LinkedHashMap::new // 使用 LinkedHashMap 保持排序顺序 + )); + } + } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java index 841ef919..d693dd83 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java @@ -24,6 +24,7 @@ import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.time.LocalDate; import java.util.List; import java.util.stream.Collectors; @@ -182,12 +183,18 @@ public class FarmingRecordServiceImpl implements FarmingRecordService { String modelFarmingOperationId = ""; // TODO: 2025/10/21 + String[] split = taskTime.split(","); + LocalDate taskStartDate = LocalDate.parse(split[0]); + LocalDate taskEndDate = LocalDate.parse(split[1]); + // 创建FarmingRecordSaveReqVO对象 FarmingRecordSaveReqVO saveReqVO = new FarmingRecordSaveReqVO(); saveReqVO.setTaskType(createReqVO.getTaskType()); saveReqVO.setTaskName(createReqVO.getTaskName()); saveReqVO.setTaskScope(createReqVO.getTaskScope()); saveReqVO.setTaskTime(taskTime); + saveReqVO.setTaskStartDate(taskStartDate); + saveReqVO.setTaskEndDate(taskEndDate); saveReqVO.setPlotId(createReqVO.getPlotId()); saveReqVO.setProductionPlanId(createReqVO.getProductionPlanId()); saveReqVO.setModelFarmingOperationId(modelFarmingOperationId);