TonyY 3 лет назад
Сommit
4bd4e8d3e1
69 измененных файлов с 4408 добавлено и 0 удалено
  1. 1 0
      README.md
  2. 22 0
      存储过程/VIP奖/VIP奖月业绩新增加结余.sql
  3. BIN
      存储过程/VIP奖/VIP奖碰对模板.xlsx
  4. 23 0
      存储过程/VIP奖/查他VIP奖.sql
  5. 27 0
      存储过程/VIP奖/自查VIP奖.sql
  6. 176 0
      存储过程/共享奖上拿1.0.sql
  7. 176 0
      存储过程/共享奖上拿1.1.sql
  8. 176 0
      存储过程/共享奖上拿1.2.sql
  9. 216 0
      存储过程/共享奖下拿1.0.sql
  10. 173 0
      存储过程/共享奖下拿1.1.sql
  11. 173 0
      存储过程/共享奖下拿1.2.sql
  12. 1 0
      存储过程/创建函数前执行语句.sql
  13. 382 0
      存储过程/管理奖1.0.sql
  14. 305 0
      存储过程/管理奖1.1.sql
  15. 305 0
      存储过程/管理奖1.2(1.2均无紧缩).sql
  16. 44 0
      报表/业绩单检查.sql
  17. 21 0
      报表/业绩来源SUM金额SQL.sql
  18. 34 0
      报表/产品同比上期增长幅度.sql
  19. 7 0
      报表/产品销售额.sql
  20. 30 0
      报表/会员数量明细.sql
  21. 88 0
      报表/各期奖金总表.sql
  22. 32 0
      报表/奖金区间表2.sql
  23. 37 0
      报表/奖金排名.sql
  24. 163 0
      报表/奖金排名(月).sql
  25. 130 0
      报表/奖金排名(期).sql
  26. 64 0
      报表/总PV占比.sql
  27. 69 0
      报表/总金额占比.sql
  28. 60 0
      报表/月奖金拨比分析(VIP奖,荣衔奖).sql
  29. 9 0
      报表/月奖金拨比分析(月金额,月PV).sql
  30. 53 0
      报表/期奖金拨比分析1.sql
  31. 100 0
      报表/期奖金拨比分析奖金金额汇总.sql
  32. 27 0
      报表/期销售额表.sql
  33. 12 0
      报表/本期奖金区间与人数分析表.sql
  34. 56 0
      报表/活跃会员占比趋势.sql
  35. 8 0
      报表/爱康产品销售额排名.sql
  36. 22 0
      报表/订单来源分析.sql
  37. 52 0
      报表/订单来源明细.sql
  38. 38 0
      普通查询/DS系统订单.sql
  39. 18 0
      普通查询/业绩单查询.sql
  40. 10 0
      普通查询/会员奖金余额.sql
  41. 15 0
      普通查询/会员奖金余额表.sql
  42. 15 0
      普通查询/会员提现金额统计.sql
  43. 28 0
      普通查询/共享奖测试sql.sql
  44. 13 0
      普通查询/安置网络向上查询(普通查询版).sql
  45. 30 0
      普通查询/安置网络向上查询(递归查询版).sql
  46. 6 0
      普通查询/安置网络向下查询(普通查询版).sql
  47. 14 0
      普通查询/截至最新会员.sql
  48. 20 0
      普通查询/截至至现在店长商场订单.sql
  49. 13 0
      普通查询/推荐网络向上查询(普通查询版).sql
  50. 30 0
      普通查询/推荐网络向上查询(递归查询版).sql
  51. 6 0
      普通查询/推荐网络向下查询(普通查询版).sql
  52. 46 0
      普通查询/最新奖金.sql
  53. 26 0
      普通查询/月业绩查询.sql
  54. 32 0
      普通查询/期业绩.sql
  55. 9 0
      普通查询/查询数据库各表容量大小.sql
  56. 17 0
      普通查询/积分购物按复消业绩计算.sql
  57. 22 0
      普通查询/达标业绩表查询.sql
  58. 18 0
      普通查询/金钻参加VIP奖测试sql.sql
  59. 38 0
      活动/202109业绩冲刺活动赠品奖励.sql
  60. 71 0
      活动/202109业绩冲刺活动赠品奖励2.sql
  61. 37 0
      活动/202109业绩冲刺活动赠品奖励3.sql
  62. 39 0
      活动/工作室复消业绩统计.sql
  63. 34 0
      活动/工作室所有订单(按月).sql
  64. 39 0
      活动/工作室报单业绩统计.sql
  65. 208 0
      活动/店长拉新统计.sql
  66. 38 0
      活动/红色中国 建军节献礼(2021年8月复消活动).sql
  67. 133 0
      活动/线下优佳生活馆工作室招商.sql
  68. 71 0
      活动/经益求精包络万象10月复消活动.sql
  69. 0 0
      视图/zr_product_pkg_vw.sql

+ 1 - 0
README.md

@@ -0,0 +1 @@
+这是一个SQL池!!!!!!!

+ 22 - 0
存储过程/VIP奖/VIP奖月业绩新增加结余.sql

@@ -0,0 +1,22 @@
+SET @CALC_MONTH = 202106 ;
+
+SELECT
+	U.USER_NAME AS 会员编号,
+	U.REAL_NAME AS 会员姓名,
+	(M.VIP_PV_1L_ZC + IFNULL(A.VIP_SURPLUS_1L_ZC,0)) AS 一市场新增加结余,
+	(M.VIP_PV_2L_ZC + IFNULL(A.VIP_SURPLUS_2L_ZC,0)) AS 二市场新增加结余,
+	(M.VIP_PV_3L_ZC + IFNULL(A.VIP_SURPLUS_3L_ZC,0)) AS 三市场新增加结余
+FROM
+	ar_perf_month M
+	LEFT JOIN ar_user U ON U.ID = M.USER_ID
+	LEFT JOIN (SELECT
+		AU.ID,
+		PM.VIP_SURPLUS_1L_ZC,
+		PM.VIP_SURPLUS_2L_ZC,
+		PM.VIP_SURPLUS_3L_ZC
+	FROM
+		ar_perf_month PM
+		LEFT JOIN ar_user AU ON AU.ID = PM.USER_ID
+		WHERE PM.CALC_MONTH = @CALC_MONTH - 1
+	) A ON A.ID = M.USER_ID
+	WHERE M.CALC_MONTH = @CALC_MONTH

BIN
存储过程/VIP奖/VIP奖碰对模板.xlsx


+ 23 - 0
存储过程/VIP奖/查他VIP奖.sql

@@ -0,0 +1,23 @@
+SELECT
+	A.USER_NAME,
+	A.REAL_NAME,
+	A.LEVEL_NAME,
+	A.PV_FX,
+	A.XIAOYEJI
+FROM
+(SELECT
+	U.USER_NAME,
+	U.REAL_NAME,
+	D.LEVEL_NAME,
+	SUM(O.`PV合计`) AS PV_FX,
+	VIPXIAOYEJI(U.USER_NAME, 202104) AS XIAOYEJI
+FROM
+	`临时会员` F
+	LEFT JOIN ar_user U ON U.USER_NAME = F.`会员编号`
+	LEFT JOIN ar_declaration_level D ON D.ID = U.DEC_LV
+	LEFT JOIN zr_order_vw O ON O.`会员编号` = F.`会员编号` AND O.`订单类型` <> '报单' AND O.`月份` = 202104
+	GROUP BY U.USER_NAME)A
+	WHERE A.PV_FX>= 300 AND A.XIAOYEJI >= 9800 AND (A.LEVEL_NAME = '金钻会员' OR A.LEVEL_NAME = 'VIP会员')
+	
+	
+	

+ 27 - 0
存储过程/VIP奖/自查VIP奖.sql

@@ -0,0 +1,27 @@
+SELECT
+	B.`会员编号`,
+	B.`会员级别`,
+	B.PV,
+	B.`小业绩`
+FROM
+(SELECT
+	A.`会员编号`,
+	A.`会员级别`,
+	A.PV,
+	A.`小业绩`
+FROM
+(SELECT
+	O.`会员编号`,
+	D.LEVEL_NAME AS 会员级别,
+	SUM(O.`PV合计`) AS PV,
+	VIPXIAOYEJI(O.`会员编号`, 202104) AS 小业绩
+FROM
+	zr_order_vw O
+	LEFT JOIN ar_user U ON U.USER_NAME = O.`会员编号`
+	LEFT JOIN ar_declaration_level D ON U.DEC_LV = D.ID
+WHERE
+	O.`月份` = 202104 AND O.`订单类型` <> '报单'
+	GROUP BY O.`会员编号`)A
+	)B
+	WHERE B.PV >= 300 AND B.`小业绩` >= 9800 AND (B.`会员级别` = '金钻会员' OR B.`会员级别` = 'VIP会员')
+	

+ 176 - 0
存储过程/共享奖上拿1.0.sql

@@ -0,0 +1,176 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GX_UP`( `PRM_PERIOD_NUM` INT)
+BEGIN#Routine body goes here...
+    DECLARE
+    Done INT DEFAULT 0;
+    DECLARE
+    R1_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R1_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_PARENT_NAME VARCHAR ( 30 );
+    DECLARE
+    GERENTUANDUI DECIMAL( 16,3 );
+    DECLARE
+    JIJIANGDAISHU INT DEFAULT 0;
+    DECLARE
+    R2_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    ORI_BONUS_QY_BD_BL DECIMAL ( 16, 3 );
+	DECLARE
+	SHIJIDAISHU INT DEFAULT 0;
+    /* 声明游标 */
+    DECLARE
+    rs CURSOR FOR
+    SELECT
+              U.USER_NAME
+            , U.REAL_NAME
+            , P.PV_PCS + P.PV_PSS AS GERENTUANDUI
+            , U2.USER_NAME        AS PARENT_NAME
+    FROM
+              AR_PERF_PERIOD P
+              LEFT JOIN
+                        AR_USER U
+                        ON
+                                  U.ID = P.USER_ID
+              LEFT JOIN
+                        ar_user_relation_new R
+                        ON
+                                  R.USER_ID = U.ID
+              LEFT JOIN
+                        ar_user U2
+                        ON
+                                  U2.ID = R.PARENT_UID
+    WHERE
+              P.PERIOD_NUM = PRM_PERIOD_NUM
+              AND
+              (
+                        XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM)
+              )
+              >= 980
+    ;
+    
+    /* 异常处理 */
+    DECLARE
+    CONTINUE HANDLER FOR SQLSTATE '02000'
+    SET Done = 1;
+    /* 打开游标 */
+    OPEN rs;
+    /* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+	DELETE FROM ek_temp_gx_zs_cs;
+    FETCH NEXT
+    FROM
+          rs
+    INTO
+          R1_USER_NAME
+        , R1_REAL_NAME
+        , GERENTUANDUI
+        , R1_PARENT_NAME
+    ;
+    
+    /* 遍历数据表 */
+    REPEAT
+        SET JIJIANGDAISHU = 1;
+				SET SHIJIDAISHU = 0;
+        REPEAT
+            SET R2_USER_NAME         = NULL;
+            SET ORI_BONUS_QY_BD_BL = 0;
+            SELECT
+                      U.`会员编号`
+                    , U.`会员姓名`
+                    , U.`推荐编号`
+                    , U.`推荐姓名`
+                    , IFNULL(B.ORI_BONUS_QY_BD,0)
+            INTO
+                      R2_USER_NAME
+                    , R2_REAL_NAME
+                    , PARENT_USER_NAME
+                    , PARENT_REAL_NAME
+                    , ORI_BONUS_QY_BD_BL
+            FROM
+                      zr_user_vw U
+                      LEFT JOIN
+                                AR_CALC_BONUS B
+                                ON
+                                          U.`会员编号`         = B.LAST_USER_NAME
+                                          and B.PERIOD_NUM = PRM_PERIOD_NUM
+            WHERE
+                      U.`会员编号` = R1_PARENT_NAME
+            ;
+            
+            SET Done = 0;
+						SET SHIJIDAISHU = SHIJIDAISHU + 1;
+						IF  ORI_BONUS_QY_BD_BL = 0 THEN
+						INSERT INTO ek_temp_gx_zs_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            ,`个人团队`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `计奖代数`
+                            , `给奖人报单团队奖`
+							, `实际代数`
+                       )
+                       VALUES
+                       ( R1_USER_NAME
+                            , R1_REAL_NAME
+                            , GERENTUANDUI
+                            , R2_USER_NAME
+                            , R2_REAL_NAME
+                            , JIJIANGDAISHU
+                            , ORI_BONUS_QY_BD_BL
+							, SHIJIDAISHU
+                       )
+                ;
+								
+						END IF;
+            IF
+                ORI_BONUS_QY_BD_BL > 0 THEN
+                
+                INSERT INTO ek_temp_gx_zs_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            ,`个人团队`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `计奖代数`
+                            , `给奖人报单团队奖`
+							, `实际代数`
+                       )
+                       VALUES
+                       ( R1_USER_NAME
+                            , R1_REAL_NAME
+                            , GERENTUANDUI
+                            , R2_USER_NAME
+                            , R2_REAL_NAME
+                            , JIJIANGDAISHU
+                            , ORI_BONUS_QY_BD_BL
+							, SHIJIDAISHU
+                       )
+                ;
+								SET JIJIANGDAISHU       = JIJIANGDAISHU + 1;
+            END IF;
+						SET R1_PARENT_NAME = PARENT_USER_NAME;
+            UNTIL JIJIANGDAISHU >= 3 AND ORI_BONUS_QY_BD_BL >0 OR R2_USER_NAME IS NULL
+        END REPEAT;
+        -- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,GERENTUANDUI,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,GERENTUANDUI,PARENT_NAME,ORI_BONUS_GX);
+        FETCH NEXT
+        FROM
+              rs
+        INTO
+              R1_USER_NAME
+            , R1_REAL_NAME
+            , GERENTUANDUI
+            , R1_PARENT_NAME
+        ;
+        
+        UNTIL Done
+    END REPEAT;
+    /* 关闭游标 */
+    CLOSE rs;
+END

+ 176 - 0
存储过程/共享奖上拿1.1.sql

@@ -0,0 +1,176 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GX_UP`( `PRM_PERIOD_NUM` INT)
+BEGIN#Routine body goes here...
+    DECLARE
+    Done INT DEFAULT 0;
+    DECLARE
+    R1_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R1_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_PARENT_NAME VARCHAR ( 30 );
+    DECLARE
+    GERENTUANDUI DECIMAL( 16,3 );
+    DECLARE
+    JIJIANGDAISHU INT DEFAULT 0;
+    DECLARE
+    R2_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    ORI_BONUS_QY_BD_BL DECIMAL ( 16, 3 );
+	DECLARE
+	SHIJIDAISHU INT DEFAULT 0;
+    /* 声明游标 */
+    DECLARE
+    rs CURSOR FOR
+    SELECT
+              U.USER_NAME
+            , U.REAL_NAME
+            , P.PV_PCS + P.PV_PSS AS GERENTUANDUI
+            , U2.USER_NAME        AS PARENT_NAME
+    FROM
+              AR_PERF_PERIOD P
+              LEFT JOIN
+                        AR_USER U
+                        ON
+                                  U.ID = P.USER_ID
+              LEFT JOIN
+                        ar_user_relation_new R
+                        ON
+                                  R.USER_ID = U.ID
+              LEFT JOIN
+                        ar_user U2
+                        ON
+                                  U2.ID = R.PARENT_UID
+    WHERE
+              P.PERIOD_NUM = PRM_PERIOD_NUM
+              AND
+              (
+                        XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM)
+              )
+              >= 980
+    ;
+    
+    /* 异常处理 */
+    DECLARE
+    CONTINUE HANDLER FOR SQLSTATE '02000'
+    SET Done = 1;
+    /* 打开游标 */
+    OPEN rs;
+    /* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+	DELETE FROM ek_temp_gx_zs_cs;
+    FETCH NEXT
+    FROM
+          rs
+    INTO
+          R1_USER_NAME
+        , R1_REAL_NAME
+        , GERENTUANDUI
+        , R1_PARENT_NAME
+    ;
+    
+    /* 遍历数据表 */
+    REPEAT
+        SET JIJIANGDAISHU = 1;
+				SET SHIJIDAISHU = 0;
+        REPEAT
+            SET R2_USER_NAME         = NULL;
+            SET ORI_BONUS_QY_BD_BL = 0;
+            SELECT
+                      U.`会员编号`
+                    , U.`会员姓名`
+                    , U.`推荐编号`
+                    , U.`推荐姓名`
+                    , IFNULL(B.ORI_BONUS_QY_BD,0)
+            INTO
+                      R2_USER_NAME
+                    , R2_REAL_NAME
+                    , PARENT_USER_NAME
+                    , PARENT_REAL_NAME
+                    , ORI_BONUS_QY_BD_BL
+            FROM
+                      zr_user_vw U
+                      LEFT JOIN
+                                AR_CALC_BONUS B
+                                ON
+                                          U.`会员编号`         = B.LAST_USER_NAME
+                                          and B.PERIOD_NUM = PRM_PERIOD_NUM
+            WHERE
+                      U.`会员编号` = R1_PARENT_NAME
+            ;
+            
+            SET Done = 0;
+						SET SHIJIDAISHU = SHIJIDAISHU + 1;
+						IF  ORI_BONUS_QY_BD_BL = 0 THEN
+						INSERT INTO ek_temp_gx_zs_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            ,`个人团队`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `计奖代数`
+                            , `给奖人报单团队奖`
+							, `实际代数`
+                       )
+                       VALUES
+                       ( R1_USER_NAME
+                            , R1_REAL_NAME
+                            , GERENTUANDUI
+                            , R2_USER_NAME
+                            , R2_REAL_NAME
+                            , JIJIANGDAISHU
+                            , ORI_BONUS_QY_BD_BL
+							, SHIJIDAISHU
+                       )
+                ;
+								
+						END IF;
+            IF
+                ORI_BONUS_QY_BD_BL > 0 THEN
+                
+                INSERT INTO ek_temp_gx_zs_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            ,`个人团队`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `计奖代数`
+                            , `给奖人报单团队奖`
+							, `实际代数`
+                       )
+                       VALUES
+                       ( R1_USER_NAME
+                            , R1_REAL_NAME
+                            , GERENTUANDUI
+                            , R2_USER_NAME
+                            , R2_REAL_NAME
+                            , JIJIANGDAISHU
+                            , ORI_BONUS_QY_BD_BL
+							, SHIJIDAISHU
+                       )
+                ;
+								SET JIJIANGDAISHU       = JIJIANGDAISHU + 1;
+            END IF;
+						SET R1_PARENT_NAME = PARENT_USER_NAME;
+            UNTIL JIJIANGDAISHU >= 3 AND ORI_BONUS_QY_BD_BL >0 OR R2_USER_NAME IS NULL
+        END REPEAT;
+        -- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,GERENTUANDUI,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,GERENTUANDUI,PARENT_NAME,ORI_BONUS_GX);
+        FETCH NEXT
+        FROM
+              rs
+        INTO
+              R1_USER_NAME
+            , R1_REAL_NAME
+            , GERENTUANDUI
+            , R1_PARENT_NAME
+        ;
+        
+        UNTIL Done
+    END REPEAT;
+    /* 关闭游标 */
+    CLOSE rs;
+END

+ 176 - 0
存储过程/共享奖上拿1.2.sql

@@ -0,0 +1,176 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GX_UP`( `PRM_PERIOD_NUM` INT)
+BEGIN#Routine body goes here...
+    DECLARE
+    Done INT DEFAULT 0;
+    DECLARE
+    R1_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R1_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_PARENT_NAME VARCHAR ( 30 );
+    DECLARE
+    GERENTUANDUI DECIMAL( 16,3 );
+    DECLARE
+    JIJIANGDAISHU INT DEFAULT 0;
+    DECLARE
+    R2_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    ORI_BONUS_QY_BD_BL DECIMAL ( 16, 3 );
+	DECLARE
+	SHIJIDAISHU INT DEFAULT 0;
+    /* 声明游标 */
+    DECLARE
+    rs CURSOR FOR
+    SELECT
+              U.USER_NAME
+            , U.REAL_NAME
+            , P.PV_PCS + P.PV_PSS AS GERENTUANDUI
+            , U2.USER_NAME        AS PARENT_NAME
+    FROM
+              AR_PERF_PERIOD P
+              LEFT JOIN
+                        AR_USER U
+                        ON
+                                  U.ID = P.USER_ID
+              LEFT JOIN
+                        ar_user_relation_new R
+                        ON
+                                  R.USER_ID = U.ID
+              LEFT JOIN
+                        ar_user U2
+                        ON
+                                  U2.ID = R.PARENT_UID
+    WHERE
+              P.PERIOD_NUM = PRM_PERIOD_NUM
+              AND
+              (
+                        XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM)
+              )
+              >= 980
+    ;
+    
+    /* 异常处理 */
+    DECLARE
+    CONTINUE HANDLER FOR SQLSTATE '02000'
+    SET Done = 1;
+    /* 打开游标 */
+    OPEN rs;
+    /* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+	DELETE FROM ek_temp_gx_zs_cs;
+    FETCH NEXT
+    FROM
+          rs
+    INTO
+          R1_USER_NAME
+        , R1_REAL_NAME
+        , GERENTUANDUI
+        , R1_PARENT_NAME
+    ;
+    
+    /* 遍历数据表 */
+    REPEAT
+        SET JIJIANGDAISHU = 1;
+				SET SHIJIDAISHU = 0;
+        REPEAT
+            SET R2_USER_NAME         = NULL;
+            SET ORI_BONUS_QY_BD_BL = 0;
+            SELECT
+                      U.`会员编号`
+                    , U.`会员姓名`
+                    , U.`推荐编号`
+                    , U.`推荐姓名`
+                    , IFNULL(B.ORI_BONUS_QY_BD,0)
+            INTO
+                      R2_USER_NAME
+                    , R2_REAL_NAME
+                    , PARENT_USER_NAME
+                    , PARENT_REAL_NAME
+                    , ORI_BONUS_QY_BD_BL
+            FROM
+                      zr_user_vw U
+                      LEFT JOIN
+                                AR_CALC_BONUS B
+                                ON
+                                          U.`会员编号`         = B.LAST_USER_NAME
+                                          and B.PERIOD_NUM = PRM_PERIOD_NUM
+            WHERE
+                      U.`会员编号` = R1_PARENT_NAME
+            ;
+            
+            SET Done = 0;
+						SET SHIJIDAISHU = SHIJIDAISHU + 1;
+						IF  ORI_BONUS_QY_BD_BL = 0 THEN
+						INSERT INTO ek_temp_gx_zs_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            ,`个人团队`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `计奖代数`
+                            , `给奖人报单团队奖`
+							, `实际代数`
+                       )
+                       VALUES
+                       ( R1_USER_NAME
+                            , R1_REAL_NAME
+                            , GERENTUANDUI
+                            , R2_USER_NAME
+                            , R2_REAL_NAME
+                            , JIJIANGDAISHU
+                            , ORI_BONUS_QY_BD_BL
+							, SHIJIDAISHU
+                       )
+                ;
+								
+						END IF;
+            IF
+                ORI_BONUS_QY_BD_BL > 0 THEN
+                
+                INSERT INTO ek_temp_gx_zs_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            ,`个人团队`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `计奖代数`
+                            , `给奖人报单团队奖`
+							, `实际代数`
+                       )
+                       VALUES
+                       ( R1_USER_NAME
+                            , R1_REAL_NAME
+                            , GERENTUANDUI
+                            , R2_USER_NAME
+                            , R2_REAL_NAME
+                            , JIJIANGDAISHU
+                            , ORI_BONUS_QY_BD_BL
+							, SHIJIDAISHU
+                       )
+                ;
+								SET JIJIANGDAISHU       = JIJIANGDAISHU + 1;
+            END IF;
+						SET R1_PARENT_NAME = PARENT_USER_NAME;
+            UNTIL JIJIANGDAISHU >= 3 AND ORI_BONUS_QY_BD_BL >0 OR R2_USER_NAME IS NULL
+        END REPEAT;
+        -- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,GERENTUANDUI,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,GERENTUANDUI,PARENT_NAME,ORI_BONUS_GX);
+        FETCH NEXT
+        FROM
+              rs
+        INTO
+              R1_USER_NAME
+            , R1_REAL_NAME
+            , GERENTUANDUI
+            , R1_PARENT_NAME
+        ;
+        
+        UNTIL Done
+    END REPEAT;
+    /* 关闭游标 */
+    CLOSE rs;
+END

+ 216 - 0
存储过程/共享奖下拿1.0.sql

@@ -0,0 +1,216 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GX_DOWN`( `PRM_PERIOD_NUM` INT )
+BEGIN#Routine body goes here...
+	DECLARE
+		Done INT DEFAULT 0;
+	DECLARE
+		R1_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R1_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R1_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R1_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		SHIJIDAISHU INT DEFAULT 0;
+	DECLARE
+		JICENGDAISHU INT DEFAULT 0;
+	DECLARE
+		JIJIANGDAISHU INT DEFAULT 0;
+	DECLARE
+		R1_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+	DECLARE
+		R2_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R2_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R3_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R3_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R2_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+	DECLARE
+		R2_BDYJ DECIMAL ( 16, 3 );
+	DECLARE
+		R3_BDYJ DECIMAL ( 16, 3 );
+	DECLARE
+		R2_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R2_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R3_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R3_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		XIANAJIANGJIN DECIMAL ( 16, 3 );
+/* 声明游标 */
+	DECLARE
+		rs CURSOR FOR SELECT
+		U.USER_NAME,
+		U.REAL_NAME,
+		B.ORI_BONUS_QY_BD,
+		U2.USER_NAME AS PARENT_USER_NAME,
+		U2.REAL_NAME AS PARENT_REAL_NAME 
+	FROM
+		ar_calc_bonus B
+		LEFT JOIN ar_user U ON U.ID = B.USER_ID
+		LEFT JOIN ar_user_network_new N ON N.USER_ID = B.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = N.PARENT_UID 
+	WHERE
+		B.PERIOD_NUM = PRM_PERIOD_NUM 
+		AND B.ORI_BONUS_QY_BD > 0 ;
+/* 异常处理 */
+	DECLARE
+		CONTINUE HANDLER FOR SQLSTATE '02000' 
+		SET Done = 1;
+/* 打开游标 */
+	OPEN rs;
+	DELETE 
+	FROM
+		ek_temp_gx_xiana;
+/* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+	FETCH NEXT 
+	FROM
+		rs INTO R1_USER_NAME,
+		R1_REAL_NAME,
+		R1_ORI_BONUS_QY_BD,
+		R1_PARENT_USER_NAME,
+		R1_PARENT_REAL_NAME;
+/* 遍历数据表 */
+	REPEAT
+			
+			SET JIJIANGDAISHU = 1;
+		
+		SET JICENGDAISHU = 1;
+		
+		SET SHIJIDAISHU = 0;-- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX);
+		REPEAT
+				
+				SET R2_USER_NAME = NULL;
+			SELECT
+				U.USER_NAME,
+				U.REAL_NAME,
+				IFNULL( B.ORI_BONUS_QY_BD, 0 ),
+				( XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM)) AS BDYJ,
+				U2.USER_NAME AS PARENT_USER_NAME,
+				U2.REAL_NAME AS PARENT_REAL_NAME INTO R2_USER_NAME,
+				R2_REAL_NAME,
+				R2_ORI_BONUS_QY_BD,
+				R2_BDYJ,
+				R2_PARENT_USER_NAME,
+				R2_PARENT_REAL_NAME 
+			FROM
+				ar_user U
+				LEFT JOIN ar_calc_bonus B ON B.USER_ID = U.ID 
+				AND B.PERIOD_NUM = PRM_PERIOD_NUM
+				LEFT JOIN ar_user_network_new N ON N.USER_ID = U.ID
+				LEFT JOIN ar_user U2 ON U2.ID = N.PARENT_UID
+				LEFT JOIN ar_perf_period P ON P.USER_ID = U.ID 
+				AND P.PERIOD_NUM = PRM_PERIOD_NUM 
+			WHERE
+				U.USER_NAME = R1_PARENT_USER_NAME;
+			
+			SET Done = 0;
+			
+			SET SHIJIDAISHU = SHIJIDAISHU + 1;-- SET SHANGDAI = SHANGDAI + 1;
+			IF
+				R2_USER_NAME IS NOT NULL THEN
+				IF
+					JIJIANGDAISHU % 2 = 0 THEN
+						
+						SET XIANAJIANGJIN = R1_ORI_BONUS_QY_BD * 0.05;
+					ELSE 
+						SET XIANAJIANGJIN = 0;
+					
+				END IF;
+				IF
+					R2_ORI_BONUS_QY_BD > 0 THEN
+						
+						SET JICENGDAISHU = JICENGDAISHU + 1;
+					
+				END IF;
+				INSERT INTO ek_temp_gx_xiana ( `得奖人编号`, `得奖人姓名`, `给奖人编号`, `给奖人姓名`, `实际代数`, `计层代数`, `计奖代数`, `给奖人报团奖`, `得奖人报团奖`, `得奖人小业绩`, `奖金` )
+				VALUES
+					(
+						R2_USER_NAME,
+						R2_REAL_NAME,
+						R1_USER_NAME,
+						R1_REAL_NAME,
+						SHIJIDAISHU,
+						JICENGDAISHU,
+						JIJIANGDAISHU,
+						R1_ORI_BONUS_QY_BD,
+						R2_ORI_BONUS_QY_BD,
+						R2_BDYJ,
+					IF
+						( R2_BDYJ < 980, 0, XIANAJIANGJIN ) 
+					);
+				
+				SET JIJIANGDAISHU = JICENGDAISHU;
+				
+			END IF;
+			IF
+				R2_BDYJ < 980 AND XIANAJIANGJIN > 0 THEN
+				SELECT
+					U.`安置编号` INTO R3_PARENT_USER_NAME 
+				FROM
+					zr_user_vw U 
+				WHERE
+					U.`会员编号` = R2_USER_NAME;
+				REPEAT
+					SELECT
+						U.USER_NAME,
+						U.REAL_NAME,
+						U2.USER_NAME AS PARENT_USER_NAME,
+						U2.REAL_NAME AS PARENT_REAL_NAME,
+						( XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM) ) AS BDYJ INTO R3_USER_NAME,
+						R3_REAL_NAME,
+						R3_PARENT_USER_NAME,
+						R3_PARENT_REAL_NAME,
+						R3_BDYJ 
+					FROM
+						ar_user U
+						LEFT JOIN ar_user_network_new R ON R.USER_ID = U.ID
+						LEFT JOIN ar_user U2 ON U2.ID = R.PARENT_UID
+						LEFT JOIN ar_perf_period P ON P.USER_ID = U.ID 
+						AND P.PERIOD_NUM = PRM_PERIOD_NUM 
+					WHERE
+						U.USER_NAME = R3_PARENT_USER_NAME;
+					INSERT INTO ek_temp_gx_xiana ( `得奖人编号`, `得奖人姓名`, `给奖人编号`, `给奖人姓名`, `实际代数`, `计层代数`, `计奖代数`, `给奖人报团奖`, `得奖人报团奖`, `得奖人小业绩`, `奖金` )
+					VALUES
+						(
+							R3_USER_NAME,
+							R3_REAL_NAME,
+							R1_USER_NAME,
+							R1_REAL_NAME,
+							NULL,
+							NULL,
+							NULL,
+							NULL,
+							NULL,
+							R3_BDYJ,
+						IF
+							( R3_BDYJ >= 980, XIANAJIANGJIN, 0 ) 
+						);
+					UNTIL R3_BDYJ >= 980 
+					OR R3_PARENT_USER_NAME IS NULL 
+				END REPEAT;
+				
+			END IF;
+			
+			SET R1_PARENT_USER_NAME = R2_PARENT_USER_NAME;
+			UNTIL JICENGDAISHU >= 11 
+			OR R2_USER_NAME IS NULL 
+		END REPEAT;
+		FETCH NEXT 
+		FROM
+			rs INTO R1_USER_NAME,
+			R1_REAL_NAME,
+			R1_ORI_BONUS_QY_BD,
+			R1_PARENT_USER_NAME,
+			R1_PARENT_REAL_NAME;
+		UNTIL Done 
+	END REPEAT;
+/* 关闭游标 */
+	CLOSE rs;
+
+END

+ 173 - 0
存储过程/共享奖下拿1.1.sql

@@ -0,0 +1,173 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GX_DOWN`( `PRM_PERIOD_NUM` INT )
+BEGIN#Routine body goes here...
+	DECLARE
+		Done INT DEFAULT 0;
+	DECLARE
+		R1_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R1_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R1_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R1_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		SHIJIDAISHU INT DEFAULT 0;
+	/*DECLARE
+		JICENGDAISHU INT DEFAULT 0;*/
+	DECLARE
+		JIJIANGDAISHU INT DEFAULT 0;
+	DECLARE
+		R1_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+	DECLARE
+		R2_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R2_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R3_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R3_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R2_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+	DECLARE
+		R2_BDYJ DECIMAL ( 16, 3 );
+	DECLARE
+		R3_BDYJ DECIMAL ( 16, 3 );
+	DECLARE
+		R2_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R2_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R3_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R3_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		XIANAJIANGJIN DECIMAL ( 16, 3 );
+/* 声明游标 */
+	DECLARE
+		rs CURSOR FOR SELECT
+		U.USER_NAME,
+		U.REAL_NAME,
+		B.ORI_BONUS_QY_BD,
+		U2.USER_NAME AS PARENT_USER_NAME,
+		U2.REAL_NAME AS PARENT_REAL_NAME 
+	FROM
+		ar_calc_bonus B
+		LEFT JOIN ar_user U ON U.ID = B.USER_ID
+		LEFT JOIN ar_user_network_new N ON N.USER_ID = B.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = N.PARENT_UID 
+	WHERE
+		B.PERIOD_NUM = PRM_PERIOD_NUM 
+		AND B.ORI_BONUS_QY_BD > 0 ;
+/* 异常处理 */
+	DECLARE
+		CONTINUE HANDLER FOR SQLSTATE '02000' 
+		SET Done = 1;
+/* 打开游标 */
+	OPEN rs;
+	DELETE 
+	FROM
+		ek_temp_gx_xiana;
+/* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+	FETCH NEXT 
+	FROM
+		rs INTO R1_USER_NAME,
+		R1_REAL_NAME,
+		R1_ORI_BONUS_QY_BD,
+		R1_PARENT_USER_NAME,
+		R1_PARENT_REAL_NAME;
+/* 遍历数据表 */
+	REPEAT
+			
+			SET JIJIANGDAISHU = 1;
+		
+		-- SET JICENGDAISHU = 1;
+		
+		SET SHIJIDAISHU = 0;-- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX);
+		REPEAT
+				
+				SET R2_USER_NAME = NULL;
+			SELECT
+				U.USER_NAME,
+				U.REAL_NAME,
+				IFNULL( B.ORI_BONUS_QY_BD, 0 ),
+				( XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM)) AS BDYJ,
+				U2.USER_NAME AS PARENT_USER_NAME,
+				U2.REAL_NAME AS PARENT_REAL_NAME INTO R2_USER_NAME,
+				R2_REAL_NAME,
+				R2_ORI_BONUS_QY_BD,
+				R2_BDYJ,
+				R2_PARENT_USER_NAME,
+				R2_PARENT_REAL_NAME 
+			FROM
+				ar_user U
+				LEFT JOIN ar_calc_bonus B ON B.USER_ID = U.ID 
+				AND B.PERIOD_NUM = PRM_PERIOD_NUM
+				LEFT JOIN ar_user_network_new N ON N.USER_ID = U.ID
+				LEFT JOIN ar_user U2 ON U2.ID = N.PARENT_UID
+				LEFT JOIN ar_perf_period P ON P.USER_ID = U.ID 
+				AND P.PERIOD_NUM = PRM_PERIOD_NUM 
+			WHERE
+				U.USER_NAME = R1_PARENT_USER_NAME;
+			
+			SET Done = 0;
+			
+			SET SHIJIDAISHU = SHIJIDAISHU + 1;-- SET SHANGDAI = SHANGDAI + 1;
+			IF
+				R2_USER_NAME IS NOT NULL THEN
+				IF
+					JIJIANGDAISHU % 2 = 0 THEN
+						
+						SET XIANAJIANGJIN = R1_ORI_BONUS_QY_BD * 0.05;
+					ELSE 
+						SET XIANAJIANGJIN = 0;
+					
+				END IF;
+				/*IF
+					R2_ORI_BONUS_QY_BD > 0 THEN
+						
+						SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+					
+				END IF;*/
+				INSERT INTO ek_temp_gx_xiana ( `得奖人编号`, `得奖人姓名`, `给奖人编号`, `给奖人姓名`, `实际代数`, `计层代数`, `计奖代数`, `给奖人报团奖`, `得奖人报团奖`, `得奖人小业绩`, `奖金` )
+				VALUES
+					(
+						R2_USER_NAME,
+						R2_REAL_NAME,
+						R1_USER_NAME,
+						R1_REAL_NAME,
+						SHIJIDAISHU,
+						NULL,
+						IF(R2_BDYJ < 980, NULL , JIJIANGDAISHU),
+						R1_ORI_BONUS_QY_BD,
+						R2_ORI_BONUS_QY_BD,
+						R2_BDYJ,
+					IF
+						( R2_BDYJ < 980, 0, XIANAJIANGJIN ) 
+					);
+				/*IF R1_ORI_BONUS_QY_BD IS NULL THEN
+				SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+				END IF;*/
+			END IF;
+			IF
+				R2_BDYJ >= 980  THEN
+				SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+				
+			END IF;
+			
+			SET R1_PARENT_USER_NAME = R2_PARENT_USER_NAME;
+			UNTIL JIJIANGDAISHU >= 11 
+			OR R2_USER_NAME IS NULL 
+		END REPEAT;
+		FETCH NEXT 
+		FROM
+			rs INTO R1_USER_NAME,
+			R1_REAL_NAME,
+			R1_ORI_BONUS_QY_BD,
+			R1_PARENT_USER_NAME,
+			R1_PARENT_REAL_NAME;
+		UNTIL Done 
+	END REPEAT;
+/* 关闭游标 */
+	CLOSE rs;
+
+END

+ 173 - 0
存储过程/共享奖下拿1.2.sql

@@ -0,0 +1,173 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GX_DOWN`( `PRM_PERIOD_NUM` INT )
+BEGIN#Routine body goes here...
+	DECLARE
+		Done INT DEFAULT 0;
+	DECLARE
+		R1_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R1_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R1_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R1_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		SHIJIDAISHU INT DEFAULT 0;
+	/*DECLARE
+		JICENGDAISHU INT DEFAULT 0;*/
+	DECLARE
+		JIJIANGDAISHU INT DEFAULT 0;
+	DECLARE
+		R1_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+	DECLARE
+		R2_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R2_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R3_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R3_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R2_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+	DECLARE
+		R2_BDYJ DECIMAL ( 16, 3 );
+	DECLARE
+		R3_BDYJ DECIMAL ( 16, 3 );
+	DECLARE
+		R2_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R2_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		R3_PARENT_USER_NAME VARCHAR ( 30 );
+	DECLARE
+		R3_PARENT_REAL_NAME VARCHAR ( 50 );
+	DECLARE
+		XIANAJIANGJIN DECIMAL ( 16, 3 );
+/* 声明游标 */
+	DECLARE
+		rs CURSOR FOR SELECT
+		U.USER_NAME,
+		U.REAL_NAME,
+		B.ORI_BONUS_QY_BD,
+		U2.USER_NAME AS PARENT_USER_NAME,
+		U2.REAL_NAME AS PARENT_REAL_NAME 
+	FROM
+		ar_calc_bonus B
+		LEFT JOIN ar_user U ON U.ID = B.USER_ID
+		LEFT JOIN ar_user_network_new N ON N.USER_ID = B.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = N.PARENT_UID 
+	WHERE
+		B.PERIOD_NUM = PRM_PERIOD_NUM 
+		AND B.ORI_BONUS_QY_BD > 0 ;
+/* 异常处理 */
+	DECLARE
+		CONTINUE HANDLER FOR SQLSTATE '02000' 
+		SET Done = 1;
+/* 打开游标 */
+	OPEN rs;
+	DELETE 
+	FROM
+		ek_temp_gx_xiana;
+/* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+	FETCH NEXT 
+	FROM
+		rs INTO R1_USER_NAME,
+		R1_REAL_NAME,
+		R1_ORI_BONUS_QY_BD,
+		R1_PARENT_USER_NAME,
+		R1_PARENT_REAL_NAME;
+/* 遍历数据表 */
+	REPEAT
+			
+			SET JIJIANGDAISHU = 1;
+		
+		-- SET JICENGDAISHU = 1;
+		
+		SET SHIJIDAISHU = 0;-- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX);
+		REPEAT
+				
+				SET R2_USER_NAME = NULL;
+			SELECT
+				U.USER_NAME,
+				U.REAL_NAME,
+				IFNULL( B.ORI_BONUS_QY_BD, 0 ),
+				( XIAOYEJI(U.USER_NAME, PRM_PERIOD_NUM)) AS BDYJ,
+				U2.USER_NAME AS PARENT_USER_NAME,
+				U2.REAL_NAME AS PARENT_REAL_NAME INTO R2_USER_NAME,
+				R2_REAL_NAME,
+				R2_ORI_BONUS_QY_BD,
+				R2_BDYJ,
+				R2_PARENT_USER_NAME,
+				R2_PARENT_REAL_NAME 
+			FROM
+				ar_user U
+				LEFT JOIN ar_calc_bonus B ON B.USER_ID = U.ID 
+				AND B.PERIOD_NUM = PRM_PERIOD_NUM
+				LEFT JOIN ar_user_network_new N ON N.USER_ID = U.ID
+				LEFT JOIN ar_user U2 ON U2.ID = N.PARENT_UID
+				LEFT JOIN ar_perf_period P ON P.USER_ID = U.ID 
+				AND P.PERIOD_NUM = PRM_PERIOD_NUM 
+			WHERE
+				U.USER_NAME = R1_PARENT_USER_NAME;
+			
+			SET Done = 0;
+			
+			SET SHIJIDAISHU = SHIJIDAISHU + 1;-- SET SHANGDAI = SHANGDAI + 1;
+			IF
+				R2_USER_NAME IS NOT NULL THEN
+				IF
+					JIJIANGDAISHU % 2 = 0 THEN
+						
+						SET XIANAJIANGJIN = R1_ORI_BONUS_QY_BD * 0.05;
+					ELSE 
+						SET XIANAJIANGJIN = 0;
+					
+				END IF;
+				/*IF
+					R2_ORI_BONUS_QY_BD > 0 THEN
+						
+						SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+					
+				END IF;*/
+				INSERT INTO ek_temp_gx_xiana ( `得奖人编号`, `得奖人姓名`, `给奖人编号`, `给奖人姓名`, `实际代数`, `计层代数`, `计奖代数`, `给奖人报团奖`, `得奖人报团奖`, `得奖人小业绩`, `奖金` )
+				VALUES
+					(
+						R2_USER_NAME,
+						R2_REAL_NAME,
+						R1_USER_NAME,
+						R1_REAL_NAME,
+						SHIJIDAISHU,
+						NULL,
+						IF(R2_ORI_BONUS_QY_BD = 0, NULL , JIJIANGDAISHU),
+						R1_ORI_BONUS_QY_BD,
+						R2_ORI_BONUS_QY_BD,
+						R2_BDYJ,
+					IF
+						( R2_ORI_BONUS_QY_BD = 0, 0, XIANAJIANGJIN ) 
+					);
+				/*IF R1_ORI_BONUS_QY_BD IS NULL THEN
+				SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+				END IF;*/
+			END IF;
+			IF
+				R2_ORI_BONUS_QY_BD > 0  THEN
+				SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+				
+			END IF;
+			
+			SET R1_PARENT_USER_NAME = R2_PARENT_USER_NAME;
+			UNTIL JIJIANGDAISHU >= 11 
+			OR R2_USER_NAME IS NULL 
+		END REPEAT;
+		FETCH NEXT 
+		FROM
+			rs INTO R1_USER_NAME,
+			R1_REAL_NAME,
+			R1_ORI_BONUS_QY_BD,
+			R1_PARENT_USER_NAME,
+			R1_PARENT_REAL_NAME;
+		UNTIL Done 
+	END REPEAT;
+/* 关闭游标 */
+	CLOSE rs;
+
+END

+ 1 - 0
存储过程/创建函数前执行语句.sql

@@ -0,0 +1 @@
+set  global log_bin_trust_function_creators = 1 ;

+ 382 - 0
存储过程/管理奖1.0.sql

@@ -0,0 +1,382 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GL`(
+                     `PRM_PERIOD_NUM` INT
+                     )
+BEGIN
+    DECLARE
+    Done INT DEFAULT 0;
+    DECLARE
+    R1_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R1_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_USER_LEVEL VARCHAR ( 10 );
+    DECLARE
+    R1_PARENT_LEVEL VARCHAR ( 10 );
+    DECLARE
+    R1_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R3_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    SHIJIDAISHU INT DEFAULT 0;
+    DECLARE
+    JICENGDAISHU INT DEFAULT 0;
+    DECLARE
+    JIJIANGDAISHU INT DEFAULT 0;
+    DECLARE
+    R1_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+    DECLARE
+    R2_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R2_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+    DECLARE
+    R2_BDYJ DECIMAL ( 16, 3 );
+    DECLARE
+    R3_BDYJ DECIMAL ( 16, 3 );
+    DECLARE
+    R2_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    XIANAJIANGJIN DECIMAL ( 16, 3 );
+    DECLARE
+    TUIGUANGRENSHU INT;
+    DECLARE
+    DAISHUXIANZHI INT;
+    DECLARE
+    JIANGJINBILI DECIMAL ( 16, 3 );
+    /* 声明游标 */
+    DECLARE
+    rs
+    CURSOR FOR
+    SELECT
+              U.USER_NAME
+            , U.REAL_NAME
+            , B.ORI_BONUS_QY_BD
+            , U2.USER_NAME AS PARENT_USER_NAME
+            , U2.REAL_NAME AS PARENT_REAL_NAME
+    FROM
+              ar_calc_bonus B
+              LEFT JOIN
+                        ar_user U
+                        ON
+                                  U.ID = B.USER_ID
+              LEFT JOIN
+                        ar_user_relation_new R
+                        ON
+                                  R.USER_ID = B.USER_ID
+              LEFT JOIN
+                        ar_user U2
+                        ON
+                                  U2.ID = R.PARENT_UID
+              LEFT JOIN
+                        ar_perf_period P
+                        ON
+                                  P.USER_ID        = U.ID
+                                  AND P.PERIOD_NUM = PRM_PERIOD_NUM
+    WHERE
+              B.PERIOD_NUM          = PRM_PERIOD_NUM
+              AND B.ORI_BONUS_QY_BD > 0
+    ;
+    
+    /* 异常处理 */
+    DECLARE
+    CONTINUE HANDLER FOR SQLSTATE '02000'
+    SET Done = 1;
+    /* 打开游标 */
+    OPEN rs;
+    DELETE
+    FROM
+           ek_temp_gl_cs
+    ;
+    
+    /* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+    FETCH NEXT
+    FROM
+          rs
+    INTO
+          R1_USER_NAME
+        , R1_REAL_NAME
+        , R1_ORI_BONUS_QY_BD
+        , R1_PARENT_USER_NAME
+        , R1_PARENT_REAL_NAME
+    ;
+    
+    /* 遍历数据表 */
+    REPEAT
+        SET JIJIANGDAISHU = 1;
+        SET JICENGDAISHU  = 1;
+        SET SHIJIDAISHU   = 0;-- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX);
+        REPEAT
+            SET R2_USER_NAME = NULL;
+            SELECT
+                      A.USER_NAME
+                    , A.REAL_NAME
+                    , A.LEVEL_NAME
+                    , A.ORI_BONUS_QY_BD
+                    , A.PARENT_USER_NAME
+                    , A.PARENT_REAL_NAME
+                    , A.PARENT_LEVEL_NAME
+                    , A.BDYJ
+                    , A.TUIGUANGRENSHU
+                    , G.`实际代数`
+            INTO
+                      R2_USER_NAME
+                    , R2_REAL_NAME
+                    , R1_USER_LEVEL
+                    , R2_ORI_BONUS_QY_BD
+                    , R2_PARENT_USER_NAME
+                    , R2_PARENT_REAL_NAME
+                    , R1_PARENT_LEVEL
+                    , R2_BDYJ
+                    , TUIGUANGRENSHU
+                    , DAISHUXIANZHI
+            FROM
+                      (
+                                SELECT
+                                          U.USER_NAME
+                                        , U.REAL_NAME
+                                        , D.LEVEL_NAME
+                                        , IFNULL( B.ORI_BONUS_QY_BD, 0 )                     AS ORI_BONUS_QY_BD
+                                        , U2.USER_NAME                                       AS PARENT_USER_NAME
+                                        , U2.REAL_NAME                                       AS PARENT_REAL_NAME
+                                        , D2.LEVEL_NAME                                      AS PARENT_LEVEL_NAME
+                                        ,( XIAOYEJI ( R1_PARENT_USER_NAME, PRM_PERIOD_NUM )) AS BDYJ
+                                        , (
+                                                 SELECT
+                                                        COUNT(*)
+                                                 FROM
+                                                        zr_user_vw R
+                                                 WHERE
+                                                        R.`推荐编号` = U.USER_NAME
+                                          )
+                                          AS TUIGUANGRENSHU
+                                FROM
+                                          ar_user U
+                                          LEFT JOIN
+                                                    ar_calc_bonus B
+                                                    ON
+                                                              B.USER_ID        = U.ID
+                                                              AND B.PERIOD_NUM = PRM_PERIOD_NUM
+                                          LEFT JOIN
+                                                    ar_declaration_level D
+                                                    ON
+                                                              D.ID = U.DEC_LV
+                                          LEFT JOIN
+                                                    ar_user_relation_new R
+                                                    ON
+                                                              R.USER_ID = U.ID
+                                          LEFT JOIN
+                                                    ar_user U2
+                                                    ON
+                                                              U2.ID = R.PARENT_UID
+                                          LEFT JOIN
+                                                    ar_declaration_level D2
+                                                    ON
+                                                              D2.ID = U2.DEC_LV
+                                          LEFT JOIN
+                                                    ar_perf_period P
+                                                    ON
+                                                              P.USER_ID        = U.ID
+                                                              AND P.PERIOD_NUM = PRM_PERIOD_NUM
+                                WHERE
+                                          U.USER_NAME = R1_PARENT_USER_NAME
+                      )
+                      A
+                      LEFT JOIN
+                                ek_temp_glds G
+                                ON
+                                          G.`会员级别`     = A.LEVEL_NAME
+                                          AND G.`推广人数` =
+                                          IF
+                                          (
+                                                    A.TUIGUANGRENSHU > 3, 3, A.TUIGUANGRENSHU
+                                          )
+            ;
+            
+            SET Done        = 0;
+            SET SHIJIDAISHU = SHIJIDAISHU + 1;-- SET SHANGDAI = SHANGDAI + 1;
+            IF R2_USER_NAME IS NOT NULL THEN
+                SET JIANGJINBILI     = 0;
+                SET XIANAJIANGJIN    = 0;
+                IF JIJIANGDAISHU    <= DAISHUXIANZHI THEN
+                    IF JIJIANGDAISHU = 1
+                        OR
+                        JIJIANGDAISHU = 3
+                        OR
+                        JIJIANGDAISHU    = 5 THEN
+                        SET JIANGJINBILI = 0.05;
+                    ELSEIF
+                        JIJIANGDAISHU = 7
+                        OR
+                        JIJIANGDAISHU = 9
+                        OR
+                        JIJIANGDAISHU    = 11 THEN
+                        SET JIANGJINBILI = 0.04;
+                    ELSEIF
+                        JIJIANGDAISHU = 13
+                        OR
+                        JIJIANGDAISHU = 15
+                        OR
+                        JIJIANGDAISHU    = 17 THEN
+                        SET JIANGJINBILI = 0.03;
+                    ELSE
+                        SET JIANGJINBILI = 0;
+                    END IF;
+                    SET XIANAJIANGJIN = R1_ORI_BONUS_QY_BD * JIANGJINBILI;
+                END IF;
+                IF R2_ORI_BONUS_QY_BD > 0 THEN
+                    SET JICENGDAISHU  = JICENGDAISHU + 1;
+                END IF;
+                INSERT INTO ek_temp_gl_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            , `得奖人级别`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `实际代数`
+                            , `计层代数`
+                            , `计奖代数`
+                            , `给奖人报团奖`
+                            , `得奖人报团奖`
+                            , `得奖人小业绩`
+                            , `奖金`
+                            , `推广人数`
+                            , `代数限制`
+                            , `奖金比例`
+                       )
+                       VALUES
+                       ( R2_USER_NAME
+                            , R2_REAL_NAME
+                            , R1_USER_LEVEL
+                            , R1_USER_NAME
+                            , R1_REAL_NAME
+                            , SHIJIDAISHU
+                            , JICENGDAISHU
+                            , JIJIANGDAISHU
+                            , R1_ORI_BONUS_QY_BD
+                            , R2_ORI_BONUS_QY_BD
+                            , R2_BDYJ
+                            , if(r2_bdyj <980,0,XIANAJIANGJIN)
+                            , TUIGUANGRENSHU
+                            , DAISHUXIANZHI
+                            , JIANGJINBILI
+                       )
+                ;
+                
+                SET JIJIANGDAISHU = JICENGDAISHU;
+            END IF;
+            IF R2_BDYJ < 980 THEN
+                SELECT
+                       U.`推荐编号`
+                INTO
+                       R3_PARENT_USER_NAME
+                FROM
+                       zr_user_vw U
+                WHERE
+                       U.`会员编号` = R2_USER_NAME
+                ;
+                
+                REPEAT
+                    SELECT
+                              U.USER_NAME
+                            , U.REAL_NAME
+                            , U2.USER_NAME                               AS PARENT_USER_NAME
+                            , U2.REAL_NAME                               AS PARENT_REAL_NAME
+                            ,( XIAOYEJI ( U.USER_NAME, PRM_PERIOD_NUM )) AS BDYJ
+                    INTO
+                              R3_USER_NAME
+                            , R3_REAL_NAME
+                            , R3_PARENT_USER_NAME
+                            , R3_PARENT_REAL_NAME
+                            , R3_BDYJ
+                    FROM
+                              ar_user U
+                              LEFT JOIN
+                                        ar_user_relation_new R
+                                        ON
+                                                  R.USER_ID = U.ID
+                              LEFT JOIN
+                                        ar_user U2
+                                        ON
+                                                  U2.ID = R.PARENT_UID
+                              LEFT JOIN
+                                        ar_perf_period P
+                                        ON
+                                                  P.USER_ID        = U.ID
+                                                  AND P.PERIOD_NUM = PRM_PERIOD_NUM
+                    WHERE
+                              U.USER_NAME = R3_PARENT_USER_NAME
+                    ;
+                    
+                    INSERT INTO ek_temp_gl_cs
+                           ( `得奖人编号`
+                                , `得奖人姓名`
+                                , `得奖人级别`
+                                , `给奖人编号`
+                                , `给奖人姓名`
+                                , `实际代数`
+                                , `计层代数`
+                                , `计奖代数`
+                                , `给奖人报团奖`
+                                , `得奖人报团奖`
+                                , `得奖人小业绩`
+                                , `奖金`
+                                , `推广人数`
+                                , `奖金比例`
+                                , `是否紧缩980`
+                           )
+                           VALUES
+                           ( R3_USER_NAME
+                                , R3_REAL_NAME
+                                , NULL
+                                , R1_USER_NAME
+                                , R1_REAL_NAME
+                                , NULL
+                                , NULL
+                                , NULL
+                                , NULL
+                                , NULL
+                                , R3_BDYJ
+                                , if(r3_bdyj >=980 ,XIANAJIANGJIN,0)
+                                , NULL
+                                , NULL
+                                , 1
+                           )
+                    ;
+                    
+                    UNTIL R3_BDYJ >= 980
+                    OR
+                    R3_PARENT_USER_NAME IS NULL
+                END REPEAT;
+            END IF;
+            SET R1_PARENT_USER_NAME = R2_PARENT_USER_NAME;
+            UNTIL JIJIANGDAISHU    >= 18
+            OR
+            R2_USER_NAME IS NULL
+        END REPEAT;
+        FETCH NEXT
+        FROM
+              rs
+        INTO
+              R1_USER_NAME
+            , R1_REAL_NAME
+            , R1_ORI_BONUS_QY_BD
+            , R1_PARENT_USER_NAME
+            , R1_PARENT_REAL_NAME
+        ;
+        
+        UNTIL Done
+    END REPEAT;
+    /* 关闭游标 */
+    CLOSE rs;
+END

+ 305 - 0
存储过程/管理奖1.1.sql

@@ -0,0 +1,305 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GL`(
+                     `PRM_PERIOD_NUM` INT
+                     )
+BEGIN
+    DECLARE
+    Done INT DEFAULT 0;
+    DECLARE
+    R1_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R1_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_USER_LEVEL VARCHAR ( 10 );
+    DECLARE
+    R1_PARENT_LEVEL VARCHAR ( 10 );
+    DECLARE
+    R1_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R3_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    SHIJIDAISHU INT DEFAULT 0;
+    /*DECLARE
+    JICENGDAISHU INT DEFAULT 0;*/
+    DECLARE
+    JIJIANGDAISHU INT DEFAULT 0;
+    DECLARE
+    R1_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+    DECLARE
+    R2_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R2_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+    DECLARE
+    R2_BDYJ DECIMAL ( 16, 3 );
+    DECLARE
+    R3_BDYJ DECIMAL ( 16, 3 );
+    DECLARE
+    R2_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    XIANAJIANGJIN DECIMAL ( 16, 3 );
+    DECLARE
+    TUIGUANGRENSHU INT;
+    DECLARE
+    DAISHUXIANZHI INT;
+    DECLARE
+    JIANGJINBILI DECIMAL ( 16, 3 );
+    /* 声明游标 */
+    DECLARE
+    rs
+    CURSOR FOR
+    SELECT
+              U.USER_NAME
+            , U.REAL_NAME
+            , B.ORI_BONUS_QY_BD
+            , U2.USER_NAME AS PARENT_USER_NAME
+            , U2.REAL_NAME AS PARENT_REAL_NAME
+    FROM
+              ar_calc_bonus B
+              LEFT JOIN
+                        ar_user U
+                        ON
+                                  U.ID = B.USER_ID
+              LEFT JOIN
+                        ar_user_relation_new R
+                        ON
+                                  R.USER_ID = B.USER_ID
+              LEFT JOIN
+                        ar_user U2
+                        ON
+                                  U2.ID = R.PARENT_UID
+              LEFT JOIN
+                        ar_perf_period P
+                        ON
+                                  P.USER_ID        = U.ID
+                                  AND P.PERIOD_NUM = PRM_PERIOD_NUM
+    WHERE
+              B.PERIOD_NUM          = PRM_PERIOD_NUM
+              AND B.ORI_BONUS_QY_BD > 0
+    ;
+    
+    /* 异常处理 */
+    DECLARE
+    CONTINUE HANDLER FOR SQLSTATE '02000'
+    SET Done = 1;
+    /* 打开游标 */
+    OPEN rs;
+    DELETE
+    FROM
+           ek_temp_gl_cs
+    ;
+    
+    /* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+    FETCH NEXT
+    FROM
+          rs
+    INTO
+          R1_USER_NAME
+        , R1_REAL_NAME
+        , R1_ORI_BONUS_QY_BD
+        , R1_PARENT_USER_NAME
+        , R1_PARENT_REAL_NAME
+    ;
+    
+    /* 遍历数据表 */
+    REPEAT
+        SET JIJIANGDAISHU = 1;
+       --  SET JICENGDAISHU  = 1;
+        SET SHIJIDAISHU   = 0;-- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX);
+        REPEAT
+            SET R2_USER_NAME = NULL;
+            SELECT
+                      A.USER_NAME
+                    , A.REAL_NAME
+                    , A.LEVEL_NAME
+                    , A.ORI_BONUS_QY_BD
+                    , A.PARENT_USER_NAME
+                    , A.PARENT_REAL_NAME
+                    , A.PARENT_LEVEL_NAME
+                    , A.BDYJ
+                    , A.TUIGUANGRENSHU
+                    , G.`实际代数`
+            INTO
+                      R2_USER_NAME
+                    , R2_REAL_NAME
+                    , R1_USER_LEVEL
+                    , R2_ORI_BONUS_QY_BD
+                    , R2_PARENT_USER_NAME
+                    , R2_PARENT_REAL_NAME
+                    , R1_PARENT_LEVEL
+                    , R2_BDYJ
+                    , TUIGUANGRENSHU
+                    , DAISHUXIANZHI
+            FROM
+                      (
+                                SELECT
+                                          U.USER_NAME
+                                        , U.REAL_NAME
+                                        , D.LEVEL_NAME
+                                        , IFNULL( B.ORI_BONUS_QY_BD, 0 )                     AS ORI_BONUS_QY_BD
+                                        , U2.USER_NAME                                       AS PARENT_USER_NAME
+                                        , U2.REAL_NAME                                       AS PARENT_REAL_NAME
+                                        , D2.LEVEL_NAME                                      AS PARENT_LEVEL_NAME
+                                        ,( XIAOYEJI ( R1_PARENT_USER_NAME, PRM_PERIOD_NUM )) AS BDYJ
+                                        , (
+                                                 SELECT
+                                                        COUNT(*)
+                                                 FROM
+                                                        zr_user_vw R
+                                                 WHERE
+                                                        R.`推荐编号` = U.USER_NAME
+                                          )
+                                          AS TUIGUANGRENSHU
+                                FROM
+                                          ar_user U
+                                          LEFT JOIN
+                                                    ar_calc_bonus B
+                                                    ON
+                                                              B.USER_ID        = U.ID
+                                                              AND B.PERIOD_NUM = PRM_PERIOD_NUM
+                                          LEFT JOIN
+                                                    ar_declaration_level D
+                                                    ON
+                                                              D.ID = U.DEC_LV
+                                          LEFT JOIN
+                                                    ar_user_relation_new R
+                                                    ON
+                                                              R.USER_ID = U.ID
+                                          LEFT JOIN
+                                                    ar_user U2
+                                                    ON
+                                                              U2.ID = R.PARENT_UID
+                                          LEFT JOIN
+                                                    ar_declaration_level D2
+                                                    ON
+                                                              D2.ID = U2.DEC_LV
+                                          LEFT JOIN
+                                                    ar_perf_period P
+                                                    ON
+                                                              P.USER_ID        = U.ID
+                                                              AND P.PERIOD_NUM = PRM_PERIOD_NUM
+                                WHERE
+                                          U.USER_NAME = R1_PARENT_USER_NAME
+                      )
+                      A
+                      LEFT JOIN
+                                ek_temp_glds G
+                                ON
+                                          G.`会员级别`     = A.LEVEL_NAME
+                                          AND G.`推广人数` =
+                                          IF
+                                          (
+                                                    A.TUIGUANGRENSHU > 3, 3, A.TUIGUANGRENSHU
+                                          )
+            ;
+            
+            SET Done        = 0;
+            SET SHIJIDAISHU = SHIJIDAISHU + 1;-- SET SHANGDAI = SHANGDAI + 1;
+						
+            IF R2_USER_NAME IS NOT NULL THEN
+                SET JIANGJINBILI     = 0;
+                SET XIANAJIANGJIN    = 0;
+                IF JIJIANGDAISHU    <= DAISHUXIANZHI AND JIJIANGDAISHU%2 = 1 AND R1_ORI_BONUS_QY_BD > 0 THEN
+                    IF JIJIANGDAISHU = 1
+                        OR
+                        JIJIANGDAISHU = 3
+                        OR
+                        JIJIANGDAISHU    = 5 THEN
+                        SET JIANGJINBILI = 0.05;
+                    ELSEIF
+                        JIJIANGDAISHU = 7
+                        OR
+                        JIJIANGDAISHU = 9
+                        OR
+                        JIJIANGDAISHU    = 11 THEN
+                        SET JIANGJINBILI = 0.04;
+                    ELSEIF
+                        JIJIANGDAISHU = 13
+                        OR
+                        JIJIANGDAISHU = 15
+                        OR
+                        JIJIANGDAISHU    = 17 THEN
+                        SET JIANGJINBILI = 0.03;
+                    ELSE
+                        SET JIANGJINBILI = 0;
+                    END IF;
+                    SET XIANAJIANGJIN = R1_ORI_BONUS_QY_BD * JIANGJINBILI;
+										
+                END IF;
+											
+										
+                /*IF R2_ORI_BONUS_QY_BD > 0 THEN
+                    SET JICENGDAISHU  = JICENGDAISHU + 1;
+                END IF;*/ 
+                INSERT INTO ek_temp_gl_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            , `得奖人级别`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `实际代数`
+                            , `计层代数`
+                            , `计奖代数`
+                            , `给奖人报团奖`
+                            , `得奖人报团奖`
+                            , `得奖人小业绩`
+                            , `奖金`
+                            , `推广人数`
+                            , `代数限制`
+                            , `奖金比例`
+                       )
+                       VALUES
+                       ( R2_USER_NAME
+                            , R2_REAL_NAME
+                            , R1_USER_LEVEL
+                            , R1_USER_NAME
+                            , R1_REAL_NAME
+                            , SHIJIDAISHU
+                            , NULL
+                            , IF(r2_bdyj <980,NULL,JIJIANGDAISHU)
+                            , R1_ORI_BONUS_QY_BD
+                            , R2_ORI_BONUS_QY_BD
+                            , R2_BDYJ
+                            , if(r2_bdyj <980,0,XIANAJIANGJIN)
+                            , TUIGUANGRENSHU
+                            , DAISHUXIANZHI
+                            , JIANGJINBILI
+                       )
+                ;
+               --  SET JIJIANGDAISHU = JICENGDAISHU;
+									
+            END IF;
+            IF R2_BDYJ >= 980 THEN
+               SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+            END IF;
+            SET R1_PARENT_USER_NAME = R2_PARENT_USER_NAME;
+            UNTIL JIJIANGDAISHU    >= 18 
+            OR
+            R2_USER_NAME IS NULL
+        END REPEAT;
+        FETCH NEXT
+        FROM
+              rs
+        INTO
+              R1_USER_NAME
+            , R1_REAL_NAME
+            , R1_ORI_BONUS_QY_BD
+            , R1_PARENT_USER_NAME
+            , R1_PARENT_REAL_NAME
+        ;
+        
+        UNTIL Done
+    END REPEAT;
+    /* 关闭游标 */
+    CLOSE rs;
+END

+ 305 - 0
存储过程/管理奖1.2(1.2均无紧缩).sql

@@ -0,0 +1,305 @@
+CREATE DEFINER=`bi`@`%` PROCEDURE `BONUS_GL`(
+                     `PRM_PERIOD_NUM` INT
+                     )
+BEGIN
+    DECLARE
+    Done INT DEFAULT 0;
+    DECLARE
+    R1_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R1_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_USER_LEVEL VARCHAR ( 10 );
+    DECLARE
+    R1_PARENT_LEVEL VARCHAR ( 10 );
+    DECLARE
+    R1_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R3_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R3_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R1_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    SHIJIDAISHU INT DEFAULT 0;
+    /*DECLARE
+    JICENGDAISHU INT DEFAULT 0;*/
+    DECLARE
+    JIJIANGDAISHU INT DEFAULT 0;
+    DECLARE
+    R1_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+    DECLARE
+    R2_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    R2_ORI_BONUS_QY_BD DECIMAL ( 16, 3 );
+    DECLARE
+    R2_BDYJ DECIMAL ( 16, 3 );
+    DECLARE
+    R3_BDYJ DECIMAL ( 16, 3 );
+    DECLARE
+    R2_PARENT_USER_NAME VARCHAR ( 30 );
+    DECLARE
+    R2_PARENT_REAL_NAME VARCHAR ( 50 );
+    DECLARE
+    XIANAJIANGJIN DECIMAL ( 16, 3 );
+    DECLARE
+    TUIGUANGRENSHU INT;
+    DECLARE
+    DAISHUXIANZHI INT;
+    DECLARE
+    JIANGJINBILI DECIMAL ( 16, 3 );
+    /* 声明游标 */
+    DECLARE
+    rs
+    CURSOR FOR
+    SELECT
+              U.USER_NAME
+            , U.REAL_NAME
+            , B.ORI_BONUS_QY_BD
+            , U2.USER_NAME AS PARENT_USER_NAME
+            , U2.REAL_NAME AS PARENT_REAL_NAME
+    FROM
+              ar_calc_bonus B
+              LEFT JOIN
+                        ar_user U
+                        ON
+                                  U.ID = B.USER_ID
+              LEFT JOIN
+                        ar_user_relation_new R
+                        ON
+                                  R.USER_ID = B.USER_ID
+              LEFT JOIN
+                        ar_user U2
+                        ON
+                                  U2.ID = R.PARENT_UID
+              LEFT JOIN
+                        ar_perf_period P
+                        ON
+                                  P.USER_ID        = U.ID
+                                  AND P.PERIOD_NUM = PRM_PERIOD_NUM
+    WHERE
+              B.PERIOD_NUM          = PRM_PERIOD_NUM
+              AND B.ORI_BONUS_QY_BD > 0
+    ;
+    
+    /* 异常处理 */
+    DECLARE
+    CONTINUE HANDLER FOR SQLSTATE '02000'
+    SET Done = 1;
+    /* 打开游标 */
+    OPEN rs;
+    DELETE
+    FROM
+           ek_temp_gl_cs
+    ;
+    
+    /* 逐个取出当前记录LingQi字段的值,需要进行最大值的判断 */
+    FETCH NEXT
+    FROM
+          rs
+    INTO
+          R1_USER_NAME
+        , R1_REAL_NAME
+        , R1_ORI_BONUS_QY_BD
+        , R1_PARENT_USER_NAME
+        , R1_PARENT_REAL_NAME
+    ;
+    
+    /* 遍历数据表 */
+    REPEAT
+        SET JIJIANGDAISHU = 1;
+       --  SET JICENGDAISHU  = 1;
+        SET SHIJIDAISHU   = 0;-- INSERT INTO ORI_BONUS_GX_CS(USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX) VALUES (USER_NAME,REAL_NAME,PARENT_NAME,ORI_BONUS_GX);
+        REPEAT
+            SET R2_USER_NAME = NULL;
+            SELECT
+                      A.USER_NAME
+                    , A.REAL_NAME
+                    , A.LEVEL_NAME
+                    , A.ORI_BONUS_QY_BD
+                    , A.PARENT_USER_NAME
+                    , A.PARENT_REAL_NAME
+                    , A.PARENT_LEVEL_NAME
+                    , A.BDYJ
+                    , A.TUIGUANGRENSHU
+                    , G.`实际代数`
+            INTO
+                      R2_USER_NAME
+                    , R2_REAL_NAME
+                    , R1_USER_LEVEL
+                    , R2_ORI_BONUS_QY_BD
+                    , R2_PARENT_USER_NAME
+                    , R2_PARENT_REAL_NAME
+                    , R1_PARENT_LEVEL
+                    , R2_BDYJ
+                    , TUIGUANGRENSHU
+                    , DAISHUXIANZHI
+            FROM
+                      (
+                                SELECT
+                                          U.USER_NAME
+                                        , U.REAL_NAME
+                                        , D.LEVEL_NAME
+                                        , IFNULL( B.ORI_BONUS_QY_BD, 0 )                     AS ORI_BONUS_QY_BD
+                                        , U2.USER_NAME                                       AS PARENT_USER_NAME
+                                        , U2.REAL_NAME                                       AS PARENT_REAL_NAME
+                                        , D2.LEVEL_NAME                                      AS PARENT_LEVEL_NAME
+                                        ,( XIAOYEJI ( R1_PARENT_USER_NAME, PRM_PERIOD_NUM )) AS BDYJ
+                                        , (
+                                                 SELECT
+                                                        COUNT(*)
+                                                 FROM
+                                                        zr_user_vw R
+                                                 WHERE
+                                                        R.`推荐编号` = U.USER_NAME
+                                          )
+                                          AS TUIGUANGRENSHU
+                                FROM
+                                          ar_user U
+                                          LEFT JOIN
+                                                    ar_calc_bonus B
+                                                    ON
+                                                              B.USER_ID        = U.ID
+                                                              AND B.PERIOD_NUM = PRM_PERIOD_NUM
+                                          LEFT JOIN
+                                                    ar_declaration_level D
+                                                    ON
+                                                              D.ID = U.DEC_LV
+                                          LEFT JOIN
+                                                    ar_user_relation_new R
+                                                    ON
+                                                              R.USER_ID = U.ID
+                                          LEFT JOIN
+                                                    ar_user U2
+                                                    ON
+                                                              U2.ID = R.PARENT_UID
+                                          LEFT JOIN
+                                                    ar_declaration_level D2
+                                                    ON
+                                                              D2.ID = U2.DEC_LV
+                                          LEFT JOIN
+                                                    ar_perf_period P
+                                                    ON
+                                                              P.USER_ID        = U.ID
+                                                              AND P.PERIOD_NUM = PRM_PERIOD_NUM
+                                WHERE
+                                          U.USER_NAME = R1_PARENT_USER_NAME
+                      )
+                      A
+                      LEFT JOIN
+                                ek_temp_glds G
+                                ON
+                                          G.`会员级别`     = A.LEVEL_NAME
+                                          AND G.`推广人数` =
+                                          IF
+                                          (
+                                                    A.TUIGUANGRENSHU > 3, 3, A.TUIGUANGRENSHU
+                                          )
+            ;
+            
+            SET Done        = 0;
+            SET SHIJIDAISHU = SHIJIDAISHU + 1;-- SET SHANGDAI = SHANGDAI + 1;
+						
+            IF R2_USER_NAME IS NOT NULL THEN
+                SET JIANGJINBILI     = 0;
+                SET XIANAJIANGJIN    = 0;
+                IF JIJIANGDAISHU    <= DAISHUXIANZHI AND JIJIANGDAISHU%2 = 1 AND R1_ORI_BONUS_QY_BD > 0 THEN
+                    IF JIJIANGDAISHU = 1
+                        OR
+                        JIJIANGDAISHU = 3
+                        OR
+                        JIJIANGDAISHU    = 5 THEN
+                        SET JIANGJINBILI = 0.05;
+                    ELSEIF
+                        JIJIANGDAISHU = 7
+                        OR
+                        JIJIANGDAISHU = 9
+                        OR
+                        JIJIANGDAISHU    = 11 THEN
+                        SET JIANGJINBILI = 0.04;
+                    ELSEIF
+                        JIJIANGDAISHU = 13
+                        OR
+                        JIJIANGDAISHU = 15
+                        OR
+                        JIJIANGDAISHU    = 17 THEN
+                        SET JIANGJINBILI = 0.03;
+                    ELSE
+                        SET JIANGJINBILI = 0;
+                    END IF;
+                    SET XIANAJIANGJIN = R1_ORI_BONUS_QY_BD * JIANGJINBILI;
+										
+                END IF;
+											
+										
+                /*IF R2_ORI_BONUS_QY_BD > 0 THEN
+                    SET JICENGDAISHU  = JICENGDAISHU + 1;
+                END IF;*/ 
+                INSERT INTO ek_temp_gl_cs
+                       ( `得奖人编号`
+                            , `得奖人姓名`
+                            , `得奖人级别`
+                            , `给奖人编号`
+                            , `给奖人姓名`
+                            , `实际代数`
+                            , `计层代数`
+                            , `计奖代数`
+                            , `给奖人报团奖`
+                            , `得奖人报团奖`
+                            , `得奖人小业绩`
+                            , `奖金`
+                            , `推广人数`
+                            , `代数限制`
+                            , `奖金比例`
+                       )
+                       VALUES
+                       ( R2_USER_NAME
+                            , R2_REAL_NAME
+                            , R1_USER_LEVEL
+                            , R1_USER_NAME
+                            , R1_REAL_NAME
+                            , SHIJIDAISHU
+                            , NULL
+                            , IF(R2_ORI_BONUS_QY_BD = 0,NULL,JIJIANGDAISHU)
+                            , R1_ORI_BONUS_QY_BD
+                            , R2_ORI_BONUS_QY_BD
+                            , R2_BDYJ
+                            , IF(R2_ORI_BONUS_QY_BD = 0,0,XIANAJIANGJIN)
+                            , TUIGUANGRENSHU
+                            , DAISHUXIANZHI
+                            , JIANGJINBILI
+                       )
+                ;
+               --  SET JIJIANGDAISHU = JICENGDAISHU;
+									
+            END IF;
+            IF R2_ORI_BONUS_QY_BD > 0 THEN
+               SET JIJIANGDAISHU = JIJIANGDAISHU + 1;
+            END IF;
+            SET R1_PARENT_USER_NAME = R2_PARENT_USER_NAME;
+            UNTIL JIJIANGDAISHU    >= 18 
+            OR
+            R2_USER_NAME IS NULL
+        END REPEAT;
+        FETCH NEXT
+        FROM
+              rs
+        INTO
+              R1_USER_NAME
+            , R1_REAL_NAME
+            , R1_ORI_BONUS_QY_BD
+            , R1_PARENT_USER_NAME
+            , R1_PARENT_REAL_NAME
+        ;
+        
+        UNTIL Done
+    END REPEAT;
+    /* 关闭游标 */
+    CLOSE rs;
+END

+ 44 - 0
报表/业绩单检查.sql

@@ -0,0 +1,44 @@
+SELECT
+	B.`会员编号`,
+	B.`期数`,
+	A.`报单金额`,
+	A.`报单PV`,
+	B.`商品金额`,
+	B.`PV合计`,
+	(A.`报单PV`-B.`PV合计`) AS 核对结果
+FROM
+	(SELECT
+		W.`会员编号`,
+		W.`期数`,
+		SUM(W.`商品金额`) AS 商品金额,
+		SUM(W.`PV合计`) AS PV合计
+	FROM zr_order_vw W 
+	WHERE 期数 = 161
+		GROUP BY W.`会员编号`) B
+	LEFT JOIN
+	(SELECT
+		Y.`会员编号`,
+		Y.`结算期数` AS 期数,
+		SUM(Y.`报单金额`) AS 报单金额,
+		SUM(Y.`报单PV`) AS 报单PV
+	FROM `业绩单` Y
+	WHERE 结算期数 = 161
+		GROUP BY Y.`会员编号`) A
+		ON	A.`会员编号` = B.`会员编号`
+		
+		
+		SELECT P.PERIOD_NUM AS 期数,
+			A.新增银钻,
+			(A.新增银钻/A.新增合计) AS 银钻比例,
+			A.新增金钻,
+			(A.新增金钻/A.新增合计) AS 金钻比例,
+			A.新增VIP,
+			(A.新增VIP/A.新增合计) AS VIP比例,
+			A.新增合计,
+			A.复消会员
+		FROM ar_period P,((SELECT COUNT(`实时会员级别`) AS 新增银钻 FROM zr_user_vw V1 WHERE 实时会员级别 = "银钻会员" AND V1.`加入期数` = P.PERIOD_NUM) 新增银钻,
+			(SELECT COUNT(`实时会员级别`) AS 新增金钻 FROM zr_user_vw V2 WHERE 实时会员级别 = "金钻会员" AND V2.`加入期数` = P.PERIOD_NUM) 新增金钻,
+			(SELECT COUNT(`实时会员级别`) AS 新增VIP FROM zr_user_vw V3 WHERE 实时会员级别 = "VIP会员" AND V3.`加入期数` = P.PERIOD_NUM) 新增VIP,
+			(SELECT COUNT(`实时会员级别`) AS 新增合计 FROM zr_user_vw V4 WHERE V4.`加入期数` = P.PERIOD_NUM) 新增合计,
+			(SELECT COUNT(DISTINCT 会员编号) AS 复消会员 FROM zr_product_pkg_vw WHERE 期数 = P.PERIOD_NUM AND (订单类型 = "复消" OR 订单类型 = "积分")) 复消会员) A
+		WHERE P.PERIOD_NUM = 166

+ 21 - 0
报表/业绩来源SUM金额SQL.sql

@@ -0,0 +1,21 @@
+	SELECT
+		A.期数,
+		A.爱康,
+		(A.爱康/(A.爱康+A.理想+A.QJ+A.其他)) AS 爱康比例,
+		A.理想,
+		(A.理想/(A.爱康+A.理想+A.QJ+A.其他))AS 理想比例,
+		A.QJ,
+		(A.QJ/(A.爱康+A.理想+A.QJ+A.其他))AS QJ比例,
+		A.其他,
+		(A.其他/(A.爱康+A.理想+A.QJ+A.其他))AS 其他比例,
+		(A.爱康+A.理想+A.QJ+A.其他) AS 合计
+	FROM
+	(SELECT
+		P.PERIOD_NUM AS 期数,
+		(SELECT SUM(V1.`商品金额`) AS QJ FROM zr_product_pkg_vw V1 LEFT JOIN `产品信息` C1 ON V1.`存货编码` = C1.`存货编码` WHERE	V1.`期数` = P.PERIOD_NUM AND C1.`来源` = 'QJ') AS QJ,
+		(SELECT SUM(V4.`商品金额`) AS 爱康 FROM zr_product_pkg_vw V4 LEFT JOIN `产品信息` C4 ON V4.`存货编码` = C4.`存货编码` WHERE	V4.`期数` = P.PERIOD_NUM AND C4.`来源` = '爱康') AS 爱康,
+		(SELECT SUM(V5.`商品金额`) AS 理想 FROM zr_product_pkg_vw V5 LEFT JOIN `产品信息` C5 ON V5.`存货编码` = C5.`存货编码` WHERE	V5.`期数` = P.PERIOD_NUM AND C5.`来源` = '理想') AS 理想,
+		(SELECT SUM(V3.`商品金额`) AS 其他 FROM zr_product_pkg_vw V3 LEFT JOIN `产品信息` C3 ON V3.`存货编码` = C3.`存货编码` WHERE	V3.`期数` = P.PERIOD_NUM AND C3.`来源` IS NULL) AS 其他
+	FROM
+		 ar_period P
+		WHERE P.PERIOD_NUM = 168) A

+ 34 - 0
报表/产品同比上期增长幅度.sql

@@ -0,0 +1,34 @@
+	SELECT
+		A.`名称`,
+		A.编码,
+		((A.`商品金额`-B.商品金额)/A.`商品金额`)
+	FROM	
+	(SELECT 
+		V.`期数` AS 期,
+		C.`存货编码` AS 编码,
+		C.`产品名称` AS 名称,
+		SUM(V.`数量`) AS 数量,
+		SUM(v.`商品金额`) AS 商品金额,
+		C.`来源` AS 源
+	FROM 
+		zr_product_pkg_vw V 
+		LEFT JOIN `产品信息` C ON V.`存货编码` = C.`存货编码` 
+	WHERE 
+		V.`期数` = 168 GROUP BY C.`存货编码` ORDER BY SUM(v.`商品金额`) DESC) A
+		
+	LEFT JOIN
+		
+	(SELECT 
+		V.`期数` AS 期,
+		C.`存货编码` AS 编码,
+		C.`产品名称` AS 名称,
+		SUM(V.`数量`) AS 数量,
+		SUM(v.`商品金额`) AS 商品金额,
+		C.`来源` AS 源
+	FROM 
+		zr_product_pkg_vw V 
+		LEFT JOIN `产品信息` C ON V.`存货编码` = C.`存货编码` 
+	WHERE 
+		V.`期数` = 167 GROUP BY C.`存货编码` ORDER BY SUM(v.`商品金额`) DESC) B
+	 
+	 ON A.`编码` = B.`编码`

+ 7 - 0
报表/产品销售额.sql

@@ -0,0 +1,7 @@
+SELECT 
+		C.`产品名称`,SUM(V.`数量`) AS 数量,SUM(v.`商品金额`) AS 商品金额,C.`来源` 
+	FROM 
+		zr_product_pkg_vw V 
+		LEFT JOIN `产品信息` C ON V.`存货编码` = C.`存货编码` 
+	WHERE 
+		V.`期数` = 161 GROUP BY C.`存货编码` ORDER BY SUM(v.`商品金额`) DESC

+ 30 - 0
报表/会员数量明细.sql

@@ -0,0 +1,30 @@
+SELECT
+	A.新增银钻,
+	(A.新增银钻/(A.新增银钻+A.新增金钻+A.新增VIP)) AS 银钻比例,
+	A.新增金钻,
+	(A.新增金钻/(A.新增银钻+A.新增金钻+A.新增VIP)) AS 金钻比例,
+	A.新增VIP,
+	(A.新增VIP/(A.新增银钻+A.新增金钻+A.新增VIP)) AS VIP比例,
+	(A.新增银钻+A.新增金钻+A.新增VIP) AS 新增合计,
+	A.复消会员,
+	(A.复消会员/B.`累计激活会员`) AS 复消比例,
+	B.`累计激活会员`
+FROM
+	(SELECT P.PERIOD_NUM AS 期数,
+			(
+			SELECT COUNT(`实时会员级别`) AS 新增银钻 FROM zr_user_vw V1 WHERE 实时会员级别 = "银钻会员" AND V1.`加入期数` = P.PERIOD_NUM
+			) 新增银钻,
+			(
+			SELECT COUNT(`实时会员级别`) AS 新增金钻 FROM zr_user_vw V2 WHERE 实时会员级别 = "金钻会员" AND V2.`加入期数` = P.PERIOD_NUM
+			) 新增金钻,
+			(
+			SELECT COUNT(`实时会员级别`) AS 新增VIP FROM zr_user_vw V3 WHERE 实时会员级别 = "VIP会员" AND V3.`加入期数` = P.PERIOD_NUM
+			) 新增VIP,
+			(
+			SELECT COUNT(DISTINCT 会员编号) AS 复消会员 FROM zr_product_pkg_vw WHERE 期数 = P.PERIOD_NUM AND (订单类型 = "复消" OR 订单类型 = "积分")
+			) 复消会员
+		FROM ar_period P
+		WHERE P.PERIOD_NUM = 167) A,
+		
+		(SELECT COUNT(U.USER_NAME) AS 累计激活会员 FROM ar_user U WHERE U.STATUS = 1) B
+		

+ 88 - 0
报表/各期奖金总表.sql

@@ -0,0 +1,88 @@
+SET @PERIOD_MIN = 158;
+SET @PERIOD_MAX = 159;
+
+SELECT
+A.`期数`,
+A2.`总金额`,
+A2.`总PV`,
+A3.`服务奖`,
+A3.`推广奖`,
+A3.`业绩奖`,
+A3.`消费奖`,
+A3.`共享奖`,
+A3.`管理奖`,
+A3.`团队奖`,
+A.`报单PV` * A3.`VIP奖参考比例` AS `VIP奖`,
+A2.`总PV` * A3.`荣衔奖参考比例` AS `荣衔奖`,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`) AS 总奖金,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`)/A2.`总金额` AS 总金额占比,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`)/A2.`总PV` AS 总PV占比
+FROM
+(SELECT
+		O.`期数`,
+		SUM( O.`PV合计` ) AS 报单PV 
+	FROM
+		zr_order_vw O 
+	WHERE
+		O.`期数` >= @PERIOD_MIN AND O.`期数` <= @PERIOD_MAX
+		AND O.`订单类型` = '报单' GROUP BY O.`期数`) A
+		LEFT JOIN 
+	 
+ (SELECT
+	O2.`期数`,
+	SUM( O2.`商品金额` ) AS 总金额,
+	SUM( O2.`PV合计` ) AS 总PV
+	FROM 
+		zr_order_vw O2 
+	WHERE	O2.`期数` >= @PERIOD_MIN AND O2.`期数` <= @PERIOD_MAX GROUP BY O2.`期数`) A2 ON A.`期数` = A2.`期数`
+	LEFT JOIN 
+(SELECT
+	B.PERIOD_NUM AS 期数,
+
+	SUM(B.ORI_BONUS_BD) AS 服务奖,
+
+	SUM(B.ORI_BONUS_TG) AS 推广奖,
+
+	SUM(B.ORI_BONUS_YJ) AS 业绩奖,
+
+	SUM(B.ORI_BONUS_XF) AS 消费奖,
+
+	SUM(B.ORI_BONUS_GX) AS 共享奖,
+
+	SUM(B.ORI_BONUS_GL) AS 管理奖,
+
+	SUM(B.ORI_BONUS_QY) AS 团队奖,
+
+	C.key_value AS VIP奖参考比例,
+	C2.key_value AS 荣衔奖参考比例
+FROM
+	ar_calc_bonus B
+	LEFT JOIN 参数表 C ON C.key_name = 'VIP奖参考比例'
+	LEFT JOIN 参数表 C2 ON C2.key_name = '荣衔奖参考比例'
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX GROUP BY B.PERIOD_NUM) A3 ON A3.`期数` = A2.`期数`
+	GROUP BY A.`期数`
+	ORDER BY A.`期数` ASC

+ 32 - 0
报表/奖金区间表2.sql

@@ -0,0 +1,32 @@
+SET @PERIOD_MIN = 154;
+SET @PERIOD_MAX = 158;
+
+
+
+SELECT
+	A1.`期数` AS 期数,
+	COUNT(ELT(INTERVAL(A1.`总奖金`,0,99.99),'<100')) AS '<100',
+	COUNT(ELT(INTERVAL(A1.`总奖金`,100,999.99),'100-1000')) AS '100-1000',
+	COUNT(ELT(INTERVAL(A1.`总奖金`,1000,1999.99),'1000-2000')) AS '1000-2000',
+	COUNT(ELT(INTERVAL(A1.`总奖金`,2000,2999.99),'2000-3000')) AS '2000-3000',
+	COUNT(ELT(INTERVAL(A1.`总奖金`,3000,3999.99),'3000-4000')) AS '3000-4000',
+	COUNT(ELT(INTERVAL(A1.`总奖金`,4000,4999.99),'4000-5000')) AS '4000-5000',
+	COUNT(ELT(INTERVAL(A1.`总奖金`,5000),'>5000')) AS '>5000',
+	COUNT(A1.USER_ID) AS 总计
+FROM
+	(SELECT
+	B.PERIOD_NUM AS 期数,
+	B.USER_ID,
+	B.BONUS_TOTAL AS 总奖金
+FROM
+	ar_calc_bonus B
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX AND B.BONUS_TOTAL >= 1
+	UNION ALL
+SELECT
+	J.`期数`,
+	J.UID,
+	J.`总奖金`
+FROM
+	`奖金数据表` J
+	WHERE J.`期数` >= @PERIOD_MIN AND J.`期数` <= @PERIOD_MAX AND J.`总奖金` >= 1)A1
+	GROUP BY A1.`期数`

+ 37 - 0
报表/奖金排名.sql

@@ -0,0 +1,37 @@
+SET @PERIOD_MIN = 155;
+SET @PERIOD_MAX = 157;
+
+SELECT
+	B1.`会员编号`,
+	B1.`会员姓名`,
+	E.LEVEL_NAME AS 荣衔等级,
+	B1.`总奖金`
+FROM
+(SELECT
+	A1.`会员编号`,
+	A1.`会员姓名`,
+	SUM(A1.`总奖金`) AS 总奖金
+FROM
+(SELECT
+	B.PERIOD_NUM AS 期数,
+	U.USER_NAME AS 会员编号,
+	U.REAL_NAME AS 会员姓名,
+	B.BONUS_TOTAL AS 总奖金
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U ON U.ID = B.USER_ID
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX AND B.BONUS_TOTAL >= 1
+	UNION ALL
+SELECT
+	J.`期数`,
+	J.`会员编号`,
+	J.`会员姓名`,
+	J.`总奖金`
+FROM
+	`奖金数据表` J
+	WHERE J.`期数` >= @PERIOD_MIN AND J.`期数` <= @PERIOD_MAX AND J.`总奖金` >= 1)A1
+	GROUP BY A1.`会员编号`,A1.`会员姓名`
+	ORDER BY SUM(A1.`总奖金`) DESC
+	LIMIT 0,15)B1
+	LEFT JOIN ar_user U ON U.USER_NAME = B1.`会员编号`
+	LEFT JOIN ar_employ_level E ON E.ID = U.EMP_LV

+ 163 - 0
报表/奖金排名(月).sql

@@ -0,0 +1,163 @@
+SET @MONTH1 = 202101;
+SET @YEAR1 = 2021;
+
+SELECT
+	M1.`会员编号`,
+	M1.`会员姓名`,
+	M1.`荣衔等级`,
+	A1.`总奖金1`,
+	B1.`总奖金2`,
+	C1.`总奖金3`,
+	D1.`总奖金4`,
+	E1.`总奖金5`,
+	F1.`总奖金6`,
+	G1.`总奖金7`,
+	H1.`总奖金8`,
+	I1.`总奖金9`,
+	J1.`总奖金10`,
+	K1.`总奖金11`,
+	L1.`总奖金12`,
+	M1.`合计`
+FROM
+(SELECT
+	U1.USER_NAME AS 会员编号,
+	U1.REAL_NAME AS 会员姓名,
+	E1.LEVEL_NAME AS 荣衔等级,
+	SUM(B.BONUS_TOTAL) AS 合计
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	LEFT JOIN ar_employ_level E1 ON E1.ID = U1.EMP_LV
+	WHERE B.CALC_YEAR = 2021
+	GROUP BY B.USER_ID ORDER BY 合计 DESC LIMIT 20) M1
+LEFT JOIN
+(SELECT
+	U1.USER_NAME AS 会员编号,
+	SUM(B.BONUS_TOTAL) AS 总奖金1
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1
+	GROUP BY B.USER_ID)A1
+	ON A1.`会员编号` = M1.`会员编号`
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金2
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+1
+	GROUP BY B.USER_ID)B1
+	ON B1.会员编号 = A1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金3
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+2
+	GROUP BY B.USER_ID)C1
+	ON B1.会员编号 = C1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金4
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+3
+	GROUP BY B.USER_ID)D1
+	ON D1.会员编号 = C1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金5
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+4
+	GROUP BY B.USER_ID)E1
+	ON E1.会员编号 = D1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金6
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+5
+	GROUP BY B.USER_ID)F1
+	ON F1.会员编号 = E1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金7
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+6
+	GROUP BY B.USER_ID)G1
+	ON G1.会员编号 = F1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金8
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+7
+	GROUP BY B.USER_ID)H1
+	ON H1.会员编号 = G1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金9
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+8
+	GROUP BY B.USER_ID)I1
+	ON H1.会员编号 = I1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金10
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+9
+	GROUP BY B.USER_ID)J1
+	ON J1.会员编号 = H1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金11
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+10
+	GROUP BY B.USER_ID)K1
+	ON K1.会员编号 = J1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS `会员编号`,
+	SUM(B.BONUS_TOTAL) AS 总奖金12
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.CALC_MONTH = @MONTH1+11
+	GROUP BY B.USER_ID)L1
+	ON L1.会员编号 = K1.`会员编号`
+	ORDER BY M1.`合计` DESC

+ 130 - 0
报表/奖金排名(期).sql

@@ -0,0 +1,130 @@
+SET @PERIOD = 161;
+
+SELECT
+	A1.`会员编号`,
+	A1.`会员姓名`,
+	A1.`荣衔等级`,
+	A1.`总奖金1`,
+	B1.`总奖金2`,
+	C1.`总奖金3`,
+	D1.`总奖金4`,
+	E1.`总奖金5`,
+	F1.`总奖金6`,
+	G1.`总奖金7`,
+	H1.`总奖金8`,
+	I1.`总奖金9`,
+	J1.`总奖金10`,
+	K1.`总奖金11`,
+	L1.`总奖金12`
+FROM
+(SELECT
+	U1.USER_NAME AS 会员编号,
+	U1.REAL_NAME AS 会员姓名,
+	E1.LEVEL_NAME AS 荣衔等级,
+	B.BONUS_TOTAL AS 总奖金1
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	LEFT JOIN ar_employ_level E1 ON E1.ID = U1.EMP_LV
+	WHERE B.PERIOD_NUM = @PERIOD
+	ORDER BY B.BONUS_TOTAL DESC LIMIT 20
+	) A1
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金2
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-11) B1
+	 ON A1.`会员编号` = B1.`会员编号`
+	 LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金3
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-10)C1 ON C1.`会员编号` = B1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金4
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-9)D1 ON D1.`会员编号` = C1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金5
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-8)E1 ON D1.`会员编号` = E1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金6
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-7)F1 ON E1.`会员编号` = F1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金7
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-6)G1 ON F1.`会员编号` = G1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金8
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-5)H1 ON H1.`会员编号` = G1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金9
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-4)I1 ON I1.`会员编号` = H1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金10
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-3)J1 ON J1.`会员编号` = I1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金11
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-2)K1 ON K1.`会员编号` = J1.`会员编号`
+	
+	LEFT JOIN 
+	(SELECT
+	U1.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金12
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U1 ON U1.ID = B.USER_ID
+	WHERE B.PERIOD_NUM = @PERIOD-1)L1 ON L1.`会员编号` = K1.`会员编号`

+ 64 - 0
报表/总PV占比.sql

@@ -0,0 +1,64 @@
+SET @PERIOD_MIN = 158;
+SET @PERIOD_MAX = 158;
+
+SELECT
+A3.`期数`,
+A2.`总PV`,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`) AS 总奖金,
+A3.`服务奖`/A2.`总PV` AS 服务奖占比,
+A3.`推广奖`/A2.`总PV` AS 推广奖占比,
+A3.`业绩奖`/A2.`总PV` AS 业绩奖占比,
+A3.`消费奖`/A2.`总PV` AS 消费奖占比,
+A3.`共享奖`/A2.`总PV` AS 共享奖占比,
+A3.`管理奖`/A2.`总PV` AS 管理奖占比,
+A3.`团队奖`/A2.`总PV` AS 团队奖占比,
+A.`报单PV` * A3.`VIP奖参考比例`/A2.`总PV` AS `VIP奖占比`,
+A2.`总PV` * A3.`荣衔奖参考比例`/A2.`总PV` AS `荣衔奖占比`,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`)/A2.`总PV` AS 总PV占比
+FROM
+(SELECT
+		SUM( O.`PV合计` ) AS 报单PV 
+	FROM
+		zr_order_vw O 
+	WHERE
+		O.`期数` >= @PERIOD_MIN AND O.`期数` <= @PERIOD_MAX
+		AND O.`订单类型` = '报单') A, 
+	 
+ (SELECT
+	SUM( O2.`商品金额` ) AS 总金额,
+	SUM( O2.`PV合计` ) AS 总PV
+	FROM 
+		zr_order_vw O2 
+	WHERE	O2.`期数` >= @PERIOD_MIN AND O2.`期数` <= @PERIOD_MAX ) A2,
+(SELECT
+	B.PERIOD_NUM AS 期数,
+	SUM(B.ORI_BONUS_BD) AS 服务奖,
+	SUM(B.ORI_BONUS_TG) AS 推广奖,
+	SUM(B.ORI_BONUS_YJ) AS 业绩奖,
+	SUM(B.ORI_BONUS_XF) AS 消费奖,
+	SUM(B.ORI_BONUS_GX) AS 共享奖,
+	SUM(B.ORI_BONUS_GL) AS 管理奖,
+	SUM(B.ORI_BONUS_QY) AS 团队奖,
+	C.key_value AS VIP奖参考比例,
+	C2.key_value AS 荣衔奖参考比例
+FROM
+	ar_calc_bonus B
+	LEFT JOIN 参数表 C ON C.key_name = 'VIP奖参考比例'
+	LEFT JOIN 参数表 C2 ON C2.key_name = '荣衔奖参考比例'
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX) A3

+ 69 - 0
报表/总金额占比.sql

@@ -0,0 +1,69 @@
+SET @PERIOD_MIN = 158;
+SET @PERIOD_MAX = 160;
+
+SELECT
+A.`期数`,
+A2.`总金额`,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`) AS 总奖金,
+A3.`服务奖`/A2.`总金额` AS 服务奖占比,
+A3.`推广奖`/A2.`总金额` AS 推广奖占比,
+A3.`业绩奖`/A2.`总金额` AS 业绩奖占比,
+A3.`消费奖`/A2.`总金额` AS 消费奖占比,
+A3.`共享奖`/A2.`总金额` AS 共享奖占比,
+A3.`管理奖`/A2.`总金额` AS 管理奖占比,
+A3.`团队奖`/A2.`总金额` AS 团队奖占比,
+A.`报单PV` * A3.`VIP奖参考比例`/A2.`总金额` AS `VIP奖占比`,
+A2.`总PV` * A3.`荣衔奖参考比例`/A2.`总金额` AS `荣衔奖占比`,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`)/A2.`总金额` AS 总金额占比
+FROM
+(SELECT
+		O.`期数`,
+		SUM( O.`PV合计` ) AS 报单PV 
+	FROM
+		zr_order_vw O 
+	WHERE
+		O.`期数` >= @PERIOD_MIN AND O.`期数` <= @PERIOD_MAX
+		AND O.`订单类型` = '报单' GROUP BY O.`期数`) A
+	 LEFT JOIN 
+ (SELECT
+	O2.`期数`,
+	SUM( O2.`商品金额` ) AS 总金额,
+	SUM( O2.`PV合计` ) AS 总PV
+	FROM 
+		zr_order_vw O2 
+	WHERE	O2.`期数` >= @PERIOD_MIN AND O2.`期数` <= @PERIOD_MAX GROUP BY O2.`期数`) A2 ON A2.`期数` = A.`期数`
+	LEFT JOIN
+(SELECT
+	B.PERIOD_NUM AS 期数,
+	SUM(B.ORI_BONUS_BD) AS 服务奖,
+	SUM(B.ORI_BONUS_TG) AS 推广奖,
+	SUM(B.ORI_BONUS_YJ) AS 业绩奖,
+	SUM(B.ORI_BONUS_XF) AS 消费奖,
+	SUM(B.ORI_BONUS_GX) AS 共享奖,
+	SUM(B.ORI_BONUS_GL) AS 管理奖,
+	SUM(B.ORI_BONUS_QY) AS 团队奖,
+	C.key_value AS VIP奖参考比例,
+	C2.key_value AS 荣衔奖参考比例
+FROM
+	ar_calc_bonus B
+	LEFT JOIN 参数表 C ON C.key_name = 'VIP奖参考比例'
+	LEFT JOIN 参数表 C2 ON C2.key_name = '荣衔奖参考比例'
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX GROUP BY B.PERIOD_NUM) A3 ON A3.`期数` = A2.`期数`
+	GROUP BY A.`期数`
+	ORDER BY A.`期数` ASC

+ 60 - 0
报表/月奖金拨比分析(VIP奖,荣衔奖).sql

@@ -0,0 +1,60 @@
+SET @MONTHS = '202103';
+
+SELECT
+*
+FROM
+(SELECT
+	S.key_value * B1.`报单PV` AS 原奖金,
+	S.key_value * B1.`报单PV`/B1.`报单PV` AS 报单PV,
+	0 AS 复消PV,
+	S.key_value * B1.`报单PV`/D1.`总PV` AS 总PV,
+	S.key_value * B1.`报单PV`/D1.`总金额` AS 总金额
+FROM
+(SELECT
+	SUM(O.`PV合计`) AS 报单PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS AND O.`订单类型` = '报单'
+)B1,
+(SELECT
+	SUM(O.`PV合计`) AS 复消PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS AND O.`订单类型` <> '报单'
+)C1,
+(SELECT
+	SUM(O.`商品金额`) AS 总金额,
+	SUM(O.`PV合计`) AS 总PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS)D1
+	LEFT JOIN 参数表 S ON S.key_name = 'VIP奖参考比例'
+	
+	UNION ALL
+	
+	SELECT
+	S2.key_value * D2.`总PV` AS 原奖金,
+	S2.key_value * D2.`总PV`/D2.`总PV` AS 报单PV,
+	S2.key_value * D2.`总PV`/D2.`总PV` AS 复消PV,
+	S2.key_value * D2.`总PV`/D2.`总PV` AS 总PV,
+	S2.key_value * D2.`总PV`/D2.`总金额` AS 总金额
+FROM
+(SELECT
+	SUM(O.`PV合计`) AS 报单PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS AND O.`订单类型` = '报单'
+)B2,
+(SELECT
+	SUM(O.`PV合计`) AS 复消PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS AND O.`订单类型` <> '报单'
+)C2,
+(SELECT
+	SUM(O.`商品金额`) AS 总金额,
+	SUM(O.`PV合计`) AS 总PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS)D2
+	LEFT JOIN 参数表 S2 ON S2.key_name = '荣衔奖参考比例')Z

+ 9 - 0
报表/月奖金拨比分析(月金额,月PV).sql

@@ -0,0 +1,9 @@
+SET @MONTHS = '202103';
+
+SELECT
+	O.`月份`,
+	SUM(O.`商品金额`) AS 月金额,
+	SUM(O.`PV合计`) AS 月PV
+FROM
+	zr_order_vw O
+	WHERE O.`月份` = @MONTHS

+ 53 - 0
报表/期奖金拨比分析1.sql

@@ -0,0 +1,53 @@
+SET @PERIOD = 158;
+
+SELECT
+	A1.`总金额`,
+	A1.`总PV`,
+	B1.`报单金额`,
+	B1.`报单PV`,
+	C1.`复消金额`,
+	C1.`复消PV`,
+	SUM(D1.`服务奖`+D1.`推广奖`+D1.`业绩奖`+D1.`消费奖`+D1.`共享奖`+D1.`管理奖`+D1.`团队奖`+B1.`报单PV`*D1.`VIP奖参考比例`* 0.95 + A1.`总PV`*D1.`荣衔奖参考比例` * 0.95) AS 实际奖金,
+	SUM(D1.`服务奖`+D1.`推广奖`+D1.`业绩奖`+D1.`消费奖`+D1.`共享奖`+D1.`管理奖`+D1.`团队奖`+B1.`报单PV`*D1.`VIP奖参考比例`* 0.95 + A1.`总PV`*D1.`荣衔奖参考比例` * 0.95)/A1.`总PV` AS 实际奖金PV占比,
+	SUM(D1.`服务奖`+D1.`推广奖`+D1.`业绩奖`+D1.`消费奖`+D1.`共享奖`+D1.`管理奖`+D1.`团队奖`+B1.`报单PV`*D1.`VIP奖参考比例`* 0.95 + A1.`总PV`*D1.`荣衔奖参考比例` * 0.95)/A1.`总金额` AS 实际奖金金额占比,
+	B1.`报单金额`/A1.`总金额` AS 报单金额占比,
+	C1.`复消金额`/A1.`总金额` AS 复消金额占比
+FROM
+(SELECT
+	SUM(O.`商品金额`) AS 总金额,
+	SUM(O.`PV合计`) AS 总PV
+FROM
+	zr_order_vw O
+	WHERE O.`期数` = @PERIOD)A1,
+
+(SELECT
+	SUM(O2.`商品金额`) AS 报单金额,
+	SUM(O2.`PV合计`) AS 报单PV
+FROM
+	zr_order_vw O2
+	WHERE O2.`订单类型` = '报单'
+	AND O2.`期数` = @PERIOD)B1,
+	
+(SELECT
+	SUM(O3.`商品金额`) AS 复消金额,
+	SUM(O3.`PV合计`) AS 复消PV
+FROM
+	zr_order_vw O3
+	WHERE O3.`订单类型` <> '报单'
+	AND O3.`期数` = @PERIOD)C1,
+(SELECT
+	B.PERIOD_NUM AS 期数,
+	SUM(B.BONUS_BD) AS 服务奖,
+	SUM(B.BONUS_TG) AS 推广奖,
+	SUM(B.BONUS_YJ) AS 业绩奖,
+	SUM(B.BONUS_XF) AS 消费奖,
+	SUM(B.BONUS_GX) AS 共享奖,
+	SUM(B.BONUS_GL) AS 管理奖,
+	SUM(B.BONUS_QY) AS 团队奖,
+	C.key_value AS VIP奖参考比例,
+	C2.key_value AS 荣衔奖参考比例
+FROM
+	ar_calc_bonus B
+	LEFT JOIN 参数表 C ON C.key_name = 'VIP奖参考比例'
+	LEFT JOIN 参数表 C2 ON C2.key_name = '荣衔奖参考比例'
+	WHERE B.PERIOD_NUM = @PERIOD)D1

+ 100 - 0
报表/期奖金拨比分析奖金金额汇总.sql

@@ -0,0 +1,100 @@
+SET @PERIOD_MIN = 158;
+SET @PERIOD_MAX = 158;
+
+SELECT
+A3.`期数`,
+A2.`总金额`,
+A2.`总PV`,
+A3.`服务奖`,
+A3.`服务奖原金额`,
+A3.`推广奖`,
+A3.`推广奖原金额`,
+A3.`业绩奖`,
+A3.`业绩奖原金额`,
+A3.`消费奖`,
+A3.`消费奖原金额`,
+A3.`共享奖`,
+A3.`共享奖原金额`,
+A3.`管理奖`,
+A3.`管理奖原金额`,
+A3.`团队奖`,
+A3.`团队奖原金额`,
+A.`报单PV` * A3.`VIP奖参考比例` * 0.95 AS `VIP奖`,
+A.`报单PV` * A3.`VIP奖参考比例` AS `VIP奖原金额`,
+A2.`总PV` * A3.`荣衔奖参考比例` * 0.95 AS `荣衔奖`,
+A2.`总PV` * A3.`荣衔奖参考比例` AS `荣衔奖原金额`,
+SUM(A3.`服务奖`+
+A3.`推广奖`+
+A3.`业绩奖`+
+A3.`消费奖`+
+A3.`共享奖`+
+A3.`管理奖`+
+A3.`团队奖`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`) AS 实际奖金,
+SUM(A3.`服务奖原金额`+
+A3.`推广奖原金额`+
+A3.`业绩奖原金额`+
+A3.`消费奖原金额`+
+A3.`共享奖原金额`+
+A3.`管理奖原金额`+
+A3.`团队奖原金额`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`) AS 总奖金,
+SUM(A3.`服务奖原金额`+
+A3.`推广奖原金额`+
+A3.`业绩奖原金额`+
+A3.`消费奖原金额`+
+A3.`共享奖原金额`+
+A3.`管理奖原金额`+
+A3.`团队奖原金额`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`)/A2.`总金额` AS 总金额占比,
+SUM(A3.`服务奖原金额`+
+A3.`推广奖原金额`+
+A3.`业绩奖原金额`+
+A3.`消费奖原金额`+
+A3.`共享奖原金额`+
+A3.`管理奖原金额`+
+A3.`团队奖原金额`+
+A.`报单PV` * A3.`VIP奖参考比例`+
+A2.`总PV` * A3.`荣衔奖参考比例`)/A2.`总PV` AS 总PV占比
+FROM
+(SELECT
+		SUM( O.`PV合计` ) AS 报单PV 
+	FROM
+		zr_order_vw O 
+	WHERE
+		O.`期数` >= @PERIOD_MIN AND O.`期数` <= @PERIOD_MAX
+		AND O.`订单类型` = '报单') A, 
+	 
+ (SELECT
+	SUM( O2.`商品金额` ) AS 总金额,
+	SUM( O2.`PV合计` ) AS 总PV
+	FROM 
+		zr_order_vw O2 
+	WHERE	O2.`期数` >= @PERIOD_MIN AND O2.`期数` <= @PERIOD_MAX ) A2,
+(SELECT
+	B.PERIOD_NUM AS 期数,
+	SUM(B.BONUS_BD) AS 服务奖,
+	SUM(B.ORI_BONUS_BD) AS 服务奖原金额,
+	SUM(B.BONUS_TG) AS 推广奖,
+	SUM(B.ORI_BONUS_TG) AS 推广奖原金额,
+	SUM(B.BONUS_YJ) AS 业绩奖,
+	SUM(B.ORI_BONUS_YJ) AS 业绩奖原金额,
+	SUM(B.BONUS_XF) AS 消费奖,
+	SUM(B.ORI_BONUS_XF) AS 消费奖原金额,
+	SUM(B.BONUS_GX) AS 共享奖,
+	SUM(B.ORI_BONUS_GX) AS 共享奖原金额,
+	SUM(B.BONUS_GL) AS 管理奖,
+	SUM(B.ORI_BONUS_GL) AS 管理奖原金额,
+	SUM(B.BONUS_QY) AS 团队奖,
+	SUM(B.ORI_BONUS_QY) AS 团队奖原金额,
+
+	C.key_value AS VIP奖参考比例,
+	C2.key_value AS 荣衔奖参考比例
+FROM
+	ar_calc_bonus B
+	LEFT JOIN 参数表 C ON C.key_name = 'VIP奖参考比例'
+	LEFT JOIN 参数表 C2 ON C2.key_name = '荣衔奖参考比例'
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX) A3

+ 27 - 0
报表/期销售额表.sql

@@ -0,0 +1,27 @@
+	SELECT
+		A.`期数`,
+		A.`报单`,
+		(A.`报单`/A.`当期合计`) AS 报单比例,
+		A.`复消` AS 重消,
+		(A.`复消`/A.`当期合计`) AS 重消比例,
+		A.`积分`,
+		(A.`积分`/A.`当期合计`) AS 积分比例,
+		A.`当期合计`
+
+	FROM
+
+		(SELECT P.PERIOD_NUM AS 期数,
+			(
+			SELECT SUM(`商品金额`) AS 报单 FROM zr_order_vw V WHERE V.`期数` = P.PERIOD_NUM AND 订单类型 = "报单"
+			) 报单,
+			(
+			SELECT SUM(`商品金额`) AS 复消 FROM zr_order_vw V1 WHERE V1.`期数` = P.PERIOD_NUM  AND 订单类型 = "复消"
+			) 复消,
+			(
+			SELECT SUM(`商品金额`) AS 积分 FROM zr_order_vw V2 WHERE V2.`期数` = P.PERIOD_NUM AND 订单类型 = "积分"
+			) 积分,
+			(
+			SELECT SUM(`商品金额`) AS 当期合计 FROM zr_order_vw V WHERE V.`期数` = P.PERIOD_NUM
+			) 当期合计
+		FROM ar_period P
+		WHERE P.PERIOD_NUM = 168) A

+ 12 - 0
报表/本期奖金区间与人数分析表.sql

@@ -0,0 +1,12 @@
+SET @PERIOD_MIN = 141;
+SET @PERIOD_MAX = 159;
+
+	
+	SELECT
+		B.`结算期数` AS 期数,
+		B.`会员编号`,
+		B.`会员姓名`,
+		B.`总奖金`
+	FROM
+		zr_bonus_vw B
+		WHERE B.`结算期数`>= @PERIOD_MIN AND B.`结算期数` <= @PERIOD_MAX AND B.`总奖金` >= 1

+ 56 - 0
报表/活跃会员占比趋势.sql

@@ -0,0 +1,56 @@
+SET @PERIOD_MIN = 155;
+SET @PERIOD_MAX = 158;
+
+SELECT 
+	E1.期数,
+	B1.`激活会员`,
+	C1.`有奖金会员`,
+	D1.`报单会员`,
+	D1.`报单会员`/C1.`有奖金会员` AS 报单会员占比,
+	E1.`复消会员`,
+	E1.`复消会员`/C1.`有奖金会员` AS 复消会员占比,
+	C1.`有奖金会员` - D1.`报单会员` - E1.`复消会员` AS 无消费会员,
+	(C1.`有奖金会员` - D1.`报单会员` - E1.`复消会员`)/C1.`有奖金会员` AS 无消费会员占比
+FROM
+(SELECT
+	O.PERIOD_NUM,
+	COUNT(DISTINCT O.USER_NAME) AS 报单会员
+FROM
+ar_order O 
+	WHERE O.PERIOD_NUM >= @PERIOD_MIN AND O.PERIOD_NUM <= @PERIOD_MAX AND O.ORDER_TYPE = 'ZC'
+	GROUP BY O.PERIOD_NUM)D1 LEFT JOIN
+	
+(SELECT
+	O2.`期数`,
+	COUNT(DISTINCT O2.`会员编号`) AS 复消会员
+FROM
+zr_order_vw O2
+	WHERE O2.`期数` >= @PERIOD_MIN AND O2.`期数` <= @PERIOD_MAX AND O2.`订单类型` <> '报单'
+	GROUP BY O2.`期数`)E1 ON E1.`期数` = D1.PERIOD_NUM LEFT JOIN
+
+	(SELECT
+	B1.期数,
+	COUNT(B1.`会员编号`) AS 有奖金会员
+FROM
+(SELECT
+	B.PERIOD_NUM AS 期数,
+	U.USER_NAME AS 会员编号,
+	B.BONUS_TOTAL AS 总奖金
+FROM
+	ar_calc_bonus B
+	LEFT JOIN ar_user U ON U.ID = B.USER_ID
+	WHERE B.PERIOD_NUM >= @PERIOD_MIN AND B.PERIOD_NUM <= @PERIOD_MAX AND B.BONUS_TOTAL >= 1
+	UNION ALL
+SELECT
+	J.`期数`,
+	J.`会员编号`,
+	J.`总奖金`
+FROM
+	`奖金数据表` J
+	WHERE J.`期数` >= @PERIOD_MIN AND J.`期数` <= @PERIOD_MAX AND J.`总奖金` >= 1)B1
+	GROUP BY B1.`期数`)C1 ON C1.`期数` = E1.`期数`,
+(SELECT
+	COUNT(U.ID) AS 激活会员
+FROM
+ar_user U
+WHERE U.`STATUS` = 1)B1

+ 8 - 0
报表/爱康产品销售额排名.sql

@@ -0,0 +1,8 @@
+SELECT 
+	C.`产品名称`,SUM(V.`数量`) AS 数量,SUM(v.`商品金额`) AS 商品金额,C.`来源` 
+FROM 
+	zr_product_pkg_vw V LEFT JOIN `产品信息` C ON V.`存货编码` = C.`存货编码` 
+WHERE 
+	V.`期数` = 161 AND C.`来源` = "爱康" 
+	GROUP BY C.`存货编码` 
+	ORDER BY SUM(v.`商品金额`) DESC

+ 22 - 0
报表/订单来源分析.sql

@@ -0,0 +1,22 @@
+	SELECT
+		A.期数,
+		A.DS系统,
+		(A.DS系统/(A.DS系统+A.商城复消+A.商城蓝区+A.线下工作室+A.线下其他)) AS 系统比例,
+		(A.商城复消+A.商城蓝区) AS 商城,
+		((A.商城复消+A.商城蓝区)/(A.DS系统+A.商城复消+A.商城蓝区+A.线下工作室+A.线下其他)) AS 商城比例,
+		A.线下工作室,
+		(A.线下工作室/(A.DS系统+A.商城复消+A.商城蓝区+A.线下工作室+A.线下其他)) AS 工作室比例,
+		A.线下其他,
+		(A.线下其他/(A.DS系统+A.商城复消+A.商城蓝区+A.线下工作室+A.线下其他)) AS 其他比例,
+		(A.DS系统+A.商城复消+A.商城蓝区+A.线下工作室+A.线下其他) AS 金额总计
+	FROM
+	(SELECT
+		P.PERIOD_NUM AS 期数,
+		(SELECT SUM(V1.`商品金额`) AS DS系统订单 FROM zr_order_vw V1 LEFT JOIN `订单来源` C1 ON V1.`订单号` = C1.`订单号` WHERE	V1.`期数` = P.PERIOD_NUM AND C1.`订单来源` = 'DS系统') AS DS系统,
+		(SELECT SUM(V4.`商品金额`) AS 商城复消 FROM zr_order_vw V4 LEFT JOIN `订单来源` C4 ON V4.`订单号` = C4.`订单号` WHERE	V4.`期数` = P.PERIOD_NUM AND C4.`订单来源` = '商城复消') AS 商城复消,
+		(SELECT SUM(V5.`商品金额`) AS 商城蓝区 FROM zr_order_vw V5 LEFT JOIN `订单来源` C5 ON V5.`订单号` = C5.`订单号` WHERE	V5.`期数` = P.PERIOD_NUM AND C5.`订单来源` = '商城蓝区') AS 商城蓝区,
+		(SELECT SUM(V2.`商品金额`) AS 线下工作室 FROM zr_order_vw V2 LEFT JOIN `订单来源` C2 ON V2.`订单号` = C2.`订单号` WHERE	V2.`期数` = P.PERIOD_NUM AND C2.`订单来源` = '线下工作室') AS 线下工作室,
+		(SELECT SUM(V3.`商品金额`) AS 线下其他 FROM zr_order_vw V3 LEFT JOIN `订单来源` C3 ON V3.`订单号` = C3.`订单号` WHERE	V3.`期数` = P.PERIOD_NUM AND C3.`订单来源` = '线下其他') AS 线下其他
+	FROM
+		 ar_period P
+		WHERE P.PERIOD_NUM = 187) A

+ 52 - 0
报表/订单来源明细.sql

@@ -0,0 +1,52 @@
+SELECT
+	T1.`期数`,
+	T5.`DS系统` AS 系统,
+	T3.`商城复消`+T4.`商城蓝区` AS 商城,
+	T2.`线下工作室`,
+	T1.`线下其他`,
+	T1.`线下其他`+T2.`线下工作室`+T3.`商城复消`+T4.`商城蓝区`+T5.`DS系统` AS 总计
+FROM
+(SELECT 
+	O.`期数`,
+	SUM(O.`商品金额`) AS 线下其他
+FROM
+	zr_order_vw O
+	LEFT JOIN `订单来源` L ON L.`订单号` = O.`订单号`
+	WHERE L.`订单来源` = '线下其他' AND O.`期数` >= {{PERIOD_NUM_MIN}} AND O.`期数` <= {{PERIOD_NUM_MAX}} GROUP BY O.`期数`) T1
+	LEFT JOIN 
+	(SELECT 
+	O.`期数`,
+	SUM(O.`商品金额`) AS 线下工作室
+FROM
+	zr_order_vw O
+	LEFT JOIN `订单来源` L ON L.`订单号` = O.`订单号`
+	WHERE L.`订单来源` = '线下工作室' AND O.`期数` >= {{PERIOD_NUM_MIN}} AND O.`期数` <= {{PERIOD_NUM_MAX}} GROUP BY O.`期数`) T2 ON T2.`期数` = T1.`期数`
+	
+	LEFT JOIN 
+	(SELECT 
+	O.`期数`,
+	SUM(O.`商品金额`) AS 商城复消
+FROM
+	zr_order_vw O
+	LEFT JOIN `订单来源` L ON L.`订单号` = O.`订单号`
+	WHERE L.`订单来源` = '商城复消' AND O.`期数` >= {{PERIOD_NUM_MIN}} AND O.`期数` <= {{PERIOD_NUM_MAX}} GROUP BY O.`期数`) T3 ON T3.`期数` = T2.`期数`
+	
+	LEFT JOIN 
+ (SELECT 
+  O.`期数`,
+	SUM(O.`商品金额`) AS 商城蓝区
+FROM
+	zr_order_vw O
+	LEFT JOIN `订单来源` L ON L.`订单号` = O.`订单号`
+	WHERE L.`订单来源` = '商城蓝区' AND O.`期数` >= {{PERIOD_NUM_MIN}} AND O.`期数` <= {{PERIOD_NUM_MAX}} GROUP BY O.`期数`) T4 ON T4.`期数` = T3.`期数`
+	LEFT JOIN 
+	
+	(SELECT 
+	O.`期数`,
+	SUM(O.`商品金额`) AS DS系统
+FROM
+	zr_order_vw O
+	LEFT JOIN `订单来源` L ON L.`订单号` = O.`订单号`
+	WHERE L.`订单来源` = 'DS系统' AND O.`期数` >= {{PERIOD_NUM_MIN}} AND O.`期数` <= {{PERIOD_NUM_MAX}} GROUP BY O.`期数`) T5 ON T5.`期数` = T4.`期数`
+	ORDER BY T1.`期数` ASC
+	

+ 38 - 0
普通查询/DS系统订单.sql

@@ -0,0 +1,38 @@
+SELECT
+	O.USER_NAME AS 会员编号,
+	'Q94839185' AS 报单中心,
+	O.SN AS 订单号,
+	O.`STATUS` AS 订单状态,
+	G.SKU_CODE AS 存货编码,
+	G.GOODS_TITLE AS 存货名称,
+	G.BUY_NUMS AS 数量,
+	O.CONSIGNEE AS 收货人,
+	O.MOBILE AS 联系方式1,
+	O.TEL AS 联系方式2,
+	R.REGION_NAME AS 省,
+	R2.REGION_NAME AS 市,
+	R3.REGION_NAME AS 区,
+	O.ADDRESS AS 详细地址,
+	O.PERIOD_NUM AS 期数,
+	O.ORDER_TYPE AS 订单类型,
+	O.WAREHOUSE AS 发货仓,
+	O.CREATED_AT AS 创建时间,
+	O.PAY_AT AS 支付时间,
+	O.DELIVERY_AT AS 发货时间,
+	G.REAL_PRICE AS 商品单价,
+	(G.REAL_PRICE * G.BUY_NUMS) AS 商品金额,
+	G.REAL_PV AS 商品PV,
+	(G.REAL_PV * G.BUY_NUMS) AS PV合计,
+	O.PAY_FREIGHT AS 运费,
+	O.EXPRESS_COMPANY AS 快递公司,
+	O.ORDER_TRACK_NO AS 快递单号,
+	O.EXPRESS_TYPE AS 发货方式,
+	O.REMARK AS 会员备注,
+	O.DELIVERY_STATUS AS 发货状态 
+FROM
+ AR_ORDER O
+ LEFT JOIN AR_ORDER_GOODS G ON G.ORDER_SN = O.SN
+ LEFT JOIN AR_REGION R ON R.REGION_CODE = O.PROVINCE
+ LEFT JOIN AR_REGION R2 ON R2.REGION_CODE = O.CITY
+ LEFT JOIN AR_REGION R3 ON R3.REGION_CODE = O.COUNTY
+ WHERE O.PERIOD_NUM = 159

+ 18 - 0
普通查询/业绩单查询.sql

@@ -0,0 +1,18 @@
+SELECT
+	O.PERIOD_NUM AS 结算期数,
+	O.SN AS 业绩单编号,
+	O.DEC_TYPE AS 业绩单类型,
+	O.LAST_STATUS AS 业绩单状态,
+	U.USER_NAME AS 会员编号,
+	U.REAL_NAME AS 会员姓名,
+	O.LAST_REC_USER_NAME AS 结算时开拓者编号,
+	O.LAST_REC_REAL_NAME AS 结算时开拓者姓名,
+	O.PV AS 报单PV,
+	O.DEC_AMOUNT AS 报单金额,
+	O.LAST_DEC_SUB_COM_ID AS 报单编号,
+	O.CREATED_AT AS 创建时间
+FROM
+	AR_PERF_ORDER O
+	LEFT JOIN AR_USER U ON U.ID = O.USER_ID
+	WHERE
+	O.PERIOD_NUM = 156

+ 10 - 0
普通查询/会员奖金余额.sql

@@ -0,0 +1,10 @@
+SELECT
+	SUM( b.BONUS ) AS 会员奖金余额,
+	SUM( w.CASH ) AS 会员账户余额,
+	SUM( B.RECONSUME_POINTS ) AS 会员复消积分 
+FROM
+	AR_USER_BONUS b
+	LEFT JOIN AR_USER u ON u.ID = b.USER_ID
+	LEFT JOIN AR_USER_WALLET w ON w.USER_ID = b.USER_ID 
+WHERE
+	u.`STATUS` = 1

+ 15 - 0
普通查询/会员奖金余额表.sql

@@ -0,0 +1,15 @@
+SELECT
+	SUM(E.提现金额) AS 提现金额,
+	SUM(E.手续费) AS 手续费,
+	SUM(E.实际到账金额) AS 实际到账金额
+	FROM(
+	SELECT
+		A.USER_NAME AS 会员编号,
+		W.AMOUNT AS 提现金额,
+		W.FEES AS 手续费,
+		W.REAL_AMOUNT AS 实际到账金额,
+		W.AUDIT_STATUS AS 提现状态,
+		FROM_UNIXTIME(W.AUDITED_AT,'%Y-%m-%d %H:%i:%S') AS 审核时间
+	FROM  AR_WITHDRAW W LEFT JOIN AR_USER A ON W.USER_ID = A.ID ) E
+	WHERE E.提现状态 = 2 AND E.审核时间 >= '2021-09-01 00:00:00' AND E.审核时间 < '2021-10-01 00:00:00' 
+	

+ 15 - 0
普通查询/会员提现金额统计.sql

@@ -0,0 +1,15 @@
+SELECT
+	SUM(E.提现金额) AS 提现金额,
+	SUM(E.手续费) AS 手续费,
+	SUM(E.实际到账金额) AS 实际到账金额
+	FROM(
+	SELECT
+		A.USER_NAME AS 会员编号,
+		W.AMOUNT AS 提现金额,
+		W.FEES AS 手续费,
+		W.REAL_AMOUNT AS 实际到账金额,
+		W.AUDIT_STATUS AS 提现状态,
+		FROM_UNIXTIME(W.AUDITED_AT,'%Y-%m-%d %H:%i:%S') AS 审核时间
+	FROM  AR_WITHDRAW W LEFT JOIN AR_USER A ON W.USER_ID = A.ID ) E
+	WHERE E.提现状态 = 2 AND E.审核时间 >= '2021-06-01 00:00:00' AND E.审核时间 < '2021-07-01 00:00:00' 
+	

+ 28 - 0
普通查询/共享奖测试sql.sql

@@ -0,0 +1,28 @@
+共享奖合计计算
+SELECT
+	*
+FROM
+	ek_temp_gx_zs_cs B
+LEFT JOIN 
+(SELECT
+	Z.`给奖人编号`,
+	Z.`计奖代数`,
+	SUM(Z.`个人团队`) AS 层合计
+FROM
+	ek_temp_gx_zs_cs Z
+	GROUP BY Z.`给奖人编号`,Z.`计奖代数`) A ON A.`给奖人编号` = B.`给奖人编号` AND A.`计奖代数` = B.`计奖代数`
+
+
+共享奖追溯导出
+SELECT
+	U.USER_NAME,
+	U.REAL_NAME,
+	U2.USER_NAME,
+	U2.REAL_NAME,
+	G.ORI_BONUS 
+FROM
+	AR_CALC_BONUS_GX G
+	LEFT JOIN AR_USER U ON U.ID = G.USER_ID
+	LEFT JOIN AR_USER U2 ON U2.ID = G.FROM_USER_ID
+WHERE
+	G.PERIOD_NUM = 160

+ 13 - 0
普通查询/安置网络向上查询(普通查询版).sql

@@ -0,0 +1,13 @@
+select * from AR_USER_NETWORK_NEW WHERE USER_ID = '76209982806298624'
+
+
+select * from AR_USER u where u.USER_NAME='LA68770271'
+
+
+select u.ID, u.USER_NAME,u.REAL_NAME from AR_USER u where u.ID = '135210116545908736'
+union all
+(select n.user_id,u.USER_NAME,u.REAL_NAME
+ from AR_USER_NETWORK_NEW n left join  AR_USER u on n.USER_ID=u.ID 
+where 
+(select PARENT_UIDS from AR_USER_NETWORK_NEW WHERE USER_ID = '135210116545908736' )  like  concat('%' , n.USER_ID , '%') 
+order by n.TOP_DEEP desc)

+ 30 - 0
普通查询/安置网络向上查询(递归查询版).sql

@@ -0,0 +1,30 @@
+WITH recursive t_rec AS -- recursive为关键字,可以不列出字段列表
+(
+	SELECT
+		m.USER_ID,
+		U.USER_NAME,
+		m.PARENT_UID,
+		U2.USER_NAME AS PARENT_NAME,
+		1 AS node_level 
+	FROM
+		ar_user_network_new m 
+		LEFT JOIN ar_user U ON U.ID = m.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = m.PARENT_UID
+	WHERE
+		U.USER_NAME = 'Y99670725' UNION ALL
+	SELECT
+		t1.USER_ID,
+		U.USER_NAME,
+		t1.PARENT_UID,
+		U2.USER_NAME AS PARENT_NAME,
+		t2.node_level + 1 -- 结点层级
+		
+	FROM
+		ar_user_network_new t1
+		JOIN t_rec t2 ON t2.PARENT_UID = t1.USER_ID -- 递归生成的结果集t2的parent_id与之前的源表id关联
+		LEFT JOIN ar_user U ON U.ID = t1.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = t1.PARENT_UID
+	) SELECT
+	* 
+FROM
+	t_rec

+ 6 - 0
普通查询/安置网络向下查询(普通查询版).sql

@@ -0,0 +1,6 @@
+
+select n.*,u.REAL_NAME
+ from AR_USER_NETWORK_NEW n
+left join AR_USER u on n.user_id = u.id
+where n.PARENT_UIDS like '%76201678919045120%'
+order by TOP_DEEP ASC

+ 14 - 0
普通查询/截至最新会员.sql

@@ -0,0 +1,14 @@
+
+SELECT
+ u.PERIOD_AT AS 加入期数,
+ u.USER_NAME AS 会员编号,
+ u.REAL_NAME AS 会员姓名,
+ l.LEVEL_NAME AS 会员级别,
+ l2.LEVEL_NAME AS 会员荣衔
+FROM
+ AR_USER u
+ LEFT JOIN AR_DECLARATION_LEVEL l ON u.DEC_LV = l.ID 
+ LEFT JOIN AR_EMPLOY_LEVEL l2 ON U.EMP_LV = l2.ID
+WHERE
+ u.`STATUS` = 1
+ 

+ 20 - 0
普通查询/截至至现在店长商场订单.sql

@@ -0,0 +1,20 @@
+SELECT
+	D.`店长会员编号`,
+	D.`店长姓名`,
+	A.`订单号`,
+	A.`商品金额`,
+	A.`PV合计`,
+	A.`创建时间`
+FROM `店长清单` D
+	LEFT JOIN
+		(SELECT
+			V.`会员编号`,
+			V.`订单号`,
+			SUM(V.`商品金额`) AS 商品金额,
+			SUM(V.`PV合计`) AS PV合计,
+			V.`创建时间`
+		FROM
+			zr_product_pkg_vw V
+		WHERE
+			V.`创建时间` > '2021-02-01 00:00:00' AND V.`订单号` LIKE 'U%'
+			GROUP BY V.`订单号`) A ON D.`店长会员编号` = A.`会员编号`

+ 13 - 0
普通查询/推荐网络向上查询(普通查询版).sql

@@ -0,0 +1,13 @@
+select * from AR_USER_RELATION_NEW WHERE USER_ID = '76209982806298624'
+
+
+select * from AR_USER u where u.USER_NAME='LA68770271'
+
+
+select u.ID, u.USER_NAME,u.REAL_NAME from AR_USER u where u.ID = '135210116545908736'
+union all
+(select n.user_id,u.USER_NAME,u.REAL_NAME
+ from AR_USER_RELATION_NEW n left join  AR_USER u on n.USER_ID=u.ID 
+where 
+(select PARENT_UIDS from AR_USER_RELATION_NEW WHERE USER_ID = '135210116545908736' )  like  concat('%' , n.USER_ID , '%') 
+order by n.TOP_DEEP desc)

+ 30 - 0
普通查询/推荐网络向上查询(递归查询版).sql

@@ -0,0 +1,30 @@
+WITH recursive t_rec AS -- recursive为关键字,可以不列出字段列表
+(
+	SELECT
+		m.USER_ID,
+		U.USER_NAME,
+		m.PARENT_UID,
+		U2.USER_NAME AS PARENT_NAME,
+		1 AS node_level 
+	FROM
+		ar_user_relation_new m 
+		LEFT JOIN ar_user U ON U.ID = m.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = m.PARENT_UID
+	WHERE
+		U.USER_NAME = 'Y99670725' UNION ALL
+	SELECT
+		t1.USER_ID,
+		U.USER_NAME,
+		t1.PARENT_UID,
+		U2.USER_NAME AS PARENT_NAME,
+		t2.node_level + 1 -- 结点层级
+		
+	FROM
+		ar_user_relation_new t1
+		JOIN t_rec t2 ON t2.PARENT_UID = t1.USER_ID -- 递归生成的结果集t2的parent_id与之前的源表id关联
+		LEFT JOIN ar_user U ON U.ID = t1.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = t1.PARENT_UID
+	) SELECT
+	* 
+FROM
+	t_rec

+ 6 - 0
普通查询/推荐网络向下查询(普通查询版).sql

@@ -0,0 +1,6 @@
+
+select n.*,u.REAL_NAME
+ from AR_USER_RELATION_NEW n
+left join AR_USER u on n.user_id = u.id
+where n.PARENT_UIDS like '%76201678919045120%'
+order by TOP_DEEP ASC

+ 46 - 0
普通查询/最新奖金.sql

@@ -0,0 +1,46 @@
+SELECT
+	B.PERIOD_NUM AS 期数,
+	B.CALCULATED_AT AS 结算时间,
+	B.LAST_USER_NAME AS 会员编号,
+	B.LAST_REAL_NAME AS 会员姓名,
+	L.LEVEL_NAME AS 会员级别,
+	E.LEVEL_NAME AS 会员荣衔,
+	B.LAST_MOBILE AS 手机号码,
+	U.PERIOD_AT AS 加入期数,
+	U.PARTITION_DATE AS 加入时间,
+	B.LAST_REC_USER_NAME AS 开拓者编号,
+	B.LAST_REC_REAL_NAME AS 开拓者姓名,
+	B.LAST_CON_USER_NAME AS 上级编号,
+	B.LAST_CON_REAL_NAME AS 上级姓名,
+	B.BONUS_BD AS 服务奖,
+	B.ORI_BONUS_BD AS 服务奖原金额,
+	B.BONUS_TG AS 推广奖,
+	B.ORI_BONUS_TG AS 推广奖原金额,
+	B.BONUS_XF AS 消费奖,
+	B.ORI_BONUS_XF AS 消费奖原金额,
+	B.BONUS_YJ AS 业绩奖,
+	B.ORI_BONUS_YJ AS 业绩奖原金额,
+	B.BONUS_GX AS 共享奖,
+	B.ORI_BONUS_GX AS 共享奖原金额,
+	B.BONUS_GL AS 管理奖,
+	B.ORI_BONUS_GL AS 管理奖原金额,
+	B.BONUS_QY AS 团队奖,
+	B.ORI_BONUS_QY AS 团队奖原金额,
+	B.ORI_BONUS_QY_BD AS 报单团队奖原金额,
+	B.BONUS_YC AS 荣衔奖,
+	B.ORI_BONUS_YC AS 荣衔奖原金额,
+	B.BONUS_VIP AS VIP奖,
+	B.ORI_BONUS_VIP AS VIP奖原金额,
+	B.BONUS_TOTAL AS 总奖金,
+	B.MANAGE_TAX AS 管理费,
+	B.RECONSUME_POINTS AS 复销积分,
+	B.BONUS_INCOME AS 总收入,
+	B.CALC_MONTH AS 结算月
+FROM
+	AR_CALC_BONUS B
+	LEFT JOIN AR_USER U ON U.ID = B.USER_ID
+	LEFT JOIN AR_DECLARATION_LEVEL L ON L.ID = B.LAST_DEC_LV
+	LEFT JOIN AR_EMPLOY_LEVEL E ON E.ID = B.LAST_EMP_LV
+	LEFT JOIN AR_USER_NETWORK_NEW N ON N.USER_ID = B.USER_ID
+	WHERE
+	B.PERIOD_NUM = 156 

+ 26 - 0
普通查询/月业绩查询.sql

@@ -0,0 +1,26 @@
+SELECT
+	M.CALC_MONTH AS 结算月,
+	U.USER_NAME AS 会员编号,
+	U.REAL_NAME AS 会员姓名,
+	U2.USER_NAME AS 推荐人编号,
+	U2.REAL_NAME AS 推荐人姓名,
+	D.LEVEL_NAME AS 结算时会员级别,
+	E.LEVEL_NAME AS 结算时会员聘级,
+	M.PV_PCS AS 个人业绩,
+	M.VIP_PV_1L_ZC AS 一市场新增报单业绩,
+	M.VIP_PV_2L_ZC AS 二市场新增报单业绩,
+	M.VIP_PV_3L_ZC AS 三市场新增报单业绩,
+	M.VIP_SURPLUS_1L_ZC AS 一市场月剩余报单业绩,
+	M.VIP_SURPLUS_2L_ZC AS 二市场月剩余报单业绩,
+	M.VIP_SURPLUS_3L_ZC AS 三市场月剩余报单业绩,
+	M.PV_PSS AS 月新增团队业绩,
+	M.PV_PSS_TOTAL AS 月累计团队业绩,
+	DATE_FORMAT(FROM_UNIXTIME(M.CREATED_AT),'%Y-%m-%d %H:%i:%s') AS 创建时间
+FROM
+	ar_perf_month M
+	LEFT JOIN ar_user U ON U.ID = M.USER_ID
+	LEFT JOIN ar_user_relation_new R ON R.USER_ID = U.ID
+	LEFT JOIN ar_user U2 ON U2.ID = R.PARENT_UID
+	LEFT JOIN ar_employ_level E ON E.ID = M.LAST_EMP_LV
+	LEFT JOIN ar_declaration_level D ON D.ID = M.LAST_DEC_LV
+	WHERE M.CALC_MONTH = 202104

+ 32 - 0
普通查询/期业绩.sql

@@ -0,0 +1,32 @@
+SELECT
+	P.PERIOD_NUM AS 期数,
+	U.USER_NAME AS 会员编号,
+	U.REAL_NAME AS 会员姓名,
+	P.PV_PCS AS 个人业绩,
+	P.PV_PCS_ZC AS 报单业绩,
+	P.PV_PCS_FX AS 复消业绩,
+	P.PV_1L AS 一市场新增业绩,
+	P.PV_1L_ZC AS 一市场报单新增业绩,
+	P.PV_1L_FX AS 一市场复消新增业绩,
+	P.PV_2L AS 二市场新增业绩,
+	P.PV_2L_ZC AS 二市场报单新增业绩,
+	P.PV_2L_FX AS 二市场复消新增业绩,
+	P.PV_3L AS 三市场新增业绩,
+	P.PV_3L_ZC AS 三市场报单新增业绩,
+	P.PV_3L_FX AS 三市场复消新增业绩,
+	P.SURPLUS_1L AS 一市场结余业绩,
+	P.SURPLUS_2L AS 二市场结余业绩,
+	P.SURPLUS_3L AS 三市场结余业绩,
+	P.SURPLUS_1L_ZC AS 一市场报单结余业绩,
+	P.SURPLUS_2L_ZC AS 二市场报单结余业绩,
+	P.SURPLUS_3L_ZC AS 三市场报单结余业绩,
+	P.SURPLUS_1L_FX AS 一市场复消结余业绩,
+	P.SURPLUS_2L_FX AS 二市场复消结余业绩,
+	P.SURPLUS_3L_FX AS 三市场复消结余业绩,
+	P.PV_PSS AS 团队业绩,
+	DATE_FORMAT(FROM_UNIXTIME(P.CREATED_AT),'%Y-%m-%d %H:%i:%s') AS 创建时间
+FROM
+	AR_PERF_PERIOD P
+	LEFT JOIN AR_USER U ON U.ID = P.USER_ID 
+WHERE
+	p.PERIOD_NUM = 156

+ 9 - 0
普通查询/查询数据库各表容量大小.sql

@@ -0,0 +1,9 @@
+select
+table_schema as '数据库',
+table_name as '表名',
+table_rows as '记录数',
+truncate(data_length/1024/1024, 2) as '数据容量(MB)',
+truncate(index_length/1024/1024, 2) as '索引容量(MB)'
+from information_schema.tables
+where table_schema='mysql'
+order by data_length desc, index_length desc;

+ 17 - 0
普通查询/积分购物按复消业绩计算.sql

@@ -0,0 +1,17 @@
+SELECT
+	A.USER_ID,
+	U.USER_NAME,
+	A.PV,
+	A.PAY_TYPE,
+	P.PV_PCS_FX,
+	P.PV_PCS_FX_POINT
+FROM
+(SELECT
+	O.USER_ID,
+	O.PAY_TYPE,
+	SUM(O.PV) AS PV
+FROM
+	AR_ORDER O
+	WHERE O.PAY_TYPE = 'point' AND O.PERIOD_NUM = 160 GROUP BY O.USER_ID,O.PAY_TYPE ) A
+	LEFT JOIN AR_USER U ON U.ID = A.USER_ID
+	LEFT JOIN AR_PERF_PERIOD P ON P.USER_ID = A.USER_ID AND P.PERIOD_NUM = 160

+ 22 - 0
普通查询/达标业绩表查询.sql

@@ -0,0 +1,22 @@
+SET @MONTH_MIN = 202103;
+SET @MONTH_MAX = 202104;
+
+SELECT
+	S.CALC_MONTH AS 结算月,
+	U.USER_NAME AS 会员编号,
+	U.REAL_NAME AS 会员姓名,
+	U2.USER_NAME AS 推荐人编号,
+	U2.REAL_NAME AS 推荐人姓名,
+	D.LEVEL_NAME AS 结算时会员级别,
+	E.LEVEL_NAME AS 结算时会员聘级,
+	S.AMOUNT_PCS AS 个人销售额,
+	S.AMOUNT_PSS AS 团队销售额,
+	DATE_FORMAT(FROM_UNIXTIME(S.CREATED_AT),'%Y-%m-%d %H:%i:%s') AS 创建时间
+FROM
+	AR_PERF_STANDARD S
+	LEFT JOIN AR_USER U ON U.ID = S.USER_ID
+	LEFT JOIN AR_USER_RELATION_NEW R ON R.USER_ID = S.USER_ID
+	LEFT JOIN AR_USER U2 ON U2.ID = R.PARENT_UID
+	LEFT JOIN AR_DECLARATION_LEVEL D ON D.ID = S.LAST_DEC_LV
+	LEFT JOIN AR_EMPLOY_LEVEL E ON E.ID = S.LAST_EMP_LV
+	WHERE S.CALC_MONTH >= @MONTH_MIN AND S.CALC_MONTH <= @MONTH_MAX

+ 18 - 0
普通查询/金钻参加VIP奖测试sql.sql

@@ -0,0 +1,18 @@
+SELECT
+		A.USER_NAME,
+		A.REAL_NAME,
+		B.ORI_BONUS_VIP
+	FROM
+(SELECT
+	U.ID,
+	U.USER_NAME,
+	U.REAL_NAME
+FROM
+	AR_USER U
+		WHERE U.DEC_LV ='67ABCCE20A9F5553E055736AECE8644D') A
+		
+		LEFT JOIN AR_PERF_MONTH M ON M.USER_ID = A.ID 
+	AND M.CALC_MONTH = 202104 
+	AND ( M.VIP_PV_1L_ZC + M.VIP_PV_2L_ZC + M.VIP_PV_3L_ZC ) - GREATEST( M.VIP_PV_1L_ZC, M.VIP_PV_2L_ZC, M.VIP_PV_3L_ZC ) >= 9800
+	LEFT JOIN AR_CALC_BONUS B ON B.USER_ID = A.ID 
+	AND B.CALC_MONTH = 202104 

+ 38 - 0
活动/202109业绩冲刺活动赠品奖励.sql

@@ -0,0 +1,38 @@
+SELECT
+  O.USER_NAME 会员编号,
+	'Q94839185' 报单中心,
+	O.SN 订单号,
+	'已支付' 订单状态,
+	'FA112' 存货编码,
+	'β-赋活醣液态饮菌菇风味饮料' 存货名称,
+	2 数量,
+	U.REAL_NAME 会员姓名,
+	O.CONSIGNEE 收货人,
+	O.MOBILE `联系方式1`,
+	O.TEL `联系方式2`,
+	G.REGION_NAME 省,
+	G2.REGION_NAME 市,
+	G3.REGION_NAME 区,
+	O.ADDRESS 详细地址,
+	O.PERIOD_NUM 期数,
+	'重消' 订单类型, 
+	'01' 发货仓,
+	DATE_FORMAT( FROM_UNIXTIME( O.CREATED_AT ), '%Y-%m-%d %H:%i:%s' ) 创建时间,
+	DATE_FORMAT( FROM_UNIXTIME( O.CREATED_AT ), '%Y-%m-%d %H:%i:%s' ) 支付时间,
+	'' 发货时间,
+	0 商品单价,
+	0 商品金额,
+	0 运费,
+	'' 快递公司,
+	'' 快递单号,
+	'邮寄' 发运方式,
+	'赠品' 会员备注,
+	'未发货' 发货状态 
+FROM
+	AR_ORDER O
+	LEFT JOIN AR_USER U ON U.ID = O.USER_ID
+	LEFT JOIN AR_REGION G ON G.REGION_CODE = O.PROVINCE
+	LEFT JOIN AR_REGION G2 ON G2.REGION_CODE = O.CITY
+	LEFT JOIN AR_REGION G3 ON G3.REGION_CODE = O.COUNTY
+	WHERE O.CREATED_AT >= UNIX_TIMESTAMP('2021-09-15 09:00:00') AND O.CREATED_AT < UNIX_TIMESTAMP('2021-09-16 09:00:00') AND O.ORDER_AMOUNT >= 9800 AND O.ORDER_TYPE = 'ZC'
+	GROUP BY O.USER_NAME

+ 71 - 0
活动/202109业绩冲刺活动赠品奖励2.sql

@@ -0,0 +1,71 @@
+SELECT
+  A.`会员编号`,
+	A.`报单中心`,
+	A.`订单号`,
+	'已支付' 订单状态,
+	'PB083' 存货编码,
+	'渊源净自然均衡洗发水' 存货名称,
+	1 数量,
+	A.`收货人`,
+	A.`联系方式1`,
+	A.`联系方式2`,
+	A.`省`,
+	A.`市`,
+	A.`区`,
+	A.`详细地址`,
+	A.`期数`,
+	'重消' 订单类型, 
+	'01' 发货仓,
+	A.`创建时间`,
+	A.`支付时间`,
+	'' 发货时间,
+	0 商品单价,
+	0 商品金额,
+	0 运费,
+	'' 快递公司,
+	'' 快递单号,
+	'邮寄' 发运方式,
+	'赠品' 会员备注,
+	'未发货' 发货状态 
+FROM
+
+
+(SELECT
+	O.USER_NAME AS 会员编号,
+	'Q94839185' AS 报单中心,
+	O.SN AS 订单号,
+	O.`STATUS` AS 订单状态,
+	G.SKU_CODE AS 存货编码,
+	G.GOODS_TITLE AS 存货名称,
+	G.BUY_NUMS AS 数量,
+	O.CONSIGNEE AS 收货人,
+	O.MOBILE AS 联系方式1,
+	O.TEL AS 联系方式2,
+	R.REGION_NAME AS 省,
+	R2.REGION_NAME AS 市,
+	R3.REGION_NAME AS 区,
+	O.ADDRESS AS 详细地址,
+	O.PERIOD_NUM AS 期数,
+	O.ORDER_TYPE AS 订单类型,
+	O.WAREHOUSE AS 发货仓,
+	O.CREATED_AT AS 创建时间,
+	O.PAY_AT AS 支付时间,
+	O.DELIVERY_AT AS 发货时间,
+	G.REAL_PRICE AS 商品单价,
+	(G.REAL_PRICE * G.BUY_NUMS) AS 商品金额,
+	G.REAL_PV AS 商品PV,
+	(G.REAL_PV * G.BUY_NUMS) AS PV合计,
+	O.PAY_FREIGHT AS 运费,
+	O.EXPRESS_COMPANY AS 快递公司,
+	O.ORDER_TRACK_NO AS 快递单号,
+	O.EXPRESS_TYPE AS 发货方式,
+	O.REMARK AS 会员备注,
+	O.DELIVERY_STATUS AS 发货状态 
+FROM
+ AR_ORDER O
+ LEFT JOIN AR_ORDER_GOODS G ON G.ORDER_SN = O.SN
+ LEFT JOIN AR_REGION R ON R.REGION_CODE = O.PROVINCE
+ LEFT JOIN AR_REGION R2 ON R2.REGION_CODE = O.CITY
+ LEFT JOIN AR_REGION R3 ON R3.REGION_CODE = O.COUNTY
+ WHERE O.CREATED_AT >= UNIX_TIMESTAMP('2021-09-15 09:00:00') AND O.CREATED_AT < UNIX_TIMESTAMP('2021-09-16 09:00:00') AND G.SKU_CODE ='WP32S' AND O.ORDER_TYPE = 'ZC') A
+ GROUP BY A.`会员编号`

+ 37 - 0
活动/202109业绩冲刺活动赠品奖励3.sql

@@ -0,0 +1,37 @@
+SELECT
+  O.USER_NAME 会员编号,
+	'Q94839185' 报单中心,
+	O.SN 订单号,
+	'已支付' 订单状态,
+	'PB173T' 存货编码,
+	'人参精华舒缓霜(3支装)' 存货名称,
+	1 数量,
+	O.CONSIGNEE 收货人,
+	O.MOBILE `联系方式1`,
+	O.TEL `联系方式2`,
+	G.REGION_NAME 省,
+	G2.REGION_NAME 市,
+	G3.REGION_NAME 区,
+	O.ADDRESS 详细地址,
+	O.PERIOD_NUM 期数,
+	'重消' 订单类型, 
+	'01' 发货仓,
+	DATE_FORMAT( FROM_UNIXTIME( O.CREATED_AT ), '%Y-%m-%d %H:%i:%s' ) 创建时间,
+	DATE_FORMAT( FROM_UNIXTIME( O.CREATED_AT ), '%Y-%m-%d %H:%i:%s' ) 支付时间,
+	'' 发货时间,
+	0 商品单价,
+	0 商品金额,
+	0 运费,
+	'' 快递公司,
+	'' 快递单号,
+	'邮寄' 发运方式,
+	'赠品' 会员备注,
+	'未发货' 发货状态 
+FROM
+	AR_ORDER O
+	LEFT JOIN AR_USER U ON U.ID = O.USER_ID
+	LEFT JOIN AR_REGION G ON G.REGION_CODE = O.PROVINCE
+	LEFT JOIN AR_REGION G2 ON G2.REGION_CODE = O.CITY
+	LEFT JOIN AR_REGION G3 ON G3.REGION_CODE = O.COUNTY
+	WHERE O.CREATED_AT >= UNIX_TIMESTAMP('2021-09-15 09:00:00') AND O.CREATED_AT < UNIX_TIMESTAMP('2021-09-16 09:00:00') AND O.ORDER_AMOUNT >= 9800 AND O.ORDER_TYPE = 'ZC'
+	GROUP BY O.USER_NAME

+ 39 - 0
活动/工作室复消业绩统计.sql

@@ -0,0 +1,39 @@
+SET @DATE_START = '2021-06-01';
+SET @DATE_STOP = '2021-07-08';
+-- DATE_STOP 实际为结束日期-1天
+SELECT
+	A.`会员编号`,
+	U.REAL_NAME AS 会员姓名,
+	D.LEVEL_NAME AS 会员级别,
+	A.`创建时间`,
+	A.`复消PV`,
+	U2.USER_NAME AS 推荐人编号,
+	U2.REAL_NAME AS 推荐人姓名,
+	DZ.`店号`,
+	A.`店长编号`,
+	DZ.`店长姓名`,
+	A.`二代团队编号`,
+	DZ2.`二代会员姓名` AS 二代团队姓名,
+	A.`团队编号`,
+	L.`会员姓名` AS 团队姓名
+FROM
+(SELECT
+	O.`会员编号`,	
+	O.`创建时间` AS 创建时间,
+	SUM(O.`PV合计`) AS 复消PV,
+	RecommedUP((SELECT U3.ID FROM ar_user U3 WHERE U3.USER_NAME = O.`会员编号`), 2) AS 店长编号,
+	RecommedUP((SELECT U4.ID FROM ar_user U4 WHERE U4.USER_NAME = O.`会员编号`), 1) AS 团队编号,
+	RecommedUP2((SELECT U5.ID FROM ar_user U5 WHERE U5.USER_NAME = O.`会员编号`)) AS 二代团队编号
+FROM
+	zr_order_vw O
+
+		WHERE (O.`创建时间` >= @DATE_START AND O.`创建时间` < @DATE_STOP) AND O.`订单类型` <> '报单' AND O.`订单号` NOT LIKE 'HDP%' AND O.`订单号` NOT LIKE 'DP%'
+		GROUP BY O.`会员编号`,O.`创建时间`) A
+		LEFT JOIN ar_user U ON U.USER_NAME = A.`会员编号`
+		LEFT JOIN ar_declaration_level D ON D.ID = U.DEC_LV
+		LEFT JOIN ar_user_relation_new R ON R.USER_ID = U.ID
+		LEFT JOIN ar_user U2 ON U2.ID = R.PARENT_UID
+		LEFT JOIN `店长清单` DZ ON DZ.`店长会员编号` = A.`店长编号`
+		LEFT JOIN `领导人清单` L ON L.`会员编号` = A.`团队编号`
+		LEFT JOIN `二代领导人清单` DZ2 ON DZ2.`二代会员编号` = A.`二代团队编号`
+		WHERE A.`复消PV` > 0

+ 34 - 0
活动/工作室所有订单(按月).sql

@@ -0,0 +1,34 @@
+SELECT
+	A.`会员编号`,
+	U.REAL_NAME AS 会员姓名,
+	D.LEVEL_NAME AS 会员级别,
+	A.`月份`,
+	A.`复消PV`,
+	U2.USER_NAME AS 推荐人编号,
+	U2.REAL_NAME AS 推荐人姓名,
+	DZ.`店号`,
+	A.`店长编号`,
+	DZ.`店长姓名`,
+	A.`团队编号`,
+	L.`会员姓名` AS 团队姓名
+FROM
+(SELECT
+	O.`会员编号`,
+	
+	O.`月份` AS 月份,
+	SUM(O.`PV合计`) AS 复消PV,
+
+	RecommedUP((SELECT U3.ID FROM ar_user U3 WHERE U3.USER_NAME = O.`会员编号`), 2) AS 店长编号,
+	RecommedUP((SELECT U4.ID FROM ar_user U4 WHERE U4.USER_NAME = O.`会员编号`), 1) AS 团队编号
+FROM
+	zr_order_vw O
+
+		WHERE O.`月份` = 202106
+		GROUP BY O.`会员编号`,O.`月份`) A
+		LEFT JOIN ar_user U ON U.USER_NAME = A.`会员编号`
+		LEFT JOIN ar_declaration_level D ON D.ID = U.DEC_LV
+		LEFT JOIN ar_user_relation_new R ON R.USER_ID = U.ID
+		LEFT JOIN ar_user U2 ON U2.ID = R.PARENT_UID
+		LEFT JOIN `店长清单` DZ ON DZ.`店长会员编号` = A.`店长编号`
+		LEFT JOIN `领导人清单` L ON L.`会员编号` = A.`团队编号`
+		

+ 39 - 0
活动/工作室报单业绩统计.sql

@@ -0,0 +1,39 @@
+SET @DATE_START = '2021-06-01';
+SET @DATE_STOP = '2021-07-08';
+-- DATE_STOP 实际为结束日期-1天
+
+SELECT
+	A.`会员编号`,
+	U.REAL_NAME AS 会员姓名,
+	D.LEVEL_NAME AS 会员级别,
+	A.`创建时间`,
+	A.`报单PV`,
+	U2.USER_NAME AS 推荐人编号,
+	U2.REAL_NAME AS 推荐人姓名,
+	DZ.`店号`,
+	A.`店长编号`,
+	DZ.`店长姓名`,
+	A.`二代团队编号`,
+	DZ2.`二代会员姓名` AS 二代团队姓名,
+	A.`团队编号`,
+	L.`会员姓名` AS 团队姓名
+FROM
+(SELECT
+	O.`会员编号`,
+	O.`创建时间` AS 创建时间,
+	SUM(O.`PV合计`) AS 报单PV,
+	RecommedUP((SELECT U3.ID FROM ar_user U3 WHERE U3.USER_NAME = O.`会员编号`), 2) AS 店长编号,
+	RecommedUP((SELECT U4.ID FROM ar_user U4 WHERE U4.USER_NAME = O.`会员编号`), 1) AS 团队编号,
+	RecommedUP2((SELECT U5.ID FROM ar_user U5 WHERE U5.USER_NAME = O.`会员编号`)) AS 二代团队编号
+FROM
+	zr_order_vw O
+
+		WHERE (O.`创建时间` >= @DATE_START AND O.`创建时间` < @DATE_STOP) AND O.`订单类型` = '报单'
+		GROUP BY O.`会员编号`,O.`创建时间`) A
+		LEFT JOIN ar_user U ON U.USER_NAME = A.`会员编号`
+		LEFT JOIN ar_declaration_level D ON D.ID = U.DEC_LV
+		LEFT JOIN ar_user_relation_new R ON R.USER_ID = U.ID
+		LEFT JOIN ar_user U2 ON U2.ID = R.PARENT_UID
+		LEFT JOIN `店长清单` DZ ON DZ.`店长会员编号` = A.`店长编号`
+		LEFT JOIN `领导人清单` L ON L.`会员编号` = A.`团队编号`
+		LEFT JOIN `二代领导人清单` DZ2 ON DZ2.`二代会员编号` = A.`二代团队编号`

+ 208 - 0
活动/店长拉新统计.sql

@@ -0,0 +1,208 @@
+-- 需要 临时表 做中间表
+SELECT
+	u3.`团队编号`,
+	u4.REAL_NAME AS 团队姓名,
+	u3.`会员编号`,
+	u3.`会员姓名`,
+	u3.LEVEL_NAME AS 会员级别,
+	u3.PARTITION_DATE AS 加入日期
+FROM
+	(
+	SELECT
+		u.`会员编号`,
+		u.`会员姓名`,
+		us.PARTITION_DATE,
+		dl.LEVEL_NAME,
+		RecommedUP (( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = u.`会员编号` ), 2 ) 团队编号 
+	FROM
+		临时会员 u 
+		LEFT JOIN ar_user us ON us.USER_NAME = u.`会员编号`
+		LEFT JOIN ar_declaration_level dl ON dl.ID = us.DEC_LV
+	) u3
+	LEFT JOIN ar_user u4 ON u4.USER_NAME = u3.`团队编号`
+
+
+
+-- 直接查询 店长
+SELECT
+	u3.`店长编号`,
+	u4.REAL_NAME AS 店长姓名,
+	u3.USER_NAME AS 会员编号,
+	u3.REAL_NAME AS 会员姓名,
+	u3.LEVEL_NAME AS 会员级别,
+	u3.PARTITION_DATE AS 加入日期 
+FROM
+	(
+	SELECT
+		us.USER_NAME,
+		us.REAL_NAME,
+		dl.LEVEL_NAME,
+		us.PARTITION_DATE,
+		RecommedUP (( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = us.USER_NAME ), 2 ) 店长编号 
+	FROM
+		ar_user us
+		LEFT JOIN ar_declaration_level dl ON us.DEC_LV = dl.ID 
+	WHERE
+		us.PARTITION_DATE >= '2021-03-09' 
+	) u3
+	LEFT JOIN ar_user u4 ON u4.USER_NAME = u3.`店长编号`
+
+
+SELECT
+	u3.`团队编号`,
+	u4.REAL_NAME AS 团队姓名,
+	u3.USER_NAME AS 会员编号,
+	u3.REAL_NAME AS 会员姓名,
+	u3.LEVEL_NAME AS 会员级别,
+	u3.PARTITION_DATE AS 加入日期 
+FROM
+	(
+	SELECT
+		us.USER_NAME,
+		us.REAL_NAME,
+		dl.LEVEL_NAME,
+		us.PARTITION_DATE,
+		RecommedUP (( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = us.USER_NAME ), 1 ) 团队编号 
+	FROM
+		ar_user us
+		LEFT JOIN ar_declaration_level dl ON us.DEC_LV = dl.ID 
+	WHERE
+		us.PARTITION_DATE >= '2021-03-09' 
+		AND dl.LEVEL_NAME = 'VIP会员' 
+	) u3
+	LEFT JOIN ar_user u4 ON u4.USER_NAME = u3.`团队编号`
+
+-- 基础数据
+
+SELECT
+	u3.USER_NAME AS 会员编号,
+	u3.REAL_NAME AS 会员姓名,
+	u3.LEVEL_NAME AS 会员级别,
+	u3.PARTITION_DATE AS 加入日期,
+	o.PV AS 报单PV,
+	u6.USER_NAME AS 推荐人编号,
+	u6.REAL_NAME AS 推荐人姓名,
+	d.`店号`,
+	u3.`店长编号`,
+	u4.REAL_NAME AS 店长姓名,
+	u3.`团队编号`,
+	u5.REAL_NAME AS 团队姓名
+FROM
+	(
+	SELECT
+		us.ID,
+		us.USER_NAME,
+		us.REAL_NAME,
+		dl.LEVEL_NAME,
+		us.PARTITION_DATE,
+		RecommedUP (( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = us.USER_NAME ), 2 ) 店长编号,
+		RecommedUP(( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = us.USER_NAME), 1) 团队编号
+	FROM
+		ar_user us
+		LEFT JOIN ar_declaration_level dl ON us.DEC_LV = dl.ID
+	WHERE
+		us.PARTITION_DATE >= '2021-02-21' AND us.PARTITION_DATE <= '2021-04-01'
+	) u3 
+	LEFT JOIN ar_user u4 ON u4.USER_NAME = u3.`店长编号`
+	LEFT JOIN ar_user u5 ON u5.USER_NAME = u3.`团队编号`
+	LEFT JOIN `店长清单` d ON d.`店长会员编号` = u3.`店长编号`
+	LEFT JOIN ar_order o ON o.USER_NAME = u3.USER_NAME
+	INNER JOIN ar_user_relation_new n ON n.USER_ID = u3.ID
+	INNER JOIN ar_user u6 ON u6.ID = n.PARENT_UID
+	WHERE o.ORDER_TYPE = 'ZC'
+
+
+-- 推荐人活动期间金额,PV
+
+SELECT
+	A.`推荐人编号`,
+	A.`推荐人姓名`,
+	IFNULL(SUM(V.`商品金额`),0) AS 金额,
+	IFNULL(SUM(V.`PV合计`),0) AS PV
+FROM
+(SELECT
+	u3.USER_NAME AS 会员编号,
+	u3.REAL_NAME AS 会员姓名,
+	u3.LEVEL_NAME AS 会员级别,
+	u6.USER_NAME AS 推荐人编号,
+	u6.REAL_NAME AS 推荐人姓名,
+	o.PV AS 报单PV,
+	u3.PARTITION_DATE AS 加入日期,
+	d.`店号`,
+	u3.`店长编号`,
+	u4.REAL_NAME AS 店长姓名,
+	u3.`团队编号`,
+	u5.REAL_NAME AS 团队姓名
+FROM
+	(
+	SELECT
+		us.ID,
+		us.USER_NAME,
+		us.REAL_NAME,
+		dl.LEVEL_NAME,
+		us.PARTITION_DATE,
+		RecommedUP (( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = us.USER_NAME ), 2 ) 店长编号,
+		RecommedUP(( SELECT u2.ID FROM ar_user u2 WHERE u2.USER_NAME = us.USER_NAME), 1) 团队编号
+	FROM
+		ar_user us
+		LEFT JOIN ar_declaration_level dl ON us.DEC_LV = dl.ID
+	WHERE
+		us.PARTITION_DATE >= '2021-02-21' AND us.PARTITION_DATE <= '2021-04-01'
+	) u3 
+	LEFT JOIN ar_user u4 ON u4.USER_NAME = u3.`店长编号`
+	LEFT JOIN ar_user u5 ON u5.USER_NAME = u3.`团队编号`
+	LEFT JOIN `店长清单` d ON d.`店长会员编号` = u3.`店长编号`
+	LEFT JOIN ar_order o ON o.USER_NAME = u3.USER_NAME
+	LEFT JOIN ar_user_relation_new n ON n.USER_ID = u3.ID
+	LEFT JOIN ar_user u6 ON u6.ID = n.PARENT_UID
+	WHERE o.ORDER_TYPE = 'ZC' AND u3.LEVEL_NAME = 'VIP会员') A
+	LEFT JOIN zr_order_vw V ON V.`会员编号` = A.`推荐人编号`
+	AND V.`创建时间` >= '2021-02-21'
+	AND V.`创建时间` <= '2021-04-01'
+	AND V.`订单类型` <> '报单'
+	GROUP BY A.`推荐人编号`
+
+-- 所有会员业绩排名
+
+
+
+SELECT
+B.`会员编号`,
+B.`会员姓名`,
+B.`报单PV`,
+B.`复消PV`,
+D.`店号`,
+D.`店长会员编号` AS 店长编号,
+D.`店长姓名`,
+L.`会员编号` AS 团队编号,
+L.`会员姓名` AS 团队姓名
+FROM
+(SELECT
+	A.`会员编号`,
+	U.REAL_NAME AS 会员姓名,
+	A.`报单PV`,
+	A.`复消PV`,
+	RecommedUP((SELECT U2.ID FROM ar_user U2 WHERE U2.USER_NAME = A.`会员编号`), 2) AS 店长编号,
+	RecommedUP((SELECT U2.ID FROM ar_user U2 WHERE U2.USER_NAME = A.`会员编号`), 1) AS 团队编号
+FROM 
+(SELECT C.`会员编号`,SUM(C.`复消PV`) AS 复消PV,SUM(C.`报单PV`) AS 报单PV FROM (SELECT
+	V2.`会员编号`,
+	0 AS 复消PV,
+	SUM(V2.`PV合计`) AS 报单PV
+FROM
+	zr_order_vw V2
+WHERE V2.`创建时间` >= '2021-02-21' AND V2.`创建时间` <= '2021-04-01' AND V2.`订单类型` = '报单'
+GROUP BY V2.`会员编号`
+	UNION ALL
+SELECT 
+	V.`会员编号`,
+	SUM(V.`PV合计`) AS 复消PV,
+	0 AS 报单PV
+FROM
+	zr_order_vw V
+WHERE V.`创建时间` >= '2021-02-21' AND V.`创建时间` <= '2021-04-01' AND V.`订单类型` <> '报单'
+GROUP BY V.`会员编号`) C GROUP BY C.`会员编号` ) A
+LEFT JOIN ar_user U ON U.USER_NAME = A.`会员编号` GROUP BY A.`会员编号`) B
+LEFT JOIN `店长清单` D ON D.`店长会员编号` = B.`店长编号`
+LEFT JOIN `领导人清单` L ON L.`会员编号` = B.`团队编号`
+GROUP BY B.`会员编号`

+ 38 - 0
活动/红色中国 建军节献礼(2021年8月复消活动).sql

@@ -0,0 +1,38 @@
+SELECT
+  O.USER_NAME 会员编号,
+	'Q94839185' 报单中心,
+	O.SN 订单号,
+	'已支付' 订单状态,
+	'SA063' 存货编码,
+	'溶菌酶本草洗液' 存货名称,
+	1 数量,
+	U.REAL_NAME 会员姓名,
+	O.CONSIGNEE 收货人,
+	O.MOBILE `联系方式1`,
+	O.TEL `联系方式2`,
+	G.REGION_NAME 省,
+	G2.REGION_NAME 市,
+	G3.REGION_NAME 区,
+	O.ADDRESS 详细地址,
+	O.PERIOD_NUM 期数,
+	'重消' 订单类型, 
+	'01' 发货仓,
+	DATE_FORMAT( FROM_UNIXTIME( O.CREATED_AT ), '%Y-%m-%d %H:%i:%s' ) 创建时间,
+	DATE_FORMAT( FROM_UNIXTIME( O.CREATED_AT ), '%Y-%m-%d %H:%i:%s' ) 支付时间,
+	'' 发货时间,
+	0 商品单价,
+	0 商品金额,
+	0 运费,
+	'' 快递公司,
+	'' 快递单号,
+	'邮寄' 发运方式,
+	'赠品' 会员备注,
+	'未发货' 发货状态 
+FROM
+	AR_ORDER O
+	LEFT JOIN AR_USER U ON U.ID = O.USER_ID
+	LEFT JOIN AR_REGION G ON G.REGION_CODE = O.PROVINCE
+	LEFT JOIN AR_REGION G2 ON G2.REGION_CODE = O.CITY
+	LEFT JOIN AR_REGION G3 ON G3.REGION_CODE = O.COUNTY
+	WHERE O.CREATED_AT >= UNIX_TIMESTAMP('2021-07-29') AND O.CREATED_AT < UNIX_TIMESTAMP('2021-07-30') AND O.ORDER_AMOUNT >= 500
+	GROUP BY O.USER_NAME

+ 133 - 0
活动/线下优佳生活馆工作室招商.sql

@@ -0,0 +1,133 @@
+SET @PERIOD = 188;
+
+SELECT
+*
+FROM
+
+
+(SELECT
+	T.`会员编号`,
+	T.`会员姓名`,
+	T.`创建时间`,
+	T.`期数`,
+	T.`存货编码`,
+	T.`存货名称`,
+	T.`推荐人编号`,
+	T.`推荐人姓名`,
+	L.LEVEL_NAME AS `推荐人级别`,
+	T.`店长编号`,
+	D.`店长姓名`,
+	'3000'奖励,
+	T.`商品金额`,
+	T.`PV合计`
+FROM
+(SELECT
+	V.`会员编号`,
+	U.`会员姓名`,
+	A.`创建时间`,
+	A.`期数`,
+	A.`存货编码`,
+	A.`存货名称`,
+	U.`推荐人编号`,
+	U.`推荐人姓名`,
+	U.`级别`,
+	U.`店长编号`,
+	SUM(V.`商品金额`) AS 商品金额,
+	SUM(V.`PV合计`) AS PV合计
+FROM
+	(SELECT * FROM zr_order_vw WHERE `订单类型` = '报单') V
+RIGHT JOIN
+	(SELECT
+		W.`会员编号`,
+		W.`存货编码`,
+		W.`存货名称`,
+		W.`订单类型`,
+		W.`创建时间`,
+		W.`期数`
+	FROM
+		(SELECT * FROM zr_order_vw WHERE `订单类型` = '报单') W
+	WHERE W.`订单类型` = '报单' AND (W.`存货编码` = 'TA172' OR W.`存货编码` = 'WP31V-1' OR W.`存货编码` = 'TA225') GROUP BY W.`会员编号` ) A ON A.`会员编号` = V.`会员编号`
+RIGHT JOIN 
+	(SELECT
+		U.USER_NAME AS 会员编号,
+		U.REAL_NAME AS 会员姓名,
+		U.PERIOD_AT AS 加入期数,
+		U2.USER_NAME AS 推荐人编号,
+		U2.REAL_NAME AS 推荐人姓名,
+		U2.DEC_LV AS 级别,
+		RecommedUP((SELECT U3.ID FROM ar_user U3 WHERE U3.USER_NAME = U2.USER_NAME ), 2) AS 店长编号
+	FROM
+		ar_user_relation_new m 
+		LEFT JOIN ar_user U ON U.ID = m.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = m.PARENT_UID
+	WHERE U.PERIOD_AT >= 140) U ON V.`会员编号` = U.`会员编号`	
+GROUP BY V.`会员编号`) T
+LEFT JOIN `店长清单` D ON D.`店长会员编号` = T.`店长编号`
+LEFT JOIN ar_declaration_level L ON T.`级别` = L.ID
+WHERE T.`商品金额` >= 36000 ) S
+
+WHERE S.`期数` = @PERIOD
+
+/*SET @PERIOD = 140;
+
+SELECT
+	T.`会员编号`,
+	T.`会员姓名`,
+	T.`创建时间`,
+	T.`期数`,
+	T.`存货编码`,
+	T.`存货名称`,
+	T.`推荐人编号`,
+	T.`推荐人姓名`,
+	L.LEVEL_NAME AS `推荐人级别`,
+	T.`店长编号`,
+	D.`店长姓名`,
+	'3000'奖励,
+	T.`商品金额`,
+	T.`PV合计`
+FROM
+(SELECT
+	V.`会员编号`,
+	U.`会员姓名`,
+	A.`创建时间`,
+	A.`期数`,
+	A.`存货编码`,
+	A.`存货名称`,
+	U.`推荐人编号`,
+	U.`推荐人姓名`,
+	U.`级别`,
+	U.`店长编号`,
+	SUM(V.`商品金额`) AS 商品金额,
+	SUM(V.`PV合计`) AS PV合计
+FROM
+	(SELECT * FROM zr_order_vw WHERE `订单类型` = '报单') V
+RIGHT JOIN
+	(SELECT
+		W.`会员编号`,
+		W.`存货编码`,
+		W.`存货名称`,
+		W.`订单类型`,
+		W.`创建时间`,
+		W.`期数`
+	FROM
+		(SELECT * FROM zr_order_vw WHERE `订单类型` = '报单') W
+	WHERE W.`订单类型` = '报单' AND (W.`存货编码` = 'TA172' OR W.`存货编码` = 'WP31V-1' OR W.`存货编码` = 'TA225') AND W.`期数` >= @PERIOD GROUP BY W.`会员编号` ) A ON A.`会员编号` = V.`会员编号`
+RIGHT JOIN 
+	(SELECT
+		U.USER_NAME AS 会员编号,
+		U.REAL_NAME AS 会员姓名,
+		U.PERIOD_AT AS 加入期数,
+		U2.USER_NAME AS 推荐人编号,
+		U2.REAL_NAME AS 推荐人姓名,
+		U2.DEC_LV AS 级别,
+		RecommedUP((SELECT U3.ID FROM ar_user U3 WHERE U3.USER_NAME = U2.USER_NAME ), 2) AS 店长编号
+	FROM
+		ar_user_relation_new m 
+		LEFT JOIN ar_user U ON U.ID = m.USER_ID
+		LEFT JOIN ar_user U2 ON U2.ID = m.PARENT_UID
+	WHERE U.PERIOD_AT >= @PERIOD) U ON V.`会员编号` = U.`会员编号`	
+WHERE V.`期数` >= @PERIOD
+GROUP BY V.`会员编号`) T
+LEFT JOIN `店长清单` D ON D.`店长会员编号` = T.`店长编号`
+LEFT JOIN ar_declaration_level L ON T.`级别` = L.ID
+WHERE T.`商品金额` >= 36000*/

+ 71 - 0
活动/经益求精包络万象10月复消活动.sql

@@ -0,0 +1,71 @@
+SELECT
+  A.`会员编号`,
+	A.`报单中心`,
+	A.`订单号`,
+	'已支付' 订单状态,
+	'CA082' 存货编码,
+	'ZHIYUDNA 明眸修护眼膜' 存货名称,
+	1 数量,
+	A.`收货人`,
+	A.`联系方式1`,
+	A.`联系方式2`,
+	A.`省`,
+	A.`市`,
+	A.`区`,
+	A.`详细地址`,
+	A.`期数`,
+	'重消' 订单类型, 
+	'01' 发货仓,
+	A.`创建时间`,
+	A.`支付时间`,
+	'' 发货时间,
+	0 商品单价,
+	0 商品金额,
+	0 运费,
+	'' 快递公司,
+	'' 快递单号,
+	'邮寄' 发运方式,
+	'赠品' 会员备注,
+	'未发货' 发货状态 
+FROM
+
+
+(SELECT
+	O.USER_NAME AS 会员编号,
+	'Q94839185' AS 报单中心,
+	O.SN AS 订单号,
+	O.`STATUS` AS 订单状态,
+	G.SKU_CODE AS 存货编码,
+	G.GOODS_TITLE AS 存货名称,
+	G.BUY_NUMS AS 数量,
+	O.CONSIGNEE AS 收货人,
+	O.MOBILE AS 联系方式1,
+	O.TEL AS 联系方式2,
+	R.REGION_NAME AS 省,
+	R2.REGION_NAME AS 市,
+	R3.REGION_NAME AS 区,
+	O.ADDRESS AS 详细地址,
+	O.PERIOD_NUM AS 期数,
+	O.ORDER_TYPE AS 订单类型,
+	O.WAREHOUSE AS 发货仓,
+	O.CREATED_AT AS 创建时间,
+	O.PAY_AT AS 支付时间,
+	O.DELIVERY_AT AS 发货时间,
+	G.REAL_PRICE AS 商品单价,
+	(G.REAL_PRICE * G.BUY_NUMS) AS 商品金额,
+	G.REAL_PV AS 商品PV,
+	(G.REAL_PV * G.BUY_NUMS) AS PV合计,
+	O.PAY_FREIGHT AS 运费,
+	O.EXPRESS_COMPANY AS 快递公司,
+	O.ORDER_TRACK_NO AS 快递单号,
+	O.EXPRESS_TYPE AS 发货方式,
+	O.REMARK AS 会员备注,
+	O.DELIVERY_STATUS AS 发货状态 
+FROM
+ AR_ORDER O
+ LEFT JOIN AR_ORDER_GOODS G ON G.ORDER_SN = O.SN
+ LEFT JOIN AR_REGION R ON R.REGION_CODE = O.PROVINCE
+ LEFT JOIN AR_REGION R2 ON R2.REGION_CODE = O.CITY
+ LEFT JOIN AR_REGION R3 ON R3.REGION_CODE = O.COUNTY
+ WHERE O.CREATED_AT >= UNIX_TIMESTAMP('2021-09-27 09:00:00') AND O.CREATED_AT < UNIX_TIMESTAMP('2021-09-28 09:00:00') AND O.ORDER_AMOUNT >= 500 AND O.ORDER_TYPE = 'FX') A
+ GROUP BY A.`会员编号`

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
视图/zr_product_pkg_vw.sql


Некоторые файлы не были показаны из-за большого количества измененных файлов