贴标申请,仓储转运
This commit is contained in:
+32
@@ -895,6 +895,25 @@ class RelabelApplicationServiceTest {
|
||||
return app;
|
||||
}
|
||||
|
||||
@Test
|
||||
void uncountedPalletBoxCannotCreateRelabelApplication() {
|
||||
var cartonMapper = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonMapper.class);
|
||||
ReflectionTestUtils.setField(service, "returnCartons", cartonMapper);
|
||||
var carton = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCarton();
|
||||
carton.setId(901L); carton.setCustomerId("10001"); carton.setOverseasWarehouseId("WH-1");
|
||||
carton.setCartonMark("RETURN-BOX-1"); carton.setStatus("AVAILABLE"); carton.setSourceUnitType("PALLET"); carton.setCountStatus("PENDING");
|
||||
when(cartonMapper.lockId(901L)).thenReturn(carton);
|
||||
var detail = new RelabelRequests.Item(null, null, null, "SKU-A", null, null, null,
|
||||
"Return goods", 1, 1, "RT-1", null, "NEW-A", null, null,
|
||||
null, null, null, "RETURN-BOX-1", null, null, "SKU_LABEL",
|
||||
List.of(new RelabelRequests.SkuItem("SKU-A", "NEW-A", 1, null)), 901L);
|
||||
var request = new RelabelRequests.Create("RT-1", "WH-1", LocalDateTime.now().plusDays(1),
|
||||
"Li", "13800000000", null, null, "return-uncounted", List.of(detail), null, false);
|
||||
var error = assertThrows(ResponseStatusException.class, () -> service.create("10001", "operator-1", request));
|
||||
assertTrue(error.getReason().contains("清点"));
|
||||
verify(applications, never()).insert(any(RelabelApplication.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void returnSkuRelabelRejectsQuantityBeyondSelectedSourceBox() {
|
||||
var cartonMapper = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonMapper.class);
|
||||
@@ -934,6 +953,19 @@ class RelabelApplicationServiceTest {
|
||||
"SKU-NEW", "Label on carton", "file-1", "relabel.pdf", "https://files/relabel.pdf")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void rejectsDifferentOperationTypesInOneApplicationBeforeStockIsHeld() {
|
||||
var first = carton("A", "RC-A", "FBA-A", "ABE8");
|
||||
var second = new RelabelRequests.Item(101L, 202L, 301L, "B", null, null, null,
|
||||
"商品B", 1, 1, "SHP-2", null, "B-NEW", null, null,
|
||||
null, null, null, "RC-B", null, null, "SKU_LABEL", List.of());
|
||||
var request = new RelabelRequests.Create("CUSTOMER-1", "WH-1", LocalDateTime.now().plusDays(1),
|
||||
"Li", "13800000000", new BigDecimal("20.00"), null, "mixed-types", List.of(first, second));
|
||||
var error = assertThrows(ResponseStatusException.class, () -> service.create("10001", "operator-1", request));
|
||||
assertEquals(400, error.getStatusCode().value());
|
||||
assertTrue(error.getReason().contains("只能选择一种"));
|
||||
}
|
||||
|
||||
private static RelabelRequests.Item carton(String sku, String cartonMark, String fbaCartonMark,
|
||||
String destinationWarehouseId) {
|
||||
long positionId = "ABE8".equals(destinationWarehouseId) ? 202L : 201L;
|
||||
|
||||
Reference in New Issue
Block a user