# İK › Ziyaretçiler (`App.Hr.Visitor`) Güvenlik/resepsiyon için ziyaretçi giriş–çıkış defteri: kim, hangi firmadan, kimi ziyarete, ne zaman geldi, hangi kartı aldı, ne zaman çıktı. Tamamı konfigürasyondur (tek Wizard ekranı). > Bu doküman modülün tek "nasıl çalışır" kaynağıdır. Modülde yapılan her değişiklik aynı commit'te > buraya yansır (`lowcode.instructions.md` §0.13). --- ## 1. Amaç ve kapsam | Persona | Ne yapar | Ekran | | --- | --- | --- | | Güvenlik / resepsiyon | Ziyaretçiyi girişte kaydeder, kart verir, çıkışta çıkış saatini işler | Ziyaretçiler | | İK / idari işler | Günlük ziyaretçi sayısını, içeride kalanları ve geçmişi izler | Ziyaretçiler (widget, Pivot) | Kapsam: kiracı (`IsTenant`). Her kayıt bir şubeye bağlıdır; satır süzmesi yoktur. --- ## 2. Analiz ve kararlar > Modül §0.13 kuralından önce üretildi; keşif turu kaydı yoktur. Kararlar wizard ve SQL'den okunmuştur. | Konu | Karar | | --- | --- | | Yol | Tek Wizard liste ekranı | | Ziyaretçi kimliği | Ziyaretçi ayrı bir kişi kartı değildir; her ziyaret satırında ad soyad serbest metindir (tekrar gelen ziyaretçi yeniden yazılır) | | Firma | Serbest metin + **otomatik tamamlama** (daha önce girilen firma adlarından) | | Ziyaretçi tipi | Sabit liste: Ziyaretçi, Müşteri, Tedarikçi, Taşeron, Kurye (değerler Türkçe anahtardır) | | İçeride mi? | `ExitTime` boşsa ziyaretçi içeride sayılır | | Bildirim | Ziyaret edilen personele bildirim **gönderilmez** | --- ## 3. Menü ve ekran | Menü (TR / EN) | `ListFormCode` | Yer | Görünümler | Widget'lar (bugün) | | --- | --- | --- | --- | --- | | Ziyaretçiler / Visitors | `App.Hr.Visitor` | `İnsan Kaynakları` (sıra 12, `FcBusinessman`) | Grid, Card, Pivot, Chart | Bugün Gelen · İçeride · Çıkış Yapan | Widget'lar yalnız **bugünün** (`VisitDate = bugün`) kayıtlarını sayar. --- ## 4. Veri modeli `Hr_T_Visitor` (`sql/object/Hr_T_Visitor.sql`, entity yok): | Kolon | Açıklama | | --- | --- | | `BranchId` | Şube (zorunlu) | | `VisitorType` | Ziyaretçi tipi (varsayılan "Ziyaretçi") | | `VisitDate` | Ziyaret tarihi | | `EntryTime` / `ExitTime` | Giriş / çıkış zamanı (`datetime`) | | `CardNo` | Verilen ziyaretçi kartı | | `VisitorFullName` | Ziyaretçi adı soyadı (zorunlu) | | `VisitedUserId` | Ziyaret edilen personel (`AbpUsers`, zorunlu) | | `CompanyName` | Firma | | `VisitReason` | Ziyaret sebebi | --- ## 5. İş kuralları | Yer | Kural | | --- | --- | | Yeni kayıt | Ziyaret tarihi bugün, giriş saati şimdi, tip "Ziyaretçi" | | Çıkış | Kayıt düzenlenip çıkış saati girilir; otomatik çıkış yoktur | --- ## 6. Yetki ve görünürlük İzin grubu `App.Hr`, modül `Sas|Hr`; `App.Hr.Visitor` + `.Create/.Update/.Delete/.Export/.Import/.Note`. Güvenliğe kök + `.Create/.Update` yeter. Hiçbir yetki role otomatik atanmaz. Ziyaretçi adı kişisel veridir; saklama süresi için periyodik temizlik yoktur. --- ## 7. Entegrasyonlar `Sas_T_Branch` (şube), `AbpUsers` (ziyaret edilen personel). Bildirim, rapor ya da zamanlanmış iş yoktur. --- ## 8. Akış örneği 1. Tedarikçi temsilcisi gelir; güvenlik yeni kayıt açar (tarih/saat dolu), tip Tedarikçi, ad soyad, firma (otomatik tamamlamadan), ziyaret edilen satın alma uzmanı, kart no 12. 2. "İçeride" kartı 1 artar. 3. Çıkışta kayıt açılıp çıkış saati girilir; "Çıkış Yapan" kartı artar. --- ## 9. Sık sorulanlar **Tekrar gelen ziyaretçinin bilgileri neden dolmuyor?** Ziyaretçi kartı yoktur; yalnız firma adı otomatik tamamlanır. **Gün sonunda içeride kalanlar nasıl görülür?** Bugünün "İçeride" kartı ya da `ExitTime` boş filtresi. **Ziyaret edilen kişiye haber gidiyor mu?** Hayır. --- ## 10. Dosyalar ve geri alma | Dosya | İçerik | | --- | --- | | `configs/seeds/sql/object/Hr_T_Visitor.sql` | Tablo | | `configs/seeds/wizard/Visitor.json` | Wizard | Geri alma: Wizard Manager'dan silinir; tablo yalnızca onayda seçilirse düşer. ## Ek — Ekran envanteri (otomatik) > Wizard dosyalarından üretilir; deploy, silme, tasarımcı kaydı ve import'ta yenilenir. Elle düzenleme bir sonraki yenilemede kaybolur. ### Ziyaretçiler — `App.Hr.Visitor` | Özellik | Değer | | --- | --- | | Wizard | `wizard/Visitor.json` | | Yol | Liste (Wizard) | | Menü | `App.Hr` › `App.Hr.Visitor` (sıra 12) | | Yetki | `App.Hr.Visitor` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` | | Açıklama | Ziyaretçiler — güvenlik/resepsiyonun tuttuğu ziyaretçi giriş-çıkış defteri. | | Geliştirme talebi | Human Resources -> Ziyaretçi Takip Listesi | | Kaynak | `Hr_T_Visitor` · filtre `"IsDeleted" = 'false'` | | Görünümler | Grid, Card, Pivot, Chart (açılış grid) | | Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup | | Kapsam | Kiracı | | Widget'lar | `App.Hr.Visitor.Widget.Today`, `App.Hr.Visitor.Widget.Inside`, `App.Hr.Visitor.Widget.Exited` | | Alan | Başlık | Editör | Zorunlu | Formda | Kaynak | | --- | --- | --- | --- | --- | --- | | `VisitDate` | Ziyaret Tarihi | dxDateBox | ✓ | ✓ | script | | `VisitorType` | Ziyaretçi Tipi | dxSelectBox | ✓ | ✓ | liste: Ziyaretçi, Müşteri, Tedarikçi, Taşeron, Kurye · script | | `EntryTime` | Giriş Saati | dxDateBox | ✓ | ✓ | script | | `ExitTime` | Çıkış Saati | dxDateBox | | ✓ | | | `CardNo` | Kart No | dxTextBox | | ✓ | | | `VisitedUserId` | Ziyaret Edilen Personel | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers | | `VisitorFullName` | Ziyaretçi Adı Soyadı | dxTextBox | ✓ | ✓ | | | `CompanyName` | Firma Adı | dxAutocomplete | | ✓ | sorgu: Hr_T_Visitor | | `VisitReason` | Ziyaret Sebebi | dxTextArea | | ✓ | | | `BranchId` | Şube Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |