diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java
index 296dcaa..7a34af5 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java
@@ -39,6 +39,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @author zhouz
@@ -261,35 +262,29 @@ public class MaterialbaseServiceImpl implements MaterialbaseService {
         List<ReadSheet> sheets = excelReader.excelExecutor().sheetList();
 
         WQLObject materialTable = WQLObject.getWQLObject("md_me_materialbase");
+        List<String> material_codes = materialTable.query().getResultJSONArray(0)
+                .stream()
+                .map(o -> ((JSONObject) o).getString("material_code"))
+                .collect(Collectors.toList());
         JSONObject material = new JSONObject();
-        Long userId = SecurityUtils.getCurrentUserId();
-        String nickName = SecurityUtils.getCurrentNickName();
-        String now = DateUtil.now();
+        material.put("is_used", '1');
+        material.put("is_delete", '0');
+        CommonUtils.addCommonColum(material);
 
         for (ReadSheet sheet : sheets) {
             List<Map<Integer, String>> materials = EasyExcel.read(file).sheet(sheet.getSheetNo()).doReadSync();
             for (Map<Integer, String> materialMap : materials) {
-                material.put("material_id", IdUtil.getSnowflake(1L, 1L).nextId());
                 String material_code = materialMap.get(1);
                 material.put("material_code", material_code);
                 material.put("material_name", materialMap.get(2));
                 material.put("base_unit", materialMap.get(3));
                 material.put("pack_qty", materialMap.get(4) == null ? 0 : Double.parseDouble(materialMap.get(4)));
-
-                material.put("is_used", '1');
-                material.put("is_delete", '0');
-                if (ObjectUtil.isNotEmpty(materialTable.query("material_code = '" + material_code + "'").uniqueResult(0))) {
-                    material.put("update_optid", userId);
-                    material.put("update_optname", nickName);
-                    material.put("update_time", now);
-                    materialTable.update(material);
+                if (material_codes.contains(material_code)) {
+                    material.remove("material_id");
+                    materialTable.update(material, "material_code = '" + material_code + "'");
                 } else {
-                    material.put("create_id", userId);
-                    material.put("create_name", nickName);
-                    material.put("create_time", now);
-                    material.put("update_optid", userId);
-                    material.put("update_optname", nickName);
-                    material.put("update_time", now);
+                    material.put("material_id", IdUtil.getSnowflake(1L, 1L).nextId());
+                    material_codes.add(material_code);
                     materialTable.insert(material);
                 }
             }