fix(overseas): repair pallet transitions and transfer queries

This commit is contained in:
2026-09-29 14:18:20 +08:00
parent 875d2497f4
commit 8df0f4e823
11 changed files with 114 additions and 31 deletions
@@ -18,6 +18,7 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.time.LocalDateTime;
import java.util.HexFormat;
import java.util.Objects;
import java.util.Set;
@Service
@@ -102,15 +103,15 @@ public class WarehousePalletTransitionService {
WarehouseLocationEntity target;
if (sourceLocationId <= targetLocationId) {
source = requireLocation(warehouseId, sourceLocationId);
target = sourceLocationId == targetLocationId ? source : requireLocation(warehouseId, targetLocationId);
target = Objects.equals(sourceLocationId, targetLocationId) ? source : requireLocation(warehouseId, targetLocationId);
} else {
target = requireLocation(warehouseId, targetLocationId);
source = requireLocation(warehouseId, sourceLocationId);
}
requireLocationMatchesPallet(source, pallet.getStatus());
if (sourceLocationId != targetLocationId) requireAvailableTarget(target, targetStatus);
if (!Objects.equals(sourceLocationId, targetLocationId)) requireAvailableTarget(target, targetStatus);
if (sourceLocationId == targetLocationId) {
if (Objects.equals(sourceLocationId, targetLocationId)) {
transitionSameLocation(warehouseId, source, pallet.getStatus(), targetStatus);
} else {
releaseSourceLocation(warehouseId, source, pallet.getStatus());