CALCINIT.sql 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. DROP PROCEDURE IF EXISTS `CALCINIT`;
  2. delimiter ;;
  3. CREATE PROCEDURE `CALCINIT`(IN `PCPID` INT, IN `PCALCMONTH` TINYINT, IN `PCALCYEAR` INT)
  4. BEGIN
  5. INSERT INTO AR_BS_BONUS_103_CALC (
  6. LAST_DEC_LV,
  7. LAST_EMP_LV,
  8. LAST_STATUS,
  9. USER_ID,
  10. INTRODUCER_ID,
  11. LAYER,
  12. PV,
  13. GPV10,
  14. GPV,
  15. GPV_4_CALC,
  16. USER_TYPE10,
  17. USER_TYPE,
  18. BONUS10,
  19. BONUS20,
  20. BONUS30,
  21. BONUS40,
  22. BONUS50,
  23. BONUS60,
  24. BONUS70,
  25. BONUS80,
  26. BONUS90,
  27. BONUS100,
  28. BONUS110,
  29. BONUS,
  30. PRODUCT_POINT,
  31. CALC_PERIOD_ID,
  32. PV_ZC,
  33. PV_FX,
  34. PV_UP_ZC
  35. ) SELECT
  36. AU.LAST_DEC_LV,
  37. AU.EMP_LV,
  38. AU.STATUS,
  39. AU.ID,
  40. IFNULL( AURN.PARENT_UID, 0 ),
  41. AURN.TOP_DEEP,
  42. IFNULL( AO.PV, 0 ),
  43. 0,
  44. 0,
  45. 0,
  46. 0,
  47. 0,
  48. 0,
  49. 0,
  50. 0,
  51. 0,
  52. 0,
  53. 0,
  54. 0,
  55. 0,
  56. 0,
  57. 0,
  58. 0,
  59. 0,
  60. 0,
  61. PCPID,
  62. (SELECT
  63. IFNULL( SUM( PV ), 0 ) PV
  64. FROM
  65. AR_PERF_ORDER
  66. WHERE
  67. PERIOD_NUM IN ( SELECT PERIOD_NUM FROM AR_PERIOD WHERE CALC_YEAR = PCALCYEAR AND CALC_MONTH = PCALCMONTH)
  68. AND USER_ID=AU.ID AND DEC_TYPE='ZC')PV_ZC,
  69. (SELECT
  70. IFNULL( SUM( PV ), 0 ) PV
  71. FROM
  72. AR_PERF_ORDER
  73. WHERE
  74. PERIOD_NUM IN ( SELECT PERIOD_NUM FROM AR_PERIOD WHERE CALC_YEAR = PCALCYEAR AND CALC_MONTH = PCALCMONTH)
  75. AND USER_ID=AU.ID AND DEC_TYPE='FX')PV_FX,
  76. (SELECT
  77. IFNULL( SUM( O.PV ), 0 ) PV
  78. FROM
  79. AR_PERF_ORDER O
  80. LEFT JOIN AR_USER_RELATION_NEW R ON R.USER_ID = O.USER_ID
  81. WHERE
  82. O.PERIOD_NUM IN ( SELECT PERIOD_NUM FROM AR_PERIOD WHERE CALC_YEAR = PCALCYEAR AND CALC_MONTH = PCALCMONTH)
  83. AND R.PARENT_UID=AU.ID AND O.DEC_TYPE='ZC')PV_UP_ZC
  84. FROM
  85. AR_USER AU
  86. INNER JOIN AR_USER_RELATION_NEW AURN ON AU.ID = AURN.USER_ID
  87. LEFT JOIN (
  88. SELECT
  89. USER_ID,
  90. SUM( PV ) PV
  91. FROM
  92. AR_PERF_ORDER
  93. WHERE
  94. PERIOD_NUM IN ( SELECT PERIOD_NUM FROM AR_PERIOD WHERE CALC_YEAR = PCALCYEAR AND CALC_MONTH = PCALCMONTH )
  95. GROUP BY
  96. USER_ID
  97. ) AO ON AO.USER_ID = AU.ID
  98. WHERE
  99. AU.DELETED = 0;
  100. END
  101. ;;