diff --git a/doc/databases/统计报表更新.sql b/doc/databases/统计报表更新.sql index d57813d944..92be4cc8a0 100644 --- a/doc/databases/统计报表更新.sql +++ b/doc/databases/统计报表更新.sql @@ -1574,7 +1574,541 @@ BEGIN -- 金融未放款 统计规则调整:包含担保和非担保。 金融未放款(已开票):截止当日贷款业务已开票的,融资放款应收未认款金额+未生成融资放款的总贷款金额。 --- 金融未放款(已终审):截止当日贷款业务的已开票且信审终审已通过,统计融资放款未认款金额。 +-- 台数: + + update daily_report r inner join ( + SELECT sum(b.scount) AS scount, + b.useOrgSid, + b.NAME, + b.contractNo, + b.vehMConfigSid, + b.vehModelSid + FROM ( + SELECT count(a.id) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + SUM(s.reveivableMoney), + SUM(s.subscriptionMoney), + bo.contractNo + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + left join anrui_fin.fin_vehicle_invoice ffi + on ffi.vehicleSid = bbv.sid and ffi.contractNo = bo.contractNo + LEFT JOIN ( + SELECT fd.reveivableMoney, + fd.busVinSid, + IFNULL(SUM(fs.subscriptionMoney), 0) AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + LEFT JOIN anrui_fin.fin_selected_receivables_detailed fs + ON fs.receivablesSid = fd.sid + WHERE fd.kxState = '01' + AND fs.auditState = 3 + AND fd.receivablesName = '融资放款' + GROUP BY fd.sid + UNION ALL + SELECT fd.reveivableMoney, + fd.busVinSid, + 0 AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + WHERE fd.kxState = '01' + AND fd.receivablesName = '融资放款' + AND fd.sid NOT IN (SELECT fs.`receivablesSid` + FROM anrui_fin.fin_selected_receivables_detailed fs + WHERE fs.`auditState` = 3 + AND fs.`receivablesName` = '融资放款') + GROUP BY fd.sid + ) s ON s.busVinSid = bv.sid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + WHERE bo.payTypeKey = 2 + AND ffi.billingStateKey = '002' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING SUM(s.reveivableMoney) > SUM(s.subscriptionMoney)) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + UNION ALL + SELECT count(a.id) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + bo.contractNo, + IFNULL(sss.money, '0') AS money + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + LEFT JOIN (SELECT furd.busVinSid + FROM anrui_fin.fin_uncollected_receivables_detailed furd + WHERE furd.receivablesName = '融资放款' + GROUP BY furd.busVinSid) ss ON ss.busVinSid = bv.sid + LEFT JOIN ( + SELECT (ls.loanTotal - lo.loanDownPay) AS money, + ls.salesOrderSid + FROM anrui_riskcenter.loan_solutions ls + LEFT JOIN anrui_riskcenter.loan_solutions_otherpolicy lo + ON lo.solutionsSid = ls.sid + ) sss ON sss.salesOrderSid = bv.salesOrderSid + left join anrui_fin.fin_vehicle_invoice ffi + on ffi.vehicleSid = bbv.sid and ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND ss.busVinSid IS NULL + AND ffi.billingStateKey = '002' + AND bo.nodeState = '已办结' + AND bo.contractNo NOT LIKE '%2023%' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING money > 0 + ) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + ) b + GROUP BY b.useOrgSid, + b.vehModelSid, + b.vehMConfigSid) as s on + r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.vehModelSid AND r.vehMConfigSid = s.vehMConfigSid + SET r.`loan_not_count`=s.scount + WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); + +-- 金融未放款已开票金额 + update daily_report r inner join ( + SELECT SUM(b.scount) AS scount, + b.useOrgSid, + b.NAME, + b.contractNo, + b.vehMConfigSid, + b.vehModelSid + FROM ( + SELECT SUM(a.scount) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + SUM(s.reveivableMoney), + SUM(s.subscriptionMoney), + bo.contractNo, + ( + SUM(s.reveivableMoney) - SUM(s.subscriptionMoney)) AS scount + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN ( + SELECT fd.reveivableMoney, + fd.busVinSid, + IFNULL(SUM(fs.subscriptionMoney), 0) AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + LEFT JOIN anrui_fin.fin_selected_receivables_detailed fs + ON fs.receivablesSid = fd.sid + WHERE fd.kxState = '01' + AND fs.auditState = 3 + AND fd.receivablesName = '融资放款' + GROUP BY fd.sid + UNION ALL + SELECT fd.reveivableMoney, + fd.busVinSid, + 0 AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + WHERE fd.kxState = '01' + AND fd.receivablesName = '融资放款' + AND fd.sid NOT IN (SELECT fs.`receivablesSid` + FROM anrui_fin.fin_selected_receivables_detailed fs + WHERE fs.`auditState` = 3 + AND fs.`receivablesName` = '融资放款') + GROUP BY fd.sid + ) s ON s.busVinSid = bv.sid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + left join anrui_fin.fin_vehicle_invoice ffi + on ffi.vehicleSid = bbv.sid and ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND ffi.billingStateKey = '002' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING SUM(s.reveivableMoney) > SUM(s.subscriptionMoney)) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + UNION ALL + SELECT sum(a.money) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + bo.contractNo, + IFNULL(sss.money, '0') AS money + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + LEFT JOIN (SELECT furd.busVinSid + FROM anrui_fin.fin_uncollected_receivables_detailed furd + WHERE furd.receivablesName = '融资放款' + GROUP BY furd.busVinSid) ss ON ss.busVinSid = bv.sid + LEFT JOIN ( + SELECT (ls.loanTotal - lo.loanDownPay) AS money, + ls.salesOrderSid + FROM anrui_riskcenter.loan_solutions ls + LEFT JOIN anrui_riskcenter.loan_solutions_otherpolicy lo + ON lo.solutionsSid = ls.sid + ) sss ON sss.salesOrderSid = bv.salesOrderSid + left join anrui_fin.fin_vehicle_invoice ffi + on ffi.vehicleSid = bbv.sid and ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND ss.busVinSid IS NULL + AND ffi.billingStateKey = '002' + AND bo.nodeState = '已办结' + AND bo.contractNo NOT LIKE '%2023%' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING money > 0 + ) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + ) b + GROUP BY b.useOrgSid, + b.vehModelSid, + b.vehMConfigSid) as s on + r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.vehModelSid AND r.vehMConfigSid = s.vehMConfigSid + SET r.`loan_not_amount`=ROUND(s.scount / 10000, 2) + WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); + + + -- 金融未放款(已终审):截止当日贷款业务的已开票且信审终审已通过,统计融资放款未认款金额。 +-- 已终审台数 + update daily_report r inner join ( + SELECT sum(b.scount) AS scount, + b.useOrgSid, + b.NAME, + b.contractNo, + b.vehMConfigSid, + b.vehModelSid + FROM ( + SELECT count(a.id) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + SUM(s.reveivableMoney), + SUM(s.subscriptionMoney), + bo.contractNo + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN ( + SELECT fd.reveivableMoney, + fd.busVinSid, + IFNULL(SUM(fs.subscriptionMoney), 0) AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + LEFT JOIN anrui_fin.fin_selected_receivables_detailed fs + ON fs.receivablesSid = fd.sid + WHERE fd.kxState = '01' + AND fs.auditState = 3 + AND fd.receivablesName = '融资放款' + GROUP BY fd.sid + UNION ALL + SELECT fd.reveivableMoney, + fd.busVinSid, + 0 AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + WHERE fd.kxState = '01' + AND fd.receivablesName = '融资放款' + AND fd.sid NOT IN (SELECT fs.`receivablesSid` + FROM anrui_fin.fin_selected_receivables_detailed fs + WHERE fs.`auditState` = 3 + AND fs.`receivablesName` = '融资放款') + GROUP BY fd.sid + ) s ON s.busVinSid = bv.sid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + LEFT JOIN anrui_riskcenter.loan_capital_credit_result lr + ON lr.loanContractSid = bv.loanContractSid + LEFT JOIN anrui_fin.fin_vehicle_invoice ffi ON ffi.vehicleSid = bbv.sid + AND ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND lr.capCarefulResult = '通过' + AND ffi.billingStateKey = '002' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING SUM(s.reveivableMoney) > SUM(s.subscriptionMoney)) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + UNION ALL + SELECT count(a.id) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + SUM(s.reveivableMoney), + SUM(s.subscriptionMoney), + bo.contractNo + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN ( + SELECT fd.reveivableMoney, + fd.busVinSid, + IFNULL(SUM(fs.subscriptionMoney), 0) AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + LEFT JOIN anrui_fin.fin_selected_receivables_detailed fs + ON fs.receivablesSid = fd.sid + WHERE fd.kxState = '01' + AND fs.auditState = 3 + AND fd.receivablesName = '融资放款' + GROUP BY fd.sid + UNION ALL + SELECT fd.reveivableMoney, + fd.busVinSid, + 0 AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + WHERE fd.kxState = '01' + AND fd.receivablesName = '融资放款' + AND fd.sid NOT IN (SELECT fs.`receivablesSid` + FROM anrui_fin.fin_selected_receivables_detailed fs + WHERE fs.`auditState` = 3 + AND fs.`receivablesName` = '融资放款') + GROUP BY fd.sid + ) s ON s.busVinSid = bv.sid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + LEFT JOIN anrui_riskcenter.loan_noguarantee_credit_review lr + ON lr.borrowerSid = bv.borrowerSid + LEFT JOIN anrui_fin.fin_vehicle_invoice ffi ON ffi.vehicleSid = bbv.sid + AND ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND lr.creditReview = '通过' + AND ffi.billingStateKey = '002' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING SUM(s.reveivableMoney) > SUM(s.subscriptionMoney)) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + ) b + GROUP BY b.useOrgSid, + b.vehModelSid, + b.vehMConfigSid) as s on + r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.vehModelSid AND r.vehMConfigSid = s.vehMConfigSid + SET r.`loan_not_counts`=s.scount + WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); + +-- 已终审已开票金额 + update daily_report r inner join ( + SELECT SUM(b.scount) AS scount, + b.useOrgSid, + b.NAME, + b.contractNo, + b.vehMConfigSid, + b.vehModelSid + FROM ( + SELECT SUM(a.scount) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + SUM(s.reveivableMoney), + SUM(s.subscriptionMoney), + bo.contractNo, + ( + SUM(s.reveivableMoney) - SUM(s.subscriptionMoney)) AS scount + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN ( + SELECT fd.reveivableMoney, + fd.busVinSid, + IFNULL(SUM(fs.subscriptionMoney), 0) AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + LEFT JOIN anrui_fin.fin_selected_receivables_detailed fs + ON fs.receivablesSid = fd.sid + WHERE fd.kxState = '01' + AND fs.auditState = 3 + AND fd.receivablesName = '融资放款' + GROUP BY fd.sid + UNION ALL + SELECT fd.reveivableMoney, + fd.busVinSid, + 0 AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + WHERE fd.kxState = '01' + AND fd.receivablesName = '融资放款' + AND fd.sid NOT IN (SELECT fs.`receivablesSid` + FROM anrui_fin.fin_selected_receivables_detailed fs + WHERE fs.`auditState` = 3 + AND fs.`receivablesName` = '融资放款') + GROUP BY fd.sid + ) s ON s.busVinSid = bv.sid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + LEFT JOIN anrui_riskcenter.loan_capital_credit_result lr + ON lr.loanContractSid = bv.loanContractSid + LEFT JOIN anrui_fin.fin_vehicle_invoice ffi ON ffi.vehicleSid = bbv.sid + AND ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND lr.capCarefulResult = '通过' + AND ffi.billingStateKey = '002' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING SUM(s.reveivableMoney) > SUM(s.subscriptionMoney)) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + UNION ALL + SELECT SUM(a.scount) AS scount, + a.useOrgSid, + a.NAME, + a.contractNo, + a.vehMConfigSid, + a.vehModelSid + FROM ( + SELECT bv.id, + bo.useOrgSid, + bm.modelConfigSid AS vehMConfigSid, + bm.modelSid AS vehModelSid, + so.NAME, + SUM(s.reveivableMoney), + SUM(s.subscriptionMoney), + bo.contractNo, + ( + SUM(s.reveivableMoney) - SUM(s.subscriptionMoney)) AS scount + FROM anrui_buscenter.bus_sales_order_vehicle bv + LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bv.salesOrderSid + LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid + LEFT JOIN anrui_buscenter.bus_sales_order_model bm + ON bm.salesOrderSid = bv.salesOrderSid + LEFT JOIN ( + SELECT fd.reveivableMoney, + fd.busVinSid, + IFNULL(SUM(fs.subscriptionMoney), 0) AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + LEFT JOIN anrui_fin.fin_selected_receivables_detailed fs + ON fs.receivablesSid = fd.sid + WHERE fd.kxState = '01' + AND fs.auditState = 3 + AND fd.receivablesName = '融资放款' + GROUP BY fd.sid + UNION ALL + SELECT fd.reveivableMoney, + fd.busVinSid, + 0 AS subscriptionMoney + FROM anrui_fin.fin_uncollected_receivables_detailed fd + WHERE fd.kxState = '01' + AND fd.receivablesName = '融资放款' + AND fd.sid NOT IN (SELECT fs.`receivablesSid` + FROM anrui_fin.fin_selected_receivables_detailed fs + WHERE fs.`auditState` = 3 + AND fs.`receivablesName` = '融资放款') + GROUP BY fd.sid + ) s ON s.busVinSid = bv.sid + LEFT JOIN anrui_portal.sys_organization so ON so.sid = bo.useOrgSid + LEFT JOIN anrui_riskcenter.loan_noguarantee_credit_review lr + ON lr.borrowerSid = bv.borrowerSid + LEFT JOIN anrui_fin.fin_vehicle_invoice ffi ON ffi.vehicleSid = bbv.sid + AND ffi.contractNo = bo.contractNo + WHERE bo.payTypeKey = 2 + AND lr.creditReview = '通过' + AND ffi.billingStateKey = '002' + GROUP BY bv.sid, + bo.useOrgSid, + bm.modelSid, + bm.modelConfigSid + HAVING SUM(s.reveivableMoney) > SUM(s.subscriptionMoney)) a + GROUP BY a.contractNo, + a.useOrgSid, + a.vehMConfigSid, + a.vehModelSid + ) b + GROUP BY b.useOrgSid, + b.vehModelSid, + b.vehMConfigSid) as s on + r.useOrgSid = s.useOrgSid AND r.vehModelSid = s.vehModelSid AND r.vehMConfigSid = s.vehMConfigSid + SET r.`loan_not_amounts`=ROUND(s.scount / 10000, 2) + WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); END \ No newline at end of file