feat(FE-345): Add HPP expedition types and API method

This commit is contained in:
rstubryan
2025-12-18 15:49:01 +07:00
parent ecf1677c27
commit 4a8f2b1e1d
2 changed files with 40 additions and 0 deletions
+23
View File
@@ -8,6 +8,7 @@ import {
ClosingOutgoingSapronak, ClosingOutgoingSapronak,
ClosingOverhead, ClosingOverhead,
ClosingSapronakCalculation, ClosingSapronakCalculation,
ClosingCostOfRevenueExpedition,
} from '@/types/api/closing'; } from '@/types/api/closing';
import { httpClient, httpClientFetcher } from '@/services/http/client'; import { httpClient, httpClientFetcher } from '@/services/http/client';
import { BaseApiResponse } from '@/types/api/api-general'; import { BaseApiResponse } from '@/types/api/api-general';
@@ -194,6 +195,28 @@ export class ClosingApiService extends BaseApiService<Closing, null, null> {
return undefined; return undefined;
} }
} }
async getHppEkspedisi(
id: number
): Promise<BaseApiResponse<ClosingCostOfRevenueExpedition> | undefined> {
try {
const getHppEkspedisiPath = `${this.basePath}/${id}/hpp-ekspedisi`;
const getHppEkspedisiRes =
await httpClient<BaseApiResponse<ClosingCostOfRevenueExpedition>>(
getHppEkspedisiPath
);
return getHppEkspedisiRes;
} catch (error) {
if (
axios.isAxiosError<BaseApiResponse<ClosingCostOfRevenueExpedition>>(
error
)
) {
return error.response?.data;
}
return undefined;
}
}
} }
export const ClosingApi = new ClosingApiService('/closings'); export const ClosingApi = new ClosingApiService('/closings');
+17
View File
@@ -142,3 +142,20 @@ export type OverheadTotal = {
actual_total_amount: number; actual_total_amount: number;
cost_per_bird: 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;