106 lines
2.2 KiB
TypeScript
106 lines
2.2 KiB
TypeScript
import apiClient from "../api-client";
|
|
|
|
/**
|
|
* MPT(혈액화학검사) 결과 DTO
|
|
*/
|
|
export interface MptDto {
|
|
pkMptNo: number;
|
|
cowShortNo: string;
|
|
fkFarmNo: number;
|
|
testDt: string;
|
|
monthAge: number;
|
|
milkYield: number;
|
|
parity: number;
|
|
// 에너지 대사
|
|
glucose: number;
|
|
cholesterol: number;
|
|
nefa: number;
|
|
bcs: number;
|
|
// 단백질 대사
|
|
totalProtein: number;
|
|
albumin: number;
|
|
globulin: number;
|
|
agRatio: number;
|
|
bun: number;
|
|
// 간기능
|
|
ast: number;
|
|
ggt: number;
|
|
fattyLiverIdx: number;
|
|
// 미네랄
|
|
calcium: number;
|
|
phosphorus: number;
|
|
caPRatio: number;
|
|
magnesium: number;
|
|
creatine: number;
|
|
// Relations
|
|
farm?: {
|
|
pkFarmNo: number;
|
|
farmerName: string;
|
|
};
|
|
}
|
|
|
|
/**
|
|
* MPT(혈액화학검사) 관련 API
|
|
*/
|
|
export const mptApi = {
|
|
/**
|
|
* GET /mpt - 전체 검사 결과 목록
|
|
*/
|
|
findAll: async (): Promise<MptDto[]> => {
|
|
return await apiClient.get("/mpt");
|
|
},
|
|
|
|
/**
|
|
* GET /mpt?farmId=:farmId - 특정 농장의 검사 결과
|
|
*/
|
|
findByFarmId: async (farmId: number): Promise<MptDto[]> => {
|
|
return await apiClient.get("/mpt", {
|
|
params: { farmId },
|
|
});
|
|
},
|
|
|
|
/**
|
|
* GET /mpt?cowShortNo=:cowShortNo - 특정 개체의 검사 결과
|
|
*/
|
|
findByCowShortNo: async (cowShortNo: string): Promise<MptDto[]> => {
|
|
return await apiClient.get("/mpt", {
|
|
params: { cowShortNo },
|
|
});
|
|
},
|
|
|
|
/**
|
|
* GET /mpt/:id - 검사 결과 상세 조회
|
|
*/
|
|
findOne: async (id: number): Promise<MptDto> => {
|
|
return await apiClient.get(`/mpt/${id}`);
|
|
},
|
|
|
|
/**
|
|
* POST /mpt - 검사 결과 생성
|
|
*/
|
|
create: async (data: Partial<MptDto>): Promise<MptDto> => {
|
|
return await apiClient.post("/mpt", data);
|
|
},
|
|
|
|
/**
|
|
* POST /mpt/bulk - 검사 결과 일괄 생성
|
|
*/
|
|
bulkCreate: async (data: Partial<MptDto>[]): Promise<MptDto[]> => {
|
|
return await apiClient.post("/mpt/bulk", data);
|
|
},
|
|
|
|
/**
|
|
* PUT /mpt/:id - 검사 결과 수정
|
|
*/
|
|
update: async (id: number, data: Partial<MptDto>): Promise<MptDto> => {
|
|
return await apiClient.put(`/mpt/${id}`, data);
|
|
},
|
|
|
|
/**
|
|
* DELETE /mpt/:id - 검사 결과 삭제
|
|
*/
|
|
remove: async (id: number): Promise<void> => {
|
|
return await apiClient.delete(`/mpt/${id}`);
|
|
},
|
|
};
|