add fcs shipment in processing,update cargo types for carton

This commit is contained in:
tzw
2025-03-21 18:19:52 +06:30
parent e208734dfa
commit 3bfbca35fc
34 changed files with 1227 additions and 665 deletions

View File

@@ -13,6 +13,9 @@ class CargoType {
bool isDefault;
bool isMixCargo;
List<String> mixCargoIds;
List<CargoType> mixCargoes;
double get calAmount => calRate * calWeight;
CargoType(
@@ -28,7 +31,9 @@ class CargoType {
this.customDutyFee = 0,
this.displayIndex = 0,
this.isDefault = false,
this.isMixCargo = false});
this.isMixCargo = false,
this.mixCargoes = const [],
this.mixCargoIds = const []});
factory CargoType.fromMap(Map<String, dynamic> map, String id) {
return CargoType(
@@ -45,12 +50,23 @@ class CargoType {
isMixCargo: map['is_mix_cargo'] ?? false);
}
factory CargoType.fromMapForCargo(Map<String, dynamic> map, String id) {
factory CargoType.fromMapForCarton(Map<String, dynamic> map, String id) {
var cargoTypesMaps =
List<Map<String, dynamic>>.from(map['mix_cargo_types'] ?? []);
var mixCargoTypes =
cargoTypesMaps.map((e) => CargoType.fromMapForMix(e, e["id"])).toList();
return CargoType(
id: id,
name: map['name'],
weight: map['weight']?.toDouble() ?? 0,
displayIndex: map['display_index'] ?? 0);
displayIndex: map['display_index'] ?? 0,
isMixCargo: map['is_mix_cargo'] ?? false,
mixCargoes: mixCargoTypes);
}
factory CargoType.fromMapForMix(Map<String, dynamic> map, String id) {
return CargoType(id: id, name: map['name']);
}
factory CargoType.fromMapForsurcharge(Map<String, dynamic> map, String id) {
@@ -78,7 +94,11 @@ class CargoType {
}
Map<String, dynamic> toMapForCarton() {
return {"id": id, 'weight': weight};
return {
"id": id,
'weight': weight,
"mix_cargo_type_ids": mixCargoes.map((e) => e.id).toList()
};
}
Map<String, dynamic> toMapForSurcharge() {

View File

@@ -213,7 +213,7 @@ class Carton {
var cargoTypesMaps =
List<Map<String, dynamic>>.from(map['cargo_types'] ?? []);
var cargoTypes = cargoTypesMaps
.map((e) => CargoType.fromMapForCargo(e, e["id"]))
.map((e) => CargoType.fromMapForCarton(e, e["id"]))
.toList();
var surchargeItemMaps =

View File

@@ -14,8 +14,8 @@ class Package {
String? desc;
String? status;
String? shipmentId;
String? shipmentNumber;
String? fcsShipmentId;
String? fcsShipmentNumber;
String? userID;
String? fcsID;
@@ -54,8 +54,8 @@ class Package {
this.userName,
this.fcsID,
this.phoneNumber,
this.shipmentId,
this.shipmentNumber,
this.fcsShipmentId,
this.fcsShipmentNumber,
this.senderFCSID,
this.senderName,
this.boxNumber,
@@ -111,8 +111,8 @@ class Package {
senderFCSID: map['sender_fcs_id'],
senderName: map['sender_name'] ?? "",
senderPhoneNumber: map['sender_phone_number'] ?? "",
shipmentId: map['shipment_id'],
shipmentNumber: map['shipment_number'],
fcsShipmentId: map['fcs_shipment_id'],
fcsShipmentNumber: map['fcs_shipment_number'],
deliveryAddress: da,
currentStatusDate: currentStatusDate?.toDate().toLocal(),
photoUrls: photoUrls,
@@ -120,12 +120,21 @@ class Package {
cartonIds: cartonIds);
}
Map<String, dynamic> toJson() => {
Map<String, dynamic> toJsonForReceiving() => {
'id': id,
'tracking_id': trackingID,
'market': market,
'fcs_id': fcsID,
"remark": remark,
"photo_urls": photoUrls
};
Map<String, dynamic> toJsonForProcessing() => {
'id': id,
'fcs_id': fcsID,
'sender_fcs_id': senderFCSID,
'fcs_shipment_id' : fcsShipmentId,
'tracking_id': trackingID,
'market': market,
"desc": desc,
"remark": remark,
"photo_urls": photoUrls
@@ -158,7 +167,7 @@ class Package {
package.desc != desc ||
package.remark != remark ||
package.photoUrls != photoUrls ||
package.shipmentId != shipmentId;
package.fcsShipmentId != fcsShipmentId;
}
@override

View File

@@ -121,9 +121,10 @@ class User {
userUnseenCount: map['user_unseen_count'] ?? 0,
fcsUnseenCount: map['fcs_unseen_count'] ?? 0,
preferCurrency: map['preferred_currency'],
lastMessageTime: _date == null ? null : _date.toDate(),
lastMessageTime: _date?.toDate(),
enablePinLogin: map['enable_pin_login'] ?? false,
pinDigit: map['pin'] ?? '');
pinDigit: map['pin'] ?? '',
recoveryEmail: map['email'] ?? "");
}
bool diffPrivileges(User another) {