Parcourir la source

cucu业绩目标查询区域优化

hu il y a 6 mois
Parent
commit
1b1260ac5a

+ 1 - 1
src/custom/restcontroller/webmanage/sale/salestarget_cucu/SQL/回款明细.sql

@@ -614,5 +614,5 @@ from sys_enterprise t1
                               t4.amount>= 0) or t6.amount>= 0) t17 on t1.sys_enterpriseid = t17.sys_enterpriseid
 where t1.siteid = $siteid$
   and t1.sys_enterpriseid not in (9116, 9117)
-  and $where$ order by t4.areaname2,t4.areaname3
+  and $where$ and t4.sa_saleareaid in $sa_saleareaids$ order by t4.areaname2,t4.areaname3
 

+ 18 - 0
src/custom/restcontroller/webmanage/sale/salestarget_cucu/performancetargetboard.java

@@ -442,6 +442,23 @@ public class performancetargetboard extends Controller {
 
     @API(title = "回款明细", apiversion = R.ID2025103015304303.v1.class)
     public String querypaymentdetail() throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr","name","hrid");
+        querySQL.setTableAlias("t1");
+        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");
+
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t1.hrid", hrid);
+
+        Rows currentarearows = querySQL.query();
+        Rows arearows=new Rows();
+
+        ArrayList<Long> list = new ArrayList<>();
+
+        for (Row row : currentarearows) {
+            list.add(row.getLong("sa_saleareaid"));
+        }
+        list.addAll(getSubSaleAreaIds(this,list));
         long year= content.getLong("year");
         StringBuffer where = new StringBuffer(" 1=1 ");
         if (content.containsKey("where")) {
@@ -462,6 +479,7 @@ public class performancetargetboard extends Controller {
         SQLFactory sqlFactory = new SQLFactory(this, "回款明细");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("year", year);
+        sqlFactory.addParameter_in("sa_saleareaids", list);
         sqlFactory.addParameter_SQL("where", where);
         Rows rows = dbConnect.runSqlQuery(sqlFactory);
         return getSucReturnObject().setData(rows).toString();