瀏覽代碼

cucu业绩目标查询区域优化

hu 1 月之前
父節點
當前提交
043690ad77

+ 3 - 3
src/custom/beans/salearea/SQL/下级区域获取.sql

@@ -1,13 +1,13 @@
 with recursive salearea as (
-    select sa_saleareaid,areaname
+    select sa_saleareaid,areaname,level
     from sa_salearea
     where siteid = $siteid$
       and sa_saleareaid = $sa_saleareaid$
     union all
-    select t2.sa_saleareaid,t2.areaname
+    select t2.sa_saleareaid,t2.areaname,t2.level
     from salearea t1
              inner join sa_salearea t2 on t1.sa_saleareaid = t2.parentid and t2.siteid = $siteid$
 )
-select sa_saleareaid,areaname
+select sa_saleareaid,areaname,level
 from salearea
 where sa_saleareaid !=$sa_saleareaid$

+ 3 - 3
src/custom/beans/salearea/SQL/下级区域获取_批量.sql

@@ -1,13 +1,13 @@
 with recursive salearea as (
-    select sa_saleareaid,areaname
+    select sa_saleareaid,areaname,level
     from sa_salearea
     where siteid = $siteid$
       and sa_saleareaid in $sa_saleareaid$
 union all
-select t2.sa_saleareaid,t2.areaname
+select t2.sa_saleareaid,t2.areaname,t2.level
 from salearea t1
          inner join sa_salearea t2 on t1.sa_saleareaid = t2.parentid and t2.siteid = $siteid$
     )
-select sa_saleareaid,areaname
+select sa_saleareaid,areaname,level
 from salearea
 where sa_saleareaid not in $sa_saleareaid$

+ 50 - 12
src/custom/restcontroller/webmanage/sale/salestarget_cucu/performancetargetboard.java

@@ -369,26 +369,64 @@ public class performancetargetboard extends Controller {
 
     @API(title = "大区查询", apiversion = R.ID2025103015481203.v1.class)
     public String queryareaname2() throws YosException {
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_salearea ", "areaname");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr");
         querySQL.setTableAlias("t1");
-        querySQL.setSiteid(siteid);
-        querySQL.setWhere("t1.level=2");
-        querySQL.setPage(pageSize, pageNumber);
-        pageSorting=" t1.sa_saleareaid asc";
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea_hr", "t2", "t1.siteid = t2.siteid and t1.hrid = t2.hrid");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea", "t3", " t3.siteid = t2.siteid and t3.sa_saleareaid = t2.sa_saleareaid", "sa_saleareaid","areaname","level");
+
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t1.hrid", hrid);
+
         Rows rows = querySQL.query();
-        return getSucReturnObject().setData(rows).toString();
+        Rows arearows=new Rows();
+
+        ArrayList<Long> list = new ArrayList<>();
+
+        for (Row row : rows) {
+            list.add(row.getLong("sa_saleareaid"));
+        }
+        arearows =getSubSaleAreas(this,list);
+        rows.addAll(arearows);
+        Rows arearows2 = new Rows();
+        for(Row row :rows){
+            if(row.getLong("level")==2){
+                arearows2.add(row);
+            }
+
+        }
+
+
+        return getSucReturnObject().setData(arearows2).toString();
     }
 
     @API(title = "区域查询", apiversion = R.ID2025103015485403.v1.class)
     public String queryareaname3() throws YosException {
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_salearea ", "areaname");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr");
         querySQL.setTableAlias("t1");
-        querySQL.setSiteid(siteid);
-        querySQL.setWhere("t1.level=3");
-        querySQL.setPage(pageSize, pageNumber);
-        pageSorting=" t1.sa_saleareaid asc";
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea_hr", "t2", "t1.siteid = t2.siteid and t1.hrid = t2.hrid");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea", "t3", " t3.siteid = t2.siteid and t3.sa_saleareaid = t2.sa_saleareaid", "sa_saleareaid","areaname","level");
+
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t1.hrid", hrid);
+
         Rows rows = querySQL.query();
-        return getSucReturnObject().setData(rows).toString();
+        Rows arearows=new Rows();
+
+        ArrayList<Long> list = new ArrayList<>();
+
+        for (Row row : rows) {
+            list.add(row.getLong("sa_saleareaid"));
+        }
+        arearows =getSubSaleAreas(this,list);
+        rows.addAll(arearows);
+        Rows arearows3 = new Rows();
+        for(Row row :rows){
+            if(row.getLong("level")==3){
+                arearows3.add(row);
+            }
+
+        }
+        return getSucReturnObject().setData(arearows3).toString();
     }
 
     @API(title = "省份查询", apiversion = R.ID2025103015494803.v1.class)