1.其它支付bug修复

This commit is contained in:
zhangbb 2020-09-21 13:34:03 +08:00
parent 7af6f84bca
commit 69a99ed836
4 changed files with 43 additions and 18 deletions

View File

@ -3,7 +3,7 @@ DELIMITER $$
ALTER ALGORITHM=UNDEFINED DEFINER=`apzl`@`%` SQL SECURITY DEFINER VIEW `vi_lc_splitting_pay_list` AS (
SELECT
`o`.`ID` AS `ID`,
`di`.`distributor_name` AS `distributor_name`,
`di`.`DISTRIBUTOR_NAME` AS `distributor_name`,
`lci`.`CONTRACT_NO` AS `contract_no`,
`ci`.`customername` AS `customername`,
`o`.`PLAN_LIST` AS `plan_list`,
@ -17,9 +17,14 @@ SELECT
`vlri`.`charge_way` AS `charge_way`
FROM (((((`apzl`.`lc_rent_plan` `o`
LEFT JOIN `apzl`.`lb_contract_info` `lci`
ON ((`lci`.`ID` = `o`.`CONTRACT_ID`)))
ON ((`lci`.`ID` = `o`.`CONTRACT_ID`))
LEFT JOIN lc_calc_condition lcc ON lcc.contract_id=lci.id
LEFT JOIN LC_COMMISSION_CHARGE_CONFIG lccc ON lccc.product_id=lci.product_id AND lccc.distributor_id=lci.distributor_id AND lccc.INCOME_NUMBER = lcc.lease_term
)
LEFT JOIN `apzl`.`distributor_info` `di`
ON ((`di`.`distributor_no` = `lci`.`distributor_id`)))
ON ((`di`.`distributor_no` = `lci`.`distributor_id`))
)
LEFT JOIN `apzl`.`lb_union_lessee` `lul`
ON ((`lul`.`CONTRACT_ID` = `lci`.`ID`)))
LEFT JOIN `apzl`.`customer_info` `ci`
@ -36,6 +41,9 @@ WHERE ((`o`.`CORPUS_SP` IS NOT NULL)
AND (((((`vlri`.`rent` + IFNULL(`vlri`.`penalty`,0)) - `o`.`RENT`) - IFNULL(`o`.`PENALTY`,0)) >= 0)
OR (`o`.`COLLECT_STATUS` = '´ú³¥'))
AND ((`o`.`splitting_status` = 'N')
OR ISNULL(`o`.`splitting_status`))))$$
OR ISNULL(`o`.`splitting_status`))
AND ISNULL(lccc.id)
)
)$$
DELIMITER ;

View File

@ -4,17 +4,33 @@ CREATE
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 THEN lccc.charge_1 WHEN lrp.plan_list>=lccc.charge_2 AND lrp.plan_list<lccc.charge_3 THEN lccc.charge_2 WHEN lrp.plan_list>=lccc.charge_3 AND lrp.plan_list<lccc.charge_4 THEN lccc.charge_3 WHEN lrp.plan_list>=lccc.charge_4 THEN lccc.charge_4 ELSE 0 END 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 THEN lccc.ratio_1 WHEN lrp.plan_list>=lccc.charge_2 AND lrp.plan_list<lccc.charge_3 THEN lccc.ratio_2 WHEN lrp.plan_list>=lccc.charge_3 AND lrp.plan_list<lccc.charge_4 THEN lccc.ratio_3 WHEN lrp.plan_list>=lccc.charge_4 THEN lccc.ratio_4 ELSE 0 END lccc_ratio
FROM lc_commission_charge_config lccc
LEFT JOIN apzl.lb_contract_info lci
ON lccc.product_id = lci.PRODUCT_ID AND lccc.distributor_id=lci.distributor_id
LEFT JOIN (SELECT contract_id,MAX(plan_list) AS plan_list,COLLECT_STATUS,interest_sp FROM lc_rent_plan WHERE 1=1 AND COLLECT_STATUS IN ('微信', '网银收款', '代偿', '批量收款','手工收款') GROUP BY contract_id) lrp
ON lci.ID = lrp.CONTRACT_ID
WHERE lci.id NOT IN(SELECT contract_id FROM lc_split_occupy_process) AND lrp.plan_list IS NOT NULL AND lrp.interest_sp IS NOT NULL
`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('微信','网银收款','代偿','批量收款','手工收款')))
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`))
);

View File

@ -33,7 +33,7 @@ FROM (((`apzl`.`vi_split_config` `o`
LEFT JOIN `apzl`.`lb_union_lessee` `lul`
ON (((`lul`.`CONTRACT_ID` = `o`.`contract_id`)
AND (`lul`.`IS_MAIN` = 'Y'))))
WHERE (lsp.pay_list<>O.lccc_charge
WHERE (IFNULL(lsp.pay_list,0)<>O.lccc_charge
AND (`o`.`lccc_charge` > 0))
)$$

View File

@ -142,6 +142,7 @@ public class OtherPayMethod {
try {
BizObjectManager bomLspt = JBOFactory.getBizObjectManager(LC_SPLITTING_PAY_TEMP.CLASS_NAME,tx);
BizObject bolspt = bomLspt.newObject();
bolspt.setAttributeValue("contract_id", boLRP.getAttribute("CONTRACT_ID").toString());
bolspt.setAttributeValue("plan_id", plan_id);
bolspt.setAttributeValue("splitting_money", splitting_money);
bolspt.setAttributeValue("service_ratio", ratio.multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_UP).toString());