Browse Source

Merge remote-tracking branch 'origin/develop_green' into develop

guo 2 years ago
parent
commit
54e2bf2065

+ 1 - 1
src/custom/restcontroller/sale/salestarget/SQL/企业-出货.sql

@@ -10,7 +10,7 @@ SELECT  t1.sa_orderitemsid,t1.siteid,
 FROM st_stockbill_items t1
          inner join st_stockbill t2 on t1.siteid = t2.siteid and t1.st_stockbillid = t2.st_stockbillid
          inner join sa_orderitems t4 on t1.sa_orderitemsid=t4.sa_orderitemsid and t1.siteid = t4.siteid
-WHERE t2.STATUS ='审核' and t2.rb=1 group by t1.sa_orderitemsid,t1.siteid) t5 on t5.sa_orderitemsid=t1.sa_orderitemsid and t5.siteid=t1.siteid
+WHERE t2.STATUS ='审核' and $where1$ and t2.rb=1 group by t1.sa_orderitemsid,t1.siteid) t5 on t5.sa_orderitemsid=t1.sa_orderitemsid and t5.siteid=t1.siteid
 
 WHERE YEAR (t2.createdate)=$year$ and t2.sys_enterpriseid in $sys_enterpriseid$ AND t1.siteid=$siteid$) a
 GROUP BY point,sys_enterpriseid,year

+ 1 - 1
src/custom/restcontroller/sale/salestarget/SQL/企业-开票.sql

@@ -1,7 +1,7 @@
 with sa_salestarget as (
       select point,year,sys_enterpriseid,sum(amount) amount from (SELECT  0+CAST(if(isclose,t1.price*t1.deliedqty,amount) AS CHAR) amount, MONTH(t2.billdate) point,YEAR(t2.billdate) year,t2.sys_enterpriseid FROM sa_orderitems t1
     INNER JOIN sa_order t2 ON t1.sa_orderid=t2.sa_orderid AND t1.siteid=t2.siteid
-WHERE t1.siteid = $siteid$ and t2.sys_enterpriseid in $sys_enterpriseid$ and t2.status in('提交','审核','手工关闭','关闭') and YEAR(t2.billdate)=$year$) a
+WHERE t1.siteid = $siteid$ and t2.sys_enterpriseid in $sys_enterpriseid$ and $where1$ and YEAR(t2.billdate)=$year$) a
 GROUP BY point,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,

+ 1 - 1
src/custom/restcontroller/sale/salestarget/SQL/企业-收款.sql

@@ -1,6 +1,6 @@
 with sa_salestarget as (
    select point,year,sys_enterpriseid,sum(amount) amount from (SELECT 0+CAST(amount AS CHAR) amount, MONTH(billdate) point,YEAR(billdate) year,sys_enterpriseid FROM sa_cashbill
-    WHERE siteid =$siteid$ AND status in('审核') and type=1 and YEAR (billdate)=$year$ and sys_enterpriseid in $sys_enterpriseid$) a
+    WHERE siteid =$siteid$ AND status in('审核') and ($where1$) and type=1 and YEAR (billdate)=$year$ and sys_enterpriseid in $sys_enterpriseid$) a
     GROUP BY point,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,

+ 1 - 1
src/custom/restcontroller/sale/salestarget/SQL/企业-订单.sql

@@ -1,7 +1,7 @@
 with sa_salestarget as (
       select point,year,sys_enterpriseid,sum(amount) amount from (SELECT  0+CAST(if(isclose,t1.price*t1.deliedqty,amount) AS CHAR) amount, MONTH(t2.billdate) point,YEAR(t2.billdate) year,t2.sys_enterpriseid FROM sa_orderitems t1
     INNER JOIN sa_order t2 ON t1.sa_orderid=t2.sa_orderid AND t1.siteid=t2.siteid
-WHERE t1.siteid = $siteid$ and t2.sys_enterpriseid in $sys_enterpriseid$ and t2.status in('提交','审核','手工关闭','关闭') and YEAR(t2.billdate)=$year$ ) a
+WHERE t1.siteid = $siteid$ and t2.sys_enterpriseid in $sys_enterpriseid$ and $where1$ and YEAR(t2.billdate)=$year$ ) a
 GROUP BY point,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,

+ 34 - 3
src/custom/restcontroller/sale/salestarget/enterprise.java

@@ -1,5 +1,6 @@
 package restcontroller.sale.salestarget;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import common.Controller;
 import common.YosException;
@@ -8,6 +9,7 @@ import common.annotation.CACHEING;
 import common.data.Row;
 import common.data.Rows;
 import common.data.SQLFactory;
+import org.apache.commons.lang.StringUtils;
 import restcontroller.R;
 
 import java.math.BigDecimal;
@@ -86,10 +88,13 @@ public class enterprise extends Controller {
 
         //考核指标类型
         String assessmentindicators="";
+        //统计维度
+        String statisticaldimension="";
         if(curryear!=0){
-            Rows rows =dbConnect.runSqlQuery("SELECT assessmentindicators FROM sa_salestargetbill WHERE `year` = " + curryear + " AND targettype ='企业目标' AND siteid = '" + siteid + "'");
+            Rows rows =dbConnect.runSqlQuery("SELECT assessmentindicators,statisticaldimension FROM sa_salestargetbill WHERE `year` = " + curryear + " AND targettype ='企业目标' AND siteid = '" + siteid + "'");
             if(rows.isNotEmpty()){
                 assessmentindicators=rows.get(0).getString("assessmentindicators");
+                statisticaldimension=rows.get(0).getString("statisticaldimension");
             }
         }
 
@@ -104,19 +109,45 @@ public class enterprise extends Controller {
         //开票
         if (assessmentindicators.equals("开票")) {
             sqlFactory = new SQLFactory(this, "企业-开票");
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
         }
         //订单
         if (assessmentindicators.equals("订单")) {
             sqlFactory = new SQLFactory(this, "企业-订单");
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
+
+
         }
         //出货
         if (assessmentindicators.equals("出货")) {
             sqlFactory = new SQLFactory(this, "企业-出货");
+            sqlFactory.addParameter_SQL("where1", "1=1");
         }
-        //出货
+        //收款
         if (assessmentindicators.equals("收款")) {
             sqlFactory = new SQLFactory(this, "企业-收款");
-        }
+            if(StringUtils.isBlank(statisticaldimension)){
+                sqlFactory.addParameter_SQL("where1", "1=1");
+            }else{
+                if(isJSONArray(statisticaldimension)){
+                    JSONArray jsonArrayResult = JSONArray.parseArray(statisticaldimension);
+                    String where1="t1.class in"+jsonArrayResult+" or t1.subclass in"+jsonArrayResult;
+                    where1 = where1.replace("[", "(").replace("]", ")");
+                    sqlFactory.addParameter_SQL("where1", where1);
+                }else{
+                    sqlFactory.addParameter_SQL("where1", "1=1");
+                }
+
+            }
+    }
         sqlFactory.addParameter_in("sys_enterpriseid", rows.toArrayList("sys_enterpriseid",new ArrayList<Long>()));
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("year", curryear);

+ 1 - 0
src/custom/restcontroller/webmanage/sale/salestarget/SQL/人员-目标详情.sql

@@ -4,6 +4,7 @@ SELECT t1.sa_salestargetbillid,
        t1.targettype,
        t1.year,
        t1.assessmentindicators,
+       t1.statisticaldimension,
        t1.`status`,
        t1.changeby,
        t1.changedate,

+ 1 - 1
src/custom/restcontroller/webmanage/sale/salestarget/SQL/人员目标统计-出货.sql

@@ -11,7 +11,7 @@ SELECT  t1.sa_orderitemsid,t1.siteid,
 FROM st_stockbill_items t1
          inner join st_stockbill t2 on t1.siteid = t2.siteid and t1.st_stockbillid = t2.st_stockbillid
          inner join sa_orderitems t4 on t1.sa_orderitemsid=t4.sa_orderitemsid and t1.siteid = t4.siteid
-WHERE t2.STATUS ='审核' and t2.rb=1 group by t1.sa_orderitemsid,t1.siteid) t5 on t5.sa_orderitemsid=t1.sa_orderitemsid and t5.siteid=t1.siteid
+WHERE t2.STATUS ='审核' and t2.rb=1 and $where1$ group by t1.sa_orderitemsid,t1.siteid) t5 on t5.sa_orderitemsid=t1.sa_orderitemsid and t5.siteid=t1.siteid
 
 WHERE YEAR (t2.createdate)=$year$ AND t1.siteid=$siteid$) a
 GROUP BY point,sa_saleareaid,type

+ 1 - 1
src/custom/restcontroller/webmanage/sale/salestarget/SQL/人员目标统计-开票.sql

@@ -5,7 +5,7 @@ FROM sa_orderitems t1
     LEFT JOIN sa_order t2 ON t1.sa_orderid=t2.sa_orderid AND t1.siteid=t2.siteid
 		left join sys_enterprise_tradefield t3 on t2.sys_enterpriseid=t3.sys_enterpriseid and t2.siteid=t3.siteid
 		left join sa_salearea t4 on t4.sa_saleareaid=t3.sa_saleareaid and t4.siteid=t3.siteid
-WHERE YEAR (t2.createdate)=$year$ AND t1.siteid=$siteid$ AND t2.status in('提交','审核','关闭','手工关闭')) a
+WHERE YEAR (t2.createdate)=$year$ AND t1.siteid=$siteid$ AND t2.status in('提交','审核','关闭','手工关闭') and $where1$) a
 GROUP BY  point,sa_saleareaid,type
     )
         , hrtarget as (

+ 1 - 1
src/custom/restcontroller/webmanage/sale/salestarget/SQL/人员目标统计-收款.sql

@@ -4,7 +4,7 @@ with sa_salestarget as
 FROM sa_cashbill t1
 		left join sys_enterprise_tradefield t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid
 		left join sa_salearea t4 on t4.sa_saleareaid=t3.sa_saleareaid and t4.siteid=t3.siteid
-WHERE YEAR (t1.createdate)=$year$ AND t1.siteid=$siteid$ AND t1.status in('审核') and t1.type=1) a
+WHERE YEAR (t1.createdate)=$year$ AND t1.siteid=$siteid$ AND t1.status in('审核') and t1.type=1 and ($where1$)) a
 GROUP BY point,sa_saleareaid,type
     )
         , hrtarget as (

+ 1 - 1
src/custom/restcontroller/webmanage/sale/salestarget/SQL/人员目标统计-订单.sql

@@ -5,7 +5,7 @@ FROM sa_orderitems t1
     LEFT JOIN sa_order t2 ON t1.sa_orderid=t2.sa_orderid AND t1.siteid=t2.siteid
 		left join sys_enterprise_tradefield t3 on t2.sys_enterpriseid=t3.sys_enterpriseid and t2.siteid=t3.siteid
 		left join sa_salearea t4 on t4.sa_saleareaid=t3.sa_saleareaid and t4.siteid=t3.siteid
-WHERE YEAR (t2.createdate)=$year$ AND t1.siteid=$siteid$ AND t2.status in('提交','审核','关闭','手工关闭')) a
+WHERE YEAR (t2.createdate)=$year$ AND t1.siteid=$siteid$ AND $where1$) a
 GROUP BY  point,sa_saleareaid,type
     )
         , hrtarget as (

+ 2 - 2
src/custom/restcontroller/webmanage/sale/salestarget/SQL/创建新年度.sql

@@ -1,4 +1,4 @@
 insert into sa_salestargetbill (siteid, sa_salestargetbillid, createby, createdate, changeuserid, changeby, changedate,
-                                targettype, year, status,sys_enterpriseid,tradefield,assessmentindicators)
+                                targettype, year, status,sys_enterpriseid,tradefield,assessmentindicators,statisticaldimension)
 values ($siteid$, $sa_salestargetbillid$, $username$, CURRENT_TIME, $userid$, $username$, CURRENT_TIME, $targettype$, $year$,
-        '新建',$sys_enterpriseid$,$tradefield$,$assessmentindicators$);
+        '新建',$sys_enterpriseid$,$tradefield$,$assessmentindicators$,$statisticaldimension$);

+ 1 - 0
src/custom/restcontroller/webmanage/sale/salestarget/SQL/年度目标列表.sql

@@ -3,6 +3,7 @@ SELECT t1.sa_salestargetbillid,
        t1.createdate,
        t1.targettype,
        t1.assessmentindicators,
+       t1.statisticaldimension,
        t1.year,
        t1.`status`,
        (SELECT count(*) FROM sa_salestargethr WHERE sa_salestargetbillid = t1.sa_salestargetbillid) peoplecount

+ 20 - 3
src/custom/restcontroller/webmanage/sale/salestarget/enterprisetarget.java

@@ -39,7 +39,7 @@ public class enterprisetarget extends Controller {
         Long sa_salestargetbillid = content.getLong("sa_salestargetbillid");
         JSONArray agentsArray = content.getJSONArray("agents");
         String assessmentindicators=content.getString("assessmentindicators");
-
+        String statisticaldimension=content.getStringValue("statisticaldimension");
         ArrayList<String> sqlList = new ArrayList<>();
         if (sa_salestargetbillid <= 0) {
             //查询创建年度是否存在
@@ -59,6 +59,7 @@ public class enterprisetarget extends Controller {
                 sqlFactory.addParameter("targettype", "企业目标");
                 sqlFactory.addParameter("tradefield", "");
                 sqlFactory.addParameter("assessmentindicators", assessmentindicators);
+                sqlFactory.addParameter("statisticaldimension", statisticaldimension);
 
                 sqlList.add(sqlFactory.getSQL());
             }
@@ -225,10 +226,13 @@ public class enterprisetarget extends Controller {
 
         //考核指标类型
         String assessmentindicators="";
+        //统计维度
+        String statisticaldimension="";
         if(curryear!=0){
-            Rows rows =dbConnect.runSqlQuery("SELECT assessmentindicators FROM sa_salestargetbill WHERE `year` = " + curryear + " AND targettype ='企业目标' AND siteid = '" + siteid + "'");
+            Rows rows =dbConnect.runSqlQuery("SELECT assessmentindicators,statisticaldimension FROM sa_salestargetbill WHERE `year` = " + curryear + " AND targettype ='企业目标' AND siteid = '" + siteid + "'");
             if(rows.isNotEmpty()){
                 assessmentindicators=rows.get(0).getString("assessmentindicators");
+                statisticaldimension=rows.get(0).getString("statisticaldimension");
             }
         }
 
@@ -254,7 +258,20 @@ public class enterprisetarget extends Controller {
 //        }
         //收款
         if (assessmentindicators.equals("收款")) {
-            sqlFactory = new SQLFactory(this, "企业-收款");
+            sqlFactory = new SQLFactory(new enterprise(new JSONObject()), "企业-收款");
+            if(StringUtils.isBlank(statisticaldimension)){
+                sqlFactory.addParameter_SQL("where1", "1=1");
+            }else{
+                if(isJSONArray(statisticaldimension)){
+                    JSONArray jsonArrayResult = JSONArray.parseArray(statisticaldimension);
+                    String where1="t1.class in"+jsonArrayResult+" or t1.subclass in"+jsonArrayResult;
+                    where1 = where1.replace("[", "(").replace("]", ")");
+                    sqlFactory.addParameter_SQL("where1", where1);
+                }else{
+                    sqlFactory.addParameter_SQL("where1", "1=1");
+                }
+
+            }
             sqlFactory.addParameter_in("sys_enterpriseid", rows.toArrayList("sys_enterpriseid",new ArrayList<Long>()));
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", curryear);

+ 2 - 1
src/custom/restcontroller/webmanage/sale/salestarget/personnel.java

@@ -35,6 +35,7 @@ public class personnel extends Controller {
         Long year = content.getLong("year");
         String assessmentindicators=content.getString("assessmentindicators");
         Long sa_salestargetbillid = content.getLong("sa_salestargetbillid");
+        String statisticaldimension=content.getStringValue("statisticaldimension");
         JSONArray salesArray = content.getJSONArray("sales");
 
         ArrayList<String> sqlList = new ArrayList<>();
@@ -52,6 +53,7 @@ public class personnel extends Controller {
             sqlFactory.addParameter("userid", userid);
             sqlFactory.addParameter("year", year);
             sqlFactory.addParameter("assessmentindicators", assessmentindicators);
+            sqlFactory.addParameter("statisticaldimension", statisticaldimension);
             sqlFactory.addParameter("targettype", "人员目标");
             sqlFactory.addParameter("tradefield", "");
             sqlList.add(sqlFactory.getSQL());
@@ -226,7 +228,6 @@ public class personnel extends Controller {
         Long sa_saleareaid = content.getLong("sa_saleareaid");
         if (sa_salestargetbillid == 0) {
             Long year = content.getLongValue("year");
-            Long assessmentindicators = content.getLongValue("assessmentindicators");
             Rows rows = dbConnect.runSqlQuery("SELECT DISTINCT sa_salestargetbillid from sa_salestarget WHERE year = " + year + " and sa_saleareaid=" + sa_saleareaid + " and targettype ='人员目标' and siteid='" + siteid + "'");
             if (rows.isNotEmpty()) {
                 sa_salestargetbillid = rows.get(0).getLong("sa_salestargetbillid");

+ 86 - 3
src/custom/restcontroller/webmanage/sale/salestarget/personnelstatistics.java

@@ -7,6 +7,7 @@ import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING;
 import common.data.*;
+import org.apache.commons.lang.StringUtils;
 import org.apache.poi.xssf.usermodel.*;
 import restcontroller.R;
 import restcontroller.webmanage.saletool.orderclue.ExportExcel;
@@ -113,7 +114,7 @@ public class personnelstatistics extends Controller {
         Calendar cal = Calendar.getInstance();
         int year = cal.get(Calendar.YEAR);
 
-        Rows billRows = dbConnect.runSqlQuery("SELECT sa_salestargetbillid,assessmentindicators FROM sa_salestargetbill WHERE  year="+year+"  AND siteid ='" + siteid + "' and  targettype = '人员目标'");
+        Rows billRows = dbConnect.runSqlQuery("SELECT sa_salestargetbillid,assessmentindicators,statisticaldimension FROM sa_salestargetbill WHERE  year="+year+"  AND siteid ='" + siteid + "' and  targettype = '人员目标'");
 
         SQLFactory hrsqlFactory = new SQLFactory(this, "业务员列表查询");
         hrsqlFactory.addParameter("siteid", siteid);
@@ -126,9 +127,12 @@ public class personnelstatistics extends Controller {
         //考核指标类型
         long sa_salestargetbillid = 0;
         String assessmentindicators="";
+        //统计维度
+        String statisticaldimension="";
         if (billRows.isNotEmpty()) {
             sa_salestargetbillid=billRows.get(0).getLong("sa_salestargetbillid");
             assessmentindicators=billRows.get(0).getString("assessmentindicators");
+            statisticaldimension=billRows.get(0).getString("statisticaldimension");
         }
 
         /*
@@ -196,6 +200,11 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-开票");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -206,6 +215,11 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-订单");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -215,6 +229,8 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-出货");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            sqlFactory.addParameter_SQL("where1", "1=1");
+            sqlFactory.addParameter("statisticaldimension", statisticaldimension);
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -224,6 +240,19 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-收款");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(StringUtils.isBlank(statisticaldimension)){
+                sqlFactory.addParameter_SQL("where1", "1=1");
+            }else{
+                if(isJSONArray(statisticaldimension)){
+                    JSONArray jsonArrayResult = JSONArray.parseArray(statisticaldimension);
+                    String where1="t1.class in"+jsonArrayResult+" or t1.subclass in"+jsonArrayResult;
+                    where1 = where1.replace("[", "(").replace("]", ")");
+                    sqlFactory.addParameter_SQL("where1", where1);
+                }else{
+                    sqlFactory.addParameter_SQL("where1", "1=1");
+                }
+
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -284,7 +313,7 @@ public class personnelstatistics extends Controller {
         Calendar cal = Calendar.getInstance();
         int year = cal.get(Calendar.YEAR);
 
-        Rows billRows = dbConnect.runSqlQuery("SELECT sa_salestargetbillid,assessmentindicators FROM sa_salestargetbill WHERE  year="+year+"  AND siteid ='" + siteid + "' and  targettype = '人员目标'");
+        Rows billRows = dbConnect.runSqlQuery("SELECT sa_salestargetbillid,assessmentindicators,statisticaldimension FROM sa_salestargetbill WHERE  year="+year+"  AND siteid ='" + siteid + "' and  targettype = '人员目标'");
 
         SQLFactory hrsqlFactory = new SQLFactory(this, "业务员列表查询");
         hrsqlFactory.addParameter("siteid", siteid);
@@ -302,9 +331,12 @@ public class personnelstatistics extends Controller {
         //考核指标类型
         long sa_salestargetbillid = 0;
         String assessmentindicators="";
+        //统计维度
+        String statisticaldimension="";
         if (billRows.isNotEmpty()) {
             sa_salestargetbillid=billRows.get(0).getLong("sa_salestargetbillid");
             assessmentindicators=billRows.get(0).getString("assessmentindicators");
+            statisticaldimension=billRows.get(0).getString("statisticaldimension");
         }
 
         /*
@@ -372,6 +404,11 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-开票");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -382,6 +419,11 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-订单");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -391,6 +433,7 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-出货");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            sqlFactory.addParameter_SQL("where1", "1=1");
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -400,6 +443,19 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-收款");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(StringUtils.isBlank(statisticaldimension)){
+                sqlFactory.addParameter_SQL("where1", "1=1");
+            }else{
+                if(isJSONArray(statisticaldimension)){
+                    JSONArray jsonArrayResult = JSONArray.parseArray(statisticaldimension);
+                    String where1="t1.class in"+jsonArrayResult+" or t1.subclass in"+jsonArrayResult;
+                    where1 = where1.replace("[", "(").replace("]", ")");
+                    sqlFactory.addParameter_SQL("where1", where1);
+                }else{
+                    sqlFactory.addParameter_SQL("where1", "1=1");
+                }
+
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -453,13 +509,16 @@ public class personnelstatistics extends Controller {
     public String queryList() throws YosException {
         //年份
         Long sa_salestargetbillid = content.getLong("sa_salestargetbillid");
-        Rows billRows = dbConnect.runSqlQuery("SELECT assessmentindicators,year FROM sa_salestargetbill WHERE sa_salestargetbillid=" + sa_salestargetbillid + "  AND siteid ='" + siteid + "'");
+        Rows billRows = dbConnect.runSqlQuery("SELECT assessmentindicators,year,statisticaldimension FROM sa_salestargetbill WHERE sa_salestargetbillid=" + sa_salestargetbillid + "  AND siteid ='" + siteid + "'");
 
         //考核指标类型
         String assessmentindicators = "";
+        //统计维度
+        String statisticaldimension="";
         long year = 2023;
         if (billRows.isNotEmpty()) {
             assessmentindicators=billRows.get(0).getString("assessmentindicators");
+            statisticaldimension=billRows.get(0).getString("statisticaldimension");
             year=billRows.get(0).getLong("year");
         }
 
@@ -540,6 +599,11 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-开票");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -550,6 +614,11 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-订单");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(statisticaldimension.equals("订单审核")){
+                sqlFactory.addParameter_SQL("where1", "t2.status='审核'");
+            }else{
+                sqlFactory.addParameter_SQL("where1", "t2.status='提交'");
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -559,6 +628,7 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-出货");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            sqlFactory.addParameter_SQL("where1", "1=1");
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);
@@ -568,6 +638,19 @@ public class personnelstatistics extends Controller {
             sqlFactory = new SQLFactory(this, "人员目标统计-收款");
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             sqlFactory.addParameter_SQL("where", where);
+            if(StringUtils.isBlank(statisticaldimension)){
+                sqlFactory.addParameter_SQL("where1", "1=1");
+            }else{
+                if(isJSONArray(statisticaldimension)){
+                    JSONArray jsonArrayResult = JSONArray.parseArray(statisticaldimension);
+                    String where1="t1.class in"+jsonArrayResult+" or t1.subclass in"+jsonArrayResult;
+                    where1 = where1.replace("[", "(").replace("]", ")");
+                    sqlFactory.addParameter_SQL("where1", where1);
+                }else{
+                    sqlFactory.addParameter_SQL("where1", "1=1");
+                }
+
+            }
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("year", year);
             actualRows = dbConnect.runSqlQuery(sqlFactory);