Commit c74cfd01 by wutong

修改调拨在途计算方式

parent 91455935
......@@ -499,7 +499,7 @@
tb1.warehouse_code,
sum( tb1.count ) count
FROM
dc_base_transfer_verify tb1
dc_base_transfer_bale tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.deleted = tb2.deleted
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
......
......@@ -284,7 +284,7 @@ public class AutoTurnoverJob extends PointJob {
* 还需要加上入库时长,
* 且不同交通方式的入库时长不一致
*/
ExpectedStorage(forecastInboundRelationList, purchase, transfer, recordTime, dcAutoTurnover, forecastPurchaseInboundList, forecastTransferInboundList, forecastInboundList);
ExpectedStorage(dcAutoConfigDelivery,forecastInboundRelationList, purchase, transfer, recordTime, dcAutoTurnover, forecastPurchaseInboundList, forecastTransferInboundList, forecastInboundList);
//通过SKU和仓库拿到实际库存
Integer realInventory = (dcBaseStock != null && dcBaseStock.getUsableStock() != null) ? dcBaseStock.getUsableStock() : 0;
......@@ -768,7 +768,7 @@ public class AutoTurnoverJob extends PointJob {
/**
* 预计入库
*/
private void ExpectedStorage(List<String> forecastInboundRelationList, Integer purchase, Integer transfer, LocalDate recordTime, DcAutoTurnover dcAutoTurnover, List<Integer> forecastPurchaseInboundList, List<Integer> forecastTransferInboundList, List<Integer> forecastInboundList) {
private void ExpectedStorage(DcAutoConfigDelivery dcAutoConfigDelivery, List<String> forecastInboundRelationList, Integer purchase, Integer transfer, LocalDate recordTime, DcAutoTurnover dcAutoTurnover, List<Integer> forecastPurchaseInboundList, List<Integer> forecastTransferInboundList, List<Integer> forecastInboundList) {
/*
* 拿到预计到货时间在周转期内的采购单
* 采购系统的预计到货只是到货时间
......@@ -826,7 +826,7 @@ public class AutoTurnoverJob extends PointJob {
if (dcBaseTransferVerify.getEstimatedArrivalTime() != null && dcBaseTransferVerify.getEstimatedArrivalTime().isAfter(Constant.INIT_DATE_TIME)) {
finalEstimatedArrivalTime = dcBaseTransferVerify.getEstimatedArrivalTime().plusDays(dcAutoTurnover.getInspectionConfigDelivery());
} else {
finalEstimatedArrivalTime = dcBaseTransferVerify.getCreateTime().plusDays(dcAutoTurnover.getInspectionConfigDelivery()).plusDays(dcAutoTurnover.getTransferBaleDelivery()).plusDays(dcAutoTurnover.getTransferDelivery()).plusDays(dcAutoTurnover.getAbroadInboundDelivery());
finalEstimatedArrivalTime = dcBaseTransferVerify.getCreateTime().plusDays(dcAutoConfigDelivery.getAbroadInbound()).plusDays(dcAutoConfigDelivery.getTranferBale()).plusDays(dcAutoConfigDelivery.getTranferHead());
}
int interval = Period.between(recordTime, finalEstimatedArrivalTime.toLocalDate()).getDays();
int index = interval <= 0 ? 0 : interval;
......
......@@ -612,74 +612,99 @@
<select id="listTransferTransitOrder" resultType="com.bailuntec.domain.entity.DcBaseTransferVerify">
SELECT
tb5.bailun_sku bailun_sku,
tb5.warehouse_code warehouse_code,
tb5.transfer_order_id transfer_order_id,
tb5.estimated_arrival_time estimated_arrival_time,
tb5.create_time create_time,
( tb5.count - IFNULL( tb4.count, 0 ) ) AS count
FROM
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.estimated_arrival_time,
tb1.create_time,
sum( tb1.count ) count
FROM
dc_base_transfer_verify tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.deleted = tb2.deleted
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = #{bailunSku}
AND tb1.warehouse_code = #{warehouseCode}
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb5
LEFT JOIN (
SELECT
bailun_sku,
warehouse_code,
transfer_order_id,
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 tb2.deleted = 0
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = #{bailunSku}
AND tb1.warehouse_code = #{warehouseCode}
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb3
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.transfer_order_id = tb4.transfer_order_id
WHERE
( tb5.count - IFNULL( tb4.count, 0 ) ) > 0
tb11.bailun_sku bailun_sku,
tb11.warehouse_code warehouse_code,
tb11.transfer_order_id transfer_order_id,
tb5.estimated_arrival_time estimated_arrival_time,
tb11.create_time create_time,
( tb11.count - IFNULL( tb4.count, 0 ) ) AS count
FROM
(
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.create_time,
sum( tb1.count ) count
FROM
dc_base_transfer_bale tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.deleted = tb2.deleted
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = #{bailunSku}
AND tb1.warehouse_code = #{warehouseCode}
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb11
LEFT JOIN (
SELECT
tb1.bailun_sku,
tb1.warehouse_code,
tb1.transfer_order_id,
tb1.estimated_arrival_time,
tb1.create_time,
sum( tb1.count ) count
FROM
dc_base_transfer_verify tb1
LEFT JOIN dc_base_transfer_complete tb2 ON tb1.deleted = tb2.deleted
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = #{bailunSku}
AND tb1.warehouse_code = #{warehouseCode}
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb5 ON tb5.bailun_sku = tb11.bailun_sku
AND tb5.warehouse_code = tb11.warehouse_code
AND tb5.transfer_order_id = tb11.transfer_order_id
LEFT JOIN (
SELECT
bailun_sku,
warehouse_code,
transfer_order_id,
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 tb2.deleted = 0
AND tb1.bailun_sku = tb2.bailun_sku
AND tb1.warehouse_code = tb2.warehouse_code
AND tb1.transfer_order_id = tb2.transfer_order_id
WHERE
tb2.bailun_sku IS NULL
AND tb1.bailun_sku = #{bailunSku}
AND tb1.warehouse_code = #{warehouseCode}
AND tb1.deleted = 0
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb3
GROUP BY
bailun_sku,
warehouse_code,
transfer_order_id
) tb4 ON tb5.bailun_sku = tb4.bailun_sku
AND tb5.warehouse_code = tb4.warehouse_code
AND tb5.transfer_order_id = tb4.transfer_order_id
WHERE
( tb11.count - IFNULL( tb4.count, 0 ) ) > 0
</select>
</mapper>
\ No newline at end of file
......@@ -52,7 +52,7 @@ public class AutoTurnoverTest {
// dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("322572421").andWarehouseCodeEqualTo("QYBLZZ").example());
// dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("232232601").andWarehouseCodeEqualTo("CHUKFBA").example());
// dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("213789601").andWarehouseCodeEqualTo("GZBLWH").example());
dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("273502105").andWarehouseCodeEqualTo("GZBLWH").example());
dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("435611919").andWarehouseCodeEqualTo("GB4PXBL").example());
} catch (Exception e) {
e.printStackTrace();
} finally {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment