27 lines
77 KiB
JSON
27 lines
77 KiB
JSON
|
|
{
|
|||
|
|
"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": "<p>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.</p><p><br></p><p><img src=\"data:image/png;base64,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
|
|||
|
|
"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": "<h4>1. Amaç</h4>\n<p>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.</p>\n\n<h4>2. Görsel analizi</h4>\n<p><b>[image-1]</b> — Liste ekranı + popup düzenleme formu (klasik ListForm).</p>\n<ul>\n<li><b>Grid kolonları (sırasıyla):</b> Ziyaret Tarihi (tarih), Ziyaretçi Tipi (seçim), Giriş Saati (saat), Çıkış Saati (saat), Kart No (metin), Ziyaret Edilen Personel (kullanıcı lookup), Ziyaretçi Adı Soyadı (metin), Firması (metin, öneri listeli), Ziyaret Sebebi (uzun metin), Şube Adı (şube lookup). Her kolonda filtre satırı açık.</li>\n<li><b>Form \"Ziyaretçi Takip Formu\" (tek grup, tek kolon):</b> Şube Adı (seçim, \"1. Tesis\"), Ziyaretçi Tipi (açılır liste, varsayılan \"Ziyaretçi\"), Ziyaret Tarihi (varsayılan bugün), Giriş Saati (varsayılan şimdi, HH:mm:ss), Çıkış Saati (boş), Kart No, Ziyaretçi Adı Soyadı (geniş), Ziyaret Edilen Personel (açılır liste), Firma Adı (açılır liste), Ziyaret Sebebi (çok satırlı).</li>\n<li><b>Butonlar:</b> Yeni / Kaydet / Sil / Kapat → platformun standart ekle-kaydet-sil-kapat davranışı; toolbar'daki Excel, filtre, arama, sıralama, grafik → standart grid araçları. Ek aksiyon yok.</li>\n<li>Görünür satır yok → demo veri üretilmez.</li>\n</ul>\n\n<h4>3. Çözüm yolu</h4>\n<p><b>Wizard List</b> (ComponentKind 0) — tek tablolu CRUD, lookup'lar ve varsayılan değerlerle karşılanır; özel bileşen, SP ya da servis gerekmez.</p>\n\n<h4>4. Menü yeri</h4>\n<p><b>İnsan Kaynakları › Ziyaretçi Takip Listesi</b></p>\n<table border=\"1\" cellpadding=\"4\">\n<tr><th>Seviye</th><th>Kod</th><th>Ad (TR / EN)</th><th>İkon</th><th>Durum</th></tr>\n<tr><td>Kök</td><td>App.Hr</td><td>İnsan Kaynakları / Human Resources</td><td>FcConferenceCall</td><td>Var</td></tr>\n<tr><td>Ekran</td><td>App.Hr.Visitor</td><td>Ziyaretçiler / Visitors</td><td>FcBusinessman</td><td>Yeni</td></tr>\n</table>\n<p>ModuleId: <code>Hr</code> · İzin grubu: <code>App.Hr</code> (Var) · Route: <code>/admin/list/App.Hr.Visitor</code> · Wizard: <code>MenuParentCode = App.Hr</code>, <code>MenuParentPath</code> boş (iki seviye).</p>\n<p>Yetki: <code>App.Hr › App.Hr.Visitor</code> — ara seviye yok; <code>App.Hr.Visitor</code> Yeni.</p>\n\n<h4>5. Veri modeli</h4>\n<p><b>Tablo:</b> <code>Hr_T_Visitor</code> — Yeni, tenant kapsamlı (IsTenant = true, IsBranch = false; şube sütunu veridir), audit + soft delete alanları (CreationTime, CreatorId, LastModificationTime, LastModifierId, IsDeleted, DeleterId, DeletionTime).</p>\n<p><b>Tanım tablosu: Hayır</b> — kayıtlar hareket/olay kaydıdır (her ziyaret bir satır), başka ekranın lookup kaynağı değildir; <code>IsActive</code> kolonu yoktur.</p>\n<table border=\"1\" cellpadding=\"4\">\n<tr><th>Kolon</th><th>Tip</th><th>Zorunlu</th><th>Açıklama / Lookup</th></tr>\n<tr><td>Id</td><td>uniqueidentifier (PK)</td><td>Evet</td><td>@NEWID</td></tr>\n<tr><td>TenantId</td><td>uniqueidentifier</td><td>Hayır</td><td>Platform doldurur</td></tr>\n<tr><td>BranchId</td><td>uniqueidentifier</td><td>Evet</td><td>Şube — <code>LookupQueryValues.TenantBranchValues</code> (Sas_T_Branch)</td></tr>\n<tr><td>VisitorType</td><td>nvarchar(50)</td><td>Evet</td><td>StaticData: Ziyaretçi, Müşteri, Tedarikçi, Taşeron, Kurye</td></tr>\n<tr><td>VisitDate</td><td>date</td><td>Evet</td><td>Varsayılan @NOW</td></tr>\n<tr><td>EntryTime</td><td>datetime</td><td>Evet</td><td>Giriş saati, varsayılan @NOW</td></tr>\n<tr><td>ExitTime</td><td>datetime</td><td>Hayır</td><td>Çıkış saati; boşsa ziyaretçi içeride</td></tr>\n<tr><td>CardNo</td><td>nvarchar(20)</td><td>Hayır</td><td>Verilen ziyaretçi kartı</td></tr>\n<tr><td>VisitorFullName</td><td>nvarchar(200)</td><td>Evet</td><td>Ziyaretçi adı soyadı</td></tr>\n<tr><td>VisitedUserId</td><td>uniqueidentifier</td><td>Evet</td><td>Kullanıc<EFBFBD>
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|