diff --git a/doc/databases/报表中心.sql b/doc/databases/报表中心.sql index 7ca3a391c2..7529c03add 100644 --- a/doc/databases/报表中心.sql +++ b/doc/databases/报表中心.sql @@ -575,26 +575,39 @@ WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); -- 存销比 update daily_report r inner join ( - select sum(ss.scount) as scount, ss.modelSid, ss.modelConfigSid, ss.useOrgSid - from (select count(bv.id) as scount, bv.modelSid, bv.modelConfigSid, bv.useOrgSid - from anrui_base.base_vehicle bv - left join anrui_base.base_vehicle_out bvo on bv.sid = bvo.vinSid - left join anrui_base.base_vehicle_out_apply bvoa on bvoa.sid = bvo.mainSid - where (DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m') - OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m') - OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m') - ) - and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002') - group by bv.useOrgSid, bv.modelSid, bv.modelConfigSid) ss - group by ss.useOrgSid, ss.modelSid, ss.modelConfigSid) s + select ddr.useOrgSid, + ddr.vehModelSid, + ddr.vehMConfigSid, + (select ifnull(sum(ss.scount), 0) as scount + from (select count(bv.id) as scount, bv.modelSid, bv.modelConfigSid, bv.useOrgSid + from anrui_base.base_vehicle bv + left join anrui_base.base_vehicle_out bvo on bv.sid = bvo.vinSid + left join anrui_base.base_vehicle_out_apply bvoa on bvoa.sid = bvo.mainSid + where (DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE + DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m') + OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE + DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m') + OR DATE_FORMAT(bv.salesDate, '%Y-%m') LIKE + DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m') + ) + and (bvoa.saleTypeKey = '001' or bvoa.saleTypeKey = '002') + group by bv.useOrgSid, bv.modelSid, bv.modelConfigSid) ss + where ss.useOrgSid = ddr.useOrgSid + and ss.modelSid = ddr.vehModelSid + and ss.modelConfigSid = ddr.vehMConfigSid) as subtotal + from daily_report ddr + where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE() + group by ddr.useOrgSid, ddr.vehModelSid, ddr.vehMConfigSid +) s on r.useOrgSid = s.useOrgSid - and r.vehModelSid = s.modelSid - and r.vehMConfigSid = s.modelConfigSid -set saleOfStockRatio =if(ROUND(s.scount / 3, 2) = 0, + and r.vehModelSid = s.vehModelSid + and r.vehMConfigSid = s.vehMConfigSid +set saleOfStockRatio =if(ROUND(s.subtotal / 3, 2) = 0, stock_subtotal + pcOrder_subtotal, - ROUND((stock_subtotal + pcOrder_subtotal) / ROUND(s.scount / 3, 2), 2)) + ROUND((stock_subtotal + pcOrder_subtotal) / ROUND(s.subtotal / 3, 2), 2)) where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); + -- 库存小计 update daily_report set stock_total = (stock_subtotal + pcOrder_subtotal)