173 lines
5.4 KiB
SQL
173 lines
5.4 KiB
SQL
CREATE OR REPLACE VIEW supplyOffer AS
|
|
SELECT sl.supplyLineId,
|
|
ti.name tradeItemName,
|
|
i.product_name vbnProductName,
|
|
o.commercialName organizationName,
|
|
sl.`type`,
|
|
sl.salesUnit,
|
|
CAST(slvp.pricePerPiece AS DECIMAL(10, 3)) pricePerPiece,
|
|
sl.numberOfPieces,
|
|
ti.vbnProductCode,
|
|
slpc.packageVbnPackageCode,
|
|
(
|
|
SELECT tic.vbnCode
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 1
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) tag1,
|
|
(
|
|
SELECT v.type_description
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
JOIN edi.value v ON v.type_value = tic.vbnValueCode
|
|
AND tic.vbnCode = v.type_id
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 1
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) value1,
|
|
(
|
|
SELECT tic.vbnCode
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 2
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) tag2,
|
|
(
|
|
SELECT v.type_description
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
JOIN edi.value v ON v.type_value = tic.vbnValueCode
|
|
AND tic.vbnCode = v.type_id
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 2
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) value2,
|
|
(
|
|
SELECT tic.vbnCode
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 3
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) tag3,
|
|
(
|
|
SELECT v.type_description
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
JOIN edi.value v ON v.type_value = tic.vbnValueCode
|
|
AND tic.vbnCode = v.type_id
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 3
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) value3,
|
|
(
|
|
SELECT tic.vbnCode
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 4
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) tag4,
|
|
(
|
|
SELECT v.type_description
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
JOIN edi.value v ON v.type_value = tic.vbnValueCode
|
|
AND tic.vbnCode = v.type_id
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 4
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) value4,
|
|
(
|
|
SELECT tic.vbnCode
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 5
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) tag5,
|
|
(
|
|
SELECT v.type_description
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
JOIN edi.value v ON v.type_value = tic.vbnValueCode
|
|
AND tic.vbnCode = v.type_id
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 5
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) value5,
|
|
(
|
|
SELECT tic.vbnCode
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 6
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) tag6,
|
|
(
|
|
SELECT v.type_description
|
|
FROM tradeItemCharacteristic tic
|
|
JOIN edi.item_feature it ON it.feature = tic.vbnCode
|
|
JOIN edi.value v ON v.type_value = tic.vbnValueCode
|
|
AND tic.vbnCode = v.type_id
|
|
WHERE tic.tradeItemId = ti.tradeItemId
|
|
AND it.presentation_order = 6
|
|
AND it.`expiry_date` IS NULL
|
|
LIMIT 1
|
|
) value6,
|
|
sl.deliveryPeriodStartDateTime,
|
|
sl.deliveryPeriodEndDateTime,
|
|
sl.orderPeriodStartDateTime,
|
|
sl.orderPeriodEndDateTime,
|
|
IF(slpc.supplyLineId IS NULL, FALSE, TRUE) hasPackingConfiguration,
|
|
b.description bucketDescription,
|
|
b.x_size,
|
|
b.y_size,
|
|
b.z_size,
|
|
(b.x_size * b.y_size * b.z_size) / 1000000000 volume,
|
|
slpc.piecesPerPackage,
|
|
slpc.packagesPerLayer,
|
|
slpc.layersPerLoadCarrier,
|
|
slpc.transportHeightInCm,
|
|
slpc.loadCarrierType,
|
|
slpc.additionalPricePerPieceCurrency,
|
|
slpc.additionalPricePerPieceValue,
|
|
w.name warehouseName,
|
|
tip.url imageUrl,
|
|
igto.expenseFk,
|
|
igto.intrastatFk,
|
|
igto.originFk,
|
|
IFNULL(idt.itemTypeFk, igto.itemTypeFk) itemTypeFk,
|
|
sl.lastSync
|
|
FROM supplyLine sl
|
|
JOIN supplyLineVolumePrice slvp ON slvp.supplyLineId = sl.supplyLineId
|
|
JOIN organization o ON o.organizationId = sl.organizationId
|
|
JOIN tradeItem ti ON ti.tradeItemId = sl.tradeItemId
|
|
LEFT JOIN tradeItemPhoto tip ON tip.tradeItemId = ti.tradeItemId
|
|
AND tip.`primary`
|
|
JOIN warehouse w ON w.warehouseId = sl.warehouseId
|
|
JOIN supplyLinePackingConfiguration slpc ON slpc.supplyLineId = sl.supplyLineId
|
|
LEFT JOIN edi.bucket b ON b.bucket_id = slpc.packageVbnPackageCode
|
|
JOIN edi.item i ON i.id = ti.vbnProductCode
|
|
LEFT JOIN edi.item_groupToOffer igto ON igto.group_code = i.group_id
|
|
LEFT JOIN edi.item_defaultType idt ON idt.item_id = i.id
|
|
WHERE sl.status = 'AVAILABLE'
|
|
AND NOT sl.isDeleted
|
|
AND NOT ti.isDeleted
|
|
AND NOW() BETWEEN sl.orderPeriodStartDateTime AND sl.orderPeriodEndDateTime
|
|
AND sl.numberOfPieces > 0
|
|
GROUP BY sl.supplyLineId |