Browse Source

优化待交车累计排除车辆不在车辆状态表且已出库的数据

master
dimengzhe 1 year ago
parent
commit
2d5212f186
  1. 82
      doc/databases/统计报表更新.sql

82
doc/databases/统计报表更新.sql

@ -283,35 +283,59 @@ BEGIN
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();*/
UPDATE daily_report r
INNER JOIN (select (b.scount -b.ssscount1) as scount, b.useOrgSid, b.modelConfigSid, b.modelSid
from (SELECT a.scount,
a.useOrgSid,
a.modelConfigSid,
a.modelSid,
(SELECT count(bov.id) AS scount
from anrui_buscenter.bus_sales_order_vehicle bov
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
left join anrui_base.base_vehicle_state bs on bs.busSid = bov.sid
WHERE bo.nodeState = '已办结'
AND (bs.busState = '602' or bs.busState = '501' or bs.busState = '502' or bs.busState = '503' or bs.busState = '601' or bs.busState = '602')
and bo.useOrgSid = a.useOrgSid
and bm.modelSid = a.modelSid
and bm.modelConfigSid = a.modelConfigSid) as ssscount1
FROM (
SELECT count(bov.id) AS scount,
bo.useOrgSid,
bm.modelSid,
bm.modelConfigSid,
bo.contractNo
FROM anrui_buscenter.bus_sales_order_vehicle bov
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
WHERE bo.nodeState = '已办结'
GROUP BY bo.useOrgSid,
bm.modelSid,
bm.modelConfigSid
) a) b
INNER JOIN (select sum(c.scount) as scount, c.useOrgSid, c.modelSid, c.modelConfigSid
from (select (b.scount - b.ssscount1 - b.ssscount) as scount,
b.ssscount1 s1,
b.ssscount s2,
b.useOrgSid,
b.modelConfigSid,
b.modelSid,
b.contractNo
from (SELECT a.scount,
a.useOrgSid,
a.modelConfigSid,
a.modelSid,
a.contractNo,
(SELECT count(bov.id) AS scount
from anrui_buscenter.bus_sales_order_vehicle bov
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
left join anrui_base.base_vehicle_state bs on bs.busSid = bov.sid
WHERE bo.nodeState = '已办结'
AND (bs.busState = '602' or bs.busState = '501' or bs.busState = '502' or
bs.busState = '503' or bs.busState = '601' or bs.busState = '602')
and bo.useOrgSid = a.useOrgSid
and bm.modelSid = a.modelSid
and bm.modelConfigSid = a.modelConfigSid
and bo.contractNo = a.contractNo) as ssscount1,
(SELECT count(bov.id) AS scount
FROM anrui_base.base_vehicle bv
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bov ON bov.linkSid = bv.sid
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
left join anrui_base.base_vehicle_state bs on bs.saleOrderSid = bo.sid
WHERE bo.nodeState = '已办结'
AND bv.vehicleState = '0002'
and bo.useOrgSid = a.useOrgSid
and bm.modelSid = a.modelSid
and bm.modelConfigSid = a.modelConfigSid
and bs.saleOrderSid is null
and bo.contractNo = a.contractNo) as ssscount
FROM (
SELECT count(bov.id) AS scount,
bo.useOrgSid,
bm.modelSid,
bm.modelConfigSid,
bo.contractNo
FROM anrui_buscenter.bus_sales_order_vehicle bov
LEFT JOIN anrui_buscenter.bus_sales_order bo ON bo.sid = bov.salesOrderSid
LEFT JOIN anrui_buscenter.bus_sales_order_model bm ON bm.salesOrderSid = bo.sid
WHERE bo.nodeState = '已办结'
GROUP BY bo.useOrgSid,
bm.modelSid,
bm.modelConfigSid
) a) b) c
group by c.useOrgSid, c.modelSid, c.modelConfigSid
) AS s ON r.useOrgSid = s.useOrgSid
AND r.vehModelSid = s.modelSid
AND r.vehMConfigSid = s.modelConfigSid

Loading…
Cancel
Save