Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
res_create_routing_model.dart
Go to the documentation of this file.
1import '../../../domain/entities/res/res_create_routing_entity.dart';
2
5 required super.arrivalTime,
6 super.finishTime,
7 required super.locationId,
8 required super.locationName,
9 });
10
11 Map<String, dynamic> toJson() {
12 return {
13 'arrival_time': arrivalTime,
14 if (finishTime != null) 'finish_time': finishTime,
15 'location_id': locationId,
16 'location_name': locationName,
17 };
18 }
19
20 factory RouteStopModel.fromJson(Map<String, dynamic> json) {
21 return RouteStopModel(
22 arrivalTime: json['arrival_time'],
23 finishTime: json['finish_time'],
24 locationId: json['location_id'],
25 locationName: json['location_name'],
26 );
27 }
28
30 return RouteStopModel(
32 finishTime: entity.finishTime,
33 locationId: entity.locationId,
35 );
36 }
37}
38
41 required super.numLateVisits,
42 required super.numUnserved,
43 required super.solution,
44 required super.status,
45 required super.totalBreakTime,
46 required super.totalIdleTime,
47 required super.totalTravelTime,
48 required super.totalVehicleOvertime,
49 required super.totalVisitLateness,
50 required super.totalWorkingTime,
51 required super.vehicleOvertime,
52 });
53
54 Map<String, dynamic> toJson() {
55 return {
56 'num_late_visits': numLateVisits,
57 'num_unserved': numUnserved,
58 'solution': solution.map((key, value) => MapEntry(
59 key,
60 value.map((stop) => RouteStopModel.fromEntity(stop).toJson()).toList(),
61 )),
62 'status': status,
63 'total_break_time': totalBreakTime,
64 'total_idle_time': totalIdleTime,
65 'total_travel_time': totalTravelTime,
66 'total_vehicle_overtime': totalVehicleOvertime,
67 'total_visit_lateness': totalVisitLateness,
68 'total_working_time': totalWorkingTime,
69 'vehicle_overtime': vehicleOvertime,
70 };
71 }
72
73 factory ResCreateRoutingModel.fromJson(Map<String, dynamic> json) {
74 final solutionJson = json['solution'] as Map<String, dynamic>;
75 final solution = <String, List<RouteStopEntity>>{};
76
77 solutionJson.forEach((key, value) {
78 final stops = (value as List)
79 .map((stopJson) => RouteStopModel.fromJson(stopJson))
80 .cast<RouteStopEntity>()
81 .toList();
82 solution[key] = stops;
83 });
84
86 numLateVisits: json['num_late_visits'],
87 numUnserved: json['num_unserved'],
89 status: json['status'],
90 totalBreakTime: json['total_break_time'],
91 totalIdleTime: json['total_idle_time'],
92 totalTravelTime: json['total_travel_time'],
93 totalVehicleOvertime: json['total_vehicle_overtime'],
94 totalVisitLateness: json['total_visit_lateness'],
95 totalWorkingTime: json['total_working_time'],
96 vehicleOvertime: Map<String, int>.from(json['vehicle_overtime']),
97 );
98 }
99}
100
101extension RouteStopModelExtension on RouteStopEntity {
103 return RouteStopModel(
104 arrivalTime: arrivalTime,
105 finishTime: finishTime,
106 locationId: locationId,
107 locationName: locationName,
108 );
109 }
110}
111
112extension RouteStopModelFromEntity on RouteStopModel {
114 return RouteStopModel(
115 arrivalTime: entity.arrivalTime,
116 finishTime: entity.finishTime,
117 locationId: entity.locationId,
118 locationName: entity.locationName,
119 );
120 }
121}
static RouteStopModel fromEntity(RouteStopEntity entity)
factory RouteStopModel fromJson(Map< String, dynamic > json)
RouteStopModel({ required super.arrivalTime, super.finishTime, required super.locationId, required super.locationName, })
RouteStopEntity({ required this.arrivalTime, this.finishTime, required this.locationId, required this.locationName, })
Map< String, dynamic > toJson()
Map< String, dynamic > toJson()
class Partner String
final int totalVisitLateness
final Map< String, List< RouteStopEntity > > solution
final int totalVehicleOvertime
final int totalIdleTime
final int numUnserved
class RouteStopEntity numLateVisits
final Map< String, int > vehicleOvertime
final int totalWorkingTime
ResCreateRoutingEntity({ required this.numLateVisits, required this.numUnserved, required this.solution, required this.status, required this.totalBreakTime, required this.totalIdleTime, required this.totalTravelTime, required this.totalVehicleOvertime, required this.totalVisitLateness, required this.totalWorkingTime, required this.vehicleOvertime, })
final int totalTravelTime
final int totalBreakTime
static RouteStopModel fromEntity(RouteStopEntity entity)
RouteStopModel({ required super.arrivalTime, super.finishTime, required super.locationId, required super.locationName, })
class RouteStopModel extends RouteStopEntity ResCreateRoutingModel({ required super.numLateVisits, required super.numUnserved, required super.solution, required super.status, required super.totalBreakTime, required super.totalIdleTime, required super.totalTravelTime, required super.totalVehicleOvertime, required super.totalVisitLateness, required super.totalWorkingTime, required super.vehicleOvertime, })
ResCollectionContactModel toModel()