apzl_leasing/src_sql/view/vi_rent_collect.sql

57 lines
3.2 KiB
SQL

create view vi_rent_collect 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`,
`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((`getRentPenalty`(`lrp`.`PAYMENT_NUMBER`,`lrp`.`PLAN_LIST`,DATE_FORMAT(NOW(),'%Y/%m/%d')) - ((IFNULL(`lcfd`.`penalty`,0) + IFNULL(`lcfi`.`penalty`,0)) + (IFNULL(`lcfd`.`penalty_adjust`,0) + IFNULL(`lcfi`.`penalty_adjust`,0)))),2) AS `penalty_over`
FROM (((((`apzl`.`lc_rent_plan` `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 (SELECT DISTINCT
`apzl`.`customer_account`.`CONTRACT_ID` AS `contract_id`,
`apzl`.`customer_account`.`acc_number` AS `acc_number`,
`apzl`.`customer_account`.`collect_type` AS `collect_type`
FROM `apzl`.`customer_account`) `ca`
ON ((`ca`.`contract_id` = `lci`.`ID`)))
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 IN ('ºÏͬÖÐ;ÖÕÖ¹','Ìáǰ½áÇåÉêÇë')
)
)))))
);