Kaynağa Gözat

订单确认反确认,预提交反预提交更新

hu 2 yıl önce
ebeveyn
işleme
30e042c0cd

+ 4 - 0
src/custom/restcontroller/R.java

@@ -4644,6 +4644,10 @@ public class R {
         public static class v1 {
         }
     }
+    public static class ID20230331152503 {
+        public static class v1 {
+        }
+    }
 
 }
 

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

@@ -950,6 +950,10 @@ public class Order extends Controller {
         if (sys_enterpriseid <= 0) {
             return getErrReturnObject().setErrMsg("请选择订货企业信息").toString();
         }
+        if(!(row.getString("status").equals("新建") && !row.getString("type").equals("特殊订单")) || !(row.getString("status").equals("确认") && row.getString("type").equals("特殊订单"))){
+            return getErrReturnObject().setErrMsg("新建或非确认无法提交").toString();
+        }
+
 //        String type = row.getString("type");
         //提交
         String status = "提交";
@@ -1247,7 +1251,55 @@ public class Order extends Controller {
         return getSucReturnObject().toString();
     }
 
-    @API(title = "复核反复核", apiversion = R.ID20230331102503.v1.class)
+    @API(title = "预提交反预提交", apiversion = R.ID20230331152503.v1.class)
+    @CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class})
+    public String presubmit() throws YosException {
+        boolean isrecheck = content.getBooleanValue("isrecheck");
+        Long sa_orderid = content.getLong("sa_orderid");
+        Rows rows = getOrderRows(this, sa_orderid);
+        if (rows.isEmpty()) {
+            return getErrReturnObject().setErrMsg("订单不存在").toString();
+        }
+        Row row = rows.get(0);
+        String sonum = row.getString("sonum");
+        //验证结算企业
+        Long sys_enterpriseid = row.getLong("sys_enterpriseid");
+
+        BigDecimal amount = beans.order.Order.getAmount(this, sa_orderid);
+        ArrayList<String> sqlList = new ArrayList<>();
+        if (isrecheck) {
+            if (!row.getString("status").equals("新建")) {
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非新建状态,无法预提交")
+                        .toString();
+            }
+        } else {
+            if (!row.getString("status").equals("预提交")) {
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法撤回")
+                        .toString();
+            }
+        }
+        SQLFactory sqlFactoryupdate;
+        String message ="";
+        if (isrecheck) {
+            message = "您的订单【" + sonum + "】已预提交,请注意查看!";
+            sqlFactoryupdate = new SQLFactory(this, "订单预提交");
+            sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "预提交", "订单预提交成功,金额:" + amount).getSQL());
+        } else {
+            message = "您的订单【" + sonum + "】已反预提交,请注意查看!";
+            sqlFactoryupdate = new SQLFactory(this, "订单反预提交");
+            sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "反预提交", "订单反预提交成功,金额:" + amount).getSQL());
+        }
+        sqlFactoryupdate.addParameter("siteid", siteid);
+        sqlFactoryupdate.addParameter("sa_orderid", sa_orderid);
+        sqlFactoryupdate.addParameter("recheckby", username);
+        sqlList.add(sqlFactoryupdate.getSQL());
+
+        dbConnect.runSqlUpdate(sqlList);
+        sendMsg(message, sa_orderid, sys_enterpriseid);
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "确认反确认", apiversion = R.ID20230331102503.v1.class)
     @CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class})
     public String recheck() throws YosException {
         boolean isrecheck = content.getBooleanValue("isrecheck");
@@ -1265,26 +1317,31 @@ public class Order extends Controller {
         BigDecimal amount = beans.order.Order.getAmount(this, sa_orderid);
         ArrayList<String> sqlList = new ArrayList<>();
         if (isrecheck) {
-            if (!row.getString("status").equals("审核")) {
-                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非审核状态,无法复核")
+            if (!row.getString("status").equals("预提交")) {
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法确认")
                         .toString();
             }
         } else {
-            if (!row.getString("status").equals("复核")) {
-                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非复核状态,无法反复核")
+            if (!row.getString("status").equals("确认")) {
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非确认状态,无法反确认")
                         .toString();
             }
         }
         SQLFactory sqlFactoryupdate;
         String message ="";
         if (isrecheck) {
-             message = "您的订单【" + sonum + "】已复核,请注意查看!";
-            sqlFactoryupdate = new SQLFactory(this, "订单复核");
-            sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "复核", "订单复核成功,金额:" + amount).getSQL());
+             message = "您的订单【" + sonum + "】已确认,请注意查看!";
+            sqlFactoryupdate = new SQLFactory(this, "订单确认");
+            sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "确认", "订单确认成功,金额:" + amount).getSQL());
         } else {
-             message = "您的订单【" + sonum + "】已反复核,请注意查看!";
-            sqlFactoryupdate = new SQLFactory(this, "订单反复核");
-            sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "反复核", "订单反复核成功,金额:" + amount).getSQL());
+             message = "您的订单【" + sonum + "】已反确认,请注意查看!";
+             if(row.getBoolean("createflag")){
+                 sqlFactoryupdate = new SQLFactory(this, "订单反确认(业务端创建)");
+             }else {
+                 sqlFactoryupdate = new SQLFactory(this, "订单反确认(管理端创建)");
+             }
+
+            sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "反确认", "订单反确认成功,金额:" + amount).getSQL());
         }
         sqlFactoryupdate.addParameter("siteid", siteid);
         sqlFactoryupdate.addParameter("sa_orderid", sa_orderid);
@@ -1362,13 +1419,18 @@ public class Order extends Controller {
 
         BigDecimal amount = beans.order.Order.getAmount(this, sa_orderid);
         ArrayList<String> sqlList = new ArrayList<>();
+        if(row.getString("type").equals("特殊订单")){
+            sqlList.add("update sa_order set status='确认' where sa_orderid = "+sa_orderid+" and siteid='"+siteid+"'");
+        }else{
+            SQLFactory sqlFactory = new SQLFactory(this, "订单_撤回");
+            sqlFactory.addParameter("siteid", siteid);
+            sqlFactory.addParameter("userid", userid);
+            sqlFactory.addParameter("username", username);
+            sqlFactory.addParameter_in("sa_orderid", sa_orderid);
+            sqlList.add(sqlFactory.getSQL());
+        }
+
 
-        SQLFactory sqlFactory = new SQLFactory(this, "订单_撤回");
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("userid", userid);
-        sqlFactory.addParameter("username", username);
-        sqlFactory.addParameter_in("sa_orderid", sa_orderid);
-        sqlList.add(sqlFactory.getSQL());
 
         sqlList.addAll(returnPayBill(row, "订单撤回", "由" + sonum + "订单撤回时自动产生"));
 

+ 0 - 1
src/custom/restcontroller/webmanage/sale/order/SQL/订单反复核.sql

@@ -1 +0,0 @@
-update sa_order set status='审核' where sa_orderid = $sa_orderid$ and siteid=$siteid$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/order/SQL/订单反确认(业务端创建).sql

@@ -0,0 +1 @@
+update sa_order set status='预提交' where sa_orderid = $sa_orderid$ and siteid=$siteid$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/order/SQL/订单反确认(管理端创建).sql

@@ -0,0 +1 @@
+update sa_order set status='新建' where sa_orderid = $sa_orderid$ and siteid=$siteid$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/order/SQL/订单反预提交.sql

@@ -0,0 +1 @@
+update sa_order set status='新建' where sa_orderid = $sa_orderid$ and siteid=$siteid$

+ 0 - 1
src/custom/restcontroller/webmanage/sale/order/SQL/订单复核.sql

@@ -1 +0,0 @@
-update sa_order set status='复核' where sa_orderid = $sa_orderid$ and siteid=$siteid$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/order/SQL/订单确认.sql

@@ -0,0 +1 @@
+update sa_order set status='确认' where sa_orderid = $sa_orderid$ and siteid=$siteid$

+ 1 - 0
src/custom/restcontroller/webmanage/sale/order/SQL/订单预提交.sql

@@ -0,0 +1 @@
+update sa_order set status='预提交' where sa_orderid = $sa_orderid$ and siteid=$siteid$