hu 2 lat temu
rodzic
commit
d7f39963f8

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

@@ -28,6 +28,6 @@ WHERE t3.STATUS = '审核'
 	AND t1.siteid = $siteid$
 	and t3.sys_enterpriseid=$sys_enterpriseid$
 	AND ifnull( t1.isclose, 0 )= 0
-	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 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$

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

@@ -635,6 +635,19 @@ public class dispatch extends Controller {
         Rows rowsDispatchDetail = dbConnect.runSqlQuery("select t1.qty,t1.sa_orderitemsid,t1.rowno,t2.itemname from sa_dispatch_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid  where t1.sa_dispatchid=" + sa_dispatchid);
         Rows rowsDispatchAllDetail = dbConnect.runSqlQuery("select sum(t1.outwarehouseqty) sumoutwarehouseqty,t1.sa_orderitemsid 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" );
         RowsMap rowsDispatchAllDetailMap = rowsDispatchAllDetail.toRowsMap("sa_orderitemsid");
+
+        Rows rowscurrentDispatchDetail = dbConnect.runSqlQuery("select sum(t1.qty) qty,t1.sa_orderitemsid,t1.siteid,t2.itemno from sa_dispatch_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid  where t1.sa_dispatchid=" + sa_dispatchid+" group by t1.sa_orderitemsid,t1.siteid,t2.itemno");
+
+        if (!rowscurrentDispatchDetail.isEmpty()) {
+            for (Row row : rowscurrentDispatchDetail) {
+
+                if (row.getBigDecimal("qty").compareTo(rowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("undeliqty")) == 1) {
+                    return getErrReturnObject().setErrMsg("【" + row.getString("itemno") + "】的发货单明细的发货数量超过未发量,无法复核")
+                            .toString();
+                }
+            }
+        }
+
         if (!rowsDispatchDetail.isEmpty()) {
             for (Row row : rowsDispatchDetail) {
                 if (rowsMap.get(row.getString("sa_orderitemsid")).isEmpty()) {
@@ -649,6 +662,7 @@ public class dispatch extends Controller {
                     return getErrReturnObject().setErrMsg("行号为:【" + row.getString("rowno") + "】的发货单明细的数量大于对应订单行的未发货数量,无法复核")
                             .toString();
                 }
+
                 if(!rowsDispatchAllDetailMap.get(row.getString("sa_orderitemsid")).isEmpty()){
                     if ((row.getBigDecimal("qty").add(rowsDispatchAllDetailMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("sumoutwarehouseqty"))).compareTo(rowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("qty")) == 1) {
                         return getErrReturnObject().setErrMsg("行号为:【" + row.getString("rowno") + "】的发货单明细的总出库数量大于对应订单行的数量,无法复核")
@@ -660,7 +674,6 @@ public class dispatch extends Controller {
         }else {
             return getErrReturnObject().setErrMsg("该发货单明细不存在,无法复核").toString();
         }
-
         Rows rows = dbConnect.runSqlQuery("select t1.*,t3.agentnum,t2.enterprisename,t4.sonum,t5.name,t5.phonenumber,t5.address from sa_dispatch t1 left join sys_enterprise t2  on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid left join sa_agents t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid left join sa_order t4 on t1.sa_orderid=t4.sa_orderid and t1.siteid=t4.siteid left join sys_enterprise_contacts t5 on t1.rec_contactsid=t5.contactsid and t1.siteid=t5.siteid where t1.sa_dispatchid ='"
                 + sa_dispatchid + "' and  t1.siteid='" + siteid + "'");
         Rows rowsdetail = dbConnect.runSqlQuery("select t3.sonum,t2.rowno sorowno,t4.itemno,t1.batchno,t1.rowno,t1.qty,t2.price,t1.remarks from sa_dispatch_items t1 left join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid left join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid left join plm_item t4 on t1.itemid=t4.itemid and t1.siteid=t4.siteid  where t1.sa_dispatchid ='"

+ 9 - 1
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案列表.sql

@@ -48,11 +48,19 @@ SELECT t1.itemid,
        t8.erpitemname,
        t8.specalnote,
        t8.prodline,
-       t8.device
+       t8.device,
+       t9.price price1,
+       t10.price price2,
+       t11.price price3,
+       t12.price price4
 FROM plm_item t1
          LEFT JOIN plm_unit t2 ON t2.unitid = t1.unitid AND t2.siteid = t1.siteid
          LEFT JOIN plm_unitgroup t6 ON t6.unitgroupid = t1.unitgroupid
          LEFT JOIN plm_unit t7 ON t7.unitid = t6.unitid AND t7.siteid = t6.siteid
          LEFT JOIN plm_itemextend t8 ON t8.itemid = t1.itemid AND t8.siteid = t1.siteid
+         left join sa_itemprice t9 on t9.itemid = t1.itemid AND t9.siteid = t1.siteid and t9.pricegrade=1
+         left join sa_itemprice t10 on t10.itemid = t1.itemid AND t10.siteid = t1.siteid and t10.pricegrade=2
+         left join sa_itemprice t11 on t11.itemid = t1.itemid AND t11.siteid = t1.siteid and t11.pricegrade=3
+         left join sa_itemprice t12 on t12.itemid = t1.itemid AND t12.siteid = t1.siteid and t12.pricegrade=4
 WHERE t1.siteid = $siteid$
   and $where$