feat(FE-319): Refactor recording types and simplify payloads

This commit is contained in:
rstubryan
2025-12-08 23:33:34 +07:00
parent 2e6a724b2f
commit 545af8267a
+4 -42
View File
@@ -9,8 +9,7 @@ export type ProductionMetrics = {
cum_intake: number; cum_intake: number;
fcr_value: number; fcr_value: number;
total_chick_qty: number; total_chick_qty: number;
daily_depletion_rate?: number; cum_depletion: number;
cum_depletion?: number;
}; };
export type BaseRecording = { export type BaseRecording = {
@@ -18,43 +17,33 @@ export type BaseRecording = {
project_flock_kandang_id: number; project_flock_kandang_id: number;
record_datetime: string; record_datetime: string;
day: number; day: number;
created_by: User; project_flock_category?: 'GROWING' | 'LAYING';
} & ProductionMetrics; } & ProductionMetrics;
export type RecordingBW = { export type RecordingBW = {
id: number;
recording_id: number;
avg_weight: number; avg_weight: number;
qty: number; qty: number;
total_weight: number; total_weight: number;
}; };
export type RecordingDepletion = { export type RecordingDepletion = {
id: number;
recording_id: number;
product_warehouse_id: number; product_warehouse_id: number;
qty: number; qty: number;
product_warehouse: ProductWarehouse; product_warehouse: ProductWarehouse;
}; };
export type RecordingStock = { export type RecordingStock = {
id: number;
recording_id: number;
product_warehouse_id: number; product_warehouse_id: number;
usage_amount?: number; usage_amount?: number;
usage_qty: number;
qty: number;
pending_qty: number; pending_qty: number;
product_warehouse: ProductWarehouse; product_warehouse: ProductWarehouse;
}; };
export type RecordingEgg = { export type RecordingEgg = {
id: number; id: number;
recording_id: number;
product_warehouse_id: number; product_warehouse_id: number;
qty: number; qty: number;
weight: number; weight: number;
created_by: User;
product_warehouse: ProductWarehouse; product_warehouse: ProductWarehouse;
gradings?: { gradings?: {
grade: string; grade: string;
@@ -72,19 +61,12 @@ export type GradingEgg = {
export type Recording = BaseMetadata & export type Recording = BaseMetadata &
BaseRecording & { BaseRecording & {
project_flock_category?: 'GROWING' | 'LAYING';
approval?: BaseApproval; approval?: BaseApproval;
egg_grading_status?: string | null; created_user: User;
egg_grading_pending_qty?: number | null;
egg_grading_completed_qty?: number | null;
body_weights?: RecordingBW[]; body_weights?: RecordingBW[];
depletions?: RecordingDepletion[]; depletions?: RecordingDepletion[];
stocks?: RecordingStock[]; stocks?: RecordingStock[];
eggs?: RecordingEgg[]; eggs?: RecordingEgg[];
recording_bws?: RecordingBW[];
recording_depletions?: RecordingDepletion[];
recording_stocks?: RecordingStock[];
recording_eggs?: RecordingEgg[];
grading_eggs?: GradingEgg[]; grading_eggs?: GradingEgg[];
}; };
@@ -109,24 +91,6 @@ export type CreateGrowingRecordingPayload = {
}[]; }[];
}; };
export type CreateGradingPayload = {
eggs_grading: {
recording_egg_id: number;
grade: string;
qty: number;
}[];
};
export type UpdateGradingPayload = CreateGradingPayload;
export type CreateGradingRecordingPayload = {
eggs_grading: {
recording_egg_id: number;
grade: string;
qty: number;
}[];
};
export type CreateEggPayload = { export type CreateEggPayload = {
product_warehouse_id: number; product_warehouse_id: number;
qty: number; qty: number;
@@ -139,11 +103,9 @@ export type CreateLayingRecordingPayload = CreateGrowingRecordingPayload & {
export type CreateRecordingPayload = export type CreateRecordingPayload =
| CreateGrowingRecordingPayload | CreateGrowingRecordingPayload
| CreateLayingRecordingPayload | CreateLayingRecordingPayload;
| CreateGradingRecordingPayload;
export type UpdateGrowingRecordingPayload = CreateGrowingRecordingPayload; export type UpdateGrowingRecordingPayload = CreateGrowingRecordingPayload;
export type UpdateLayingRecordingPayload = CreateLayingRecordingPayload; export type UpdateLayingRecordingPayload = CreateLayingRecordingPayload;
export type UpdateGradingRecordingPayload = CreateGradingRecordingPayload;
export type UpdateRecordingPayload = CreateRecordingPayload; export type UpdateRecordingPayload = CreateRecordingPayload;