LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
WHERE tb2.transfer_order_id IS NULL
WHERE
tb2.transfer_order_id IS NULL
AND tb1.deleted = 0
AND tb1.deleted = 0
GROUP BY bailun_sku,
GROUP BY
bailun_sku,
warehouse_code
warehouse_code
) tb5
) tb5
LEFT JOIN (
LEFT JOIN (
SELECT bailun_sku,
SELECT
warehouse_code,
bailun_sku,
sum(count) count
FROM (
SELECT tb1.bailun_sku,
tb1.warehouse_code,
max(tb1.count) count,
tb1.transfer_order_id
FROM dc_base_transfer_inbound 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
GROUP BY bailun_sku,
warehouse_code,
warehouse_code,
transfer_order_id
sum( count ) count
FROM
(
SELECT
t1.bailun_sku,
t1.warehouse_code,
t2.count,
t1.transfer_order_id
FROM
( 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
INNER JOIN dc_base_transfer_inbound t2 ON t1.bailun_sku = t2.bailun_sku
AND t1.warehouse_code = t2.warehouse_code
AND t1.transfer_order_id = t2.transfer_order_id
AND t1.create_time = t2.create_time
LEFT JOIN dc_base_transfer_complete tb2 ON t1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
) tb3
) tb3
GROUP BY bailun_sku,
GROUP BY
bailun_sku,
warehouse_code
warehouse_code
) tb4
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.warehouse_code = tb4.warehouse_code
WHERE (tb5.count - IFNULL(tb4.count, 0)) > 0
WHERE
UNION ALL
(
select bailun_sku, warehouse_code, sum(count) AS count
tb5.count - IFNULL( tb4.count, 0 )) > 0 UNION ALL
from dc_base_transfer_plan
SELECT
where status = 1
bailun_sku,
and deleted = 0
warehouse_code,
group by bailun_sku, warehouse_code
sum( count ) AS count
FROM
dc_base_transfer_plan
WHERE
STATUS = 1
AND deleted = 0
GROUP BY
bailun_sku,
warehouse_code
) t
) t
group by bailun_sku, warehouse_code
GROUP BY
bailun_sku,
warehouse_code
ON DUPLICATE KEY UPDATE quantity_transfer = VALUES(quantity_transfer),
ON DUPLICATE KEY UPDATE quantity_transfer = VALUES(quantity_transfer),
( 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
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.transfer_order_id = tb2.transfer_order_id
INNER JOIN dc_base_transfer_inbound t2 ON t1.bailun_sku = t2.bailun_sku
AND t1.warehouse_code = t2.warehouse_code
AND t1.transfer_order_id = t2.transfer_order_id
AND t1.create_time = t2.create_time
LEFT JOIN dc_base_transfer_complete tb2 ON t1.transfer_order_id = tb2.transfer_order_id
WHERE
WHERE
tb2.bailun_sku IS NULL
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = #{bailunSku}
AND t1.bailun_sku = #{bailunSku}
AND tb1.warehouse_code = #{warehouseCode}
AND t1.warehouse_code = #{warehouseCode}
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb3
) tb3
GROUP BY
GROUP BY
bailun_sku,
bailun_sku,
...
@@ -695,9 +694,21 @@ FROM
...
@@ -695,9 +694,21 @@ FROM
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.transfer_order_id = tb4.transfer_order_id
AND tb5.transfer_order_id = tb4.transfer_order_id
WHERE
WHERE
( tb11.count - IFNULL( tb4.count, 0 ) ) > 0
( tb11.count - IFNULL( tb4.count, 0 ) ) > 0 UNION ALL
union all select bailun_sku,warehouse_code,transfer_plan_order_id,null,update_time,count from dc_base_transfer_plan where status = 1 and deleted=0 AND bailun_sku = #{bailunSku}