Browse Source

发货单复核增加批号存在判断

hu 1 year ago
parent
commit
6cbf62addc

+ 14 - 0
src/custom/restcontroller/webmanage/sale/dispatch/dispatch.java

@@ -8,6 +8,7 @@ import beans.remind.Remind;
 import beans.report.Report;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.sun.codemodel.internal.JForEach;
 import common.Controller;
 import common.YosException;
 import common.annotation.API;
@@ -776,6 +777,19 @@ public class dispatch extends Controller {
             if (!erpDocking.getUrl().isEmpty()) {
                 JSONArray jsonArray = erpDocking.getErpIcinvbalRows(200000, 1, rowsDispatchDetail.toJsonArray("itemno"));
 
+                Rows rowsDispatchDetailBatchno = dbConnect.runSqlQuery("select t2.itemno,t1.batchno from sa_dispatch_items t1 inner join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid  where t1.batchno!='' and t1.sa_dispatchid=" + sa_dispatchid);
+
+                for(Row row :rowsDispatchDetailBatchno){
+                    JSONArray jsonArray1 =new JSONArray();
+                    jsonArray1.add(row.getString("itemno"));
+                    JSONArray jsonArrayBatch = erpDocking.getErpIcinvbalBatchRowsforbatchno(20000, 1, jsonArray1,row.getString("batchno"));
+                    if(jsonArrayBatch.isEmpty()){
+                        return getErrReturnObject().setErrMsg(row.getString("itemno")+"批号有误,请重新选择!!")
+                                .toString();
+                    }
+
+               }
+
                 SQLFactory sqlFactory1 = new SQLFactory(this, "商品发货数量汇总");
                 sqlFactory1.addParameter("siteid", siteid);
                 sqlFactory1.addParameter_in("itemno", rowsDispatchDetail.toArrayList("itemno", new ArrayList<>()));

+ 46 - 0
src/custom/utility/ERPDocking.java

@@ -194,6 +194,52 @@ public class ERPDocking extends BaseClass {
         }
     }
 
+    /**
+     * 查询Erp批次库存
+     *
+     * @param pagerows
+     * @param pagenum
+     * @param fitemnos
+     * @return
+     * @throws YosException
+     */
+    public JSONArray getErpIcinvbalBatchRowsforbatchno(int pagerows, int pagenum, JSONArray fitemnos,String fbatchno) throws YosException {
+        {
+
+            JSONObject object = new JSONObject();
+            JSONObject objectdetail = new JSONObject();
+            objectdetail.put("fstockno", "01");
+            objectdetail.put("fstockname", "");
+            objectdetail.put("fmodel", "");
+            objectdetail.put("fitemname", "");
+            objectdetail.put("fbatchno", fbatchno);
+            objectdetail.put("fitemclsnum", "");
+            objectdetail.put("onlyFqtyPositive", "true");
+            objectdetail.put("fitemnos", fitemnos);
+            objectdetail.put("pagerows", pagerows);
+            objectdetail.put("pagenum", pagenum);
+            object.put("access_token", "basicDrp");
+            object.put("classname", "Icinvbal");
+            object.put("method", "queryPageOfBatch");
+            object.put("content", objectdetail);
+
+            HashMap<String, String> map = new HashMap<>();
+            map.put("content-Type", "application/json");
+            String result = new WebRequest().doPost(object.toString(), url, map);
+            JSONObject resultobject = JSONObject.parseObject(result);
+            if (resultobject != null) {
+                if (resultobject.getString("errcode").equals("0")) {
+                    return resultobject.getJSONObject("results").getJSONArray("list");
+                } else {
+                    return new JSONArray();
+                }
+            } else {
+                return new JSONArray();
+            }
+
+        }
+    }
+
     /**
      * 创建Erp发货单
      *