add package sql search
This commit is contained in:
@@ -56,7 +56,7 @@ class PackageDataProvider {
|
||||
token: await getToken());
|
||||
}
|
||||
|
||||
Future<List<Package>> searchPackage(String term) async {
|
||||
Future<List<Package>> ftsSearchPackage(String term) async {
|
||||
if (term == null || term == '') return List();
|
||||
|
||||
var bytes = utf8.encode(term);
|
||||
@@ -84,4 +84,38 @@ class PackageDataProvider {
|
||||
}
|
||||
return packages;
|
||||
}
|
||||
|
||||
Future<List<Package>> searchPackage(String term) async {
|
||||
if (term == null || term == '') return List();
|
||||
|
||||
List<Package> packages = [];
|
||||
|
||||
try {
|
||||
var data = {
|
||||
"fields":
|
||||
'id,tracking_id,market,user_name,phone_number,status,status_date',
|
||||
"aggfuns": ",,,,,,",
|
||||
"groupbys": '',
|
||||
"filters": [
|
||||
{
|
||||
"field": "tracking_id",
|
||||
"compare": "like",
|
||||
"value": "%" + term.toUpperCase() + "%"
|
||||
}
|
||||
]
|
||||
};
|
||||
var result = await requestAPI("/api/data/packages", "POST",
|
||||
token: await getToken(),
|
||||
url: Config.instance.reportURL,
|
||||
payload: jsonEncode(data));
|
||||
if (result == null) return packages;
|
||||
result.forEach((d) {
|
||||
var package = Package.fromJson(d);
|
||||
packages.add(package);
|
||||
});
|
||||
} catch (e) {
|
||||
log.warning("Error >>>>${e.toString()}");
|
||||
}
|
||||
return packages;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,11 @@ class PackageServiceImp implements PackageService {
|
||||
return packageDataProvider.updateReceiving(package);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Package>> ftsSearchPackage(String term) {
|
||||
return packageDataProvider.ftsSearchPackage(term);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Package>> searchPackage(String term) {
|
||||
return packageDataProvider.searchPackage(term);
|
||||
|
||||
@@ -7,6 +7,7 @@ abstract class PackageService {
|
||||
Future<void> deleteReceiving(Package package);
|
||||
Future<void> updateProcessing(Package package);
|
||||
Future<void> deleteProcessing(Package package);
|
||||
Future<List<Package>> ftsSearchPackage(String term);
|
||||
Future<List<Package>> searchPackage(String term);
|
||||
Future<void> changeDeliveryAddress(String packageID, String deliveryID);
|
||||
Future<void> packageReturn(String packageID);
|
||||
|
||||
@@ -232,14 +232,20 @@ class PackageModel extends BaseModel {
|
||||
}
|
||||
|
||||
Future<List<Package>> searchPackage(String term) async {
|
||||
List<Package> packages =
|
||||
await Services.instance.packageService.searchPackage(term);
|
||||
Future<List<Package>> packages =
|
||||
Services.instance.packageService.searchPackage(term);
|
||||
|
||||
Package pkg = await getPackageByTrackingID(term);
|
||||
if (pkg != null && !packages.contains(pkg)) {
|
||||
packages.insert(0, pkg);
|
||||
}
|
||||
return packages;
|
||||
Future<List<Package>> packagesFTS =
|
||||
Services.instance.packageService.ftsSearchPackage(term);
|
||||
// Package pkg = await getPackageByTrackingID(term);
|
||||
// if (pkg != null && !packages.contains(pkg)) {
|
||||
// packages.insert(0, pkg);
|
||||
// }
|
||||
List<Package> pkgs = await packages;
|
||||
List<Package> ftsPkgs = await packagesFTS;
|
||||
pkgs.addAll(ftsPkgs);
|
||||
final seen = Set<Package>();
|
||||
return pkgs.where((e) => seen.add(e)).toList();
|
||||
}
|
||||
|
||||
Future<void> createPackages(User user, List<Package> packages) {
|
||||
|
||||
@@ -153,17 +153,23 @@ class _LengthPickerDialogState extends State<LengthPickerDialog> {
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () => _addInc(1),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(3.0),
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
color: primaryColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () => _addInc(-1),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(3.0),
|
||||
child: Icon(
|
||||
Icons.remove,
|
||||
color: primaryColor,
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
)
|
||||
@@ -199,17 +205,23 @@ class _LengthPickerDialogState extends State<LengthPickerDialog> {
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () => _addFeet(1),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(3.0),
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
color: primaryColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () => _addFeet(-1),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(3.0),
|
||||
child: Icon(
|
||||
Icons.remove,
|
||||
color: primaryColor,
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user