48 lines
2.9 KiB
SQL
48 lines
2.9 KiB
SQL
DELIMITER $$
|
|
|
|
ALTER ALGORITHM=UNDEFINED DEFINER=`apzl`@`%` SQL SECURITY DEFINER VIEW `vi_overdue_rent_plan` AS (
|
|
-- 查询字段变动时记得把lc_overdue_rent_plan也改一下
|
|
SELECT
|
|
`lrp`.`ID` AS `ID`,
|
|
`lrp`.`QUOT_ID` AS `QUOT_ID`,
|
|
`lrp`.`CUST_ID` AS `CUST_ID`,
|
|
`lrp`.`PROJECT_ID` AS `PROJECT_ID`,
|
|
`lrp`.`PROJECT_PLAN_NUMBER` AS `PROJECT_PLAN_NUMBER`,
|
|
`lrp`.`CONTRACT_ID` AS `CONTRACT_ID`,
|
|
`lrp`.`CONTRACT_PLAN_NUMBER` AS `CONTRACT_PLAN_NUMBER`,
|
|
`lrp`.`PAYMENT_NUMBER` AS `PAYMENT_NUMBER`,
|
|
`lrp`.`PLAN_LIST` AS `PLAN_LIST`,
|
|
`lrp`.`PLAN_DATE` AS `PLAN_DATE`,
|
|
`lrp`.`RENT` AS `RENT`,
|
|
`lrp`.`CORPUS` AS `corpus`,
|
|
`income`.`hire_date` AS `HIRE_DATE`,
|
|
IFNULL(`income`.`fact_rent`,0) AS `fact_rent`,
|
|
IFNULL(`income`.`fact_corpus`,0) AS `fact_corpus`,
|
|
IFNULL(`income`.`fact_penalty`,0) AS `fact_penalty`,
|
|
(IFNULL(`lrp`.`RENT`,0) - IFNULL(`income`.`fact_rent`,0)) AS `overduerent`,
|
|
(IFNULL(`lrp`.`INTEREST`,0) - IFNULL(`income`.`fact_interest`,0)) AS `overinterest`,
|
|
`getRentPenalty`(
|
|
`lrp`.`PAYMENT_NUMBER`,`lrp`.`PLAN_LIST`,DATE_FORMAT(SYSDATE(),'%Y/%m/%d')) AS `penalty`,
|
|
(CASE WHEN ((IFNULL(`income`.`fact_rent`,0) - IFNULL(`lrp`.`RENT`,0)) >= 0) THEN (CASE WHEN ((TO_DAYS(`income`.`hire_date`) - TO_DAYS(`lrp`.`PLAN_DATE`)) < 0) THEN 0 ELSE (TO_DAYS(`income`.`hire_date`) - TO_DAYS(`lrp`.`PLAN_DATE`)) END) ELSE (TO_DAYS(DATE_FORMAT(SYSDATE(),'%Y/%m/%d')) - TO_DAYS(`lrp`.`PLAN_DATE`)) END) AS `Overdue_days`,
|
|
(CASE WHEN ((IFNULL(`income`.`fact_rent`,0) - IFNULL(`lrp`.`RENT`,0)) >= 0) THEN '已结清' ELSE '未结清' END) AS `PLAN_STATUS`,
|
|
SYSDATE() AS inputtime
|
|
FROM (`apzl`.`lc_rent_plan` `lrp`
|
|
LEFT JOIN (SELECT
|
|
`apzl`.`lc_rent_income`.`PAYMENT_NUMBER` AS `payment_number`,
|
|
`apzl`.`lc_rent_income`.`PLAN_LIST` AS `plan_list`,
|
|
MAX(`apzl`.`lc_rent_income`.`HIRE_DATE`) AS `hire_date`,
|
|
IFNULL(SUM(`apzl`.`lc_rent_income`.`RENT`),0) AS `fact_rent`,
|
|
IFNULL(SUM(`apzl`.`lc_rent_income`.`CORPUS`),0) AS `fact_corpus`,
|
|
IFNULL(SUM(`apzl`.`lc_rent_income`.`INTEREST`),0) AS `fact_interest`,
|
|
IFNULL(SUM(`apzl`.`lc_rent_income`.`PENALTY`),0) AS `fact_penalty`
|
|
FROM `apzl`.`lc_rent_income`
|
|
WHERE (`apzl`.`lc_rent_income`.`PAYMENT_NUMBER` IS NOT NULL)
|
|
GROUP BY `apzl`.`lc_rent_income`.`PAYMENT_NUMBER`,`apzl`.`lc_rent_income`.`PLAN_LIST`) `income`
|
|
ON (((`lrp`.`PAYMENT_NUMBER` = `income`.`payment_number`)
|
|
AND (`lrp`.`PLAN_LIST` = `income`.`plan_list`)))
|
|
LEFT JOIN lb_contract_info lci ON lci.id=lrp.contract_id)
|
|
WHERE (lci.businesstype='1' AND (`lrp`.`PAYMENT_NUMBER` IS NOT NULL)
|
|
AND (`lrp`.`PLAN_DATE` <= CONVERT(DATE_FORMAT(SYSDATE(),'%Y/%m/%d')USING gbk)))
|
|
ORDER BY `lrp`.`PAYMENT_NUMBER`,`lrp`.`PLAN_LIST`)$$
|
|
|
|
DELIMITER ; |