fix: align dropship acceptance with precreated pallets
This commit is contained in:
@@ -27,6 +27,7 @@ public class DropshipPalletizationService {
|
||||
if (!"ONE_CLICK_DROPSHIP".equals(inbound.getFulfillmentType())) return;
|
||||
if (inbound.getTotalPackageCount()==null || inbound.getTotalPackageCount()<1) throw invalid("一件代发测量完成箱数无效,不能下发清点组托任务");
|
||||
if (inbound.getPalletCount()==null || inbound.getPalletCount()<1) throw invalid("一件代发预计托数无效,不能生成托盘码");
|
||||
if (inbound.getPalletCount()>inbound.getTotalPackageCount()) throw invalid("一件代发预计托数不能超过总箱数");
|
||||
long taskId=IdWorker.getId();
|
||||
if(mapper.insertTask(taskId,inbound.getTenantId(),inbound.getId(),inbound.getWarehouseId(),inbound.getTotalPackageCount())!=1) return;
|
||||
for(int sequence=1;sequence<=inbound.getPalletCount();sequence++){
|
||||
|
||||
@@ -135,6 +135,11 @@ public class InboundMeasurementService {
|
||||
&& (request.expectedPalletCount() == null || request.expectedPalletCount() < 1)) {
|
||||
throw new BizException(ResultCode.VALIDATION_FAILED, "一件代发必须录入预计托数");
|
||||
}
|
||||
if ("ONE_CLICK_DROPSHIP".equals(inbound.getFulfillmentType())
|
||||
&& inbound.getTotalPackageCount() != null
|
||||
&& request.expectedPalletCount() > inbound.getTotalPackageCount()) {
|
||||
throw new BizException(ResultCode.VALIDATION_FAILED, "一件代发预计托数不能超过总箱数");
|
||||
}
|
||||
validateInboundDetails(tenantId, inbound, request.items());
|
||||
request.items().stream().map(InboundMeasurementRequests.ItemRequest::chargeRuleId)
|
||||
.filter(java.util.Objects::nonNull).distinct().forEach(ruleId -> {
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ class PlatformInboundMeasurementControllerContractTest {
|
||||
void draftRequestOnlyAcceptsEditableGoodsNameAndMeasurementItems() {
|
||||
assertThat(Arrays.stream(InboundMeasurementRequests.SaveDraftRequest.class.getRecordComponents())
|
||||
.map(RecordComponent::getName)).containsExactly(
|
||||
"measurementId", "version", "actualGoodsName", "items");
|
||||
"measurementId", "version", "actualGoodsName", "expectedPalletCount", "items");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ class PlatformLoadingPdaControllerContractTest {
|
||||
@Test
|
||||
void exposesAssignmentWorkAndReviewWithDedicatedAuthorities() throws Exception {
|
||||
authority("task", "platform:firstleg:pda:view", AuthenticatedUser.class, String.class, Long.class, long.class);
|
||||
authority("pendingTasks", "platform:firstleg:pda:view", AuthenticatedUser.class, String.class);
|
||||
authority("pendingTasks", "platform:firstleg:pda:view", AuthenticatedUser.class, long.class, String.class);
|
||||
authority("inventorySnapshot", "platform:firstleg:pda:view", AuthenticatedUser.class, long.class, long.class);
|
||||
authority("claim", "platform:firstleg:pda:work", AuthenticatedUser.class, long.class, ClaimRequest.class);
|
||||
authority("assign", "platform:firstleg:pda:assign", AuthenticatedUser.class, long.class, AssignRequest.class);
|
||||
|
||||
Reference in New Issue
Block a user