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:
@@ -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
|
||||||
@@ -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};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
abstract class ChickenRemoteDataSource {
|
||||||
|
Future<void> getChickens();
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
abstract class PoultryFarmLocalDataSource {
|
||||||
|
// TODO: Implement local data source methods
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
abstract class PoultryFarmRemoteDataSource {
|
||||||
|
Future<void> getPoultryFarms();
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
abstract class PoultryFarmRepository {
|
||||||
|
// TODO: Implement repository interface
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export 'presentation/home/logic.dart';
|
||||||
|
export 'presentation/home/view.dart';
|
||||||
@@ -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({
|
||||||
@@ -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';
|
||||||
@@ -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';
|
||||||
@@ -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';
|
||||||
@@ -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';
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
abstract class PoultryScienceRemoteDataSource {
|
||||||
|
Future<void> getPoultryScience();
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export 'presentation/routes/routes.dart';
|
||||||
|
export 'presentation/routes/pages.dart';
|
||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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';
|
||||||
@@ -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,
|
||||||
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -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();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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,
|
||||||
@@ -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:
|
||||||
@@ -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,
|
||||||
);
|
);
|
||||||
@@ -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(
|
||||||
'ثبت با موفقیت انجام شد',
|
'ثبت با موفقیت انجام شد',
|
||||||
@@ -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,
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -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);
|
||||||
|
|
||||||
@@ -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());
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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';
|
||||||
|
}
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
export 'home/logic.dart';
|
|
||||||
export 'home/view.dart';
|
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user