sozsoft-platform/configs/seeds/data/App.DevRequests/ec7d68c2-2dae-466a-8f8b-f28f6042746a.json

27 lines
89 KiB
JSON
Raw Normal View History

2026-10-01 08:50:16 +00:00
{
"ListFormCode": "App.DevRequests",
"KeyFieldName": "Id",
"GeneratedAt": "2026-10-01T07:16:56.9244132Z",
"Order": 0,
"Rows": [
{
"Id": "ec7d68c2-2dae-466a-8f8b-f28f6042746a",
"TenantId": null,
"UserName": "system@sozsoft.com",
"RequestDate": null,
"Status": "Staging",
2026-10-01 08:50:16 +00:00
"Title": "Human Resources -> Health Card",
"Description": "<p>Human Resources menüsünün altına Health Card adında listesi ekle. Bu liste kullanıcı listesi gibi bir liste olmalı ve bu listenin sadece Detay butonu olmalı. Bu butona basınca açılan detay formu aynı aşağıdaki resimdeki gibi olmalı. Üst kısımda kullanıcı bilgileri alt kısımdaki tablarda aynı User Detaildeki Health Card gibi olmalı.</p><p><br></p><p><img src=\"data:image/png;base64,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
"DueDate": null,
"Tags": "HR",
"Assignees": "system@sozsoft.com",
"Priority": null,
"Completed": true,
"SortOrder": 3,
"Timesheets": "[{\"id\":\"fe72afa0-9b50-e90a-a166-3a24088f5087\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"Talep analiz edildi\",\"duration\":0.0833},{\"id\":\"0bad51df-91ee-6eba-2d25-3a2408986e70\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardHistory.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.05},{\"id\":\"20934d75-88dd-5a98-7314-3a2408991d44\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardLabPhysical.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"7fb1d459-e85f-6a5b-2b17-3a24089a350e\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardAnamnesis.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"196f9b32-8294-f469-e553-3a24089a843e\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardResult.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"09c813af-f6ed-0bde-590f-3a24089ae48f\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardPeriodicExamination.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"12563d83-6c1a-5e01-3590-3a24089b59bb\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardPatientProtocol.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"7e0681de-3e80-120e-8039-3a24089bd0c7\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCardSickLeave.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"57ed3514-62b1-3a13-7aa3-3a24089c6423\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"HealthCard.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"3f790c75-99c4-3d11-e2d7-3a24089c7ac0\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"8 tamamlanm\\u0131\\u015F alt g\\u00F6rev eklendi\",\"duration\":0.0167},{\"id\":\"95e09967-9627-2e6b-50ac-3a24089cb3e7\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"Analize \\u00FCretim notu eklendi\",\"duration\":0.0167},{\"id\":\"d7e031b1-84a9-ccea-56f8-3a24089cde4a\",\"date\":\"2026-10-01\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.DevRequests ekran\\u0131nda sat\\u0131r g\\u00FCncellendi (Status)\",\"duration\":0.0167}]",
2026-10-01 08:50:16 +00:00
"SubTasks": "[{\"id\":\"40ca1e11-348e-6a1f-44da-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardHistory.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"c531aead-5088-8d56-f0c0-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardLabPhysical.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"0e8ffd2f-24e8-389a-69d1-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardAnamnesis.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"f46a3065-6d16-6afa-9651-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardResult.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"6d5926eb-db17-b024-ff88-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardPeriodicExamination.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"bbf66052-8bc3-cbd3-e089-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardPatientProtocol.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"db2f5469-4f39-16be-6954-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCardSickLeave.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true},{\"id\":\"1fea5028-41a1-a95e-601e-3a24089c7aae\",\"title\":\"deploy_wizard: HealthCard.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-01\",\"completed\":true}]",
"Analysis": "<h4>Amaç</h4>\n<p>İK / işyeri hekimliği ekibi, kullanıcı yönetimi yetkisi (<code>AbpIdentity.Users.Update</code>) olmadan çalışanların sağlık kartını İnsan Kaynakları menüsünden açıp güncelleyebilsin. Liste kullanıcı listesine benzer, yalnızca Detay butonu taşır; detay formu üstte çalışan bilgisi, altta User Detail › Health Card ile aynı yedi sekmeyi gösterir.</p>\n\n<h4>Görsel analizi</h4>\n<p><b>[image-1]</b> — Sekmeli düzenleme formu (User Detail › Health Card'ın kopyası). Sekmeler: Family / Personal History (açık), Laboratory - Physical Examination, Anamnesis, Result, Periodic Examinations, Patient Protocol Book, Sick Leaves. Sağ altta <b>Save</b>.</p>\n<ul>\n<li><b>Family History</b> grubu: Mother / Father / Sibling / Child — her satırda durum seçimi (selectbox) + not (textbox).</li>\n<li><b>Personal History</b> grubu: Blood Type (selectbox, örnek değer \"B Rh+\"), Congenital / Chronic Disease (textbox), Immunization alt başlığı altında Tetanus, Hepatitis, Other (textbox).</li>\n<li>Görünen satır yok; demo veri adayı yok (veri mevcut kullanıcı kayıtlarıdır).</li>\n</ul>\n\n<h4>Çözüm yolu</h4>\n<p><b>Wizard List + Form alt formları.</b> Sağlık kartı alanlarının tamamı <code>AbpUsers</code>'ta, çok kayıtlı bölümler mevcut <code>Adm_T_User*</code> tablolarında durur; yeni tablo gerekmez. Ana liste <code>AbpUsers</code> üzerinde salt okunur bir ListForm'dur ve hazır Detay butonuyla form görünümünü (<code>/admin/form/App.Hr.HealthCard/{Id}</code>) açar; formun üst kısmı çalışan bilgisi (salt okunur), sekmeler <code>SubForms</code>'tur: ilk dört sekme <code>AbpUsers</code> üzerinde <code>TabType: Form</code> (Id → Id, 1:1), son üç sekme <code>Adm_T_User*</code> üzerinde <code>TabType: List</code> (Id → UserId). Custom component gerekmez; User Detail React sayfasına dokunulmaz.</p>\n\n<h4>Menü yeri</h4>\n<p><code>İnsan Kaynakları › Sağlık Kartı</code></p>\n<table>\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><code>App.Hr</code></td><td>İnsan Kaynakları / Human Resources</td><td>FcConferenceCall</td><td>Var</td></tr>\n<tr><td>Ekran</td><td><code>App.Hr.HealthCard</code></td><td>Sağlık Kartı / Health Card</td><td>FcInspection</td><td>Yeni</td></tr>\n</table>\n<p><code>ModuleId: Hr</code> · izin grubu <code>App.Hr</code> · route <code>/admin/list/App.Hr.HealthCard</code> · <code>MenuParentCode: App.Hr</code>, <code>MenuParentPath</code> boş.</p>\n<p>Yetki: <code>App.Hr › App.Hr.HealthCard</code> (Yeni; izin grubu <code>App.Hr</code> Var). Alt formlar: <code>App.Hr › App.Hr.HealthCard › App.Hr.HealthCard{History|LabPhysical|Anamnesis|Result|PeriodicExamination|PatientProtocol|SickLeave}</code> (hepsi Yeni).</p>\n\n<h4>Veri modeli</h4>\n<p><b>Yeni tablo yok.</b> Tanım tablosu: Hayır (yeni tablo açılmıyor).</p>\n<p><b>Ana ekran <code>App.Hr.HealthCard</code></b> — <code>AbpUsers</code> (var), <code>SelectCommandType: 1</code>, anahtar <code>Id</code> (Guid, <code>KeyFieldDbSourceType: 9</code>), <code>IsTenant: true</code>, <code>IsBranch: false</code>, <code>DefaultFilter \"IsDeleted\" = 'false'</code>. Salt okunur alanlar (grid + formun üst grubu): <code>Name</code>, <code>Surname</code>, <code>IdentityNumber</code>, <code>BirthDate</code>, <code>Gender</code> (Male/Female, <code>App.StaticLookup.*</code>), <code>Email</code>, <code>PhoneNumber</code>, <code>DepartmentId</code> (lookup <code>Hr_T_Department</code>), <code>JobPositionId</code> (lookup <code>Hr_T_JobPosition</code>), <code>HireDate</code>, <code>SskNo</code>, <code>BloodType</code>, <code>IsActive</code>. Başlıklar <code>AbpIdentity.Users</code> ekranındaki anahtarlar.</p>\n<p><b>Form sekmeleri — tablo <code>AbpUsers</code>, anahtar <code>Id</code>, alan adı/tip/boy kolonla aynı:</b></p>\n<table>\n<tr><th>Ekran</th><th>Gruplar ve alanlar</th></tr>\n<tr><td><code>App.Hr.HealthCardHistory</code></td><td><i>FamilyHistory</i>: <code>{Mother|F
}
]
}