贴标申请,仓储转运
This commit is contained in:
+4
-6
@@ -1222,12 +1222,10 @@ public class WarehouseTransferService {
|
|||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public List<WarehouseTransferResponses.Summary> pdaCandidates(long overseasWarehouseId) {
|
public List<WarehouseTransferResponses.Summary> pdaCandidates(long overseasWarehouseId) {
|
||||||
List<WarehouseTransferOrder> candidates = transfers.selectList(new LambdaQueryWrapper<WarehouseTransferOrder>()
|
// PDA 测量列表只接收明确进入 WAIT_PDA_RECEIVING 的在途转运单。
|
||||||
.eq(WarehouseTransferOrder::getOperatingWarehouseId, String.valueOf(overseasWarehouseId))
|
// APPROVED 是已有库存转运的后续处理入口,ALLOCATED 已进入库存出库流程;
|
||||||
// 只有尚未完成 PDA 收货/测量的状态才进入测量列表。换标、待排车及已出库
|
// 两者都不能再次显示为待测量,更不能引导操作员重复进入托盘作业。
|
||||||
// 都是后续履约阶段,不能继续占用 PDA 的“当前测量单”锁。
|
List<WarehouseTransferOrder> candidates = transfers.pdaCandidates(String.valueOf(overseasWarehouseId));
|
||||||
.in(WarehouseTransferOrder::getStatus, List.of(WAIT_PDA_RECEIVING, APPROVED, ALLOCATED))
|
|
||||||
.orderByDesc(WarehouseTransferOrder::getUpdatedAt));
|
|
||||||
Map<String, RelabelApplication> relabelApplicationsByNo = relabelApplications(candidates);
|
Map<String, RelabelApplication> relabelApplicationsByNo = relabelApplications(candidates);
|
||||||
return candidates.stream().map(value -> {
|
return candidates.stream().map(value -> {
|
||||||
RelabelApplication relabel = StringUtils.hasText(value.getRelabelNo())
|
RelabelApplication relabel = StringUtils.hasText(value.getRelabelNo())
|
||||||
|
|||||||
+14
@@ -80,6 +80,20 @@ import static org.mockito.Mockito.times;
|
|||||||
|
|
||||||
@ExtendWith(MockitoExtension.class)
|
@ExtendWith(MockitoExtension.class)
|
||||||
class WarehouseTransferServiceTest {
|
class WarehouseTransferServiceTest {
|
||||||
|
@Test
|
||||||
|
void pdaCandidatesUseTheMapperRestrictedToWaitingMeasurementOnly() {
|
||||||
|
WarehouseTransferOrder transfer = transfer(WarehouseTransferService.WAIT_PDA_RECEIVING);
|
||||||
|
transfer.setOperatingWarehouseId("900");
|
||||||
|
when(transfers.pdaCandidates("900")).thenReturn(List.of(transfer));
|
||||||
|
|
||||||
|
var result = service.pdaCandidates(900L);
|
||||||
|
|
||||||
|
assertEquals(1, result.size());
|
||||||
|
assertEquals(WarehouseTransferService.WAIT_PDA_RECEIVING, result.get(0).status());
|
||||||
|
verify(transfers).pdaCandidates("900");
|
||||||
|
verify(transfers, never()).selectList(any());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void customerMainStatusFiltersExpandToInternalWorkflowStates() {
|
void customerMainStatusFiltersExpandToInternalWorkflowStates() {
|
||||||
assertEquals(List.of(WarehouseTransferService.APPROVED, WarehouseTransferService.WAIT_PDA_RECEIVING),
|
assertEquals(List.of(WarehouseTransferService.APPROVED, WarehouseTransferService.WAIT_PDA_RECEIVING),
|
||||||
|
|||||||
Reference in New Issue
Block a user