Merge branch with resolved conflicts - restructured features and added new modules

This commit is contained in:
2025-12-17 10:26:39 +03:30
484 changed files with 55236 additions and 4255 deletions

View File

@@ -1,7 +1,8 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/hatching/hatching_models.dart';
import 'package:rasadyar_chicken/data/models/response/hatching_report/hatching_report.dart';
import 'package:rasadyar_chicken/features/poultry_science/root/logic.dart';
=
import 'package:rasadyar_chicken/features/poultry_science/data/model/response/hatching/hatching_models.dart';
import 'package:rasadyar_chicken/features/poultry_science/data/model/response/hatching_report/hatching_report.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_core/core.dart';
class InspectionPoultryScienceLogic extends GetxController {
@@ -14,7 +15,10 @@ class InspectionPoultryScienceLogic extends GetxController {
PoultryScienceRootLogic rootLogic = Get.find<PoultryScienceRootLogic>();
Rx<LatLng> currentLocation = LatLng(34.798315281272544, 48.51479142983491).obs;
Rx<LatLng> currentLocation = LatLng(
34.798315281272544,
48.51479142983491,
).obs;
final RxBool isLoadingMoreAllocationsMade = false.obs;
RxInt currentPage = 1.obs;
@@ -104,7 +108,10 @@ class InspectionPoultryScienceLogic extends GetxController {
count: res?.count ?? 0,
next: res?.next,
previous: res?.previous,
results: [...(hatchingList.value.data?.results ?? []), ...(res?.results ?? [])],
results: [
...(hatchingList.value.data?.results ?? []),
...(res?.results ?? []),
],
),
);
}
@@ -116,7 +123,8 @@ class InspectionPoultryScienceLogic extends GetxController {
if (isLoadingMore) {
isLoadingMoreAllocationsMade.value = true;
} else {
hatchingReportList.value = Resource<PaginationModel<HatchingReport>>.loading();
hatchingReportList.value =
Resource<PaginationModel<HatchingReport>>.loading();
}
if (searchedValue.value != null &&
@@ -126,30 +134,36 @@ class InspectionPoultryScienceLogic extends GetxController {
}
safeCall(
call: () async => await rootLogic.poultryRepository.getHatchingPoultryReport(
token: rootLogic.tokenService.accessToken.value!,
queryParameters: buildQueryParams(
role: 'PoultryScience',
pageSize: 50,
search: 'filter',
value: searchedValue.value,
fromDate: fromDateFilter.value.toDateTime(),
toDate: toDateFilter.value.toDateTime(),
page: currentPage.value,
),
),
call: () async =>
await rootLogic.poultryRepository.getHatchingPoultryReport(
token: rootLogic.tokenService.accessToken.value!,
queryParameters: buildQueryParams(
role: 'PoultryScience',
pageSize: 50,
search: 'filter',
value: searchedValue.value,
fromDate: fromDateFilter.value.toDateTime(),
toDate: toDateFilter.value.toDateTime(),
page: currentPage.value,
),
),
onSuccess: (res) {
if ((res?.count ?? 0) == 0) {
hatchingReportList.value = Resource<PaginationModel<HatchingReport>>.empty();
hatchingReportList.value =
Resource<PaginationModel<HatchingReport>>.empty();
} else {
hatchingReportList.value = Resource<PaginationModel<HatchingReport>>.success(
PaginationModel<HatchingReport>(
count: res?.count ?? 0,
next: res?.next,
previous: res?.previous,
results: [...(hatchingReportList.value.data?.results ?? []), ...(res?.results ?? [])],
),
);
hatchingReportList.value =
Resource<PaginationModel<HatchingReport>>.success(
PaginationModel<HatchingReport>(
count: res?.count ?? 0,
next: res?.next,
previous: res?.previous,
results: [
...(hatchingReportList.value.data?.results ?? []),
...(res?.results ?? []),
],
),
);
}
},
);
@@ -175,7 +189,10 @@ class InspectionPoultryScienceLogic extends GetxController {
isOnUpload.value = true;
final tmpFiles = await Future.wait(
pickedImages.map((element) => MultipartFile.fromFile(element.path, filename: element.name)),
pickedImages.map(
(element) =>
MultipartFile.fromFile(element.path, filename: element.name),
),
);
var data = FormData.fromMap({
@@ -186,13 +203,17 @@ class InspectionPoultryScienceLogic extends GetxController {
});
safeCall(
call: () async => await rootLogic.poultryRepository.submitPoultryScienceReport(
token: rootLogic.tokenService.accessToken.value!,
data: data,
onSendProgress: (sent, total) {
presentUpload.value = calculateUploadProgress(sent: sent, total: total);
},
),
call: () async =>
await rootLogic.poultryRepository.submitPoultryScienceReport(
token: rootLogic.tokenService.accessToken.value!,
data: data,
onSendProgress: (sent, total) {
presentUpload.value = calculateUploadProgress(
sent: sent,
total: total,
);
},
),
onSuccess: (res) {
closeBottomSheet();
clearImages();
@@ -204,7 +225,9 @@ class InspectionPoultryScienceLogic extends GetxController {
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,
);