share job
This commit is contained in:
89
frontend/src/lib/api/wtime.ts
Normal file
89
frontend/src/lib/api/wtime.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
import { apiClient } from './client';
|
||||
|
||||
// ─────────── Types ───────────
|
||||
|
||||
export interface WtimeItem {
|
||||
workPlanYymmdd: string;
|
||||
planWorkCd: string;
|
||||
workCd: string;
|
||||
realWorkCd: string;
|
||||
workStartDt: string;
|
||||
workEndDt: string;
|
||||
abtiYn: string;
|
||||
otRctnYn: string;
|
||||
elRctnYn: string;
|
||||
totWorkMin: number;
|
||||
lateMin: number;
|
||||
skipoffRemnBzMin: number;
|
||||
incluWorkOtMin: number;
|
||||
otWorkMin: number;
|
||||
ngtOtMin: number;
|
||||
outingMin: number;
|
||||
holidayLateMin: number;
|
||||
realStartDt: string;
|
||||
realEndDt: string;
|
||||
getoffworkTmNm: string;
|
||||
usrId: string;
|
||||
usrNm: string;
|
||||
teamCd: string;
|
||||
dutyCd: string;
|
||||
}
|
||||
|
||||
export interface WstatItem {
|
||||
usrId: string;
|
||||
usrNm: string;
|
||||
teamCd: string;
|
||||
dutyCd: string;
|
||||
workDcnt: number;
|
||||
abtiDcnt: number;
|
||||
yyctDeduDcnt: number;
|
||||
lateDcnt: number;
|
||||
skipoffDcnt: number;
|
||||
sickleaveDcnt: number;
|
||||
totWorkMin: number;
|
||||
lateMin: number;
|
||||
skipoffRemnBzMin: number;
|
||||
incluWorkOtMin: number;
|
||||
otWorkMin: number;
|
||||
ngtOtMin: number;
|
||||
outingDcnt: number;
|
||||
outingMin: number;
|
||||
yyvctCnt: number;
|
||||
}
|
||||
|
||||
// 분 → hh:mm
|
||||
export function minToHhmm(min: number): string {
|
||||
if (!min) return '0:00';
|
||||
const h = Math.floor(min / 60);
|
||||
const m = min % 60;
|
||||
return `${h}:${String(m).padStart(2, '0')}`;
|
||||
}
|
||||
|
||||
// ─────────── API ───────────
|
||||
|
||||
export async function getWtimeList(params: {
|
||||
staYmd: string;
|
||||
endYmd: string;
|
||||
usrId?: string;
|
||||
usrNm?: string;
|
||||
teamCd?: string;
|
||||
dutyCd?: string;
|
||||
includeRetireYn?: string;
|
||||
includeWorkYn?: string;
|
||||
}): Promise<WtimeItem[]> {
|
||||
const res = await apiClient.get('/wtime/0010', { params });
|
||||
return res.data.data;
|
||||
}
|
||||
|
||||
export async function getWstatList(params: {
|
||||
staYmd: string;
|
||||
endYmd: string;
|
||||
usrId?: string;
|
||||
usrNm?: string;
|
||||
teamCd?: string;
|
||||
dutyCd?: string;
|
||||
includeRetireYn?: string;
|
||||
}): Promise<WstatItem[]> {
|
||||
const res = await apiClient.get('/wtime/0030', { params });
|
||||
return res.data.data;
|
||||
}
|
||||
Reference in New Issue
Block a user