2021-01-30 17:40:44 +08:00

482 lines
24 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 接口通联卡扣签约编码配置表
CREATE TABLE `bank_code_platform` (
`bank_code` varchar(10) DEFAULT NULL COMMENT '银行编码',
`channel_code` varchar(20) DEFAULT NULL COMMENT '渠道编码',
`platform_bank_name` varchar(20) DEFAULT NULL COMMENT '渠道银行名称',
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
PRIMARY KEY (`id`),
KEY `fk_bank_code` (`bank_code`),
CONSTRAINT `fk_bank_code` FOREIGN KEY (`bank_code`) REFERENCES `bank_code` (`bank_code`)
) ;
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('105', 'KAER', '中国建设银行', '1');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('305', 'KAER', '中国民生银行', '2');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('102', 'KAER', '中国工商银行', '3');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('317', 'KAER', '渤海银行', '4');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('307', 'KAER', '平安银行', '5');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('104', 'KAER', '中国银行', '6');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('102', 'SHIQIAO', '工商银行', '7');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('104', 'SHIQIAO', '中国银行', '8');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('105', 'SHIQIAO', '建设银行', '9');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('100', 'SHIQIAO', '邮政储蓄银行', '10');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('309', 'SHIQIAO', '兴业银行', '11');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('307', 'SHIQIAO', '平安银行', '12');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('305', 'SHIQIAO', '民生银行', '13');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('302', 'SHIQIAO', '中信银行', '14');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('310', 'SHIQIAO', '浦发银行', '15');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('413', 'SHIQIAO', '广州银行', '16');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('304', 'SHIQIAO', '华夏银行', '17');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('403', 'SHIQIAO', '北京银行', '18');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('401', 'SHIQIAO', '上海银行', '19');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('317', 'SHIQIAO', '渤海银行', '20');
INSERT INTO `apzl`.`bank_code_platform` (`bank_code`, `channel_code`, `platform_bank_name`, `id`) VALUES ('311', 'SHIQIAO', '恒丰银行', '21');
-- 手工卡扣模板更新
update awe_do_catalog set jboclass = 'jbo.loan.vi_manual_dedution',jbowhere = null where dono = 'ViLcReviewAuditRentPlanList3';
DELETE from awe_do_library where dono = 'ViLcReviewAuditRentPlanList3' and colheader = '未付租金';
INSERT INTO `apzl`.`awe_do_library` (`dono`, `colindex`, `sortno`, `isinuse`, `coltablename`, `colactualname`, `colname`, `coltype`, `coldefaultvalue`, `colheader`, `colunit`, `colcolumntype`, `coleditstyle`, `colcheckformat`, `colalign`, `coleditsourcetype`, `coleditsource`, `colhtmlstyle`, `collimit`, `colvisible`, `colreadonly`, `colrequired`, `colsortable`, `isfilter`, `colspan`, `isautocomplete`, `groupid`, `colfilterrefid`, `inputuser`, `inputtime`, `updateuser`, `updatetime`, `isaudit`, `colfilterattrs`, `isupdate`, `parentcolindex`, `tips`, `colinnerbtevent`, `colfilteroptions`) VALUES ('ViLcReviewAuditRentPlanList3', '1090', '1040', '1', 'O', 'rent_over', 'rent_over', 'Number', '', '未付租金', '', '1', 'Text', '2', '1', '', '', '', '20', '1', '1', '0', '1', '0', '1', '0', '', '', 'SYS_Designer', '2020/08/03 16:55:00', 'SYS_Designer', '2020/09/29 15:23:57', '', '', '1', '', '', '', '');
DELETE from awe_do_library where dono = 'ViLcReviewAuditRentPlanList3' and colheader = '未付罚息';
INSERT INTO `apzl`.`awe_do_library` (`dono`, `colindex`, `sortno`, `isinuse`, `coltablename`, `colactualname`, `colname`, `coltype`, `coldefaultvalue`, `colheader`, `colunit`, `colcolumntype`, `coleditstyle`, `colcheckformat`, `colalign`, `coleditsourcetype`, `coleditsource`, `colhtmlstyle`, `collimit`, `colvisible`, `colreadonly`, `colrequired`, `colsortable`, `isfilter`, `colspan`, `isautocomplete`, `groupid`, `colfilterrefid`, `inputuser`, `inputtime`, `updateuser`, `updatetime`, `isaudit`, `colfilterattrs`, `isupdate`, `parentcolindex`, `tips`, `colinnerbtevent`, `colfilteroptions`) VALUES ('ViLcReviewAuditRentPlanList3', '1570', '1065', '1', '', '\'\'', 'penalty_over', 'Number', '', '未付罚息', '', '1', 'Text', '2', '1', '', '', '', NULL, '1', '1', '0', '1', '0', '0', '', '', '', 'SYS_Designer', '2020/09/27 09:48:31', 'SYS_Designer', '2020/09/29 15:23:57', '', '', '1', '', '', '', '');
INSERT INTO `apzl`.`awe_do_library` (`dono`, `colindex`, `sortno`, `isinuse`, `coltablename`, `colactualname`, `colname`, `coltype`, `coldefaultvalue`, `colheader`, `colunit`, `colcolumntype`, `coleditstyle`, `colcheckformat`, `colalign`, `coleditsourcetype`, `coleditsource`, `colhtmlstyle`, `collimit`, `colvisible`, `colreadonly`, `colrequired`, `colsortable`, `isfilter`, `colspan`, `isautocomplete`, `groupid`, `colfilterrefid`, `inputuser`, `inputtime`, `updateuser`, `updatetime`, `isaudit`, `colfilterattrs`, `isupdate`, `parentcolindex`, `tips`, `colinnerbtevent`, `colfilteroptions`) VALUES ('ViLcReviewAuditRentPlanList3', '1490', '1490', '1', 'O', 'penalty_sum', 'penalty_sum', 'Number', '', '已还罚息', '', '1', 'Text', '2', '3', '', '', '', '32', '0', '0', '0', '1', '0', '0', '', '', '', 'SYS_Designer', '2020/12/04 14:57:30', 'SYS_Designer', '2020/12/04 14:57:30', '0', '', '1', '', '', '', '');
-- 手工卡扣使用新视图
CREATE ALGORITHM=UNDEFINED DEFINER=`apzl`@`%` SQL SECURITY DEFINER VIEW `vi_manual_dedution` AS select `lrp`.`ID` AS `id`,`lci`.`ID` AS `contract_id`,`lci`.`BUSINESSTYPE` AS `businesstype`,`lci`.`SUBJECTID` AS `subjectid`,`lci`.`SUBJECTNAME` AS `subjectname`,`lci`.`distributor_id` AS `distributor_id`,`lci`.`CONTRACT_NUMBER` AS `contract_number`,`lrp`.`PAYMENT_NUMBER` AS `payment_number`,ifnull(`lul`.`CUSTOMER_NAME`,'') AS `customername`,`ca`.`acc_number` AS `acc_number`,`ca`.`collect_type` AS `collect_type`,`ca`.`CERTID` AS `certid`,`lrp`.`PLAN_LIST` AS `plan_list`,`lrp`.`PLAN_DATE` AS `plan_date`,ifnull(`lrp`.`COLLECT_STATUS`,'未收款') AS `collect_status`,`lrp`.`COLLECT_MSG` AS `COLLECT_MSG`,`lrp`.`BATCH_STATUS` AS `BATCH_STATUS`,`lrp`.`RENT` AS `rent`,`lrp`.`CORPUS` AS `corpus`,`lrp`.`INTEREST` AS `interest`,`getRentPenalty`(`lrp`.`PAYMENT_NUMBER`,`lrp`.`PLAN_LIST`,date_format(now(),'%Y/%m/%d')) AS `penalty`,(`lrp`.`RENT` - (ifnull(`lcfd`.`rent`,0) + ifnull(`lcfi`.`rent`,0))) AS `rent_over`,(`lrp`.`CORPUS` - (((ifnull(`lcfd`.`corpus`,0) + ifnull(`lcfi`.`corpus`,0)) + ifnull(`lcfd`.`corpus_adjust`,0)) + ifnull(`lcfi`.`corpus_adjust`,0))) AS `corpus_over`,(`lrp`.`INTEREST` - (((ifnull(`lcfd`.`interest`,0) + ifnull(`lcfi`.`interest`,0)) + ifnull(`lcfd`.`interest_adjust`,0)) + ifnull(`lcfi`.`interest_adjust`,0))) AS `interest_over`,round(((ifnull(`lcfd`.`penalty`,0) + ifnull(`lcfi`.`penalty`,0)) + (ifnull(`lcfd`.`penalty_adjust`,0) + ifnull(`lcfi`.`penalty_adjust`,0))),2) AS `penalty_sum` from (((((((select `l`.`ID` AS `ID`,`l`.`PROJECT_ID` AS `PROJECT_ID`,`l`.`PROJECT_PLAN_NUMBER` AS `PROJECT_PLAN_NUMBER`,`l`.`CONTRACT_ID` AS `CONTRACT_ID`,`l`.`CONTRACT_PLAN_NUMBER` AS `CONTRACT_PLAN_NUMBER`,`l`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,`l`.`PLAN_LIST` AS `PLAN_LIST`,`l`.`PLAN_DATE` AS `PLAN_DATE`,`l`.`PLAN_STATUS` AS `PLAN_STATUS`,`l`.`RENT` AS `RENT`,`l`.`CORPUS` AS `CORPUS`,`l`.`INTEREST` AS `INTEREST`,`l`.`PENALTY` AS `PENALTY`,`l`.`CORPUS_BUSINESS` AS `CORPUS_BUSINESS`,`l`.`INTEREST_BUSINESS` AS `INTEREST_BUSINESS`,`l`.`RENT_ADJUST` AS `RENT_ADJUST`,`l`.`ALL_REMAIN_CORPUS` AS `ALL_REMAIN_CORPUS`,`l`.`SETTLE_METHOD` AS `SETTLE_METHOD`,`l`.`COIN` AS `COIN`,`l`.`YEAR_RATE` AS `YEAR_RATE`,`l`.`MEMO` AS `MEMO`,`l`.`FLOWUNID` AS `FLOWUNID`,`l`.`INPUTUSERID` AS `INPUTUSERID`,`l`.`INPUTORGID` AS `INPUTORGID`,`l`.`INPUTTIME` AS `INPUTTIME`,`l`.`INTEREST_DATE` AS `INTEREST_DATE`,`l`.`AUDIT_STATE` AS `AUDIT_STATE`,`l`.`COLLECT_STATUS` AS `COLLECT_STATUS`,`l`.`COLLECT_MSG` AS `COLLECT_MSG`,`l`.`FAILURE_TIME` AS `FAILURE_TIME`,`l`.`FAILURE_REASON` AS `FAILURE_REASON`,`l`.`BATCH_NO` AS `BATCH_NO`,`l`.`BATCH_STATUS` AS `BATCH_STATUS`,`l`.`batch_sn` AS `batch_sn`,`l`.`SPARE_BATCH_NO` AS `SPARE_BATCH_NO`,`l`.`CORPUS_SP` AS `CORPUS_SP`,`l`.`INTEREST_sp` AS `INTEREST_sp`,`l`.`splitting_status` AS `splitting_status`,`l`.`charge_way` AS `charge_way` from `apzl`.`lc_rent_plan` `l` where (((`l`.`COLLECT_STATUS` in ('未收款','部分收款','代偿')) or isnull(`l`.`COLLECT_STATUS`)) and (`l`.`PLAN_DATE` <= convert(date_format(now(),'%Y/%m/%d') using gbk)) and (`l`.`ID` = (select `t`.`ID` from `apzl`.`lc_rent_plan` `t` where ((`t`.`CONTRACT_ID` = `l`.`CONTRACT_ID`) and ((`t`.`COLLECT_STATUS` in ('未收款','部分收款','代偿')) or isnull(`t`.`COLLECT_STATUS`))) order by `t`.`PAYMENT_NUMBER`,`t`.`PLAN_LIST` limit 1))))) `lrp` left join `apzl`.`lb_contract_info` `lci` on((`lrp`.`CONTRACT_ID` = `lci`.`ID`))) left join `apzl`.`lb_union_lessee` `lul` on(((`lrp`.`CONTRACT_ID` = `lul`.`CONTRACT_ID`) and (`lul`.`IS_MAIN` = 'Y')))) left join `apzl`.`lc_rent_income_transfer` `lcfd` on(((`lrp`.`PAYMENT_NUMBER` = `lcfd`.`payment_number`) and (`lrp`.`PLAN_LIST` = `lcfd`.`plan_list`)))) left join `apzl`.`lc_rent_income_temp_transfer` `lcfi` on(((`lrp`.`PAYMENT_NUMBER` = `lcfi`.`payment_number`) and (`lrp`.`PLAN_LIST` = `lcfi`.`plan_list`)))) left join `apzl`.`customer_account` `ca` on(((`lci`.`ID` = `ca`.`CONTRACT_ID`) and (`ca`.`acc_info` = 'Debit')))) where ((`lci`.`CONTRACT_STATUS` = '31') and (`lci`.`BUSINESSTYPE` = '1') and (not(exists(select 1 from `apzl`.`lc_occupy_rent_list` `lorl` where ((`lorl`.`PAYMENT_NUMBER` = `lrp`.`PAYMENT_NUMBER`) and (((`lorl`.`PLAN_ID` = `lrp`.`ID`) and (`lorl`.`FLOW_NAME` in ('微信银联收款','微信支付收款','网银收款'))) or (`lorl`.`FLOW_NAME` = '合同中途终止')))))));
-- 添加签约类型字段
alter table lc_card_tlsign add column sign_type VARCHAR(10) COMMENT '签约类型' after RESPONSE_CONTENT;
-- 添加卡扣类型字段
alter table lb_buckle_log add column deduction_type varchar(10) COMMENT '卡扣类型' AFTER updatetime;
-- 通联卡扣核销函数修改
drop PROCEDURE if exists proc_insert_hexiao;
CREATE PROCEDURE `proc_insert_hexiao`(IN ln_contract_id VARCHAR(200), IN ln_plan_date VARCHAR(200),
IN in_rent VARCHAR(200), IN in_hire_list VARCHAR(200),
IN in_type VARCHAR(2))
BEGIN
-- 如果in_type=1就是手工核销
IF in_type = 1 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number,
charge_way
)
(SELECT
REPLACE (UUID(), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
in_hire_list AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
vl.rent_over AS RENT,
vl.corpus_over AS CORPUS,
vl.interest_over AS INTEREST,
(
in_rent - vl.corpus_over - vl.interest_over
) AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
oa.acc_bank,
lci.subjectname,
oa.acc_number,
'AutoBuckle'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
LEFT JOIN lb_contract_info lci ON vl.contract_id=lci.id
LEFT JOIN code_library cl ON cl.codeno='ManySubject' AND lci.subjectid=cl.itemno
LEFT JOIN own_account oa ON oa.own_id=cl.bankno AND oa.account_purpose='default' AND oa.state_='0010' AND (oa.account_type='in_account' OR oa.account_type='inAndOut_account') AND oa.acc_type='0010'
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_date = ln_plan_date
GROUP BY oa.own_id) ;
-- in_type = 2为银联卡口手动刷新核销数据
ELSEIF in_type = 2 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number,
charge_way
)
(SELECT
REPLACE (UUID (), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
in_hire_list AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.rent_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN in_rent-vl.penalty_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>vl.penalty_over THEN in_rent-vl.penalty_over
ELSE '0'
END RENT,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.corpus_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN in_rent-(vl.penalty_over+vl.interest_over)
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN '0'
ELSE '0'
END CORPUS,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.interest_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN vl.interest_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN in_rent-vl.penalty_over
ELSE '0'
END INTEREST,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.penalty_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN vl.penalty_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN vl.penalty_over
ELSE in_rent
END AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
oa.acc_bank,
lci.subjectname,
oa.acc_number,
'AutoBuckle'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
LEFT JOIN lb_contract_info lci ON vl.contract_id=lci.id
LEFT JOIN code_library cl ON cl.codeno='ManySubject' AND lci.subjectid=cl.itemno
LEFT JOIN own_account oa ON oa.own_id=cl.bankno AND oa.account_purpose='default' AND oa.state_='0010' AND (oa.account_type='in_account' OR oa.account_type='inAndOut_account') AND oa.acc_type='0010'
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_date = ln_plan_date
GROUP BY oa.own_id) ;
-- 如果in_type=3就是经销商保证金代偿in_hire_list为核销罚息金额
ELSEIF in_type = 3 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number,
charge_way
)
(SELECT
REPLACE (UUID(), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
'1' AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
vl.rent_over AS RENT,
vl.corpus_over AS CORPUS,
vl.interest_over AS INTEREST,
in_hire_list AS PENALTY,
'0' AS CORPUS_ADJUST,
penalty_over-in_hire_list AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
oa.acc_bank,
lci.subjectname,
oa.acc_number,
'AutoBuckle'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
LEFT JOIN lb_contract_info lci ON vl.contract_id=lci.id
LEFT JOIN code_library cl ON cl.codeno='ManySubject' AND lci.subjectid=cl.itemno
LEFT JOIN own_account oa ON oa.own_id=cl.bankno AND oa.account_purpose='default' AND oa.state_='0010' AND (oa.account_type='in_account' OR oa.account_type='inAndOut_account') AND oa.acc_type='0010'
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_date = ln_plan_date
GROUP BY oa.own_id ) ;
-- in_type = 4 为微信还款
ELSEIF in_type = 4 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number,
charge_way
)
(SELECT
REPLACE (UUID(), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
'1' AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
vl.rent_over AS RENT,
vl.corpus_over AS CORPUS,
vl.interest_over AS INTEREST,
(
in_rent - vl.corpus_over - vl.interest_over
) AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
'',
'',
'',
CASE ln_plan_date WHEN 'WXPay' THEN '中国银行股份有限公司北京潘家园支行' ELSE lms.bank_name END,
CASE ln_plan_date WHEN 'WXPay' THEN '北京安鹏昌达资产管理有限公司' ELSE lms.acc_name END,
CASE ln_plan_date WHEN 'WXPay' THEN '344167318076' ELSE lms.acc_number END,
CASE ln_plan_date WHEN 'WXPay' THEN 'WXPay' ELSE 'WXUnionPay' END
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
LEFT JOIN LB_MANY_SUBJECT lms ON lms.subject_id=vl.subjectid AND lms.is_enable='Y'
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_list = in_hire_list ) ;
-- in_type = 5为通联扣款
ELSEIF in_type = 5 THEN
INSERT INTO LC_RENT_INCOME (
ID,
QUOT_ID,
CUST_ID,
PROJECT_ID,
PROJECT_PLAN_NUMBER,
CONTRACT_ID,
CONTRACT_PLAN_NUMBER,
PAYMENT_NUMBER,
EBANK_NUMBER,
PLAN_ID,
PLAN_LIST,
INTEREST_ADJUST,
SETTLE_METHOD,
HIRE_LIST,
HIRE_DATE,
RENT,
CORPUS,
INTEREST,
PENALTY,
CORPUS_ADJUST,
PENALTY_ADJUST,
ROLL_BACK,
COIN,
hire_number,
hire_bank,
hire_account,
own_bank,
own_account,
own_number,
charge_way
)
(SELECT
REPLACE (UUID (), '-', '') AS id,
O.QUOT_ID AS QUOT_ID,
O.CUST_ID AS CUST_ID,
O.PROJECT_ID AS PROJECT_ID,
O.PROJECT_PLAN_NUMBER AS PROJECT_PLAN_NUMBER,
O.CONTRACT_ID AS CONTRACT_ID,
O.CONTRACT_PLAN_NUMBER AS CONTRACT_PLAN_NUMBER,
O.PAYMENT_NUMBER AS PAYMENT_NUMBER,
'' AS EBANK_NUMBER,
O.id AS PLAN_ID,
O.PLAN_LIST AS PLAN_LIST,
'0' AS INTEREST_ADJUST,
'settlemethod6' AS SETTLE_METHOD,
in_hire_list AS HIRE_LIST,
DATE_FORMAT (CURDATE(),'%Y/%m/%d') AS HIRE_DATE,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.rent_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN in_rent-vl.penalty_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>vl.penalty_over THEN in_rent-vl.penalty_over
ELSE '0'
END RENT,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.corpus_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN in_rent-(vl.penalty_over+vl.interest_over)
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN '0'
ELSE '0'
END CORPUS,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.interest_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN vl.interest_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN in_rent-vl.penalty_over
ELSE '0'
END INTEREST,
CASE WHEN in_rent>=vl.corpus_over+vl.interest_over+vl.penalty_over THEN vl.penalty_over
WHEN in_rent<vl.corpus_over+vl.interest_over+vl.penalty_over AND in_rent>=vl.interest_over+vl.penalty_over THEN vl.penalty_over
WHEN in_rent<vl.interest_over+vl.penalty_over AND in_rent>=vl.penalty_over THEN vl.penalty_over
ELSE in_rent
END AS PENALTY,
'0' AS CORPUS_ADJUST,
'0' AS PENALTY_ADJUST,
'0' AS ROLL_BACK,
O.COIN AS COIN ,
ca.acc_number,
ca.bank_name,
ca.account,
oa.acc_bank,
lci.subjectname,
oa.acc_number,
'TLCollect'
FROM
LC_RENT_PLAN O,
VI_LC_RENT_PLAN vl
LEFT JOIN customer_account ca ON ca.contract_id=vl.contract_id
LEFT JOIN lb_contract_info lci ON vl.contract_id=lci.id
LEFT JOIN code_library cl ON cl.codeno='ManySubject' AND lci.subjectid=cl.itemno
LEFT JOIN own_account oa ON oa.own_id=cl.bankno AND oa.account_purpose='default' AND oa.state_='0010' AND (oa.account_type='in_account' OR oa.account_type='inAndOut_account') AND oa.acc_type='0010'
WHERE O.id = vl.id
AND vl.contract_id =ln_contract_id
AND vl.plan_date = ln_plan_date
GROUP BY oa.own_id) ;
ELSE
SELECT 1;
END IF;
END