From a4eddab07e6d90ba2f6359cde083759a80d2577f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Mon, 3 Jul 2023 09:37:09 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=89=A9=E6=96=99=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MaterialbaseServiceImpl.java | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) 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 sheets = excelReader.excelExecutor().sheetList(); WQLObject materialTable = WQLObject.getWQLObject("md_me_materialbase"); + List 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> materials = EasyExcel.read(file).sheet(sheet.getSheetNo()).doReadSync(); for (Map 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); } }