From 4a8f2b1e1d8d23327e40579f53c8efba874857f2 Mon Sep 17 00:00:00 2001 From: rstubryan Date: Thu, 18 Dec 2025 15:49:01 +0700 Subject: [PATCH] feat(FE-345): Add HPP expedition types and API method --- src/services/api/closing.ts | 23 +++++++++++++++++++++++ src/types/api/closing.d.ts | 17 +++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/services/api/closing.ts b/src/services/api/closing.ts index 9bd8e7af..86091bac 100644 --- a/src/services/api/closing.ts +++ b/src/services/api/closing.ts @@ -8,6 +8,7 @@ import { ClosingOutgoingSapronak, ClosingOverhead, ClosingSapronakCalculation, + ClosingCostOfRevenueExpedition, } from '@/types/api/closing'; import { httpClient, httpClientFetcher } from '@/services/http/client'; import { BaseApiResponse } from '@/types/api/api-general'; @@ -194,6 +195,28 @@ export class ClosingApiService extends BaseApiService { return undefined; } } + + async getHppEkspedisi( + id: number + ): Promise | undefined> { + try { + const getHppEkspedisiPath = `${this.basePath}/${id}/hpp-ekspedisi`; + const getHppEkspedisiRes = + await httpClient>( + getHppEkspedisiPath + ); + return getHppEkspedisiRes; + } catch (error) { + if ( + axios.isAxiosError>( + error + ) + ) { + return error.response?.data; + } + return undefined; + } + } } export const ClosingApi = new ClosingApiService('/closings'); diff --git a/src/types/api/closing.d.ts b/src/types/api/closing.d.ts index 42f870bd..f5c8c507 100644 --- a/src/types/api/closing.d.ts +++ b/src/types/api/closing.d.ts @@ -142,3 +142,20 @@ export type OverheadTotal = { actual_total_amount: number; cost_per_bird: number; }; + +export type BaseCostOfRevenueExpedition = { + id: number; + expedition_vendor_id: number; + expedition_vendor_name: string; + qty: number; + unit_price: number; + hpp_amount: number; +}; + +export type BaseClosingCostOfRevenueExpedition = { + expedition_costs: BaseCostOfRevenueExpedition[]; + total_hpp_amount: number; +}; + +export type ClosingCostOfRevenueExpedition = BaseMetadata & + BaseClosingCostOfRevenueExpedition;