✨ 待回单确认:运次卡片下发唯一原始业务状态
This commit is contained in:
+7
@@ -1113,6 +1113,13 @@ public class DriverWaybillServiceImpl implements IDriverWaybillService {
|
|||||||
card.setId(parseId(children.isEmpty() ? trip.getId() : children.get(0).getId()));
|
card.setId(parseId(children.isEmpty() ? trip.getId() : children.get(0).getId()));
|
||||||
card.setWaybillNo(children.isEmpty() ? card.getTripNo() : Func.toStr(children.get(0).getWaybillNo(), ""));
|
card.setWaybillNo(children.isEmpty() ? card.getTripNo() : Func.toStr(children.get(0).getWaybillNo(), ""));
|
||||||
card.setStatus(trip.getStatus());
|
card.setStatus(trip.getStatus());
|
||||||
|
// 原始业务状态只在整趟车子单状态唯一时下发:配载车混状态时一趟车没有唯一原始状态,给 null 由前端按数字态展示
|
||||||
|
List<String> childBusinessStatuses = children.stream()
|
||||||
|
.map(TripVO.TripWaybillVO::getBusinessStatus)
|
||||||
|
.filter(Func::isNotBlank)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
card.setBusinessStatus(childBusinessStatuses.size() == 1 ? childBusinessStatuses.get(0) : null);
|
||||||
card.setRequireAccept(trip.getRequireAccept());
|
card.setRequireAccept(trip.getRequireAccept());
|
||||||
card.setAcceptStatus(trip.getAcceptStatus());
|
card.setAcceptStatus(trip.getAcceptStatus());
|
||||||
card.setTransportOrgType(trip.getTransportOrgType());
|
card.setTransportOrgType(trip.getTransportOrgType());
|
||||||
|
|||||||
+29
@@ -30,6 +30,7 @@ import org.springblade.transport.service.ITransportVehicleService;
|
|||||||
import org.springblade.transport.service.ITripQueryService;
|
import org.springblade.transport.service.ITripQueryService;
|
||||||
import org.springblade.transport.service.IWaybillService;
|
import org.springblade.transport.service.IWaybillService;
|
||||||
import org.springblade.transport.support.CertificationGate;
|
import org.springblade.transport.support.CertificationGate;
|
||||||
|
import org.springblade.transport.support.WaybillProcessSupport;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -147,6 +148,34 @@ class DriverTripCardTest {
|
|||||||
assertEquals("桂A32523", card.getVehicleNo());
|
assertEquals("桂A32523", card.getVehicleNo());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("运次卡片带唯一原始业务状态:子单都在待回单确认时下发 pending_return_confirm,数字态仍是 1")
|
||||||
|
void tripCardCarriesUniqueChildBusinessStatus() {
|
||||||
|
TripVO trip = loadingTrip();
|
||||||
|
trip.getWaybills().forEach(child -> child.setBusinessStatus(WaybillProcessSupport.STATUS_PENDING_RETURN_CONFIRM));
|
||||||
|
stubTripPage(1, trip);
|
||||||
|
|
||||||
|
IPage<DriverWaybillCardVO> page = runAsDriver(() -> service.tripPage(1, 10, null, null));
|
||||||
|
|
||||||
|
DriverWaybillCardVO card = page.getRecords().get(0);
|
||||||
|
assertEquals(WaybillProcessSupport.STATUS_PENDING_RETURN_CONFIRM, card.getBusinessStatus());
|
||||||
|
assertEquals(trip.getStatus(), card.getStatus(), "运次数字态口径不变,仍取运次状态");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("运次卡片原始业务状态:配载车混状态时给 null,由前端回退数字态")
|
||||||
|
void tripCardWithoutUniqueChildBusinessStatusGivesNull() {
|
||||||
|
TripVO trip = loadingTrip();
|
||||||
|
trip.getWaybills().get(0).setBusinessStatus(WaybillProcessSupport.STATUS_PENDING_RETURN_CONFIRM);
|
||||||
|
stubTripPage(1, trip);
|
||||||
|
|
||||||
|
IPage<DriverWaybillCardVO> page = runAsDriver(() -> service.tripPage(1, 10, null, null));
|
||||||
|
|
||||||
|
DriverWaybillCardVO card = page.getRecords().get(0);
|
||||||
|
assertNull(card.getBusinessStatus(), "一趟车里两种原始状态,没有唯一值可下发");
|
||||||
|
assertEquals(1, card.getStatus(), "混状态不影响运次数字态");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("运次列表不因配载卡去回查运单,也不写库")
|
@DisplayName("运次列表不因配载卡去回查运单,也不写库")
|
||||||
void tripPageDoesNotLookUpWaybillsOrWrite() {
|
void tripPageDoesNotLookUpWaybillsOrWrite() {
|
||||||
|
|||||||
Reference in New Issue
Block a user