溯源码字典解析

This commit is contained in:
xiaogu
2025-09-14 15:48:36 +08:00
parent fd7d610331
commit ce615d4fc3
6 changed files with 54 additions and 40 deletions

View File

@@ -131,4 +131,17 @@ public class TraceabilityCodePageReqVO extends PageParam {
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
private String codeOutBatch; private String codeOutBatch;
private Long scanCodeCount; private Long scanCodeCount;
/**
* 计量单位
*/
private Integer measuringUnit;
private String measuringUnitName;
/**
* 包装单位
*/
private Integer packingUnit;
private String packingUnitName;
} }

View File

@@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo; package cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import cn.idev.excel.annotation.*; import java.util.List;
@Schema(description = "管理后台 - 溯源-溯源码 Response VO") @Schema(description = "管理后台 - 溯源-溯源码 Response VO")
@Data @Data
@@ -182,10 +184,10 @@ public class TraceabilityCodeRespVO {
@Schema(description = "计量单位", example = "3") @Schema(description = "计量单位", example = "3")
private Integer measuringUnit; private Integer measuringUnit;
private String measuringUnitName;
@Schema(description = "包装单位", example = "8") @Schema(description = "包装单位", example = "8")
private Integer packingUnit; private Integer packingUnit;
private String packingUnitName;
@Schema(description = "自定义数据列表") @Schema(description = "自定义数据列表")
private List<CustomDataItem> customData; private List<CustomDataItem> customData;

View File

@@ -138,11 +138,18 @@ public class TraceabilityCodeSaveReqVO {
@Schema(description = "检验报告列表") @Schema(description = "检验报告列表")
private List<String> inspectionReportList; private List<String> inspectionReportList;
@Schema(description = "计量单位", example = "3") /**
private String measuringUnit; * 计量单位
*/
private Integer measuringUnit;
@Schema(description = "包装单位", example = "8") private String measuringUnitName;
private String packingUnit; /**
* 包装单位
*/
private Integer packingUnit;
private String packingUnitName;
@Schema(description = "自定义数据列表") @Schema(description = "自定义数据列表")
private List<CustomDataItem> customData; private List<CustomDataItem> customData;

View File

@@ -219,11 +219,14 @@ public class TraceabilityCodeDO extends BaseDO {
*/ */
private Integer measuringUnit; private Integer measuringUnit;
private String measuringUnitName;
/** /**
* 包装单位 * 包装单位
*/ */
private Integer packingUnit; private Integer packingUnit;
private String packingUnitName;
/** /**
* 是否显示基地 * 是否显示基地
*/ */

View File

@@ -5,7 +5,6 @@ import cn.hutool.json.JSONUtil;
import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodeRespVO; import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodeRespVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.traceabilitycode.TraceabilityCodeDO; import cn.iocoder.yudao.module.farm.dal.dataobject.traceabilitycode.TraceabilityCodeDO;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -66,7 +65,8 @@ public class TraceabilityDataConverter {
respVO.setCreateTime(traceabilityCodeDO.getCreateTime()); respVO.setCreateTime(traceabilityCodeDO.getCreateTime());
respVO.setCodeOutBatch(traceabilityCodeDO.getCodeOutBatch()); respVO.setCodeOutBatch(traceabilityCodeDO.getCodeOutBatch());
respVO.setScanCodeCount(traceabilityCodeDO.getScanCodeCount()); respVO.setScanCodeCount(traceabilityCodeDO.getScanCodeCount());
respVO.setMeasuringUnitName(traceabilityCodeDO.getMeasuringUnitName());
respVO.setPackingUnitName(traceabilityCodeDO.getPackingUnitName());
// 统一显示标志格式:Long -> Boolean // 统一显示标志格式:Long -> Boolean
respVO.setIsShowBusinessName(convertLongToBoolean(traceabilityCodeDO.getIsShowBusinessName())); respVO.setIsShowBusinessName(convertLongToBoolean(traceabilityCodeDO.getIsShowBusinessName()));
respVO.setIsShowBusinessPhone(convertLongToBoolean(traceabilityCodeDO.getIsShowBusinessPhone())); respVO.setIsShowBusinessPhone(convertLongToBoolean(traceabilityCodeDO.getIsShowBusinessPhone()));
@@ -96,7 +96,7 @@ public class TraceabilityDataConverter {
if (StrUtil.isNotBlank(traceabilityCodeDO.getFarmingInputJson())) { if (StrUtil.isNotBlank(traceabilityCodeDO.getFarmingInputJson())) {
try { try {
List<TraceabilityCodeRespVO.FarmingInputItem> farmingInputList = List<TraceabilityCodeRespVO.FarmingInputItem> farmingInputList =
JSONUtil.toList(traceabilityCodeDO.getFarmingInputJson(), TraceabilityCodeRespVO.FarmingInputItem.class); JSONUtil.toList(traceabilityCodeDO.getFarmingInputJson(), TraceabilityCodeRespVO.FarmingInputItem.class);
respVO.setFarmingInputList(farmingInputList); respVO.setFarmingInputList(farmingInputList);
} catch (Exception e) { } catch (Exception e) {
// 解析失败,保持为空 // 解析失败,保持为空
@@ -107,7 +107,7 @@ public class TraceabilityDataConverter {
if (StrUtil.isNotBlank(traceabilityCodeDO.getCustomDataJson())) { if (StrUtil.isNotBlank(traceabilityCodeDO.getCustomDataJson())) {
try { try {
List<TraceabilityCodeRespVO.CustomDataItem> customDataList = List<TraceabilityCodeRespVO.CustomDataItem> customDataList =
JSONUtil.toList(traceabilityCodeDO.getCustomDataJson(), TraceabilityCodeRespVO.CustomDataItem.class); JSONUtil.toList(traceabilityCodeDO.getCustomDataJson(), TraceabilityCodeRespVO.CustomDataItem.class);
respVO.setCustomData(customDataList); respVO.setCustomData(customDataList);
} catch (Exception e) { } catch (Exception e) {
// 解析失败,保持为空 // 解析失败,保持为空

View File

@@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodePageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodeSaveReqVO; import cn.iocoder.yudao.module.farm.controller.admin.traceabilitycode.vo.TraceabilityCodeSaveReqVO;
@@ -46,7 +47,12 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService {
traceabilityCode.setId(IdUtil.fastUUID()); traceabilityCode.setId(IdUtil.fastUUID());
traceabilityCode.setTenantId(String.valueOf(user.getTenantId())); traceabilityCode.setTenantId(String.valueOf(user.getTenantId()));
traceabilityCode.setCodeOutBatch(dateStr); traceabilityCode.setCodeOutBatch(dateStr);
// 计量单位
String measuringUnitName = DictFrameworkUtils.parseDictDataLabel("asset_unit", traceabilityCode.getMeasuringUnit());
traceabilityCode.setMeasuringUnitName(measuringUnitName);
// 包装单位
String packingUnitName = DictFrameworkUtils.parseDictDataLabel("asset_price", traceabilityCode.getPackingUnit());
traceabilityCode.setPackingUnitName(packingUnitName);
// 处理图片集合转换 // 处理图片集合转换
handleImageConversion(traceabilityCode, createReqVO); handleImageConversion(traceabilityCode, createReqVO);
@@ -198,23 +204,6 @@ public class TraceabilityCodeServiceImpl implements TraceabilityCodeService {
traceabilityCode.setCustomDataJson(customDataJson); traceabilityCode.setCustomDataJson(customDataJson);
} }
// 处理新增的字段
if (CharSequenceUtil.isNotBlank(reqVO.getMeasuringUnit())) {
try {
traceabilityCode.setMeasuringUnit(Integer.valueOf(reqVO.getMeasuringUnit()));
} catch (NumberFormatException e) {
// 忽略无效的数字格式
}
}
if (CharSequenceUtil.isNotBlank(reqVO.getPackingUnit())) {
try {
traceabilityCode.setPackingUnit(Integer.valueOf(reqVO.getPackingUnit()));
} catch (NumberFormatException e) {
// 忽略无效的数字格式
}
}
// isShowBase字段已经在convertBooleanToLong方法中处理了 // isShowBase字段已经在convertBooleanToLong方法中处理了
} }