Explorar o código

订单手工关闭,反审核是否存在发货单逻辑更改

hu %!s(int64=3) %!d(string=hai) anos
pai
achega
cf23993545
Modificáronse 1 ficheiros con 5 adicións e 2 borrados
  1. 5 2
      src/custom/restcontroller/webmanage/sale/order/Order.java

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

@@ -1191,7 +1191,7 @@ public class Order extends Controller {
             return getErrReturnObject().setErrMsg("订单不存在").toString();
         }
         Row row = rows.get(0);
-        if (dbConnect.runSqlQuery("SELECT 1 from sa_dispatch WHERE siteid='" + siteid + "' and sa_orderid=" + sa_orderid).isNotEmpty()) {
+        if (dbConnect.runSqlQuery("SELECT 1 from sa_dispatch t1 left join sa_dispatch_items t2 on t1.sa_dispatchid=t2.sa_dispatchid and t1.siteid=t2.siteid left join sa_orderitems t3 on t2.sa_orderitemsid=t3.sa_orderitemsid and t2.siteid=t3.siteid WHERE t1.status!='关闭' and t1.siteid='" + siteid + "' and t3.sa_orderid=" + sa_orderid).isNotEmpty()) {
             return getErrReturnObject().setErrMsg("存在发货单,无法反审核").toString();
         }
         //验证结算企业
@@ -2294,10 +2294,13 @@ public class Order extends Controller {
         Long sys_enterpriseid = orderRow.get(0).getLong("sys_enterpriseid");
         Long sa_accountclassid = orderRow.get(0).getLong("sa_accountclassid");
 
+        if (dbConnect.runSqlQuery("SELECT 1 from sa_dispatch t1 left join sa_dispatch_items t2 on t1.sa_dispatchid=t2.sa_dispatchid and t1.siteid=t2.siteid left join sa_orderitems t3 on t2.sa_orderitemsid=t3.sa_orderitemsid and t2.siteid=t3.siteid WHERE t1.status!='关闭' and t1.siteid='" + siteid + "' and t3.sa_orderid=" + sa_orderid).isNotEmpty()) {
+            return getErrReturnObject().setErrMsg("存在未关闭的发货单,无法关闭").toString();
+        }
         ArrayList<String> sqlList = new ArrayList<>();
         sqlList.add("UPDATE sa_order SET STATUS='关闭' WHERE sa_orderid='" + sa_orderid + "' and siteid = '" + siteid + "'");
 
-        Rows rows = dbConnect.runSqlQuery("SELECT sum(undeliqty*price) totalprice from sa_orderitems WHERE sa_orderid=39798 and siteid = '"+siteid+"'");
+        Rows rows = dbConnect.runSqlQuery("SELECT sum(undeliqty*price) totalprice from sa_orderitems WHERE sa_orderid="+sa_orderid+" and siteid = '"+siteid+"'");
         if (rows.isNotEmpty()) {
             BigDecimal totalprice = rows.get(0).getBigDecimal("totalprice");
             if (totalprice.compareTo(BigDecimal.ZERO) > 0) {