fix: preserve native tail order facts in combined lists
This commit is contained in:
+4
-2
@@ -16,6 +16,7 @@ class InventoryCartonOwnershipTest {
|
||||
var ds = new DriverManagerDataSource("jdbc:h2:mem:" + UUID.randomUUID() + ";MODE=MySQL;DB_CLOSE_DELAY=-1", "sa", "");
|
||||
var db = new JdbcTemplate(ds);
|
||||
db.execute("CREATE TABLE ll_inbound_plan_carton(order_id BIGINT,customer_id VARCHAR,carton_mark VARCHAR)");
|
||||
db.execute("CREATE TABLE ll_dropship_carton(order_id BIGINT,customer_id VARCHAR,carton_mark VARCHAR)");
|
||||
db.execute("CREATE TABLE ll_order(id BIGINT,customer_id VARCHAR,inbound_code VARCHAR,overseas_warehouse_id VARCHAR)");
|
||||
db.execute("CREATE TABLE ll_inbound_order(id BIGINT,customer_id VARCHAR,inbound_code VARCHAR)");
|
||||
db.execute("CREATE TABLE ll_warehouse_transfer_order(id BIGINT,customer_id VARCHAR,inbound_order_id BIGINT,operating_warehouse_id VARCHAR)");
|
||||
@@ -23,19 +24,20 @@ class InventoryCartonOwnershipTest {
|
||||
db.update("INSERT INTO ll_inbound_order VALUES(1,'C1','IN1'),(2,'C1','IN2')");
|
||||
db.update("INSERT INTO ll_order VALUES(10,'C1','IN1','WH1'),(20,'C1','IN2','WH1')");
|
||||
db.update("INSERT INTO ll_inbound_plan_carton VALUES(10,'C1','BOX1'),(20,'C1','OTHER-ORDER')");
|
||||
db.update("INSERT INTO ll_dropship_carton VALUES(10,'C1','DROPSHIP-BOX'),(20,'C1','DROPSHIP-OTHER-ORDER'),(10,'C2','DROPSHIP-FOREIGN')");
|
||||
db.update("INSERT INTO ll_warehouse_transfer_order VALUES(30,'C1',1,'WH1'),(40,'C2',1,'WH1')");
|
||||
db.update("INSERT INTO ll_warehouse_transfer_carton VALUES(30,'C1','TRANSFER-BOX','CUSTOMER-BOX','COUNTED'),(30,'C1','UNCHECKED','CUSTOMER-UNCHECKED','NOT_RECEIVED'),(40,'C2','OTHER-CUSTOMER',NULL,'COUNTED')");
|
||||
var config = new Configuration(new Environment("test", new JdbcTransactionFactory(), ds));
|
||||
config.addMapper(InventoryBalanceMapper.class);
|
||||
try (var session = new SqlSessionFactoryBuilder().build(config).openSession()) {
|
||||
var mapper = session.getMapper(InventoryBalanceMapper.class);
|
||||
for (String mark : new String[]{"BOX1", "TRANSFER-BOX", "CUSTOMER-BOX"}) {
|
||||
for (String mark : new String[]{"BOX1", "TRANSFER-BOX", "CUSTOMER-BOX", "DROPSHIP-BOX"}) {
|
||||
assertTrue(mapper.cartonBelongsToInbound("C1", "WH1", 1L, mark));
|
||||
assertFalse(mapper.cartonBelongsToInbound("C1", "WH2", 1L, mark));
|
||||
assertFalse(mapper.cartonBelongsToInbound("C2", "WH1", 1L, mark));
|
||||
assertFalse(mapper.cartonBelongsToInbound("C1", "WH1", 2L, mark));
|
||||
}
|
||||
for (String mark : new String[]{"MISSING", "OTHER-ORDER", "OTHER-CUSTOMER", "UNCHECKED"})
|
||||
for (String mark : new String[]{"MISSING", "OTHER-ORDER", "OTHER-CUSTOMER", "UNCHECKED", "DROPSHIP-OTHER-ORDER", "DROPSHIP-FOREIGN"})
|
||||
assertFalse(mapper.cartonBelongsToInbound("C1", "WH1", 1L, mark));
|
||||
}
|
||||
}
|
||||
|
||||
+13
-5
@@ -1,6 +1,9 @@
|
||||
package com.baiyue.lastleg.service;
|
||||
|
||||
import com.baiyue.lastleg.dto.LastlegOrderRequests;
|
||||
import com.baiyue.lastleg.client.OrderPreDepartureClient;
|
||||
import com.baiyue.common.core.api.ApiResponse;
|
||||
import com.baiyue.common.core.api.PageResult;
|
||||
import com.baiyue.lastleg.dto.LastlegOrderSummary;
|
||||
import com.baiyue.lastleg.dto.ContainerPlanProgressDetail;
|
||||
import com.baiyue.lastleg.dto.ContainerPlanProgressSummary;
|
||||
@@ -74,6 +77,7 @@ class LastlegOrderServiceTest {
|
||||
@Mock ContainerArrivalTimeOperationMapper containerArrivalTimeOperations;
|
||||
@Mock WarehouseResourceGateway warehouseResourceGateway;
|
||||
@Mock ContainerShippingGateMapper containerShippingGates;
|
||||
@Mock OrderPreDepartureClient preDeparture;
|
||||
@Mock ReturnOrderReferenceResolver returnOrderReferences;
|
||||
@Mock com.baiyue.lastleg.returnreceipt.service.ReturnReceiptService returnReceipts;
|
||||
LastlegOrderService service;
|
||||
@@ -137,6 +141,9 @@ class LastlegOrderServiceTest {
|
||||
ReflectionTestUtils.setField(service, "containerArrivalTimeOperations", containerArrivalTimeOperations);
|
||||
ReflectionTestUtils.setField(service, "warehouseResourceGateway", warehouseResourceGateway);
|
||||
ReflectionTestUtils.setField(service, "containerShippingGates", containerShippingGates);
|
||||
ReflectionTestUtils.setField(service, "orderPreDepartureClient", preDeparture);
|
||||
lenient().when(preDeparture.page(any(), any(), any(), any(), anyInt(), anyInt()))
|
||||
.thenReturn(ApiResponse.success(new PageResult<>(List.of(), 1, 2000, 0, 0)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -401,7 +408,8 @@ class LastlegOrderServiceTest {
|
||||
@Test
|
||||
void pageUsesPaginationAndPlatformFiltersWithoutCustomerScope() {
|
||||
var query = new LastlegOrderRequests.Query(3L, 25L, "LL-", "FIRST_LEG", "IN-", null,
|
||||
null, "", "PENDING_ASSIGNMENT", null, "LAX", null, null, null, null, null, null, null, null, null);
|
||||
null, "", "PENDING_ASSIGNMENT", null, "LAX", null, null, null, null, null,
|
||||
LastlegOrderRequests.SailingStage.AFTER_DEPARTURE, null, null, null);
|
||||
var resultPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<LastlegOrder>(3, 25);
|
||||
resultPage.setTotal(0);
|
||||
when(orders.selectPage(any(), any())).thenReturn(resultPage);
|
||||
@@ -553,7 +561,7 @@ class LastlegOrderServiceTest {
|
||||
var resultPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<LastlegOrder>(1, 10);
|
||||
resultPage.setRecords(List.of(order));
|
||||
resultPage.setTotal(1);
|
||||
when(orders.selectPage(any(), any())).thenReturn(resultPage);
|
||||
when(orders.selectList(any())).thenReturn(resultPage.getRecords());
|
||||
when(orders.findPalletMergeRelations(List.of(11L))).thenReturn(List.of(
|
||||
new LastlegOrderMapper.PalletMergeRelationRow(11L, "INBOUND-2", "PMG-1"),
|
||||
new LastlegOrderMapper.PalletMergeRelationRow(11L, "INBOUND-3", "PMG-1")));
|
||||
@@ -580,7 +588,7 @@ class LastlegOrderServiceTest {
|
||||
var resultPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<LastlegOrder>(1, 10);
|
||||
resultPage.setRecords(List.of(relabel, looseboard, firstleg));
|
||||
resultPage.setTotal(3);
|
||||
when(orders.selectPage(any(), any())).thenReturn(resultPage);
|
||||
when(orders.selectList(any())).thenReturn(resultPage.getRecords());
|
||||
var query = new LastlegOrderRequests.Query(1L, 10L, null, null, null, null,
|
||||
null, null, null, null, null, null, null, null, null, null, null, null, null, null);
|
||||
|
||||
@@ -611,14 +619,14 @@ class LastlegOrderServiceTest {
|
||||
row.setOverseasWarehouseName("洛杉矶仓");
|
||||
resultPage.setRecords(matched ? List.of(row) : List.of());
|
||||
resultPage.setTotal(matched ? 1 : 0);
|
||||
when(orders.selectPage(any(), any())).thenReturn(resultPage);
|
||||
when(orders.selectList(any())).thenReturn(resultPage.getRecords());
|
||||
|
||||
var result = service.page(null, new LastlegOrderRequests.Query(1L, 10L, null, null, null, null,
|
||||
null, null, null, null, input, null, null, null, null, null, null, null, null, null));
|
||||
|
||||
ArgumentCaptor<com.baomidou.mybatisplus.core.conditions.Wrapper<LastlegOrder>> filter =
|
||||
ArgumentCaptor.forClass(com.baomidou.mybatisplus.core.conditions.Wrapper.class);
|
||||
verify(orders).selectPage(any(), filter.capture());
|
||||
verify(orders).selectList(filter.capture());
|
||||
var wrapper = (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<LastlegOrder>) filter.getValue();
|
||||
String warehouseSql = wrapper.getExpression().getNormal().getSqlSegment();
|
||||
assertTrue(warehouseSql.contains("LOWER(TRIM(overseas_warehouse_code))"));
|
||||
|
||||
Reference in New Issue
Block a user