[as] feat: 재원분담 API 추가
This commit is contained in:
@@ -16,6 +16,7 @@ export interface AcntgSeMngResponseDto {
|
||||
cdLvNo: number;
|
||||
useYn: string;
|
||||
expln?: string;
|
||||
sortSeq?: number;
|
||||
rgtr?: string;
|
||||
rgtrNm?: string;
|
||||
mdfr?: string;
|
||||
@@ -39,6 +40,7 @@ export interface AcntgSeMngSaveRequestDto {
|
||||
cdLvNo: number;
|
||||
useYn?: string;
|
||||
expln?: string;
|
||||
sortSeq?: number;
|
||||
}
|
||||
|
||||
/** PUT /{acntgSeCd} 요청 (mode는 서비스에서 U로 설정) */
|
||||
|
||||
@@ -16,6 +16,7 @@ export interface CnstpSeMngResponseDto {
|
||||
cdLvNo: number;
|
||||
useYn: string;
|
||||
expln?: string;
|
||||
sortSeq?: number;
|
||||
rgtr?: string;
|
||||
rgtrNm?: string;
|
||||
mdfr?: string;
|
||||
@@ -39,6 +40,7 @@ export interface CnstpSeMngSaveRequestDto {
|
||||
cdLvNo?: number;
|
||||
useYn?: string;
|
||||
expln?: string;
|
||||
sortSeq?: number;
|
||||
}
|
||||
|
||||
/** PUT /{cnstpSeCd} 요청 (mode는 서비스에서 U로 설정) */
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
import { client } from "@/shared/api";
|
||||
import { ENDPOINT } from "@/shared/config";
|
||||
import type { PageResponse } from "@/shared/model";
|
||||
|
||||
import {
|
||||
FNRS_SHAR_SE_SAVE_MODE,
|
||||
type FnrsSharBizCstTreeDto,
|
||||
type FnrsSharSeMngResponseDto,
|
||||
type FnrsSharSeMngSaveRequestDto,
|
||||
type FnrsSharSeMngSearchDto,
|
||||
type FnrsSharSeMngService,
|
||||
type FnrsSharSeMngTreeDto,
|
||||
} from "../model/fnrs-shar-se-interface";
|
||||
|
||||
const BASE = ENDPOINT.AS_SERVICE.FNRS_SHAR_SE;
|
||||
|
||||
async function findAll(
|
||||
params: FnrsSharSeMngSearchDto,
|
||||
): Promise<PageResponse<FnrsSharSeMngResponseDto>> {
|
||||
const response = await client.get<PageResponse<FnrsSharSeMngResponseDto>>(BASE, { params });
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function findTree(): Promise<FnrsSharSeMngTreeDto[]> {
|
||||
const response = await client.get<FnrsSharSeMngTreeDto[]>(`${BASE}/list/tree`);
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function findById(fnrsSharSeCd: string): Promise<FnrsSharSeMngResponseDto> {
|
||||
const response = await client.get<FnrsSharSeMngResponseDto>(`${BASE}/${fnrsSharSeCd}`);
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function saveMulti(
|
||||
body: FnrsSharSeMngSaveRequestDto[],
|
||||
): Promise<FnrsSharSeMngResponseDto[]> {
|
||||
const response = await client.post<FnrsSharSeMngResponseDto[]>(BASE, body);
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function update(fnrsSharSeCd: string, body: FnrsSharSeMngSaveRequestDto): Promise<string> {
|
||||
const response = await client.put<string>(`${BASE}/${fnrsSharSeCd}`, {
|
||||
...body,
|
||||
fnrsSharSeCd,
|
||||
mode: FNRS_SHAR_SE_SAVE_MODE.UPDATE,
|
||||
});
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function deleteFnrsSharSeCd(fnrsSharSeCd: string): Promise<string> {
|
||||
const response = await client.delete<string>(`${BASE}/${fnrsSharSeCd}`);
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async function findTreeFnrsShar(fnrsCnsltnDocNo: string): Promise<FnrsSharBizCstTreeDto[]> {
|
||||
const response = await client.get<FnrsSharBizCstTreeDto[]>(
|
||||
`${BASE}/list/tree/fnrs-shar/${fnrsCnsltnDocNo}`,
|
||||
);
|
||||
return response.data;
|
||||
}
|
||||
|
||||
export const fnrsSharSeMngService = {
|
||||
findAll,
|
||||
findTree,
|
||||
findById,
|
||||
saveMulti,
|
||||
update,
|
||||
delete: deleteFnrsSharSeCd,
|
||||
findTreeFnrsShar,
|
||||
} satisfies FnrsSharSeMngService;
|
||||
@@ -0,0 +1,85 @@
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
|
||||
import { ENDPOINT } from "@/shared/config";
|
||||
|
||||
import type {
|
||||
FnrsSharSeMngSaveRequestDto,
|
||||
FnrsSharSeMngSearchDto,
|
||||
} from "../model/fnrs-shar-se-interface";
|
||||
|
||||
import { fnrsSharSeMngService } from "./fnrs-shar-se-service";
|
||||
|
||||
const fnrsSharSeMngBaseKey = [ENDPOINT.AS_SERVICE.FNRS_SHAR_SE] as const;
|
||||
|
||||
export function useFnrsSharSeMngPage(params: FnrsSharSeMngSearchDto) {
|
||||
return useQuery({
|
||||
queryKey: [...fnrsSharSeMngBaseKey, "findAll", params],
|
||||
queryFn: () => fnrsSharSeMngService.findAll(params),
|
||||
});
|
||||
}
|
||||
|
||||
export function useFnrsSharSeMngTree() {
|
||||
return useQuery({
|
||||
queryKey: [...fnrsSharSeMngBaseKey, "findTree"],
|
||||
queryFn: () => fnrsSharSeMngService.findTree(),
|
||||
staleTime: Infinity,
|
||||
});
|
||||
}
|
||||
|
||||
export function useFnrsSharSeMng(fnrsSharSeCd: string | null | undefined) {
|
||||
return useQuery({
|
||||
queryKey: [...fnrsSharSeMngBaseKey, "findById", fnrsSharSeCd],
|
||||
queryFn: () => fnrsSharSeMngService.findById(fnrsSharSeCd!),
|
||||
enabled: Boolean(fnrsSharSeCd),
|
||||
});
|
||||
}
|
||||
|
||||
export function useSaveMultiFnrsSharSeMng() {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: (body: FnrsSharSeMngSaveRequestDto[]) => fnrsSharSeMngService.saveMulti(body),
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: fnrsSharSeMngBaseKey });
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function useUpdateFnrsSharSeMng() {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: ({
|
||||
fnrsSharSeCd,
|
||||
body,
|
||||
}: {
|
||||
fnrsSharSeCd: string;
|
||||
body: FnrsSharSeMngSaveRequestDto;
|
||||
}) => fnrsSharSeMngService.update(fnrsSharSeCd, body),
|
||||
onSuccess: (_data, { fnrsSharSeCd }) => {
|
||||
queryClient.invalidateQueries({ queryKey: fnrsSharSeMngBaseKey });
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: [...fnrsSharSeMngBaseKey, "findById", fnrsSharSeCd],
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function useDeleteFnrsSharSeMng() {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: (fnrsSharSeCd: string) => fnrsSharSeMngService.delete(fnrsSharSeCd),
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: fnrsSharSeMngBaseKey });
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function useFnrsSharBizCstTree(fnrsCnsltnDocNo: string | null | undefined) {
|
||||
return useQuery({
|
||||
queryKey: [...fnrsSharSeMngBaseKey, "findTreeFnrsShar", fnrsCnsltnDocNo],
|
||||
queryFn: () => fnrsSharSeMngService.findTreeFnrsShar(fnrsCnsltnDocNo!),
|
||||
enabled: Boolean(fnrsCnsltnDocNo),
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
export { fnrsSharSeMngService } from "./api/fnrs-shar-se-service";
|
||||
export {
|
||||
useDeleteFnrsSharSeMng,
|
||||
useFnrsSharBizCstTree,
|
||||
useFnrsSharSeMng,
|
||||
useFnrsSharSeMngPage,
|
||||
useFnrsSharSeMngTree,
|
||||
useSaveMultiFnrsSharSeMng,
|
||||
useUpdateFnrsSharSeMng,
|
||||
} from "./api/queries";
|
||||
export type {
|
||||
FnrsSharBizCstTreeDto,
|
||||
FnrsSharSeMngResponseDto,
|
||||
FnrsSharSeMngSaveRequestDto,
|
||||
FnrsSharSeMngSearchDto,
|
||||
FnrsSharSeMngService,
|
||||
FnrsSharSeMngTreeDto,
|
||||
FnrsSharSeSaveMode,
|
||||
} from "./model/fnrs-shar-se-interface";
|
||||
export { FNRS_SHAR_SE_SAVE_MODE } from "./model/fnrs-shar-se-interface";
|
||||
@@ -0,0 +1,83 @@
|
||||
import type { PageableParams, PageResponse } from "@/shared/model";
|
||||
|
||||
export const FNRS_SHAR_SE_SAVE_MODE = {
|
||||
CREATE: "C",
|
||||
UPDATE: "U",
|
||||
DELETE: "D",
|
||||
} as const;
|
||||
|
||||
export type FnrsSharSeSaveMode = (typeof FNRS_SHAR_SE_SAVE_MODE)[keyof typeof FNRS_SHAR_SE_SAVE_MODE];
|
||||
|
||||
/** 백엔드 FnrsSharSeMngResponseDto */
|
||||
export interface FnrsSharSeMngResponseDto {
|
||||
fnrsSharSeCd: string;
|
||||
fnrsSharSeCdNm: string;
|
||||
upFnrsSharSeCd?: string;
|
||||
cdLvNo: number;
|
||||
useYn: string;
|
||||
expln?: string;
|
||||
sortSeq?: number;
|
||||
rgtr?: string;
|
||||
rgtrNm?: string;
|
||||
mdfr?: string;
|
||||
regDt?: string;
|
||||
mdfcnDt?: string;
|
||||
}
|
||||
|
||||
/** 백엔드 FnrsSharSeMngSearchDto + Pageable */
|
||||
export interface FnrsSharSeMngSearchDto extends PageableParams {
|
||||
fnrsSharSeCd?: string;
|
||||
fnrsSharSeCdNm?: string;
|
||||
useYn?: string;
|
||||
}
|
||||
|
||||
/** 백엔드 FnrsSharSeMngSaveRequestDto */
|
||||
export interface FnrsSharSeMngSaveRequestDto {
|
||||
fnrsSharSeCd: string;
|
||||
mode: FnrsSharSeSaveMode;
|
||||
fnrsSharSeCdNm: string;
|
||||
upFnrsSharSeCd?: string;
|
||||
cdLvNo: number;
|
||||
useYn?: string;
|
||||
expln?: string;
|
||||
sortSeq?: number;
|
||||
}
|
||||
|
||||
/** 백엔드 FnrsSharSeMngTreeDto */
|
||||
export interface FnrsSharSeMngTreeDto {
|
||||
indFnrsSharSeCdNm: string;
|
||||
fnrsSharSeCd: string;
|
||||
fnrsSharSeCdNm: string;
|
||||
upFnrsSharSeCd?: string;
|
||||
useYn: string;
|
||||
treeLevel: number;
|
||||
treePath: string;
|
||||
sortPath: string;
|
||||
}
|
||||
|
||||
/** 백엔드 FnrsSharBizCstTreeDto */
|
||||
export interface FnrsSharBizCstTreeDto {
|
||||
indFnrsSharSeCdNm: string;
|
||||
fnrsSharSeCd: string;
|
||||
fnrsSharSeCdNm: string;
|
||||
useYn: string;
|
||||
treeLevel: number;
|
||||
treePath: string;
|
||||
sortPath: string;
|
||||
exstnAmt?: number;
|
||||
chgRqtAmt?: number;
|
||||
ajmtAmt?: number;
|
||||
rmrkCn?: string;
|
||||
envoRmrkCn?: string;
|
||||
}
|
||||
|
||||
/** Controller public 메서드명·시그니처와 동일 */
|
||||
export interface FnrsSharSeMngService {
|
||||
findAll(params: FnrsSharSeMngSearchDto): Promise<PageResponse<FnrsSharSeMngResponseDto>>;
|
||||
findTree(): Promise<FnrsSharSeMngTreeDto[]>;
|
||||
findById(fnrsSharSeCd: string): Promise<FnrsSharSeMngResponseDto>;
|
||||
saveMulti(body: FnrsSharSeMngSaveRequestDto[]): Promise<FnrsSharSeMngResponseDto[]>;
|
||||
update(fnrsSharSeCd: string, body: FnrsSharSeMngSaveRequestDto): Promise<string>;
|
||||
delete(fnrsSharSeCd: string): Promise<string>;
|
||||
findTreeFnrsShar(fnrsCnsltnDocNo: string): Promise<FnrsSharBizCstTreeDto[]>;
|
||||
}
|
||||
@@ -16,6 +16,7 @@ export const ENDPOINT = {
|
||||
CKLST_RVW: "/as-service/api/v1/cklst-rvw",
|
||||
ADSTDSTR: "/as-service/api/v1/adstdstr",
|
||||
FNRS_CNSLTN_MNG: "/as-service/api/v1/fnrs-cnsltn-mng",
|
||||
FNRS_SHAR_SE: "/as-service/api/v1/fnrs-shar-se-mng",
|
||||
},
|
||||
USER_SERVICE: {
|
||||
LOGIN: "/user-service/login",
|
||||
|
||||
Reference in New Issue
Block a user