Jelajahi Sumber

经销商档案区域字段优化

wu 1 bulan lalu
induk
melakukan
5d7f89caf3

+ 18 - 14
src/custom/restcontroller/webmanage/sale/enterprisesaleclass/EnterpriseSaleClass.java

@@ -190,6 +190,10 @@ public class EnterpriseSaleClass extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "sys_dataextend", "t4", "t1.sys_enterpriseid = t4.ownerid and ownertable = 'sys_enterprise' and t1.siteid = t4.siteid",
                 "erpagentnum");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise_saleclass", "t5", "t1.sys_enterpriseid = t5.sys_enterpriseid ","sys_enterprise_saleclassid");
+
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t6", "t1.siteid = t6.siteid and t1.sys_enterpriseid = t6.sys_enterpriseid");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t7", "t7.sa_saleareaid = t6.sa_saleareaid and t7.siteid = t6.siteid",
+                "areaname");
         querySQL.addQueryFields("status", "case when t1.status='1' then '审核' else '新建' end");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t5.itemclassid", itemclassid);
@@ -200,20 +204,20 @@ public class EnterpriseSaleClass extends Controller {
         ArrayList<Long> ids = rows.toArrayList("sys_enterpriseid", new ArrayList<>());
         ids.add(0l);
 
-        String sql = "select t1.sys_enterpriseid,t2.areaname from sys_enterprise_tradefield t1 inner join sa_salearea t2 on t1.sa_saleareaid=t2.sa_saleareaid and t1.siteid=t2.siteid  where t1.siteid='" + siteid + "' and t1.sys_enterpriseid in" + ids;
-        sql = sql.replace("[", "(").replace("]", ")");
-        Rows enterpriseSaleareaRows = dbConnect.runSqlQuery(sql);
-        RowsMap enterpriseSaleareaRowsMap = enterpriseSaleareaRows.toRowsMap("sys_enterpriseid");
-
-        for (Row row : rows) {
-
-
-            if (enterpriseSaleareaRowsMap.containsKey(row.getString("sys_enterpriseid"))) {
-                row.put("areaname", enterpriseSaleareaRowsMap.get(row.getString("sys_enterpriseid")).get(0).getString("areaname"));
-            } else {
-                row.put("areaname", "");
-            }
-        }
+//        String sql = "select t1.sys_enterpriseid,t2.areaname from sys_enterprise_tradefield t1 inner join sa_salearea t2 on t1.sa_saleareaid=t2.sa_saleareaid and t1.siteid=t2.siteid  where t1.siteid='" + siteid + "' and t1.sys_enterpriseid in" + ids;
+//        sql = sql.replace("[", "(").replace("]", ")");
+//        Rows enterpriseSaleareaRows = dbConnect.runSqlQuery(sql);
+//        RowsMap enterpriseSaleareaRowsMap = enterpriseSaleareaRows.toRowsMap("sys_enterpriseid");
+
+//        for (Row row : rows) {
+//
+//
+//            if (enterpriseSaleareaRowsMap.containsKey(row.getString("sys_enterpriseid"))) {
+//                row.put("areaname", enterpriseSaleareaRowsMap.get(row.getString("sys_enterpriseid")).get(0).getString("areaname"));
+//            } else {
+//                row.put("areaname", "");
+//            }
+//        }
 
 
         return getSucReturnObject().setData(rows).toString();

+ 12 - 9
src/custom/restcontroller/webmanage/sale/salearea/salearea.java

@@ -423,10 +423,10 @@ public class salearea extends Controller {
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter_in("sys_enterpriseid", ids);
         RowsMap rowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
-        String sql ="select t1.sys_enterpriseid,t2.areaname from sys_enterprise_tradefield t1 inner join sa_salearea t2 on t1.sa_saleareaid=t2.sa_saleareaid and t1.siteid=t2.siteid  where t1.siteid='"+siteid+"' and t1.sys_enterpriseid in"+ids;
-        sql = sql.replace("[", "(").replace("]", ")");
-        Rows enterpriseSaleareaRows =dbConnect.runSqlQuery(sql);
-        RowsMap enterpriseSaleareaRowsMap =enterpriseSaleareaRows.toRowsMap("sys_enterpriseid");
+//        String sql ="select t1.sys_enterpriseid,t2.areaname from sys_enterprise_tradefield t1 inner join sa_salearea t2 on t1.sa_saleareaid=t2.sa_saleareaid and t1.siteid=t2.siteid  where t1.siteid='"+siteid+"' and t1.sys_enterpriseid in"+ids;
+//        sql = sql.replace("[", "(").replace("]", ")");
+//        Rows enterpriseSaleareaRows =dbConnect.runSqlQuery(sql);
+//        RowsMap enterpriseSaleareaRowsMap =enterpriseSaleareaRows.toRowsMap("sys_enterpriseid");
 
         for (Row row : rows) {
             Rows tempRows = rowsMap.getOrDefault(row.getString("sys_enterpriseid"), new Rows());
@@ -437,11 +437,11 @@ public class salearea extends Controller {
                 row.put("userid", 0);
                 row.put("accountno", "");
             }
-            if(enterpriseSaleareaRowsMap.containsKey(row.getString("sys_enterpriseid"))){
-                row.put("areaname", enterpriseSaleareaRowsMap.get(row.getString("sys_enterpriseid")).get(0).getString("areaname"));
-            }else{
-                row.put("areaname", "");
-            }
+//            if(enterpriseSaleareaRowsMap.containsKey(row.getString("sys_enterpriseid"))){
+//                row.put("areaname", enterpriseSaleareaRowsMap.get(row.getString("sys_enterpriseid")).get(0).getString("areaname"));
+//            }else{
+//                row.put("areaname", "");
+//            }
         }
 
 
@@ -469,6 +469,9 @@ public class salearea extends Controller {
                 "enterprisename","abbreviation", "phonenumber", "contact", "province", "city", "county", "address", "limitreturnday", "freefreightamount", "invoicingpoint","saleclassauth");
         querySQL.addJoinTable(JOINTYPE.left, "sys_dataextend", "t4", "t1.sys_enterpriseid = t4.ownerid and ownertable = 'sys_enterprise' and t1.siteid = t4.siteid",
                 "erpagentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t5", "t1.siteid = t5.siteid and t1.sys_enterpriseid = t5.sys_enterpriseid");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t6", "t5.sa_saleareaid = t6.sa_saleareaid and t5.siteid = t6.siteid",
+                "areaname");
         querySQL.addQueryFields("status","case when t1.status='1' then '审核' else '新建' end");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere(where);