sozsoft-platform/configs/seeds/docs/modules/HrVisitor.md
2026-10-05 15:58:59 +03:00

150 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# İ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.
<!-- module-doc:auto:begin -->
## 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 |
<!-- module-doc:auto:end -->