78 lines
3.1 KiB
MySQL
78 lines
3.1 KiB
MySQL
|
CREATE OR REPLACE
|
||
|
ALGORITHM = UNDEFINED VIEW `vn`.`zoneEstimatedDelivery` AS
|
||
|
select
|
||
|
`t`.`zoneFk` AS `zoneFk`,
|
||
|
cast(`util`.`VN_CURDATE`() + interval hour(ifnull(`zc`.`hour`, `z`.`hour`)) * 60 + minute(ifnull(`zc`.`hour`, `z`.`hour`)) minute as time) AS `hourTheoretical`,
|
||
|
cast(sum(`sv`.`volume`) as decimal(5, 1)) AS `totalVolume`,
|
||
|
cast(sum(if(`s`.`alertLevel` < 2, `sv`.`volume`, 0)) as decimal(5, 1)) AS `remainingVolume`,
|
||
|
greatest(
|
||
|
ifnull(`lhp`.`m3`, 0),
|
||
|
ifnull(`dl`.`minSpeed`, 0)
|
||
|
) AS `speed`,
|
||
|
cast(`zc`.`hour` + interval -sum(if(`s`.`alertLevel` < 2, `sv`.`volume`, 0)) * 60 / greatest(ifnull(`lhp`.`m3`, 0), ifnull(`dl`.`minSpeed`, 0)) minute as time) AS `hourEffective`,
|
||
|
floor(-sum(if(`s`.`alertLevel` < 2, `sv`.`volume`, 0)) * 60 / greatest(ifnull(`lhp`.`m3`, 0), ifnull(`dl`.`minSpeed`, 0))) AS `minutesLess`,
|
||
|
cast(`zc`.`hour` + interval -sum(if(`s`.`alertLevel` < 2, `sv`.`volume`, 0)) * 60 / greatest(ifnull(`lhp`.`m3`, 0), ifnull(`dl`.`minSpeed`, 0)) minute as time) AS `etc`
|
||
|
from
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
(
|
||
|
`vn`.`ticket` `t`
|
||
|
join `vn`.`ticketStateToday` `tst` on
|
||
|
(
|
||
|
`tst`.`ticket` = `t`.`id`
|
||
|
)
|
||
|
)
|
||
|
join `vn`.`state` `s` on
|
||
|
(
|
||
|
`s`.`id` = `tst`.`state`
|
||
|
)
|
||
|
)
|
||
|
join `vn`.`saleVolume` `sv` on
|
||
|
(
|
||
|
`sv`.`ticketFk` = `t`.`id`
|
||
|
)
|
||
|
)
|
||
|
left join `vn`.`lastHourProduction` `lhp` on
|
||
|
(
|
||
|
`lhp`.`warehouseFk` = `t`.`warehouseFk`
|
||
|
)
|
||
|
)
|
||
|
join `vn`.`warehouse` `w` on
|
||
|
(
|
||
|
`w`.`id` = `t`.`warehouseFk`
|
||
|
)
|
||
|
)
|
||
|
join `vn`.`warehouseAlias` `wa` on
|
||
|
(
|
||
|
`wa`.`id` = `w`.`aliasFk`
|
||
|
)
|
||
|
)
|
||
|
straight_join `vn`.`zone` `z` on
|
||
|
(
|
||
|
`z`.`id` = `t`.`zoneFk`
|
||
|
)
|
||
|
)
|
||
|
left join `vn`.`zoneClosure` `zc` on
|
||
|
(
|
||
|
`zc`.`zoneFk` = `t`.`zoneFk`
|
||
|
and `zc`.`dated` = `util`.`VN_CURDATE`()
|
||
|
)
|
||
|
)
|
||
|
left join `cache`.`departure_limit` `dl` on
|
||
|
(
|
||
|
`dl`.`warehouse_id` = `t`.`warehouseFk`
|
||
|
and `dl`.`fecha` = `util`.`VN_CURDATE`()
|
||
|
)
|
||
|
)
|
||
|
where
|
||
|
`w`.`hasProduction` <> 0
|
||
|
and cast(`t`.`shipped` as date) = `util`.`VN_CURDATE`()
|
||
|
group by
|
||
|
`t`.`zoneFk`;
|