Jelajahi Sumber

订单行关闭没有正常关闭bug修复

hxh 1 hari lalu
induk
melakukan
a059dbdea6
1 mengubah file dengan 15 tambahan dan 12 penghapusan
  1. 15 12
      src/custom/restcontroller/webmanage/sale/order/OrderItems.java

+ 15 - 12
src/custom/restcontroller/webmanage/sale/order/OrderItems.java

@@ -1697,22 +1697,25 @@ public class OrderItems extends Controller {
         } else {
             sqlList.addAll(updateIcinvbal_sale(rowsdetails, false, true));
         }
-        dbConnect.runSqlUpdate(sqlList);
-        if (isclose) {
-            if(dbConnect.runSqlQuery("select * from sa_orderitems where isclose=0 and undeliqty!=0 and sa_orderid="+sa_orderid).isEmpty()){
-                dbConnect.runSqlUpdate("update sa_order set status='关闭',closeby='"+username+"',closedate=CURRENT_TIME where sa_orderid=" +sa_orderid);
-                Rows accountbalancerows = dbConnect.runSqlQuery("select * from  sa_accountbalance t1 inner join sa_accountclass t2 on  t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid where t2.accountname='现金账户' and t1.sys_enterpriseid=" + row.getLong("sys_enterpriseid"));
-                dbConnect.runSqlUpdate("UPDATE sa_accountbalance t1 " +
-                        "INNER JOIN sa_accountbalance_freez t2 ON t1.sa_accountbalanceid = t2.sa_accountbalanceid " +
-                        "SET t1.freezamount = case when ifnull(t1.freezamount,0)>t2.amount then t1.freezamount-t2.amount else 0 end " +
-                        "WHERE t1.sa_accountbalanceid="+accountbalancerows.get(0).getLong("sa_accountbalanceid")+" and t2.sourcetable='sa_order' and t2.sourceid="+sa_orderid);
-                dbConnect.runSqlUpdate("delete from sa_accountbalance_freez t1 WHERE t1.sourcetable='sa_order' and t1.sourceid="+sa_orderid);
+        int i=dbConnect.runSqlUpdate(sqlList);
+        if(i!=0){
+            if (isclose) {
+                if(dbConnect.runSqlQuery("select * from sa_orderitems where isclose=0 and undeliqty!=0 and sa_orderid="+sa_orderid).isEmpty()){
+                    dbConnect.runSqlUpdate("update sa_order set status='关闭',closeby='"+username+"',closedate=CURRENT_TIME where sa_orderid=" +sa_orderid);
+                    Rows accountbalancerows = dbConnect.runSqlQuery("select * from  sa_accountbalance t1 inner join sa_accountclass t2 on  t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid where t2.accountname='现金账户' and t1.sys_enterpriseid=" + row.getLong("sys_enterpriseid"));
+                    dbConnect.runSqlUpdate("UPDATE sa_accountbalance t1 " +
+                            "INNER JOIN sa_accountbalance_freez t2 ON t1.sa_accountbalanceid = t2.sa_accountbalanceid " +
+                            "SET t1.freezamount = case when ifnull(t1.freezamount,0)>t2.amount then t1.freezamount-t2.amount else 0 end " +
+                            "WHERE t1.sa_accountbalanceid="+accountbalancerows.get(0).getLong("sa_accountbalanceid")+" and t2.sourcetable='sa_order' and t2.sourceid="+sa_orderid);
+                    dbConnect.runSqlUpdate("delete from sa_accountbalance_freez t1 WHERE t1.sourcetable='sa_order' and t1.sourceid="+sa_orderid);
+                }
+            } else {
+                dbConnect.runSqlUpdate("update sa_order set status='审核',closeby='',closedate=null where sa_orderid=" + sa_orderid);
             }
-        } else {
-            dbConnect.runSqlUpdate("update sa_order set status='审核',closeby='',closedate=null where sa_orderid=" + sa_orderid);
         }
 
 
+
         return getSucReturnObject().toString();
     }