diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml
index 6aa89497..482eb21c 100644
--- a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml
+++ b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml
@@ -23,42 +23,7 @@
@@ -235,9 +266,74 @@
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT
+ cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
end AS totalBonusRateSum
+ FROM (
+ SELECT
+ cbs.PK_BD_VERTEX pkVertex,
+ cbs.PK_TEAM_CODE pkTeamCode,
+ ver.VERTEX_NAME as vertexName,
+ cbs.PK_ID pkId,
+ cbs.PERIOD period,
+ cbs.CREATION_TIME creationTime,
+ cbs.PK_COUNTRY pkCountry,
+
+ cbs.MAIN_REG_PV ,
+ cbs.MAIN_UP_PV ,
+ cbs.MAIN_REPUR_PV ,
+ cbs.SPECIAL_REGISTER_PV ,
+ cbs.SPECIAL_UPGRADE_PV ,
+ cbs.SPECIAL_REPURCHASE_PV ,
+ cbs.FICTITIOUS_PV ,
+ cbs.MALL_PV ,
+ cbs.COOPERATE_PV ,
+ cbs.WELFARE_ORDER_PV ,
+
+ cbs.main_reg_amount,
+ cbs.main_up_amount,
+ cbs.main_repur_amount,
+ cbs.special_register_amount,
+ cbs.special_upgrade_amount,
+ cbs.special_repurchase_amount,
+ cbs.fictitious_amount,
+ cbs.mall_amount,
+ cbs.cooperate_amount,
+ cbs.welfare_order,
+
+ cbs.introduce_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.org_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.leader_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end leader_bonus,
+ cbs.service_bonus ,
+ cbs.repur_range_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_org_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end repur_org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_leader_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end repur_leader_bonus,
+ cbs.repur_push_income
FROM CU_BONUS_STATIS cbs
left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id
- WHERE ver.DEL_FLAG = 0
+ WHERE 1 = 1
+ and ver.DEL_FLAG = 0
and cbs.PK_COUNTRY = #{pkCountry}
@@ -253,6 +349,8 @@
and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
+ )
+ cbs
diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml
index fded16e1..dbd398b4 100644
--- a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml
+++ b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml
@@ -2,58 +2,10 @@
-
+
@@ -211,18 +229,6 @@
sum (cbs.REPUR_RANGE_BONUS) repurRangeBonusSum,
sum (cbs.REPUR_ORG_BONUS) repurOrgBonusSum,
sum (cbs.REPUR_LEADER_BONUS) repurLeaderBonusSum,
-
sum (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT)
AS firstPurchaseAllSum,
sum (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER)
@@ -266,6 +272,71 @@
/ sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT
+ cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
end AS totalBonusRateSum
+ from (
+ SELECT
+ cbs.PK_BD_VERTEX ,
+ cbs.PK_TEAM_CODE ,
+ cm.MEMBER_CODE ,
+ cm.MEMBER_NAME ,
+ cbs.PK_ID ,
+ cbs.PERIOD ,
+ cbs.CREATION_TIME ,
+ cbs.PK_COUNTRY ,
+
+ cbs.MAIN_REG_PV ,
+ cbs.MAIN_UP_PV ,
+ cbs.MAIN_REPUR_PV ,
+ cbs.SPECIAL_REGISTER_PV ,
+ cbs.SPECIAL_UPGRADE_PV ,
+ cbs.SPECIAL_REPURCHASE_PV ,
+ cbs.FICTITIOUS_PV ,
+ cbs.MALL_PV ,
+ cbs.COOPERATE_PV ,
+ cbs.WELFARE_ORDER_PV ,
+
+ cbs.main_reg_amount,
+ cbs.main_up_amount,
+ cbs.main_repur_amount,
+ cbs.special_register_amount,
+ cbs.special_upgrade_amount,
+ cbs.special_repurchase_amount,
+ cbs.fictitious_amount,
+ cbs.mall_amount,
+ cbs.cooperate_amount,
+ cbs.welfare_order,
+
+ cbs.introduce_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.org_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.leader_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end leader_bonus,
+ cbs.service_bonus ,
+ cbs.repur_range_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_org_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end repur_org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_leader_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end repur_leader_bonus,
+ cbs.repur_push_income
FROM CU_BONUS_VERTEX_STATIS cbs
LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX AND cm.DEL_FLAG = 0
WHERE 1 = 1
@@ -281,6 +352,7 @@
and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
+ ) cbs
@@ -332,8 +404,71 @@
ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS)
/ #{rate} / sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV), 4)
end AS repurBonusPvRate
+ FROM
+ (
+ SELECT
+ cbs.PK_BD_VERTEX ,
+ cbs.PK_TEAM_CODE ,
+ cbs.PK_ID ,
+ cbs.PERIOD ,
+ cbs.CREATION_TIME ,
+ cbs.PK_COUNTRY ,
+
+ cbs.MAIN_REG_PV ,
+ cbs.MAIN_UP_PV ,
+ cbs.MAIN_REPUR_PV ,
+ cbs.SPECIAL_REGISTER_PV ,
+ cbs.SPECIAL_UPGRADE_PV ,
+ cbs.SPECIAL_REPURCHASE_PV ,
+ cbs.FICTITIOUS_PV ,
+ cbs.MALL_PV ,
+ cbs.COOPERATE_PV ,
+ cbs.WELFARE_ORDER_PV ,
+
+ cbs.main_reg_amount,
+ cbs.main_up_amount,
+ cbs.main_repur_amount,
+ cbs.special_register_amount,
+ cbs.special_upgrade_amount,
+ cbs.special_repurchase_amount,
+ cbs.fictitious_amount,
+ cbs.mall_amount,
+ cbs.cooperate_amount,
+ cbs.welfare_order,
+
+ cbs.introduce_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.org_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.leader_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end leader_bonus,
+ cbs.service_bonus ,
+ cbs.repur_range_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_org_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end repur_org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_leader_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end repur_leader_bonus,
+ cbs.repur_push_income
FROM CU_BONUS_VERTEX_STATIS cbs
- LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0
WHERE 1 = 1
and cbs.PK_COUNTRY = #{pkCountry}
@@ -347,6 +482,9 @@
and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
+ )
+ cbs
+ LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0
GROUP BY cbs.PK_BD_VERTEX, cm.MEMBER_CODE, cm.MEMBER_NAME
)
ORDER BY firstPurchaseAll desc, repurchaseAllAmount desc
@@ -441,13 +579,77 @@
ELSE ROUND(#{perCent} * sum(cbs.REPUR_LEADER_BONUS)
/ sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4)
end AS repurLeaderBonusRate
+ FROM (
+ SELECT
+ cbs.PK_BD_VERTEX ,
+ cbs.PK_TEAM_CODE ,
+ cm.MEMBER_CODE ,
+ cm.MEMBER_NAME ,
+ cbs.PK_ID ,
+ cbs.PERIOD ,
+ cbs.CREATION_TIME ,
+ cbs.PK_COUNTRY ,
+
+ cbs.MAIN_REG_PV ,
+ cbs.MAIN_UP_PV ,
+ cbs.MAIN_REPUR_PV ,
+ cbs.SPECIAL_REGISTER_PV ,
+ cbs.SPECIAL_UPGRADE_PV ,
+ cbs.SPECIAL_REPURCHASE_PV ,
+ cbs.FICTITIOUS_PV ,
+ cbs.MALL_PV ,
+ cbs.COOPERATE_PV ,
+ cbs.WELFARE_ORDER_PV ,
+
+ cbs.main_reg_amount,
+ cbs.main_up_amount,
+ cbs.main_repur_amount,
+ cbs.special_register_amount,
+ cbs.special_upgrade_amount,
+ cbs.special_repurchase_amount,
+ cbs.fictitious_amount,
+ cbs.mall_amount,
+ cbs.cooperate_amount,
+ cbs.welfare_order,
+
+ cbs.introduce_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.org_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.leader_bonus
+ else
+ cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end leader_bonus,
+ cbs.service_bonus ,
+ cbs.repur_range_bonus ,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_org_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ org_bonus
+ end repur_org_bonus,
+ case
+ when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then
+ cbs.repur_leader_bonus
+ else
+ cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) *
+ leader_bonus
+ end repur_leader_bonus,
+ cbs.repur_push_income
FROM CU_BONUS_VERTEX_STATIS cbs
- LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0
+ LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX AND cm.DEL_FLAG = 0
WHERE 1 = 1
- and cbs.PK_COUNTRY= #{pkCountry}
+ and cbs.PK_COUNTRY = #{pkCountry}
-
and cbs.PK_BD_VERTEX = #{pkVertex}
@@ -457,6 +659,8 @@
and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
+ ) cbs
+ LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0