package cn.iocoder.yudao.module.erp.convert; import cn.idev.excel.converters.Converter; import cn.idev.excel.enums.CellDataTypeEnum; import cn.idev.excel.metadata.GlobalConfiguration; import cn.idev.excel.metadata.data.ReadCellData; import cn.idev.excel.metadata.data.WriteCellData; import cn.idev.excel.metadata.property.ExcelContentProperty; import cn.iocoder.yudao.module.erp.enums.ErpPurchaseOrderInStatusEnum; /** * ERP 采购入库状态 Excel 转换器 *

* 将 Integer 入库状态码转换为中文名称 * * @author 芋道源码 */ public class ErpPurchaseOrderInStatusConvert implements Converter { @Override public Class supportJavaTypeKey() { return Integer.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public WriteCellData convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { if (value == null) { return new WriteCellData<>(""); } ErpPurchaseOrderInStatusEnum statusEnum = ErpPurchaseOrderInStatusEnum.fromStatus(value); return new WriteCellData<>(statusEnum != null ? statusEnum.getName() : String.valueOf(value)); } @Override public Integer convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { String label = cellData.getStringValue(); ErpPurchaseOrderInStatusEnum statusEnum = ErpPurchaseOrderInStatusEnum.fromName(label); return statusEnum != null ? statusEnum.getStatus() : null; } }