fix (farm): 农事报表
- 单位 -> 中文展示
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRec
|
|||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -25,6 +26,8 @@ public class FarmingRecordSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "任务时间")
|
@Schema(description = "任务时间")
|
||||||
private String taskTime;
|
private String taskTime;
|
||||||
|
private LocalDate taskStartDate;
|
||||||
|
private LocalDate taskEndDate;
|
||||||
|
|
||||||
@Schema(description = "任务计划 (1: 开始; 2: 结束;)")
|
@Schema(description = "任务计划 (1: 开始; 2: 结束;)")
|
||||||
private Integer taskStatus;
|
private Integer taskStatus;
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class CommonConstants {
|
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 Integer YES_CODE = 1;
|
||||||
public final static String YES_NAME = "是";
|
public final static String YES_NAME = "是";
|
||||||
|
|
||||||
|
|||||||
@@ -50,10 +50,6 @@ public class InputsManager {
|
|||||||
this.modelFarmingOperationService = modelFarmingOperationService;
|
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<String, String> getDictTypeMap(String dictType) {
|
private Map<String, String> getDictTypeMap(String dictType) {
|
||||||
List<DictDataDO> dictDataList = dictDataService.getDictDataList(NO_CODE, dictType);
|
List<DictDataDO> dictDataList = dictDataService.getDictDataList(NO_CODE, dictType);
|
||||||
return dictDataList.stream()
|
return dictDataList.stream()
|
||||||
|
|||||||
@@ -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.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.baseinfo.BaseInfoDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO;
|
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.modelfarmingoperationinput.ModelFarmingOperationInputDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.modelmanagement.ModelManagementDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
|
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.service.specieslibrary.SpeciesLibraryService;
|
||||||
import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
|
import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
|
||||||
import cn.iocoder.yudao.module.farm.utils.StrHelperUtil;
|
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 com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
@@ -53,6 +54,7 @@ import java.time.LocalDate;
|
|||||||
import java.time.Period;
|
import java.time.Period;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -87,11 +89,12 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
|
|||||||
private final PlotInfoService plotInfoService;
|
private final PlotInfoService plotInfoService;
|
||||||
private final SpeciesLibraryService speciesLibraryService;
|
private final SpeciesLibraryService speciesLibraryService;
|
||||||
private final FarmingTypeMaintenanceService farmingTypeMaintenanceService;
|
private final FarmingTypeMaintenanceService farmingTypeMaintenanceService;
|
||||||
|
private final DictDataService dictDataService;
|
||||||
|
|
||||||
public CropFarmingCenterServiceImpl(SpeciesLibraryMapper speciesLibraryMapper, PersonnelManagementMapper personnelManagementMapper, BaseInfoMapper baseInfoMapper, ProductionPlanMapper productionPlanMapper,
|
public CropFarmingCenterServiceImpl(SpeciesLibraryMapper speciesLibraryMapper, PersonnelManagementMapper personnelManagementMapper, BaseInfoMapper baseInfoMapper, ProductionPlanMapper productionPlanMapper,
|
||||||
FarmingRecordMapper farmingRecordMapper, InputUsageRecordsMapper inputUsageRecordsMapper, ModelManagementService modelManagementService,
|
FarmingRecordMapper farmingRecordMapper, InputUsageRecordsMapper inputUsageRecordsMapper, ModelManagementService modelManagementService,
|
||||||
FarmingRecordService farmingRecordService,
|
FarmingRecordService farmingRecordService,
|
||||||
FarmingRecordInputService farmingRecordInputService, PlotInfoService plotInfoService, SpeciesLibraryService speciesLibraryService, FarmingTypeMaintenanceService farmingTypeMaintenanceService) {
|
FarmingRecordInputService farmingRecordInputService, PlotInfoService plotInfoService, SpeciesLibraryService speciesLibraryService, FarmingTypeMaintenanceService farmingTypeMaintenanceService, DictDataService dictDataService) {
|
||||||
this.speciesLibraryMapper = speciesLibraryMapper;
|
this.speciesLibraryMapper = speciesLibraryMapper;
|
||||||
this.personnelManagementMapper = personnelManagementMapper;
|
this.personnelManagementMapper = personnelManagementMapper;
|
||||||
this.baseInfoMapper = baseInfoMapper;
|
this.baseInfoMapper = baseInfoMapper;
|
||||||
@@ -104,6 +107,7 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
|
|||||||
this.plotInfoService = plotInfoService;
|
this.plotInfoService = plotInfoService;
|
||||||
this.speciesLibraryService = speciesLibraryService;
|
this.speciesLibraryService = speciesLibraryService;
|
||||||
this.farmingTypeMaintenanceService = farmingTypeMaintenanceService;
|
this.farmingTypeMaintenanceService = farmingTypeMaintenanceService;
|
||||||
|
this.dictDataService = dictDataService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -714,7 +718,18 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<FarmingReport1RespVO> getFarmReport(ChartCommonReqVO req) {
|
public List<FarmingReport1RespVO> getFarmReport(ChartCommonReqVO req) {
|
||||||
return inputUsageRecordsMapper.getFarmReport(req);
|
Map<String, String> itemsNameMap = this.getDictTypeMap(ITEMS_UNIT);
|
||||||
|
Map<String, String> specificationNameMap = this.getDictTypeMap(SPECIFICATION_PRICE);
|
||||||
|
|
||||||
|
List<FarmingReport1RespVO> 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
|
@Override
|
||||||
@@ -744,4 +759,18 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Map<String, String> getDictTypeMap(String dictType) {
|
||||||
|
List<DictDataDO> 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 保持排序顺序
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import org.apache.commons.lang3.ObjectUtils;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -182,12 +183,18 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
|
|||||||
|
|
||||||
String modelFarmingOperationId = ""; // TODO: 2025/10/21
|
String modelFarmingOperationId = ""; // TODO: 2025/10/21
|
||||||
|
|
||||||
|
String[] split = taskTime.split(",");
|
||||||
|
LocalDate taskStartDate = LocalDate.parse(split[0]);
|
||||||
|
LocalDate taskEndDate = LocalDate.parse(split[1]);
|
||||||
|
|
||||||
// 创建FarmingRecordSaveReqVO对象
|
// 创建FarmingRecordSaveReqVO对象
|
||||||
FarmingRecordSaveReqVO saveReqVO = new FarmingRecordSaveReqVO();
|
FarmingRecordSaveReqVO saveReqVO = new FarmingRecordSaveReqVO();
|
||||||
saveReqVO.setTaskType(createReqVO.getTaskType());
|
saveReqVO.setTaskType(createReqVO.getTaskType());
|
||||||
saveReqVO.setTaskName(createReqVO.getTaskName());
|
saveReqVO.setTaskName(createReqVO.getTaskName());
|
||||||
saveReqVO.setTaskScope(createReqVO.getTaskScope());
|
saveReqVO.setTaskScope(createReqVO.getTaskScope());
|
||||||
saveReqVO.setTaskTime(taskTime);
|
saveReqVO.setTaskTime(taskTime);
|
||||||
|
saveReqVO.setTaskStartDate(taskStartDate);
|
||||||
|
saveReqVO.setTaskEndDate(taskEndDate);
|
||||||
saveReqVO.setPlotId(createReqVO.getPlotId());
|
saveReqVO.setPlotId(createReqVO.getPlotId());
|
||||||
saveReqVO.setProductionPlanId(createReqVO.getProductionPlanId());
|
saveReqVO.setProductionPlanId(createReqVO.getProductionPlanId());
|
||||||
saveReqVO.setModelFarmingOperationId(modelFarmingOperationId);
|
saveReqVO.setModelFarmingOperationId(modelFarmingOperationId);
|
||||||
|
|||||||
Reference in New Issue
Block a user