feat(appointment): integrate work calendar and stable cargo batches
This commit is contained in:
+12
@@ -28,6 +28,18 @@ class FleetTripCalendarMapperTest {
|
||||
assertThat(rows).extracting(FleetTripEntity::getTripNo).containsExactly("TR-FROM","TR-LAST");
|
||||
assertThat(rows).extracting(FleetTripEntity::getStatus).containsExactly("CANCELLED","COMPLETED");
|
||||
assertThat(rows.get(0).getPlannedDepartureAt()).isEqualTo(from);
|
||||
// The actual month is authoritative even when the original plan is outside this window.
|
||||
jdbc.update(insert,"TR-ACTUAL-IN","IN_TRANSIT",from.minusDays(3),to);
|
||||
jdbc.update("UPDATE ll_fleet_trip SET departed_at=? WHERE trip_no=?",from.plusHours(2),"TR-ACTUAL-IN");
|
||||
jdbc.update(insert,"TR-ACTUAL-OUT","IN_TRANSIT",from.plusHours(3),to);
|
||||
jdbc.update("UPDATE ll_fleet_trip SET departed_at=? WHERE trip_no=?",to,"TR-ACTUAL-OUT");
|
||||
jdbc.update(insert,"TR-ACTUAL-FROM","IN_TRANSIT",from.minusDays(2),to);
|
||||
jdbc.update("UPDATE ll_fleet_trip SET departed_at=? WHERE trip_no=?",from,"TR-ACTUAL-FROM");
|
||||
assertThat(mapper.calendar(from,to)).extracting(FleetTripEntity::getTripNo)
|
||||
.containsExactly("TR-ACTUAL-FROM","TR-FROM","TR-ACTUAL-IN","TR-LAST");
|
||||
jdbc.update("UPDATE ll_fleet_trip SET planned_departure_at=? WHERE trip_no=?",to.plusDays(20),"TR-ACTUAL-IN");
|
||||
assertThat(mapper.calendar(from,to)).extracting(FleetTripEntity::getTripNo)
|
||||
.containsExactly("TR-ACTUAL-FROM","TR-FROM","TR-ACTUAL-IN","TR-LAST");
|
||||
var many=new ArrayList<Object[]>();for(int i=0;i<2002;i++)many.add(new Object[]{"TR-MANY-"+i,"PLANNED",from.plusHours(1),to});
|
||||
jdbc.batchUpdate(insert,many);
|
||||
assertThat(mapper.calendar(from,to)).hasSize(2001);
|
||||
|
||||
+3
@@ -146,7 +146,10 @@ class FleetTripPersistenceTest {
|
||||
preparation = transactional(new FleetTripPreparationService(service,session.getMapper(FleetTripMapper.class),session.getMapper(FleetCapacityOfferCommandMapper.class),json),FleetTripPreparationService.class);
|
||||
planning=mock(FleetDispatchPlanningGateway.class);
|
||||
ReflectionTestUtils.setField(service,"planning",planning);
|
||||
ReflectionTestUtils.setField(service,"workChanges",mock(com.baiyue.lastleg.fleet.trip.work.AppointmentWorkTripChanges.class));
|
||||
ReflectionTestUtils.setField(service,"appointmentAllocations",mock(com.baiyue.lastleg.appointmentwork.AppointmentWorkDispatchPort.class));
|
||||
execution = transactional(new FleetTripExecutionService(session.getMapper(FleetTripMapper.class), bindingMapper, resources, dispatchGateway, service, drivers, vehicles, json, reservations), FleetTripExecutionService.class);
|
||||
ReflectionTestUtils.setField(execution,"appointmentAllocations",mock(com.baiyue.lastleg.appointmentwork.AppointmentWorkDispatchPort.class));
|
||||
var customerDirectory = mock(com.baiyue.lastleg.fleet.customer.FleetCustomerDirectory.class);
|
||||
when(customerDirectory.required(anyLong())).thenAnswer(call -> new com.baiyue.lastleg.fleet.customer.FleetCustomerDirectory.Customer(
|
||||
Long.toString(call.getArgument(0,Long.class)), "00001", "外接客户", null, null));
|
||||
|
||||
Reference in New Issue
Block a user