CALCSTAT.sql 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. DROP PROCEDURE IF EXISTS `CALCSTAT`;
  2. delimiter ;;
  3. CREATE PROCEDURE `CALCSTAT`(IN `PCPID` INT)
  4. BEGIN
  5. INSERT INTO AR_CALC_BONUS_BS_STAT (
  6. PERIOD_NUM,
  7. TOTAL_PV,
  8. BONUS10,
  9. PERCENT10,
  10. BONUS20,
  11. PERCENT20,
  12. BONUS30,
  13. PERCENT30,
  14. BONUS40,
  15. PERCENT40,
  16. BONUS50,
  17. PERCENT50,
  18. BONUS60,
  19. PERCENT60,
  20. BONUS70,
  21. PERCENT70,
  22. BONUS80,
  23. PERCENT80,
  24. BONUS90,
  25. PERCENT90,
  26. BONUS100,
  27. PERCENT100,
  28. BONUS110,
  29. PERCENT110,
  30. BONUS,
  31. PERCENT,
  32. CHECK_STATUS ,
  33. BONUS_ABBR,
  34. BONUS_ABBR_PERCENT,
  35. BONUS_MNT,
  36. BONUS_MNT_PERCENT
  37. ) SELECT
  38. PCPID,
  39. SUM( PV ),
  40. SUM( BONUS10 ),
  41. 0,
  42. SUM( BONUS20 ),
  43. 0,
  44. SUM( BONUS30 ),
  45. 0,
  46. SUM( BONUS40 ),
  47. 0,
  48. SUM( BONUS50 ),
  49. 0,
  50. SUM( BONUS60 ),
  51. 0,
  52. SUM( BONUS70 ),
  53. 0,
  54. SUM( BONUS80 ),
  55. 0,
  56. SUM( BONUS90 ),
  57. 0,
  58. SUM( BONUS100 ),
  59. 0,
  60. SUM( BONUS110 ),
  61. 0,
  62. SUM( BONUS ),
  63. 0,
  64. 0 ,
  65. SUM( BONUSYJ),
  66. 0,
  67. SUM(BONUSGL),
  68. 0
  69. FROM
  70. AR_BS_BONUS_103_CALC;
  71. UPDATE AR_CALC_BONUS_BS_STAT
  72. SET PERCENT10 = BONUS10 / TOTAL_PV,
  73. PERCENT20 = BONUS20 / TOTAL_PV,
  74. PERCENT30 = BONUS30 / TOTAL_PV,
  75. PERCENT40 = BONUS40 / TOTAL_PV,
  76. PERCENT50 = BONUS50 / TOTAL_PV,
  77. PERCENT60 = BONUS60 / TOTAL_PV,
  78. PERCENT70 = BONUS70 / TOTAL_PV,
  79. PERCENT80 = BONUS80 / TOTAL_PV,
  80. PERCENT90 = BONUS90 / TOTAL_PV,
  81. PERCENT100 = BONUS100 / TOTAL_PV,
  82. PERCENT110 = BONUS110 / TOTAL_PV,
  83. PERCENT = BONUS / TOTAL_PV,
  84. BONUS_ABBR_PERCENT = BONUS_ABBR / TOTAL_PV,
  85. BONUS_MNT_PERCENT = BONUS_MNT /TOTAL_PV
  86. WHERE
  87. PERIOD_NUM = PCPID
  88. AND TOTAL_PV > 0;
  89. END
  90. ;;