Przeglądaj źródła

订单出库单、收支凭证、物流单查询错误修复

shenjingwei 1 tydzień temu
rodzic
commit
fe59578535

+ 1 - 1
src/custom/common/md/md.java

@@ -21,7 +21,7 @@ public class md {
         try {
             new Thread(() -> {
                 try {
-                    Thread.sleep(60 * 1000L);
+                    Thread.sleep((Double.valueOf(Math.random() * 30).intValue() + 31) * 1000L);
                     new Sms().sendout(Sms.SmsType.Notice, "MD", phonenumber, "浙江美大", content);
                 } catch (Exception e) {
                     e.printStackTrace();

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

@@ -2111,7 +2111,6 @@ public class Order extends Controller {
                 }
             }
         }
-        String message = "您的订单【" + sonum + "】已审核!";
 
 
         sqlList.addAll(updateAccountbalance_freez(amount, true, "由销售订单" + sonum + "审核时冻结", sys_enterpriseid, sa_accountclassid, sa_orderid));
@@ -2128,24 +2127,7 @@ public class Order extends Controller {
         ArrayList<Long> userIdList = dbConnect.runSqlQuery("select userid from sys_enterprise_hr where siteid='" + siteid + "' and isleader=1 and sys_enterpriseid=" + sys_enterpriseid).toArrayList("userid", new ArrayList<>());
         Executor.sendEml(this, "order_check", sa_orderid, siteid, userIdList);
 
-        Rows orderBrand = dbConnect.runSqlQuery("select brandname from sa_brand where siteid='" + siteid + "' and sa_brandid=" + row.getLong("sa_brandid"));
-//        if (Parameter.getBoolean("system.erp_dockswitch")) {
-////            UploadDataToERP uploadDataToERP = new UploadDataToERP(this, sa_orderid, "");
-////            boolean issuccess = uploadDataToERP.upload();
-////            if (!issuccess) {
-////                uncheck();
-////                return getErrReturnObject().setErrMsg("上传ERP失败,当前单据将自动反审核,请检查!").toString();
-////            } else {
-////                dbConnect.runSqlUpdate(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功,金额:" + amount).getSQL());
-//////                sendMsg(message, sa_orderid, sys_enterpriseid);
-////                sendEmail(sa_orderid, row, orderBrand);
-////            }
-//        } else {
-//
-//        }
         dbConnect.runSqlUpdate(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功,金额:" + amount).getSQL());
-//            sendMsg(message, sa_orderid, sys_enterpriseid);
-        sendEmail(sa_orderid, row, orderBrand);
 
         return getSucReturnObject().toString();
     }
@@ -2765,47 +2747,6 @@ public class Order extends Controller {
         cashJsonObject.put("sqlList", sqlList);
         return cashJsonObject;
     }
-
-    /**
-     * 邮件发送验证
-     *
-     * @param sa_orderid
-     * @param row
-     * @param orderBrand
-     */
-    public void sendEmail(Long sa_orderid, Row row, Rows orderBrand) {
-        switch (row.getString("tradefield")) {
-            case "全领域":
-                Executor.sendEml(this, "ordertradefield", sa_orderid, siteid);
-                break;
-            case "燃气":
-                Executor.sendEml(this, "ordertradefieldrq", sa_orderid, siteid);
-                break;
-            case "给水":
-                Executor.sendEml(this, "ordertradefieldgs", sa_orderid, siteid);
-                break;
-            case "暖通":
-                Executor.sendEml(this, "ordertradefieldnt", sa_orderid, siteid);
-                break;
-            case "消防":
-                Executor.sendEml(this, "ordertradefieldxf", sa_orderid, siteid);
-                break;
-        }
-        if (orderBrand.isNotEmpty()) {
-            switch (orderBrand.get(0).getString("brandname")) {
-                case "全品牌":
-                    Executor.sendEml(this, "orderbrand", sa_orderid, siteid);
-                    break;
-                case "班尼戈":
-                    Executor.sendEml(this, "orderbrandbng", sa_orderid, siteid);
-                    break;
-                case "中捷":
-                    Executor.sendEml(this, "orderbrandzj", sa_orderid, siteid);
-                    break;
-            }
-        }
-    }
-
     /**
      * 订单结案验证
      *
@@ -2925,45 +2866,6 @@ public class Order extends Controller {
         return getSucReturnObject().toString();
     }
 
-    @API(title = "查询发货单列表", apiversion = R.ID20221205111302.v1.class)
-    @CACHEING
-    public String dispatchList() throws YosException {
-        Long sa_orderid = content.getLong("sa_orderid");
-        StringBuffer where = new StringBuffer(" 1=1 ");
-        if (content.containsKey("where")) {
-            JSONObject whereObject = content.getJSONObject("where");
-            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
-                where.append(" and(");
-                where.append("t1.billno like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append(")");
-            }
-        }
-//        SQLFactory sqlFactory = new SQLFactory(this, "订单_发货单列表", pageSize, pageNumber, pageSorting);
-//        sqlFactory.addParameter("siteid", siteid);
-//        sqlFactory.addParameter_SQL("where", where);
-//        sqlFactory.addParameter("sa_orderid", sa_orderid);
-//        Rows rows = dbConnect.runSqlQuery(sqlFactory);
-        QuerySQL querySQL = queryDispatchList(where.toString(), sa_orderid);
-        querySQL.setPage(pageSize, pageNumber);
-        Rows rows = querySQL.query();
-
-        ArrayList<Long> ids = rows.toArrayList("sa_dispatchid", new ArrayList<>());
-
-        SQLFactory sqlFactory = new SQLFactory(this, "查询发货单数据");
-        sqlFactory.addParameter_in("sa_dispatchid", ids);
-        RowsMap rowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sa_dispatchid");
-        for (Row row : rows) {
-            Rows rows2 = rowsMap.getOrDefault(row.getString("sa_dispatchid"), new Rows());
-            if (rows2.isNotEmpty()) {
-                row.putIfAbsent("sumamount", rows2.get(0).getBigDecimal("sumamount").setScale(2, BigDecimal.ROUND_HALF_UP));
-                row.putIfAbsent("sumqty", rows2.get(0).getBigDecimal("sumqty").setScale(2, BigDecimal.ROUND_HALF_UP));
-            }
-            row.putIfAbsent("sumamount", 0);
-            row.putIfAbsent("sumqty", 0);
-        }
-
-        return getSucReturnObject().setData(rows).toString();
-    }
 
     //查询订单列表(业务员)
     public QuerySQL queryDispatchList(String where, Long sa_orderid) throws YosException {
@@ -2981,36 +2883,13 @@ public class Order extends Controller {
     @CACHEING
     public String logisticsList() throws YosException {
         Long sa_orderid = content.getLong("sa_orderid");
-        StringBuffer where = new StringBuffer(" 1=1 ");
-        if (content.containsKey("where")) {
-            JSONObject whereObject = content.getJSONObject("where");
-            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
-                where.append(" and(");
-                where.append("t9.address like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t9.remarks like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append(")");
-            }
-        }
-//        SQLFactory sqlFactory = new SQLFactory(this, "订单_物流单列表", pageSize, pageNumber, pageSorting);
-//        sqlFactory.addParameter("siteid", siteid);
-//        sqlFactory.addParameter_SQL("where", where);
-//        sqlFactory.addParameter("sa_orderid", sa_orderid);
-//        String sql = sqlFactory.getSQL();
-//        Rows rows = dbConnect.runSqlQuery(sql);
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_logistics_items", "sa_logisticsid");
-        querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "st_stockbill_items", "t2", "t2.st_stockbill_itemsid = t1.st_stockbill_itemsid AND t2.siteid = t1.siteid");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_dispatch_items", "t6", "t6.sa_dispatch_itemsid = t2.sa_dispatch_itemsid AND t6.siteid = t2.siteid");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t7", "t6.sa_orderitemsid = t7.sa_orderitemsid AND t6.siteid = t7.siteid", "sa_orderid");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_logistics", "t9", "t9.sa_logisticsid = t1.sa_logisticsid AND t9.siteid = t1.siteid",
-                "billno", "billdate", "logisticsstatus", "packageqty", "logisticsamount", "address", "remarks");
-        querySQL.setSiteid(siteid);
-        querySQL.setWhere("t9.`status` != '新建'");
-        querySQL.setWhere(" t7.sa_orderid", sa_orderid);
-        querySQL.setWhere(where.toString());
-        querySQL.addGroupBy("t7.sa_orderid,t9.billno,t9.billdate,t9.logisticsstatus,t9.packageqty,t9.logisticsamount,t9.address,t9.remarks,t1.sa_logisticsid");
-        querySQL.setPage(pageSize, pageNumber);
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_logistics", "sa_logisticsid", "billno", "billdate", "logisticsstatus", "packageqty", "logisticsamount", "address", "remarks").setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_logistics_items", "t2", "t1.sa_logisticsid = t2.sa_logisticsid");
+        querySQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t2.st_stockbill_itemsid = t3.st_stockbill_itemsid");
+        querySQL.setWhere("t1.`status`!='新建'");
+        querySQL.setWhere("t3.sa_orderid", sa_orderid);
+        querySQL.setDistinct(true);
         Rows rows = querySQL.query();
         return getSucReturnObject().setData(rows).toString();
     }
@@ -3019,51 +2898,25 @@ public class Order extends Controller {
     @CACHEING
     public String stockbillList() throws YosException {
         Long sa_orderid = content.getLong("sa_orderid");
-        StringBuffer where = new StringBuffer(" 1=1 ");
-        if (content.containsKey("where")) {
-            JSONObject whereObject = content.getJSONObject("where");
-            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
-                where.append(" and(");
-                where.append("t.billno like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append(")");
-            }
+        QuerySQL stockbillQuery = SQLFactory.createQuerySQL(this, "sa_stockbill", "rb", "billdate", "status", "billno", "remarks", "st_stockbillid").setTableAlias("t1");
+        stockbillQuery.addJoinTable(JOINTYPE.left, "st_stockbill_items", "t2", "t2.st_stockbillid = t1.st_stockbillid");
+        stockbillQuery.setWhere("t2.sa_orderid", sa_orderid);
+        stockbillQuery.setDistinct(true);
+        Rows rows = stockbillQuery.query();
+        for (Row row : rows) {
+            int rb = row.getInteger("rb");
+            row.put("rb", rb == 1 ? "蓝" : "红");
         }
-        SQLFactory sqlFactory = new SQLFactory(this, "订单_出库单列表");
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter_SQL("where", where);
-        sqlFactory.addParameter("sa_orderid", sa_orderid);
-//        Rows rows = dbConnect.runSqlQuery(sqlFactory);
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_site_parameter", "sys_site_parameterid");
-        querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t", "t1.siteid ='111'  ", "*");
-        querySQL.setPage(pageSize, pageNumber);
-        Rows rows = querySQL.query();
-
         return getSucReturnObject().setData(rows).toString();
     }
 
     @API(title = "查询订单进度", apiversion = R.ID20221229093602.v1.class)
     @CACHEING
     public String getOrderProcess() throws YosException {
-        StringBuffer where = new StringBuffer(" 1=1 ");
-        if (content.containsKey("where")) {
-            JSONObject whereObject = content.getJSONObject("where");
-            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
-                where.append(" and(");
-                where.append("t1.type like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t1.action like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t1.actionby like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t1.remarks like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append(")");
-            }
-        }
         Long sa_orderid = content.getLong("sa_orderid");
         SQLFactory sqlFactory = new SQLFactory(this, "查询订单进度列表");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("sa_orderid", sa_orderid);
-        sqlFactory.addParameter_SQL("where", where);
-        String sql = sqlFactory.getSQL();
-//        Rows rows = dbConnect.runSqlQuery(sql);
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_site_parameter", "sys_site_parameterid");
         querySQL.setTableAlias("t");
         querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t1", "t.siteid = '111' ", "*");
@@ -3170,13 +3023,10 @@ public class Order extends Controller {
                     System.out.println("itemclass");
                     flag = false;
                 }
-
                 if (!flag) {
                     return getErrReturnObject().setErrMsg("所选经销商经营范围不一致,不允许复制").toString();
                 }
             }
-
-
         }
 
         Long sa_orderid_copy = createTableID("sa_order");
@@ -3415,7 +3265,6 @@ public class Order extends Controller {
         String deliverydate = content.getString("deliverydate");
         dbConnect.runSqlUpdate("UPDATE sa_orderitems SET deliverydate='" + deliverydate + "'  WHERE sa_orderid = " + sa_orderid + " and siteid = '" + siteid + "'");
         return getSucReturnObject().toString();
-
     }
 
     @API(title = "一键填写需求日期", apiversion = R.ID20230104143802.v1.class)
@@ -3437,7 +3286,6 @@ public class Order extends Controller {
     public String getRebateInfo() throws YosException {
         Long sa_orderid = content.getLong("sa_orderid");
 
-
         SQLFactory sqlFactory = new SQLFactory(this, "居间费结算-详情");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("sa_orderid", sa_orderid);
@@ -3505,7 +3353,14 @@ public class Order extends Controller {
     @CACHEING
     public String getOrderCashbill() throws YosException {
         Long sa_orderid = content.getLong("sa_orderid");
-        Rows rows = dbConnect.runSqlQuery("SELECT * from sa_cashbill WHERE ownertable = 'sa_order' and ownerid = " + sa_orderid + " and siteid = '" + siteid + "' ORDER BY createdate DESC");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_cashbill", "*").setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner, "st_stockbill", "t2", "t1.ownerid = t2.st_stockbillid");
+        querySQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t2.st_stockbillid = t3.st_stockbillid");
+        querySQL.setWhere("t1.ownertable", "st_stockbill");
+        querySQL.setWhere("t3.sa_orderid", sa_orderid);
+        querySQL.setOrderBy("t1.createdate DESC");
+        querySQL.setDistinct(true);
+        Rows rows = querySQL.query();
         return getSucReturnObject().setData(rows).toString();
     }
 

+ 0 - 6
src/custom/restcontroller/webmanage/sale/order/SQL/查询发货单数据.sql

@@ -1,6 +0,0 @@
-select t1.sa_dispatchid, t1.siteid, sum(t1.qty * t2.price) sumamount, sum(t1.qty) sumqty
-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 in $sa_dispatchid$
-group by t1.siteid, t1.sa_dispatchid

+ 0 - 3
src/custom/restcontroller/webmanage/sale/order/SQL/订单_出库单列表.sql

@@ -1,3 +0,0 @@
-select  t.* from (select distinct t2.st_stockbillid,t2.billno,t2.status,t2.remarks,t2.billdate from st_stockbill_items t1 inner join st_stockbill t2 on t1.st_stockbillid=t2.st_stockbillid and t1.siteid=t2.siteid inner join sa_dispatch_items t3 on t1.sa_dispatch_itemsid=t3.sa_dispatch_itemsid and t1.siteid=t3.siteid inner join sa_orderitems t4 on t4.sa_orderitemsid=t3.sa_orderitemsid and t4.siteid=t3.siteid where t4.sa_orderid=$sa_orderid$ and t2.rb=1
-union all
-select distinct t2.st_stockbillid,t2.billno,t2.status,t2.remarks,t2.billdate from st_stockbill_items t1 inner join st_stockbill t2 on t1.st_stockbillid=t2.st_stockbillid and t1.siteid=t2.siteid inner join sa_aftersalesmag_items t3 on t1.sa_dispatch_itemsid=t3.sa_aftersalesmag_itemsid and t1.siteid=t3.siteid inner join sa_orderitems t4 on t4.sa_orderitemsid=t3.sa_orderitemsid and t4.siteid=t3.siteid where t4.sa_orderid=$sa_orderid$ and t2.rb=0) t where $where$