sum(IF(transport_type = '国内陆运', count, 0)) as landCount,
sum(case when transport_type = '国内陆运' then count else 0 end) as landCount,
sum(IF(transport_type = '海运', count, 0)) as oceanCount,
sum(case when transport_type = '海运' then count else 0 end) as oceanCount,
sum(IF(transport_type = '空运', count, 0)) as airCount,
sum(case when transport_type = '空运' then count else 0 end) as airCount,
sum(IF(transport_type = '铁路运输', count, 0)) as railwayCount
sum(case when transport_type = '铁路运输' then count else 0 end) as railwayCount
FROM (
FROM
SELECT tb5.bailun_sku bailun_sku,
(
tb5.warehouse_code warehouse_code,
SELECT
(
tb5.bailun_sku bailun_sku,
tb5.count - IFNULL(tb4.count, 0)) AS count,
tb5.warehouse_code warehouse_code,
0 as countplan,
(
tb5.transport_type transport_type
tb5.count - IFNULL( tb4.count, 0 )) AS count,
FROM (
0 as countplan,
SELECT tb1.bailun_sku,
tb5.transport_type transport_type
tb1.warehouse_code,
FROM
sum(tb1.count) count,
(
tb1.transport_type
SELECT
FROM dc_base_transfer_bale tb1
tb1.bailun_sku,
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
tb1.warehouse_code,
WHERE tb2.transfer_order_id IS NULL
sum( tb1.count ) count,
tb1.transport_type
FROM
dc_base_transfer_bale tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.transfer_order_id IS NULL
AND tb1.deleted = 0
AND tb1.deleted = 0
GROUP BY
GROUP BY bailun_sku,
bailun_sku,
warehouse_code
warehouse_code
) tb5
) tb5
LEFT JOIN (
LEFT JOIN (
SELECT
SELECT bailun_sku,
bailun_sku,
warehouse_code,
warehouse_code,
sum( count ) count
sum(count) count
FROM
FROM (
(
SELECT t1.bailun_sku,
SELECT
t1.warehouse_code,
t1.bailun_sku,
(case WHEN t2.count > tbb.count then tbb.count else t2.count end) as count,
t1.warehouse_code,
t1.transfer_order_id
(case WHEN t2.count > tbb.count then tbb.count else t2.count end) as count,
FROM (SELECT max(create_time) AS create_time, bailun_sku, warehouse_code, transfer_order_id
t1.transfer_order_id
FROM dc_base_transfer_inbound
FROM
WHERE deleted = 0
( SELECT max( create_time ) AS create_time, bailun_sku, warehouse_code, transfer_order_id FROM dc_base_transfer_inbound WHERE deleted = 0 GROUP BY bailun_sku, warehouse_code, transfer_order_id ) t1
GROUP BY bailun_sku, warehouse_code, transfer_order_id) t1
INNER JOIN dc_base_transfer_inbound t2 ON t1.bailun_sku = t2.bailun_sku
INNER JOIN dc_base_transfer_inbound t2 ON t1.bailun_sku = t2.bailun_sku
AND t1.warehouse_code = t2.warehouse_code
AND t1.warehouse_code = t2.warehouse_code
AND t1.transfer_order_id = t2.transfer_order_id
AND t1.transfer_order_id = t2.transfer_order_id
AND t1.create_time = t2.create_time
AND t1.create_time = t2.create_time
LEFT JOIN dc_base_transfer_bale tbb on t1.bailun_sku = tbb.bailun_sku and t1.warehouse_code = tbb.warehouse_code and t1.transfer_order_id = tbb.transfer_order_id
LEFT JOIN dc_base_transfer_bale tbb
LEFT JOIN dc_base_transfer_complete tb2 ON t1.transfer_order_id = tb2.transfer_order_id
on t1.bailun_sku = tbb.bailun_sku and t1.warehouse_code = tbb.warehouse_code and
WHERE
t1.transfer_order_id = tbb.transfer_order_id
tb2.bailun_sku IS NULL
LEFT JOIN dc_base_transfer_complete tb2 ON t1.transfer_order_id = tb2.transfer_order_id
) tb3
WHERE tb2.bailun_sku IS NULL
GROUP BY
) tb3
bailun_sku,
GROUP BY bailun_sku,
warehouse_code
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
WHERE (
tb5.count - IFNULL(tb4.count, 0)) > 0
UNION ALL
SELECT bailun_sku,
warehouse_code,
sum(count) AS count,
sum(count) AS countplan,
transport_type
FROM dc_base_transfer_plan
WHERE STATUS = 1
AND deleted = 0
GROUP BY bailun_sku,
warehouse_code
warehouse_code
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
) t
AND tb5.warehouse_code = tb4.warehouse_code
GROUP BY bailun_sku,
WHERE
warehouse_code
(
tb5.count - IFNULL( tb4.count, 0 )) > 0 UNION ALL
SELECT
bailun_sku,
warehouse_code,
sum( count ) AS count,
sum( count ) AS countplan,
transport_type
FROM
dc_base_transfer_plan
WHERE
STATUS = 1
AND deleted = 0
GROUP BY
bailun_sku,
warehouse_code
) t
GROUP BY
bailun_sku,
warehouse_code
</select>
</select>
<insertid="calculateTransferTransit">
<insertid="calculateTransferTransit">
...
@@ -685,8 +671,11 @@
...
@@ -685,8 +671,11 @@
)
)
</foreach>
</foreach>
ON DUPLICATE KEY UPDATE quantity_transfer = values(quantity_transfer),
ON DUPLICATE KEY UPDATE quantity_transfer = values(quantity_transfer),