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 ;