人员目标统计-出货.sql 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. with sa_salestarget as
  2. (
  3. select 0+CAST(sum(amount) AS CHAR) amount,point,sa_saleareaid,type from(SELECT (t5.sumqty*t1.price) amount, MONTH (t2.createdate) point,ifnull(t4.sa_saleareaid,0) sa_saleareaid,'月' type
  4. FROM sa_orderitems t1
  5. LEFT JOIN sa_order t2 ON t1.sa_orderid=t2.sa_orderid AND t1.siteid=t2.siteid
  6. left join sys_enterprise_tradefield t3 on t2.sys_enterpriseid=t3.sys_enterpriseid and t2.siteid=t3.siteid
  7. left join sa_salearea t4 on t4.sa_saleareaid=t3.sa_saleareaid and t4.siteid=t3.siteid
  8. inner join (
  9. SELECT t1.sa_orderitemsid,t1.siteid,
  10. SUM(ifnull(t1.qty,0)) sumqty
  11. FROM st_stockbill_items t1
  12. inner join st_stockbill t2 on t1.siteid = t2.siteid and t1.st_stockbillid = t2.st_stockbillid
  13. inner join sa_orderitems t4 on t1.sa_orderitemsid=t4.sa_orderitemsid and t1.siteid = t4.siteid
  14. 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
  15. WHERE YEAR (t2.createdate)=$year$ AND t1.siteid=$siteid$) a
  16. GROUP BY point,sa_saleareaid,type
  17. )
  18. , hrtarget as (
  19. select t1.sa_saleareaid,
  20. t1.areaname,
  21. t1.hrid,
  22. t1.name,
  23. t1.position,
  24. 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) as y1a,
  25. ifnull(m1.amount,0)+ ifnull(m2.amount,0)+ifnull(m3.amount,0) as s1a,
  26. ifnull(m4.amount,0)+ ifnull(m5.amount,0)+ifnull(m6.amount,0) as s2a,
  27. ifnull(m7.amount,0)+ ifnull(m8.amount,0)+ifnull(m9.amount,0) as s3a,
  28. ifnull(m10.amount,0)+ ifnull(m11.amount,0)+ifnull(m12.amount,0) as s4a,
  29. ifnull(m1.amount,0) as m1a,
  30. ifnull(m2.amount,0) as m2a,
  31. ifnull(m3.amount,0) as m3a,
  32. ifnull(m4.amount,0) as m4a,
  33. ifnull(m5.amount,0) as m5a,
  34. ifnull(m6.amount,0) as m6a,
  35. ifnull(m7.amount,0) as m7a,
  36. ifnull(m8.amount,0) as m8a,
  37. ifnull(m9.amount,0) as m9a,
  38. ifnull(m10.amount,0) as m10a,
  39. ifnull(m11.amount,0) as m11a,
  40. ifnull(m12.amount,0) as m12a
  41. from sa_salestargethr t1
  42. left join sa_salestarget m1 on t1.sa_saleareaid = m1.sa_saleareaid and m1.type = '月' and m1.point = 1
  43. left join sa_salestarget m2 on t1.sa_saleareaid = m2.sa_saleareaid and m2.type = '月' and m2.point = 2
  44. left join sa_salestarget m3 on t1.sa_saleareaid = m3.sa_saleareaid and m3.type = '月' and m3.point = 3
  45. left join sa_salestarget m4 on t1.sa_saleareaid = m4.sa_saleareaid and m4.type = '月' and m4.point = 4
  46. left join sa_salestarget m5 on t1.sa_saleareaid = m5.sa_saleareaid and m5.type = '月' and m5.point = 5
  47. left join sa_salestarget m6 on t1.sa_saleareaid = m6.sa_saleareaid and m6.type = '月' and m6.point = 6
  48. left join sa_salestarget m7 on t1.sa_saleareaid = m7.sa_saleareaid and m7.type = '月' and m7.point = 7
  49. left join sa_salestarget m8 on t1.sa_saleareaid = m8.sa_saleareaid and m8.type = '月' and m8.point = 8
  50. left join sa_salestarget m9 on t1.sa_saleareaid = m9.sa_saleareaid and m9.type = '月' and m9.point = 9
  51. left join sa_salestarget m10 on t1.sa_saleareaid = m10.sa_saleareaid and m10.type = '月' and m10.point = 10
  52. left join sa_salestarget m11 on t1.sa_saleareaid = m11.sa_saleareaid and m11.type = '月' and m11.point = 11
  53. left join sa_salestarget m12 on t1.sa_saleareaid = m12.sa_saleareaid and m12.type = '月' and m12.point = 12
  54. where t1.sa_salestargetbillid = $sa_salestargetbillid$
  55. )
  56. select *
  57. from (
  58. select '区域' as type,
  59. t1.areaname,
  60. t1.sa_saleareaid,
  61. t2.parentid,
  62. t2.areafullname,
  63. 1 level,
  64. ROUND(y1a/10000,2) y1a,
  65. ROUND(s1a/10000,2) s1a,
  66. ROUND(s2a/10000,2) s2a,
  67. ROUND(s3a/10000,2) s3a,
  68. ROUND(s4a/10000,2) s4a,
  69. ROUND(m1a/10000,2) m1a,
  70. ROUND(m2a/10000,2) m2a,
  71. ROUND(m3a/10000,2) m3a,
  72. ROUND(m4a/10000,2) m4a,
  73. ROUND(m5a/10000,2) m5a,
  74. ROUND(m6a/10000,2) m6a,
  75. ROUND(m7a/10000,2) m7a,
  76. ROUND(m8a/10000,2) m8a,
  77. ROUND(m9a/10000,2) m9a,
  78. ROUND(m10a/10000,2) m10a,
  79. ROUND(m11a/10000,2) m11a,
  80. ROUND(m12a/10000,2) m12a
  81. from hrtarget t1
  82. INNER JOIN sa_salearea t2 ON t2.sa_saleareaid = t1.sa_saleareaid
  83. union all
  84. select '区域汇总' as type,
  85. t6.areaname,
  86. t6.sa_saleareaid,
  87. t6.parentid,
  88. t6.areafullname,
  89. 0 level,
  90. ROUND(sum(y1a)/10000,2) y1a,
  91. ROUND(sum(s1a)/10000,2) s1a,
  92. ROUND(sum(s2a)/10000,2) s2a,
  93. ROUND(sum(s3a)/10000,2) s3a,
  94. ROUND(sum(s4a)/10000,2) s4a,
  95. ROUND(sum(m1a)/10000,2) m1a,
  96. ROUND(sum(m2a)/10000,2) m2a,
  97. ROUND(sum(m3a)/10000,2) m3a,
  98. ROUND(sum(m4a)/10000,2) m4a,
  99. ROUND(sum(m5a)/10000,2) m5a,
  100. ROUND(sum(m6a)/10000,2) m6a,
  101. ROUND(sum(m7a)/10000,2) m7a,
  102. ROUND(sum(m8a)/10000,2) m8a,
  103. ROUND(sum(m9a)/10000,2) m9a,
  104. ROUND(sum(m10a)/10000,2) m10a,
  105. ROUND(sum(m11a)/10000,2) m11a,
  106. ROUND(sum(m12a)/10000,2) m12a
  107. from hrtarget t1
  108. left join sa_salearea t5 on t1.sa_saleareaid = t5.sa_saleareaid
  109. left join sa_salearea t6 on t5.parentid = t6.sa_saleareaid and t5.siteid = t6.siteid
  110. group by t6.sa_saleareaid, t6.areafullname, t6.areaname) t
  111. where $where$
  112. order by areafullname, case when t.type = '区域' then 0 else 1 end