37 lines
3.3 KiB
SQL
37 lines
3.3 KiB
SQL
|
||
CREATE
|
||
VIEW `apzl`.`vi_split_config`
|
||
AS
|
||
(
|
||
SELECT
|
||
`lci`.`distributor_id` AS `distributor_id`,
|
||
`lci`.`ID` AS `contract_id`,
|
||
`lci`.`CONTRACT_NO` AS `CONTRACT_NO`,
|
||
`lrp`.`plan_list` AS `plan_list`,
|
||
(CASE WHEN (`lrp`.`plan_list` < `lccc`.`charge_1`) THEN 0 WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_1`) AND ((`lrp`.`plan_list` < `lccc`.`charge_2`) OR (`lccc`.`charge_2` = 0))) THEN `lccc`.`charge_1` WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_2`) AND ((`lrp`.`plan_list` < `lccc`.`charge_3`) OR (`lccc`.`charge_3` = 0))) THEN `lccc`.`charge_2` WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_3`) AND ((`lrp`.`plan_list` < `lccc`.`charge_4`) OR (`lccc`.`charge_4` = 0))) THEN `lccc`.`charge_3` WHEN (`lrp`.`plan_list` >= `lccc`.`charge_4`) THEN `lccc`.`charge_4` ELSE 0 END) AS `lccc_charge`,
|
||
(CASE WHEN (`lrp`.`plan_list` < `lccc`.`charge_1`) THEN 0 WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_1`) AND ((`lrp`.`plan_list` < `lccc`.`charge_2`) OR (`lccc`.`charge_2` = 0))) THEN `lccc`.`ratio_1` WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_2`) AND ((`lrp`.`plan_list` < `lccc`.`charge_3`) OR (`lccc`.`charge_3` = 0))) THEN `lccc`.`ratio_2` WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_3`) AND ((`lrp`.`plan_list` < `lccc`.`charge_4`) OR (`lccc`.`charge_4` = 0))) THEN `lccc`.`ratio_3` WHEN (`lrp`.`plan_list` >= `lccc`.`charge_4`) THEN `lccc`.`ratio_4` ELSE 0 END) AS `lccc_ratio`,
|
||
(CASE WHEN (`lrp`.`plan_list` < `lccc`.`charge_1`) THEN 0 WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_1`) AND ((`lrp`.`plan_list` < `lccc`.`charge_2`) OR (`lccc`.`charge_2` = 0))) THEN 1 WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_2`) AND ((`lrp`.`plan_list` < `lccc`.`charge_3`) OR (`lccc`.`charge_3` = 0))) THEN 2 WHEN ((`lrp`.`plan_list` >= `lccc`.`charge_3`) AND ((`lrp`.`plan_list` < `lccc`.`charge_4`) OR (`lccc`.`charge_4` = 0))) THEN 3 WHEN (`lrp`.`plan_list` >= `lccc`.`charge_4`) THEN 4 ELSE 0 END) AS `lccc_list`
|
||
FROM ((`apzl`.`lc_commission_charge_config` `lccc`
|
||
LEFT JOIN (SELECT ci.product_id,ci.distributor_id,ci.id,ci.contract_no,lcc.lease_term FROM `apzl`.`lb_contract_info` ci JOIN lc_calc_condition lcc ON ci.id=lcc.contract_id ) `lci`
|
||
ON (((`lccc`.`product_id` = `lci`.`PRODUCT_ID`)
|
||
AND (`lccc`.`distributor_id` = `lci`.`distributor_id`))
|
||
AND lccc.income_number=lci.lease_term))
|
||
LEFT JOIN (SELECT
|
||
`apzl`.`lc_rent_plan`.`CONTRACT_ID` AS `contract_id`,
|
||
MAX(`apzl`.`lc_rent_plan`.`PLAN_LIST`) AS `plan_list`,
|
||
`apzl`.`lc_rent_plan`.`COLLECT_STATUS` AS `COLLECT_STATUS`,
|
||
`apzl`.`lc_rent_plan`.`INTEREST_sp` AS `interest_sp`,
|
||
COUNT(0) AS `plan_count`
|
||
FROM `apzl`.`lc_rent_plan`
|
||
WHERE ((1 = 1)
|
||
AND (`apzl`.`lc_rent_plan`.`COLLECT_STATUS` IN('<EFBFBD><EFBFBD>','<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>տ<EFBFBD>','<EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>տ<EFBFBD>','<EFBFBD>ֹ<EFBFBD><EFBFBD>տ<EFBFBD>')))
|
||
GROUP BY `apzl`.`lc_rent_plan`.`CONTRACT_ID`) `lrp`
|
||
ON ((`lci`.`ID` = `lrp`.`contract_id`)))
|
||
WHERE ((NOT(`lci`.`ID` IN(SELECT
|
||
`apzl`.`lc_split_occupy_process`.`contract_id`
|
||
FROM `apzl`.`lc_split_occupy_process`)))
|
||
AND (`lrp`.`plan_list` IS NOT NULL)
|
||
AND (`lrp`.`interest_sp` IS NOT NULL)
|
||
AND (`lrp`.`plan_count` = `lrp`.`plan_list`))
|
||
);
|