优化
This commit is contained in:
@@ -245,6 +245,10 @@ public class InboundMeasurementService {
|
|||||||
List<InboundMeasurementItemEntity> items = repository.listItems(tenantId, measurement.getId());
|
List<InboundMeasurementItemEntity> items = repository.listItems(tenantId, measurement.getId());
|
||||||
List<InboundWeightResultEntity> weights = repository.listWeights(tenantId, inboundId);
|
List<InboundWeightResultEntity> weights = repository.listWeights(tenantId, inboundId);
|
||||||
ConfirmedWeightTotals confirmedTotals = confirmedWeightTotals(weights);
|
ConfirmedWeightTotals confirmedTotals = confirmedWeightTotals(weights);
|
||||||
|
if (confirmedTotals.palletCount() == 0) {
|
||||||
|
throw new BizException(ResultCode.VALIDATION_FAILED,
|
||||||
|
"请至少上传并确认一张称重图片后再提交测量审核");
|
||||||
|
}
|
||||||
|
|
||||||
requireConfirmedPackageTotal(inbound, items);
|
requireConfirmedPackageTotal(inbound, items);
|
||||||
measurement.setStatus(STATUS_SUBMITTED);
|
measurement.setStatus(STATUS_SUBMITTED);
|
||||||
|
|||||||
+30
-9
@@ -1171,7 +1171,7 @@ class InboundMeasurementServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void submitDoesNotBlockOnUnconfirmedWeight() {
|
void submitRejectsWhenNoWeightImageHasBeenConfirmed() {
|
||||||
InboundOrderEntity inbound = inbound("MEASURING");
|
InboundOrderEntity inbound = inbound("MEASURING");
|
||||||
InboundMeasurementEntity measurement = new InboundMeasurementEntity();
|
InboundMeasurementEntity measurement = new InboundMeasurementEntity();
|
||||||
measurement.setId(30L);
|
measurement.setId(30L);
|
||||||
@@ -1185,16 +1185,37 @@ class InboundMeasurementServiceTest {
|
|||||||
when(repository.listItems(1L, 30L)).thenReturn(List.of(item));
|
when(repository.listItems(1L, 30L)).thenReturn(List.of(item));
|
||||||
when(repository.listWeights(1L, 10L)).thenReturn(List.of(
|
when(repository.listWeights(1L, 10L)).thenReturn(List.of(
|
||||||
weight(20L, "20", "KG", "PENDING_CONFIRM", 0)));
|
weight(20L, "20", "KG", "PENDING_CONFIRM", 0)));
|
||||||
when(repository.updateMeasurement(measurement)).thenReturn(true);
|
assertThatThrownBy(() -> service.submit(1L, 10L, 9L,
|
||||||
when(repository.updateInbound(inbound)).thenReturn(true);
|
new InboundMeasurementRequests.SubmitRequest(30L, 0)))
|
||||||
|
.isInstanceOf(BizException.class)
|
||||||
|
.hasMessageContaining("至少上传并确认一张称重图片");
|
||||||
|
|
||||||
InboundMeasurementResponses.MeasurementSubmitted result = service.submit(1L, 10L, 9L,
|
verify(repository, never()).updateMeasurement(any());
|
||||||
new InboundMeasurementRequests.SubmitRequest(30L, 0));
|
verify(repository, never()).updateInbound(any());
|
||||||
|
}
|
||||||
|
|
||||||
assertThat(result.processStatus()).isEqualTo("MEASURE_PENDING");
|
@Test
|
||||||
assertThat(inbound.getActualGrossWeightKg()).isNull();
|
void submitRejectsWhenThereIsNoWeightImage() {
|
||||||
verify(repository).updateMeasurement(measurement);
|
InboundOrderEntity inbound = inbound("MEASURING");
|
||||||
verify(repository).updateInbound(inbound);
|
InboundMeasurementEntity measurement = new InboundMeasurementEntity();
|
||||||
|
measurement.setId(30L);
|
||||||
|
measurement.setStatus("DRAFT");
|
||||||
|
measurement.setVersion(0);
|
||||||
|
InboundMeasurementItemEntity item = new InboundMeasurementItemEntity();
|
||||||
|
item.setPackageCount(1);
|
||||||
|
item.setSourceImageFileId(500L);
|
||||||
|
when(repository.findInbound(1L, 10L)).thenReturn(inbound);
|
||||||
|
when(repository.findMeasurement(1L, 10L, 30L)).thenReturn(measurement);
|
||||||
|
when(repository.listItems(1L, 30L)).thenReturn(List.of(item));
|
||||||
|
when(repository.listWeights(1L, 10L)).thenReturn(List.of());
|
||||||
|
|
||||||
|
assertThatThrownBy(() -> service.submit(1L, 10L, 9L,
|
||||||
|
new InboundMeasurementRequests.SubmitRequest(30L, 0)))
|
||||||
|
.isInstanceOf(BizException.class)
|
||||||
|
.hasMessageContaining("至少上传并确认一张称重图片");
|
||||||
|
|
||||||
|
verify(repository, never()).updateMeasurement(any());
|
||||||
|
verify(repository, never()).updateInbound(any());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user