yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java
@@ -333,7 +333,19 @@ @PreAuthorize("@ss.hasPermission('mdm:item:import')") public CommonResult<MdmItemImportRespVO> importExcel(@RequestParam("file") MultipartFile file, @RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws Exception { List<MdmItemImportExcelVO> list = ExcelUtils.read(file, MdmItemImportExcelVO.class); List<MdmItemImportExcelVO> list; try { list = ExcelUtils.read(file, MdmItemImportExcelVO.class); } catch (cn.idev.excel.exception.ExcelDataConvertException e) { int row = e.getRowIndex() == null ? 0 : e.getRowIndex() + 1; int col = e.getColumnIndex() == null ? 0 : e.getColumnIndex() + 1; String cellVal = e.getCellData() == null ? "" : String.valueOf(e.getCellData().getStringValue()); throw new cn.iocoder.yudao.framework.common.exception.ServiceException(400, "Excel 第 " + row + " è¡ç¬¬ " + col + " åæ°æ®ã" + cellVal + "ãæ ¼å¼ä¸æ£ç¡®ï¼è¯·æ£æ¥è¯¥åå 容ï¼ä¾å¦âç¶æâ请填 0/1 æ å¯ç¨/åç¨ï¼"); } catch (Exception e) { throw new cn.iocoder.yudao.framework.common.exception.ServiceException(400, "Excel è§£æå¤±è´¥ï¼" + e.getMessage() + "ï¼è¯·ä½¿ç¨ç³»ç»âä¸è½½å¯¼å ¥æ¨¡æ¿âå¹¶ææ¨¡æ¿å¡«åã"); } return success(itemService.importItemList(list, updateSupport)); } yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemImportExcelVO.java
@@ -74,7 +74,7 @@ @ExcelProperty("ä¿è´¨æ(天)") private Integer expiryDay; @ExcelProperty("ç¶æ") @ExcelProperty(value = "ç¶æ", converter = StatusTextConverter.class) private Integer status; @ExcelProperty("æ¯å¦åæ¥å°MES") yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/StatusTextConverter.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package cn.iocoder.yudao.module.mdm.controller.admin.item.vo; 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.property.ExcelContentProperty; /** * ç©æå¯¼å ¥âç¶æâå转æ¢å¨ï¼ * å ¼å®¹ æ°å(0/1)ã䏿ï¼å¯ç¨/åç¨ãå¼å¯/å ³éãæ¯/å¦ï¼ãè±æï¼true/falseãenable/disableï¼ã * æ æ³è¯å«æ¶è¿å nullï¼ç±ä¸å¡å±æé»è®¤âå¯ç¨âå¤çï¼ï¼é¿å ç´æ¥æåºâç³»ç»å¼å¸¸âã */ public class StatusTextConverter implements Converter<Integer> { @Override public Class<Integer> supportJavaTypeKey() { return Integer.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public Integer convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { if (cellData == null) { return null; } if (cellData.getType() == CellDataTypeEnum.NUMBER && cellData.getNumberValue() != null) { return cellData.getNumberValue().intValue() >= 1 ? 1 : 0; } String s = cellData.getStringValue(); if (s == null) { return null; } s = s.trim(); if (s.isEmpty()) { return null; } if ("0".equals(s) || s.contains("å¯ç¨") || s.contains("å¼å¯") || "æ¯".equals(s) || "true".equalsIgnoreCase(s) || "enable".equalsIgnoreCase(s)) { return 0; } if ("1".equals(s) || s.contains("åç¨") || s.contains("å ³é") || "å¦".equals(s) || "false".equalsIgnoreCase(s) || "disable".equalsIgnoreCase(s)) { return 1; } try { return Integer.parseInt(s); } catch (NumberFormatException e) { return null; } } }