浏览代码

fix:增加warehouseName字段返回

luobo 5 天之前
父节点
当前提交
c1b3445123

+ 3 - 0
easydo-mes/src/main/java/easydo/technology/model/WarehouseMaterial.java

@@ -13,6 +13,9 @@ public class WarehouseMaterial extends CommonModel {
     private String warehouseId;
     private String materialCode;
 
+    @NotTableField
+    private String warehouseName;
+
     /**
      * 总库存数量(对应数据库 decimal)
      */

+ 19 - 0
easydo-mes/src/main/java/easydo/technology/service/impl/WarehouseMaterialServiceImpl.java

@@ -2,6 +2,7 @@ package easydo.technology.service.impl;
 
 import easydo.technology.components.JdbcClient;
 import easydo.technology.model.ProductMaterial;
+import easydo.technology.model.Warehouse;
 import easydo.technology.model.WarehouseMaterial;
 import easydo.technology.service.WarehouseMaterialService;
 import easydo.technology.utils.MapUtil;
@@ -58,10 +59,14 @@ public class WarehouseMaterialServiceImpl implements WarehouseMaterialService {
         }
 
         Set<String> materialCodes = new HashSet<>();
+        Set<String> warehouseIds = new HashSet<>();
         for (WarehouseMaterial record : records) {
             if (record.getMaterialCode() != null && !record.getMaterialCode().trim().isEmpty()) {
                 materialCodes.add(record.getMaterialCode());
             }
+            if (record.getWarehouseId() != null && !record.getWarehouseId().trim().isEmpty()) {
+                warehouseIds.add(record.getWarehouseId());
+            }
         }
 
         Map<String, ProductMaterial> materialMap = new HashMap<>();
@@ -76,12 +81,26 @@ public class WarehouseMaterialServiceImpl implements WarehouseMaterialService {
             }
         }
 
+        Map<String, Warehouse> warehouseMap = new HashMap<>();
+        if (!warehouseIds.isEmpty()) {
+            Map<String, Object> warehouseMapParam = new HashMap<>();
+            warehouseMapParam.put("id_in", new ArrayList<>(warehouseIds));
+            List<Warehouse> warehouses = jdbcClient.getJdbcList(warehouseMapParam, Warehouse.class, connection);
+            if (warehouses != null) {
+                for (Warehouse warehouse : warehouses) {
+                    warehouseMap.put(warehouse.getId(), warehouse);
+                }
+            }
+        }
+
         for (WarehouseMaterial record : records) {
             Map<String, Object> recordMap = MapUtil.objectToMap(record);
             ProductMaterial material = materialMap.get(record.getMaterialCode());
+            Warehouse warehouse = warehouseMap.get(record.getWarehouseId());
             recordMap.put("specification", material != null ? material.getSpecification() : "");
             recordMap.put("materialName", material != null ? material.getName() : "");
             recordMap.put("unit", material != null ? material.getUnit() : "");
+            recordMap.put("warehouseName", warehouse != null ? warehouse.getName() : "");
             resultRecords.add(recordMap);
         }