shenjingwei 2 ماه پیش
والد
کامیت
cbcf58f33b

+ 2 - 2
src/custom/beans/stockbill/bills/BasicBill.java

@@ -96,7 +96,7 @@ public abstract class BasicBill {
             if (!status.equals("新建")) {
                 throw new YosException("单号为:【" + billno + "】的出入库单为非新建状态,无法审核");
             }
-            RowsMap rowsMap = dbConnect.runSqlQuery("select CONCAT(year, '-',LPAD(month, 2, '0')) period,isclose from st_period").toRowsMap("period");
+            RowsMap rowsMap = dbConnect.runSqlQuery("select CONCAT(year, '-',LPAD(month, 2, '0')) period,isclose from st_period where CONCAT(year, '-',LPAD(month, 2, '0'))='" + period + "'").toRowsMap("period");
             if (rowsMap.containsKey(period)) {
                 if (rowsMap.get(period).toRowsMap("isclose").containsKey("1")) {
                     throw new YosException("原单据会计期间已关闭,不可审核");
@@ -137,7 +137,7 @@ public abstract class BasicBill {
             if (!status.equals("审核")) {
                 throw new YosException("单号为:【" + billno + "】的出入库单为非审核状态,无法反审核");
             }
-            RowsMap rowsMap = dbConnect.runSqlQuery("select CONCAT(year, '-',LPAD(month, 2, '0')) period,isclose from st_period").toRowsMap("period");
+            RowsMap rowsMap = dbConnect.runSqlQuery("select CONCAT(year, '-',LPAD(month, 2, '0')) period,isclose from st_period where CONCAT(year, '-',LPAD(month, 2, '0'))='" + period + "'").toRowsMap("period");
             if (rowsMap.containsKey(period)) {
                 if (rowsMap.get(period).toRowsMap("isclose").containsKey("1")) {
                     throw new YosException("原单据会计期间已关闭,不可反审核");

+ 21 - 18
src/custom/restcontroller/sale/order/Order.java

@@ -77,15 +77,18 @@ public class Order extends Controller {
         sqlFactory.addParameter_in("sa_orderid", sa_orderids);
         RowsMap dataRowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sa_orderid");
 
-        QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid","sa_orderid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid","tracknumber");
-        expressformQuery.setWhere("t3.sa_orderid", sa_orderids);
-        expressformQuery.setOrderBy("t1.createdate desc");
-        expressformQuery.setDistinct(true);
-        Rows expressformrows = expressformQuery.query();
-        RowsMap expressformrowsMap = expressformrows.toRowsMap("sa_orderid");
+        RowsMap expressformrowsMap = new RowsMap();
+        if (!sa_orderids.isEmpty()) {
+            QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
+            expressformQuery.setWhere("t3.sa_orderid", sa_orderids);
+            expressformQuery.setOrderBy("t1.createdate desc");
+            expressformQuery.setDistinct(true);
+            expressformrowsMap = expressformQuery.query().toRowsMap("sa_orderid");
+        }
+
         RowsMap ContactsRowsMap = beans.order.Order.getContactsRowsMap(this, rows.toArrayList("rec_contactsid", new ArrayList<>()));
         for (Row row : rows) {
             Rows dataRows = dataRowsMap.getOrDefault(row.getString("sa_orderid"), new Rows());
@@ -96,19 +99,19 @@ public class Order extends Controller {
                 row.put("qty", 0);
             }
             //查询收货人信息
-            if(ContactsRowsMap.containsKey(row.getString("rec_contactsid"))){
+            if (ContactsRowsMap.containsKey(row.getString("rec_contactsid"))) {
                 row.put("contacts", ContactsRowsMap.get(row.getString("rec_contactsid")).get(0));
-            }else{
+            } else {
                 row.put("contacts", new Row());
             }
             //查询快递信息
-            if(expressformrowsMap.containsKey(row.getString("sa_orderid"))){
-                row.put("expressform_mailno",expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("mailno"));
-                row.put("expressform_txlogisticid",expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("txlogisticid"));
+            if (expressformrowsMap.containsKey(row.getString("sa_orderid"))) {
+                row.put("expressform_mailno", expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("mailno"));
+                row.put("expressform_txlogisticid", expressformrowsMap.get(row.getString("sa_orderid")).get(0).getString("txlogisticid"));
 
-            }else{
-                row.put("expressform_mailno","");
-                row.put("expressform_txlogisticid","");
+            } else {
+                row.put("expressform_mailno", "");
+                row.put("expressform_txlogisticid", "");
 
             }
         }
@@ -128,7 +131,7 @@ public class Order extends Controller {
     //查询订单列表(经销商)
     public QuerySQL queryList(String where) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
-                "sa_orderid", "sonum", "status", "type", "billdate", "tradefield", "remarks","rec_contactsid","checkdate","closedate","invoicetaxno","invoicename","invoiceaddress","contact","address","phonenumber","province","city","county");
+                "sa_orderid", "sonum", "status", "type", "billdate", "tradefield", "remarks", "rec_contactsid", "checkdate", "closedate", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid",
                 "brandname");

+ 12 - 11
src/custom/restcontroller/webmanage/sale/accessoryorder/accessoryorder.java

@@ -141,9 +141,8 @@ public class accessoryorder extends Controller {
             querySQL.setWhere("t1.status", statusList);
         }
         querySQL.setOrderBy("t1.submitdate desc");
-        Rows rows;
         querySQL.setPage(pageSize, pageNumber);
-        rows = querySQL.query();
+        Rows rows = querySQL.query();
 
         ArrayList<Long> ids = rows.toArrayList("sa_orderid", new ArrayList<>());
         //查询数量金额
@@ -151,15 +150,17 @@ public class accessoryorder extends Controller {
 
         RowsMap ContactsRowsMap = beans.order.Order.getContactsRowsMap(this, rows.toArrayList("rec_contactsid", new ArrayList<>()));
         //查询快递信息
-        QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
-        expressformQuery.setWhere("t3.sa_orderid", rows.toArrayList("sa_orderid"));
-        expressformQuery.setOrderBy("t1.createdate desc");
-//        expressformQuery.setDistinct(true);
-        Rows expressformrows = expressformQuery.query();
-        RowsMap expressformrowsMap = expressformrows.toRowsMap("sa_orderid");
+        RowsMap expressformrowsMap = new RowsMap();
+        if (rows.isNotEmpty()) {
+            QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
+            expressformQuery.setWhere("t3.sa_orderid", rows.toArrayList("sa_orderid"));
+            expressformQuery.setOrderBy("t1.createdate desc");
+            expressformrowsMap = expressformQuery.query().toRowsMap("sa_orderid");
+        }
+
         //查询区域信息
 //        QuerySQL areaQuery = SQLFactory.createQuerySQL(this, "sa_salearea", "areanum","areaname","areafullname").setTableAlias("t1");
 //        areaQuery.addJoinTable(JOINTYPE.inner, "sys_enterprise_tradefield ", "t2", "t2.sa_saleareaid = t1.sa_saleareaid","sys_enterpriseid");

+ 2 - 48
src/custom/restcontroller/webmanage/sale/agents/agents.java

@@ -375,7 +375,7 @@ public class agents extends Controller {
         //开票节点(1:订单审核:2:发货)
         sqlFactory.addParameter("invoicingpoint", content.getLongValue("invoicingpoint") == 0 ? 2 : content.getLongValue("invoicingpoint"));
         //是否需要经营授权,默认1
-        sqlFactory.addParameter("saleclassauth", content.getBooleanValue("saleclassauth") == false ? 0 : 1);
+        sqlFactory.addParameter("saleclassauth", !content.getBooleanValue("saleclassauth") ? 0 : 1);
         sqlFactory.addParameter("grade", content.getLongValue("grade"));
         sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
         sqlFactory.addParameter("siteid", siteid);
@@ -383,46 +383,6 @@ public class agents extends Controller {
         sqlFactory.addParameter("changeuserid", userid);
         sqllist.add(sqlFactory.getSQL());
 
-
-        //企业信息同步到【我的客户】,并将该客户打上经销商标签,
-        Rows customersRows = dbConnect.runSqlQuery("SELECT sa_customersid from sa_customers WHERE sys_enterpriseid =" + sys_enterpriseid + " and siteid = '" + siteid + "'");
-        Long sa_customersid = 0L;
-        if (customersRows.isNotEmpty()) {
-            sa_customersid = customersRows.get(0).getLong("sa_customersid");
-            sqlFactory = new SQLFactory(this, "客户更新");
-
-        } else {
-            sa_customersid = createTableID("sa_customers");
-            sqlFactory = new SQLFactory(this, "客户新增");
-        }
-
-        Row enterpriseRow = getEnterprise(this, sys_enterpriseid);
-
-        sqlFactory.addParameter("siteid", siteid);
-        sqlFactory.addParameter("userid", userid);
-        sqlFactory.addParameter("username", username);
-        sqlFactory.addParameter("sa_customersid", sa_customersid);
-        //上级客户ID
-        sqlFactory.addParameter("parentid", "null");
-        //合作企业档案ID
-        sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
-        //客户类型
-        sqlFactory.addParameter("type", "经销商(客户)");
-        //客户池(公海池)ID
-        sqlFactory.addParameter("sa_customerpoolid", 0);
-        //客户来源
-        sqlFactory.addParameter("source", "经销商同步");
-        sqlFactory.addParameter("customergrade", "null");
-        sqlFactory.addParameter("ispublic", 0);
-        sqlFactory.addParameter("name", enterpriseRow.getString("enterprisename"));
-        sqlFactory.addParameter("province", enterpriseRow.getString("province"));
-        sqlFactory.addParameter("city", enterpriseRow.getString("city"));
-        sqlFactory.addParameter("county", enterpriseRow.getString("county"));
-        sqlFactory.addParameter("address", enterpriseRow.getString("address"));
-        sqlFactory.addParameter("phonenumber", enterpriseRow.getString("phonenumber"));
-        sqllist.add(sqlFactory.getSQL());
-
-
         JSONArray tradefields = content.getJSONArray("tradefields");
         Long sa_saleareaid = content.getLong("sa_saleareaid");
         sqllist.add("DELETE FROM sys_enterprise_tradefield WHERE sa_agentsid=" + sa_agentsid + "  AND siteid = '" + siteid + "'");
@@ -443,14 +403,10 @@ public class agents extends Controller {
             }
         }
 
-
         dbConnect.runSqlUpdate(sqllist);
         content.put("sa_agentsid", sa_agentsid);
-
-        //打经销商标签
-        DataTag.createTag(this, "sa_customers", sa_customersid, "经销商");
         if (isAdd) {
-
+            Row enterpriseRow = getEnterprise(this, sys_enterpriseid);
             InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_finance");
             insertSQL.setSiteid(siteid);
             insertSQL.setValue("sys_enterpriseid", sys_enterpriseid);
@@ -461,8 +417,6 @@ public class agents extends Controller {
             insertSQL.insert();
             DataContrlLog.createLog(this, "sa_agents", sa_agentsid, "新增", "自动新增默认开票信息").insert();
         }
-
-
         return query_agentMain();
     }
 

+ 1 - 1
src/custom/restcontroller/webmanage/sale/dbstockbill/dbstockbillreceive.java

@@ -307,7 +307,7 @@ public class dbstockbillreceive extends Controller {
         ArrayList<String> sqllist = new ArrayList<>();
         for (Row row : dbstockbilldetail) {
             if (ischeck) {// 审核
-                sqllist.add("update st_dbstockbilldetail  set undeliqty=undeliqty-" + row.getInteger("recqty") + " where st_dbstockbilldetailid='" + row.getString("st_dbstockbilldetailid") + "'");
+                sqllist.add("update st_dbstockbilldetail  set undeliqty=undeliqty-" + row.getInteger("qty") + " where st_dbstockbilldetailid='" + row.getString("st_dbstockbilldetailid") + "'");
             } else {// 反审核
                 sqllist.add("update st_dbstockbilldetail set undeliqty=undeliqty+" + row.getBigDecimal("qty") + " where st_dbstockbilldetailid='" + row.getString("st_dbstockbilldetailid") + "'");
             }

+ 48 - 94
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -19,7 +19,6 @@ import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
-import common.api.YOSAPI;
 import common.data.*;
 import common.data.db.DBConnect;
 import org.apache.commons.lang.StringUtils;
@@ -246,9 +245,7 @@ public class Order extends Controller {
         } else {
             //订单更新时
             if (content.getLongValue("sa_accountclassid") != 0) {
-                Rows accountclassRows = dbConnect
-                        .runSqlQuery(
-                                "select accountno,accountname from sa_accountclass where sa_accountclassid=" + content.getLongValue("sa_accountclassid"));
+                Rows accountclassRows = dbConnect.runSqlQuery("select accountno,accountname from sa_accountclass where sa_accountclassid=" + content.getLongValue("sa_accountclassid"));
                 if (accountclassRows.isNotEmpty()) {
                     if (accountclassRows.get(0).getString("accountname").equals("物料账户")) {
                         Rows wuliaoRows = dbConnect.runSqlQuery("select * from sa_orderitems t1 where exists(select 1 from plm_item t left join plm_itemclass t2 on t.marketingcategory=t2.itemclassid and t.siteid=t2.siteid where t.itemid=t1.itemid and t2.itemclassname='物料') and t1.sa_orderid=" + sa_orderid);
@@ -656,16 +653,17 @@ public class Order extends Controller {
         sqlFactory.addParameter_in("sys_enterpriseid", sys_enterpriseids);
         RowsMap financeRowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
 
-        QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
-        expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
-        expressformQuery.setWhere("t3.sa_orderid", sa_orderids);
-        expressformQuery.setOrderBy("t1.createdate desc");
-        expressformQuery.setDistinct(true);
-        Rows expressformrows = expressformQuery.query();
-        RowsMap expressformrowsMap = expressformrows.toRowsMap("sa_orderid");
-
+        RowsMap expressformrowsMap = new RowsMap();
+        if (!sa_orderids.isEmpty()) {
+            QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
+            expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
+            expressformQuery.setWhere("t3.sa_orderid", sa_orderids);
+            expressformQuery.setOrderBy("t1.createdate desc");
+            expressformQuery.setDistinct(true);
+            expressformrowsMap = expressformQuery.query().toRowsMap("sa_orderid");
+        }
 
         for (Row row : rows) {
             row.put("pay_finance", financeRowsMap.getOrDefault(row.getString("sys_enterpriseid"), new Rows()));
@@ -1004,14 +1002,10 @@ public class Order extends Controller {
             }
         }
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
-                "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno"
-                , "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
-                "enterprisename", "abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid",
-                "agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid", "agentnum");
         querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
         querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
         querySQL.setCondition("t1.sonum", "t2.enterprisename", "t1.remarks");
@@ -1193,14 +1187,10 @@ public class Order extends Controller {
 
     //查询订单列表(管理端)
     public QuerySQL queryListManage(String where) throws YosException {
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
-                "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno"
-                , "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
-                "enterprisename", "abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid",
-                "agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid", "agentnum");
         querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
         querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
         querySQL.setWhere("t1.siteid", siteid);
@@ -1367,19 +1357,14 @@ public class Order extends Controller {
     public QuerySQL queryList(String where) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
-                "enterprisename", "abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid",
-                "brandname");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t4", "t4.contactsid = t1.rec_contactsid and t4.siteid = t1.siteid",
-                "name", "province", "city", "county", "address", "phonenumber");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t5.sys_enterpriseid=t1.sys_enterpriseid and t5.siteid = t1.siteid",
-                "agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename", "abbreviation");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid", "brandname");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t4", "t4.contactsid = t1.rec_contactsid and t4.siteid = t1.siteid", "name", "province", "city", "county", "address", "phonenumber");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t5.sys_enterpriseid=t1.sys_enterpriseid and t5.siteid = t1.siteid", "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t6", "t6.hrid = t1.saler_hrid and t6.siteid = t1.siteid");
         //设置别名
         querySQL.addQueryFields("salename", "t6.name");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_project", "t7", "t7.sa_projectid = t1.sa_projectid and t7.siteid = t1.siteid",
-                "projectname");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_project", "t7", "t7.sa_projectid = t1.sa_projectid and t7.siteid = t1.siteid", "projectname");
         querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
         querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
         querySQL.setWhere("t1.siteid", siteid);
@@ -1913,8 +1898,7 @@ public class Order extends Controller {
         ArrayList<String> sqlList = new ArrayList<>();
         QuerySQL orderQuerySQL = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "sys_enterpriseid", "sys_enterprise_financeid", "rec_contactsid", "logisticsmethod", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county", "remarks");
         orderQuerySQL.setTableAlias("t1");
-        orderQuerySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid",
-                "sa_orderitemsid", "itemid", "undeliqty", "defaultprice", "itemno", "itemname", "model", "price", "delivery");
+        orderQuerySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid", "sa_orderitemsid", "itemid", "undeliqty", "defaultprice", "itemno", "itemname", "model", "price", "delivery");
         orderQuerySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid=t3.itemid and t3.siteid=t2.siteid", "skucontrol", "outplace");
         orderQuerySQL.setWhere("t1.siteid", siteid);
         orderQuerySQL.setWhere("t1.sa_orderid", sa_orderids);
@@ -1924,8 +1908,7 @@ public class Order extends Controller {
 
         QuerySQL orderQuerySQL_jundge = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "status", "sonum", "type", "delivery");
         orderQuerySQL_jundge.setTableAlias("t1");
-        orderQuerySQL_jundge.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid",
-                "sa_orderitemsid", "itemid", "undeliqty", "defaultprice", "remarks", "itemno", "itemname", "model", "price", "rowno", "isclose");
+        orderQuerySQL_jundge.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid", "sa_orderitemsid", "itemid", "undeliqty", "defaultprice", "remarks", "itemno", "itemname", "model", "price", "rowno", "isclose");
         orderQuerySQL_jundge.addJoinTable(JOINTYPE.left, "sa_agents", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid=t1.siteid", "agentnum");
         orderQuerySQL_jundge.addJoinTable(JOINTYPE.left, "sys_enterprise", "t5", "t5.sys_enterpriseid=t4.sys_enterpriseid and t5.siteid=t4.siteid", "enterprisename", "abbreviation");
         orderQuerySQL_jundge.setWhere("t1.siteid", siteid);
@@ -2211,15 +2194,9 @@ public class Order extends Controller {
 
         String type = row.getString("type");
         ArrayList<String> sqllist = new ArrayList<>();
-        Rows rowsdetailsGrade = dbConnect.runSqlQuery("select sum(t1.qty) qty,t2.grade from sa_orderitems t1 " +
-                "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
-                " where t1.sa_orderid=" + sa_orderid + " group by t2.grade");
-        Rows rowsGrade = dbConnect.runSqlQuery("select t1.rowno,t2.itemno,t2.itemname,t2.grade from sa_orderitems t1 " +
-                "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
-                " where t1.sa_orderid=" + sa_orderid);
-        Rows gradeQtyRows = dbConnect.runSqlQuery("select grade,sum(qty) qty from (select grade,t2.qty from st_stockbill t1 inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status='审核' and t1.type='销售出库' and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())\n" +
-                "union all\n" +
-                "select grade,t2.qty  from sa_order t1 inner join sa_orderitems t2 on t1.sa_orderid=t2.sa_orderid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status in('提交','审核') and t2.isclose=0 and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())) t group by grade");
+        Rows rowsdetailsGrade = dbConnect.runSqlQuery("select sum(t1.qty) qty,t2.grade from sa_orderitems t1 " + "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " + " where t1.sa_orderid=" + sa_orderid + " group by t2.grade");
+        Rows rowsGrade = dbConnect.runSqlQuery("select t1.rowno,t2.itemno,t2.itemname,t2.grade from sa_orderitems t1 " + "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " + " where t1.sa_orderid=" + sa_orderid);
+        Rows gradeQtyRows = dbConnect.runSqlQuery("select grade,sum(qty) qty from (select grade,t2.qty from st_stockbill t1 inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status='审核' and t1.type='销售出库' and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())\n" + "union all\n" + "select grade,t2.qty  from sa_order t1 inner join sa_orderitems t2 on t1.sa_orderid=t2.sa_orderid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status in('提交','审核') and t2.isclose=0 and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())) t group by grade");
         Rows optiontypRows = dbConnect.runSqlQuery("select t1.value,t1.remarks from sys_optiontypemx t1 inner join sys_optiontype t2 on t1.optiontypeid=t2.optiontypeid where t2.typename ='productgrade'");
         RowsMap gradeQtyRowsMap = gradeQtyRows.toRowsMap("grade");
         RowsMap optiontypRowsMap = optiontypRows.toRowsMap("value");
@@ -2254,9 +2231,7 @@ public class Order extends Controller {
         }
 
         if (type.equals("配件订单")) {
-            Rows rowsdetails = dbConnect.runSqlQuery("select t1.price,t1.amount,t1.sa_orderitemsid,t1.itemid,ifnull(t2.iswriteoff,0) iswriteoff,t3.begdate,t3.enddate from sa_orderitems t1 " +
-                    "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
-                    "left join sa_warrantycard t3 on t1.cardno=t3.cardno and t1.siteid=t3.siteid and t3.isvoid=0 and t3.deleted=0 where t1.sa_orderid=" + sa_orderid);
+            Rows rowsdetails = dbConnect.runSqlQuery("select t1.price,t1.amount,t1.sa_orderitemsid,t1.itemid,ifnull(t2.iswriteoff,0) iswriteoff,t3.begdate,t3.enddate from sa_orderitems t1 " + "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " + "left join sa_warrantycard t3 on t1.cardno=t3.cardno and t1.siteid=t3.siteid and t3.isvoid=0 and t3.deleted=0 where t1.sa_orderid=" + sa_orderid);
             for (Row rowsdetail : rowsdetails) {
                 String billingstatus = "";
                 BigDecimal price = rowsdetail.getBigDecimal("price");
@@ -2959,8 +2934,7 @@ public class Order extends Controller {
         }
         Row row = rows.get(0);
 
-        if (dbConnect.runSqlQuery("SELECT 1 from st_stockbill_items t1 inner join st_stockbill t2 on t2.st_stockbillid=t1.st_stockbillid left join sa_orderitems t3 on t1.sa_orderitemsid=t3.sa_orderitemsid " +
-                "WHERE t2.type = '销售出库' and  t1.siteid='" + siteid + "' and t3.sa_orderid=" + sa_orderid).isNotEmpty()) {
+        if (dbConnect.runSqlQuery("SELECT 1 from st_stockbill_items t1 inner join st_stockbill t2 on t2.st_stockbillid=t1.st_stockbillid left join sa_orderitems t3 on t1.sa_orderitemsid=t3.sa_orderitemsid " + "WHERE t2.type = '销售出库' and  t1.siteid='" + siteid + "' and t3.sa_orderid=" + sa_orderid).isNotEmpty()) {
             return getErrReturnObject().setErrMsg("存在销售出库单,无法反审核").toString();
         }
 
@@ -3043,13 +3017,11 @@ public class Order extends Controller {
         ArrayList<String> sqlList = new ArrayList<>();
         if (isrecheck) {
             if (!row.getString("status").equals("新建")) {
-                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非新建状态,无法预提交")
-                        .toString();
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非新建状态,无法预提交").toString();
             }
         } else {
             if (!row.getString("status").equals("预提交")) {
-                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法撤回")
-                        .toString();
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法撤回").toString();
             }
         }
         SQLFactory sqlFactoryupdate;
@@ -3100,20 +3072,17 @@ public class Order extends Controller {
         if (isrecheck) {
             if (row.getBoolean("createflag")) {
                 if (!row.getString("status").equals("新建")) {
-                    return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为新建状态,无法确认")
-                            .toString();
+                    return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为新建状态,无法确认").toString();
                 }
             } else {
                 if (!row.getString("status").equals("预提交")) {
-                    return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法确认")
-                            .toString();
+                    return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法确认").toString();
                 }
             }
 
         } else {
             if (!row.getString("status").equals("确认")) {
-                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非确认状态,无法反确认")
-                        .toString();
+                return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非确认状态,无法反确认").toString();
             }
         }
         SQLFactory sqlFactoryupdate;
@@ -3566,10 +3535,8 @@ public class Order extends Controller {
      */
     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");
+        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 "订单不存在";
         } else {
@@ -3596,8 +3563,7 @@ public class Order extends Controller {
         }
         {
             String str = "";
-            RowsDetail = dbConnect.runSqlQuery(
-                    "select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
+            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");//订单已发货数量
@@ -3781,10 +3747,7 @@ public class Order extends Controller {
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_invoicebill", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addQueryFields("sumtaxincludedamount", "ifnull((select sum(taxincludedamount) sumtaxincludedamount\n" +
-                "                from sa_invoicebill_item\n" +
-                "                where sa_invoicebillid = t1.sa_invoicebillid\n" +
-                "                and siteid = t1.siteid), 0)");
+        querySQL.addQueryFields("sumtaxincludedamount", "ifnull((select sum(taxincludedamount) sumtaxincludedamount\n" + "                from sa_invoicebill_item\n" + "                where sa_invoicebillid = t1.sa_invoicebillid\n" + "                and siteid = t1.siteid), 0)");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.sa_invoiceapplyid in (SELECT sa_invoiceapplyid from sa_invoiceapply_order WHERE sa_orderid = '" + sa_orderid + "' and siteid = '" + siteid + "')");
         querySQL.setWhere(where.toString());
@@ -4017,8 +3980,7 @@ public class Order extends Controller {
 //        sqlFactory.addParameter("sa_orderid", sa_orderid);
 //        sqlFactory.addParameter_SQL("where", where);
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "createuserid",
-                "createby", "createdate", "checkby", "checkdate", "billnodate", "status", "sys_enterpriseid", "remarks", "unwriteoffamount", "writeoffamount", "sa_cashbillid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "createuserid", "createby", "createdate", "checkby", "checkdate", "billnodate", "status", "sys_enterpriseid", "remarks", "unwriteoffamount", "writeoffamount", "sa_cashbillid");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid", "enterprisename", "abbreviation");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t2.siteid = t5.siteid and t2.sys_enterpriseid = t5.sys_enterpriseid", "agentnum");
@@ -4142,8 +4104,7 @@ public class Order extends Controller {
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
 
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_rebatesettlement_items", "sa_rebatesettlement_itemsid", "qty",
-                "marketprice", "discountrate", "price", "amount", "rebate_discountrate", "rebate_price", "rebate");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_rebatesettlement_items", "sa_rebatesettlement_itemsid", "qty", "marketprice", "discountrate", "price", "amount", "rebate_discountrate", "rebate_price", "rebate");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t1.itemid = t2.itemid and t1.siteid = t2.siteid", "itemno", "itemname");
         querySQL.addQueryFields("rebate_unit_price", "t1.price-t1.rebate_price");
@@ -4198,13 +4159,11 @@ public class Order extends Controller {
 //        sqlFactory.addParameter("siteid", siteid);
 //        sqlFactory.addParameter("sa_orderid", sa_orderid);
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "billno",
-                "billnodate", "writeoffamount");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "billno", "billnodate", "writeoffamount");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_writeoffbill_order", "t2", "t1.sa_writeoffbillid = t2.sa_writeoffbillid and t1.siteid = t2.siteid");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_cashbill", "t3", "t1.sa_cashbillid = t3.sa_cashbillid and t1.siteid = t3.siteid");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t4", "t2.siteid = t4.siteid and t2.sa_orderitemsid = t4.sa_orderitemsid",
-                "rowno", "itemno", "itemname");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t4", "t2.siteid = t4.siteid and t2.sa_orderitemsid = t4.sa_orderitemsid", "rowno", "itemno", "itemname");
         querySQL.addQueryFields("cashbillbillno", "t3.billno");
         querySQL.addQueryFields("ordetitemwriteoffamount", "t2.writeoffamount");
         querySQL.setSiteid(siteid);
@@ -4240,12 +4199,10 @@ public class Order extends Controller {
 //        sqlFactory.addParameter("siteid", siteid);
 //        sqlFactory.addParameter("sa_orderid", sa_orderid);
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems_change", "createby", "createdate",
-                "remarks", "sa_orderitems_changeid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems_change", "createby", "createdate", "remarks", "sa_orderitems_changeid");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems_changemx", "t2", "t1.sa_orderitems_changeid = t2.sa_orderitems_changeid and t1.siteid = t2.siteid", "oldvalue", "newvalue");
-        querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid = t3.itemid and t2.siteid = t3.siteid",
-                "itemno", "itemname", "model");
+        querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid = t3.itemid and t2.siteid = t3.siteid", "itemno", "itemname", "model");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t2.type = '数量'");
         querySQL.setWhere("t1.sa_orderid", sa_orderid);
@@ -4390,8 +4347,7 @@ public class Order extends Controller {
             oraclebase = "ORACLE_HY";
         }
         DBConnect oracleConnect = new DBConnect(oraclebase);
-        Rows icrows = oracleConnect.runSqlQuery(
-                "select WAREHOUSE,QTY,LOCATION,LOT from v_eso_actual_inventory where FITEMNO = '" + erpitemno + "' and SITEID='" + sid + "' and QTY>=" + qty);
+        Rows icrows = oracleConnect.runSqlQuery("select WAREHOUSE,QTY,LOCATION,LOT from v_eso_actual_inventory where FITEMNO = '" + erpitemno + "' and SITEID='" + sid + "' and QTY>=" + qty);
         return getSucReturnObject().setData(icrows).toString();
     }
 
@@ -4731,8 +4687,7 @@ public class Order extends Controller {
      * @param addorsub
      * @param remarks
      */
-    public ArrayList<String> updateAccountbalance_freez(BigDecimal totalamount, boolean addorsub,
-                                                        String remarks, long sys_enterpriseid, long sa_accountclassid, long sa_orderid) throws YosException {
+    public ArrayList<String> updateAccountbalance_freez(BigDecimal totalamount, boolean addorsub, String remarks, long sys_enterpriseid, long sa_accountclassid, long sa_orderid) throws YosException {
         ArrayList<String> sqllist = new ArrayList<>();
         /******** 冻结数据 ********/
         if (addorsub) {
@@ -4806,8 +4761,7 @@ public class Order extends Controller {
             if (close) {
                 qty = isinstock ? row.getBigDecimal("undeliqty") : row.getBigDecimal("undeliqty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
             } else {
-                qty = isinstock ? row.getBigDecimal("undeliqty")
-                        : row.getBigDecimal("qty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
+                qty = isinstock ? row.getBigDecimal("undeliqty") : row.getBigDecimal("qty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
             }
             sqlList.add("update st_invbal_sale set cansaleqty=cansaleqty+" + qty + " where st_invbal_saleid=" + st_invbal_saleid);
         }

+ 1 - 1
src/custom/restcontroller/webmanage/sale/stockbill/stockbill.java

@@ -272,7 +272,7 @@ public class stockbill extends Controller {
         querySQL.setWhere("t1.st_stockbillid", st_stockbillids);
         Rows rows = querySQL.query();
         RowsMap rowsMap = rows.toRowsMap("st_stockbillid");
-        RowsMap periodrowsMap = dbConnect.runSqlQuery("select CONCAT(year, '-',LPAD(month, 2, '0')) period,isclose from st_period").toRowsMap("isclose");
+        RowsMap periodrowsMap = dbConnect.runSqlQuery("select CONCAT(year, '-',LPAD(month, 2, '0')) period,isclose from st_period where CONCAT(year, '-',LPAD(month, 2, '0'))='" + period + "'").toRowsMap("isclose");
 
 //        if(periodrowsMap.get("1").toRowsMap("period").containsKey(period)){
 //            return getErrReturnObject().setErrMsg("原单据会计期间已关闭,不可调整").toString();