feat : inspection

This commit is contained in:
2025-09-07 17:37:30 +03:30
parent d914bf7f36
commit aca9bbfccb
5 changed files with 25 additions and 19 deletions

View File

@@ -16,7 +16,7 @@ abstract class PoultryScienceRemoteDatasource {
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
required FormData data,
ProgressCallback? onSendProgress,
});

View File

@@ -45,13 +45,13 @@ class PoultryScienceRemoteDatasourceImp implements PoultryScienceRemoteDatasourc
@override
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
required FormData data,
ProgressCallback? onSendProgress,
}) async {
await _httpClient.upload(
await _httpClient.post(
'/poultry_science_report/',
headers: {'Authorization': 'Bearer $token'},
formData: data,
data: data,
onSendProgress: onSendProgress,
);
}

View File

@@ -14,7 +14,7 @@ abstract class PoultryScienceRepository {
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
required FormData data,
ProgressCallback? onSendProgress,
});

View File

@@ -26,7 +26,7 @@ class PoultryScienceRepositoryImp implements PoultryScienceRepository {
@override
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
required FormData data,
ProgressCallback? onSendProgress,
}) async => await datasource.submitPoultryScienceReport(
token: token,

View File

@@ -149,7 +149,6 @@ class InspectionPoultryScienceLogic extends GetxController {
preferredCameraDevice: CameraDevice.front,
maxHeight: 720,
maxWidth: 1080,
);
getFileSizeInKB(tmp?.path ?? '', tag: 'Picked');
@@ -170,20 +169,30 @@ class InspectionPoultryScienceLogic extends GetxController {
isOnUpload.value = true;
DioFormData formData = DioFormData();
var ls = [];
for (var element in _multiPartPickedImages) {
var ls = await element.finalize().toList();
formData.addFile('file', ls[0], element.filename ?? 'image.jpg');
for (var element in pickedImages) {
ls.add(
await MultipartFile.fromFile(
element.path,
filename: element.name,
),
);
}
formData.addField("lat", currentLocation.value.latitude.toString());
formData.addField("log", currentLocation.value.longitude.toString());
formData.addField("hatching_id", id.toString());
var data = FormData.fromMap({
'file':ls,
'hatching_id': id.toString(),
'lat': currentLocation.value.latitude.toString(),
'log': currentLocation.value.longitude.toString(),
});
safeCall(
call: () async => await rootLogic.poultryRepository.submitPoultryScienceReport(
token: rootLogic.tokenService.accessToken.value!,
data: formData,
data: data,
onSendProgress: (sent, total) {
presentUpload.value = calculateUploadProgress(sent: sent, total: total);
},
@@ -195,14 +204,11 @@ class InspectionPoultryScienceLogic extends GetxController {
getHatchingReport();
isOnUpload.value = false;
},
onError: (error, stackTrace) async{
onError: (error, stackTrace) async {
clearImages();
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,
);