Browse Source

bug修复

eganwu 1 year ago
parent
commit
b9ec7fe339

+ 5 - 0
src/custom/restcontroller/webmanage/saletool/courseware/SQL/查询经销商区域.sql

@@ -0,0 +1,5 @@
+SELECT DISTINCT t1.sys_enterpriseid, t2.areaname
+from sys_enterprise_tradefield t1
+         left join sa_salearea t2 ON t1.sa_saleareaid = t2.sa_saleareaid and t1.siteid = t2.siteid
+
+where  t1.sys_enterpriseid in $sys_enterpriseid$ and t1.siteid=$siteid$

+ 11 - 3
src/custom/restcontroller/webmanage/saletool/courseware/coursewareauth.java

@@ -8,6 +8,7 @@ import common.Controller;
 import common.YosException;
 import common.annotation.API;
 import common.data.*;
+import org.apache.commons.lang.StringUtils;
 import restcontroller.R;
 
 import java.util.ArrayList;
@@ -449,15 +450,22 @@ public class coursewareauth extends Controller {
 
         querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid",
                 "enterprisename");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t5", "t1.sys_enterpriseid = t5.sys_enterpriseid and t1.siteid = t5.siteid");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t6", "t5.sa_saleareaid=t6.sa_saleareaid and t5.siteid=t6.siteid",
-                "areaname");
         querySQL.addJoinTable(JOINTYPE.left, "sat_courseware_auth", "t3", "t1.siteid=t3.siteid and t1.sys_enterpriseid=t3.sys_enterpriseid");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t3.sat_coursewareid",sat_coursewareid);
         querySQL.setTableAlias("t1").setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
 
+        SQLFactory sqlFactory = new SQLFactory(this, "查询经销商区域");
+        sqlFactory.addParameter_in("sys_enterpriseid", rows.toArray("sys_enterpriseid"));
+        sqlFactory.addParameter("siteid", siteid);
+        RowsMap areaRows = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
+
+        for (Row row : rows) {
+            Rows areas = areaRows.getOrDefault(row.getString("sys_enterpriseid"), new Rows());
+            row.put("areaname", StringUtils.join(areas.toArray("areaname"),","));
+        }
+
         return getSucReturnObject().setData(rows).toString();
     }