|
|
@@ -24,7 +24,7 @@ CALL QTRCALCRECORD(1,'清除数据',PCPID,NOW());
|
|
|
COMMIT;
|
|
|
|
|
|
SELECT
|
|
|
- CALC_YEAR, CALC_MONTH, IS_MONTH INTO THISYEAR, THISMONTH, MISMONTH FROM AR_PERIOD WHERE PERIOD_NUM = PCPID;
|
|
|
+ CALC_YEAR, CALC_MONTH, IS_MONTH INTO THISYEAR, THISMONTH, MISMONTH FROM AR_PERIOD WHERE PERIOD_NUM = PCPID;
|
|
|
|
|
|
CALL QTRCALCRECORD(2,'初始化',PCPID,NOW());
|
|
|
COMMIT;
|
|
|
@@ -33,8 +33,8 @@ COMMIT;
|
|
|
|
|
|
IF(THISMONTH!=3 AND THISMONTH!=6 AND THISMONTH!=9 AND THISMONTH!=12) OR MISMONTH!=1 THEN
|
|
|
CALL QTRCALCRECORD(12,'非季结,结束',PCPID,NOW());
|
|
|
- COMMIT;
|
|
|
- LEAVE LABEL;
|
|
|
+COMMIT;
|
|
|
+LEAVE LABEL;
|
|
|
END IF;
|
|
|
|
|
|
CALL QTRCALCRECORD(3,'计算总奖金',PCPID,NOW());
|
|
|
@@ -55,41 +55,47 @@ COMMIT;
|
|
|
|
|
|
-- 查找,所有星级用户
|
|
|
INSERT INTO AR_QTR_CALC_WEIGHT
|
|
|
- SELECT
|
|
|
- NULL AS ID,
|
|
|
- QY.USER_ID,
|
|
|
- MAX(CL.SORT) AS MAX_SORT,
|
|
|
- (MAX(CL.SORT) - 1)/2 + 1 AS WEIGHT,
|
|
|
- PERIOD_NUM,
|
|
|
- CALC_MONTH,
|
|
|
- CALC_YEAR
|
|
|
- FROM
|
|
|
- AR_CALC_BONUS_QY AS QY
|
|
|
- INNER JOIN
|
|
|
- AR_CROWN_LEVEL AS CL
|
|
|
- ON QY.LAST_CROWN_LV = CL.ID
|
|
|
-
|
|
|
- WHERE
|
|
|
- QY.LAST_CROWN_LV != (SELECT ID FROM AR_CROWN_LEVEL WHERE SORT = 0)
|
|
|
-
|
|
|
- GROUP BY USER_ID, CALC_MONTH;
|
|
|
+SELECT
|
|
|
+ NULL AS ID,
|
|
|
+ QY.USER_ID,
|
|
|
+ MAX(CL.SORT) AS MAX_SORT,
|
|
|
+ (MAX(CL.SORT) - 1)/2 + 1 AS WEIGHT,
|
|
|
+ PERIOD_NUM,
|
|
|
+ CALC_MONTH,
|
|
|
+ CALC_YEAR
|
|
|
+FROM
|
|
|
+ AR_CALC_BONUS_QY AS QY
|
|
|
+ INNER JOIN
|
|
|
+ AR_CROWN_LEVEL AS CL
|
|
|
+ ON QY.LAST_CROWN_LV = CL.ID
|
|
|
+ INNER JOIN
|
|
|
+ AR_USER AS U
|
|
|
+ ON QY.USER_ID = U.ID
|
|
|
+
|
|
|
+WHERE
|
|
|
+ QY.LAST_CROWN_LV != (SELECT ID FROM AR_CROWN_LEVEL WHERE SORT = 0)
|
|
|
+ AND U.DEC_LV = '67ABCE0ECE705575E055736AECE8644D'
|
|
|
+ AND QY.CALC_MONTH >= CONCAT(THISYEAR, lpad(QTRSTARTMONTH,2,0))
|
|
|
+ AND QY.CALC_MONTH <= CONCAT(THISYEAR, lpad(THISMONTH,2,0))
|
|
|
+
|
|
|
+GROUP BY USER_ID, CALC_MONTH;
|
|
|
|
|
|
COMMIT;
|
|
|
|
|
|
INSERT INTO AR_QTR_CALC_SCORE
|
|
|
- SELECT
|
|
|
- NULL AS ID,
|
|
|
- USER_ID,
|
|
|
- COUNT(*) AS CNT,
|
|
|
- SUM(WEIGHT) AS SCORE,
|
|
|
- CALC_MONTH,
|
|
|
- CALC_YEAR
|
|
|
- FROM
|
|
|
- AR_QTR_CALC_WEIGHT
|
|
|
- GROUP BY USER_ID;
|
|
|
+SELECT
|
|
|
+ NULL AS ID,
|
|
|
+ USER_ID,
|
|
|
+ COUNT(*) AS CNT,
|
|
|
+ SUM(WEIGHT) AS SCORE,
|
|
|
+ CALC_MONTH,
|
|
|
+ CALC_YEAR
|
|
|
+FROM
|
|
|
+ AR_QTR_CALC_WEIGHT
|
|
|
+GROUP BY USER_ID;
|
|
|
|
|
|
COMMIT;
|
|
|
-
|
|
|
+
|
|
|
SELECT SUM(SCORE) INTO TOTALU FROM AR_QTR_CALC_SCORE;
|
|
|
|
|
|
SET BONUSPERU = TBONUS / TOTALU;
|
|
|
@@ -99,38 +105,39 @@ CALL QTRCALCRECORD(5,'计算每一份奖金',PCPID,NOW());
|
|
|
COMMIT;
|
|
|
|
|
|
INSERT INTO AR_QTR_CALC_USER
|
|
|
- SELECT
|
|
|
- NULL AS ID,
|
|
|
- SC.USER_ID,
|
|
|
- BONUSPERU * SC.SCORE AS AMOUNT,
|
|
|
- CALC_YEAR,
|
|
|
- CALC_MONTH,
|
|
|
- PCPID AS PERIOD_NUM
|
|
|
- FROM
|
|
|
- AR_QTR_CALC_SCORE AS SC;
|
|
|
+SELECT
|
|
|
+ NULL AS ID,
|
|
|
+ SC.USER_ID,
|
|
|
+ BONUSPERU * SC.SCORE AS AMOUNT,
|
|
|
+ CALC_YEAR,
|
|
|
+ CALC_MONTH,
|
|
|
+ PCPID AS PERIOD_NUM
|
|
|
+FROM
|
|
|
+ AR_QTR_CALC_SCORE AS SC;
|
|
|
|
|
|
CALL QTRCALCRECORD(6,'写入user表',PCPID,NOW());
|
|
|
+
|
|
|
COMMIT;
|
|
|
|
|
|
INSERT INTO AR_CALC_BONUS_QUARTER
|
|
|
- SELECT
|
|
|
- NULL AS ID,
|
|
|
- AU.USER_ID,
|
|
|
- AU.AMOUNT AS ORI_BONUS,
|
|
|
- 0 AS MANAGE_TAX,
|
|
|
- AU.AMOUNT,
|
|
|
- 0 AS RECONSUME_POINTS,
|
|
|
- U.DEC_LV,
|
|
|
- AU.CALC_MONTH,
|
|
|
- AU.PERIOD_NUM,
|
|
|
- NOW() AS CREATE_AT
|
|
|
- FROM
|
|
|
- AR_QTR_CALC_USER AS AU
|
|
|
- LEFT JOIN
|
|
|
- AR_USER AS U
|
|
|
- ON AU.USER_ID = U.ID ;
|
|
|
+SELECT
|
|
|
+ NULL AS ID,
|
|
|
+ AU.USER_ID,
|
|
|
+ AU.AMOUNT AS ORI_BONUS,
|
|
|
+ 0 AS MANAGE_TAX,
|
|
|
+ AU.AMOUNT,
|
|
|
+ 0 AS RECONSUME_POINTS,
|
|
|
+ U.DEC_LV,
|
|
|
+ AU.CALC_MONTH,
|
|
|
+ AU.PERIOD_NUM,
|
|
|
+ NOW() AS CREATE_AT
|
|
|
+FROM
|
|
|
+ AR_QTR_CALC_USER AS AU
|
|
|
+ LEFT JOIN
|
|
|
+ AR_USER AS U
|
|
|
+ ON AU.USER_ID = U.ID;
|
|
|
|
|
|
CALL QTRCALCRECORD(20,'写入季度奖金表',PCPID,NOW());
|
|
|
-COMMIT;
|
|
|
+COMMIT;
|
|
|
|
|
|
END
|