人员目标统计-收款.sql 5.5 KB

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