{ "ListFormCode": "App.DevRequests", "KeyFieldName": "Id", "GeneratedAt": "2026-09-30T11:47:47.1306592Z", "Order": 0, "Rows": [ { "Id": "2e84f333-5344-4f28-8cc0-178b46d7c0bc", "TenantId": null, "UserName": "system@sozsoft.com", "RequestDate": null, "Status": "Testing", "Title": "Human Resources -> Ziyaretçi Takip Listesi", "Description": "

Ziyaret Edilen Personel -> Kullanıcı Listesi üzerinden seçilecektir. Firma Adı AutoComplete yapıp ziyaretçi formuna girilen Firmalar listede gelecek istersek yeni Firma Adı girilebilmeli.



", "DueDate": "2026-09-30T11:47:00", "Tags": "HR", "Assignees": "system@sozsoft.com", "Priority": "5", "Completed": false, "SortOrder": 0, "Timesheets": "[{\"id\":\"ca84a1de-f70f-6201-b713-3a240456d0d2\",\"date\":\"2026-09-30\",\"userName\":\"system@sozsoft.com\",\"description\":\"Talep analiz edildi\",\"duration\":0.0333},{\"id\":\"3c9ac80c-b091-750e-105b-3a240457f50b\",\"date\":\"2026-09-30\",\"userName\":\"system@sozsoft.com\",\"description\":\"Hr_T_Visitor tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"97079c2f-483a-c51d-9a63-3a24045a350c\",\"date\":\"2026-09-30\",\"userName\":\"system@sozsoft.com\",\"description\":\"Visitor.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0333},{\"id\":\"dee98df8-0fbe-0829-93b7-3a24045a441c\",\"date\":\"2026-09-30\",\"userName\":\"system@sozsoft.com\",\"description\":\"2 tamamlanm\\u0131\\u015F alt g\\u00F6rev eklendi\",\"duration\":0.0167},{\"id\":\"8171cab5-bf91-b15f-07fd-3a24045a864f\",\"date\":\"2026-09-30\",\"userName\":\"system@sozsoft.com\",\"description\":\"Analize \\u00FCretim notu eklendi\",\"duration\":0.0167}]", "SubTasks": "[{\"id\":\"9763da5d-6dc7-a426-37e8-3a24045a440b\",\"title\":\"create_table: Hr_T_Visitor\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-09-30\",\"completed\":true},{\"id\":\"6f8de30c-593a-e9e6-6336-3a24045a440b\",\"title\":\"deploy_wizard: Visitor.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-09-30\",\"completed\":true}]", "Analysis": "

1. Amaç

\n

Tesise gelen ziyaretçilerin giriş/çıkış kaydının İK ve güvenlik/resepsiyon tarafından tutulması; kimin, hangi firmadan, kimi, ne zaman ve neden ziyaret ettiğinin şube bazında izlenmesi ve o an içeride kimin bulunduğunun görülmesi.

\n\n

2. Görsel analizi

\n

[image-1] — Liste ekranı + popup düzenleme formu (klasik ListForm).

\n\n\n

3. Çözüm yolu

\n

Wizard List (ComponentKind 0) — tek tablolu CRUD, lookup'lar ve varsayılan değerlerle karşılanır; özel bileşen, SP ya da servis gerekmez.

\n\n

4. Menü yeri

\n

İnsan Kaynakları › Ziyaretçi Takip Listesi

\n\n\n\n\n
SeviyeKodAd (TR / EN)İkonDurum
KökApp.Hrİnsan Kaynakları / Human ResourcesFcConferenceCallVar
EkranApp.Hr.VisitorZiyaretçiler / VisitorsFcBusinessmanYeni
\n

ModuleId: Hr · İzin grubu: App.Hr (Var) · Route: /admin/list/App.Hr.Visitor · Wizard: MenuParentCode = App.Hr, MenuParentPath boş (iki seviye).

\n

Yetki: App.Hr › App.Hr.Visitor — ara seviye yok; App.Hr.Visitor Yeni.

\n\n

5. Veri modeli

\n

Tablo: Hr_T_Visitor — Yeni, tenant kapsamlı (IsTenant = true, IsBranch = false; şube sütunu veridir), audit + soft delete alanları (CreationTime, CreatorId, LastModificationTime, LastModifierId, IsDeleted, DeleterId, DeletionTime).

\n

Tanım tablosu: Hayır — kayıtlar hareket/olay kaydıdır (her ziyaret bir satır), başka ekranın lookup kaynağı değildir; IsActive kolonu yoktur.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KolonTipZorunluAçıklama / Lookup
Iduniqueidentifier (PK)Evet@NEWID
TenantIduniqueidentifierHayırPlatform doldurur
BranchIduniqueidentifierEvetŞube — LookupQueryValues.TenantBranchValues (Sas_T_Branch)
VisitorTypenvarchar(50)EvetStaticData: Ziyaretçi, Müşteri, Tedarikçi, Taşeron, Kurye
VisitDatedateEvetVarsayılan @NOW
EntryTimedatetimeEvetGiriş saati, varsayılan @NOW
ExitTimedatetimeHayırÇıkış saati; boşsa ziyaretçi içeride
CardNonvarchar(20)HayırVerilen ziyaretçi kartı
VisitorFullNamenvarchar(200)EvetZiyaretçi adı soyadı
VisitedUserIduniqueidentifierEvetKullanıcı listesi — SELECT Id AS [Key], Name + ' ' + Surname AS [Name] FROM AbpUsers WHERE IsDeleted = 'false' AND IsActive = 'true' AND TenantId = '@TENANTID' ORDER BY Name
CompanyNamenvarchar(200)HayırSerbest metin; öneriler aynı tablodaki önceki kayıtlardan — SELECT DISTINCT CompanyName AS [Key], CompanyName AS [Name] FROM Hr_T_Visitor WHERE IsDeleted = 'false' AND CompanyName IS NOT NULL AND TenantId = '@TENANTID' ORDER BY CompanyName
VisitReasonnvarchar(MAX)HayırÇok satırlı ziyaret sebebi
\n\n

6. Etkilenen kısımlar

\n\n\n

7. Görünümler ve davranış

\n\n\n

8. Kararlar

\n\n\n

9. Üretim planı

\n
    \n
  1. create_table: Hr_T_Visitor
  2. \n
  3. deploy_wizard: Visitor.json
  4. \n
\n\n

10. Üretime hazır

\n

Evet

MCP

\n" } ] }