데이터불러오기기
This commit is contained in:
@@ -148,6 +148,16 @@ function formatKoreanDateFromYMD(ymd) {
|
||||
return `${yyyy}. ${mm}. ${dd}.`;
|
||||
}
|
||||
|
||||
// '2025. 9. 1.' → '20250901' 로 변환
|
||||
function dotKoreanDateToYMD(dot) {
|
||||
const m = dot?.match(/^(\d{4})\.\s*(\d{1,2})\.\s*(\d{1,2})\.?$/);
|
||||
if (!m) return null;
|
||||
const yyyy = m[1];
|
||||
const mm = String(parseInt(m[2], 10)).padStart(2, '0');
|
||||
const dd = String(parseInt(m[3], 10)).padStart(2, '0');
|
||||
return `${yyyy}${mm}${dd}`;
|
||||
}
|
||||
|
||||
// 입력칸의 기존 값을 지우고 새 값 입력
|
||||
async function clearAndType(inputLocator, page, value) {
|
||||
await inputLocator.click();
|
||||
@@ -179,6 +189,13 @@ async function configureDateRangeSingleDay(page, ymdTarget) {
|
||||
await clearAndType(startInput, page, endVal);
|
||||
startVal = endVal;
|
||||
} else if (ymdTarget) {
|
||||
// 최신 종료일(=현재 UI가 가진 가장 최근 일자)과 비교하여 이후면 에러
|
||||
const latestEndVal = await endInput.inputValue();
|
||||
const latestYmd = dotKoreanDateToYMD(latestEndVal);
|
||||
if (!latestYmd) throw new Error('최신 종료일 파싱에 실패했습니다.');
|
||||
if (!/^\d{8}$/.test(ymdTarget)) throw new Error('잘못된 날짜 형식입니다. (예: 20250901)');
|
||||
if (ymdTarget > latestYmd) throw new Error(`요청한 날짜(${ymdTarget})가 최신 데이터(${latestYmd})보다 이후입니다.`);
|
||||
|
||||
const formatted = formatKoreanDateFromYMD(ymdTarget);
|
||||
if (!formatted) throw new Error(`잘못된 날짜 형식입니다. (예: 20250901)`);
|
||||
// 시작/종료 모두 동일 날짜로 설정
|
||||
|
||||
Reference in New Issue
Block a user