Просмотр исходного кода

9611 【普瑞】web【营销目标】查询逻辑调整

wu 3 месяцев назад
Родитель
Сommit
8bc98e35ea

+ 19 - 9
src/custom/restcontroller/webmanage/sale/salestarget2/salestargetstatistics.java

@@ -47,7 +47,9 @@ public class salestargetstatistics extends Controller {
         int month = content.getIntValue("month");
         String currentMonth = year + "-" + (month > 9 ? month : "0" + month);
 
-        Rows arearows = dbConnect.runSqlQuery("SELECT t1.* FROM view_areas t1 WHERE t1.siteid='" + siteid + "' ORDER BY t1.parentid,t1.sa_saleareaid");
+        String sql = "SELECT t1.* FROM view_areas t1 WHERE t1.siteid='" + siteid + "' and t1.sa_saleareaid in " + getUserAreas() + "  ORDER BY t1.parentid,t1.sa_saleareaid";
+        sql = sql.replace("[", "(").replace("]", ")");
+        Rows arearows = dbConnect.runSqlQuery(sql);
 
         ArrayList<String> saleareaids = arearows.toArrayList("sa_saleareaid");
         ArrayList<String> alldates = yearToDate(year + "-12");
@@ -119,9 +121,12 @@ public class salestargetstatistics extends Controller {
         int befyear = year - 1;
         Long sa_saleareaid = content.getLongValue("sa_saleareaid");
 
-        Rows arearows = dbConnect.runSqlQuery(" SELECT t1.*,t3.`name`,t3.userid FROM view_areas t1 "
+        String sql=" SELECT t1.*,t3.`name`,t3.userid FROM view_areas t1 "
                 + " INNER JOIN sa_salearea_hr t2 ON t2.sa_saleareaid=t1.sa_saleareaid "
-                + " INNER JOIN sys_hr t3 ON t3.hrid=t2.hrid " + " WHERE t1.siteid='" + siteid + "' AND (t1.parentid=" + sa_saleareaid + " or t1.sa_saleareaid =" + sa_saleareaid + ") ORDER BY t1.parentid,t1.sa_saleareaid");
+                + " INNER JOIN sys_hr t3 ON t3.hrid=t2.hrid " + " WHERE t1.siteid='" + siteid + "' and t1.sa_saleareaid in "+getUserAreas()+" AND (t1.parentid=" + sa_saleareaid + " or t1.sa_saleareaid =" + sa_saleareaid + ") ORDER BY t1.parentid,t1.sa_saleareaid";
+        sql = sql.replace("[", "(").replace("]", ")");
+
+        Rows arearows = dbConnect.runSqlQuery(sql);
 
 
         SQLFactory sqlFactory = new SQLFactory(this, "按人员分组统计订单");
@@ -173,11 +178,14 @@ public class salestargetstatistics extends Controller {
         int befyear = year - 1;
         Long sa_saleareaid = content.getLongValue("sa_saleareaid");
 
-        Rows arearows = dbConnect.runSqlQuery("SELECT t1.*,t3.`enterprisename` hospitalname,t2.sa_customersid,t4.name salernames FROM view_areas t1 "
+        String sql="SELECT t1.*,t3.`enterprisename` hospitalname,t2.sa_customersid,t4.name salernames FROM view_areas t1 "
                 + " INNER JOIN sa_customers t2 ON t2.sa_saleareaid=t1.sa_saleareaid "
                 + " INNER JOIN sys_enterprise t3 ON t3.sys_enterpriseid=t2.sys_enterpriseid "
                 + " LEFT JOIN sys_datateam t4 ON t4.ownertable='sa_customers' and t4.ownerid=t2.sa_customersid and t4.isleader=1 "
-                + " WHERE t1.siteid='" + siteid + "' AND (t1.parentid=" + sa_saleareaid + " or t1.sa_saleareaid =" + sa_saleareaid + ") ORDER BY t1.parentid,t1.sa_saleareaid ");
+                + " WHERE t1.siteid='" + siteid + "' and t1.sa_saleareaid in "+getUserAreas()+" AND (t1.parentid=" + sa_saleareaid + " or t1.sa_saleareaid =" + sa_saleareaid + ") ORDER BY t1.parentid,t1.sa_saleareaid ";
+        sql = sql.replace("[", "(").replace("]", ")");
+
+        Rows arearows = dbConnect.runSqlQuery(sql);
 
 
         SQLFactory sqlFactory = new SQLFactory(this, "按医院分组统计订单");
@@ -229,14 +237,16 @@ public class salestargetstatistics extends Controller {
         int befyear = year - 1;
         Long sa_saleareaid = content.getLongValue("sa_saleareaid");
 
-        Rows arearows = dbConnect.runSqlQuery("SELECT DISTINCT   t1.*,t3.enterprisename,t2.sa_agentsid,GROUP_CONCAT(DISTINCT t5.name) salernames FROM view_areas t1 "
+        String sql="SELECT DISTINCT   t1.*,t3.enterprisename,t2.sa_agentsid,GROUP_CONCAT(DISTINCT t5.name) salernames FROM view_areas t1 "
                 + " INNER JOIN sys_enterprise_tradefield t2 ON t2.sa_saleareaid=t1.sa_saleareaid "
                 + " INNER JOIN sys_enterprise t3 ON t3.sys_enterpriseid=t2.sys_enterpriseid "
                 + " INNER JOIN sa_agents t4 ON t4.sa_agentsid=t2.sa_agentsid "
                 + " LEFT JOIN sys_hr t5 ON t5.hrid=t2.hrid "
-                + " WHERE t1.siteid='" + siteid + "' AND (t1.parentid=" + sa_saleareaid + " or t1.sa_saleareaid =" + sa_saleareaid + ") and t4.status='启用'"
+                + " WHERE t1.siteid='" + siteid + "' and t1.sa_saleareaid in"+getUserAreas()+" AND (t1.parentid=" + sa_saleareaid + " or t1.sa_saleareaid =" + sa_saleareaid + ") and t4.status='启用'"
                 + " GROUP BY t1.sa_saleareaid,t1.parentid,t1.parentareaname,t1.areaname,t1.siteid,t3.enterprisename,t2.sa_agentsid "
-                + " ORDER BY t1.parentid,t1.sa_saleareaid ");
+                + " ORDER BY t1.parentid,t1.sa_saleareaid ";
+        sql=sql.replace("[", "(").replace("]", ")");
+        Rows arearows = dbConnect.runSqlQuery(sql);
 
 
         SQLFactory sqlFactory = new SQLFactory(this, "按经销商分组统计订单");
@@ -1215,7 +1225,7 @@ public class salestargetstatistics extends Controller {
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_salearea", "*").setTableAlias("t1");
         querySQL.setSiteid(siteid);
-        querySQL.setWhere("t1.sa_saleareaid",getUserAreas());
+        querySQL.setWhere("t1.sa_saleareaid", getUserAreas());
         Rows rows = querySQL.query();
         return getSucReturnObject().setData(rows).toString();
     }