feat : inspection
This commit is contained in:
@@ -16,7 +16,7 @@ abstract class PoultryScienceRemoteDatasource {
|
|||||||
|
|
||||||
Future<void> submitPoultryScienceReport({
|
Future<void> submitPoultryScienceReport({
|
||||||
required String token,
|
required String token,
|
||||||
required IFormData data,
|
required FormData data,
|
||||||
ProgressCallback? onSendProgress,
|
ProgressCallback? onSendProgress,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ class PoultryScienceRemoteDatasourceImp implements PoultryScienceRemoteDatasourc
|
|||||||
@override
|
@override
|
||||||
Future<void> submitPoultryScienceReport({
|
Future<void> submitPoultryScienceReport({
|
||||||
required String token,
|
required String token,
|
||||||
required IFormData data,
|
required FormData data,
|
||||||
ProgressCallback? onSendProgress,
|
ProgressCallback? onSendProgress,
|
||||||
}) async {
|
}) async {
|
||||||
await _httpClient.upload(
|
await _httpClient.post(
|
||||||
'/poultry_science_report/',
|
'/poultry_science_report/',
|
||||||
headers: {'Authorization': 'Bearer $token'},
|
headers: {'Authorization': 'Bearer $token'},
|
||||||
formData: data,
|
data: data,
|
||||||
onSendProgress: onSendProgress,
|
onSendProgress: onSendProgress,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ abstract class PoultryScienceRepository {
|
|||||||
|
|
||||||
Future<void> submitPoultryScienceReport({
|
Future<void> submitPoultryScienceReport({
|
||||||
required String token,
|
required String token,
|
||||||
required IFormData data,
|
required FormData data,
|
||||||
ProgressCallback? onSendProgress,
|
ProgressCallback? onSendProgress,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class PoultryScienceRepositoryImp implements PoultryScienceRepository {
|
|||||||
@override
|
@override
|
||||||
Future<void> submitPoultryScienceReport({
|
Future<void> submitPoultryScienceReport({
|
||||||
required String token,
|
required String token,
|
||||||
required IFormData data,
|
required FormData data,
|
||||||
ProgressCallback? onSendProgress,
|
ProgressCallback? onSendProgress,
|
||||||
}) async => await datasource.submitPoultryScienceReport(
|
}) async => await datasource.submitPoultryScienceReport(
|
||||||
token: token,
|
token: token,
|
||||||
|
|||||||
@@ -149,7 +149,6 @@ class InspectionPoultryScienceLogic extends GetxController {
|
|||||||
preferredCameraDevice: CameraDevice.front,
|
preferredCameraDevice: CameraDevice.front,
|
||||||
maxHeight: 720,
|
maxHeight: 720,
|
||||||
maxWidth: 1080,
|
maxWidth: 1080,
|
||||||
|
|
||||||
);
|
);
|
||||||
getFileSizeInKB(tmp?.path ?? '', tag: 'Picked');
|
getFileSizeInKB(tmp?.path ?? '', tag: 'Picked');
|
||||||
|
|
||||||
@@ -170,20 +169,30 @@ class InspectionPoultryScienceLogic extends GetxController {
|
|||||||
isOnUpload.value = true;
|
isOnUpload.value = true;
|
||||||
|
|
||||||
DioFormData formData = DioFormData();
|
DioFormData formData = DioFormData();
|
||||||
|
var ls = [];
|
||||||
|
|
||||||
for (var element in _multiPartPickedImages) {
|
for (var element in pickedImages) {
|
||||||
var ls = await element.finalize().toList();
|
ls.add(
|
||||||
formData.addFile('file', ls[0], element.filename ?? 'image.jpg');
|
await MultipartFile.fromFile(
|
||||||
|
element.path,
|
||||||
|
filename: element.name,
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
formData.addField("lat", currentLocation.value.latitude.toString());
|
var data = FormData.fromMap({
|
||||||
formData.addField("log", currentLocation.value.longitude.toString());
|
'file':ls,
|
||||||
formData.addField("hatching_id", id.toString());
|
'hatching_id': id.toString(),
|
||||||
|
'lat': currentLocation.value.latitude.toString(),
|
||||||
|
'log': currentLocation.value.longitude.toString(),
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
safeCall(
|
safeCall(
|
||||||
call: () async => await rootLogic.poultryRepository.submitPoultryScienceReport(
|
call: () async => await rootLogic.poultryRepository.submitPoultryScienceReport(
|
||||||
token: rootLogic.tokenService.accessToken.value!,
|
token: rootLogic.tokenService.accessToken.value!,
|
||||||
data: formData,
|
data: data,
|
||||||
onSendProgress: (sent, total) {
|
onSendProgress: (sent, total) {
|
||||||
presentUpload.value = calculateUploadProgress(sent: sent, total: total);
|
presentUpload.value = calculateUploadProgress(sent: sent, total: total);
|
||||||
},
|
},
|
||||||
@@ -195,14 +204,11 @@ class InspectionPoultryScienceLogic extends GetxController {
|
|||||||
getHatchingReport();
|
getHatchingReport();
|
||||||
isOnUpload.value = false;
|
isOnUpload.value = false;
|
||||||
},
|
},
|
||||||
onError: (error, stackTrace) async{
|
onError: (error, stackTrace) async {
|
||||||
|
|
||||||
clearImages();
|
clearImages();
|
||||||
isOnUpload.value = false;
|
isOnUpload.value = false;
|
||||||
|
|
||||||
await Future.delayed(const Duration(seconds: 4)).then((value) => closeBottomSheet(),);
|
await Future.delayed(const Duration(seconds: 4)).then((value) => closeBottomSheet());
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
showError: true,
|
showError: true,
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user