fetchCowsCntByStatus method Null safety
일령별 소 상태를 가져옵니다.
Implementation
Future<CowStatus> fetchCowsCntByStatus({
/// 상태를 가져올 타겟 날짜입니다
required DateTime targetAt,
/// 시작 일령 값 입니다.
/// 예를 들어 1일령 이상 15일령 이하 개체들의 개체상태를 가져오고 싶다면
/// 1일령이 시작 일령 값이고 15일령이 끝 일령 값입니다.
required int dayAfterBirthStart,
/// 끝 일령 값 입니다.
required int dayAfterBirthEnd,
/// 소데이터와 Join을 할것인지(true) 하지않을것(false)인지를 나타내는 파라메터입니다.
/// Join을 하게되면 targetAt 날짜에 소데이터가 없는 개체들의 상태는 카운팅하지 않습니다.
/// 홈화면에서는 이 값이 false이고
/// 개체현황 화면에서는 이 값이 true입니다.
bool joinCowData = false,
}) async {
LogManager().addLog("fetchCowsCntByStatus", screen: runtimeType.toString());
try {
final Map<String, dynamic> body = await reqGET(
path: '/api/cows/count_by_status',
queryParameters: {
"farm_id": farmState.currentFarm!.id,
"target_at": DateFormat(StringConstants.timeYMDDashFormat).format(targetAt),
"day_after_birth_start": dayAfterBirthStart.toString(),
"day_after_birth_end": dayAfterBirthEnd.toString(),
"join_cow_data": joinCowData.toString(),
},
);
CowStatus cowStatus = CowStatus.fromJson(body);
return cowStatus;
} catch (e) {
LogManager().addLog('fetchCowsCntByStatus call failed: $e', screen: runtimeType.toString());
rethrow;
}
}