ソースを参照

发货单批次库存优化

hu 1 年間 前
コミット
6c73b9946f

+ 12 - 5
src/custom/restcontroller/webmanage/sale/dispatch/dispatchItems.java

@@ -294,12 +294,19 @@ public class dispatchItems extends Controller {
                     JSONArray jsonArrayBatch = erpDocking.getErpIcinvbalBatchRowsforbatchno(20000, 1, jsonArray1,row.getString("batchno"));
                     if(!jsonArrayBatch.isEmpty()){
                         if(sumQtyRowsMap.containsKey(row.getString("itemno"))){
-                            for(Row row1 :sumQtyRowsMap.get(row.getString("itemno"))){
-                                if(row.getString("batchno").equals(row1.getString("batchno"))){
-                                    row.put("delinvbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty").subtract(row1.getBigDecimal("qty")));
-                                    row.put("invbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty"));
+                            RowsMap rowsMapByBatchno = sumQtyRowsMap.get(row.getString("itemno")).toRowsMap("batchno");
+                            if(rowsMapByBatchno.containsKey(row.getString("batchno"))){
+                                for(Row row1 :sumQtyRowsMap.get(row.getString("itemno"))){
+                                    if(row.getString("batchno").equals(row1.getString("batchno"))){
+                                        row.put("delinvbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty").subtract(row1.getBigDecimal("qty")));
+                                        row.put("invbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty"));
+                                    }
                                 }
+                            }else{
+                                row.put("delinvbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty"));
+                                row.put("invbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty"));
                             }
+
                         }else{
                             row.put("delinvbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty"));
                             row.put("invbalqty", ((JSONObject)jsonArrayBatch.get(0)).getBigDecimalValue("fqty"));
@@ -355,7 +362,7 @@ public class dispatchItems extends Controller {
                         }else{
                             for(Row row :rowsMap.get(jsonObject.getString("fitemno"))){
                                 if(StringUtils.isBlank(row.getString("batchno"))){
-                                    row.put("delinvbalqty", jsonObject.getBigDecimalValue("fqty"));
+                                    row.put("invbalqty", jsonObject.getBigDecimalValue("fqty"));
                                 }
                             }
                             //rowsMap.get(jsonObject.getString("fitemno")).get(0).put("invbalqty", jsonObject.getBigDecimalValue("fqty"));