CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `edi`.`supplyOffer` AS SELECT `sr`.`vmpID` AS `vmpID`, `di`.`ID` AS `diId`, `sr`.`ID` AS `srId`, `sr`.`Item_ArticleCode` AS `Item_ArticleCode`, `sr`.`VBNOmschrijving` AS `product_name`, `s`.`company_name` AS `company_name`, cast(`sr`.`Price` AS decimal(10, 3)) AS `Price`, `sr`.`Quality` AS `Quality`, `sr`.`s1` AS `s1`, `sr`.`s2` AS `s2`, `sr`.`s3` AS `s3`, `sr`.`s4` AS `s4`, `sr`.`s5` AS `s5`, `sr`.`s6` AS `s6`, `sr`.`NumberOfUnits` AS `NumberOfUnits`, least( IF( `sr`.`EmbalageCode` = 800, `sr`.`EmbalageCode` * 10 + `sr`.`NumberOfItemsPerCask`, `sr`.`EmbalageCode` ), IFNULL(`idt`.`bucket_id`, '999') ) AS `EmbalageCode`, `di`.`LatestDeliveryDateTime` AS `LatestDeliveryDateTime`, `di`.`EarliestDespatchDateTime` AS `EarliestDespatchDateTime`, `di`.`FirstOrderDateTime` AS `FirstOrderDateTime`, `di`.`LatestOrderDateTime` AS `LatestOrderDateTime`, `sr`.`NumberOfItemsPerCask` AS `NumberOfItemsPerCask`, `sr`.`NumberOfLayersPerTrolley` AS `NumberOfLayersPerTrolley`, `sr`.`MinimumNumberToOrder` AS `MinimumNumberToOrder`, `sr`.`MaximumNumberToOrder` AS `MaximumNumberToOrder`, `sr`.`IncrementalOrderableQuantity` AS `IncrementalOrderableQuantity`, `sr`.`PackingPrice` AS `PackingPrice`, `sr`.`MarketPlaceID` AS `MarketPlaceID`, `sr`.`PictureReference` AS `PictureReference`, `sr`.`updated` AS `supplyResponseUpdated`, `i`.`group_id` AS `group_id`, `mp`.`name` AS `marketPlace`, `di`.`DeliveryPrice` AS `DeliveryPrice`, `di`.`ChargeAmount` AS `ChargeAmount`, `di`.`MinimumQuantity` AS `MinimumQuantity`, `di`.`MaximumQuantity Integer` AS `MaximumQuantity`, cast( `sr`.`MinimumNumberToOrder` * CASE `sr`.`MinimumOrderUnitType` WHEN 1 THEN 1 WHEN 2 THEN `sr`.`NumberOfItemsPerCask` / `sr`.`NumberBunchesPerCask` WHEN 3 THEN `sr`.`NumberOfItemsPerCask` WHEN 4 THEN floor(128 * 56 / (`b`.`x_size` * `b`.`y_size`)) * `sr`.`NumberOfItemsPerCask` WHEN 5 THEN floor(128 * 56 / (`b`.`x_size` * `b`.`y_size`)) * `sr`.`NumberOfItemsPerCask` * `sr`.`NumberOfLayersPerTrolley` END AS decimal(10, 0) ) AS `OrderUnit`, cast( `sr`.`IncrementalOrderableQuantity` * CASE `sr`.`IncrementalOrderableQuantityType` WHEN 1 THEN 1 WHEN 2 THEN `sr`.`NumberOfItemsPerCask` / `sr`.`NumberBunchesPerCask` WHEN 3 THEN `sr`.`NumberOfItemsPerCask` WHEN 4 THEN floor(128 * 56 / (`b`.`x_size` * `b`.`y_size`)) * `sr`.`NumberOfItemsPerCask` WHEN 5 THEN floor(128 * 56 / (`b`.`x_size` * `b`.`y_size`)) * `sr`.`NumberOfItemsPerCask` * `sr`.`NumberOfLayersPerTrolley` END AS decimal(10, 0) ) AS `IncrementalOrderUnit`, `mp`.`isEarlyBird` AS `isEarlyBird`, `v`.`isVNHSupplier` AS `isVNHSupplier`, `igo`.`expenseFk` AS `expenseFk`, `igo`.`intrastatFk` AS `intrastatFk`, `igo`.`originFk` AS `originFk`, IFNULL(`idt`.`itemTypeFk`, `igo`.`itemTypeFk`) AS `itemTypeFk` FROM ( ( ( ( ( ( ( ( ( `edi`.`deliveryInformation` `di` JOIN `edi`.`supplyResponse` `sr` ON(`sr`.`ID` = `di`.`supplyResponseID`) ) LEFT JOIN `edi`.`supplier` `s` ON(`s`.`glnAddressCode` = `sr`.`SupplierGLN`) ) JOIN `edi`.`bucket` `b` ON(`b`.`bucket_id` = `sr`.`EmbalageCode`) ) JOIN `edi`.`item` `i` ON(`i`.`id` = `sr`.`Item_ArticleCode`) ) JOIN `edi`.`marketPlace` `mp` ON(`mp`.`id` = `sr`.`MarketPlaceID`) ) JOIN `vn`.`floramondoConfig` `fm` ) LEFT JOIN `edi`.`item_defaultType` `idt` ON(`idt`.`item_id` = `i`.`id`) ) JOIN `edi`.`VMPSettings` `v` ON(`v`.`VMPID` = `sr`.`vmpID`) ) JOIN `edi`.`item_groupToOffer` `igo` ON(`igo`.`group_code` = `i`.`group_id`) ) WHERE `v`.`isBlocked` = 0 AND `s`.`isBanned` = 0 AND `sr`.`NumberOfUnits` > 0 AND CURRENT_TIMESTAMP() BETWEEN `di`.`FirstOrderDateTime` AND `di`.`LatestOrderDateTime` AND `mp`.`isOffered` = 1 AND `di`.`LatestDeliveryDateTime` BETWEEN cast(`fm`.`nextLanded` AS date) AND concat( cast(`fm`.`nextLanded` AS date), ' ', `fm`.`MaxLatestDeliveryHour` ) AND `sr`.`NumberOfItemsPerCask` > 1 GROUP BY `sr`.`ID` HAVING `EmbalageCode` <> 999