feat : inspection

This commit is contained in:
2025-09-07 17:20:01 +03:30
parent 5281bcbea6
commit d914bf7f36
22 changed files with 10607 additions and 44 deletions

View File

@@ -1,8 +1,28 @@
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/poultry_science/home_poultry_science/home_poultry_science_model.dart';
import 'package:rasadyar_core/core.dart';
abstract class PoultryScienceRemoteDatasource {
Future<HomePoultryScienceModel?> getHomePoultryScience({
required String token,
required String type,
});
Future<PaginationModel<HatchingModel>?> getHatchingPoultry({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
ProgressCallback? onSendProgress,
});
Future<PaginationModel<HatchingReport>?> getPoultryScienceReport({
required String token,
Map<String, dynamic>? queryParameters,
});
}

View File

@@ -1,3 +1,5 @@
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/poultry_science/home_poultry_science/home_poultry_science_model.dart';
import 'package:rasadyar_core/core.dart';
@@ -14,7 +16,7 @@ class PoultryScienceRemoteDatasourceImp implements PoultryScienceRemoteDatasourc
required String type,
}) async {
var res = await _httpClient.get(
'poultry_and_hatching_for_poultry_science/',
'/poultry_and_hatching_for_poultry_science/',
queryParameters: {'type': type},
headers: {'Authorization': 'Bearer $token'},
fromJson: (json) => HomePoultryScienceModel.fromJson(json),
@@ -22,4 +24,52 @@ class PoultryScienceRemoteDatasourceImp implements PoultryScienceRemoteDatasourc
return res.data;
}
@override
Future<PaginationModel<HatchingModel>?> getHatchingPoultry({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await _httpClient.get(
'/poultry_and_hatching_for_poultry_science/',
headers: {'Authorization': 'Bearer $token'},
queryParameters: queryParameters,
fromJson: (json) => PaginationModel<HatchingModel>.fromJson(
json,
(json) => HatchingModel.fromJson(json as Map<String, dynamic>),
),
);
return res.data;
}
@override
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
ProgressCallback? onSendProgress,
}) async {
await _httpClient.upload(
'/poultry_science_report/',
headers: {'Authorization': 'Bearer $token'},
formData: data,
onSendProgress: onSendProgress,
);
}
@override
Future<PaginationModel<HatchingReport>?> getPoultryScienceReport({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await _httpClient.get(
'/poultry_science_report/',
headers: {'Authorization': 'Bearer $token'},
queryParameters: queryParameters,
fromJson: (json) => PaginationModel<HatchingReport>.fromJson(
json,
(json) => HatchingReport.fromJson(json as Map<String, dynamic>),
),
);
return res.data;
}
}

View File

@@ -0,0 +1,421 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'hatching_models.freezed.dart';
part 'hatching_models.g.dart';
@freezed
abstract class HatchingModel with _$HatchingModel{
const factory HatchingModel({
int? id,
Poultry? poultry,
ChainCompany? chainCompany,
num? age,
dynamic inspectionLosses,
VetFarm? vetFarm,
ActiveKill? activeKill,
KillingInfo? killingInfo,
FreeGovernmentalInfo? freeGovernmentalInfo,
ReportInfo? reportInfo,
String? key,
String? createDate,
String? modifyDate,
bool? trash,
bool? hasChainCompany,
int? poultryIdForeignKey,
int? poultryHatchingIdKey,
num? quantity,
num? losses,
num? leftOver,
num? killedQuantity,
num? extraKilledQuantity,
num? governmentalKilledQuantity,
num? governmentalQuantity,
num? freeKilledQuantity,
num? freeQuantity,
num? chainKilledQuantity,
num? chainKilledWeight,
num? outProvinceKilledWeight,
num? outProvinceKilledQuantity,
num? exportKilledWeight,
num? exportKilledQuantity,
num? totalCommitment,
String? commitmentType,
num? totalCommitmentQuantity,
num? totalFreeCommitmentQuantity,
num? totalFreeCommitmentWeight,
num? totalKilledWeight,
num? totalAverageKilledWeight,
num? requestLeftOver,
num? hall,
String? date,
String? predicateDate,
String? chickenBreed,
num? period,
String? allowHatching,
String? state,
bool? archive,
bool? violation,
String? message,
Registrar? registrar,
List<BreedItem>? breed,
num? cityNumber,
String? cityName,
num? provinceNumber,
String? provinceName,
LastChange? lastChange,
num? chickenAge,
num? nowAge,
LatestHatchingChange? latestHatchingChange,
String? violationReport,
String? violationMessage,
List<String>? violationImage,
String? violationReporter,
String? violationReportDate,
String? violationReportEditor,
String? violationReportEditDate,
num? totalLosses,
num? directLosses,
String? directLossesInputer,
String? directLossesDate,
String? directLossesEditor,
String? directLossesLastEditDate,
String? endPeriodLossesInputer,
String? endPeriodLossesDate,
String? endPeriodLossesEditor,
String? endPeriodLossesLastEditDate,
String? breedingUniqueId,
String? licenceNumber,
bool? temporaryTrash,
bool? temporaryDeleted,
String? firstDateInputArchive,
String? secondDateInputArchive,
String? inputArchiver,
String? outputArchiveDate,
String? outputArchiver,
num? barDifferenceRequestWeight,
num? barDifferenceRequestQuantity,
String? healthCertificate,
num? samasatDischargePercentage,
String? personTypeName,
String? interactTypeName,
String? unionTypeName,
String? certId,
num? increaseQuantity,
String? tenantFullname,
String? tenantNationalCode,
String? tenantMobile,
String? tenantCity,
bool? hasTenant,
String? archiveDate,
String? createdBy,
String? modifiedBy,
}) = _HatchingModel;
factory HatchingModel.fromJson(Map<String, dynamic> json) => _$HatchingModelFromJson(json);
}
@freezed
abstract class Poultry with _$Poultry {
const factory Poultry({
int? id,
PoultryUser? user,
PoultryAddress? address,
String? key,
bool? trash,
int? ownerIdForeignKey,
int? userIdForeignKey,
int? addressIdForeignKey,
bool? hasChainCompany,
int? userBankIdForeignKey,
String? cityOperator,
String? unitName,
String? gisCode,
num? operatingLicenceCapacity,
num? numberOfHalls,
bool? tenant,
bool? hasTenant,
String? personType,
String? economicCode,
String? systemCode,
String? epidemiologicalCode,
String? breedingUniqueId,
num? totalCapacity,
String? licenceNumber,
String? healthCertificateNumber,
num? numberOfRequests,
String? hatchingDate,
String? lastPartyDate,
num? numberOfIncubators,
num? herdAgeByDay,
num? herdAgeByWeek,
num? numberOfParty,
String? communicationType,
String? cooperative,
String? dateOfRegister,
String? unitStatus,
bool? active,
dynamic identityDocuments,
String? samasatUserCode,
String? baseOrder,
String? incubationDate,
num? walletAmount,
num? city,
num? cityNumber,
String? cityName,
num? provinceNumber,
String? provinceName,
int? walletIdForeignKey,
int? poultryIdKey,
num? lat,
num? long,
String? date,
num? killingAveAge,
num? activeLeftOver,
num? killingAveCount,
num? killingAveWeight,
num? killingLiveWeight,
num? killingCarcassesWeight,
num? killingLossWeightPercent,
num? realKillingAveWeight,
num? realKillingLiveWeight,
num? realKillingCarcassesWeight,
num? realKillingLossWeightPercent,
int? interestLicenseId,
bool? orderLimit,
int? owner,
int? userBankInfo,
int? wallet,
}) = _Poultry;
factory Poultry.fromJson(Map<String, dynamic> json) => _$PoultryFromJson(json);
}
@freezed
abstract class PoultryUser with _$PoultryUser {
const factory PoultryUser({
String? fullname,
String? mobile,
}) = _PoultryUser;
factory PoultryUser.fromJson(Map<String, dynamic> json) => _$PoultryUserFromJson(json);
}
@freezed
abstract class PoultryAddress with _$PoultryAddress {
const factory PoultryAddress({
ProvinceRef? province,
CityRef? city,
String? address,
String? postalCode,
}) = _PoultryAddress;
factory PoultryAddress.fromJson(Map<String, dynamic> json) => _$PoultryAddressFromJson(json);
}
@freezed
abstract class ProvinceRef with _$ProvinceRef {
const factory ProvinceRef({
String? key,
String? name,
}) = _ProvinceRef;
factory ProvinceRef.fromJson(Map<String, dynamic> json) => _$ProvinceRefFromJson(json);
}
@freezed
abstract class CityRef with _$CityRef {
const factory CityRef({
String? key,
String? name,
}) = _CityRef;
factory CityRef.fromJson(Map<String, dynamic> json) => _$CityRefFromJson(json);
}
@freezed
abstract class ChainCompany with _$ChainCompany {
const factory ChainCompany({
ChainUser? user,
dynamic userBankInfo,
String? key,
bool? trash,
String? name,
String? city,
String? province,
String? postalCode,
String? address,
num? wallet,
}) = _ChainCompany;
factory ChainCompany.fromJson(Map<String, dynamic> json) => _$ChainCompanyFromJson(json);
}
@freezed
abstract class ChainUser with _$ChainUser {
const factory ChainUser({
List<String>? role,
String? city,
String? province,
String? key,
String? userGateWayId,
int? userDjangoIdForeignKey,
int? provinceIdForeignKey,
int? cityIdForeignKey,
int? systemUserProfileIdKey,
String? fullname,
String? firstName,
String? lastName,
String? nationalCode,
String? nationalCodeImage,
String? nationalId,
String? mobile,
String? birthday,
String? image,
String? password,
bool? active,
ChainUserState? state,
num? baseOrder,
num? cityNumber,
String? cityName,
num? provinceNumber,
String? provinceName,
String? unitName,
String? unitNationalId,
String? unitRegistrationNumber,
String? unitEconomicalNumber,
String? unitProvince,
String? unitCity,
String? unitPostalCode,
String? unitAddress,
}) = _ChainUser;
factory ChainUser.fromJson(Map<String, dynamic> json) => _$ChainUserFromJson(json);
}
@freezed
abstract class ChainUserState with _$ChainUserState {
const factory ChainUserState({
String? city,
String? image,
String? mobile,
String? birthday,
String? province,
String? lastName,
String? firstName,
String? nationalId,
String? nationalCode,
}) = _ChainUserState;
factory ChainUserState.fromJson(Map<String, dynamic> json) => _$ChainUserStateFromJson(json);
}
@freezed
abstract class VetFarm with _$VetFarm {
const factory VetFarm({
String? vetFarmFullName,
String? vetFarmMobile,
}) = _VetFarm;
factory VetFarm.fromJson(Map<String, dynamic> json) => _$VetFarmFromJson(json);
}
@freezed
abstract class ActiveKill with _$ActiveKill {
const factory ActiveKill({
bool? activeKill,
num? countOfRequest,
}) = _ActiveKill;
factory ActiveKill.fromJson(Map<String, dynamic> json) => _$ActiveKillFromJson(json);
}
@freezed
abstract class KillingInfo with _$KillingInfo {
const factory KillingInfo({
String? violationMessage,
num? provinceKillRequests,
num? provinceKillRequestsQuantity,
num? provinceKillRequestsWeight,
num? killHouseRequests,
num? killHouseRequestsFirstQuantity,
num? killHouseRequestsFirstWeight,
num? barCompleteWithKillHouse,
num? acceptedRealQuantityFinal,
num? acceptedRealWightFinal,
num? wareHouseBars,
num? wareHouseBarsQuantity,
num? wareHouseBarsWeight,
num? wareHouseBarsWeightLose,
}) = _KillingInfo;
factory KillingInfo.fromJson(Map<String, dynamic> json) => _$KillingInfoFromJson(json);
}
@freezed
abstract class FreeGovernmentalInfo with _$FreeGovernmentalInfo {
const factory FreeGovernmentalInfo({
num? governmentalAllocatedQuantity,
num? totalCommitmentQuantity,
num? freeAllocatedQuantity,
num? totalFreeCommitmentQuantity,
num? leftTotalFreeCommitmentQuantity,
}) = _FreeGovernmentalInfo;
factory FreeGovernmentalInfo.fromJson(Map<String, dynamic> json) => _$FreeGovernmentalInfoFromJson(json);
}
@freezed
abstract class ReportInfo with _$ReportInfo {
const factory ReportInfo({
bool? poultryScience,
bool? image,
}) = _ReportInfo;
factory ReportInfo.fromJson(Map<String, dynamic> json) => _$ReportInfoFromJson(json);
}
@freezed
abstract class LatestHatchingChange with _$LatestHatchingChange {
const factory LatestHatchingChange({
String? date,
String? role,
String? fullName,
}) = _LatestHatchingChange;
factory LatestHatchingChange.fromJson(Map<String, dynamic> json) => _$LatestHatchingChangeFromJson(json);
}
@freezed
abstract class Registrar with _$Registrar {
const factory Registrar({
String? date,
String? role,
String? fullname,
}) = _Registrar;
factory Registrar.fromJson(Map<String, dynamic> json) => _$RegistrarFromJson(json);
}
@freezed
abstract class LastChange with _$LastChange {
const factory LastChange({
String? date,
String? role,
String? type,
String? fullName,
}) = _LastChange;
factory LastChange.fromJson(Map<String, dynamic> json) => _$LastChangeFromJson(json);
}
@freezed
abstract class BreedItem with _$BreedItem {
const factory BreedItem({
String? breed,
num? mainQuantity,
num? remainQuantity,
}) = _BreedItem;
factory BreedItem.fromJson(Map<String, dynamic> json) => _$BreedItemFromJson(json);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,723 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'hatching_models.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
_HatchingModel _$HatchingModelFromJson(
Map<String, dynamic> json,
) => _HatchingModel(
id: (json['id'] as num?)?.toInt(),
poultry: json['poultry'] == null
? null
: Poultry.fromJson(json['poultry'] as Map<String, dynamic>),
chainCompany: json['chain_company'] == null
? null
: ChainCompany.fromJson(json['chain_company'] as Map<String, dynamic>),
age: json['age'] as num?,
inspectionLosses: json['inspection_losses'],
vetFarm: json['vet_farm'] == null
? null
: VetFarm.fromJson(json['vet_farm'] as Map<String, dynamic>),
activeKill: json['active_kill'] == null
? null
: ActiveKill.fromJson(json['active_kill'] as Map<String, dynamic>),
killingInfo: json['killing_info'] == null
? null
: KillingInfo.fromJson(json['killing_info'] as Map<String, dynamic>),
freeGovernmentalInfo: json['free_governmental_info'] == null
? null
: FreeGovernmentalInfo.fromJson(
json['free_governmental_info'] as Map<String, dynamic>,
),
reportInfo: json['report_info'] == null
? null
: ReportInfo.fromJson(json['report_info'] as Map<String, dynamic>),
key: json['key'] as String?,
createDate: json['create_date'] as String?,
modifyDate: json['modify_date'] as String?,
trash: json['trash'] as bool?,
hasChainCompany: json['has_chain_company'] as bool?,
poultryIdForeignKey: (json['poultry_id_foreign_key'] as num?)?.toInt(),
poultryHatchingIdKey: (json['poultry_hatching_id_key'] as num?)?.toInt(),
quantity: json['quantity'] as num?,
losses: json['losses'] as num?,
leftOver: json['left_over'] as num?,
killedQuantity: json['killed_quantity'] as num?,
extraKilledQuantity: json['extra_killed_quantity'] as num?,
governmentalKilledQuantity: json['governmental_killed_quantity'] as num?,
governmentalQuantity: json['governmental_quantity'] as num?,
freeKilledQuantity: json['free_killed_quantity'] as num?,
freeQuantity: json['free_quantity'] as num?,
chainKilledQuantity: json['chain_killed_quantity'] as num?,
chainKilledWeight: json['chain_killed_weight'] as num?,
outProvinceKilledWeight: json['out_province_killed_weight'] as num?,
outProvinceKilledQuantity: json['out_province_killed_quantity'] as num?,
exportKilledWeight: json['export_killed_weight'] as num?,
exportKilledQuantity: json['export_killed_quantity'] as num?,
totalCommitment: json['total_commitment'] as num?,
commitmentType: json['commitment_type'] as String?,
totalCommitmentQuantity: json['total_commitment_quantity'] as num?,
totalFreeCommitmentQuantity: json['total_free_commitment_quantity'] as num?,
totalFreeCommitmentWeight: json['total_free_commitment_weight'] as num?,
totalKilledWeight: json['total_killed_weight'] as num?,
totalAverageKilledWeight: json['total_average_killed_weight'] as num?,
requestLeftOver: json['request_left_over'] as num?,
hall: json['hall'] as num?,
date: json['date'] as String?,
predicateDate: json['predicate_date'] as String?,
chickenBreed: json['chicken_breed'] as String?,
period: json['period'] as num?,
allowHatching: json['allow_hatching'] as String?,
state: json['state'] as String?,
archive: json['archive'] as bool?,
violation: json['violation'] as bool?,
message: json['message'] as String?,
registrar: json['registrar'] == null
? null
: Registrar.fromJson(json['registrar'] as Map<String, dynamic>),
breed: (json['breed'] as List<dynamic>?)
?.map((e) => BreedItem.fromJson(e as Map<String, dynamic>))
.toList(),
cityNumber: json['city_number'] as num?,
cityName: json['city_name'] as String?,
provinceNumber: json['province_number'] as num?,
provinceName: json['province_name'] as String?,
lastChange: json['last_change'] == null
? null
: LastChange.fromJson(json['last_change'] as Map<String, dynamic>),
chickenAge: json['chicken_age'] as num?,
nowAge: json['now_age'] as num?,
latestHatchingChange: json['latest_hatching_change'] == null
? null
: LatestHatchingChange.fromJson(
json['latest_hatching_change'] as Map<String, dynamic>,
),
violationReport: json['violation_report'] as String?,
violationMessage: json['violation_message'] as String?,
violationImage: (json['violation_image'] as List<dynamic>?)
?.map((e) => e as String)
.toList(),
violationReporter: json['violation_reporter'] as String?,
violationReportDate: json['violation_report_date'] as String?,
violationReportEditor: json['violation_report_editor'] as String?,
violationReportEditDate: json['violation_report_edit_date'] as String?,
totalLosses: json['total_losses'] as num?,
directLosses: json['direct_losses'] as num?,
directLossesInputer: json['direct_losses_inputer'] as String?,
directLossesDate: json['direct_losses_date'] as String?,
directLossesEditor: json['direct_losses_editor'] as String?,
directLossesLastEditDate: json['direct_losses_last_edit_date'] as String?,
endPeriodLossesInputer: json['end_period_losses_inputer'] as String?,
endPeriodLossesDate: json['end_period_losses_date'] as String?,
endPeriodLossesEditor: json['end_period_losses_editor'] as String?,
endPeriodLossesLastEditDate:
json['end_period_losses_last_edit_date'] as String?,
breedingUniqueId: json['breeding_unique_id'] as String?,
licenceNumber: json['licence_number'] as String?,
temporaryTrash: json['temporary_trash'] as bool?,
temporaryDeleted: json['temporary_deleted'] as bool?,
firstDateInputArchive: json['first_date_input_archive'] as String?,
secondDateInputArchive: json['second_date_input_archive'] as String?,
inputArchiver: json['input_archiver'] as String?,
outputArchiveDate: json['output_archive_date'] as String?,
outputArchiver: json['output_archiver'] as String?,
barDifferenceRequestWeight: json['bar_difference_request_weight'] as num?,
barDifferenceRequestQuantity: json['bar_difference_request_quantity'] as num?,
healthCertificate: json['health_certificate'] as String?,
samasatDischargePercentage: json['samasat_discharge_percentage'] as num?,
personTypeName: json['person_type_name'] as String?,
interactTypeName: json['interact_type_name'] as String?,
unionTypeName: json['union_type_name'] as String?,
certId: json['cert_id'] as String?,
increaseQuantity: json['increase_quantity'] as num?,
tenantFullname: json['tenant_fullname'] as String?,
tenantNationalCode: json['tenant_national_code'] as String?,
tenantMobile: json['tenant_mobile'] as String?,
tenantCity: json['tenant_city'] as String?,
hasTenant: json['has_tenant'] as bool?,
archiveDate: json['archive_date'] as String?,
createdBy: json['created_by'] as String?,
modifiedBy: json['modified_by'] as String?,
);
Map<String, dynamic> _$HatchingModelToJson(_HatchingModel instance) =>
<String, dynamic>{
'id': instance.id,
'poultry': instance.poultry,
'chain_company': instance.chainCompany,
'age': instance.age,
'inspection_losses': instance.inspectionLosses,
'vet_farm': instance.vetFarm,
'active_kill': instance.activeKill,
'killing_info': instance.killingInfo,
'free_governmental_info': instance.freeGovernmentalInfo,
'report_info': instance.reportInfo,
'key': instance.key,
'create_date': instance.createDate,
'modify_date': instance.modifyDate,
'trash': instance.trash,
'has_chain_company': instance.hasChainCompany,
'poultry_id_foreign_key': instance.poultryIdForeignKey,
'poultry_hatching_id_key': instance.poultryHatchingIdKey,
'quantity': instance.quantity,
'losses': instance.losses,
'left_over': instance.leftOver,
'killed_quantity': instance.killedQuantity,
'extra_killed_quantity': instance.extraKilledQuantity,
'governmental_killed_quantity': instance.governmentalKilledQuantity,
'governmental_quantity': instance.governmentalQuantity,
'free_killed_quantity': instance.freeKilledQuantity,
'free_quantity': instance.freeQuantity,
'chain_killed_quantity': instance.chainKilledQuantity,
'chain_killed_weight': instance.chainKilledWeight,
'out_province_killed_weight': instance.outProvinceKilledWeight,
'out_province_killed_quantity': instance.outProvinceKilledQuantity,
'export_killed_weight': instance.exportKilledWeight,
'export_killed_quantity': instance.exportKilledQuantity,
'total_commitment': instance.totalCommitment,
'commitment_type': instance.commitmentType,
'total_commitment_quantity': instance.totalCommitmentQuantity,
'total_free_commitment_quantity': instance.totalFreeCommitmentQuantity,
'total_free_commitment_weight': instance.totalFreeCommitmentWeight,
'total_killed_weight': instance.totalKilledWeight,
'total_average_killed_weight': instance.totalAverageKilledWeight,
'request_left_over': instance.requestLeftOver,
'hall': instance.hall,
'date': instance.date,
'predicate_date': instance.predicateDate,
'chicken_breed': instance.chickenBreed,
'period': instance.period,
'allow_hatching': instance.allowHatching,
'state': instance.state,
'archive': instance.archive,
'violation': instance.violation,
'message': instance.message,
'registrar': instance.registrar,
'breed': instance.breed,
'city_number': instance.cityNumber,
'city_name': instance.cityName,
'province_number': instance.provinceNumber,
'province_name': instance.provinceName,
'last_change': instance.lastChange,
'chicken_age': instance.chickenAge,
'now_age': instance.nowAge,
'latest_hatching_change': instance.latestHatchingChange,
'violation_report': instance.violationReport,
'violation_message': instance.violationMessage,
'violation_image': instance.violationImage,
'violation_reporter': instance.violationReporter,
'violation_report_date': instance.violationReportDate,
'violation_report_editor': instance.violationReportEditor,
'violation_report_edit_date': instance.violationReportEditDate,
'total_losses': instance.totalLosses,
'direct_losses': instance.directLosses,
'direct_losses_inputer': instance.directLossesInputer,
'direct_losses_date': instance.directLossesDate,
'direct_losses_editor': instance.directLossesEditor,
'direct_losses_last_edit_date': instance.directLossesLastEditDate,
'end_period_losses_inputer': instance.endPeriodLossesInputer,
'end_period_losses_date': instance.endPeriodLossesDate,
'end_period_losses_editor': instance.endPeriodLossesEditor,
'end_period_losses_last_edit_date': instance.endPeriodLossesLastEditDate,
'breeding_unique_id': instance.breedingUniqueId,
'licence_number': instance.licenceNumber,
'temporary_trash': instance.temporaryTrash,
'temporary_deleted': instance.temporaryDeleted,
'first_date_input_archive': instance.firstDateInputArchive,
'second_date_input_archive': instance.secondDateInputArchive,
'input_archiver': instance.inputArchiver,
'output_archive_date': instance.outputArchiveDate,
'output_archiver': instance.outputArchiver,
'bar_difference_request_weight': instance.barDifferenceRequestWeight,
'bar_difference_request_quantity': instance.barDifferenceRequestQuantity,
'health_certificate': instance.healthCertificate,
'samasat_discharge_percentage': instance.samasatDischargePercentage,
'person_type_name': instance.personTypeName,
'interact_type_name': instance.interactTypeName,
'union_type_name': instance.unionTypeName,
'cert_id': instance.certId,
'increase_quantity': instance.increaseQuantity,
'tenant_fullname': instance.tenantFullname,
'tenant_national_code': instance.tenantNationalCode,
'tenant_mobile': instance.tenantMobile,
'tenant_city': instance.tenantCity,
'has_tenant': instance.hasTenant,
'archive_date': instance.archiveDate,
'created_by': instance.createdBy,
'modified_by': instance.modifiedBy,
};
_Poultry _$PoultryFromJson(Map<String, dynamic> json) => _Poultry(
id: (json['id'] as num?)?.toInt(),
user: json['user'] == null
? null
: PoultryUser.fromJson(json['user'] as Map<String, dynamic>),
address: json['address'] == null
? null
: PoultryAddress.fromJson(json['address'] as Map<String, dynamic>),
key: json['key'] as String?,
trash: json['trash'] as bool?,
ownerIdForeignKey: (json['owner_id_foreign_key'] as num?)?.toInt(),
userIdForeignKey: (json['user_id_foreign_key'] as num?)?.toInt(),
addressIdForeignKey: (json['address_id_foreign_key'] as num?)?.toInt(),
hasChainCompany: json['has_chain_company'] as bool?,
userBankIdForeignKey: (json['user_bank_id_foreign_key'] as num?)?.toInt(),
cityOperator: json['city_operator'] as String?,
unitName: json['unit_name'] as String?,
gisCode: json['gis_code'] as String?,
operatingLicenceCapacity: json['operating_licence_capacity'] as num?,
numberOfHalls: json['number_of_halls'] as num?,
tenant: json['tenant'] as bool?,
hasTenant: json['has_tenant'] as bool?,
personType: json['person_type'] as String?,
economicCode: json['economic_code'] as String?,
systemCode: json['system_code'] as String?,
epidemiologicalCode: json['epidemiological_code'] as String?,
breedingUniqueId: json['breeding_unique_id'] as String?,
totalCapacity: json['total_capacity'] as num?,
licenceNumber: json['licence_number'] as String?,
healthCertificateNumber: json['health_certificate_number'] as String?,
numberOfRequests: json['number_of_requests'] as num?,
hatchingDate: json['hatching_date'] as String?,
lastPartyDate: json['last_party_date'] as String?,
numberOfIncubators: json['number_of_incubators'] as num?,
herdAgeByDay: json['herd_age_by_day'] as num?,
herdAgeByWeek: json['herd_age_by_week'] as num?,
numberOfParty: json['number_of_party'] as num?,
communicationType: json['communication_type'] as String?,
cooperative: json['cooperative'] as String?,
dateOfRegister: json['date_of_register'] as String?,
unitStatus: json['unit_status'] as String?,
active: json['active'] as bool?,
identityDocuments: json['identity_documents'],
samasatUserCode: json['samasat_user_code'] as String?,
baseOrder: json['base_order'] as String?,
incubationDate: json['incubation_date'] as String?,
walletAmount: json['wallet_amount'] as num?,
city: json['city'] as num?,
cityNumber: json['city_number'] as num?,
cityName: json['city_name'] as String?,
provinceNumber: json['province_number'] as num?,
provinceName: json['province_name'] as String?,
walletIdForeignKey: (json['wallet_id_foreign_key'] as num?)?.toInt(),
poultryIdKey: (json['poultry_id_key'] as num?)?.toInt(),
lat: json['lat'] as num?,
long: json['long'] as num?,
date: json['date'] as String?,
killingAveAge: json['killing_ave_age'] as num?,
activeLeftOver: json['active_left_over'] as num?,
killingAveCount: json['killing_ave_count'] as num?,
killingAveWeight: json['killing_ave_weight'] as num?,
killingLiveWeight: json['killing_live_weight'] as num?,
killingCarcassesWeight: json['killing_carcasses_weight'] as num?,
killingLossWeightPercent: json['killing_loss_weight_percent'] as num?,
realKillingAveWeight: json['real_killing_ave_weight'] as num?,
realKillingLiveWeight: json['real_killing_live_weight'] as num?,
realKillingCarcassesWeight: json['real_killing_carcasses_weight'] as num?,
realKillingLossWeightPercent:
json['real_killing_loss_weight_percent'] as num?,
interestLicenseId: (json['interest_license_id'] as num?)?.toInt(),
orderLimit: json['order_limit'] as bool?,
owner: (json['owner'] as num?)?.toInt(),
userBankInfo: (json['user_bank_info'] as num?)?.toInt(),
wallet: (json['wallet'] as num?)?.toInt(),
);
Map<String, dynamic> _$PoultryToJson(_Poultry instance) => <String, dynamic>{
'id': instance.id,
'user': instance.user,
'address': instance.address,
'key': instance.key,
'trash': instance.trash,
'owner_id_foreign_key': instance.ownerIdForeignKey,
'user_id_foreign_key': instance.userIdForeignKey,
'address_id_foreign_key': instance.addressIdForeignKey,
'has_chain_company': instance.hasChainCompany,
'user_bank_id_foreign_key': instance.userBankIdForeignKey,
'city_operator': instance.cityOperator,
'unit_name': instance.unitName,
'gis_code': instance.gisCode,
'operating_licence_capacity': instance.operatingLicenceCapacity,
'number_of_halls': instance.numberOfHalls,
'tenant': instance.tenant,
'has_tenant': instance.hasTenant,
'person_type': instance.personType,
'economic_code': instance.economicCode,
'system_code': instance.systemCode,
'epidemiological_code': instance.epidemiologicalCode,
'breeding_unique_id': instance.breedingUniqueId,
'total_capacity': instance.totalCapacity,
'licence_number': instance.licenceNumber,
'health_certificate_number': instance.healthCertificateNumber,
'number_of_requests': instance.numberOfRequests,
'hatching_date': instance.hatchingDate,
'last_party_date': instance.lastPartyDate,
'number_of_incubators': instance.numberOfIncubators,
'herd_age_by_day': instance.herdAgeByDay,
'herd_age_by_week': instance.herdAgeByWeek,
'number_of_party': instance.numberOfParty,
'communication_type': instance.communicationType,
'cooperative': instance.cooperative,
'date_of_register': instance.dateOfRegister,
'unit_status': instance.unitStatus,
'active': instance.active,
'identity_documents': instance.identityDocuments,
'samasat_user_code': instance.samasatUserCode,
'base_order': instance.baseOrder,
'incubation_date': instance.incubationDate,
'wallet_amount': instance.walletAmount,
'city': instance.city,
'city_number': instance.cityNumber,
'city_name': instance.cityName,
'province_number': instance.provinceNumber,
'province_name': instance.provinceName,
'wallet_id_foreign_key': instance.walletIdForeignKey,
'poultry_id_key': instance.poultryIdKey,
'lat': instance.lat,
'long': instance.long,
'date': instance.date,
'killing_ave_age': instance.killingAveAge,
'active_left_over': instance.activeLeftOver,
'killing_ave_count': instance.killingAveCount,
'killing_ave_weight': instance.killingAveWeight,
'killing_live_weight': instance.killingLiveWeight,
'killing_carcasses_weight': instance.killingCarcassesWeight,
'killing_loss_weight_percent': instance.killingLossWeightPercent,
'real_killing_ave_weight': instance.realKillingAveWeight,
'real_killing_live_weight': instance.realKillingLiveWeight,
'real_killing_carcasses_weight': instance.realKillingCarcassesWeight,
'real_killing_loss_weight_percent': instance.realKillingLossWeightPercent,
'interest_license_id': instance.interestLicenseId,
'order_limit': instance.orderLimit,
'owner': instance.owner,
'user_bank_info': instance.userBankInfo,
'wallet': instance.wallet,
};
_PoultryUser _$PoultryUserFromJson(Map<String, dynamic> json) => _PoultryUser(
fullname: json['fullname'] as String?,
mobile: json['mobile'] as String?,
);
Map<String, dynamic> _$PoultryUserToJson(_PoultryUser instance) =>
<String, dynamic>{'fullname': instance.fullname, 'mobile': instance.mobile};
_PoultryAddress _$PoultryAddressFromJson(Map<String, dynamic> json) =>
_PoultryAddress(
province: json['province'] == null
? null
: ProvinceRef.fromJson(json['province'] as Map<String, dynamic>),
city: json['city'] == null
? null
: CityRef.fromJson(json['city'] as Map<String, dynamic>),
address: json['address'] as String?,
postalCode: json['postal_code'] as String?,
);
Map<String, dynamic> _$PoultryAddressToJson(_PoultryAddress instance) =>
<String, dynamic>{
'province': instance.province,
'city': instance.city,
'address': instance.address,
'postal_code': instance.postalCode,
};
_ProvinceRef _$ProvinceRefFromJson(Map<String, dynamic> json) =>
_ProvinceRef(key: json['key'] as String?, name: json['name'] as String?);
Map<String, dynamic> _$ProvinceRefToJson(_ProvinceRef instance) =>
<String, dynamic>{'key': instance.key, 'name': instance.name};
_CityRef _$CityRefFromJson(Map<String, dynamic> json) =>
_CityRef(key: json['key'] as String?, name: json['name'] as String?);
Map<String, dynamic> _$CityRefToJson(_CityRef instance) => <String, dynamic>{
'key': instance.key,
'name': instance.name,
};
_ChainCompany _$ChainCompanyFromJson(Map<String, dynamic> json) =>
_ChainCompany(
user: json['user'] == null
? null
: ChainUser.fromJson(json['user'] as Map<String, dynamic>),
userBankInfo: json['user_bank_info'],
key: json['key'] as String?,
trash: json['trash'] as bool?,
name: json['name'] as String?,
city: json['city'] as String?,
province: json['province'] as String?,
postalCode: json['postal_code'] as String?,
address: json['address'] as String?,
wallet: json['wallet'] as num?,
);
Map<String, dynamic> _$ChainCompanyToJson(_ChainCompany instance) =>
<String, dynamic>{
'user': instance.user,
'user_bank_info': instance.userBankInfo,
'key': instance.key,
'trash': instance.trash,
'name': instance.name,
'city': instance.city,
'province': instance.province,
'postal_code': instance.postalCode,
'address': instance.address,
'wallet': instance.wallet,
};
_ChainUser _$ChainUserFromJson(Map<String, dynamic> json) => _ChainUser(
role: (json['role'] as List<dynamic>?)?.map((e) => e as String).toList(),
city: json['city'] as String?,
province: json['province'] as String?,
key: json['key'] as String?,
userGateWayId: json['user_gate_way_id'] as String?,
userDjangoIdForeignKey: (json['user_django_id_foreign_key'] as num?)?.toInt(),
provinceIdForeignKey: (json['province_id_foreign_key'] as num?)?.toInt(),
cityIdForeignKey: (json['city_id_foreign_key'] as num?)?.toInt(),
systemUserProfileIdKey: (json['system_user_profile_id_key'] as num?)?.toInt(),
fullname: json['fullname'] as String?,
firstName: json['first_name'] as String?,
lastName: json['last_name'] as String?,
nationalCode: json['national_code'] as String?,
nationalCodeImage: json['national_code_image'] as String?,
nationalId: json['national_id'] as String?,
mobile: json['mobile'] as String?,
birthday: json['birthday'] as String?,
image: json['image'] as String?,
password: json['password'] as String?,
active: json['active'] as bool?,
state: json['state'] == null
? null
: ChainUserState.fromJson(json['state'] as Map<String, dynamic>),
baseOrder: json['base_order'] as num?,
cityNumber: json['city_number'] as num?,
cityName: json['city_name'] as String?,
provinceNumber: json['province_number'] as num?,
provinceName: json['province_name'] as String?,
unitName: json['unit_name'] as String?,
unitNationalId: json['unit_national_id'] as String?,
unitRegistrationNumber: json['unit_registration_number'] as String?,
unitEconomicalNumber: json['unit_economical_number'] as String?,
unitProvince: json['unit_province'] as String?,
unitCity: json['unit_city'] as String?,
unitPostalCode: json['unit_postal_code'] as String?,
unitAddress: json['unit_address'] as String?,
);
Map<String, dynamic> _$ChainUserToJson(_ChainUser instance) =>
<String, dynamic>{
'role': instance.role,
'city': instance.city,
'province': instance.province,
'key': instance.key,
'user_gate_way_id': instance.userGateWayId,
'user_django_id_foreign_key': instance.userDjangoIdForeignKey,
'province_id_foreign_key': instance.provinceIdForeignKey,
'city_id_foreign_key': instance.cityIdForeignKey,
'system_user_profile_id_key': instance.systemUserProfileIdKey,
'fullname': instance.fullname,
'first_name': instance.firstName,
'last_name': instance.lastName,
'national_code': instance.nationalCode,
'national_code_image': instance.nationalCodeImage,
'national_id': instance.nationalId,
'mobile': instance.mobile,
'birthday': instance.birthday,
'image': instance.image,
'password': instance.password,
'active': instance.active,
'state': instance.state,
'base_order': instance.baseOrder,
'city_number': instance.cityNumber,
'city_name': instance.cityName,
'province_number': instance.provinceNumber,
'province_name': instance.provinceName,
'unit_name': instance.unitName,
'unit_national_id': instance.unitNationalId,
'unit_registration_number': instance.unitRegistrationNumber,
'unit_economical_number': instance.unitEconomicalNumber,
'unit_province': instance.unitProvince,
'unit_city': instance.unitCity,
'unit_postal_code': instance.unitPostalCode,
'unit_address': instance.unitAddress,
};
_ChainUserState _$ChainUserStateFromJson(Map<String, dynamic> json) =>
_ChainUserState(
city: json['city'] as String?,
image: json['image'] as String?,
mobile: json['mobile'] as String?,
birthday: json['birthday'] as String?,
province: json['province'] as String?,
lastName: json['last_name'] as String?,
firstName: json['first_name'] as String?,
nationalId: json['national_id'] as String?,
nationalCode: json['national_code'] as String?,
);
Map<String, dynamic> _$ChainUserStateToJson(_ChainUserState instance) =>
<String, dynamic>{
'city': instance.city,
'image': instance.image,
'mobile': instance.mobile,
'birthday': instance.birthday,
'province': instance.province,
'last_name': instance.lastName,
'first_name': instance.firstName,
'national_id': instance.nationalId,
'national_code': instance.nationalCode,
};
_VetFarm _$VetFarmFromJson(Map<String, dynamic> json) => _VetFarm(
vetFarmFullName: json['vet_farm_full_name'] as String?,
vetFarmMobile: json['vet_farm_mobile'] as String?,
);
Map<String, dynamic> _$VetFarmToJson(_VetFarm instance) => <String, dynamic>{
'vet_farm_full_name': instance.vetFarmFullName,
'vet_farm_mobile': instance.vetFarmMobile,
};
_ActiveKill _$ActiveKillFromJson(Map<String, dynamic> json) => _ActiveKill(
activeKill: json['active_kill'] as bool?,
countOfRequest: json['count_of_request'] as num?,
);
Map<String, dynamic> _$ActiveKillToJson(_ActiveKill instance) =>
<String, dynamic>{
'active_kill': instance.activeKill,
'count_of_request': instance.countOfRequest,
};
_KillingInfo _$KillingInfoFromJson(Map<String, dynamic> json) => _KillingInfo(
violationMessage: json['violation_message'] as String?,
provinceKillRequests: json['province_kill_requests'] as num?,
provinceKillRequestsQuantity: json['province_kill_requests_quantity'] as num?,
provinceKillRequestsWeight: json['province_kill_requests_weight'] as num?,
killHouseRequests: json['kill_house_requests'] as num?,
killHouseRequestsFirstQuantity:
json['kill_house_requests_first_quantity'] as num?,
killHouseRequestsFirstWeight:
json['kill_house_requests_first_weight'] as num?,
barCompleteWithKillHouse: json['bar_complete_with_kill_house'] as num?,
acceptedRealQuantityFinal: json['accepted_real_quantity_final'] as num?,
acceptedRealWightFinal: json['accepted_real_wight_final'] as num?,
wareHouseBars: json['ware_house_bars'] as num?,
wareHouseBarsQuantity: json['ware_house_bars_quantity'] as num?,
wareHouseBarsWeight: json['ware_house_bars_weight'] as num?,
wareHouseBarsWeightLose: json['ware_house_bars_weight_lose'] as num?,
);
Map<String, dynamic> _$KillingInfoToJson(
_KillingInfo instance,
) => <String, dynamic>{
'violation_message': instance.violationMessage,
'province_kill_requests': instance.provinceKillRequests,
'province_kill_requests_quantity': instance.provinceKillRequestsQuantity,
'province_kill_requests_weight': instance.provinceKillRequestsWeight,
'kill_house_requests': instance.killHouseRequests,
'kill_house_requests_first_quantity': instance.killHouseRequestsFirstQuantity,
'kill_house_requests_first_weight': instance.killHouseRequestsFirstWeight,
'bar_complete_with_kill_house': instance.barCompleteWithKillHouse,
'accepted_real_quantity_final': instance.acceptedRealQuantityFinal,
'accepted_real_wight_final': instance.acceptedRealWightFinal,
'ware_house_bars': instance.wareHouseBars,
'ware_house_bars_quantity': instance.wareHouseBarsQuantity,
'ware_house_bars_weight': instance.wareHouseBarsWeight,
'ware_house_bars_weight_lose': instance.wareHouseBarsWeightLose,
};
_FreeGovernmentalInfo _$FreeGovernmentalInfoFromJson(
Map<String, dynamic> json,
) => _FreeGovernmentalInfo(
governmentalAllocatedQuantity:
json['governmental_allocated_quantity'] as num?,
totalCommitmentQuantity: json['total_commitment_quantity'] as num?,
freeAllocatedQuantity: json['free_allocated_quantity'] as num?,
totalFreeCommitmentQuantity: json['total_free_commitment_quantity'] as num?,
leftTotalFreeCommitmentQuantity:
json['left_total_free_commitment_quantity'] as num?,
);
Map<String, dynamic> _$FreeGovernmentalInfoToJson(
_FreeGovernmentalInfo instance,
) => <String, dynamic>{
'governmental_allocated_quantity': instance.governmentalAllocatedQuantity,
'total_commitment_quantity': instance.totalCommitmentQuantity,
'free_allocated_quantity': instance.freeAllocatedQuantity,
'total_free_commitment_quantity': instance.totalFreeCommitmentQuantity,
'left_total_free_commitment_quantity':
instance.leftTotalFreeCommitmentQuantity,
};
_ReportInfo _$ReportInfoFromJson(Map<String, dynamic> json) => _ReportInfo(
poultryScience: json['poultry_science'] as bool?,
image: json['image'] as bool?,
);
Map<String, dynamic> _$ReportInfoToJson(_ReportInfo instance) =>
<String, dynamic>{
'poultry_science': instance.poultryScience,
'image': instance.image,
};
_LatestHatchingChange _$LatestHatchingChangeFromJson(
Map<String, dynamic> json,
) => _LatestHatchingChange(
date: json['date'] as String?,
role: json['role'] as String?,
fullName: json['full_name'] as String?,
);
Map<String, dynamic> _$LatestHatchingChangeToJson(
_LatestHatchingChange instance,
) => <String, dynamic>{
'date': instance.date,
'role': instance.role,
'full_name': instance.fullName,
};
_Registrar _$RegistrarFromJson(Map<String, dynamic> json) => _Registrar(
date: json['date'] as String?,
role: json['role'] as String?,
fullname: json['fullname'] as String?,
);
Map<String, dynamic> _$RegistrarToJson(_Registrar instance) =>
<String, dynamic>{
'date': instance.date,
'role': instance.role,
'fullname': instance.fullname,
};
_LastChange _$LastChangeFromJson(Map<String, dynamic> json) => _LastChange(
date: json['date'] as String?,
role: json['role'] as String?,
type: json['type'] as String?,
fullName: json['full_name'] as String?,
);
Map<String, dynamic> _$LastChangeToJson(_LastChange instance) =>
<String, dynamic>{
'date': instance.date,
'role': instance.role,
'type': instance.type,
'full_name': instance.fullName,
};
_BreedItem _$BreedItemFromJson(Map<String, dynamic> json) => _BreedItem(
breed: json['breed'] as String?,
mainQuantity: json['main_quantity'] as num?,
remainQuantity: json['remain_quantity'] as num?,
);
Map<String, dynamic> _$BreedItemToJson(_BreedItem instance) =>
<String, dynamic>{
'breed': instance.breed,
'main_quantity': instance.mainQuantity,
'remain_quantity': instance.remainQuantity,
};

View File

@@ -0,0 +1,122 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'hatching_report.freezed.dart';
part 'hatching_report.g.dart';
@freezed
abstract class HatchingReport with _$HatchingReport {
const factory HatchingReport({
int? id,
PoultryScience? poultryScience,
Hatching? hatching,
String? key,
String? createDate,
String? modifyDate,
bool? trash,
String? date,
List<String>? image,
double? lat,
double? log,
String? reporterFullname,
String? reporterMobile,
String? createdBy,
String? modifiedBy,
}) = _HatchingReport;
factory HatchingReport.fromJson(Map<String, dynamic> json) => _$HatchingReportFromJson(json);
}
@freezed
abstract class PoultryScience with _$PoultryScience {
const factory PoultryScience({
int? id,
User? user,
String? key,
String? createDate,
String? modifyDate,
bool? trash,
String? createdBy,
String? modifiedBy,
List<int>? poultry,
}) = _PoultryScience;
factory PoultryScience.fromJson(Map<String, dynamic> json) => _$PoultryScienceFromJson(json);
}
@freezed
abstract class User with _$User {
const factory User({String? fullname, String? mobile}) = _User;
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
}
@freezed
abstract class Hatching with _$Hatching {
const factory Hatching({
Poultry? poultry,
GeneralInfo? generalInfo,
String? chickenBreed,
String? date,
int? quantity,
int? leftOver,
int? period,
int? losses,
bool? violation,
String? licenceNumber,
int? chickenAge,
VetFarm? vetFarm,
}) = _Hatching;
factory Hatching.fromJson(Map<String, dynamic> json) => _$HatchingFromJson(json);
}
@freezed
abstract class VetFarm with _$VetFarm {
const factory VetFarm({
String? vetFarmFullname,
String? vetFarmMobile,
}) = _VetFarm;
factory VetFarm.fromJson(Map<String, dynamic> json) => _$VetFarmFromJson(json);
}
@freezed
abstract class Poultry with _$Poultry {
const factory Poultry({
String? key,
String? fullname,
String? mobile,
String? city,
String? unitName,
int? killingAveAge,
int? activeLeftOver,
int? killingAveCount,
double? realKillingAveWeight,
double? realKillingLiveWeight,
double? realKillingCarcassesWeight,
double? realKillingLossWeightPercent,
}) = _Poultry;
factory Poultry.fromJson(Map<String, dynamic> json) => _$PoultryFromJson(json);
}
@freezed
abstract class GeneralInfo with _$GeneralInfo {
const factory GeneralInfo({
int? aveAge,
int? age,
double? aveWeight,
int? provinceKillRequests,
int? provinceKillRequestsQuantity,
double? provinceKillRequestsWeight,
int? killHouseRequestsQuantity,
int? killHouseRequests,
double? killHouseRequestsWeight,
int? totalQuantity,
double? totalWeight,
}) = _GeneralInfo;
factory GeneralInfo.fromJson(Map<String, dynamic> json) => _$GeneralInfoFromJson(json);
}

View File

@@ -0,0 +1,204 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'hatching_report.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
_HatchingReport _$HatchingReportFromJson(Map<String, dynamic> json) =>
_HatchingReport(
id: (json['id'] as num?)?.toInt(),
poultryScience: json['poultry_science'] == null
? null
: PoultryScience.fromJson(
json['poultry_science'] as Map<String, dynamic>,
),
hatching: json['hatching'] == null
? null
: Hatching.fromJson(json['hatching'] as Map<String, dynamic>),
key: json['key'] as String?,
createDate: json['create_date'] as String?,
modifyDate: json['modify_date'] as String?,
trash: json['trash'] as bool?,
date: json['date'] as String?,
image: (json['image'] as List<dynamic>?)
?.map((e) => e as String)
.toList(),
lat: (json['lat'] as num?)?.toDouble(),
log: (json['log'] as num?)?.toDouble(),
reporterFullname: json['reporter_fullname'] as String?,
reporterMobile: json['reporter_mobile'] as String?,
createdBy: json['created_by'] as String?,
modifiedBy: json['modified_by'] as String?,
);
Map<String, dynamic> _$HatchingReportToJson(_HatchingReport instance) =>
<String, dynamic>{
'id': instance.id,
'poultry_science': instance.poultryScience,
'hatching': instance.hatching,
'key': instance.key,
'create_date': instance.createDate,
'modify_date': instance.modifyDate,
'trash': instance.trash,
'date': instance.date,
'image': instance.image,
'lat': instance.lat,
'log': instance.log,
'reporter_fullname': instance.reporterFullname,
'reporter_mobile': instance.reporterMobile,
'created_by': instance.createdBy,
'modified_by': instance.modifiedBy,
};
_PoultryScience _$PoultryScienceFromJson(Map<String, dynamic> json) =>
_PoultryScience(
id: (json['id'] as num?)?.toInt(),
user: json['user'] == null
? null
: User.fromJson(json['user'] as Map<String, dynamic>),
key: json['key'] as String?,
createDate: json['create_date'] as String?,
modifyDate: json['modify_date'] as String?,
trash: json['trash'] as bool?,
createdBy: json['created_by'] as String?,
modifiedBy: json['modified_by'] as String?,
poultry: (json['poultry'] as List<dynamic>?)
?.map((e) => (e as num).toInt())
.toList(),
);
Map<String, dynamic> _$PoultryScienceToJson(_PoultryScience instance) =>
<String, dynamic>{
'id': instance.id,
'user': instance.user,
'key': instance.key,
'create_date': instance.createDate,
'modify_date': instance.modifyDate,
'trash': instance.trash,
'created_by': instance.createdBy,
'modified_by': instance.modifiedBy,
'poultry': instance.poultry,
};
_User _$UserFromJson(Map<String, dynamic> json) => _User(
fullname: json['fullname'] as String?,
mobile: json['mobile'] as String?,
);
Map<String, dynamic> _$UserToJson(_User instance) => <String, dynamic>{
'fullname': instance.fullname,
'mobile': instance.mobile,
};
_Hatching _$HatchingFromJson(Map<String, dynamic> json) => _Hatching(
poultry: json['poultry'] == null
? null
: Poultry.fromJson(json['poultry'] as Map<String, dynamic>),
generalInfo: json['general_info'] == null
? null
: GeneralInfo.fromJson(json['general_info'] as Map<String, dynamic>),
chickenBreed: json['chicken_breed'] as String?,
date: json['date'] as String?,
quantity: (json['quantity'] as num?)?.toInt(),
leftOver: (json['left_over'] as num?)?.toInt(),
period: (json['period'] as num?)?.toInt(),
losses: (json['losses'] as num?)?.toInt(),
violation: json['violation'] as bool?,
licenceNumber: json['licence_number'] as String?,
chickenAge: (json['chicken_age'] as num?)?.toInt(),
vetFarm: json['vet_farm'] == null
? null
: VetFarm.fromJson(json['vet_farm'] as Map<String, dynamic>),
);
Map<String, dynamic> _$HatchingToJson(_Hatching instance) => <String, dynamic>{
'poultry': instance.poultry,
'general_info': instance.generalInfo,
'chicken_breed': instance.chickenBreed,
'date': instance.date,
'quantity': instance.quantity,
'left_over': instance.leftOver,
'period': instance.period,
'losses': instance.losses,
'violation': instance.violation,
'licence_number': instance.licenceNumber,
'chicken_age': instance.chickenAge,
'vet_farm': instance.vetFarm,
};
_VetFarm _$VetFarmFromJson(Map<String, dynamic> json) => _VetFarm(
vetFarmFullname: json['vet_farm_fullname'] as String?,
vetFarmMobile: json['vet_farm_mobile'] as String?,
);
Map<String, dynamic> _$VetFarmToJson(_VetFarm instance) => <String, dynamic>{
'vet_farm_fullname': instance.vetFarmFullname,
'vet_farm_mobile': instance.vetFarmMobile,
};
_Poultry _$PoultryFromJson(Map<String, dynamic> json) => _Poultry(
key: json['key'] as String?,
fullname: json['fullname'] as String?,
mobile: json['mobile'] as String?,
city: json['city'] as String?,
unitName: json['unit_name'] as String?,
killingAveAge: (json['killing_ave_age'] as num?)?.toInt(),
activeLeftOver: (json['active_left_over'] as num?)?.toInt(),
killingAveCount: (json['killing_ave_count'] as num?)?.toInt(),
realKillingAveWeight: (json['real_killing_ave_weight'] as num?)?.toDouble(),
realKillingLiveWeight: (json['real_killing_live_weight'] as num?)?.toDouble(),
realKillingCarcassesWeight: (json['real_killing_carcasses_weight'] as num?)
?.toDouble(),
realKillingLossWeightPercent:
(json['real_killing_loss_weight_percent'] as num?)?.toDouble(),
);
Map<String, dynamic> _$PoultryToJson(_Poultry instance) => <String, dynamic>{
'key': instance.key,
'fullname': instance.fullname,
'mobile': instance.mobile,
'city': instance.city,
'unit_name': instance.unitName,
'killing_ave_age': instance.killingAveAge,
'active_left_over': instance.activeLeftOver,
'killing_ave_count': instance.killingAveCount,
'real_killing_ave_weight': instance.realKillingAveWeight,
'real_killing_live_weight': instance.realKillingLiveWeight,
'real_killing_carcasses_weight': instance.realKillingCarcassesWeight,
'real_killing_loss_weight_percent': instance.realKillingLossWeightPercent,
};
_GeneralInfo _$GeneralInfoFromJson(Map<String, dynamic> json) => _GeneralInfo(
aveAge: (json['ave_age'] as num?)?.toInt(),
age: (json['age'] as num?)?.toInt(),
aveWeight: (json['ave_weight'] as num?)?.toDouble(),
provinceKillRequests: (json['province_kill_requests'] as num?)?.toInt(),
provinceKillRequestsQuantity:
(json['province_kill_requests_quantity'] as num?)?.toInt(),
provinceKillRequestsWeight: (json['province_kill_requests_weight'] as num?)
?.toDouble(),
killHouseRequestsQuantity: (json['kill_house_requests_quantity'] as num?)
?.toInt(),
killHouseRequests: (json['kill_house_requests'] as num?)?.toInt(),
killHouseRequestsWeight: (json['kill_house_requests_weight'] as num?)
?.toDouble(),
totalQuantity: (json['total_quantity'] as num?)?.toInt(),
totalWeight: (json['total_weight'] as num?)?.toDouble(),
);
Map<String, dynamic> _$GeneralInfoToJson(_GeneralInfo instance) =>
<String, dynamic>{
'ave_age': instance.aveAge,
'age': instance.age,
'ave_weight': instance.aveWeight,
'province_kill_requests': instance.provinceKillRequests,
'province_kill_requests_quantity': instance.provinceKillRequestsQuantity,
'province_kill_requests_weight': instance.provinceKillRequestsWeight,
'kill_house_requests_quantity': instance.killHouseRequestsQuantity,
'kill_house_requests': instance.killHouseRequests,
'kill_house_requests_weight': instance.killHouseRequestsWeight,
'total_quantity': instance.totalQuantity,
'total_weight': instance.totalWeight,
};

View File

@@ -1,8 +1,27 @@
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/poultry_science/home_poultry_science/home_poultry_science_model.dart';
import 'package:rasadyar_core/core.dart';
abstract class PoultryScienceRepository {
Future<HomePoultryScienceModel?> getHomePoultryScience({
Future<HomePoultryScienceModel?> getHomePoultry({required String token, required String type});
Future<PaginationModel<HatchingModel>?> getHatchingPoultry({
required String token,
required String type,
Map<String, dynamic>? queryParameters,
});
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
ProgressCallback? onSendProgress,
});
Future<PaginationModel<HatchingReport>?> getHatchingPoultryReport({
required String token,
Map<String, dynamic>? queryParameters,
});
}

View File

@@ -1,5 +1,9 @@
import 'package:rasadyar_chicken/data/data_source/remote/poultry_science/poultry_science_remote.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/poultry_science/home_poultry_science/home_poultry_science_model.dart';
import 'package:rasadyar_core/core.dart';
import 'poultry_science_repository.dart';
class PoultryScienceRepositoryImp implements PoultryScienceRepository {
@@ -8,10 +12,33 @@ class PoultryScienceRepositoryImp implements PoultryScienceRepository {
PoultryScienceRepositoryImp(this.datasource);
@override
Future<HomePoultryScienceModel?> getHomePoultryScience({
Future<HomePoultryScienceModel?> getHomePoultry({
required String token,
required String type,
}) async => await datasource.getHomePoultryScience(token: token, type: type);
@override
Future<PaginationModel<HatchingModel>?> getHatchingPoultry({
required String token,
Map<String, dynamic>? queryParameters,
}) async => await datasource.getHatchingPoultry(token: token, queryParameters: queryParameters);
@override
Future<void> submitPoultryScienceReport({
required String token,
required IFormData data,
ProgressCallback? onSendProgress,
}) async => await datasource.submitPoultryScienceReport(
token: token,
data: data,
onSendProgress: onSendProgress,
);
@override
Future<PaginationModel<HatchingReport>?> getHatchingPoultryReport({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
return await datasource.getPoultryScienceReport(token: token, queryParameters: queryParameters);
}
}