chore: update app version to 1.3.35+32, change build mode to debug, and refactor poultry farm inspection routes and logic for improved structure

This commit is contained in:
2025-12-08 10:27:24 +03:30
parent b4cf137351
commit 9b68cb6bc3
43 changed files with 358 additions and 243 deletions

View File

@@ -1,5 +1,5 @@
sdk.dir=C:\\Users\\Housh11\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Housh11\\AppData\\Local\\Android\\sdk
flutter.sdk=C:\\src\\flutter flutter.sdk=C:\\src\\flutter
flutter.buildMode=release flutter.buildMode=debug
flutter.versionName=1.3.34 flutter.versionName=1.3.35
flutter.versionCode=31 flutter.versionCode=32

View File

@@ -1,3 +1,4 @@
import 'package:rasadyar_chicken/features/poultry_science/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart'; import 'package:rasadyar_chicken/presentation/routes/routes.dart';
String getFaUserRole(String? role) { String getFaUserRole(String? role) {
@@ -152,7 +153,7 @@ Map<String, String?> getFaUserRoleWithOnTap(String? role) {
case "Steward": case "Steward":
return {"مباشر": ChickenRoutes.initSteward}; return {"مباشر": ChickenRoutes.initSteward};
case "PoultryScience": case "PoultryScience":
return {"کارشناس طیور": ChickenRoutes.initPoultryScience}; return {"کارشناس طیور": PoultryScienceRoutes.initPoultryScience};
default: default:
return {"نامشخص": null}; return {"نامشخص": null};
} }

View File

@@ -0,0 +1,3 @@
abstract class ChickenRemoteDataSource {
Future<void> getChickens();
}

View File

@@ -0,0 +1,3 @@
abstract class PoultryFarmLocalDataSource {
// TODO: Implement local data source methods
}

View File

@@ -0,0 +1,3 @@
abstract class PoultryFarmRemoteDataSource {
Future<void> getPoultryFarms();
}

View File

@@ -0,0 +1,3 @@
abstract class PoultryFarmRepository {
// TODO: Implement repository interface
}

View File

@@ -0,0 +1,2 @@
export 'presentation/home/logic.dart';
export 'presentation/home/view.dart';

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_farm_inspection/home/logic.dart'; import 'package:rasadyar_chicken/features/poultry_farm_inspection/presentation/home/logic.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
Widget farmInfoWidget({ Widget farmInfoWidget({

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_farm_inspection/widgets/card_info.dart'; import 'package:rasadyar_chicken/features/poultry_farm_inspection/presentation/widgets/card_info.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
import '../home/logic.dart'; import '../home/logic.dart';

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_farm_inspection/widgets/card_info.dart'; import 'package:rasadyar_chicken/features/poultry_farm_inspection/presentation/widgets/card_info.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
import '../home/logic.dart'; import '../home/logic.dart';

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_farm_inspection/widgets/card_info.dart'; import 'package:rasadyar_chicken/features/poultry_farm_inspection/presentation/widgets/card_info.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
import '../home/logic.dart'; import '../home/logic.dart';

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_farm_inspection/widgets/card_info.dart'; import 'package:rasadyar_chicken/features/poultry_farm_inspection/presentation/widgets/card_info.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
import '../home/logic.dart'; import '../home/logic.dart';

View File

@@ -0,0 +1,3 @@
abstract class PoultryScienceRemoteDataSource {
Future<void> getPoultryScience();
}

View File

@@ -0,0 +1,2 @@
export 'presentation/routes/routes.dart';
export 'presentation/routes/pages.dart';

View File

@@ -1,5 +1,5 @@
import 'package:rasadyar_chicken/data/models/response/hatching/hatching_models.dart'; import 'package:rasadyar_chicken/data/models/response/hatching/hatching_models.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
class ActiveHatchingLogic extends GetxController { class ActiveHatchingLogic extends GetxController {
@@ -29,12 +29,12 @@ class ActiveHatchingLogic extends GetxController {
baseLogic.clearSearch(); baseLogic.clearSearch();
} }
Future<void> getHatchingList([bool isLoadingMore = false]) async { Future<void> getHatchingList([bool isLoadingMore = false]) async {
if (isLoadingMore) { if (isLoadingMore) {
isLoadingMoreList.value = true; isLoadingMoreList.value = true;
} else { } else {
activeHatchingList.value = Resource<PaginationModel<HatchingModel>>.loading(); activeHatchingList.value =
Resource<PaginationModel<HatchingModel>>.loading();
} }
if (searchedValue.value != null && if (searchedValue.value != null &&
@@ -55,16 +55,21 @@ class ActiveHatchingLogic extends GetxController {
), ),
onSuccess: (res) { onSuccess: (res) {
if ((res?.count ?? 0) == 0) { if ((res?.count ?? 0) == 0) {
activeHatchingList.value = Resource<PaginationModel<HatchingModel>>.empty(); activeHatchingList.value =
Resource<PaginationModel<HatchingModel>>.empty();
} else { } else {
activeHatchingList.value = Resource<PaginationModel<HatchingModel>>.success( activeHatchingList.value =
PaginationModel<HatchingModel>( Resource<PaginationModel<HatchingModel>>.success(
count: res?.count ?? 0, PaginationModel<HatchingModel>(
next: res?.next, count: res?.count ?? 0,
previous: res?.previous, next: res?.next,
results: [...(activeHatchingList.value.data?.results ?? []), ...(res?.results ?? [])], previous: res?.previous,
), results: [
); ...(activeHatchingList.value.data?.results ?? []),
...(res?.results ?? []),
],
),
);
} }
}, },
); );
@@ -78,6 +83,4 @@ class ActiveHatchingLogic extends GetxController {
currentPage.value = 1; currentPage.value = 1;
await getHatchingList(); await getHatchingList();
} }
} }

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/hatching/hatching_models.dart'; import 'package:rasadyar_chicken/data/models/response/hatching/hatching_models.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/active_hatching/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/active_hatching/logic.dart';
import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart'; import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart'; import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';

View File

@@ -1,14 +1,15 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/poultry_farm/poultry_farm.dart'; import 'package:rasadyar_chicken/data/models/response/poultry_farm/poultry_farm.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/home/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/home/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
class FarmLogic extends GetxController { class FarmLogic extends GetxController {
List<String> routes = ['اقدام', 'فارم ها']; List<String> routes = ['اقدام', 'فارم ها'];
PoultryScienceRootLogic rootLogic = Get.find<PoultryScienceRootLogic>(); PoultryScienceRootLogic rootLogic = Get.find<PoultryScienceRootLogic>();
BasePageLogic baseLogic = Get.find<BasePageLogic>(); BasePageLogic baseLogic = Get.find<BasePageLogic>();
final PoultryScienceHomeLogic _homeLogic = Get.find<PoultryScienceHomeLogic>(); final PoultryScienceHomeLogic _homeLogic =
Get.find<PoultryScienceHomeLogic>();
RxList<InformationTagData> tagInfo = <InformationTagData>[ RxList<InformationTagData> tagInfo = <InformationTagData>[
InformationTagData( InformationTagData(
labelTitle: 'کل فارم ها', labelTitle: 'کل فارم ها',
@@ -75,17 +76,18 @@ class FarmLogic extends GetxController {
farmList.value = Resource<PaginationModel<PoultryFarm>>.loading(); farmList.value = Resource<PaginationModel<PoultryFarm>>.loading();
} }
await safeCall( await safeCall(
call: () async => await rootLogic.poultryRepository.getPoultryScienceFarmList( call: () async =>
token: rootLogic.tokenService.accessToken.value!, await rootLogic.poultryRepository.getPoultryScienceFarmList(
queryParameters: buildQueryParams( token: rootLogic.tokenService.accessToken.value!,
queryParams: {'type': 'farm'}, queryParameters: buildQueryParams(
role: 'PoultryScience', queryParams: {'type': 'farm'},
pageSize: 50, role: 'PoultryScience',
search: 'filter', pageSize: 50,
value: '', search: 'filter',
page: currentPage.value, value: '',
), page: currentPage.value,
), ),
),
onSuccess: (res) { onSuccess: (res) {
if ((res?.count ?? 0) == 0) { if ((res?.count ?? 0) == 0) {
farmList.value = Resource<PaginationModel<PoultryFarm>>.empty(); farmList.value = Resource<PaginationModel<PoultryFarm>>.empty();
@@ -95,7 +97,10 @@ class FarmLogic extends GetxController {
count: res?.count ?? 0, count: res?.count ?? 0,
next: res?.next, next: res?.next,
previous: res?.previous, previous: res?.previous,
results: [...(farmList.value.data?.results ?? []), ...?res?.results], results: [
...(farmList.value.data?.results ?? []),
...?res?.results,
],
), ),
); );
} }

View File

@@ -1,6 +1,6 @@
import 'package:rasadyar_chicken/data/models/response/poultry_order/poultry_order.dart'; import 'package:rasadyar_chicken/data/models/response/poultry_order/poultry_order.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/killing_registration/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/killing_registration/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
class GenocideLogic extends GetxController { class GenocideLogic extends GetxController {
@@ -44,7 +44,8 @@ class GenocideLogic extends GetxController {
if (loadingMore) { if (loadingMore) {
isLoadingMore.value = true; isLoadingMore.value = true;
} else { } else {
poultryOrderList.value = Resource<PaginationModel<PoultryOrder>>.loading(); poultryOrderList.value =
Resource<PaginationModel<PoultryOrder>>.loading();
} }
if (searchedValue.value != null && if (searchedValue.value != null &&
@@ -69,20 +70,25 @@ class GenocideLogic extends GetxController {
onSuccess: (res) async { onSuccess: (res) async {
await Future.delayed(Duration(milliseconds: 500)); await Future.delayed(Duration(milliseconds: 500));
if ((res?.count ?? 0) == 0) { if ((res?.count ?? 0) == 0) {
poultryOrderList.value = Resource<PaginationModel<PoultryOrder>>.empty(); poultryOrderList.value =
Resource<PaginationModel<PoultryOrder>>.empty();
} else { } else {
if (loadingMore) { if (loadingMore) {
poultryOrderList.value = Resource<PaginationModel<PoultryOrder>>.success( poultryOrderList.value =
PaginationModel<PoultryOrder>( Resource<PaginationModel<PoultryOrder>>.success(
count: res?.count ?? 0, PaginationModel<PoultryOrder>(
next: res?.next, count: res?.count ?? 0,
previous: res?.previous, next: res?.next,
results: [...(poultryOrderList.value.data?.results ?? []), ...(res?.results ?? [])], previous: res?.previous,
), results: [
); ...(poultryOrderList.value.data?.results ?? []),
...(res?.results ?? []),
],
),
);
} else { } else {
poultryOrderList.value =
poultryOrderList.value = Resource<PaginationModel<PoultryOrder>>.success(res!); Resource<PaginationModel<PoultryOrder>>.success(res!);
} }
} }
}, },
@@ -134,10 +140,8 @@ class GenocideLogic extends GetxController {
} }
} }
Future<void> onRefresh() async { Future<void> onRefresh() async {
currentPage.value = 1; currentPage.value = 1;
await getPoultryOrderList(); await getPoultryOrderList();
} }
} }

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/poultry_order/poultry_order.dart'; import 'package:rasadyar_chicken/data/models/response/poultry_order/poultry_order.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/killing_registration/view.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/killing_registration/view.dart';
import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart'; import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart';
import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart'; import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart';
import 'package:rasadyar_chicken/presentation/widget/filter_bottom_sheet.dart'; import 'package:rasadyar_chicken/presentation/widget/filter_bottom_sheet.dart';
@@ -81,7 +82,6 @@ class GenocidePage extends GetView<GenocideLogic> {
itemCount: data.value.data?.results?.length ?? 0, itemCount: data.value.data?.results?.length ?? 0,
separatorBuilder: (context, index) => SizedBox(height: 8.h), separatorBuilder: (context, index) => SizedBox(height: 8.h),
onLoadMore: () async => controller.getPoultryOrderList(true), onLoadMore: () async => controller.getPoultryOrderList(true),
); );
}, controller.poultryOrderList); }, controller.poultryOrderList);
} }
@@ -89,7 +89,10 @@ class GenocidePage extends GetView<GenocideLogic> {
Container itemListExpandedWidget(PoultryOrder item) { Container itemListExpandedWidget(PoultryOrder item) {
return Container( return Container(
padding: EdgeInsets.symmetric(horizontal: 8), padding: EdgeInsets.symmetric(horizontal: 8),
decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(8)), decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8),
),
child: Column( child: Column(
spacing: 8, spacing: 8,
children: [ children: [
@@ -151,8 +154,14 @@ class GenocidePage extends GetView<GenocideLogic> {
buildRow(title: 'نوع کشتار ', value: controller.getKillType(item)), buildRow(title: 'نوع کشتار ', value: controller.getKillType(item)),
buildRow(title: 'درخواست', value: controller.getRequestType(item)), buildRow(title: 'درخواست', value: controller.getRequestType(item)),
buildRow(title: 'میانگین وزنی', value: '${(item.indexWeight)} (کیلوگرم)'), buildRow(
buildRow(title: 'قیمت مرغدار', value: '${item.amount.separatedByComma} (ریال)'), title: 'میانگین وزنی',
value: '${(item.indexWeight)} (کیلوگرم)',
),
buildRow(
title: 'قیمت مرغدار',
value: '${item.amount.separatedByComma} (ریال)',
),
buildRow( buildRow(
title: 'مانده در سالن ', title: 'مانده در سالن ',
value: '${item.hatching?.leftOver.separatedByComma ?? 0} (قطعه)', value: '${item.hatching?.leftOver.separatedByComma ?? 0} (قطعه)',
@@ -169,7 +178,10 @@ class GenocidePage extends GetView<GenocideLogic> {
icon: Assets.vec.trashSvg.svg( icon: Assets.vec.trashSvg.svg(
width: 16.w, width: 16.w,
height: 16.h, height: 16.h,
colorFilter: ColorFilter.mode(AppColor.error, BlendMode.srcIn), colorFilter: ColorFilter.mode(
AppColor.error,
BlendMode.srcIn,
),
), ),
textStyle: AppFonts.yekan16Bold.copyWith(color: AppColor.error), textStyle: AppFonts.yekan16Bold.copyWith(color: AppColor.error),
borderColor: AppColor.error, borderColor: AppColor.error,

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rasadyar_chicken/data/models/response/poultry_science/home_poultry_science/home_poultry_science_model.dart'; import 'package:rasadyar_chicken/data/models/response/poultry_science/home_poultry_science/home_poultry_science_model.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_core/presentation/widget/custom/information_card_widget.dart'; import 'package:rasadyar_core/presentation/widget/custom/information_card_widget.dart';
@@ -158,7 +158,8 @@ class PoultryScienceHomeLogic extends GetxController {
); );
case 'حجم کشتار شده': case 'حجم کشتار شده':
return tag.copyWith( return tag.copyWith(
value: result.hatchingKilledQuantity?.separatedByCommaFa ?? '0', value:
result.hatchingKilledQuantity?.separatedByCommaFa ?? '0',
isLoading: false, isLoading: false,
); );
default: default:

View File

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

View File

@@ -7,8 +7,8 @@ import 'package:rasadyar_chicken/data/models/response/kill_house_poultry/kill_ho
import 'package:rasadyar_chicken/data/models/response/kill_request_poultry/kill_request_poultry.dart'; import 'package:rasadyar_chicken/data/models/response/kill_request_poultry/kill_request_poultry.dart';
import 'package:rasadyar_chicken/data/models/response/poultry_hatching/poultry_hatching.dart'; import 'package:rasadyar_chicken/data/models/response/poultry_hatching/poultry_hatching.dart';
import 'package:rasadyar_chicken/data/models/response/sell_for_freezing/sell_for_freezing.dart'; import 'package:rasadyar_chicken/data/models/response/sell_for_freezing/sell_for_freezing.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/genocide/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/genocide/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
class KillingRegistrationLogic extends GetxController { class KillingRegistrationLogic extends GetxController {
@@ -26,7 +26,9 @@ class KillingRegistrationLogic extends GetxController {
TextEditingController quantityKillsController = TextEditingController(); TextEditingController quantityKillsController = TextEditingController();
RxBool quantityKillsIsCompleted = false.obs; RxBool quantityKillsIsCompleted = false.obs;
TextEditingController quantityLoseController = TextEditingController(text: 0.toString()); TextEditingController quantityLoseController = TextEditingController(
text: 0.toString(),
);
TextEditingController averageWeightKillsController = TextEditingController(); TextEditingController averageWeightKillsController = TextEditingController();
RxBool averageWeightKillsIsCompleted = false.obs; RxBool averageWeightKillsIsCompleted = false.obs;
TextEditingController priceFreeSaleController = TextEditingController(); TextEditingController priceFreeSaleController = TextEditingController();
@@ -40,25 +42,23 @@ class KillingRegistrationLogic extends GetxController {
RxBool isFreeSale = false.obs; RxBool isFreeSale = false.obs;
//step 1 //step 1
Rx<Resource<List<AllPoultry>>> allPoultryList = Resource<List<AllPoultry>>.loading().obs; Rx<Resource<List<AllPoultry>>> allPoultryList =
Resource<List<AllPoultry>>.loading().obs;
Rxn<AllPoultry> selectedPoultry = Rxn(); Rxn<AllPoultry> selectedPoultry = Rxn();
//step 2 //step 2
Rx<Resource<List<KillRequestPoultry>>> poultryList = Resource<List<KillRequestPoultry>>.success( Rx<Resource<List<KillRequestPoultry>>> poultryList =
[], Resource<List<KillRequestPoultry>>.success([]).obs;
).obs;
Rxn<KillRequestPoultry> selectedKillRequestPoultry = Rxn(); Rxn<KillRequestPoultry> selectedKillRequestPoultry = Rxn();
//step 3 //step 3
Rx<Resource<List<PoultryHatching>>> poultryHatchingList = Resource<List<PoultryHatching>>.success( Rx<Resource<List<PoultryHatching>>> poultryHatchingList =
[], Resource<List<PoultryHatching>>.success([]).obs;
).obs;
Rxn<PoultryHatching> selectedPoultryHatching = Rxn(); Rxn<PoultryHatching> selectedPoultryHatching = Rxn();
//step 5 //step 5
Rx<Resource<List<KillHousePoultry>>> killHouseList = Resource<List<KillHousePoultry>>.success( Rx<Resource<List<KillHousePoultry>>> killHouseList =
[], Resource<List<KillHousePoultry>>.success([]).obs;
).obs;
Rxn<KillHousePoultry> selectedKillHouse = Rxn(); Rxn<KillHousePoultry> selectedKillHouse = Rxn();
@override @override
@@ -82,7 +82,12 @@ class KillingRegistrationLogic extends GetxController {
}); });
everAll( everAll(
[selectedPoultry, selectedKillRequestPoultry, selectedPoultryHatching, selectedKillHouse], [
selectedPoultry,
selectedKillRequestPoultry,
selectedPoultryHatching,
selectedKillHouse,
],
(callback) { (callback) {
checkSubmitButton(); checkSubmitButton();
}, },
@@ -104,12 +109,15 @@ class KillingRegistrationLogic extends GetxController {
void priceListener() { void priceListener() {
quantityKillsController.addListener(() { quantityKillsController.addListener(() {
quantityKillsIsCompleted.value = quantityKillsController.text.trim().isNotEmpty; quantityKillsIsCompleted.value = quantityKillsController.text
.trim()
.isNotEmpty;
if (averageWeightKillsController.text.isNotEmpty && if (averageWeightKillsController.text.isNotEmpty &&
quantityKillsController.text.trim().isNotEmpty) { quantityKillsController.text.trim().isNotEmpty) {
generatedApprovedPrice.value = calculateApprovedPrice().toInt(); generatedApprovedPrice.value = calculateApprovedPrice().toInt();
priceFreeSaleController.text = generatedApprovedPrice.value.separatedByComma; priceFreeSaleController.text =
generatedApprovedPrice.value.separatedByComma;
checkSubmitButton(); checkSubmitButton();
} else { } else {
@@ -120,12 +128,15 @@ class KillingRegistrationLogic extends GetxController {
}); });
averageWeightKillsController.addListener(() { averageWeightKillsController.addListener(() {
averageWeightKillsIsCompleted.value = averageWeightKillsController.text.trim().isNotEmpty; averageWeightKillsIsCompleted.value = averageWeightKillsController.text
.trim()
.isNotEmpty;
if (averageWeightKillsController.text.trim().isNotEmpty && if (averageWeightKillsController.text.trim().isNotEmpty &&
quantityKillsController.text.trim().isNotEmpty) { quantityKillsController.text.trim().isNotEmpty) {
generatedApprovedPrice.value = calculateApprovedPrice().toInt(); generatedApprovedPrice.value = calculateApprovedPrice().toInt();
priceFreeSaleController.text = generatedApprovedPrice.value.separatedByComma; priceFreeSaleController.text =
generatedApprovedPrice.value.separatedByComma;
checkSubmitButton(); checkSubmitButton();
} else { } else {
generatedApprovedPrice.value = 0; generatedApprovedPrice.value = 0;
@@ -177,7 +188,9 @@ class KillingRegistrationLogic extends GetxController {
await safeCall( await safeCall(
call: () async => await rootLogic.poultryRepository.getAllPoultry( call: () async => await rootLogic.poultryRepository.getAllPoultry(
token: tokenService.accessToken.value ?? '', token: tokenService.accessToken.value ?? '',
queryParameters: buildRawQueryParams(role: gService.getRole(Module.chicken)), queryParameters: buildRawQueryParams(
role: gService.getRole(Module.chicken),
),
), ),
onSuccess: (result) { onSuccess: (result) {
if (result != null) { if (result != null) {
@@ -185,7 +198,9 @@ class KillingRegistrationLogic extends GetxController {
} }
}, },
onError: (error, stackTrace) { onError: (error, stackTrace) {
allPoultryList.value = Resource<List<AllPoultry>>.error('$error -- $stackTrace'); allPoultryList.value = Resource<List<AllPoultry>>.error(
'$error -- $stackTrace',
);
}, },
); );
} }
@@ -230,11 +245,15 @@ class KillingRegistrationLogic extends GetxController {
), ),
onSuccess: (result) { onSuccess: (result) {
if (result != null) { if (result != null) {
poultryList.value = Resource<List<KillRequestPoultry>>.success(result); poultryList.value = Resource<List<KillRequestPoultry>>.success(
result,
);
} }
}, },
onError: (error, stackTrace) { onError: (error, stackTrace) {
poultryList.value = Resource<List<KillRequestPoultry>>.error('$error -- $stackTrace'); poultryList.value = Resource<List<KillRequestPoultry>>.error(
'$error -- $stackTrace',
);
}, },
); );
} }
@@ -250,11 +269,15 @@ class KillingRegistrationLogic extends GetxController {
), ),
onSuccess: (result) { onSuccess: (result) {
if (result != null) { if (result != null) {
poultryHatchingList.value = Resource<List<PoultryHatching>>.success(result); poultryHatchingList.value = Resource<List<PoultryHatching>>.success(
result,
);
} }
}, },
onError: (error, stackTrace) { onError: (error, stackTrace) {
poultryHatchingList.value = Resource<List<PoultryHatching>>.error('$error -- $stackTrace'); poultryHatchingList.value = Resource<List<PoultryHatching>>.error(
'$error -- $stackTrace',
);
}, },
); );
} }
@@ -265,16 +288,23 @@ class KillingRegistrationLogic extends GetxController {
call: () async => await rootLogic.poultryRepository.getKillHouseList( call: () async => await rootLogic.poultryRepository.getKillHouseList(
token: tokenService.accessToken.value ?? '', token: tokenService.accessToken.value ?? '',
queryParameters: buildRawQueryParams( queryParameters: buildRawQueryParams(
queryParams: {'show_poultry': '', 'date': DateTime.now().formattedDashedGregorian}, queryParams: {
'show_poultry': '',
'date': DateTime.now().formattedDashedGregorian,
},
), ),
), ),
onSuccess: (result) { onSuccess: (result) {
if (result != null) { if (result != null) {
killHouseList.value = Resource<List<KillHousePoultry>>.success(result); killHouseList.value = Resource<List<KillHousePoultry>>.success(
result,
);
} }
}, },
onError: (error, stackTrace) { onError: (error, stackTrace) {
killHouseList.value = Resource<List<KillHousePoultry>>.error('$error -- $stackTrace'); killHouseList.value = Resource<List<KillHousePoultry>>.error(
'$error -- $stackTrace',
);
}, },
); );
} }
@@ -311,7 +341,11 @@ class KillingRegistrationLogic extends GetxController {
selectedPoultryHatching.value != null && selectedPoultryHatching.value != null &&
quantityKillsController.text.isNotEmpty && quantityKillsController.text.isNotEmpty &&
averageWeightKillsController.text.isNotEmpty && averageWeightKillsController.text.isNotEmpty &&
((selectedKillRequestPoultry.value?.provinceAllowChooseKillHouse?.mandatory ?? false) ((selectedKillRequestPoultry
.value
?.provinceAllowChooseKillHouse
?.mandatory ??
false)
? selectedKillHouse.value != null ? selectedKillHouse.value != null
: true); : true);
} }
@@ -352,10 +386,11 @@ class KillingRegistrationLogic extends GetxController {
); );
await safeCall( await safeCall(
call: () async => await rootLogic.poultryRepository.submitKillRegistration( call: () async =>
token: tokenService.accessToken.value ?? '', await rootLogic.poultryRepository.submitKillRegistration(
request: registrationRequest, token: tokenService.accessToken.value ?? '',
), request: registrationRequest,
),
onSuccess: (result) async { onSuccess: (result) async {
defaultShowSuccessMessage( defaultShowSuccessMessage(
'ثبت با موفقیت انجام شد', 'ثبت با موفقیت انجام شد',

View File

@@ -1,3 +1,4 @@
import 'package:rasadyar_chicken/features/poultry_science/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart'; import 'package:rasadyar_chicken/presentation/routes/routes.dart';
import 'package:rasadyar_core/core.dart'; import 'package:rasadyar_core/core.dart';
@@ -6,29 +7,33 @@ class PoultryActionItem {
final String route; final String route;
final String icon; final String icon;
PoultryActionItem({required this.title, required this.route, required this.icon}); PoultryActionItem({
required this.title,
required this.route,
required this.icon,
});
} }
class PoultryActionLogic extends GetxController { class PoultryActionLogic extends GetxController {
RxList<PoultryActionItem> items = [ RxList<PoultryActionItem> items = [
PoultryActionItem( PoultryActionItem(
title: "بازرسی", title: "بازرسی",
route: ChickenRoutes.inspectionPoultryScience, route: PoultryScienceRoutes.inspectionPoultryScience,
icon: Assets.vec.chickenInspectionSvg.path, icon: Assets.vec.chickenInspectionSvg.path,
), ),
PoultryActionItem( PoultryActionItem(
title: "ثبت کشتار", title: "ثبت کشتار",
route: ChickenRoutes.genocidePoultryScience, route: PoultryScienceRoutes.genocidePoultryScience,
icon: Assets.vec.registerKillSvg.path, icon: Assets.vec.registerKillSvg.path,
), ),
PoultryActionItem( PoultryActionItem(
title: "فارم ها", title: "فارم ها",
route: ChickenRoutes.farmPoultryScience, route: PoultryScienceRoutes.farmPoultryScience,
icon: Assets.vec.farmsSvg.path, icon: Assets.vec.farmsSvg.path,
), ),
PoultryActionItem( PoultryActionItem(
title: "جوجه ریزی فعال", title: "جوجه ریزی فعال",
route: ChickenRoutes.activeHatchingPoultryScience, route: PoultryScienceRoutes.activeHatchingPoultryScience,
icon: Assets.vec.activeFramSvg.path, icon: Assets.vec.activeFramSvg.path,
), ),

View File

@@ -2,9 +2,10 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:rasadyar_chicken/data/di/chicken_di.dart'; import 'package:rasadyar_chicken/data/di/chicken_di.dart';
import 'package:rasadyar_chicken/data/repositories/poultry_science/poultry_science_repository.dart'; import 'package:rasadyar_chicken/data/repositories/poultry_science/poultry_science_repository.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/home/view.dart';
import 'package:rasadyar_chicken/presentation/pages/common/profile/view.dart'; import 'package:rasadyar_chicken/presentation/pages/common/profile/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/home/view.dart';
import 'package:rasadyar_chicken/presentation/routes/pages.dart'; import 'package:rasadyar_chicken/presentation/routes/pages.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart'; import 'package:rasadyar_chicken/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart'; import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart';
import 'package:rasadyar_chicken/presentation/utils/utils.dart'; import 'package:rasadyar_chicken/presentation/utils/utils.dart';
@@ -24,13 +25,13 @@ class PoultryScienceRootLogic extends GetxController {
RxInt currentPage = 1.obs; RxInt currentPage = 1.obs;
final pages = [ final pages = [
Navigator( Navigator(
key: Get.nestedKey(poultryFirstKey), key: Get.nestedKey(poultryFirstKey),
onGenerateRoute: (settings) { onGenerateRoute: (settings) {
final page = ChickenPages.pages.firstWhere( final page = ChickenPages.pages.firstWhere(
(e) => e.name == settings.name, (e) => e.name == settings.name,
orElse: () => ChickenPages.pages.firstWhere( orElse: () => ChickenPages.pages.firstWhere(
(e) => e.name == ChickenRoutes.actionPoultryScience, (e) => e.name == PoultryScienceRoutes.actionPoultryScience,
), ),
); );
@@ -39,8 +40,6 @@ class PoultryScienceRootLogic extends GetxController {
), ),
PoultryScienceHomePage(), PoultryScienceHomePage(),
ProfilePage(), ProfilePage(),
]; ];
@override @override
@@ -49,7 +48,6 @@ class PoultryScienceRootLogic extends GetxController {
poultryRepository = diChicken.get<PoultryScienceRepository>(); poultryRepository = diChicken.get<PoultryScienceRepository>();
} }
void toggleExpanded(int index) { void toggleExpanded(int index) {
if (homeExpandedList.keys.contains(index)) { if (homeExpandedList.keys.contains(index)) {
homeExpandedList.remove(index); homeExpandedList.remove(index);
@@ -81,7 +79,7 @@ class PoultryScienceRootLogic extends GetxController {
} }
} }
void popBackTaped() async{ void popBackTaped() async {
final nestedKeyId = getNestedKey(); final nestedKeyId = getNestedKey();
GlobalKey<NavigatorState>? currentNestedKey = Get.nestedKey(nestedKeyId); GlobalKey<NavigatorState>? currentNestedKey = Get.nestedKey(nestedKeyId);

View File

@@ -0,0 +1,93 @@
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/active_hatching/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/active_hatching/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/farm/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/farm/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/genocide/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/genocide/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/home/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/inspection/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/inspection/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/killing_registration/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/killing_registration/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/poultry_action/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/poultry_action/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/logic.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/pages/root/view.dart';
import 'package:rasadyar_chicken/features/poultry_science/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/routes/global_binding.dart';
import 'package:rasadyar_core/core.dart';
class PoultrySciencePages {
PoultrySciencePages._();
static List<GetPage> get pages => [
GetPage(
name: PoultryScienceRoutes.initPoultryScience,
page: () => PoultryScienceRootPage(),
middlewares: [AuthMiddleware()],
bindings: [
GlobalBinding(),
BindingsBuilder(() {
Get.lazyPut(() => PoultryScienceRootLogic());
Get.lazyPut(() => PoultryScienceHomeLogic());
Get.lazyPut(() => PoultryActionLogic());
}),
],
),
GetPage(
name: PoultryScienceRoutes.inspectionPoultryScience,
page: () => InspectionPoultrySciencePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => InspectionPoultryScienceLogic());
}),
),
GetPage(
name: PoultryScienceRoutes.actionPoultryScience,
page: () => PoultryActionPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => PoultryActionLogic());
}),
),
GetPage(
name: PoultryScienceRoutes.farmPoultryScience,
page: () => FarmPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => FarmLogic());
Get.lazyPut(() => PoultryScienceHomeLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
}),
),
GetPage(
name: PoultryScienceRoutes.activeHatchingPoultryScience,
page: () => ActiveHatchingPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => ActiveHatchingLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
}),
),
GetPage(
name: PoultryScienceRoutes.genocidePoultryScience,
page: () => GenocidePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => GenocideLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
Get.lazyPut(() => KillingRegistrationLogic(), fenix: true);
}),
),
GetPage(
name: PoultryScienceRoutes.killingRegistrationPoultryScience,
page: () => KillingRegistrationPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => KillingRegistrationLogic());
Get.lazyPut(() => GenocideLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
}),
),
];
}

View File

@@ -0,0 +1,13 @@
sealed class PoultryScienceRoutes {
PoultryScienceRoutes._();
static const _base = '/chicken/poultryScience';
static const initPoultryScience = '$_base/';
static const actionPoultryScience = '$_base/action';
static const inspectionPoultryScience = '$_base/inspection';
static const farmPoultryScience = '$_base/farm';
static const activeHatchingPoultryScience = '$_base/activeHatching';
static const genocidePoultryScience = '$_base/genocidePoultryScience';
static const killingRegistrationPoultryScience =
'$genocidePoultryScience/KillingRegistration';
}

View File

@@ -1,2 +0,0 @@
export 'home/logic.dart';
export 'home/view.dart';

View File

@@ -8,22 +8,8 @@ import 'package:rasadyar_chicken/presentation/pages/kill_house/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/kill_house/root/view.dart'; import 'package:rasadyar_chicken/presentation/pages/kill_house/root/view.dart';
import 'package:rasadyar_chicken/presentation/pages/kill_house/submit_request/logic.dart'; import 'package:rasadyar_chicken/presentation/pages/kill_house/submit_request/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/kill_house/submit_request/view.dart'; import 'package:rasadyar_chicken/presentation/pages/kill_house/submit_request/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_farm_inspection/poultry_farm_inspection.dart'; import 'package:rasadyar_chicken/features/poultry_farm_inspection/poultry_farm_inspection.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/active_hatching/logic.dart'; import 'package:rasadyar_chicken/features/poultry_science/poultry_science.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/active_hatching/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/farm/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/farm/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/genocide/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/genocide/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/home/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/inspection/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/inspection/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/killing_registration/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/killing_registration/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/poultry_action/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/poultry_action/view.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/logic.dart';
import 'package:rasadyar_chicken/presentation/pages/poultry_science/root/view.dart';
import 'package:rasadyar_chicken/presentation/pages/steward/steward.dart'; import 'package:rasadyar_chicken/presentation/pages/steward/steward.dart';
import 'package:rasadyar_chicken/presentation/routes/global_binding.dart'; import 'package:rasadyar_chicken/presentation/routes/global_binding.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart'; import 'package:rasadyar_chicken/presentation/routes/routes.dart';
@@ -159,76 +145,7 @@ sealed class ChickenPages {
//endregion //endregion
//region Poultry science Pages //region Poultry science Pages
GetPage( ...PoultrySciencePages.pages,
name: ChickenRoutes.initPoultryScience,
page: () => PoultryScienceRootPage(),
middlewares: [AuthMiddleware()],
bindings: [
GlobalBinding(),
BindingsBuilder(() {
Get.lazyPut(() => PoultryScienceRootLogic());
Get.lazyPut(() => PoultryScienceHomeLogic());
Get.lazyPut(() => PoultryActionLogic());
}),
],
),
GetPage(
name: ChickenRoutes.inspectionPoultryScience,
page: () => InspectionPoultrySciencePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => InspectionPoultryScienceLogic());
}),
),
GetPage(
name: ChickenRoutes.actionPoultryScience,
page: () => PoultryActionPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => PoultryActionLogic());
}),
),
GetPage(
name: ChickenRoutes.farmPoultryScience,
page: () => FarmPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => FarmLogic());
Get.lazyPut(() => PoultryScienceHomeLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
}),
),
GetPage(
name: ChickenRoutes.activeHatchingPoultryScience,
page: () => ActiveHatchingPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => ActiveHatchingLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
}),
),
GetPage(
name: ChickenRoutes.genocidePoultryScience,
page: () => GenocidePage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => GenocideLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
Get.lazyPut(() => KillingRegistrationLogic(), fenix: true);
}),
),
GetPage(
name: ChickenRoutes.killingRegistrationPoultryScience,
page: () => KillingRegistrationPage(),
middlewares: [AuthMiddleware()],
binding: BindingsBuilder(() {
Get.lazyPut(() => KillingRegistrationLogic());
Get.lazyPut(() => GenocideLogic());
Get.lazyPut(() => PoultryScienceRootLogic());
}),
),
//endregion //endregion
//region Poultry Farm Inspection //region Poultry Farm Inspection

View File

@@ -21,19 +21,8 @@ sealed class ChickenRoutes {
//sales //sales
static const salesInProvinceSteward = '$saleSteward/SalesInProvince'; static const salesInProvinceSteward = '$saleSteward/SalesInProvince';
static const salesOutOfProvinceSteward = '$saleSteward/saleOutOfProvince'; static const salesOutOfProvinceSteward = '$saleSteward/saleOutOfProvince';
static const salesOutOfProvinceBuyerSteward = '$saleSteward/saleOutOfProvinceBuyer '; static const salesOutOfProvinceBuyerSteward =
'$saleSteward/saleOutOfProvinceBuyer ';
//endregion
//region Poultry Science Routes
static const _poultryScience = '$_base/poultryScience';
static const initPoultryScience = '$_poultryScience/';
static const actionPoultryScience = '$_poultryScience/action';
static const inspectionPoultryScience = '$_poultryScience/inspection';
static const farmPoultryScience = '$_poultryScience/farm';
static const activeHatchingPoultryScience = '$_poultryScience/activeHatching';
static const genocidePoultryScience = '$_poultryScience/genocidePoultryScience';
static const killingRegistrationPoultryScience = '$genocidePoultryScience/KillingRegistration';
//endregion //endregion

View File

@@ -1,7 +1,7 @@
name: rasadyar_app name: rasadyar_app
description: "A new Flutter project." description: "A new Flutter project."
publish_to: 'none' publish_to: 'none'
version: 1.3.34+31 version: 1.3.35+32
environment: environment:
sdk: ^3.9.2 sdk: ^3.9.2