wu 1 tydzień temu
rodzic
commit
dde09f05e5
1 zmienionych plików z 11 dodań i 266 usunięć
  1. 11 266
      src/custom/restcontroller/webmanage/sale/order/Order.java

+ 11 - 266
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -592,6 +592,8 @@ public class Order extends Controller {
 
         DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功").insert();
 
+        updateTradingStatus(row.getLong("sa_customersid"));
+
         return getSucReturnObject().toString();
     }
 
@@ -619,6 +621,8 @@ public class Order extends Controller {
 
         DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单反审核", "订单反审核成功").insert();
 
+        updateTradingStatus(row.getLong("sa_customersid"));
+
         return getSucReturnObject().toString();
     }
 
@@ -860,126 +864,11 @@ public class Order extends Controller {
         return sqlList;
     }
 
-    /**
-     * 邮件发送验证
-     *
-     * @param sa_orderid
-     * @param row
-     * @param orderBrand
-     */
-    public void sendEmail(Long sa_orderid, Row row, Rows orderBrand) {
-        try {
-            JSONObject emaildata = new JSONObject();
-            emaildata.put("excelfilename", "order");
-            emaildata.put("sheetname", "订单列表");
-            emaildata.put("rows", getEmailRow(sa_orderid));
-            emaildata.put("titlemap", orderTitleMap());
-
-            JSONObject extradata = new JSONObject();
-            extradata.put("emaildata", emaildata);
-            switch (row.getString("tradefield")) {
-                case "全领域":
-                    Executor.sendEml_controller(this, "ordertradefield", sa_orderid, extradata);
-                    break;
-                case "燃气":
-                    Executor.sendEml_controller(this, "ordertradefieldrq", sa_orderid, extradata);
-                    break;
-                case "给水":
-                    Executor.sendEml_controller(this, "ordertradefieldgs", sa_orderid, extradata);
-                    break;
-                case "暖通":
-                    Executor.sendEml_controller(this, "ordertradefieldnt", sa_orderid, extradata);
-                    break;
-                case "消防":
-                    Executor.sendEml_controller(this, "ordertradefieldxf", sa_orderid, extradata);
-                    break;
-            }
-            if (orderBrand.isNotEmpty()) {
-                switch (orderBrand.get(0).getString("brandname")) {
-                    case "全品牌":
-                        Executor.sendEml_controller(this, "orderbrand", sa_orderid, extradata);
-                        break;
-                    case "班尼戈":
-                        Executor.sendEml_controller(this, "orderbrandbng", sa_orderid, extradata);
-                        break;
-                    case "中捷":
-                        Executor.sendEml_controller(this, "orderbrandzj", sa_orderid, extradata);
-                        break;
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 订单结案验证
-     *
-     * @throws
-     */
-    public String closeordervalidate(long sa_orderid) throws YosException {
-        ArrayList<String> sqlList = new ArrayList<>();
-        Rows Rowstatus = dbConnect.runSqlQuery(
-                "select * from sa_order where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "'");
-        Rows RowsDetail = dbConnect.runSqlQuery(
-                "select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
-        if (Rowstatus.isEmpty()) {
-            return getReturnObject().setCode("0221", new String[0]).toString();//订单不存在
-        } else {
-            if (!Rowstatus.get(0).getString("status").equals("审核")) {
-                return getReturnObject().setCode("0393", new String[0]).toString();//非审核状态的订单无法结案
-
-            }
-        }
-        if (!siteid.equalsIgnoreCase("TZ")) {
-            return getReturnObject().setCode("0394", new String[0]).toString();//当前站点不可执行订单结案操作
-        }
-        {
-            String str = "";
-            RowsDetail = dbConnect.runSqlQuery(
-                    "select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
-            for (Row row : RowsDetail) {
-                int rowno = row.getInteger("rowno");//订单行号
-                BigDecimal deliedqty = row.getBigDecimal("deliedqty");//订单已发货数量
-                BigDecimal erpdeliedqty = row.getBigDecimal("erpdeliedqty");//erp已发货数量
-                if (deliedqty.compareTo(erpdeliedqty) != 0) {
-                    str = str + "行" + rowno + "商品发货数量" + deliedqty + "与erp发货数量" + erpdeliedqty + "不一致,请检查;";
-                }
-            }
-            if (!str.equalsIgnoreCase("")) {
-                return str;
-            }
-        }
-        return "true";
-    }
-
 
     @API(title = "关闭", apiversion = R.ID20221108164502.v1.class)
     @CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class})
     public String close() throws YosException {
         long sa_orderid = content.getLong("sa_orderid");
-//        String str = closeordervalidate(sa_orderid);
-//        if (!str.equals("true")) {
-//            return getReturnObject().setCode("0706", str).toString();
-//        }
-//        Rows RowsDetails = dbConnect.runSqlQuery(
-//                "select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
-//        content.put("type", "数量");
-//        content.put("remarks", "订单结案变更");
-//        JSONArray itemifnos = new JSONArray();
-//        for (Row row : RowsDetails) {
-//            if (row.getBigDecimal("qty").compareTo(row.getBigDecimal("erpdeliedqty")) > 0) {
-//                JSONObject jsonObject = new JSONObject();
-//                jsonObject.put("itemid", row.getLong("itemid"));
-//                jsonObject.put("sa_orderitemsid", row.getLong("sa_orderitemsid"));
-//                jsonObject.put("newvalue", row.getString("erpdeliedqty"));
-//                itemifnos.add(jsonObject);
-//            }
-//        }
-//        content.put("itemifnos", itemifnos);
-//        content.put("isjiean", true);
-//        OrderItems orderItems = new OrderItems(content);
-//        orderItems.changeItem();
 
         SQLFactory sqlFactory = new SQLFactory(this, "订单_关闭");
         sqlFactory.addParameter("siteid", siteid);
@@ -1356,34 +1245,6 @@ public class Order extends Controller {
         sqlFactory.addParameter("sa_rebatesettlementid", sa_rebatesettlementid);
         sqlFactory.addParameter_SQL("where", where);
         Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-//        Long sa_orderid = content.getLong("sa_orderid");
-//        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_rebatesettlement",
-//                "sa_rebatesettlementid", "billno", "billdate", "sys_enterpriseid", "ownerid", "ownertable", "sa_contractid", "remarks");
-//        querySQL.setTableAlias("t1");
-//        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename");
-//        querySQL.addJoinTable(JOINTYPE.left, "sa_contract", "t3", "t3.sa_contractid = t1.sa_contractid and t3.siteid = t1.siteid", "orderratio", "productdiscount", "calculatemodel");
-//        querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t4", "t4.sa_orderid = t1.ownerid and t4.siteid = t1.siteid", "sonum");
-//        querySQL.addJoinTable(JOINTYPE.left, "sa_rebatesettlement_items", "t5", "t1.siteid = t5.siteid and t1.sa_rebatesettlementid = t5.sa_rebatesettlementid");
-//        querySQL.setSiteid(siteid);
-//        querySQL.setWhere("t1.ownertable", "sa_order");
-//        querySQL.setWhere("t1.ownerid", sa_orderid);
-//        querySQL.addGroupBy("t1.sa_rebatesettlementid", "t1.billno", "t1.billdate", "t1.sys_enterpriseid", "t1.ownerid", "t1.ownertable", "t1.sa_contractid", "t1.remarks", "t2.enterprisename", "t3.orderratio", "t3.productdiscount", "t3.calculatemodel", "t4.sonum", "t3.billno");
-//        querySQL.setPage(pageSize, pageNumber);
-//        querySQL.setOrderBy(pageSorting);
-//        Rows rebateRows = querySQL.query();
-//        ArrayList<String> sa_rebatesettlementidList = rebateRows.toArrayList("sa_rebatesettlementid");
-//
-//        querySQL = SQLFactory.createQuerySQL(this, "sa_rebatesettlement_items",
-//                "sa_rebatesettlement_itemsid", "sa_rebatesettlementid", "qty", "marketprice", "discountrate", "price", "amount", "rebate_discountrate", "rebate_price", "rebate_unit_price", "rebate");
-//        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t1.itemid = t2.itemid and t1.siteid = t2.siteid", "itemno", "itemname");
-//        querySQL.setTableAlias("t1");
-//        querySQL.setSiteid(siteid);
-//        querySQL.setWhere("t1.sa_rebatesettlementid", sa_rebatesettlementidList);
-//        RowsMap rebateDetailRowsMap = querySQL.query().toRowsMap("sa_rebatesettlementid");
-//        for (Row row : rebateRows) {
-//            String sa_rebatesettlementid = row.getString("sa_rebatesettlementid");
-//            row.put("rebatesettlement_items", rebateDetailRowsMap.get(sa_rebatesettlementid));
-//        }
         return getSucReturnObject().setData(rows).toString();
     }
 
@@ -1475,45 +1336,6 @@ public class Order extends Controller {
     }
 
 
-    /**
-     * 获取订单提交SQL
-     *
-     * @param sa_orderid
-     * @return
-     * @throws YosException
-     */
-    public String getOrderSubmitSql(Long sa_orderid, String status, String freightstatus) throws YosException {
-        SQLFactory sqlFactory = new SQLFactory(this, "订单_提交");
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("userid", userid);
-        sqlFactory.addParameter("username", username);
-        sqlFactory.addParameter("sa_orderid", sa_orderid);
-        sqlFactory.addParameter("status", status);
-        sqlFactory.addParameter("freightstatus", freightstatus);
-        System.err.println(sqlFactory.getSQL());
-        return sqlFactory.getSQL();
-    }
-
-    /**
-     * 获取订单审核SQL
-     *
-     * @param sa_orderid
-     * @return
-     * @throws YosException
-     */
-    public String getOrderCheckSql(Long sa_orderid, String reviewtype, BigDecimal reward_rate, String reward_point) throws YosException {
-        SQLFactory sqlFactory = new SQLFactory(this, "订单_审核");
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("userid", userid);
-        sqlFactory.addParameter("username", username);
-        sqlFactory.addParameter("reviewtype", reviewtype);
-        sqlFactory.addParameter("sa_orderid", sa_orderid);
-        sqlFactory.addParameter("reward_rate", reward_rate);
-        sqlFactory.addParameter("reward_point", reward_point);
-        return sqlFactory.getSQL();
-    }
-
-
     /**
      * 创建凭证实体
      *
@@ -1600,19 +1422,6 @@ public class Order extends Controller {
     }
 
 
-    public boolean hasErpAgentNum(Long sys_enterpriseid) throws YosException {
-        String sql = "SELECT ifnull(erpagentnum,'')erpagentnum from sys_dataextend WHERE  ownertable='sys_enterprise' and siteid='" + siteid + "' and ownerid='" + sys_enterpriseid + "'";
-        Rows rows = dbConnect.runSqlQuery(sql);
-        if (rows.isEmpty()) {
-            return false;
-        }
-        if (rows.get(0).getString("erpagentnum").isEmpty()) {
-            return false;
-        }
-
-        return true;
-    }
-
     public Rows getEmailRow(Long sa_orderid) throws YosException {
         SQLFactory sqlFactory = new SQLFactory(this, "邮件附件订单列表");
         sqlFactory.addParameter("siteid", siteid);
@@ -1648,81 +1457,17 @@ public class Order extends Controller {
         return titleMap;
     }
 
-    public void updateTradingStatus(Long sys_enterpriseid) throws YosException {
+    public void updateTradingStatus(Long sa_customersid) throws YosException {
         //将符合的客户变更为已成交
-        String sql = "SELECT COUNT(0) count from sa_order WHERE sys_enterpriseid = " + sys_enterpriseid + " and `status` in ('审核','关闭') and deleted=0";
+        String sql = "SELECT COUNT(0) count from sa_order WHERE sa_customersid = " + sa_customersid + " and `status` in ('审核','关闭') and deleted=0";
         Long count = dbConnect.runSqlQuery(sql).get(0).getLong("count");
-        Rows rows = dbConnect.runSqlQuery("select * from sa_customers where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
-        for (Row row : rows) {
-            long sa_customersid = row.getLong("sa_customersid");
-            if (count == 1) {
-                dbConnect.runSqlUpdate("UPDATE sa_customers SET tradingstatus='已成交' WHERE sa_customersid = " + sa_customersid);
-            } else if (count > 1) {
-                dbConnect.runSqlUpdate("UPDATE sa_customers SET tradingstatus='多次成交' WHERE sa_customersid = " + sa_customersid);
-            } else {
-                dbConnect.runSqlUpdate("UPDATE sa_customers SET tradingstatus='未成交' WHERE sa_customersid = " + sa_customersid);
-            }
-
-        }
-    }
 
-    public void updateProjectStatus(Long sa_projectid) throws YosException {
-        Rows rows = dbConnect.runSqlQuery("select count(*)count from sa_order where siteid='" + siteid + "' and sa_projectid=" + sa_projectid + " and status in ('审核','关闭') and deleted=0");
-        long count = rows.get(0).getLong("count");
-        if (count == 0) {
-            dbConnect.runSqlUpdate("UPDATE sa_project SET `status`='跟进中' WHERE status='已成交' and deleted=0 and sa_projectid = " + sa_projectid);
-        } else if (count == 1) {
-            dbConnect.runSqlUpdate("UPDATE sa_project SET `status`='已成交' WHERE status='跟进中' and deleted=0 and sa_projectid = " + sa_projectid);
-            ArrayList<Long> useridList = new ArrayList<>();
-            useridList.addAll(DataTeam.queryTeamRowWithoutHeadpic(this, "sa_project", sa_projectid).toArrayList("userid", new ArrayList<>()));
-            useridList.addAll(DataTeam.getProxyUserids(this, "sa_project", sa_projectid));
-            JSONObject extradata = new JSONObject();
-            extradata.put("extraUserList", useridList);
-            Executor.sendEml_controller(this, "project_cj", sa_projectid, extradata);
-            ArrayList<String> stageList = dbConnect.runSqlQuery("select stagename from sa_project_stage where siteid='" + siteid + "' and sa_projectid = " + sa_projectid).toArrayList("stagename");
-            if (stageList.contains("供货及服务")) {
-                dbConnect.runSqlUpdate("UPDATE sa_project_stage SET `active`=0 WHERE sa_projectid = " + sa_projectid);
-                dbConnect.runSqlUpdate("UPDATE sa_project_stage SET `active`=1 WHERE sa_projectid = " + sa_projectid + " and stagename='供货及服务'");
-            }
+        if (count == 1) {
+            dbConnect.runSqlUpdate("UPDATE sa_customers SET tradingstatus='已成交' WHERE sa_customersid = " + sa_customersid);
+        } else if (count > 1) {
+            dbConnect.runSqlUpdate("UPDATE sa_customers SET tradingstatus='多次成交' WHERE sa_customersid = " + sa_customersid);
         } else {
-            dbConnect.runSqlUpdate("UPDATE sa_project SET `status`='已成交' WHERE status='跟进中' and deleted=0 and sa_projectid = " + sa_projectid);
-            ArrayList<String> stageList = dbConnect.runSqlQuery("select stagename from sa_project_stage where siteid='" + siteid + "' and sa_projectid = " + sa_projectid).toArrayList("stagename");
-            if (stageList.contains("供货及服务")) {
-                dbConnect.runSqlUpdate("UPDATE sa_project_stage SET `active`=0 WHERE sa_projectid = " + sa_projectid);
-                dbConnect.runSqlUpdate("UPDATE sa_project_stage SET `active`=1 WHERE sa_projectid = " + sa_projectid + " and stagename='供货及服务'");
-            }
-        }
-    }
-
-    public void updateCustomersStatus(Long sa_projectid, boolean isCheck) throws YosException {
-        Rows rows = dbConnect.runSqlQuery("SELECT sys_enterpriseid from sa_project_parties WHERE siteid='" + siteid + "' and sa_projectid=" + sa_projectid);
-        for (Row row : rows) {
-            long sys_enterpriseid = row.getLong("sys_enterpriseid");
-            Rows customersrows = dbConnect.runSqlQuery("SELECT sa_customersid from sa_customers WHERE sys_enterpriseid = " + sys_enterpriseid + " and siteid='" + siteid + "'");
-            for (Row customersrow : customersrows) {
-                long sa_customersid = customersrow.getLong("sa_customersid");
-                DataTag.deleteTag(this, "sa_customers", sa_customersid, "合作中");
-                DataTag.deleteTag(this, "sa_customers", sa_customersid, "已终止");
-                DataTag.deleteTag(this, "sa_customers", sa_customersid, "暂缓");
-                DataTag.deleteTag(this, "sa_customers", sa_customersid, "潜在");
-                if (isCheck) {
-                    dbConnect.runSqlUpdate("UPDATE sa_customers SET status='合作中' WHERE sa_customersid = " + sa_customersid + " and siteid='" + siteid + "'");
-                    DataTag.createTag(this, "sa_customers", sa_customersid, "合作中");
-                } else {
-                    String sql = "SELECT COUNT(0) count from sa_contract WHERE sys_enterpriseid = " + sys_enterpriseid + " and `status`='审核'  and deleted=0";
-                    Row contractrow = dbConnect.runSqlQuery(sql).get(0);
-                    Long count = contractrow.getLong("count");
-                    if (count >= 1) {
-                        dbConnect.runSqlUpdate("UPDATE sa_customers SET status='合作中' WHERE sys_enterpriseid =" + sys_enterpriseid + " and siteid='" + siteid + "'");
-                        DataTag.createTag(this, "sa_customers", sa_customersid, "合作中");
-                    } else {
-                        dbConnect.runSqlUpdate("UPDATE sa_customers SET status='潜在' WHERE sys_enterpriseid = " + sys_enterpriseid + " and siteid='" + siteid + "'");
-                        DataTag.createTag(this, "sa_customers", sa_customersid, "潜在");
-
-                    }
-                }
-            }
-
+            dbConnect.runSqlUpdate("UPDATE sa_customers SET tradingstatus='未成交' WHERE sa_customersid = " + sa_customersid);
         }
 
     }