Browse Source

企业业绩目标优化

hu 8 tháng trước cách đây
mục cha
commit
655e9e4dc6

+ 11 - 55
src/custom/restcontroller/sale/salestarget/SQL/企业-业绩目标完成列表-业务员.sql

@@ -5,7 +5,7 @@ WHERE sys_enterpriseid in (SELECT sys_enterpriseid from sys_enterprise_tradefiel
     WHERE sa_saleareaid in (SELECT sa_saleareaid from sa_salearea_hr
     WHERE hrid = $hrid$
   and siteid = $siteid$))
-  and type = ''
+  and type = ''
   and targettype='企业目标'
   and siteid=$siteid$
   and $where$
@@ -15,44 +15,16 @@ SELECT DISTINCT m.year,
                 m.tradefield,
                 m.sys_enterpriseid,
                 t2.enterprisename,
-                m1.target_l + m2.target_l + m3.target_l + m4.target_l + m5.target_l + m6.target_l +
-                m7.target_l + m8.target_l + m9.target_l + m10.target_l + m11.target_l +
-                m12.target_l                               y1l,
-                m1.target_h + m2.target_h + m3.target_h + m4.target_h + m5.target_h + m6.target_h +
-                m7.target_h + m8.target_h + m9.target_h + m10.target_h + m11.target_h +
-                m12.target_h                               y1h,
-                m1.target_l + m2.target_l + m3.target_l    s1l,
-                m1.target_h + m2.target_h + m3.target_h    s1h,
-                m4.target_l + m5.target_l + m6.target_l    s2l,
-                m4.target_h + m5.target_h + m6.target_h    s2h,
-                m7.target_l + m8.target_l + m9.target_l    s3l,
-                m7.target_h + m8.target_h + m9.target_h    s3h,
-                m10.target_l + m11.target_l + m12.target_l s4l,
-                m10.target_h + m11.target_h + m12.target_h s4h,
-                m1.target_l                                m1l,
-                m1.target_h                                m1h,
-                m2.target_l                                m2l,
-                m2.target_h                                m2h,
-                m3.target_l                                m3l,
-                m3.target_h                                m3h,
-                m4.target_l                                m4l,
-                m4.target_h                                m4h,
-                m5.target_l                                m5l,
-                m5.target_h                                m5h,
-                m6.target_l                                m6l,
-                m6.target_h                                m6h,
-                m7.target_l                                m7l,
-                m7.target_h                                m7h,
-                m8.target_l                                m8l,
-                m8.target_h                                m8h,
-                m9.target_l                                m9l,
-                m9.target_h                                m9h,
-                m10.target_l                               m10l,
-                m10.target_h                               m10h,
-                m11.target_l                               m11l,
-                m11.target_h                               m11h,
-                m12.target_l                               m12l,
-                m12.target_h                               m12h
+                m1.target_l + m2.target_l + m3.target_l + m4.target_l  y1l,
+                m1.target_h + m2.target_h + m3.target_h + m4.target_h y1h,
+                m1.target_l s1l,
+                m1.target_h s1h,
+                m2.target_l s2l,
+                m2.target_h s2h,
+                m3.target_l s3l,
+                m3.target_h s3h,
+                m4.target_l s4l,
+                m4.target_h s4h
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.tradefield = m1.tradefield and
                                         m.sys_enterpriseid = m1.sys_enterpriseid
@@ -62,21 +34,5 @@ from sa_salestarget m
                                         m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.tradefield = m4.tradefield and
                                         m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.tradefield = m5.tradefield and
-                                        m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.tradefield = m6.tradefield and
-                                        m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.tradefield = m7.tradefield and
-                                        m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.tradefield = m8.tradefield and
-                                        m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.tradefield = m9.tradefield and
-                                        m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.tradefield = m10.tradefield and
-                                         m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.tradefield = m11.tradefield and
-                                         m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.tradefield = m12.tradefield and
-                                         m.sys_enterpriseid = m12.sys_enterpriseid
          LEFT JOIN sys_enterprise t2 ON m.sys_enterpriseid = t2.sys_enterpriseid
 ORDER BY sys_enterpriseid, m.year desc

+ 12 - 54
src/custom/restcontroller/sale/salestarget/SQL/企业-业绩目标完成列表.sql

@@ -1,6 +1,6 @@
 with sa_salestarget as (
     SELECT point, sum(target_l) target_l, sum(target_h) target_h, year,sys_enterpriseid from sa_salestarget
-    WHERE  type = '' and targettype='企业目标' and siteid=$siteid$ and $where$
+    WHERE  type = '' and targettype='企业目标' and siteid=$siteid$ and $where$
     GROUP  BY point ,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,
@@ -8,65 +8,23 @@ SELECT DISTINCT m.year,
                 t2.agentnum,
                 t1.enterprisename,
                 t4.areaname,
-                m1.target_l + m2.target_l + m3.target_l + m4.target_l + m5.target_l + m6.target_l +
-                m7.target_l + m8.target_l + m9.target_l + m10.target_l + m11.target_l +
-                m12.target_l                               y1l,
-                m1.target_h + m2.target_h + m3.target_h + m4.target_h + m5.target_h + m6.target_h +
-                m7.target_h + m8.target_h + m9.target_h + m10.target_h + m11.target_h +
-                m12.target_h                               y1h,
-                m1.target_l + m2.target_l + m3.target_l    s1l,
-                m1.target_h + m2.target_h + m3.target_h    s1h,
-                m4.target_l + m5.target_l + m6.target_l    s2l,
-                m4.target_h + m5.target_h + m6.target_h    s2h,
-                m7.target_l + m8.target_l + m9.target_l    s3l,
-                m7.target_h + m8.target_h + m9.target_h    s3h,
-                m10.target_l + m11.target_l + m12.target_l s4l,
-                m10.target_h + m11.target_h + m12.target_h s4h,
-                m1.target_l                                m1l,
-                m1.target_h                                m1h,
-                m2.target_l                                m2l,
-                m2.target_h                                m2h,
-                m3.target_l                                m3l,
-                m3.target_h                                m3h,
-                m4.target_l                                m4l,
-                m4.target_h                                m4h,
-                m5.target_l                                m5l,
-                m5.target_h                                m5h,
-                m6.target_l                                m6l,
-                m6.target_h                                m6h,
-                m7.target_l                                m7l,
-                m7.target_h                                m7h,
-                m8.target_l                                m8l,
-                m8.target_h                                m8h,
-                m9.target_l                                m9l,
-                m9.target_h                                m9h,
-                m10.target_l                               m10l,
-                m10.target_h                               m10h,
-                m11.target_l                               m11l,
-                m11.target_h                               m11h,
-                m12.target_l                               m12l,
-                m12.target_h                               m12h,
-                ROUND(ifnull(t5.sumamount_year,0)/10000,2) sumamount_year,
-                ROUND(ifnull(t6.sumamount_currentmonth,0)/10000,2) sumamount_currentmonth
+                m1.target_l + m2.target_l + m3.target_l + m4.target_l  y1l,
+                m1.target_h + m2.target_h + m3.target_h + m4.target_h y1h,
+                m1.target_l s1l,
+                m1.target_h s1h,
+                m2.target_l s2l,
+                m2.target_h s2h,
+                m3.target_l s3l,
+                m3.target_h s3h,
+                m4.target_l s4l,
+                m4.target_h s4h
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.sys_enterpriseid = m1.sys_enterpriseid
          LEFT JOIN sa_salestarget m2 ON m2.year = m.year and m2.point = 2 and m.sys_enterpriseid = m2.sys_enterpriseid
          LEFT JOIN sa_salestarget m3 ON m3.year = m.year and m3.point = 3 and m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.sys_enterpriseid = m12.sys_enterpriseid
          LEFT JOIN sys_enterprise t1 on t1.sys_enterpriseid=m.sys_enterpriseid
          LEFT JOIN sa_agents t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid
          LEFT JOIN sys_enterprise_tradefield t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid
          LEFT JOIN sa_salearea t4 on t3.sa_saleareaid=t4.sa_saleareaid and t3.siteid=t4.siteid
-         left join (select * from(select  sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y') date,sum(amount) sumamount_year from sa_cashbill where type=1 group by sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y')) t
-                    where  DATE_FORMAT(NOW(), '%Y')=date) t5 on t1.sys_enterpriseid=t5.sys_enterpriseid and t1.siteid=t5.siteid
-         left join (select * from(select  sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y-%m') date,sum(amount) sumamount_currentmonth from sa_cashbill where type=1 group by sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y-%m')) t
-                    where  DATE_FORMAT(NOW(), '%Y-%m')=date) t6 on t1.sys_enterpriseid=t6.sys_enterpriseid and t1.siteid=t6.siteid
-ORDER BY m.year desc,ROUND(ifnull(t6.sumamount_currentmonth,0)/10000,2) desc
+ORDER BY m.year desc

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

@@ -1,44 +1,21 @@
 with sa_salestarget as (
-    select 0+CAST(sum(amount) AS CHAR) amount,point,sys_enterpriseid,year from(SELECT  (t5.qty*t1.price) amount, MONTH (t6.checkdate) point,ifnull(t2.sys_enterpriseid,0) sys_enterpriseid,YEAR(t6.checkdate) year
+    select 0+CAST(sum(amount) AS CHAR) amount,point,sys_enterpriseid,year from(SELECT  (t5.qty*t1.price) amount, QUARTER(t6.checkdate) point,ifnull(t6.sys_enterpriseid,0) sys_enterpriseid,YEAR(t6.checkdate) year
 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
         inner join st_stockbill_items t5 ON t5.sa_orderitemsid = t1.sa_orderitemsid AND t5.siteid = t1.siteid
         inner join st_stockbill t6 ON t6.st_stockbillid = t5.st_stockbillid AND t6.siteid = t5.siteid
-WHERE YEAR (t6.checkdate)=$year$ and t2.sys_enterpriseid in $sys_enterpriseid$ AND t1.siteid=$siteid$ and t6.rb=1) a
+WHERE YEAR (t6.checkdate)=$year$ and t2.sys_enterpriseid in $sys_enterpriseid$ AND t1.siteid=$siteid$ and t6.type='销售出库' and t6.rb=1) a
 GROUP BY point,sys_enterpriseid,year
     )
 SELECT DISTINCT m.year,
                 m.sys_enterpriseid,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0)+ ifnull(m5.amount,0)+  ifnull(m6.amount,0)+ ifnull(m7.amount,0)+ ifnull(m8.amount,0)+  ifnull(m9.amount,0) + ifnull(m10.amount,0)+ ifnull(m11.amount,0)+  ifnull(m12.amount,0))/10000,$num$)  as y1a,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0))/10000,$num$)  as s1a,
-                ROUND((ifnull(m4.amount,0)+ ifnull(m5.amount,0)+ifnull(m6.amount,0))/10000,$num$)  as s2a,
-                ROUND((ifnull(m7.amount,0)+ ifnull(m8.amount,0)+ifnull(m9.amount,0))/10000,$num$)  as s3a,
-                ROUND((ifnull(m10.amount,0)+ ifnull(m11.amount,0)+ifnull(m12.amount,0))/10000,$num$) as s4a,
-                ROUND(ifnull(m1.amount,0)/10000,$num$) as m1a,
-                ROUND(ifnull(m2.amount,0)/10000,$num$) as m2a,
-                ROUND(ifnull(m3.amount,0)/10000,$num$) as m3a,
-                ROUND(ifnull(m4.amount,0)/10000,$num$)as m4a,
-                ROUND(ifnull(m5.amount,0)/10000,$num$) as m5a,
-                ROUND(ifnull(m6.amount,0)/10000,$num$) as m6a,
-                ROUND(ifnull(m7.amount,0)/10000,$num$) as m7a,
-                ROUND(ifnull(m8.amount,0)/10000,$num$) as m8a,
-                ROUND(ifnull(m9.amount,0)/10000,$num$) as m9a,
-                ROUND(ifnull(m10.amount,0)/10000,$num$) as m10a,
-                ROUND(ifnull(m11.amount,0)/10000,$num$) as m11a,
-                ROUND(ifnull(m12.amount,0)/10000,$num$) as m12a
+                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0))/10000,$num$)  as y1a,
+                ROUND((ifnull(m1.amount,0))/10000,$num$)  as s1a,
+                ROUND((ifnull(m2.amount,0))/10000,$num$)  as s2a,
+                ROUND((ifnull(m3.amount,0))/10000,$num$)  as s3a,
+                ROUND((ifnull(m4.amount,0))/10000,$num$) as s4a
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.sys_enterpriseid = m1.sys_enterpriseid
          LEFT JOIN sa_salestarget m2 ON m2.year = m.year and m2.point = 2 and m.sys_enterpriseid = m2.sys_enterpriseid
          LEFT JOIN sa_salestarget m3 ON m3.year = m.year and m3.point = 3 and m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.sys_enterpriseid = m12.sys_enterpriseid
 ORDER BY m.year desc

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

@@ -1,39 +1,19 @@
 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
+      select point,year,sys_enterpriseid,sum(amount) amount from (SELECT  0+CAST(if(isclose,t1.price*t1.deliedqty,amount) AS CHAR) amount, QUARTER(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 $where1$ and YEAR(t2.billdate)=$year$) a
 GROUP BY point,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,
                 m.sys_enterpriseid,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0)+ ifnull(m5.amount,0)+  ifnull(m6.amount,0)+ ifnull(m7.amount,0)+ ifnull(m8.amount,0)+  ifnull(m9.amount,0) + ifnull(m10.amount,0)+ ifnull(m11.amount,0)+  ifnull(m12.amount,0))/10000,$num$)  as y1a,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0))/10000,$num$)  as s1a,
-                ROUND((ifnull(m4.amount,0)+ ifnull(m5.amount,0)+ifnull(m6.amount,0))/10000,$num$)  as s2a,
-                ROUND((ifnull(m7.amount,0)+ ifnull(m8.amount,0)+ifnull(m9.amount,0))/10000,$num$)  as s3a,
-                ROUND((ifnull(m10.amount,0)+ ifnull(m11.amount,0)+ifnull(m12.amount,0))/10000,$num$) as s4a,
-                ROUND(ifnull(m1.amount,0)/10000,$num$) as m1a,
-                ROUND(ifnull(m2.amount,0)/10000,$num$) as m2a,
-                ROUND(ifnull(m3.amount,0)/10000,$num$) as m3a,
-                ROUND(ifnull(m4.amount,0)/10000,$num$)as m4a,
-                ROUND(ifnull(m5.amount,0)/10000,$num$) as m5a,
-                ROUND(ifnull(m6.amount,0)/10000,$num$) as m6a,
-                ROUND(ifnull(m7.amount,0)/10000,$num$) as m7a,
-                ROUND(ifnull(m8.amount,0)/10000,$num$) as m8a,
-                ROUND(ifnull(m9.amount,0)/10000,$num$) as m9a,
-                ROUND(ifnull(m10.amount,0)/10000,$num$) as m10a,
-                ROUND(ifnull(m11.amount,0)/10000,$num$) as m11a,
-                ROUND(ifnull(m12.amount,0)/10000,$num$) as m12a
+                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0))/10000,$num$)  as y1a,
+                ROUND((ifnull(m1.amount,0))/10000,$num$)  as s1a,
+                ROUND((ifnull(m2.amount,0))/10000,$num$)  as s2a,
+                ROUND((ifnull(m3.amount,0))/10000,$num$)  as s3a,
+                ROUND((ifnull(m4.amount,0))/10000,$num$) as s4a
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.sys_enterpriseid = m1.sys_enterpriseid
          LEFT JOIN sa_salestarget m2 ON m2.year = m.year and m2.point = 2 and m.sys_enterpriseid = m2.sys_enterpriseid
          LEFT JOIN sa_salestarget m3 ON m3.year = m.year and m3.point = 3 and m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.sys_enterpriseid = m12.sys_enterpriseid
 ORDER BY m.year desc

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

@@ -1,38 +1,18 @@
 with sa_salestarget as (
-   select point,year,sys_enterpriseid,sum(amount) amount from (SELECT 0+CAST(amount AS CHAR) amount, MONTH(period) point,YEAR(period) year,sys_enterpriseid FROM sa_cashbill
+   select point,year,sys_enterpriseid,sum(amount) amount from (SELECT 0+CAST(amount AS CHAR) amount, QUARTER(period) point,YEAR(period) year,sys_enterpriseid FROM sa_cashbill
     WHERE siteid =$siteid$ AND status in('审核') and ($where1$) and type=1 and YEAR (period)=$year$ and sys_enterpriseid in $sys_enterpriseid$) a
     GROUP BY point,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,
                 m.sys_enterpriseid,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0)+ ifnull(m5.amount,0)+  ifnull(m6.amount,0)+ ifnull(m7.amount,0)+ ifnull(m8.amount,0)+  ifnull(m9.amount,0) + ifnull(m10.amount,0)+ ifnull(m11.amount,0)+  ifnull(m12.amount,0))/10000,$num$)  as y1a,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0))/10000,$num$)  as s1a,
-                ROUND((ifnull(m4.amount,0)+ ifnull(m5.amount,0)+ifnull(m6.amount,0))/10000,$num$)  as s2a,
-                ROUND((ifnull(m7.amount,0)+ ifnull(m8.amount,0)+ifnull(m9.amount,0))/10000,$num$)  as s3a,
-                ROUND((ifnull(m10.amount,0)+ ifnull(m11.amount,0)+ifnull(m12.amount,0))/10000,$num$) as s4a,
-                ROUND(ifnull(m1.amount,0)/10000,$num$) as m1a,
-                ROUND(ifnull(m2.amount,0)/10000,$num$) as m2a,
-                ROUND(ifnull(m3.amount,0)/10000,$num$) as m3a,
-                ROUND(ifnull(m4.amount,0)/10000,$num$)as m4a,
-                ROUND(ifnull(m5.amount,0)/10000,$num$) as m5a,
-                ROUND(ifnull(m6.amount,0)/10000,$num$) as m6a,
-                ROUND(ifnull(m7.amount,0)/10000,$num$) as m7a,
-                ROUND(ifnull(m8.amount,0)/10000,$num$) as m8a,
-                ROUND(ifnull(m9.amount,0)/10000,$num$) as m9a,
-                ROUND(ifnull(m10.amount,0)/10000,$num$) as m10a,
-                ROUND(ifnull(m11.amount,0)/10000,$num$) as m11a,
-                ROUND(ifnull(m12.amount,0)/10000,$num$) as m12a
+                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0))/10000,$num$)  as y1a,
+                ROUND((ifnull(m1.amount,0))/10000,$num$)  as s1a,
+                ROUND((ifnull(m2.amount,0))/10000,$num$)  as s2a,
+                ROUND((ifnull(m3.amount,0))/10000,$num$)  as s3a,
+                ROUND((ifnull(m4.amount,0))/10000,$num$) as s4a
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.sys_enterpriseid = m1.sys_enterpriseid
          LEFT JOIN sa_salestarget m2 ON m2.year = m.year and m2.point = 2 and m.sys_enterpriseid = m2.sys_enterpriseid
          LEFT JOIN sa_salestarget m3 ON m3.year = m.year and m3.point = 3 and m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.sys_enterpriseid = m12.sys_enterpriseid
 ORDER BY m.year desc

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

@@ -1,39 +1,19 @@
 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
+      select point,year,sys_enterpriseid,sum(amount) amount from (SELECT  0+CAST(if(isclose,t1.price*t1.deliedqty,amount) AS CHAR) amount, QUARTER(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 $where1$ and YEAR(t2.billdate)=$year$ ) a
 GROUP BY point,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,
                 m.sys_enterpriseid,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0)+ ifnull(m5.amount,0)+  ifnull(m6.amount,0)+ ifnull(m7.amount,0)+ ifnull(m8.amount,0)+  ifnull(m9.amount,0) + ifnull(m10.amount,0)+ ifnull(m11.amount,0)+  ifnull(m12.amount,0))/10000,$num$)  as y1a,
-                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0))/10000,$num$)  as s1a,
-                ROUND((ifnull(m4.amount,0)+ ifnull(m5.amount,0)+ifnull(m6.amount,0))/10000,$num$)  as s2a,
-                ROUND((ifnull(m7.amount,0)+ ifnull(m8.amount,0)+ifnull(m9.amount,0))/10000,$num$)  as s3a,
-                ROUND((ifnull(m10.amount,0)+ ifnull(m11.amount,0)+ifnull(m12.amount,0))/10000,$num$) as s4a,
-                ROUND(ifnull(m1.amount,0)/10000,$num$) as m1a,
-                ROUND(ifnull(m2.amount,0)/10000,$num$) as m2a,
-                ROUND(ifnull(m3.amount,0)/10000,$num$) as m3a,
-                ROUND(ifnull(m4.amount,0)/10000,$num$)as m4a,
-                ROUND(ifnull(m5.amount,0)/10000,$num$) as m5a,
-                ROUND(ifnull(m6.amount,0)/10000,$num$) as m6a,
-                ROUND(ifnull(m7.amount,0)/10000,$num$) as m7a,
-                ROUND(ifnull(m8.amount,0)/10000,$num$) as m8a,
-                ROUND(ifnull(m9.amount,0)/10000,$num$) as m9a,
-                ROUND(ifnull(m10.amount,0)/10000,$num$) as m10a,
-                ROUND(ifnull(m11.amount,0)/10000,$num$) as m11a,
-                ROUND(ifnull(m12.amount,0)/10000,$num$) as m12a
+                ROUND((ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0)+ ifnull(m4.amount,0))/10000,$num$)  as y1a,
+                ROUND((ifnull(m1.amount,0))/10000,$num$)  as s1a,
+                ROUND((ifnull(m2.amount,0))/10000,$num$)  as s2a,
+                ROUND((ifnull(m3.amount,0))/10000,$num$)  as s3a,
+                ROUND((ifnull(m4.amount,0))/10000,$num$) as s4a
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.sys_enterpriseid = m1.sys_enterpriseid
          LEFT JOIN sa_salestarget m2 ON m2.year = m.year and m2.point = 2 and m.sys_enterpriseid = m2.sys_enterpriseid
          LEFT JOIN sa_salestarget m3 ON m3.year = m.year and m3.point = 3 and m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.sys_enterpriseid = m12.sys_enterpriseid
 ORDER BY m.year desc

+ 29 - 29
src/custom/restcontroller/sale/salestarget/enterprise.java

@@ -254,18 +254,18 @@ public class enterprise extends Controller {
             }
             row.putAll(actualRow);
             row.putAll(calculate(row, actualRow));
-            Rows monthRows = new Rows();
-            for (int i = 1; i < 13; i++) {
-                Row monthRow = new Row();
-                monthRow.put("l", row.getString("m" + i + "l"));
-                monthRow.put("h", row.getString("m" + i + "h"));
-                monthRow.put("a", row.getString("m" + i + "a"));
-                monthRow.put("pl", row.getString("m" + i + "pl"));
-                monthRow.put("ph", row.getString("m" + i + "ph"));
-                monthRow.put("month", i);
-                monthRows.add(monthRow);
-            }
-            row.put("month", monthRows);
+//            Rows monthRows = new Rows();
+//            for (int i = 1; i < 13; i++) {
+//                Row monthRow = new Row();
+//                monthRow.put("l", row.getString("m" + i + "l"));
+//                monthRow.put("h", row.getString("m" + i + "h"));
+//                monthRow.put("a", row.getString("m" + i + "a"));
+//                monthRow.put("pl", row.getString("m" + i + "pl"));
+//                monthRow.put("ph", row.getString("m" + i + "ph"));
+//                monthRow.put("month", i);
+//                monthRows.add(monthRow);
+//            }
+//            row.put("month", monthRows);
         }
 
         return getSucReturnObject().setData(rows).toString();
@@ -416,23 +416,23 @@ public class enterprise extends Controller {
                 row.put(key_p_h, getPercent(actualRow.getDouble(key_a), targetRow.getDouble(key_h)));
             }
         }
-        for (int i = 1; i < 13; i++) {
-            key_l = "m" + i + "l";
-            key_h = "m" + i + "h";
-            key_a = "m" + i + "a";
-            key_p_l = "m" + i + "pl";
-            key_p_h = "m" + i + "ph";
-            if (targetRow.getDouble(key_l) == 0) {
-                row.put(key_p_l, 0);
-            } else {
-                row.put(key_p_l, getPercent(actualRow.getDouble(key_a), targetRow.getDouble(key_l)));
-            }
-            if (targetRow.getDouble(key_h) == 0) {
-                row.put(key_p_h, 0);
-            } else {
-                row.put(key_p_h, getPercent(actualRow.getDouble(key_a), targetRow.getDouble(key_h)));
-            }
-        }
+//        for (int i = 1; i < 13; i++) {
+//            key_l = "m" + i + "l";
+//            key_h = "m" + i + "h";
+//            key_a = "m" + i + "a";
+//            key_p_l = "m" + i + "pl";
+//            key_p_h = "m" + i + "ph";
+//            if (targetRow.getDouble(key_l) == 0) {
+//                row.put(key_p_l, 0);
+//            } else {
+//                row.put(key_p_l, getPercent(actualRow.getDouble(key_a), targetRow.getDouble(key_l)));
+//            }
+//            if (targetRow.getDouble(key_h) == 0) {
+//                row.put(key_p_h, 0);
+//            } else {
+//                row.put(key_p_h, getPercent(actualRow.getDouble(key_a), targetRow.getDouble(key_h)));
+//            }
+//        }
 
         return row;
     }

+ 14 - 54
src/custom/restcontroller/webmanage/sale/salestarget/SQL/企业-业绩目标完成列表.sql

@@ -1,70 +1,30 @@
 with sa_salestarget as (
     SELECT point, sum(target_l) target_l, sum(target_h) target_h, year,sys_enterpriseid from sa_salestarget
-    WHERE  type = '' and targettype='企业目标' and siteid=$siteid$ and $where$
+    WHERE  type = '' and targettype='企业目标' and siteid=$siteid$ and $where$
     GROUP  BY point ,year,sys_enterpriseid
     )
 SELECT DISTINCT m.year,
                 m.sys_enterpriseid,
                 t2.agentnum,
                 t1.enterprisename,
-                m1.target_l + m2.target_l + m3.target_l + m4.target_l + m5.target_l + m6.target_l +
-                m7.target_l + m8.target_l + m9.target_l + m10.target_l + m11.target_l +
-                m12.target_l                               y1l,
-                m1.target_h + m2.target_h + m3.target_h + m4.target_h + m5.target_h + m6.target_h +
-                m7.target_h + m8.target_h + m9.target_h + m10.target_h + m11.target_h +
-                m12.target_h                               y1h,
-                m1.target_l + m2.target_l + m3.target_l    s1l,
-                m1.target_h + m2.target_h + m3.target_h    s1h,
-                m4.target_l + m5.target_l + m6.target_l    s2l,
-                m4.target_h + m5.target_h + m6.target_h    s2h,
-                m7.target_l + m8.target_l + m9.target_l    s3l,
-                m7.target_h + m8.target_h + m9.target_h    s3h,
-                m10.target_l + m11.target_l + m12.target_l s4l,
-                m10.target_h + m11.target_h + m12.target_h s4h,
-                m1.target_l                                m1l,
-                m1.target_h                                m1h,
-                m2.target_l                                m2l,
-                m2.target_h                                m2h,
-                m3.target_l                                m3l,
-                m3.target_h                                m3h,
-                m4.target_l                                m4l,
-                m4.target_h                                m4h,
-                m5.target_l                                m5l,
-                m5.target_h                                m5h,
-                m6.target_l                                m6l,
-                m6.target_h                                m6h,
-                m7.target_l                                m7l,
-                m7.target_h                                m7h,
-                m8.target_l                                m8l,
-                m8.target_h                                m8h,
-                m9.target_l                                m9l,
-                m9.target_h                                m9h,
-                m10.target_l                               m10l,
-                m10.target_h                               m10h,
-                m11.target_l                               m11l,
-                m11.target_h                               m11h,
-                m12.target_l                               m12l,
-                m12.target_h                               m12h,
-							  ROUND(ifnull(t3.sumamount_year,0)/10000,2) sumamount_year,
-								ROUND(ifnull(t4.sumamount_currentmonth,0)/10000,2) sumamount_currentmonth
+                m1.target_l + m2.target_l + m3.target_l + m4.target_l  y1l,
+                m1.target_h + m2.target_h + m3.target_h + m4.target_h y1h,
+                m1.target_l s1l,
+                m1.target_h s1h,
+                m2.target_l s2l,
+                m2.target_h s2h,
+                m3.target_l s3l,
+                m3.target_h s3h,
+                m4.target_l s4l,
+                m4.target_h s4h
 from sa_salestarget m
          LEFT JOIN sa_salestarget m1 ON m1.year = m.year and m1.point = 1 and m.sys_enterpriseid = m1.sys_enterpriseid
          LEFT JOIN sa_salestarget m2 ON m2.year = m.year and m2.point = 2 and m.sys_enterpriseid = m2.sys_enterpriseid
          LEFT JOIN sa_salestarget m3 ON m3.year = m.year and m3.point = 3 and m.sys_enterpriseid = m3.sys_enterpriseid
          LEFT JOIN sa_salestarget m4 ON m4.year = m.year and m4.point = 4 and m.sys_enterpriseid = m4.sys_enterpriseid
-         LEFT JOIN sa_salestarget m5 ON m5.year = m.year and m5.point = 5 and m.sys_enterpriseid = m5.sys_enterpriseid
-         LEFT JOIN sa_salestarget m6 ON m6.year = m.year and m6.point = 6 and m.sys_enterpriseid = m6.sys_enterpriseid
-         LEFT JOIN sa_salestarget m7 ON m7.year = m.year and m7.point = 7 and m.sys_enterpriseid = m7.sys_enterpriseid
-         LEFT JOIN sa_salestarget m8 ON m8.year = m.year and m8.point = 8 and m.sys_enterpriseid = m8.sys_enterpriseid
-         LEFT JOIN sa_salestarget m9 ON m9.year = m.year and m9.point = 9 and m.sys_enterpriseid = m9.sys_enterpriseid
-         LEFT JOIN sa_salestarget m10 ON m10.year = m.year and m10.point = 10 and m.sys_enterpriseid = m10.sys_enterpriseid
-         LEFT JOIN sa_salestarget m11 ON m11.year = m.year and m11.point = 11 and m.sys_enterpriseid = m11.sys_enterpriseid
-         LEFT JOIN sa_salestarget m12 ON m12.year = m.year and m12.point = 12 and m.sys_enterpriseid = m12.sys_enterpriseid
          LEFT JOIN sys_enterprise t1 on t1.sys_enterpriseid=m.sys_enterpriseid
          LEFT JOIN sa_agents t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid
-				 left join (select * from(select  sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y') date,sum(amount) sumamount_year from sa_cashbill where type=1 group by sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y')) t
-           where  DATE_FORMAT(NOW(), '%Y')=date) t3 on t1.sys_enterpriseid=t3.sys_enterpriseid and t1.siteid=t3.siteid
-        left join (select * from(select  sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y-%m') date,sum(amount) sumamount_currentmonth from sa_cashbill where type=1 group by sys_enterpriseid,siteid,DATE_FORMAT(checkdate,'%Y-%m')) t
-           where  DATE_FORMAT(NOW(), '%Y-%m')=date) t4 on t1.sys_enterpriseid=t4.sys_enterpriseid and t1.siteid=t4.siteid
-ORDER BY m.year desc,ROUND(ifnull(t4.sumamount_currentmonth,0)/10000,2) desc
+
+ORDER BY m.year desc
+