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.ErpPurchaseRequestStatusEnum;
|
|
/**
|
* ERP 采购申请状态 Excel 转换器
|
* <p>
|
* 将 Integer 状态码转换为中文名称,用于 Excel 导出
|
*
|
* @author 芋道源码
|
*/
|
public class ErpPurchaseRequestStatusConvert implements Converter<Integer> {
|
|
@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<>("");
|
}
|
ErpPurchaseRequestStatusEnum statusEnum = ErpPurchaseRequestStatusEnum.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();
|
ErpPurchaseRequestStatusEnum statusEnum = ErpPurchaseRequestStatusEnum.fromName(label);
|
return statusEnum != null ? statusEnum.getStatus() : null;
|
}
|
|
}
|