Przeglądaj źródła

假期前更新

hu 2 lat temu
rodzic
commit
47025cfb8c

+ 3 - 2
src/custom/restcontroller/webmanage/sale/dispatch/SQL/发货商品列表查询.sql

@@ -7,7 +7,7 @@ SELECT t1.sa_orderitemsid,
        t2.spec,
        t2.batchcontrol,
        t1.unit,
-       t1.undeliqty,
+       t1.undeliqty-ifnull(t4.sumqty,0) undeliqty,
        t1.remarks,
        t1.rowno,
        t3.sonum,
@@ -21,12 +21,13 @@ SELECT t1.sa_orderitemsid,
 FROM sa_orderitems t1
          inner join plm_item t2 on t1.siteid = t2.siteid and t1.itemid = t2.itemid
          inner join sa_order t3 on t1.siteid=t3.siteid and t1.sa_orderid=t3.sa_orderid
+         left join (select sa_orderitemsid,siteid,sum(qty) sumqty from sa_dispatch_items where sa_dispatchid=$sa_dispatchid$ group by sa_orderitemsid,siteid) t4 on t4.sa_orderitemsid=t1.sa_orderitemsid and t1.siteid=t4.siteid
 WHERE t3.STATUS = '审核'
   and ifnull(t1.undeliqty, 0) !=0
   and ifnull(t1.isfreeze, 0) =0
 	AND t1.siteid = $siteid$
 	and t3.sys_enterpriseid=$sys_enterpriseid$
 	AND ifnull( t1.isclose, 0 )= 0
-	and t1.sa_orderitemsid not in (select sa_orderitemsid from sa_dispatch_items where sa_dispatchid=$sa_dispatchid$)
+	and t1.sa_orderitemsid not in (select t1.sa_orderitemsid from sa_dispatch_items t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid  where t1.sa_dispatchid=$sa_dispatchid$ and t1.qty=t2.undeliqty)
 	and  t1.sa_orderitemsid not in(select t1.sa_orderitemsid from (select t1.sa_orderitemsid,t1.siteid,SUM(t1.qty) qty from sa_dispatch_items t1 inner join sa_dispatch t2 on t1.sa_dispatchid=t2.sa_dispatchid and t1.siteid=t2.siteid where t2.status in('新建','提交') group by t1.sa_orderitemsid,t1.siteid) t1 inner join  sa_orderitems t3 on t1.sa_orderitemsid=t3.sa_orderitemsid and t1.siteid=t3.siteid where t3.undeliqty=t1.qty)
 	and $where$

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

@@ -238,6 +238,21 @@ public class dispatch extends Controller {
 
 
             }
+            if (whereObject.containsKey("sa_orderitemsid") && !"".equals(whereObject.getString("sa_orderitemsid"))) {
+                Rows rowsDispatchid = dbConnect.runSqlQuery("select t1.sa_dispatchid from sa_dispatch_items t1 left join sa_dispatch t2 on t1.sa_dispatchid=t2.sa_dispatchid and t1.siteid=t2.siteid " +
+                        " where t2.status !='新建' and t1.siteid='"+siteid+"' and t1.sa_orderitemsid ="+whereObject.getLong("sa_orderitemsid")+"");
+
+                if(rowsDispatchid.toJsonArray("sa_dispatchid").isEmpty()){
+                    where.append(" and t1.sa_dispatchid in (0)");
+                }else {
+                    String str = rowsDispatchid.toJsonArray("sa_dispatchid").toJSONString();
+                    str = str.replace("[", "(").replace("]", ")");
+                    where.append(" and t1.sa_dispatchid  in" ).append(str);
+                }
+
+
+            }
+
         }
         SQLFactory sqlFactory = new SQLFactory(this, "发货单列表查询", pageSize, pageNumber, pageSorting);
         sqlFactory.addParameter("siteid", siteid);

+ 59 - 37
src/custom/restcontroller/webmanage/sale/dispatch/dispatchItems.java

@@ -112,11 +112,18 @@ public class dispatchItems extends Controller {
     @API(title = "erp批次库存查询", apiversion = R.ID20230427101303.v1.class)
     @CACHEING
     public String queryErpIcinvbalBatchList() throws YosException {
-
+        BigDecimal qty =content.getBigDecimalValue("qty");
         JSONArray jsonArray = content.getJSONArray("itemnos");
+        JSONArray jsonArrayfinal=new JSONArray();
         ERPDocking erpDocking = new ERPDocking();
         JSONArray rows = erpDocking.getErpIcinvbalBatchRows(1000, 1, jsonArray);
-        return getSucReturnObject().setData(rows).toString();
+        for (Object object:rows) {
+            JSONObject jsonObject =(JSONObject) object;
+            if(jsonObject.getBigDecimalValue("fqty").compareTo(qty)>=0){
+                jsonArrayfinal.add(jsonObject);
+            }
+        }
+        return getSucReturnObject().setData(jsonArrayfinal).toString();
     }
 
     @API(title = "新建或修改发货单商品明细", apiversion = R.ID20221115104603.v1.class,intervaltime = 2000)
@@ -145,41 +152,56 @@ public class dispatchItems extends Controller {
                     .runSqlQuery("select sa_dispatch_itemsid from sa_dispatch_items where sa_dispatch_itemsid="
                             + iteminfo.getLong("sa_dispatch_itemsid"))
                     .isEmpty()) {
-                Rows sa_dispatch_itemsrows = dbConnect.runSqlQuery("select sa_dispatch_itemsid,qty,remarks from sa_dispatch_items where sa_dispatchid="
-                        + sa_dispatchid + " and sa_orderitemsid=" + iteminfo.getLong("sa_orderitemsid"));
-                if (!sa_dispatch_itemsrows.isEmpty()) {
-                    SQLFactory saleFactory = new SQLFactory(this, "发货单明细更新");
-                    saleFactory.addParameter("sa_dispatch_itemsid", sa_dispatch_itemsrows.get(0).getLong("sa_dispatch_itemsid"));
-                    // saleFactory.addParameter("itemno", iteminfo.getString("itemno"));
-                    saleFactory.addParameter("qty", iteminfo.getBigDecimal("qty").add(sa_dispatch_itemsrows.get(0).getBigDecimal("qty")));
-                    if (!StringUtils.isBlank(iteminfo.getString("remarks"))) {
-                        saleFactory.addParameter("remarks", iteminfo.getString("remarks"));
-                    } else {
-                        saleFactory.addParameter("remarks", sa_dispatch_itemsrows.get(0).getString("remarks"));
-                    }
-
-                    saleFactory.addParameter("userid", userid);
-                    saleFactory.addParameter("username", username);
-                    saleFactory.addParameter("billno", rowscount.get(0).getString("billno"));
-                    saleFactory.addParameter("batchno", iteminfo.getStringValue("batchno"));
-                    sqlList.add(saleFactory.getSQL());
-                } else {
-                    SQLFactory saleFactory = new SQLFactory(this, "发货单明细新增");
-                    saleFactory.addParameter("siteid", siteid);
-                    saleFactory.addParameter("rowno", maxid + i + 1);
-                    saleFactory.addParameter("sa_dispatch_itemsid", sa_dispatch_itemsid[i]);
-                    saleFactory.addParameter("sa_dispatchid", sa_dispatchid);
-                    saleFactory.addParameter("sa_orderitemsid", iteminfo.getLong("sa_orderitemsid"));
-                    saleFactory.addParameter("itemid", iteminfo.getString("itemid"));
-                    saleFactory.addParameter("qty", iteminfo.getBigDecimal("qty"));
-                    saleFactory.addParameter("batchcontrol", iteminfo.getBooleanValue("batchcontrol"));
-                    saleFactory.addParameter("batchno", "");
-                    saleFactory.addParameter("remarks", iteminfo.getString("remarks"));
-                    saleFactory.addParameter("userid", userid);
-                    saleFactory.addParameter("username", username);
-                    saleFactory.addParameter("billno", rowscount.get(0).getString("billno"));
-                    sqlList.add(saleFactory.getSQL());
-                }
+//                Rows sa_dispatch_itemsrows = dbConnect.runSqlQuery("select sa_dispatch_itemsid,qty,remarks from sa_dispatch_items where sa_dispatchid="
+//                        + sa_dispatchid + " and sa_orderitemsid=" + iteminfo.getLong("sa_orderitemsid"));
+//                if (!sa_dispatch_itemsrows.isEmpty()) {
+//                    SQLFactory saleFactory = new SQLFactory(this, "发货单明细更新");
+//                    saleFactory.addParameter("sa_dispatch_itemsid", sa_dispatch_itemsrows.get(0).getLong("sa_dispatch_itemsid"));
+//                    // saleFactory.addParameter("itemno", iteminfo.getString("itemno"));
+//                    saleFactory.addParameter("qty", iteminfo.getBigDecimal("qty").add(sa_dispatch_itemsrows.get(0).getBigDecimal("qty")));
+//                    if (!StringUtils.isBlank(iteminfo.getString("remarks"))) {
+//                        saleFactory.addParameter("remarks", iteminfo.getString("remarks"));
+//                    } else {
+//                        saleFactory.addParameter("remarks", sa_dispatch_itemsrows.get(0).getString("remarks"));
+//                    }
+//
+//                    saleFactory.addParameter("userid", userid);
+//                    saleFactory.addParameter("username", username);
+//                    saleFactory.addParameter("billno", rowscount.get(0).getString("billno"));
+//                    saleFactory.addParameter("batchno", iteminfo.getStringValue("batchno"));
+//                    sqlList.add(saleFactory.getSQL());
+//                } else {
+//                    SQLFactory saleFactory = new SQLFactory(this, "发货单明细新增");
+//                    saleFactory.addParameter("siteid", siteid);
+//                    saleFactory.addParameter("rowno", maxid + i + 1);
+//                    saleFactory.addParameter("sa_dispatch_itemsid", sa_dispatch_itemsid[i]);
+//                    saleFactory.addParameter("sa_dispatchid", sa_dispatchid);
+//                    saleFactory.addParameter("sa_orderitemsid", iteminfo.getLong("sa_orderitemsid"));
+//                    saleFactory.addParameter("itemid", iteminfo.getString("itemid"));
+//                    saleFactory.addParameter("qty", iteminfo.getBigDecimal("qty"));
+//                    saleFactory.addParameter("batchcontrol", iteminfo.getBooleanValue("batchcontrol"));
+//                    saleFactory.addParameter("batchno", "");
+//                    saleFactory.addParameter("remarks", iteminfo.getString("remarks"));
+//                    saleFactory.addParameter("userid", userid);
+//                    saleFactory.addParameter("username", username);
+//                    saleFactory.addParameter("billno", rowscount.get(0).getString("billno"));
+//                    sqlList.add(saleFactory.getSQL());
+//                }
+                SQLFactory saleFactory = new SQLFactory(this, "发货单明细新增");
+                saleFactory.addParameter("siteid", siteid);
+                saleFactory.addParameter("rowno", maxid + i + 1);
+                saleFactory.addParameter("sa_dispatch_itemsid", sa_dispatch_itemsid[i]);
+                saleFactory.addParameter("sa_dispatchid", sa_dispatchid);
+                saleFactory.addParameter("sa_orderitemsid", iteminfo.getLong("sa_orderitemsid"));
+                saleFactory.addParameter("itemid", iteminfo.getString("itemid"));
+                saleFactory.addParameter("qty", iteminfo.getBigDecimal("qty"));
+                saleFactory.addParameter("batchcontrol", iteminfo.getBooleanValue("batchcontrol"));
+                saleFactory.addParameter("batchno", "");
+                saleFactory.addParameter("remarks", iteminfo.getString("remarks"));
+                saleFactory.addParameter("userid", userid);
+                saleFactory.addParameter("username", username);
+                saleFactory.addParameter("billno", rowscount.get(0).getString("billno"));
+                sqlList.add(saleFactory.getSQL());
                 i++;
             } else {
                 SQLFactory saleFactory = new SQLFactory(this, "发货单明细更新");

+ 1 - 1
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -2070,7 +2070,7 @@ public class Order extends Controller {
                 Rows tradefieldrowsNew = dbConnect.runSqlQuery("SELECT tradefield from sys_enterprise_tradefield WHERE sys_enterpriseid =" + sys_enterpriseid + " and siteid ='" + siteid + "'");
                 if (!tradefieldrowsNew.containsAll(tradefieldrowsOld)) {
                     System.out.println("tradefield");
-                    flag = false;
+//                    flag = false;
                 }
 
                 //企业营销类别

+ 5 - 1
src/custom/service/AutoDockItemService.java

@@ -24,7 +24,7 @@ public class AutoDockItemService extends ServiceController {
         ArrayList<String> sqlList = new ArrayList<>();
         String siteid ="CCYOSG";
         Rows itemRows = dbConnect.runSqlQuery("SELECT itemid,itemno from  plm_item WHERE siteid = '" + siteid + "' AND status = '新建' ");
-        Rows itemRowsAll = dbConnect.runSqlQuery("SELECT itemid,itemno from  plm_item WHERE siteid = '" + siteid + "'");
+        Rows itemRowsAll = dbConnect.runSqlQuery("SELECT itemid,itemno,status from  plm_item WHERE siteid = '" + siteid + "'");
         //单位
         Rows unitRows = dbConnect.runSqlQuery("SELECT unitid,unitname from  plm_unit WHERE siteid = '" + siteid + "'");
         RowsMap unitRowsMap = unitRows.toRowsMap("unitname");
@@ -151,6 +151,10 @@ public class AutoDockItemService extends ServiceController {
 
                     sqlList.add(sqlFactory.getSQL());
 
+                }else{
+                   if(itemRowsMapAll.get(jsonObject.getString("fitemno")).get(0).getString("status").equals("新建")){
+                       sqlList.add("update plm_item set itemname='"+jsonObject.getString("fitemname")+"' where itemid="+itemRowsMapAll.get(jsonObject.getString("fitemno")).get(0).getLong("itemid"));
+                   }
                 }
 
             }