| # | Field Name | Deskripsi | Contoh | Validasi |
|---|---|---|---|---|
| 1 | name | Nama lengkap karyawan | AHMAD RESKI |
REQUIRED
Tidak boleh kosong
|
| 2 | Alamat email | [email protected] |
REQUIRED
UNIQUE
Format email valid
|
|
| 3 | phone | Nomor HP | 081234567890 |
REQUIRED
Format 08xxx, 9-13 digit
|
| 4 | password | Password untuk login | ESBCGT |
REQUIRED
Minimal 6 karakter
|
| 5 | nik | NIK KTP | 1401202505060002 |
REQUIRED
UNIQUE
Harus 16 digit angka
|
| 6 | opsId | ID Operasional | SPX-12345 atau SCP001 |
REQUIRED
UNIQUE per PREFIX
Format: PREFIX-NUMBER atau PREFIXNUMBER
Contoh: SPX-12345, SCP001, BMT-999 Prefix otomatis di-extract dari opsId |
| 7 | startDate | Tanggal mulai shift | 01/01/2025 |
REQUIRED
Format: DD/MM/YYYY atau YYYY-MM-DD
|
| 8 | endDate | Tanggal selesai shift | 31/12/2025 |
REQUIRED
Format: DD/MM/YYYY atau YYYY-MM-DD, harus >= startDate
|
| 9 | start | Jam masuk kerja | 08:00 |
REQUIRED
Format: HH:mm
|
| 10 | end | Jam keluar kerja | 17:00 |
REQUIRED
Format: HH:mm
|
| 11 | position | Nama Jabatan/Posisi | Rider |
REQUIRED
Harus exact match dengan opsPositions
Lihat daftar di bawah
|
Nilai position HARUS sama persis (case-insensitive) dengan salah satu nama berikut:
Jika position tidak ada dalam daftar, record akan di-skip/gagal.
| # | Field Name (CSV) | Database Table | Deskripsi | Contoh |
|---|---|---|---|---|
| 12 | hubId | ops |
ID Hub (lookup by name atau ID) | Hub Jakarta atau 1 |
| 13 | vendorName | ops |
Nama Vendor | Vendor ABC |
| 14 | isDedicated | ops |
Status dedicated | true / false |
| 15 | birthDate | users |
Tanggal lahir | 15/05/1995 |
| 16 | birthPlace | users |
Tempat lahir | Jakarta |
| 17 | gender | users |
Jenis kelamin | Laki-laki / Perempuan |
| 18 | address | users |
Alamat lengkap | Jl. Contoh No. 1 |
Field berikut dikelola terpisah (bukan via CSV import):
bankName, bankAccountNumber, bankAccountName, npwp, religion, maritalStatus, lastEducation, joinedAt, trainingStatus, gender, birthPlace, birthDate, address
[email protected]SEMUA DUPLICATE AKAN DI-SKIP (tidak di-import) untuk menjaga data integrity:
| Field | Jika Duplikat | Action | Report Message |
|---|---|---|---|
| â Email | Email sudah ada di database |
SKIP RECORD
|
Email duplicate: [email protected] (existing user: John Doe)
â Record di-skip, tidak di-import
đ Check order: FIRST
đ Report: Status SKIPPED, reason: email_duplicate
|
| â NIK | NIK sudah ada di database |
SKIP RECORD
|
NIK duplicate: 3201234567890123 (existing user: Jane Smith)
â Record di-skip, tidak di-import
đ Check order: SECOND
đ Report: Status SKIPPED, reason: nik_duplicate
|
| â opsId | opsId sudah ada di database (per prefix) |
SKIP RECORD
|
opsId duplicate: SPX-12345 (prefix: SPX)
â Record di-skip, tidak di-import
đ Check order: THIRD (checked BEFORE user creation)
â
Unique per PREFIX (SPX-001 â SCP-001)
đ Report: Status SKIPPED, reason: opsId_duplicate
đĄ Prefix auto-extracted: SPX-123 â prefix "SPX"
|
| â Username | Username sudah digunakan |
AUTO-RESOLVE
|
john.doe â john.doe2 (add suffix)
â
Record tetap di-import dengan username baru
đ§ Resolution: Add numeric suffix (2, 3, 4, ...)
đ Report: Status SUCCESS with resolved username
|
Sistem otomatis extract prefix dari opsId untuk pengecekan duplikat yang lebih cerdas:
SPX-12345 â prefix: SPXSCP001234 â prefix: SCPBMT-999 â prefix: BMT12345 â prefix: none (global check)Artinya: SPX-001 dan SCP-001 adalah opsId yang BERBEDA (tidak konflik) karena prefix-nya berbeda!
Jika opsId tidak punya prefix (contoh: 12345), sistem akan cek secara global (semua opsId).
Semua record (success, skipped, error) tercatat di consolidated report CSV:
08xxxxxxxxxx (9-13 digit total)Gunakan DRY RUN Mode untuk preview hasil import tanpa menyimpan ke database. Anda bisa melihat semua validation errors dan conflicts sebelum commit.
Anda bisa download template CSV kosong dengan semua field yang tersedia.
System generate 3 file CSV + 1 summary text setiap import:
| Report File | Isi | Kapan Muncul | Columns |
|---|---|---|---|
{timestamp}_consolidated.csv |
SEMUA record dengan status:
|
Selalu |
status, row_number, name, email, username, password, ops_id, jabatan, lokasi, shift_name, error_message, created_at |
{timestamp}_success.csv |
Record yang berhasil di-import dengan credentials lengkap | Jika ada success |
name, email, username, password, ops_id, jabatan, lokasi, perusahaan, shift_name, tgl_lahir, tgl_join, start_date, end_date, created_at |
{timestamp}_errors.csv |
Record yang gagal di-import dengan error message | Jika ada error |
row_number, name, email, ops_id, jabatan, lokasi, shift_name, error_message |
{timestamp}_summary.txt |
Summary statistik import (total, success, error, skipped, duration) | Selalu |
Text format (bukan CSV) |
File consolidated.csv berisi SEMUA informasi:
Tip: Gunakan consolidated.csv untuk review lengkap semua record dalam 1 file!
File menggunakan timestamp ISO format:
Data Import Service v3.0 - Enhanced Edition
Untuk bantuan lebih lanjut, hubungi IT Support