mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
refactor(FE-363): Replace LogisticService with LogisticApi instance
This commit is contained in:
@@ -10,7 +10,7 @@ import DateInput from '@/components/input/DateInput';
|
|||||||
import { AreaApi } from '@/services/api/master-data';
|
import { AreaApi } from '@/services/api/master-data';
|
||||||
import { SupplierApi } from '@/services/api/master-data';
|
import { SupplierApi } from '@/services/api/master-data';
|
||||||
import { ProductApi } from '@/services/api/master-data';
|
import { ProductApi } from '@/services/api/master-data';
|
||||||
import { LogisticService } from '@/services/api/logistic';
|
import { LogisticApi } from '@/services/api/logistic';
|
||||||
import Table from '@/components/Table';
|
import Table from '@/components/Table';
|
||||||
import { ColumnDef } from '@tanstack/react-table';
|
import { ColumnDef } from '@tanstack/react-table';
|
||||||
import { formatCurrency, formatDate } from '@/lib/helper';
|
import { formatCurrency, formatDate } from '@/lib/helper';
|
||||||
@@ -38,11 +38,7 @@ const PurchasesPerSupplierTab = () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// ===== TABLE FILTER STATE =====
|
// ===== TABLE FILTER STATE =====
|
||||||
const {
|
const { state: tableFilterState, updateFilter } = useTableFilter({
|
||||||
state: tableFilterState,
|
|
||||||
updateFilter,
|
|
||||||
toQueryString: getTableFilterQueryString,
|
|
||||||
} = useTableFilter({
|
|
||||||
initial: {
|
initial: {
|
||||||
area_id: '',
|
area_id: '',
|
||||||
supplier_id: '',
|
supplier_id: '',
|
||||||
@@ -158,8 +154,23 @@ const PurchasesPerSupplierTab = () => {
|
|||||||
|
|
||||||
// ===== DATA FETCHING =====
|
// ===== DATA FETCHING =====
|
||||||
const { data: purchasePerSupplier, isLoading } = useSWR(
|
const { data: purchasePerSupplier, isLoading } = useSWR(
|
||||||
`${LogisticService.basePath}/purchase-supplier${getTableFilterQueryString()}`,
|
() =>
|
||||||
LogisticService.getAllFetcher
|
LogisticApi.getLogisticStockReport(
|
||||||
|
tableFilterState.area_id ? Number(tableFilterState.area_id) : undefined,
|
||||||
|
tableFilterState.supplier_id
|
||||||
|
? Number(tableFilterState.supplier_id)
|
||||||
|
: undefined,
|
||||||
|
tableFilterState.product_id
|
||||||
|
? Number(tableFilterState.product_id)
|
||||||
|
: undefined,
|
||||||
|
tableFilterState.received_date || undefined,
|
||||||
|
tableFilterState.po_date || undefined,
|
||||||
|
tableFilterState.start_date || undefined,
|
||||||
|
tableFilterState.end_date || undefined
|
||||||
|
),
|
||||||
|
{
|
||||||
|
revalidateOnFocus: false,
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const data: LogisticPurchasePerSupplier[] = isResponseSuccess(
|
const data: LogisticPurchasePerSupplier[] = isResponseSuccess(
|
||||||
|
|||||||
@@ -2,18 +2,12 @@ import { BaseApiService } from '@/services/api/base';
|
|||||||
import { BaseApiResponse } from '@/types/api/api-general';
|
import { BaseApiResponse } from '@/types/api/api-general';
|
||||||
import { LogisticPurchasePerSupplierReport } from '@/types/api/report/logistic-stock';
|
import { LogisticPurchasePerSupplierReport } from '@/types/api/report/logistic-stock';
|
||||||
|
|
||||||
const baseLogisticApi = new BaseApiService<
|
export class LogisticApiService extends BaseApiService<
|
||||||
LogisticPurchasePerSupplierReport,
|
|
||||||
unknown,
|
|
||||||
unknown
|
|
||||||
>('/reports');
|
|
||||||
|
|
||||||
export class LogisticApi extends BaseApiService<
|
|
||||||
LogisticPurchasePerSupplierReport,
|
LogisticPurchasePerSupplierReport,
|
||||||
unknown,
|
unknown,
|
||||||
unknown
|
unknown
|
||||||
> {
|
> {
|
||||||
constructor(basePath: string = '') {
|
constructor(basePath: string) {
|
||||||
super(basePath);
|
super(basePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,33 +37,4 @@ export class LogisticApi extends BaseApiService<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const LogisticService = {
|
export const LogisticApi = new LogisticApiService('/reports');
|
||||||
basePath: baseLogisticApi.basePath,
|
|
||||||
header: baseLogisticApi.header,
|
|
||||||
getAllFetcher: baseLogisticApi.getAllFetcher.bind(baseLogisticApi),
|
|
||||||
getSingle: baseLogisticApi.getSingle.bind(baseLogisticApi),
|
|
||||||
create: baseLogisticApi.create.bind(baseLogisticApi),
|
|
||||||
update: baseLogisticApi.update.bind(baseLogisticApi),
|
|
||||||
delete: baseLogisticApi.delete.bind(baseLogisticApi),
|
|
||||||
customRequest: baseLogisticApi.customRequest.bind(baseLogisticApi),
|
|
||||||
|
|
||||||
// Custom method for specific endpoint
|
|
||||||
getLogisticStockReport: (
|
|
||||||
area_id?: number,
|
|
||||||
supplier_id?: number,
|
|
||||||
product_id?: number,
|
|
||||||
received_date?: string,
|
|
||||||
po_date?: string,
|
|
||||||
start_date?: string,
|
|
||||||
end_date?: string
|
|
||||||
) =>
|
|
||||||
new LogisticApi().getLogisticStockReport(
|
|
||||||
area_id,
|
|
||||||
supplier_id,
|
|
||||||
product_id,
|
|
||||||
received_date,
|
|
||||||
po_date,
|
|
||||||
start_date,
|
|
||||||
end_date
|
|
||||||
),
|
|
||||||
};
|
|
||||||
|
|||||||
Reference in New Issue
Block a user