formId: frmUploadValidation title: 업로드/검증 route: uploads authority: OPERATOR layout: width: 1440 height: 900 datasets: - id: dsUploadBatches columns: - { id: id, type: INT } - { id: templateCode, type: STRING } - { id: fiscalPeriod, type: STRING } - { id: statusCode, type: STRING } - { id: originalFilename, type: STRING } - { id: rowCount, type: INT } - { id: errorCount, type: INT } - { id: uploadedAt, type: STRING } - id: dsIssues columns: - { id: rowNumber, type: INT } - { id: issueCode, type: STRING } - { id: issueMessage, type: STRING } - { id: severityCode, type: STRING } components: - id: cboTemplate type: Combo prompt: 템플릿 구분 left: 36 top: 108 width: 220 height: 38 - id: edtFiscalPeriod type: Edit prompt: 회계기간 (YYYY-MM) left: 274 top: 108 width: 140 height: 38 - id: fileUpload type: FileUpload prompt: 업로드 파일 left: 432 top: 108 width: 480 height: 38 - id: btnUpload type: Button text: 파일 업로드 left: 930 top: 108 width: 140 height: 38 - id: btnReloadUploads type: Button text: 내역 새로고침 left: 1086 top: 108 width: 140 height: 38 grids: - id: grdUploadBatches title: 업로드 이력 dataset: dsUploadBatches left: 36 top: 176 width: 1368 height: 270 columns: - { id: id, text: 배치ID } - { id: templateCode, text: 템플릿 } - { id: fiscalPeriod, text: 회계기간 } - { id: statusCode, text: 상태 } - { id: originalFilename, text: 파일명 } - { id: rowCount, text: 건수 } - { id: errorCount, text: 오류건수 } - { id: uploadedAt, text: 업로드시각 } - id: grdIssues title: 오류내역 dataset: dsIssues left: 36 top: 486 width: 1368 height: 300 columns: - { id: rowNumber, text: 행번호 } - { id: issueCode, text: 오류코드 } - { id: issueMessage, text: 오류메시지 } - { id: severityCode, text: 등급 } transactions: - id: txLoadUploadOverview method: GET endpoint: /api/tx/uploads/overview datasets: - dsUploadBatches - dsIssues actions: - id: actUpload label: 파일 업로드 method: POST endpoint: /api/uploads successMessage: 업로드 요청이 접수되었습니다. messages: - code: UPLOAD_HINT level: INFO text: invalid 샘플로 오류 시나리오를 확인한 뒤 valid 샘플을 재업로드합니다.