浏览代码

销售出库单对接(逻辑变更)

hu 1 年之前
父节点
当前提交
a3fbca79c1
共有 1 个文件被更改,包括 14 次插入12 次删除
  1. 14 12
      src/custom/service/StockAutoDockDispatchService.java

+ 14 - 12
src/custom/service/StockAutoDockDispatchService.java

@@ -152,15 +152,16 @@ public class StockAutoDockDispatchService extends ServiceController {
                                 rows = dbConnect.runSqlQuery("select * from plm_item  where siteid='" + siteid + "' and itemno in('')");
                             }
                             RowsMap itemRowsMap = rows.toRowsMap("itemno");
-                            Rows distiptchRows = dbConnect.runSqlQuery("select t2.price,t1.sa_dispatch_itemsid,t1.rowno,t1.sa_orderitemsid,t2.sa_orderid,t3.sys_enterpriseid,t4.sonum,t5.itemno,t5.itemname from sa_dispatch_items t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid inner join sa_dispatch t3 on t1.sa_dispatchid=t3.sa_dispatchid and t1.siteid=t3.siteid left join sa_order t4 on t2.sa_orderid=t4.sa_orderid and t2.siteid=t4.siteid left join plm_item t5 on t1.itemid=t5.itemid and t1.siteid=t5.siteid where t3.status in('审核','复核','关闭') and  t1.siteid='" + siteid + "' and  t1.sa_dispatchid = " + sa_dispatchid);
-                            RowsMap distiptchRowsMap = distiptchRows.toRowsMap("rowno");
+//                            Rows distiptchRows = dbConnect.runSqlQuery("select t2.price,t1.sa_dispatch_itemsid,t1.rowno,t1.sa_orderitemsid,t2.sa_orderid,t3.sys_enterpriseid,t4.sonum,t5.itemno,t5.itemname from sa_dispatch_items t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid inner join sa_dispatch t3 on t1.sa_dispatchid=t3.sa_dispatchid and t1.siteid=t3.siteid left join sa_order t4 on t2.sa_orderid=t4.sa_orderid and t2.siteid=t4.siteid left join plm_item t5 on t1.itemid=t5.itemid and t1.siteid=t5.siteid where t3.status in('审核','复核','关闭') and  t1.siteid='" + siteid + "' and  t1.sa_dispatchid = " + sa_dispatchid);
+//                            RowsMap distiptchRowsMap = distiptchRows.toRowsMap("rowno");
 
 //                        Rows aftersalesmagRows = dbConnect.runSqlQuery("select t1.price,t1.sa_aftersalesmag_itemsid,t1.sa_orderitemsid,t2.sa_orderid from sa_aftersalesmag_items t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid  where  t1.siteid='"+siteid+"' and  t1.sa_aftersalesmag_itemsid in " + sa_dispatch_itemsids.toString().replace("[", "(").replace("]", ")"));
 //                        RowsMap aftersalesmagRowsMap = aftersalesmagRows.toRowsMap("rowno");
                             BigDecimal amountTotal = BigDecimal.ZERO;
                             for (Object object : detailarray) {
                                 JSONObject jsonObject = (JSONObject) object;
-                                String frownum = jsonObject.getString("fentryno");
+                                String frownum = jsonObject.getString("finvorownum");
+                                String finvonum = jsonObject.getString("finvonum");
                                 String fitemno = jsonObject.getString("fitemno");
                                 String fbatchno = jsonObject.getString("fbatchno");
 
@@ -185,17 +186,18 @@ public class StockAutoDockDispatchService extends ServiceController {
                                 sqlFactorydetail.addParameter("qty", fqty);
 
                                 if (frb.equals("蓝")) {
-                                    if (distiptchRowsMap.containsKey(String.valueOf(frownum)) && distiptchRowsMap.get(frownum).isNotEmpty()) {
-                                        sqlFactorydetail.addParameter("sa_dispatch_itemsid", distiptchRowsMap.get(frownum).get(0).getLong("sa_dispatch_itemsid"));
-                                        sqlFactorydetail.addParameter("price", distiptchRowsMap.get(frownum).get(0).getBigDecimal("price"));
-                                        amountTotal = amountTotal.add(fqty.multiply(distiptchRowsMap.get(frownum).get(0).getBigDecimal("price")));
-                                        sqlFactorydetail.addParameter("amount", fqty.multiply(distiptchRowsMap.get(frownum).get(0).getBigDecimal("price")));
-                                        sqlFactorydetail.addParameter("sa_orderitemsid", distiptchRowsMap.get(frownum).get(0).getLong("sa_orderitemsid"));
-                                        sqlFactorydetail.addParameter("sa_orderid", distiptchRowsMap.get(frownum).get(0).getLong("sa_orderid"));
+                                    Rows distiptchRows = dbConnect.runSqlQuery("select t2.price,t1.sa_dispatch_itemsid,t1.rowno,t1.sa_orderitemsid,t2.sa_orderid,t3.sys_enterpriseid,t4.sonum,t5.itemno,t5.itemname from sa_dispatch_items t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid inner join sa_dispatch t3 on t1.sa_dispatchid=t3.sa_dispatchid and t1.siteid=t3.siteid left join sa_order t4 on t2.sa_orderid=t4.sa_orderid and t2.siteid=t4.siteid left join plm_item t5 on t1.itemid=t5.itemid and t1.siteid=t5.siteid where t3.status in('审核','复核','关闭') and t3.billno='"+finvonum+"' and  t1.siteid='" + siteid + "' and  t1.rowno = " + frownum);
+                                    if (distiptchRows.isNotEmpty()) {
+                                        sqlFactorydetail.addParameter("sa_dispatch_itemsid", distiptchRows.get(0).getLong("sa_dispatch_itemsid"));
+                                        sqlFactorydetail.addParameter("price", distiptchRows.get(0).getBigDecimal("price"));
+                                        amountTotal = amountTotal.add(fqty.multiply(distiptchRows.get(0).getBigDecimal("price")));
+                                        sqlFactorydetail.addParameter("amount", fqty.multiply(distiptchRows.get(0).getBigDecimal("price")));
+                                        sqlFactorydetail.addParameter("sa_orderitemsid", distiptchRows.get(0).getLong("sa_orderitemsid"));
+                                        sqlFactorydetail.addParameter("sa_orderid", distiptchRows.get(0).getLong("sa_orderid"));
                                         System.out.println(amountTotal);
                                         //您的订单【XXX】商品【XXX】工厂已发货,出库单号【XXX】
-                                        String message = "您的订单【" + distiptchRowsMap.get(frownum).get(0).getString("sonum") + "】商品【" + distiptchRowsMap.get(frownum).get(0).getString("itemname") + "】工厂已发货,出库单号【" + fbillnum + "】!";
-                                        sendMsg(siteid,message, st_stockbillid, distiptchRowsMap.get(frownum).get(0).getLong("sys_enterpriseid"));
+                                        String message = "您的订单【" + distiptchRows.get(0).getString("sonum") + "】商品【" + distiptchRows.get(0).getString("itemname") + "】工厂已发货,出库单号【" + fbillnum + "】!";
+                                        sendMsg(siteid,message, st_stockbillid,distiptchRows.get(0).getLong("sys_enterpriseid"));
                                     } else {
                                         sqlFactorydetail.addParameter("sa_dispatch_itemsid", 0);
                                         sqlFactorydetail.addParameter("price", 0);