share job

This commit is contained in:
JAE SIK CHO
2026-04-09 11:12:12 +09:00
commit f8427ee1d0
193 changed files with 23830 additions and 0 deletions

View 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;
}