Browse Source

Merge remote-tracking branch 'origin/dev' into pre-production

pre-production
zhenghaoyu 1 day ago
parent
commit
baba2e5654
  1. 27
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSplitOrderTaskServiceImpl.java
  2. 116
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportTimeMapper.xml

27
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSplitOrderTaskServiceImpl.java

@ -143,7 +143,7 @@ public class DistributionSplitOrderTaskServiceImpl extends BaseServiceImpl<Distr
if (distributionStockArticle.getOrderStatus().equals(OrderStatusConstant.chuku.getValue())
|| distributionStockArticle.getOrderStatus().equals(OrderStatusConstant.qianshou.getValue())
|| Objects.equals(distributionStockArticle.getReservationStatus(), OrderReservationStatusConstant.yiyueyue.getValue())) {
return R.fail("订单"+ distributionStockArticle.getOrderCode() +"不允许拆单");
return R.fail("订单"+ distributionStockArticle.getOrderCode() +"已出库或已签收或已预约,不允许拆单");
}
long packageAllowCount = getSplitOrderAllowCount(stockArticleId);
@ -277,15 +277,28 @@ public class DistributionSplitOrderTaskServiceImpl extends BaseServiceImpl<Distr
List<DistributionParcelListEntity> packageList = distributionParcelListService.list(
Wrappers.<DistributionParcelListEntity>lambdaQuery()
.in(DistributionParcelListEntity::getOrderPackageCode, packageCodes)
.eq(DistributionParcelListEntity::getOrderPackageStatus, OrderPackageStatusConstant.yiruku.getValue())
.eq(DistributionParcelListEntity::getOrderPackageReservationStatus, OrderPackageReservationStatusConstant.daiyuyue.getValue())
.eq(DistributionParcelListEntity::getOrderPackageLoadingStatus, OrderPackageLoadingStatusConstant.weizhuancghe.getValue())
.eq(DistributionParcelListEntity::getOrderPackageFreezeStatus, OrderPackageFreezeStatusConstant.weidongjie.getValue())
// .eq(DistributionParcelListEntity::getOrderPackageStatus, OrderPackageStatusConstant.yiruku.getValue())
// .eq(DistributionParcelListEntity::getOrderPackageReservationStatus, OrderPackageReservationStatusConstant.daiyuyue.getValue())
// .eq(DistributionParcelListEntity::getOrderPackageLoadingStatus, OrderPackageLoadingStatusConstant.weizhuancghe.getValue())
// .eq(DistributionParcelListEntity::getOrderPackageFreezeStatus, OrderPackageFreezeStatusConstant.weidongjie.getValue())
.eq(DistributionParcelListEntity::getIsTransfer, 0)
);
if (packageList.size() != packageCodes.size()) {
return R.fail("提交包件包含预约、签收状态的包件或包件不存在");
return R.fail("提交包件不存在");
}
if (packageList.stream().filter(p -> p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiruku.getValue())).count() != packageCodes.size()) {
return R.fail("提交包件不在库");
}
if (packageList.stream().filter(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue())).count() != packageCodes.size()) {
return R.fail("提交包件已预约");
}
if (packageList.stream().filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())).count() != packageCodes.size()) {
return R.fail("提交包件已装车");
}
if (packageList.stream().filter(p -> p.getOrderPackageFreezeStatus().equals(OrderPackageFreezeStatusConstant.weidongjie.getValue())).count() != packageCodes.size()) {
return R.fail("提交包件已冻结");
}
if (!packageList.get(0).getWarehouseId().equals(iWarehouseClient.getMyCurrentWarehouse().getId())) {
return R.fail("提交包件包含不属于当前仓库的包件");
}
@ -1032,7 +1045,7 @@ public class DistributionSplitOrderTaskServiceImpl extends BaseServiceImpl<Distr
if (distributionStockArticle.getOrderStatus().equals(OrderStatusConstant.chuku.getValue())
|| distributionStockArticle.getOrderStatus().equals(OrderStatusConstant.qianshou.getValue())
|| Objects.equals(distributionStockArticle.getReservationStatus(), OrderReservationStatusConstant.yiyueyue.getValue())) {
return R.fail("订单"+ distributionStockArticle.getOrderCode() +"不允许拆单");
return R.fail("订单"+ distributionStockArticle.getOrderCode() +"已出库或已签收或已预约,不允许拆单");
}
long packageAllowCount = getSplitOrderAllowCount(stockArticleId);

116
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportTimeMapper.xml

@ -245,16 +245,25 @@
from logpm_trunkline_advance_detail lta
left join logpm_warehouse_waybill lww on lww.id = lta.waybill_id
left join logpm_warehouse_warehouse waw on waw.id = lta.warehouse_id
left join (
SELECT
t1.*
FROM logpm_trunkline_cars_load_scan t1
LEFT JOIN logpm_trunkline_cars_load_scan t2 ON t1.scan_code = t2.scan_code
AND ((t2.warehouse_id IS NOT NULL AND t1.warehouse_id IS NULL)
OR(t1.warehouse_id IS NOT NULL and t2.warehouse_id IS NOT NULL AND t1.create_time &lt; t2.create_time))
WHERE
t2.scan_code IS NULL
) ltcls on ltcls.scan_code = lta.order_package_code and ltcls.warehouse_id = lta.warehouse_id and ltcls.type = 1 and ltcls.scan_status != 4
LEFT JOIN (
SELECT
scan_code,
warehouse_id,
MAX(create_time) AS max_create_time
FROM logpm_trunkline_cars_load_scan
WHERE
type = 1
AND scan_status != 4
GROUP BY scan_code, warehouse_id
) latest_scan ON
latest_scan.scan_code = lta.order_package_code
AND latest_scan.warehouse_id = lta.warehouse_id
LEFT JOIN logpm_trunkline_cars_load_scan ltcls ON
ltcls.scan_code = latest_scan.scan_code
AND ltcls.warehouse_id = latest_scan.warehouse_id
AND ltcls.create_time = latest_scan.max_create_time
AND ltcls.type = 1
AND ltcls.scan_status != 4
left join logpm_trunkline_cars_load_line ltcll on ltcll.load_id = ltcls.load_id and ltcll.node_id = ltcls.warehouse_id
where lta.create_time &gt; '2024-10-22 00:00:00'
and lww.document_making_time &gt; '2024-10-22 00:00:00'
@ -315,16 +324,25 @@
from logpm_trunkline_advance_detail lta
left join logpm_warehouse_waybill lww on lww.id = lta.waybill_id
left join logpm_warehouse_warehouse waw on waw.id = lta.warehouse_id
left join (
SELECT
t1.*
FROM logpm_trunkline_cars_load_scan t1
LEFT JOIN logpm_trunkline_cars_load_scan t2 ON t1.scan_code = t2.scan_code
AND ((t2.warehouse_id IS NOT NULL AND t1.warehouse_id IS NULL)
OR(t1.warehouse_id IS NOT NULL and t2.warehouse_id IS NOT NULL AND t1.create_time &lt; t2.create_time))
WHERE
t2.scan_code IS NULL
) ltcls on ltcls.scan_code = lta.order_package_code and ltcls.warehouse_id = lta.warehouse_id and ltcls.type = 1 and ltcls.scan_status != 4
LEFT JOIN (
SELECT
scan_code,
warehouse_id,
MAX(create_time) AS max_create_time
FROM logpm_trunkline_cars_load_scan
WHERE
type = 1
AND scan_status != 4
GROUP BY scan_code, warehouse_id
) latest_scan ON
latest_scan.scan_code = lta.order_package_code
AND latest_scan.warehouse_id = lta.warehouse_id
LEFT JOIN logpm_trunkline_cars_load_scan ltcls ON
ltcls.scan_code = latest_scan.scan_code
AND ltcls.warehouse_id = latest_scan.warehouse_id
AND ltcls.create_time = latest_scan.max_create_time
AND ltcls.type = 1
AND ltcls.scan_status != 4
left join logpm_trunkline_cars_load_line ltcll on ltcll.load_id = ltcls.load_id and ltcll.node_id = ltcls.warehouse_id
where lta.create_time &gt; '2024-10-22 00:00:00'
and lww.document_making_time &gt; '2024-10-22 00:00:00'
@ -2783,16 +2801,25 @@
left join logpm_trunkline_advance lta on lta.id = ltad.advance_id
left join logpm_warehouse_waybill lww on lww.id = ltad.waybill_id
left join logpm_warehouse_warehouse waw on waw.id = ltad.warehouse_id
left join (
SELECT
t1.*
FROM logpm_trunkline_cars_load_scan t1
LEFT JOIN logpm_trunkline_cars_load_scan t2 ON t1.scan_code = t2.scan_code
AND ((t2.warehouse_id IS NOT NULL AND t1.warehouse_id IS NULL)
OR(t1.warehouse_id IS NOT NULL and t2.warehouse_id IS NOT NULL AND t1.create_time &lt; t2.create_time))
WHERE
t2.scan_code IS NULL
) ltcls on ltcls.scan_code = ltad.order_package_code and ltcls.warehouse_id = ltad.warehouse_id and ltcls.type = 1 and ltcls.scan_status != 4
LEFT JOIN (
SELECT
scan_code,
warehouse_id,
MAX(create_time) AS max_create_time
FROM logpm_trunkline_cars_load_scan
WHERE
type = 1
AND scan_status != 4
GROUP BY scan_code, warehouse_id
) latest_scan ON
latest_scan.scan_code = lta.order_package_code
AND latest_scan.warehouse_id = lta.warehouse_id
LEFT JOIN logpm_trunkline_cars_load_scan ltcls ON
ltcls.scan_code = latest_scan.scan_code
AND ltcls.warehouse_id = latest_scan.warehouse_id
AND ltcls.create_time = latest_scan.max_create_time
AND ltcls.type = 1
AND ltcls.scan_status != 4
left join logpm_trunkline_cars_load_line ltcll on ltcll.load_id = ltcls.load_id and ltcll.node_id = ltcls.warehouse_id
where ltad.create_time > '2024-10-22 00:00:00'
and lww.document_making_time > '2024-10-22 00:00:00'
@ -2894,16 +2921,25 @@
left join logpm_trunkline_advance lta on lta.id = ltad.advance_id
left join logpm_warehouse_waybill lww on lww.id = ltad.waybill_id
left join logpm_warehouse_warehouse waw on waw.id = ltad.warehouse_id
left join (
SELECT
t1.*
FROM logpm_trunkline_cars_load_scan t1
LEFT JOIN logpm_trunkline_cars_load_scan t2 ON t1.scan_code = t2.scan_code
AND ((t2.warehouse_id IS NOT NULL AND t1.warehouse_id IS NULL)
OR(t1.warehouse_id IS NOT NULL and t2.warehouse_id IS NOT NULL AND t1.create_time &lt; t2.create_time))
WHERE
t2.scan_code IS NULL
) ltcls on ltcls.scan_code = ltad.order_package_code and ltcls.warehouse_id = ltad.warehouse_id and ltcls.type = 1 and ltcls.scan_status != 4
LEFT JOIN (
SELECT
scan_code,
warehouse_id,
MAX(create_time) AS max_create_time
FROM logpm_trunkline_cars_load_scan
WHERE
type = 1
AND scan_status != 4
GROUP BY scan_code, warehouse_id
) latest_scan ON
latest_scan.scan_code = lta.order_package_code
AND latest_scan.warehouse_id = lta.warehouse_id
LEFT JOIN logpm_trunkline_cars_load_scan ltcls ON
ltcls.scan_code = latest_scan.scan_code
AND ltcls.warehouse_id = latest_scan.warehouse_id
AND ltcls.create_time = latest_scan.max_create_time
AND ltcls.type = 1
AND ltcls.scan_status != 4
left join logpm_trunkline_cars_load_line ltcll on ltcll.load_id = ltcls.load_id and ltcll.node_id = ltcls.warehouse_id
where ltad.create_time > '2024-10-22 00:00:00'
and lww.document_making_time > '2024-10-22 00:00:00'

Loading…
Cancel
Save