98 lines
3.1 KiB
Dart
98 lines
3.1 KiB
Dart
import 'package:rasadyar_chicken/data/models/response/bar_information/bar_information.dart';
|
|
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
|
|
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
|
|
import 'package:rasadyar_core/core.dart';
|
|
|
|
class HomeLogic extends GetxController {
|
|
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
|
|
RxnInt totalWeightTodayBars = RxnInt();
|
|
Rxn<KillHouseDistributionInfo> killHouseDistributionInfo = Rxn<KillHouseDistributionInfo>();
|
|
Rxn<BarInformation> barInformation = Rxn();
|
|
|
|
RxList<Map<String, String?>> inventoryItems = [
|
|
{'خریدهای دولتی داخل استان': null},
|
|
{'خریدهای آزاد داخل استان': null},
|
|
{'وزن خریدهای خارج استان': null},
|
|
{'کل ورودی به انبار': null},
|
|
{'کل فروش': null},
|
|
{'مانده انبار': null},
|
|
].obs;
|
|
|
|
RxList<Map<String, String>> broadcastItems = [
|
|
{'وزن دولتی': '2،225،256'},
|
|
{'وزن آزاد': '2،225،256'},
|
|
{'فروش دولتی': '2،225،256'},
|
|
{'فروش آزاد': '2،225،256'},
|
|
{'توزیع داخل استان': '2،225،256'},
|
|
{'توزیع خارج استان': '2،225،256'},
|
|
{'قطعه بندی': '2،225،256'},
|
|
].obs;
|
|
|
|
RxBool isExpanded = false.obs;
|
|
|
|
@override
|
|
void onReady() {
|
|
super.onReady();
|
|
refreshData();
|
|
|
|
}
|
|
|
|
Future<void> refreshData() async {
|
|
await Future.wait([
|
|
getGeneralBarsInformation(),
|
|
getTodayBars(),
|
|
getDistributionInformation(),
|
|
rootLogic.getRolesProducts(),
|
|
rootLogic.getInventory(),
|
|
]);
|
|
}
|
|
|
|
Future<void> getGeneralBarsInformation() async {
|
|
await safeCall<BarInformation?>(
|
|
call: () async => await rootLogic.chickenRepository.getGeneralBarInformation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
queryParameters: buildQueryParams(role: 'Steward'),
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
barInformation.value = result;
|
|
}
|
|
},
|
|
onError: (error, stackTrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> getTodayBars() async {
|
|
await safeCall<BarInformation?>(
|
|
call: () async => await rootLogic.chickenRepository.getGeneralBarInformation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
queryParameters: buildQueryParams(
|
|
fromDate: DateTime.now(),
|
|
toDate: DateTime.now(),
|
|
role: 'Steward',
|
|
),
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
totalWeightTodayBars.value = result.totalBarsWeight?.toInt();
|
|
}
|
|
},
|
|
onError: (error, stackTrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> getDistributionInformation() async {
|
|
await safeCall<KillHouseDistributionInfo?>(
|
|
call: () async => await rootLogic.chickenRepository.getKillHouseDistributionInfo(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
killHouseDistributionInfo.value = result;
|
|
}
|
|
},
|
|
onError: (error, stackTrace) {},
|
|
);
|
|
}
|
|
}
|