Kullanıcılardaki HealthCard güncellemesi

This commit is contained in:
Sedat ÖZTÜRK 2026-10-01 10:01:21 +03:00
parent 2430a3bf4a
commit e2a63f210f
26 changed files with 8079 additions and 65 deletions

View file

@ -1314,7 +1314,9 @@ ekranları ABP tablolarıdır, Licence/Dev Request host tablolarını okur.
| **Identity › Permission Groups / Permissions** | `Abp.Identity.PermissionGroups` · `Abp.Identity.Permissions` | `AbpPermissionGroups` · `AbpPermissions` | Yetki ağacı (tree düzeni). Yeni ekranın yetkileri burada görünür; `Modules` kolonu yetkiyi modüllere bağlar (pipe ile çoklu), `Order` kardeşler arası sıradır. Seed: `data/Abp.Identity.Permission{Groups,s}.json`. | | **Identity › Permission Groups / Permissions** | `Abp.Identity.PermissionGroups` · `Abp.Identity.Permissions` | `AbpPermissionGroups` · `AbpPermissions` | Yetki ağacı (tree düzeni). Yeni ekranın yetkileri burada görünür; `Modules` kolonu yetkiyi modüllere bağlar (pipe ile çoklu), `Order` kardeşler arası sıradır. Seed: `data/Abp.Identity.Permission{Groups,s}.json`. |
| **Identity › Claim Type** | `App.IdentityManagement.ClaimType` | `AbpClaimTypes` | Kullanıcıya ek alan (claim) tanımı: `ValueType`, `Regex`, `Required`, `IsStatic`. | | **Identity › Claim Type** | `App.IdentityManagement.ClaimType` | `AbpClaimTypes` | Kullanıcıya ek alan (claim) tanımı: `ValueType`, `Regex`, `Required`, `IsStatic`. |
| **Identity › Roles** | `AbpIdentity.Roles` | `AbpRoles` | Rol yönetimi + `RolesPermission` diyaloğu; yeni ekranın yetkisi role buradan verilir. Yazma `list-form-dynamic-api/role-*`. | | **Identity › Roles** | `AbpIdentity.Roles` | `AbpRoles` | Rol yönetimi + `RolesPermission` diyaloğu; yeni ekranın yetkisi role buradan verilir. Yazma `list-form-dynamic-api/role-*`. |
| **Identity › Users** | `AbpIdentity.Users` · detay `/admin/users/detail/:userId` | `AbpUsers` | Kullanıcı yönetimi + `UsersPermission` diyaloğu, **KPI widget'ları** ve `list-form-dynamic-api/user-*` ile devredilen yazma. Kullanıcı `WorkHour`, `DepartmentId`, `JobPositionId`, `Gender` (`Male`/`Female`, `App.StaticLookup.*`) ve `HomeAddress` alanlarını liste ve formda taşır; kişisel ve kimlik bilgileri (`IdentityNumber`, `BirthDate`, `EducationLevel`, `BloodType`, `Nationality`, `SskNo`…) detay ekranındadır. Kullanıcı seçen her lookup bu bilgileri `AbpUsers`'tan okur ve kopya kolon aynı ad/tip/değer kümesiyle açılır (`lowcode.instructions.md` §0.12 madde 5). Yeni bir kullanıcı alanı = `PlatformConsts.AbpIdentity.User` + `AbpIdentityUserExtensions` + EF eşlemesi ve migration + `UserInfoViewModel` (detay/profil) + `CreateUpdateUserInput` ve `user-insert`/`user-update` (liste) + `ListFormSeeder_Administration` alanı. | | **Identity › Users** | `AbpIdentity.Users` · detay `/admin/users/detail/:userId` | `AbpUsers` | Kullanıcı yönetimi + `UsersPermission` diyaloğu, **KPI widget'ları** ve `list-form-dynamic-api/user-*` ile devredilen yazma. Kullanıcı `WorkHour`, `DepartmentId`, `JobPositionId`, `Gender` (`Male`/`Female`, `App.StaticLookup.*`) ve `HomeAddress` alanlarını liste ve formda taşır; kişisel ve kimlik bilgileri (`IdentityNumber`, `BirthDate`, `EducationLevel`, `Nationality`, `SskNo`…) detay ekranındadır. Detaydaki **Sağlık Kartı** sekmesi `BloodType` ile soy geçmişini (`{Mother,Father,Sibling,Child}HealthStatus` — `Alive`/`Deceased`, `App.StaticLookup.*` — ve `…HealthNote`) ve öz geçmişini (`ChronicDisease`, `TetanusVaccination`, `HepatitisVaccination`, `OtherVaccination`) taşır; sekme dört gruptur (Soy/Öz Geçmişi, Laboratuvar - Fizik Muayene `Lab*`/`Exam*`, Anamnez `Complaint*`/`Diagnosis*` + 3-10. sorular, Sonuç `FitForWork*`/`ShiftWorkFit`/`NightWorkFit`). Sonuçtaki hekim (`FitnessDoctorId`, `ShiftNightDoctorId`) wizard tablosu `Hr_T_Doctor`'dan `LookupQueryValues.TenantDoctorValues` ile seçilir; diploma ve işyeri hekimliği belgesi hekimden gösterilir, kullanıcıya yazılmaz. Bu alanların hepsi listede gizli alandır; arayüz `user-management/HealthCardTab.tsx`. Kullanıcı seçen her lookup bu bilgileri `AbpUsers`'tan okur ve kopya kolon aynı ad/tip/değer kümesiyle açılır (`lowcode.instructions.md` §0.12 madde 5). Yeni bir kullanıcı alanı = `PlatformConsts.AbpIdentity.User` + `AbpIdentityUserExtensions` + EF eşlemesi ve migration + `UserInfoViewModel` (detay/profil) + `CreateUpdateUserInput` ve `user-insert`/`user-update` (liste) + `ListFormSeeder_Administration` alanı. |
| **Identity › Users › Work Experience** | `App.IdentityManagement.UserWorkExperience` (menüsüz alt liste) | `Adm_T_UserWorkExperience` | Kullanıcının daha önce çalıştığı yerler: `CompanyName`, `SectorId` (Sektörler lookup'ı, `LookupQueryValues.TenantSectorValues`), `StartDate`, `EndDate`, `JobDescription` (HtmlEditor). Entity `IMultiTenant`; kullanıcı detayının Work sekmesinde `PlatformViewHost` ile `UserId` filtresiyle gömülüdür, yeni satır `UserId`'yi filtreden alır. Kendi yetkisi yoktur: okuma `AbpIdentity.Users`, ekleme/güncelleme/silme detay sayfasının yetkisi `AbpIdentity.Users.Update`. |
| **Identity › Users › Health Card lists** | `App.IdentityManagement.UserPeriodicExamination` · `.UserPatientProtocol` · `.UserSickLeave` (menüsüz alt listeler) | `Adm_T_UserPeriodicExamination` · `Adm_T_UserPatientProtocol` · `Adm_T_UserSickLeave` | Periyodik muayene (hekim `Hr_T_Doctor`'dan, diploma no seçimde `EditorScript.Copy` ile kopyalanır), hasta protokol defteri (`ProtocolType`/`ProtocolResult` statik lookup) ve istirahat listesi (`Days` tarihlerden `EditorScript.Days` ile hesaplanır). Entity'ler `IMultiTenant`; Sağlık Kartı sekmesinde (`HealthCardTab.tsx`) `UserId` filtresiyle gömülüdür. Yetki Work Experience ile aynıdır: okuma `AbpIdentity.Users`, ekleme/güncelleme/silme `AbpIdentity.Users.Update`. |
| **Identity › Organization Units** | `Abp.Identity.OrganizationUnits` · `/admin/ous` | ABP OU tabloları | Birim ağacı. Ekranı `IsOrganizationUnit = true` yaparsan veri bu ağaca göre süzülür; bildirim alıcısı da OU olabilir. | | **Identity › Organization Units** | `Abp.Identity.OrganizationUnits` · `/admin/ous` | ABP OU tabloları | Birim ağacı. Ekranı `IsOrganizationUnit = true` yaparsan veri bu ağaca göre süzülür; bildirim alıcısı da OU olabilir. |
| **Identity › Audit Logs** | `App.IdentityManagement.AuditLogs` | `AbpAuditLogs` | İstek denetim kaydı + `AuditLogDetail` diyaloğu. "Kim ne zaman ne yaptı" isteği yeni tablo gerektirmez. | | **Identity › Audit Logs** | `App.IdentityManagement.AuditLogs` | `AbpAuditLogs` | İstek denetim kaydı + `AuditLogDetail` diyaloğu. "Kim ne zaman ne yaptı" isteği yeni tablo gerektirmez. |
| **Identity › Sessions** | `App.IdentityManagement.Sessions` | `AbpSessions` | Açık oturumlar; `UiEvalService.ApiKickUser` ile oturum düşürme (`lowcode` §9.13). | | **Identity › Sessions** | `App.IdentityManagement.Sessions` | `AbpSessions` | Açık oturumlar; `UiEvalService.ApiKickUser` ile oturum düşürme (`lowcode` §9.13). |

View file

@ -737,7 +737,9 @@ Kısa ve karar odaklı yaz; talebi tekrar anlatma.
(`dxTextArea`, `dxHtmlEditor`) de `nvarchar(MAX)`'tir. (`dxTextArea`, `dxHtmlEditor`) de `nvarchar(MAX)`'tir.
**Kullanıcı (çalışan) bilgisi `AbpUsers`'tan okunur.** Kullanıcıya ait her bilgi kullanıcı **Kullanıcı (çalışan) bilgisi `AbpUsers`'tan okunur.** Kullanıcıya ait her bilgi kullanıcı
kaydında durur: `IdentityNumber` (TC), `BirthDate`, `BirthPlace`, `Gender` (`Male`/`Female`), kaydında durur: `IdentityNumber` (TC), `BirthDate`, `BirthPlace`, `Gender` (`Male`/`Female`),
`HomeAddress`, `EducationLevel`, `GraduationSchool`, `BloodType`, `Nationality`, `MaritalStatus`, `HomeAddress`, `EducationLevel`, `GraduationSchool`, `BloodType`, sağlık kartı alanları
(`{Mother,Father,Sibling,Child}HealthStatus`/`…HealthNote`, `ChronicDisease`, `…Vaccination`, `Lab*`, `Exam*`,
`Complaint*`, `Diagnosis*`, anamnez soruları, `FitForWork*`, `ShiftWorkFit`, `NightWorkFit`, `*DoctorId`), `Nationality`, `MaritalStatus`,
`SskNo`, `HireDate`, `DepartmentId`, `JobPositionId`, `WorkHour`, kimlik kartı alanları `SskNo`, `HireDate`, `DepartmentId`, `JobPositionId`, `WorkHour`, kimlik kartı alanları
(`SerialNo`, `Province`, `District`, `FatherName`, `MotherName`…). Kullanıcı seçen bir lookup bu (`SerialNo`, `Province`, `District`, `FatherName`, `MotherName`…). Kullanıcı seçen bir lookup bu
kolonları doğrudan `u.` ile seçer; başka bir ekranın tablosundaki son kayıttan (`OUTER APPLY kolonları doğrudan `u.` ile seçer; başka bir ekranın tablosundaki son kayıttan (`OUTER APPLY

View file

@ -69,4 +69,80 @@ public class UserInfoViewModel : ExtensibleObject
public string EducationLevel { get; set; } public string EducationLevel { get; set; }
public string GraduationSchool { get; set; } public string GraduationSchool { get; set; }
public string BloodType { get; set; } public string BloodType { get; set; }
public string MotherHealthStatus { get; set; }
public string MotherHealthNote { get; set; }
public string FatherHealthStatus { get; set; }
public string FatherHealthNote { get; set; }
public string SiblingHealthStatus { get; set; }
public string SiblingHealthNote { get; set; }
public string ChildHealthStatus { get; set; }
public string ChildHealthNote { get; set; }
public string ChronicDisease { get; set; }
public string TetanusVaccination { get; set; }
public string HepatitisVaccination { get; set; }
public string OtherVaccination { get; set; }
public string LabBiologicalAnalysis { get; set; }
public string LabBlood { get; set; }
public string LabUrine { get; set; }
public string LabRadiological { get; set; }
public string LabRadiologicalPhysiological { get; set; }
public string LabAudiometry { get; set; }
public string LabPulmonaryFunction { get; set; }
public string LabPsychologicalTests { get; set; }
public string LabOther { get; set; }
public string ExamSensoryOrgans { get; set; }
public string ExamEye { get; set; }
public string ExamEnt { get; set; }
public string ExamSkin { get; set; }
public string ExamCardiovascular { get; set; }
public string ExamRespiratory { get; set; }
public string ExamDigestive { get; set; }
public string ExamUrogenital { get; set; }
public string ExamMusculoskeletal { get; set; }
public string ExamNeurological { get; set; }
public string ExamPsychiatric { get; set; }
public string ExamOther { get; set; }
public string ExamBloodPressure { get; set; }
public string ExamPulse { get; set; }
public decimal? ExamHeight { get; set; }
public decimal? ExamWeight { get; set; }
public bool? ComplaintProductiveCough { get; set; }
public bool? ComplaintDyspnea { get; set; }
public bool? ComplaintChestPain { get; set; }
public bool? ComplaintPalpitation { get; set; }
public bool? ComplaintBackPain { get; set; }
public bool? ComplaintDiarrheaConstipation { get; set; }
public bool? ComplaintJointPain { get; set; }
public bool? DiagnosisHeartDisease { get; set; }
public bool? DiagnosisDiabetes { get; set; }
public bool? DiagnosisKidneyDisease { get; set; }
public bool? DiagnosisJaundice { get; set; }
public bool? DiagnosisPepticUlcer { get; set; }
public bool? DiagnosisHearingLoss { get; set; }
public bool? DiagnosisVisionImpairment { get; set; }
public bool? DiagnosisNervousSystemDisease { get; set; }
public bool? DiagnosisSkinDisease { get; set; }
public bool? DiagnosisFoodPoisoning { get; set; }
public bool? Hospitalized { get; set; }
public string HospitalizedNote { get; set; }
public bool? HadSurgery { get; set; }
public string HadSurgeryNote { get; set; }
public bool? HadWorkAccident { get; set; }
public string HadWorkAccidentNote { get; set; }
public bool? OccupationalDiseaseExam { get; set; }
public string OccupationalDiseaseExamNote { get; set; }
public bool? DisabilityPension { get; set; }
public string DisabilityPensionNote { get; set; }
public bool? UnderTreatment { get; set; }
public string UnderTreatmentNote { get; set; }
public string Smoking { get; set; }
public string SmokingNote { get; set; }
public string Alcohol { get; set; }
public string AlcoholNote { get; set; }
public string FitForWorkJob { get; set; }
public string FitForWorkCondition { get; set; }
public Guid? FitnessDoctorId { get; set; }
public bool? ShiftWorkFit { get; set; }
public bool? NightWorkFit { get; set; }
public Guid? ShiftNightDoctorId { get; set; }
} }

View file

@ -178,6 +178,40 @@ public static class LookupQueryValues
$"AND \"TenantId\" = '@TENANTID' " + $"AND \"TenantId\" = '@TENANTID' " +
$"ORDER BY \"Name\";"; $"ORDER BY \"Name\";";
/// <summary>
/// Oturumun kiracisina ait sektorler. Tablo kiraci basina ayristigi icin filtre '@TENANTID'
/// ile kurulur; host baglaminda "IS NULL" olarak cozulur.
/// </summary>
public static string TenantSectorValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.Sector)}\" " +
$"WHERE " +
$"\"IsDeleted\" = 'false' " +
$"AND \"TenantId\" = '@TENANTID' " +
$"ORDER BY \"Name\";";
/// <summary>
/// Saglik kartindaki hekim secimi. Hr_T_Doctor wizard ile uretilen bir tablodur (entity'si
/// yoktur); diploma ve isyeri hekimligi belgesi kolonlari da secilir, detay ekrani secilen
/// hekimin bu bilgilerini gosterir.
/// </summary>
public static string TenantDoctorValues =
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"FullName\" AS \"Name\", " +
$"\"DiplomaNo\", " +
$"\"DiplomaDate\", " +
$"\"OhsCertificateNo\", " +
$"\"OhsCertificateDate\" " +
$"FROM \"Hr_T_Doctor\" " +
$"WHERE " +
$"\"IsDeleted\" = 'false' " +
$"AND \"IsActive\" = 'true' " +
$"AND \"TenantId\" = '@TENANTID' " +
$"ORDER BY \"FullName\";";
public static string UserValues = public static string UserValues =
$"SELECT " + $"SELECT " +
$"\"Id\" AS \"Key\", " + $"\"Id\" AS \"Key\", " +

View file

@ -289,6 +289,82 @@ public class PlatformIdentityAppService : ApplicationService
user.SetEducationLevel(UserInfo.EducationLevel); user.SetEducationLevel(UserInfo.EducationLevel);
user.SetGraduationSchool(UserInfo.GraduationSchool); user.SetGraduationSchool(UserInfo.GraduationSchool);
user.SetBloodType(UserInfo.BloodType); user.SetBloodType(UserInfo.BloodType);
user.SetMotherHealthStatus(UserInfo.MotherHealthStatus);
user.SetMotherHealthNote(UserInfo.MotherHealthNote);
user.SetFatherHealthStatus(UserInfo.FatherHealthStatus);
user.SetFatherHealthNote(UserInfo.FatherHealthNote);
user.SetSiblingHealthStatus(UserInfo.SiblingHealthStatus);
user.SetSiblingHealthNote(UserInfo.SiblingHealthNote);
user.SetChildHealthStatus(UserInfo.ChildHealthStatus);
user.SetChildHealthNote(UserInfo.ChildHealthNote);
user.SetChronicDisease(UserInfo.ChronicDisease);
user.SetTetanusVaccination(UserInfo.TetanusVaccination);
user.SetHepatitisVaccination(UserInfo.HepatitisVaccination);
user.SetOtherVaccination(UserInfo.OtherVaccination);
user.SetLabBiologicalAnalysis(UserInfo.LabBiologicalAnalysis);
user.SetLabBlood(UserInfo.LabBlood);
user.SetLabUrine(UserInfo.LabUrine);
user.SetLabRadiological(UserInfo.LabRadiological);
user.SetLabRadiologicalPhysiological(UserInfo.LabRadiologicalPhysiological);
user.SetLabAudiometry(UserInfo.LabAudiometry);
user.SetLabPulmonaryFunction(UserInfo.LabPulmonaryFunction);
user.SetLabPsychologicalTests(UserInfo.LabPsychologicalTests);
user.SetLabOther(UserInfo.LabOther);
user.SetExamSensoryOrgans(UserInfo.ExamSensoryOrgans);
user.SetExamEye(UserInfo.ExamEye);
user.SetExamEnt(UserInfo.ExamEnt);
user.SetExamSkin(UserInfo.ExamSkin);
user.SetExamCardiovascular(UserInfo.ExamCardiovascular);
user.SetExamRespiratory(UserInfo.ExamRespiratory);
user.SetExamDigestive(UserInfo.ExamDigestive);
user.SetExamUrogenital(UserInfo.ExamUrogenital);
user.SetExamMusculoskeletal(UserInfo.ExamMusculoskeletal);
user.SetExamNeurological(UserInfo.ExamNeurological);
user.SetExamPsychiatric(UserInfo.ExamPsychiatric);
user.SetExamOther(UserInfo.ExamOther);
user.SetExamBloodPressure(UserInfo.ExamBloodPressure);
user.SetExamPulse(UserInfo.ExamPulse);
user.SetExamHeight(UserInfo.ExamHeight);
user.SetExamWeight(UserInfo.ExamWeight);
user.SetComplaintProductiveCough(UserInfo.ComplaintProductiveCough);
user.SetComplaintDyspnea(UserInfo.ComplaintDyspnea);
user.SetComplaintChestPain(UserInfo.ComplaintChestPain);
user.SetComplaintPalpitation(UserInfo.ComplaintPalpitation);
user.SetComplaintBackPain(UserInfo.ComplaintBackPain);
user.SetComplaintDiarrheaConstipation(UserInfo.ComplaintDiarrheaConstipation);
user.SetComplaintJointPain(UserInfo.ComplaintJointPain);
user.SetDiagnosisHeartDisease(UserInfo.DiagnosisHeartDisease);
user.SetDiagnosisDiabetes(UserInfo.DiagnosisDiabetes);
user.SetDiagnosisKidneyDisease(UserInfo.DiagnosisKidneyDisease);
user.SetDiagnosisJaundice(UserInfo.DiagnosisJaundice);
user.SetDiagnosisPepticUlcer(UserInfo.DiagnosisPepticUlcer);
user.SetDiagnosisHearingLoss(UserInfo.DiagnosisHearingLoss);
user.SetDiagnosisVisionImpairment(UserInfo.DiagnosisVisionImpairment);
user.SetDiagnosisNervousSystemDisease(UserInfo.DiagnosisNervousSystemDisease);
user.SetDiagnosisSkinDisease(UserInfo.DiagnosisSkinDisease);
user.SetDiagnosisFoodPoisoning(UserInfo.DiagnosisFoodPoisoning);
user.SetHospitalized(UserInfo.Hospitalized);
user.SetHospitalizedNote(UserInfo.HospitalizedNote);
user.SetHadSurgery(UserInfo.HadSurgery);
user.SetHadSurgeryNote(UserInfo.HadSurgeryNote);
user.SetHadWorkAccident(UserInfo.HadWorkAccident);
user.SetHadWorkAccidentNote(UserInfo.HadWorkAccidentNote);
user.SetOccupationalDiseaseExam(UserInfo.OccupationalDiseaseExam);
user.SetOccupationalDiseaseExamNote(UserInfo.OccupationalDiseaseExamNote);
user.SetDisabilityPension(UserInfo.DisabilityPension);
user.SetDisabilityPensionNote(UserInfo.DisabilityPensionNote);
user.SetUnderTreatment(UserInfo.UnderTreatment);
user.SetUnderTreatmentNote(UserInfo.UnderTreatmentNote);
user.SetSmoking(UserInfo.Smoking);
user.SetSmokingNote(UserInfo.SmokingNote);
user.SetAlcohol(UserInfo.Alcohol);
user.SetAlcoholNote(UserInfo.AlcoholNote);
user.SetFitForWorkJob(UserInfo.FitForWorkJob);
user.SetFitForWorkCondition(UserInfo.FitForWorkCondition);
user.SetFitnessDoctorId(UserInfo.FitnessDoctorId);
user.SetShiftWorkFit(UserInfo.ShiftWorkFit);
user.SetNightWorkFit(UserInfo.NightWorkFit);
user.SetShiftNightDoctorId(UserInfo.ShiftNightDoctorId);
user.SetAvatar(UserInfo.Avatar); user.SetAvatar(UserInfo.Avatar);
user.SetUserType(UserInfo.UserType); user.SetUserType(UserInfo.UserType);

View file

@ -45,6 +45,82 @@ public static class UserInfoViewModelMappingExtensions
userInfoViewModel.EducationLevel = user.GetEducationLevel(); userInfoViewModel.EducationLevel = user.GetEducationLevel();
userInfoViewModel.GraduationSchool = user.GetGraduationSchool(); userInfoViewModel.GraduationSchool = user.GetGraduationSchool();
userInfoViewModel.BloodType = user.GetBloodType(); userInfoViewModel.BloodType = user.GetBloodType();
userInfoViewModel.MotherHealthStatus = user.GetMotherHealthStatus();
userInfoViewModel.MotherHealthNote = user.GetMotherHealthNote();
userInfoViewModel.FatherHealthStatus = user.GetFatherHealthStatus();
userInfoViewModel.FatherHealthNote = user.GetFatherHealthNote();
userInfoViewModel.SiblingHealthStatus = user.GetSiblingHealthStatus();
userInfoViewModel.SiblingHealthNote = user.GetSiblingHealthNote();
userInfoViewModel.ChildHealthStatus = user.GetChildHealthStatus();
userInfoViewModel.ChildHealthNote = user.GetChildHealthNote();
userInfoViewModel.ChronicDisease = user.GetChronicDisease();
userInfoViewModel.TetanusVaccination = user.GetTetanusVaccination();
userInfoViewModel.HepatitisVaccination = user.GetHepatitisVaccination();
userInfoViewModel.OtherVaccination = user.GetOtherVaccination();
userInfoViewModel.LabBiologicalAnalysis = user.GetLabBiologicalAnalysis();
userInfoViewModel.LabBlood = user.GetLabBlood();
userInfoViewModel.LabUrine = user.GetLabUrine();
userInfoViewModel.LabRadiological = user.GetLabRadiological();
userInfoViewModel.LabRadiologicalPhysiological = user.GetLabRadiologicalPhysiological();
userInfoViewModel.LabAudiometry = user.GetLabAudiometry();
userInfoViewModel.LabPulmonaryFunction = user.GetLabPulmonaryFunction();
userInfoViewModel.LabPsychologicalTests = user.GetLabPsychologicalTests();
userInfoViewModel.LabOther = user.GetLabOther();
userInfoViewModel.ExamSensoryOrgans = user.GetExamSensoryOrgans();
userInfoViewModel.ExamEye = user.GetExamEye();
userInfoViewModel.ExamEnt = user.GetExamEnt();
userInfoViewModel.ExamSkin = user.GetExamSkin();
userInfoViewModel.ExamCardiovascular = user.GetExamCardiovascular();
userInfoViewModel.ExamRespiratory = user.GetExamRespiratory();
userInfoViewModel.ExamDigestive = user.GetExamDigestive();
userInfoViewModel.ExamUrogenital = user.GetExamUrogenital();
userInfoViewModel.ExamMusculoskeletal = user.GetExamMusculoskeletal();
userInfoViewModel.ExamNeurological = user.GetExamNeurological();
userInfoViewModel.ExamPsychiatric = user.GetExamPsychiatric();
userInfoViewModel.ExamOther = user.GetExamOther();
userInfoViewModel.ExamBloodPressure = user.GetExamBloodPressure();
userInfoViewModel.ExamPulse = user.GetExamPulse();
userInfoViewModel.ExamHeight = user.GetExamHeight();
userInfoViewModel.ExamWeight = user.GetExamWeight();
userInfoViewModel.ComplaintProductiveCough = user.GetComplaintProductiveCough();
userInfoViewModel.ComplaintDyspnea = user.GetComplaintDyspnea();
userInfoViewModel.ComplaintChestPain = user.GetComplaintChestPain();
userInfoViewModel.ComplaintPalpitation = user.GetComplaintPalpitation();
userInfoViewModel.ComplaintBackPain = user.GetComplaintBackPain();
userInfoViewModel.ComplaintDiarrheaConstipation = user.GetComplaintDiarrheaConstipation();
userInfoViewModel.ComplaintJointPain = user.GetComplaintJointPain();
userInfoViewModel.DiagnosisHeartDisease = user.GetDiagnosisHeartDisease();
userInfoViewModel.DiagnosisDiabetes = user.GetDiagnosisDiabetes();
userInfoViewModel.DiagnosisKidneyDisease = user.GetDiagnosisKidneyDisease();
userInfoViewModel.DiagnosisJaundice = user.GetDiagnosisJaundice();
userInfoViewModel.DiagnosisPepticUlcer = user.GetDiagnosisPepticUlcer();
userInfoViewModel.DiagnosisHearingLoss = user.GetDiagnosisHearingLoss();
userInfoViewModel.DiagnosisVisionImpairment = user.GetDiagnosisVisionImpairment();
userInfoViewModel.DiagnosisNervousSystemDisease = user.GetDiagnosisNervousSystemDisease();
userInfoViewModel.DiagnosisSkinDisease = user.GetDiagnosisSkinDisease();
userInfoViewModel.DiagnosisFoodPoisoning = user.GetDiagnosisFoodPoisoning();
userInfoViewModel.Hospitalized = user.GetHospitalized();
userInfoViewModel.HospitalizedNote = user.GetHospitalizedNote();
userInfoViewModel.HadSurgery = user.GetHadSurgery();
userInfoViewModel.HadSurgeryNote = user.GetHadSurgeryNote();
userInfoViewModel.HadWorkAccident = user.GetHadWorkAccident();
userInfoViewModel.HadWorkAccidentNote = user.GetHadWorkAccidentNote();
userInfoViewModel.OccupationalDiseaseExam = user.GetOccupationalDiseaseExam();
userInfoViewModel.OccupationalDiseaseExamNote = user.GetOccupationalDiseaseExamNote();
userInfoViewModel.DisabilityPension = user.GetDisabilityPension();
userInfoViewModel.DisabilityPensionNote = user.GetDisabilityPensionNote();
userInfoViewModel.UnderTreatment = user.GetUnderTreatment();
userInfoViewModel.UnderTreatmentNote = user.GetUnderTreatmentNote();
userInfoViewModel.Smoking = user.GetSmoking();
userInfoViewModel.SmokingNote = user.GetSmokingNote();
userInfoViewModel.Alcohol = user.GetAlcohol();
userInfoViewModel.AlcoholNote = user.GetAlcoholNote();
userInfoViewModel.FitForWorkJob = user.GetFitForWorkJob();
userInfoViewModel.FitForWorkCondition = user.GetFitForWorkCondition();
userInfoViewModel.FitnessDoctorId = user.GetFitnessDoctorId();
userInfoViewModel.ShiftWorkFit = user.GetShiftWorkFit();
userInfoViewModel.NightWorkFit = user.GetNightWorkFit();
userInfoViewModel.ShiftNightDoctorId = user.GetShiftNightDoctorId();
return userInfoViewModel; return userInfoViewModel;
} }

View file

@ -97,5 +97,9 @@ public enum TableNameEnum
DbTableColumn, DbTableColumn,
DevRequest, DevRequest,
Agenda, Agenda,
ChangeLog ChangeLog,
UserWorkExperience,
UserPeriodicExamination,
UserPatientProtocol,
UserSickLeave
} }

View file

@ -118,6 +118,82 @@ public static class PlatformConsts
public const string EducationLevel = "EducationLevel"; public const string EducationLevel = "EducationLevel";
public const string GraduationSchool = "GraduationSchool"; public const string GraduationSchool = "GraduationSchool";
public const string BloodType = "BloodType"; public const string BloodType = "BloodType";
public const string MotherHealthStatus = "MotherHealthStatus";
public const string MotherHealthNote = "MotherHealthNote";
public const string FatherHealthStatus = "FatherHealthStatus";
public const string FatherHealthNote = "FatherHealthNote";
public const string SiblingHealthStatus = "SiblingHealthStatus";
public const string SiblingHealthNote = "SiblingHealthNote";
public const string ChildHealthStatus = "ChildHealthStatus";
public const string ChildHealthNote = "ChildHealthNote";
public const string ChronicDisease = "ChronicDisease";
public const string TetanusVaccination = "TetanusVaccination";
public const string HepatitisVaccination = "HepatitisVaccination";
public const string OtherVaccination = "OtherVaccination";
public const string LabBiologicalAnalysis = "LabBiologicalAnalysis";
public const string LabBlood = "LabBlood";
public const string LabUrine = "LabUrine";
public const string LabRadiological = "LabRadiological";
public const string LabRadiologicalPhysiological = "LabRadiologicalPhysiological";
public const string LabAudiometry = "LabAudiometry";
public const string LabPulmonaryFunction = "LabPulmonaryFunction";
public const string LabPsychologicalTests = "LabPsychologicalTests";
public const string LabOther = "LabOther";
public const string ExamSensoryOrgans = "ExamSensoryOrgans";
public const string ExamEye = "ExamEye";
public const string ExamEnt = "ExamEnt";
public const string ExamSkin = "ExamSkin";
public const string ExamCardiovascular = "ExamCardiovascular";
public const string ExamRespiratory = "ExamRespiratory";
public const string ExamDigestive = "ExamDigestive";
public const string ExamUrogenital = "ExamUrogenital";
public const string ExamMusculoskeletal = "ExamMusculoskeletal";
public const string ExamNeurological = "ExamNeurological";
public const string ExamPsychiatric = "ExamPsychiatric";
public const string ExamOther = "ExamOther";
public const string ExamBloodPressure = "ExamBloodPressure";
public const string ExamPulse = "ExamPulse";
public const string ExamHeight = "ExamHeight";
public const string ExamWeight = "ExamWeight";
public const string ComplaintProductiveCough = "ComplaintProductiveCough";
public const string ComplaintDyspnea = "ComplaintDyspnea";
public const string ComplaintChestPain = "ComplaintChestPain";
public const string ComplaintPalpitation = "ComplaintPalpitation";
public const string ComplaintBackPain = "ComplaintBackPain";
public const string ComplaintDiarrheaConstipation = "ComplaintDiarrheaConstipation";
public const string ComplaintJointPain = "ComplaintJointPain";
public const string DiagnosisHeartDisease = "DiagnosisHeartDisease";
public const string DiagnosisDiabetes = "DiagnosisDiabetes";
public const string DiagnosisKidneyDisease = "DiagnosisKidneyDisease";
public const string DiagnosisJaundice = "DiagnosisJaundice";
public const string DiagnosisPepticUlcer = "DiagnosisPepticUlcer";
public const string DiagnosisHearingLoss = "DiagnosisHearingLoss";
public const string DiagnosisVisionImpairment = "DiagnosisVisionImpairment";
public const string DiagnosisNervousSystemDisease = "DiagnosisNervousSystemDisease";
public const string DiagnosisSkinDisease = "DiagnosisSkinDisease";
public const string DiagnosisFoodPoisoning = "DiagnosisFoodPoisoning";
public const string Hospitalized = "Hospitalized";
public const string HospitalizedNote = "HospitalizedNote";
public const string HadSurgery = "HadSurgery";
public const string HadSurgeryNote = "HadSurgeryNote";
public const string HadWorkAccident = "HadWorkAccident";
public const string HadWorkAccidentNote = "HadWorkAccidentNote";
public const string OccupationalDiseaseExam = "OccupationalDiseaseExam";
public const string OccupationalDiseaseExamNote = "OccupationalDiseaseExamNote";
public const string DisabilityPension = "DisabilityPension";
public const string DisabilityPensionNote = "DisabilityPensionNote";
public const string UnderTreatment = "UnderTreatment";
public const string UnderTreatmentNote = "UnderTreatmentNote";
public const string Smoking = "Smoking";
public const string SmokingNote = "SmokingNote";
public const string Alcohol = "Alcohol";
public const string AlcoholNote = "AlcoholNote";
public const string FitForWorkJob = "FitForWorkJob";
public const string FitForWorkCondition = "FitForWorkCondition";
public const string FitnessDoctorId = "FitnessDoctorId";
public const string ShiftWorkFit = "ShiftWorkFit";
public const string NightWorkFit = "NightWorkFit";
public const string ShiftNightDoctorId = "ShiftNightDoctorId";
public const string Nationality = "Nationality"; public const string Nationality = "Nationality";
public const string Gender = "Gender"; public const string Gender = "Gender";
@ -624,6 +700,10 @@ public static class PlatformConsts
public const string ClaimTypes = Default + ".ClaimType"; public const string ClaimTypes = Default + ".ClaimType";
public const string AuditLogs = Default + ".AuditLogs"; public const string AuditLogs = Default + ".AuditLogs";
public const string UserWorkExperience = Default + ".UserWorkExperience";
public const string UserPeriodicExamination = Default + ".UserPeriodicExamination";
public const string UserPatientProtocol = Default + ".UserPatientProtocol";
public const string UserSickLeave = Default + ".UserSickLeave";
} }
public static class Reports public static class Reports

View file

@ -83,6 +83,10 @@ public static class TableNameResolver
{ nameof(TableNameEnum.VideoroomChat), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.VideoroomChat), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Sequence), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.Sequence), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.Agenda), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.Agenda), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.UserWorkExperience), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.UserPeriodicExamination), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.UserPatientProtocol), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.UserSickLeave), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.NotificationTemplate), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.NotificationTemplate), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.NotificationType), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.NotificationType), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.NotificationRule), (TablePrefix.TenantByName, MenuPrefix.Administration) }, { nameof(TableNameEnum.NotificationRule), (TablePrefix.TenantByName, MenuPrefix.Administration) },

View file

@ -494,6 +494,10 @@ public static class SeedConsts
public const string ClaimTypes = Default + ".ClaimType"; public const string ClaimTypes = Default + ".ClaimType";
public const string AuditLogs = Default + ".AuditLogs"; public const string AuditLogs = Default + ".AuditLogs";
public const string Sessions = Default + ".Sessions"; public const string Sessions = Default + ".Sessions";
public const string UserWorkExperience = Default + ".UserWorkExperience";
public const string UserPeriodicExamination = Default + ".UserPeriodicExamination";
public const string UserPatientProtocol = Default + ".UserPatientProtocol";
public const string UserSickLeave = Default + ".UserSickLeave";
} }

View file

@ -0,0 +1,24 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.Platform.Entities;
/// <summary>
/// Kullanicinin hasta protokol defteri kayitlari. Saglik kartinda kullaniciya gore suzulen alt liste olarak cizilir.
/// </summary>
public class UserPatientProtocol : FullAuditedEntity<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
public Guid UserId { get; set; }
public int? SequenceNo { get; set; }
public DateTime ProtocolDate { get; set; }
public string ProtocolType { get; set; }
public string ProtocolResult { get; set; }
public int? RestDays { get; set; }
public string ReferralPlace { get; set; }
public Guid? DoctorId { get; set; }
Guid? IMultiTenant.TenantId => TenantId;
}

View file

@ -0,0 +1,22 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.Platform.Entities;
/// <summary>
/// Kullanicinin periyodik saglik muayeneleri. Saglik kartinda kullaniciya gore suzulen alt liste olarak cizilir.
/// </summary>
public class UserPeriodicExamination : FullAuditedEntity<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
public Guid UserId { get; set; }
public DateTime ExamDate { get; set; }
public string Examination { get; set; }
public string Result { get; set; }
public Guid? DoctorId { get; set; }
public string DoctorDiplomaNo { get; set; }
Guid? IMultiTenant.TenantId => TenantId;
}

View file

@ -0,0 +1,24 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.Platform.Entities;
/// <summary>
/// Kullanicinin istirahat (rapor) kayitlari. Saglik kartinda kullaniciya gore suzulen alt liste olarak cizilir.
/// </summary>
public class UserSickLeave : FullAuditedEntity<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
public Guid UserId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int Days { get; set; }
public string SickLeaveType { get; set; }
public string Institution { get; set; }
public string Clinic { get; set; }
public string SickLeaveReason { get; set; }
Guid? IMultiTenant.TenantId => TenantId;
}

View file

@ -0,0 +1,23 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace Sozsoft.Platform.Entities;
/// <summary>
/// Kullanicinin daha once calistigi yerler. <c>AbpUsers</c> ABP'nin tablosu oldugu icin
/// gecmis ayri tabloda tutulur ve kullanici detayindaki Work sekmesinde alt liste olarak cizilir.
/// </summary>
public class UserWorkExperience : FullAuditedEntity<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
public Guid UserId { get; set; }
public string CompanyName { get; set; }
public Guid SectorId { get; set; }
public DateTime StartDate { get; set; }
public DateTime? EndDate { get; set; }
public string JobDescription { get; set; }
Guid? IMultiTenant.TenantId => TenantId;
}

View file

@ -350,5 +350,765 @@ public static class AbpIdentityUserExtensions
{ {
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.BloodType); return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.BloodType);
} }
//MotherHealthStatus
public static void SetMotherHealthStatus(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.MotherHealthStatus, value);
}
public static string GetMotherHealthStatus(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.MotherHealthStatus);
}
//MotherHealthNote
public static void SetMotherHealthNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.MotherHealthNote, value);
}
public static string GetMotherHealthNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.MotherHealthNote);
}
//FatherHealthStatus
public static void SetFatherHealthStatus(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.FatherHealthStatus, value);
}
public static string GetFatherHealthStatus(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.FatherHealthStatus);
}
//FatherHealthNote
public static void SetFatherHealthNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.FatherHealthNote, value);
}
public static string GetFatherHealthNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.FatherHealthNote);
}
//SiblingHealthStatus
public static void SetSiblingHealthStatus(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.SiblingHealthStatus, value);
}
public static string GetSiblingHealthStatus(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.SiblingHealthStatus);
}
//SiblingHealthNote
public static void SetSiblingHealthNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.SiblingHealthNote, value);
}
public static string GetSiblingHealthNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.SiblingHealthNote);
}
//ChildHealthStatus
public static void SetChildHealthStatus(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ChildHealthStatus, value);
}
public static string GetChildHealthStatus(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ChildHealthStatus);
}
//ChildHealthNote
public static void SetChildHealthNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ChildHealthNote, value);
}
public static string GetChildHealthNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ChildHealthNote);
}
//ChronicDisease
public static void SetChronicDisease(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ChronicDisease, value);
}
public static string GetChronicDisease(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ChronicDisease);
}
//TetanusVaccination
public static void SetTetanusVaccination(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.TetanusVaccination, value);
}
public static string GetTetanusVaccination(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.TetanusVaccination);
}
//HepatitisVaccination
public static void SetHepatitisVaccination(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.HepatitisVaccination, value);
}
public static string GetHepatitisVaccination(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.HepatitisVaccination);
}
//OtherVaccination
public static void SetOtherVaccination(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.OtherVaccination, value);
}
public static string GetOtherVaccination(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.OtherVaccination);
}
//LabBiologicalAnalysis
public static void SetLabBiologicalAnalysis(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabBiologicalAnalysis, value);
}
public static string GetLabBiologicalAnalysis(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabBiologicalAnalysis);
}
//LabBlood
public static void SetLabBlood(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabBlood, value);
}
public static string GetLabBlood(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabBlood);
}
//LabUrine
public static void SetLabUrine(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabUrine, value);
}
public static string GetLabUrine(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabUrine);
}
//LabRadiological
public static void SetLabRadiological(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabRadiological, value);
}
public static string GetLabRadiological(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabRadiological);
}
//LabRadiologicalPhysiological
public static void SetLabRadiologicalPhysiological(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabRadiologicalPhysiological, value);
}
public static string GetLabRadiologicalPhysiological(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabRadiologicalPhysiological);
}
//LabAudiometry
public static void SetLabAudiometry(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabAudiometry, value);
}
public static string GetLabAudiometry(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabAudiometry);
}
//LabPulmonaryFunction
public static void SetLabPulmonaryFunction(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabPulmonaryFunction, value);
}
public static string GetLabPulmonaryFunction(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabPulmonaryFunction);
}
//LabPsychologicalTests
public static void SetLabPsychologicalTests(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabPsychologicalTests, value);
}
public static string GetLabPsychologicalTests(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabPsychologicalTests);
}
//LabOther
public static void SetLabOther(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.LabOther, value);
}
public static string GetLabOther(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.LabOther);
}
//ExamSensoryOrgans
public static void SetExamSensoryOrgans(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamSensoryOrgans, value);
}
public static string GetExamSensoryOrgans(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamSensoryOrgans);
}
//ExamEye
public static void SetExamEye(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamEye, value);
}
public static string GetExamEye(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamEye);
}
//ExamEnt
public static void SetExamEnt(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamEnt, value);
}
public static string GetExamEnt(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamEnt);
}
//ExamSkin
public static void SetExamSkin(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamSkin, value);
}
public static string GetExamSkin(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamSkin);
}
//ExamCardiovascular
public static void SetExamCardiovascular(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamCardiovascular, value);
}
public static string GetExamCardiovascular(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamCardiovascular);
}
//ExamRespiratory
public static void SetExamRespiratory(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamRespiratory, value);
}
public static string GetExamRespiratory(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamRespiratory);
}
//ExamDigestive
public static void SetExamDigestive(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamDigestive, value);
}
public static string GetExamDigestive(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamDigestive);
}
//ExamUrogenital
public static void SetExamUrogenital(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamUrogenital, value);
}
public static string GetExamUrogenital(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamUrogenital);
}
//ExamMusculoskeletal
public static void SetExamMusculoskeletal(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamMusculoskeletal, value);
}
public static string GetExamMusculoskeletal(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamMusculoskeletal);
}
//ExamNeurological
public static void SetExamNeurological(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamNeurological, value);
}
public static string GetExamNeurological(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamNeurological);
}
//ExamPsychiatric
public static void SetExamPsychiatric(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamPsychiatric, value);
}
public static string GetExamPsychiatric(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamPsychiatric);
}
//ExamOther
public static void SetExamOther(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamOther, value);
}
public static string GetExamOther(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamOther);
}
//ExamBloodPressure
public static void SetExamBloodPressure(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamBloodPressure, value);
}
public static string GetExamBloodPressure(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamBloodPressure);
}
//ExamPulse
public static void SetExamPulse(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamPulse, value);
}
public static string GetExamPulse(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.ExamPulse);
}
//ExamHeight
public static void SetExamHeight(this IdentityUser user, decimal? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamHeight, value);
}
public static decimal? GetExamHeight(this IdentityUser user)
{
return user.GetProperty<decimal?>(PlatformConsts.AbpIdentity.User.ExamHeight);
}
//ExamWeight
public static void SetExamWeight(this IdentityUser user, decimal? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ExamWeight, value);
}
public static decimal? GetExamWeight(this IdentityUser user)
{
return user.GetProperty<decimal?>(PlatformConsts.AbpIdentity.User.ExamWeight);
}
//ComplaintProductiveCough
public static void SetComplaintProductiveCough(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintProductiveCough, value);
}
public static bool? GetComplaintProductiveCough(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintProductiveCough);
}
//ComplaintDyspnea
public static void SetComplaintDyspnea(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintDyspnea, value);
}
public static bool? GetComplaintDyspnea(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintDyspnea);
}
//ComplaintChestPain
public static void SetComplaintChestPain(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintChestPain, value);
}
public static bool? GetComplaintChestPain(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintChestPain);
}
//ComplaintPalpitation
public static void SetComplaintPalpitation(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintPalpitation, value);
}
public static bool? GetComplaintPalpitation(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintPalpitation);
}
//ComplaintBackPain
public static void SetComplaintBackPain(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintBackPain, value);
}
public static bool? GetComplaintBackPain(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintBackPain);
}
//ComplaintDiarrheaConstipation
public static void SetComplaintDiarrheaConstipation(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintDiarrheaConstipation, value);
}
public static bool? GetComplaintDiarrheaConstipation(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintDiarrheaConstipation);
}
//ComplaintJointPain
public static void SetComplaintJointPain(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ComplaintJointPain, value);
}
public static bool? GetComplaintJointPain(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ComplaintJointPain);
}
//DiagnosisHeartDisease
public static void SetDiagnosisHeartDisease(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisHeartDisease, value);
}
public static bool? GetDiagnosisHeartDisease(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisHeartDisease);
}
//DiagnosisDiabetes
public static void SetDiagnosisDiabetes(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisDiabetes, value);
}
public static bool? GetDiagnosisDiabetes(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisDiabetes);
}
//DiagnosisKidneyDisease
public static void SetDiagnosisKidneyDisease(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisKidneyDisease, value);
}
public static bool? GetDiagnosisKidneyDisease(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisKidneyDisease);
}
//DiagnosisJaundice
public static void SetDiagnosisJaundice(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisJaundice, value);
}
public static bool? GetDiagnosisJaundice(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisJaundice);
}
//DiagnosisPepticUlcer
public static void SetDiagnosisPepticUlcer(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisPepticUlcer, value);
}
public static bool? GetDiagnosisPepticUlcer(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisPepticUlcer);
}
//DiagnosisHearingLoss
public static void SetDiagnosisHearingLoss(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisHearingLoss, value);
}
public static bool? GetDiagnosisHearingLoss(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisHearingLoss);
}
//DiagnosisVisionImpairment
public static void SetDiagnosisVisionImpairment(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisVisionImpairment, value);
}
public static bool? GetDiagnosisVisionImpairment(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisVisionImpairment);
}
//DiagnosisNervousSystemDisease
public static void SetDiagnosisNervousSystemDisease(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisNervousSystemDisease, value);
}
public static bool? GetDiagnosisNervousSystemDisease(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisNervousSystemDisease);
}
//DiagnosisSkinDisease
public static void SetDiagnosisSkinDisease(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisSkinDisease, value);
}
public static bool? GetDiagnosisSkinDisease(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisSkinDisease);
}
//DiagnosisFoodPoisoning
public static void SetDiagnosisFoodPoisoning(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DiagnosisFoodPoisoning, value);
}
public static bool? GetDiagnosisFoodPoisoning(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DiagnosisFoodPoisoning);
}
//Hospitalized
public static void SetHospitalized(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.Hospitalized, value);
}
public static bool? GetHospitalized(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.Hospitalized);
}
//HospitalizedNote
public static void SetHospitalizedNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.HospitalizedNote, value);
}
public static string GetHospitalizedNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.HospitalizedNote);
}
//HadSurgery
public static void SetHadSurgery(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.HadSurgery, value);
}
public static bool? GetHadSurgery(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.HadSurgery);
}
//HadSurgeryNote
public static void SetHadSurgeryNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.HadSurgeryNote, value);
}
public static string GetHadSurgeryNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.HadSurgeryNote);
}
//HadWorkAccident
public static void SetHadWorkAccident(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.HadWorkAccident, value);
}
public static bool? GetHadWorkAccident(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.HadWorkAccident);
}
//HadWorkAccidentNote
public static void SetHadWorkAccidentNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.HadWorkAccidentNote, value);
}
public static string GetHadWorkAccidentNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.HadWorkAccidentNote);
}
//OccupationalDiseaseExam
public static void SetOccupationalDiseaseExam(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.OccupationalDiseaseExam, value);
}
public static bool? GetOccupationalDiseaseExam(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.OccupationalDiseaseExam);
}
//OccupationalDiseaseExamNote
public static void SetOccupationalDiseaseExamNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.OccupationalDiseaseExamNote, value);
}
public static string GetOccupationalDiseaseExamNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.OccupationalDiseaseExamNote);
}
//DisabilityPension
public static void SetDisabilityPension(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DisabilityPension, value);
}
public static bool? GetDisabilityPension(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.DisabilityPension);
}
//DisabilityPensionNote
public static void SetDisabilityPensionNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.DisabilityPensionNote, value);
}
public static string GetDisabilityPensionNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.DisabilityPensionNote);
}
//UnderTreatment
public static void SetUnderTreatment(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.UnderTreatment, value);
}
public static bool? GetUnderTreatment(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.UnderTreatment);
}
//UnderTreatmentNote
public static void SetUnderTreatmentNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.UnderTreatmentNote, value);
}
public static string GetUnderTreatmentNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.UnderTreatmentNote);
}
//Smoking
public static void SetSmoking(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.Smoking, value);
}
public static string GetSmoking(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.Smoking);
}
//SmokingNote
public static void SetSmokingNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.SmokingNote, value);
}
public static string GetSmokingNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.SmokingNote);
}
//Alcohol
public static void SetAlcohol(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.Alcohol, value);
}
public static string GetAlcohol(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.Alcohol);
}
//AlcoholNote
public static void SetAlcoholNote(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.AlcoholNote, value);
}
public static string GetAlcoholNote(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.AlcoholNote);
}
//FitForWorkJob
public static void SetFitForWorkJob(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.FitForWorkJob, value);
}
public static string GetFitForWorkJob(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.FitForWorkJob);
}
//FitForWorkCondition
public static void SetFitForWorkCondition(this IdentityUser user, string value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.FitForWorkCondition, value);
}
public static string GetFitForWorkCondition(this IdentityUser user)
{
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.FitForWorkCondition);
}
//FitnessDoctorId
public static void SetFitnessDoctorId(this IdentityUser user, Guid? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.FitnessDoctorId, value);
}
public static Guid? GetFitnessDoctorId(this IdentityUser user)
{
return user.GetProperty<Guid?>(PlatformConsts.AbpIdentity.User.FitnessDoctorId);
}
//ShiftWorkFit
public static void SetShiftWorkFit(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ShiftWorkFit, value);
}
public static bool? GetShiftWorkFit(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.ShiftWorkFit);
}
//NightWorkFit
public static void SetNightWorkFit(this IdentityUser user, bool? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.NightWorkFit, value);
}
public static bool? GetNightWorkFit(this IdentityUser user)
{
return user.GetProperty<bool?>(PlatformConsts.AbpIdentity.User.NightWorkFit);
}
//ShiftNightDoctorId
public static void SetShiftNightDoctorId(this IdentityUser user, Guid? value)
{
user.SetProperty(PlatformConsts.AbpIdentity.User.ShiftNightDoctorId, value);
}
public static Guid? GetShiftNightDoctorId(this IdentityUser user)
{
return user.GetProperty<Guid?>(PlatformConsts.AbpIdentity.User.ShiftNightDoctorId);
}
} }

View file

@ -99,6 +99,10 @@ public class PlatformDbContext :
public DbSet<BlogCategory> BlogCategories { get; set; } public DbSet<BlogCategory> BlogCategories { get; set; }
public DbSet<Demo> Demos { get; set; } public DbSet<Demo> Demos { get; set; }
public DbSet<Sector> Sectors { get; set; } public DbSet<Sector> Sectors { get; set; }
public DbSet<UserWorkExperience> UserWorkExperiences { get; set; }
public DbSet<UserPeriodicExamination> UserPeriodicExaminations { get; set; }
public DbSet<UserPatientProtocol> UserPatientProtocols { get; set; }
public DbSet<UserSickLeave> UserSickLeaves { get; set; }
public DbSet<SkillType> SkillTypes { get; set; } public DbSet<SkillType> SkillTypes { get; set; }
public DbSet<DevRequest> DevRequests { get; set; } public DbSet<DevRequest> DevRequests { get; set; }
public DbSet<Agenda> Agendas { get; set; } public DbSet<Agenda> Agendas { get; set; }
@ -765,6 +769,70 @@ public class PlatformDbContext :
b.HasIndex(x => new { x.TenantId, x.ResourceType, x.ResourceId, x.IP }).IsUnique().HasFilter("[IsDeleted] = 0"); b.HasIndex(x => new { x.TenantId, x.ResourceType, x.ResourceId, x.IP }).IsUnique().HasFilter("[IsDeleted] = 0");
}); });
builder.Entity<UserWorkExperience>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserWorkExperience)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.UserId).IsRequired();
b.Property(x => x.CompanyName).IsRequired().HasMaxLength(256);
b.Property(x => x.SectorId).IsRequired();
b.Property(x => x.StartDate).IsRequired();
b.Property(x => x.JobDescription).IsRequired(false);
b.HasIndex(x => new { x.TenantId, x.UserId });
b.HasOne<Sector>()
.WithMany()
.HasForeignKey(x => x.SectorId)
.OnDelete(DeleteBehavior.Restrict);
});
builder.Entity<UserPeriodicExamination>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserPeriodicExamination)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.UserId).IsRequired();
b.Property(x => x.ExamDate).IsRequired();
b.Property(x => x.Examination).IsRequired().HasMaxLength(256);
b.Property(x => x.Result).IsRequired(false).HasMaxLength(512);
b.Property(x => x.DoctorDiplomaNo).IsRequired(false).HasMaxLength(50);
b.HasIndex(x => new { x.TenantId, x.UserId });
});
builder.Entity<UserPatientProtocol>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserPatientProtocol)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.UserId).IsRequired();
b.Property(x => x.ProtocolDate).IsRequired();
b.Property(x => x.ProtocolType).IsRequired().HasMaxLength(32);
b.Property(x => x.ProtocolResult).IsRequired(false).HasMaxLength(32);
b.Property(x => x.ReferralPlace).IsRequired(false).HasMaxLength(256);
b.HasIndex(x => new { x.TenantId, x.UserId });
});
builder.Entity<UserSickLeave>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserSickLeave)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.UserId).IsRequired();
b.Property(x => x.StartDate).IsRequired();
b.Property(x => x.EndDate).IsRequired();
b.Property(x => x.Days).IsRequired();
b.Property(x => x.SickLeaveType).IsRequired().HasMaxLength(32);
b.Property(x => x.Institution).IsRequired(false).HasMaxLength(256);
b.Property(x => x.Clinic).IsRequired(false).HasMaxLength(256);
b.Property(x => x.SickLeaveReason).IsRequired(false).HasMaxLength(512);
b.HasIndex(x => new { x.TenantId, x.UserId });
});
// Definitions // Definitions
builder.Entity<Sector>(b => builder.Entity<Sector>(b =>
{ {

View file

@ -326,6 +326,690 @@ public static class PlatformEfCoreEntityExtensionMappings
} }
); );
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.MotherHealthStatus,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.MotherHealthNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.FatherHealthStatus,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.FatherHealthNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.SiblingHealthStatus,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.SiblingHealthNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ChildHealthStatus,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ChildHealthNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ChronicDisease,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.TetanusVaccination,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.HepatitisVaccination,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.OtherVaccination,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabBiologicalAnalysis,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabBlood,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabUrine,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabRadiological,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabRadiologicalPhysiological,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabAudiometry,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabPulmonaryFunction,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabPsychologicalTests,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.LabOther,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamSensoryOrgans,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamEye,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamEnt,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamSkin,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamCardiovascular,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamRespiratory,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamDigestive,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamUrogenital,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamMusculoskeletal,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamNeurological,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamPsychiatric,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamOther,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamBloodPressure,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.ExamPulse,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, decimal?>(
PlatformConsts.AbpIdentity.User.ExamHeight,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasPrecision(5, 2).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, decimal?>(
PlatformConsts.AbpIdentity.User.ExamWeight,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasPrecision(5, 2).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintProductiveCough,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintDyspnea,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintChestPain,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintPalpitation,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintBackPain,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintDiarrheaConstipation,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ComplaintJointPain,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisHeartDisease,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisDiabetes,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisKidneyDisease,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisJaundice,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisPepticUlcer,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisHearingLoss,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisVisionImpairment,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisNervousSystemDisease,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisSkinDisease,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DiagnosisFoodPoisoning,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.Hospitalized,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.HospitalizedNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.HadSurgery,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.HadSurgeryNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.HadWorkAccident,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.HadWorkAccidentNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.OccupationalDiseaseExam,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.OccupationalDiseaseExamNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.DisabilityPension,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.DisabilityPensionNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.UnderTreatment,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.UnderTreatmentNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.Smoking,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.SmokingNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.Alcohol,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.AlcoholNote,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.FitForWorkJob,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
PlatformConsts.AbpIdentity.User.FitForWorkCondition,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, Guid?>(
PlatformConsts.AbpIdentity.User.FitnessDoctorId,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.ShiftWorkFit,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, bool?>(
PlatformConsts.AbpIdentity.User.NightWorkFit,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, Guid?>(
PlatformConsts.AbpIdentity.User.ShiftNightDoctorId,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(null);
}
);
ObjectExtensionManager.Instance ObjectExtensionManager.Instance
.MapEfCoreProperty<Tenant, bool>( .MapEfCoreProperty<Tenant, bool>(
PlatformConsts.Tenants.IsActive, PlatformConsts.Tenants.IsActive,

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Sozsoft.Platform.Migrations namespace Sozsoft.Platform.Migrations
{ {
[DbContext(typeof(PlatformDbContext))] [DbContext(typeof(PlatformDbContext))]
[Migration("20260930212718_Initial")] [Migration("20261001063425_Initial")]
partial class Initial partial class Initial
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -6144,6 +6144,291 @@ namespace Sozsoft.Platform.Migrations
b.ToTable("Adm_T_UomCategory", (string)null); b.ToTable("Adm_T_UomCategory", (string)null);
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.UserPatientProtocol", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<Guid?>("DoctorId")
.HasColumnType("uniqueidentifier");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<DateTime>("ProtocolDate")
.HasColumnType("datetime2");
b.Property<string>("ProtocolResult")
.HasMaxLength(32)
.HasColumnType("nvarchar(32)");
b.Property<string>("ProtocolType")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("nvarchar(32)");
b.Property<string>("ReferralPlace")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<int?>("RestDays")
.HasColumnType("int");
b.Property<int?>("SequenceNo")
.HasColumnType("int");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserPatientProtocol", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.UserPeriodicExamination", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("DoctorDiplomaNo")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<Guid?>("DoctorId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("ExamDate")
.HasColumnType("datetime2");
b.Property<string>("Examination")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Result")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserPeriodicExamination", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.UserSickLeave", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Clinic")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<int>("Days")
.HasColumnType("int");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<DateTime>("EndDate")
.HasColumnType("datetime2");
b.Property<string>("Institution")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("SickLeaveReason")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("SickLeaveType")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("nvarchar(32)");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserSickLeave", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.UserWorkExperience", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("CompanyName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<DateTime?>("EndDate")
.HasColumnType("datetime2");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<string>("JobDescription")
.HasColumnType("nvarchar(max)");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<Guid>("SectorId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SectorId");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserWorkExperience", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Videoroom", b => modelBuilder.Entity("Sozsoft.Platform.Entities.Videoroom", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -7731,6 +8016,14 @@ namespace Sozsoft.Platform.Migrations
.HasDefaultValue(0) .HasDefaultValue(0)
.HasColumnName("AccessFailedCount"); .HasColumnName("AccessFailedCount");
b.Property<string>("Alcohol")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("AlcoholNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("Avatar") b.Property<string>("Avatar")
.HasMaxLength(512) .HasMaxLength(512)
.HasColumnType("nvarchar(512)"); .HasColumnType("nvarchar(512)");
@ -7746,6 +8039,39 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(16) .HasMaxLength(16)
.HasColumnType("nvarchar(16)"); .HasColumnType("nvarchar(16)");
b.Property<string>("ChildHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("ChildHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("ChronicDisease")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<bool?>("ComplaintBackPain")
.HasColumnType("bit");
b.Property<bool?>("ComplaintChestPain")
.HasColumnType("bit");
b.Property<bool?>("ComplaintDiarrheaConstipation")
.HasColumnType("bit");
b.Property<bool?>("ComplaintDyspnea")
.HasColumnType("bit");
b.Property<bool?>("ComplaintJointPain")
.HasColumnType("bit");
b.Property<bool?>("ComplaintPalpitation")
.HasColumnType("bit");
b.Property<bool?>("ComplaintProductiveCough")
.HasColumnType("bit");
b.Property<string>("ConcurrencyStamp") b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken() .IsConcurrencyToken()
.IsRequired() .IsRequired()
@ -7772,6 +8098,43 @@ namespace Sozsoft.Platform.Migrations
b.Property<Guid>("DepartmentId") b.Property<Guid>("DepartmentId")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<bool?>("DiagnosisDiabetes")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisFoodPoisoning")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisHearingLoss")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisHeartDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisJaundice")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisKidneyDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisNervousSystemDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisPepticUlcer")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisSkinDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisVisionImpairment")
.HasColumnType("bit");
b.Property<bool?>("DisabilityPension")
.HasColumnType("bit");
b.Property<string>("DisabilityPensionNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("District") b.Property<string>("District")
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
@ -7795,6 +8158,70 @@ namespace Sozsoft.Platform.Migrations
b.Property<int>("EntityVersion") b.Property<int>("EntityVersion")
.HasColumnType("int"); .HasColumnType("int");
b.Property<string>("ExamBloodPressure")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("ExamCardiovascular")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamDigestive")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamEnt")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamEye")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<decimal?>("ExamHeight")
.HasPrecision(5, 2)
.HasColumnType("decimal(5,2)");
b.Property<string>("ExamMusculoskeletal")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamNeurological")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamOther")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamPsychiatric")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamPulse")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("ExamRespiratory")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamSensoryOrgans")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamSkin")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamUrogenital")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<decimal?>("ExamWeight")
.HasPrecision(5, 2)
.HasColumnType("decimal(5,2)");
b.Property<string>("ExtraProperties") b.Property<string>("ExtraProperties")
.IsRequired() .IsRequired()
.HasColumnType("nvarchar(max)") .HasColumnType("nvarchar(max)")
@ -7804,10 +8231,29 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(32) .HasMaxLength(32)
.HasColumnType("nvarchar(32)"); .HasColumnType("nvarchar(32)");
b.Property<string>("FatherHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("FatherHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("FatherName") b.Property<string>("FatherName")
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
b.Property<string>("FitForWorkCondition")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("FitForWorkJob")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<Guid?>("FitnessDoctorId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Gender") b.Property<string>("Gender")
.HasMaxLength(16) .HasMaxLength(16)
.HasColumnType("nvarchar(16)"); .HasColumnType("nvarchar(16)");
@ -7816,6 +8262,24 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(256) .HasMaxLength(256)
.HasColumnType("nvarchar(256)"); .HasColumnType("nvarchar(256)");
b.Property<bool?>("HadSurgery")
.HasColumnType("bit");
b.Property<string>("HadSurgeryNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<bool?>("HadWorkAccident")
.HasColumnType("bit");
b.Property<string>("HadWorkAccidentNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("HepatitisVaccination")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime?>("HireDate") b.Property<DateTime?>("HireDate")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
@ -7823,6 +8287,13 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(512) .HasMaxLength(512)
.HasColumnType("nvarchar(512)"); .HasColumnType("nvarchar(512)");
b.Property<bool?>("Hospitalized")
.HasColumnType("bit");
b.Property<string>("HospitalizedNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("IdentityNumber") b.Property<string>("IdentityNumber")
.HasMaxLength(15) .HasMaxLength(15)
.HasColumnType("nvarchar(15)"); .HasColumnType("nvarchar(15)");
@ -7858,6 +8329,42 @@ namespace Sozsoft.Platform.Migrations
b.Property<Guid>("JobPositionId") b.Property<Guid>("JobPositionId")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<string>("LabAudiometry")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabBiologicalAnalysis")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabBlood")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabOther")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabPsychologicalTests")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabPulmonaryFunction")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabRadiological")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabRadiologicalPhysiological")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabUrine")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime?>("LastModificationTime") b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2") .HasColumnType("datetime2")
.HasColumnName("LastModificationTime"); .HasColumnName("LastModificationTime");
@ -7888,6 +8395,14 @@ namespace Sozsoft.Platform.Migrations
b.Property<DateTime?>("MarriageDate") b.Property<DateTime?>("MarriageDate")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
b.Property<string>("MotherHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("MotherHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("MotherName") b.Property<string>("MotherName")
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
@ -7901,6 +8416,9 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
b.Property<bool?>("NightWorkFit")
.HasColumnType("bit");
b.Property<string>("NormalizedEmail") b.Property<string>("NormalizedEmail")
.IsRequired() .IsRequired()
.HasMaxLength(256) .HasMaxLength(256)
@ -7913,6 +8431,17 @@ namespace Sozsoft.Platform.Migrations
.HasColumnType("nvarchar(256)") .HasColumnType("nvarchar(256)")
.HasColumnName("NormalizedUserName"); .HasColumnName("NormalizedUserName");
b.Property<bool?>("OccupationalDiseaseExam")
.HasColumnType("bit");
b.Property<string>("OccupationalDiseaseExamNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("OtherVaccination")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("PasswordHash") b.Property<string>("PasswordHash")
.HasMaxLength(256) .HasMaxLength(256)
.HasColumnType("nvarchar(256)") .HasColumnType("nvarchar(256)")
@ -7950,9 +8479,31 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(32) .HasMaxLength(32)
.HasColumnType("nvarchar(32)"); .HasColumnType("nvarchar(32)");
b.Property<Guid?>("ShiftNightDoctorId")
.HasColumnType("uniqueidentifier");
b.Property<bool?>("ShiftWorkFit")
.HasColumnType("bit");
b.Property<bool>("ShouldChangePasswordOnNextLogin") b.Property<bool>("ShouldChangePasswordOnNextLogin")
.HasColumnType("bit"); .HasColumnType("bit");
b.Property<string>("SiblingHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("SiblingHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("Smoking")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("SmokingNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("SskNo") b.Property<string>("SskNo")
.HasMaxLength(32) .HasMaxLength(32)
.HasColumnType("nvarchar(32)"); .HasColumnType("nvarchar(32)");
@ -7973,12 +8524,23 @@ namespace Sozsoft.Platform.Migrations
b.Property<DateTime?>("TerminationDate") b.Property<DateTime?>("TerminationDate")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
b.Property<string>("TetanusVaccination")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("TwoFactorEnabled") b.Property<bool>("TwoFactorEnabled")
.ValueGeneratedOnAdd() .ValueGeneratedOnAdd()
.HasColumnType("bit") .HasColumnType("bit")
.HasDefaultValue(false) .HasDefaultValue(false)
.HasColumnName("TwoFactorEnabled"); .HasColumnName("TwoFactorEnabled");
b.Property<bool?>("UnderTreatment")
.HasColumnType("bit");
b.Property<string>("UnderTreatmentNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("UserName") b.Property<string>("UserName")
.IsRequired() .IsRequired()
.HasMaxLength(256) .HasMaxLength(256)
@ -9354,6 +9916,15 @@ namespace Sozsoft.Platform.Migrations
b.Navigation("UomCategory"); b.Navigation("UomCategory");
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.UserWorkExperience", b =>
{
b.HasOne("Sozsoft.Platform.Entities.Sector", null)
.WithMany()
.HasForeignKey("SectorId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
});
modelBuilder.Entity("Sozsoft.Platform.Entities.VideoroomAttandance", b => modelBuilder.Entity("Sozsoft.Platform.Entities.VideoroomAttandance", b =>
{ {
b.HasOne("Sozsoft.Platform.Entities.Videoroom", "Session") b.HasOne("Sozsoft.Platform.Entities.Videoroom", "Session")

View file

@ -436,36 +436,112 @@ namespace Sozsoft.Platform.Migrations
ShouldChangePasswordOnNextLogin = table.Column<bool>(type: "bit", nullable: false), ShouldChangePasswordOnNextLogin = table.Column<bool>(type: "bit", nullable: false),
EntityVersion = table.Column<int>(type: "int", nullable: false), EntityVersion = table.Column<int>(type: "int", nullable: false),
LastPasswordChangeTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true), LastPasswordChangeTime = table.Column<DateTimeOffset>(type: "datetimeoffset", nullable: true),
Alcohol = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
AlcoholNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
Avatar = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true), Avatar = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
BirthDate = table.Column<DateTime>(type: "datetime2", nullable: true), BirthDate = table.Column<DateTime>(type: "datetime2", nullable: true),
BirthPlace = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true), BirthPlace = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
BloodType = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true), BloodType = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
ChildHealthNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
ChildHealthStatus = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
ChronicDisease = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
ComplaintBackPain = table.Column<bool>(type: "bit", nullable: true),
ComplaintChestPain = table.Column<bool>(type: "bit", nullable: true),
ComplaintDiarrheaConstipation = table.Column<bool>(type: "bit", nullable: true),
ComplaintDyspnea = table.Column<bool>(type: "bit", nullable: true),
ComplaintJointPain = table.Column<bool>(type: "bit", nullable: true),
ComplaintPalpitation = table.Column<bool>(type: "bit", nullable: true),
ComplaintProductiveCough = table.Column<bool>(type: "bit", nullable: true),
DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
DiagnosisDiabetes = table.Column<bool>(type: "bit", nullable: true),
DiagnosisFoodPoisoning = table.Column<bool>(type: "bit", nullable: true),
DiagnosisHearingLoss = table.Column<bool>(type: "bit", nullable: true),
DiagnosisHeartDisease = table.Column<bool>(type: "bit", nullable: true),
DiagnosisJaundice = table.Column<bool>(type: "bit", nullable: true),
DiagnosisKidneyDisease = table.Column<bool>(type: "bit", nullable: true),
DiagnosisNervousSystemDisease = table.Column<bool>(type: "bit", nullable: true),
DiagnosisPepticUlcer = table.Column<bool>(type: "bit", nullable: true),
DiagnosisSkinDisease = table.Column<bool>(type: "bit", nullable: true),
DiagnosisVisionImpairment = table.Column<bool>(type: "bit", nullable: true),
DisabilityPension = table.Column<bool>(type: "bit", nullable: true),
DisabilityPensionNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
District = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), District = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
EducationLevel = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), EducationLevel = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
ExamBloodPressure = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
ExamCardiovascular = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamDigestive = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamEnt = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamEye = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamHeight = table.Column<decimal>(type: "decimal(5,2)", precision: 5, scale: 2, nullable: true),
ExamMusculoskeletal = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamNeurological = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamOther = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamPsychiatric = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamPulse = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
ExamRespiratory = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamSensoryOrgans = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamSkin = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamUrogenital = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
ExamWeight = table.Column<decimal>(type: "decimal(5,2)", precision: 5, scale: 2, nullable: true),
FamilySequenceNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true), FamilySequenceNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
FatherHealthNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
FatherHealthStatus = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
FatherName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), FatherName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
FitForWorkCondition = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
FitForWorkJob = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
FitnessDoctorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Gender = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true), Gender = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
GraduationSchool = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true), GraduationSchool = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
HadSurgery = table.Column<bool>(type: "bit", nullable: true),
HadSurgeryNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
HadWorkAccident = table.Column<bool>(type: "bit", nullable: true),
HadWorkAccidentNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
HepatitisVaccination = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
HireDate = table.Column<DateTime>(type: "datetime2", nullable: true), HireDate = table.Column<DateTime>(type: "datetime2", nullable: true),
HomeAddress = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true), HomeAddress = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
Hospitalized = table.Column<bool>(type: "bit", nullable: true),
HospitalizedNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
IdentityNumber = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true), IdentityNumber = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true),
IsVerified = table.Column<bool>(type: "bit", nullable: false, defaultValue: false), IsVerified = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
IssuedDate = table.Column<DateTime>(type: "datetime2", nullable: true), IssuedDate = table.Column<DateTime>(type: "datetime2", nullable: true),
IssuedPlace = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true), IssuedPlace = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
JobPositionId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), JobPositionId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
LabAudiometry = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabBiologicalAnalysis = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabBlood = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabOther = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabPsychologicalTests = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabPulmonaryFunction = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabRadiological = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabRadiologicalPhysiological = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LabUrine = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
LoginEndDate = table.Column<DateTime>(type: "datetime2", nullable: true), LoginEndDate = table.Column<DateTime>(type: "datetime2", nullable: true),
MaritalStatus = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true), MaritalStatus = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
MarriageDate = table.Column<DateTime>(type: "datetime2", nullable: true), MarriageDate = table.Column<DateTime>(type: "datetime2", nullable: true),
MotherHealthNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
MotherHealthStatus = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
MotherName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), MotherName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
Nationality = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), Nationality = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
NightWorkFit = table.Column<bool>(type: "bit", nullable: true),
OccupationalDiseaseExam = table.Column<bool>(type: "bit", nullable: true),
OccupationalDiseaseExamNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
OtherVaccination = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
Province = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), Province = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
RocketUsername = table.Column<string>(type: "nvarchar(max)", nullable: true), RocketUsername = table.Column<string>(type: "nvarchar(max)", nullable: true),
SequenceNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true), SequenceNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
SerialNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true), SerialNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
ShiftNightDoctorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
ShiftWorkFit = table.Column<bool>(type: "bit", nullable: true),
SiblingHealthNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
SiblingHealthStatus = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
Smoking = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
SmokingNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
SskNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true), SskNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
TelegramChatId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true), TelegramChatId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
TerminationDate = table.Column<DateTime>(type: "datetime2", nullable: true), TerminationDate = table.Column<DateTime>(type: "datetime2", nullable: true),
TetanusVaccination = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
UnderTreatment = table.Column<bool>(type: "bit", nullable: true),
UnderTreatmentNote = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
UserType = table.Column<int>(type: "int", nullable: false, defaultValue: 0), UserType = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
Village = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true), Village = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
VolumeNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true), VolumeNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
@ -844,6 +920,85 @@ namespace Sozsoft.Platform.Migrations
table.PrimaryKey("PK_Adm_T_UomCategory", x => x.Id); table.PrimaryKey("PK_Adm_T_UomCategory", x => x.Id);
}); });
migrationBuilder.CreateTable(
name: "Adm_T_UserPatientProtocol",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
SequenceNo = table.Column<int>(type: "int", nullable: true),
ProtocolDate = table.Column<DateTime>(type: "datetime2", nullable: false),
ProtocolType = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
ProtocolResult = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
RestDays = table.Column<int>(type: "int", nullable: true),
ReferralPlace = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
DoctorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Adm_T_UserPatientProtocol", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Adm_T_UserPeriodicExamination",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ExamDate = table.Column<DateTime>(type: "datetime2", nullable: false),
Examination = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
Result = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
DoctorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DoctorDiplomaNo = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Adm_T_UserPeriodicExamination", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Adm_T_UserSickLeave",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
EndDate = table.Column<DateTime>(type: "datetime2", nullable: false),
Days = table.Column<int>(type: "int", nullable: false),
SickLeaveType = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
Institution = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
Clinic = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
SickLeaveReason = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Adm_T_UserSickLeave", x => x.Id);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Adm_T_Videoroom", name: "Adm_T_Videoroom",
columns: table => new columns: table => new
@ -2352,6 +2507,37 @@ namespace Sozsoft.Platform.Migrations
onDelete: ReferentialAction.Restrict); onDelete: ReferentialAction.Restrict);
}); });
migrationBuilder.CreateTable(
name: "Adm_T_UserWorkExperience",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
CompanyName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
SectorId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
EndDate = table.Column<DateTime>(type: "datetime2", nullable: true),
JobDescription = table.Column<string>(type: "nvarchar(max)", nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Adm_T_UserWorkExperience", x => x.Id);
table.ForeignKey(
name: "FK_Adm_T_UserWorkExperience_Adm_T_Sector_SectorId",
column: x => x.SectorId,
principalTable: "Adm_T_Sector",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Adm_T_SocialComment", name: "Adm_T_SocialComment",
columns: table => new columns: table => new
@ -4018,6 +4204,31 @@ namespace Sozsoft.Platform.Migrations
unique: true, unique: true,
filter: "[IsDeleted] = 0"); filter: "[IsDeleted] = 0");
migrationBuilder.CreateIndex(
name: "IX_Adm_T_UserPatientProtocol_TenantId_UserId",
table: "Adm_T_UserPatientProtocol",
columns: new[] { "TenantId", "UserId" });
migrationBuilder.CreateIndex(
name: "IX_Adm_T_UserPeriodicExamination_TenantId_UserId",
table: "Adm_T_UserPeriodicExamination",
columns: new[] { "TenantId", "UserId" });
migrationBuilder.CreateIndex(
name: "IX_Adm_T_UserSickLeave_TenantId_UserId",
table: "Adm_T_UserSickLeave",
columns: new[] { "TenantId", "UserId" });
migrationBuilder.CreateIndex(
name: "IX_Adm_T_UserWorkExperience_SectorId",
table: "Adm_T_UserWorkExperience",
column: "SectorId");
migrationBuilder.CreateIndex(
name: "IX_Adm_T_UserWorkExperience_TenantId_UserId",
table: "Adm_T_UserWorkExperience",
columns: new[] { "TenantId", "UserId" });
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Adm_T_Videoroom_TenantId_BranchId_Name", name: "IX_Adm_T_Videoroom_TenantId_BranchId_Name",
table: "Adm_T_Videoroom", table: "Adm_T_Videoroom",
@ -4542,9 +4753,6 @@ namespace Sozsoft.Platform.Migrations
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Adm_T_ReportTemplate"); name: "Adm_T_ReportTemplate");
migrationBuilder.DropTable(
name: "Adm_T_Sector");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Adm_T_Sequence"); name: "Adm_T_Sequence");
@ -4569,6 +4777,18 @@ namespace Sozsoft.Platform.Migrations
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Adm_T_Uom"); name: "Adm_T_Uom");
migrationBuilder.DropTable(
name: "Adm_T_UserPatientProtocol");
migrationBuilder.DropTable(
name: "Adm_T_UserPeriodicExamination");
migrationBuilder.DropTable(
name: "Adm_T_UserSickLeave");
migrationBuilder.DropTable(
name: "Adm_T_UserWorkExperience");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Adm_T_VideoroomAttandance"); name: "Adm_T_VideoroomAttandance");
@ -4743,6 +4963,9 @@ namespace Sozsoft.Platform.Migrations
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Adm_T_UomCategory"); name: "Adm_T_UomCategory");
migrationBuilder.DropTable(
name: "Adm_T_Sector");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Adm_T_Videoroom"); name: "Adm_T_Videoroom");

View file

@ -6141,6 +6141,291 @@ namespace Sozsoft.Platform.Migrations
b.ToTable("Adm_T_UomCategory", (string)null); b.ToTable("Adm_T_UomCategory", (string)null);
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.UserPatientProtocol", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<Guid?>("DoctorId")
.HasColumnType("uniqueidentifier");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<DateTime>("ProtocolDate")
.HasColumnType("datetime2");
b.Property<string>("ProtocolResult")
.HasMaxLength(32)
.HasColumnType("nvarchar(32)");
b.Property<string>("ProtocolType")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("nvarchar(32)");
b.Property<string>("ReferralPlace")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<int?>("RestDays")
.HasColumnType("int");
b.Property<int?>("SequenceNo")
.HasColumnType("int");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserPatientProtocol", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.UserPeriodicExamination", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("DoctorDiplomaNo")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<Guid?>("DoctorId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("ExamDate")
.HasColumnType("datetime2");
b.Property<string>("Examination")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Result")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserPeriodicExamination", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.UserSickLeave", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Clinic")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<int>("Days")
.HasColumnType("int");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<DateTime>("EndDate")
.HasColumnType("datetime2");
b.Property<string>("Institution")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("SickLeaveReason")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("SickLeaveType")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("nvarchar(32)");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserSickLeave", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.UserWorkExperience", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("CompanyName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<DateTime?>("EndDate")
.HasColumnType("datetime2");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<string>("JobDescription")
.HasColumnType("nvarchar(max)");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<Guid>("SectorId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SectorId");
b.HasIndex("TenantId", "UserId");
b.ToTable("Adm_T_UserWorkExperience", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Videoroom", b => modelBuilder.Entity("Sozsoft.Platform.Entities.Videoroom", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -7728,6 +8013,14 @@ namespace Sozsoft.Platform.Migrations
.HasDefaultValue(0) .HasDefaultValue(0)
.HasColumnName("AccessFailedCount"); .HasColumnName("AccessFailedCount");
b.Property<string>("Alcohol")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("AlcoholNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("Avatar") b.Property<string>("Avatar")
.HasMaxLength(512) .HasMaxLength(512)
.HasColumnType("nvarchar(512)"); .HasColumnType("nvarchar(512)");
@ -7743,6 +8036,39 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(16) .HasMaxLength(16)
.HasColumnType("nvarchar(16)"); .HasColumnType("nvarchar(16)");
b.Property<string>("ChildHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("ChildHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("ChronicDisease")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<bool?>("ComplaintBackPain")
.HasColumnType("bit");
b.Property<bool?>("ComplaintChestPain")
.HasColumnType("bit");
b.Property<bool?>("ComplaintDiarrheaConstipation")
.HasColumnType("bit");
b.Property<bool?>("ComplaintDyspnea")
.HasColumnType("bit");
b.Property<bool?>("ComplaintJointPain")
.HasColumnType("bit");
b.Property<bool?>("ComplaintPalpitation")
.HasColumnType("bit");
b.Property<bool?>("ComplaintProductiveCough")
.HasColumnType("bit");
b.Property<string>("ConcurrencyStamp") b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken() .IsConcurrencyToken()
.IsRequired() .IsRequired()
@ -7769,6 +8095,43 @@ namespace Sozsoft.Platform.Migrations
b.Property<Guid>("DepartmentId") b.Property<Guid>("DepartmentId")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<bool?>("DiagnosisDiabetes")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisFoodPoisoning")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisHearingLoss")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisHeartDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisJaundice")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisKidneyDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisNervousSystemDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisPepticUlcer")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisSkinDisease")
.HasColumnType("bit");
b.Property<bool?>("DiagnosisVisionImpairment")
.HasColumnType("bit");
b.Property<bool?>("DisabilityPension")
.HasColumnType("bit");
b.Property<string>("DisabilityPensionNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("District") b.Property<string>("District")
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
@ -7792,6 +8155,70 @@ namespace Sozsoft.Platform.Migrations
b.Property<int>("EntityVersion") b.Property<int>("EntityVersion")
.HasColumnType("int"); .HasColumnType("int");
b.Property<string>("ExamBloodPressure")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("ExamCardiovascular")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamDigestive")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamEnt")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamEye")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<decimal?>("ExamHeight")
.HasPrecision(5, 2)
.HasColumnType("decimal(5,2)");
b.Property<string>("ExamMusculoskeletal")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamNeurological")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamOther")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamPsychiatric")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamPulse")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("ExamRespiratory")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamSensoryOrgans")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamSkin")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("ExamUrogenital")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<decimal?>("ExamWeight")
.HasPrecision(5, 2)
.HasColumnType("decimal(5,2)");
b.Property<string>("ExtraProperties") b.Property<string>("ExtraProperties")
.IsRequired() .IsRequired()
.HasColumnType("nvarchar(max)") .HasColumnType("nvarchar(max)")
@ -7801,10 +8228,29 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(32) .HasMaxLength(32)
.HasColumnType("nvarchar(32)"); .HasColumnType("nvarchar(32)");
b.Property<string>("FatherHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("FatherHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("FatherName") b.Property<string>("FatherName")
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
b.Property<string>("FitForWorkCondition")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("FitForWorkJob")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<Guid?>("FitnessDoctorId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Gender") b.Property<string>("Gender")
.HasMaxLength(16) .HasMaxLength(16)
.HasColumnType("nvarchar(16)"); .HasColumnType("nvarchar(16)");
@ -7813,6 +8259,24 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(256) .HasMaxLength(256)
.HasColumnType("nvarchar(256)"); .HasColumnType("nvarchar(256)");
b.Property<bool?>("HadSurgery")
.HasColumnType("bit");
b.Property<string>("HadSurgeryNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<bool?>("HadWorkAccident")
.HasColumnType("bit");
b.Property<string>("HadWorkAccidentNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("HepatitisVaccination")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime?>("HireDate") b.Property<DateTime?>("HireDate")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
@ -7820,6 +8284,13 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(512) .HasMaxLength(512)
.HasColumnType("nvarchar(512)"); .HasColumnType("nvarchar(512)");
b.Property<bool?>("Hospitalized")
.HasColumnType("bit");
b.Property<string>("HospitalizedNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("IdentityNumber") b.Property<string>("IdentityNumber")
.HasMaxLength(15) .HasMaxLength(15)
.HasColumnType("nvarchar(15)"); .HasColumnType("nvarchar(15)");
@ -7855,6 +8326,42 @@ namespace Sozsoft.Platform.Migrations
b.Property<Guid>("JobPositionId") b.Property<Guid>("JobPositionId")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<string>("LabAudiometry")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabBiologicalAnalysis")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabBlood")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabOther")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabPsychologicalTests")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabPulmonaryFunction")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabRadiological")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabRadiologicalPhysiological")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("LabUrine")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<DateTime?>("LastModificationTime") b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2") .HasColumnType("datetime2")
.HasColumnName("LastModificationTime"); .HasColumnName("LastModificationTime");
@ -7885,6 +8392,14 @@ namespace Sozsoft.Platform.Migrations
b.Property<DateTime?>("MarriageDate") b.Property<DateTime?>("MarriageDate")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
b.Property<string>("MotherHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("MotherHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("MotherName") b.Property<string>("MotherName")
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
@ -7898,6 +8413,9 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(128) .HasMaxLength(128)
.HasColumnType("nvarchar(128)"); .HasColumnType("nvarchar(128)");
b.Property<bool?>("NightWorkFit")
.HasColumnType("bit");
b.Property<string>("NormalizedEmail") b.Property<string>("NormalizedEmail")
.IsRequired() .IsRequired()
.HasMaxLength(256) .HasMaxLength(256)
@ -7910,6 +8428,17 @@ namespace Sozsoft.Platform.Migrations
.HasColumnType("nvarchar(256)") .HasColumnType("nvarchar(256)")
.HasColumnName("NormalizedUserName"); .HasColumnName("NormalizedUserName");
b.Property<bool?>("OccupationalDiseaseExam")
.HasColumnType("bit");
b.Property<string>("OccupationalDiseaseExamNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("OtherVaccination")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("PasswordHash") b.Property<string>("PasswordHash")
.HasMaxLength(256) .HasMaxLength(256)
.HasColumnType("nvarchar(256)") .HasColumnType("nvarchar(256)")
@ -7947,9 +8476,31 @@ namespace Sozsoft.Platform.Migrations
.HasMaxLength(32) .HasMaxLength(32)
.HasColumnType("nvarchar(32)"); .HasColumnType("nvarchar(32)");
b.Property<Guid?>("ShiftNightDoctorId")
.HasColumnType("uniqueidentifier");
b.Property<bool?>("ShiftWorkFit")
.HasColumnType("bit");
b.Property<bool>("ShouldChangePasswordOnNextLogin") b.Property<bool>("ShouldChangePasswordOnNextLogin")
.HasColumnType("bit"); .HasColumnType("bit");
b.Property<string>("SiblingHealthNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("SiblingHealthStatus")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("Smoking")
.HasMaxLength(16)
.HasColumnType("nvarchar(16)");
b.Property<string>("SmokingNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("SskNo") b.Property<string>("SskNo")
.HasMaxLength(32) .HasMaxLength(32)
.HasColumnType("nvarchar(32)"); .HasColumnType("nvarchar(32)");
@ -7970,12 +8521,23 @@ namespace Sozsoft.Platform.Migrations
b.Property<DateTime?>("TerminationDate") b.Property<DateTime?>("TerminationDate")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
b.Property<string>("TetanusVaccination")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("TwoFactorEnabled") b.Property<bool>("TwoFactorEnabled")
.ValueGeneratedOnAdd() .ValueGeneratedOnAdd()
.HasColumnType("bit") .HasColumnType("bit")
.HasDefaultValue(false) .HasDefaultValue(false)
.HasColumnName("TwoFactorEnabled"); .HasColumnName("TwoFactorEnabled");
b.Property<bool?>("UnderTreatment")
.HasColumnType("bit");
b.Property<string>("UnderTreatmentNote")
.HasMaxLength(512)
.HasColumnType("nvarchar(512)");
b.Property<string>("UserName") b.Property<string>("UserName")
.IsRequired() .IsRequired()
.HasMaxLength(256) .HasMaxLength(256)
@ -9351,6 +9913,15 @@ namespace Sozsoft.Platform.Migrations
b.Navigation("UomCategory"); b.Navigation("UomCategory");
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.UserWorkExperience", b =>
{
b.HasOne("Sozsoft.Platform.Entities.Sector", null)
.WithMany()
.HasForeignKey("SectorId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
});
modelBuilder.Entity("Sozsoft.Platform.Entities.VideoroomAttandance", b => modelBuilder.Entity("Sozsoft.Platform.Entities.VideoroomAttandance", b =>
{ {
b.HasOne("Sozsoft.Platform.Entities.Videoroom", "Session") b.HasOne("Sozsoft.Platform.Entities.Videoroom", "Session")

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -172,6 +172,82 @@ export interface UserInfoViewModel extends ExtensibleObject {
educationLevel?: string educationLevel?: string
graduationSchool?: string graduationSchool?: string
bloodType?: string bloodType?: string
motherHealthStatus?: string
motherHealthNote?: string
fatherHealthStatus?: string
fatherHealthNote?: string
siblingHealthStatus?: string
siblingHealthNote?: string
childHealthStatus?: string
childHealthNote?: string
chronicDisease?: string
tetanusVaccination?: string
hepatitisVaccination?: string
otherVaccination?: string
labBiologicalAnalysis?: string
labBlood?: string
labUrine?: string
labRadiological?: string
labRadiologicalPhysiological?: string
labAudiometry?: string
labPulmonaryFunction?: string
labPsychologicalTests?: string
labOther?: string
examSensoryOrgans?: string
examEye?: string
examEnt?: string
examSkin?: string
examCardiovascular?: string
examRespiratory?: string
examDigestive?: string
examUrogenital?: string
examMusculoskeletal?: string
examNeurological?: string
examPsychiatric?: string
examOther?: string
examBloodPressure?: string
examPulse?: string
examHeight?: number
examWeight?: number
complaintProductiveCough?: boolean
complaintDyspnea?: boolean
complaintChestPain?: boolean
complaintPalpitation?: boolean
complaintBackPain?: boolean
complaintDiarrheaConstipation?: boolean
complaintJointPain?: boolean
diagnosisHeartDisease?: boolean
diagnosisDiabetes?: boolean
diagnosisKidneyDisease?: boolean
diagnosisJaundice?: boolean
diagnosisPepticUlcer?: boolean
diagnosisHearingLoss?: boolean
diagnosisVisionImpairment?: boolean
diagnosisNervousSystemDisease?: boolean
diagnosisSkinDisease?: boolean
diagnosisFoodPoisoning?: boolean
hospitalized?: boolean
hospitalizedNote?: string
hadSurgery?: boolean
hadSurgeryNote?: string
hadWorkAccident?: boolean
hadWorkAccidentNote?: string
occupationalDiseaseExam?: boolean
occupationalDiseaseExamNote?: string
disabilityPension?: boolean
disabilityPensionNote?: string
underTreatment?: boolean
underTreatmentNote?: string
smoking?: string
smokingNote?: string
alcohol?: string
alcoholNote?: string
fitForWorkJob?: string
fitForWorkCondition?: string
fitnessDoctorId?: string
shiftWorkFit?: boolean
nightWorkFit?: boolean
shiftNightDoctorId?: string
} }
export interface AssignedRoleViewModel { export interface AssignedRoleViewModel {

View file

@ -35,7 +35,7 @@ import { CountryDto, getCountry } from '@/services/country.service'
import { useLocalization } from '@/utils/hooks/useLocalization' import { useLocalization } from '@/utils/hooks/useLocalization'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { Field, FieldArray, FieldProps, Form, Formik, FormikHelpers } from 'formik' import { Field, FieldArray, FieldProps, Form, Formik, FormikHelpers } from 'formik'
import { useEffect, useRef, useState } from 'react' import { useEffect, useMemo, useRef, useState } from 'react'
import PageTitle from '@/components/shared/PageTitle' import PageTitle from '@/components/shared/PageTitle'
import { import {
FaBuilding, FaBuilding,
@ -63,6 +63,7 @@ import {
FaUserTie, FaUserTie,
FaFemale, FaFemale,
FaHeart, FaHeart,
FaHeartbeat,
FaExclamationTriangle, FaExclamationTriangle,
FaUsers, FaUsers,
FaPlus, FaPlus,
@ -83,6 +84,8 @@ import { AssignedClaimViewModel, UserInfoViewModel } from '@/proxy/admin/models'
import { AVATAR_URL } from '@/constants/app.constant' import { AVATAR_URL } from '@/constants/app.constant'
import { useStoreActions, useStoreState } from '@/store' import { useStoreActions, useStoreState } from '@/store'
import { useSetting } from '@/utils/hooks/useSetting' import { useSetting } from '@/utils/hooks/useSetting'
import PlatformViewHost from '@/components/componentEditor/PlatformViewHost'
import HealthCardTab from './HealthCardTab'
export interface ClaimTypeDto { export interface ClaimTypeDto {
claimType: string claimType: string
@ -104,6 +107,11 @@ function UserDetails() {
const { setUser } = useStoreActions((actions) => actions.auth.user) const { setUser } = useStoreActions((actions) => actions.auth.user)
const { setting } = useSetting() const { setting } = useSetting()
// Yeni satırın UserId değeri de bu filtreden dolar (applyNewRowDefaults).
const workExperienceSearchParams = useMemo(
() => new URLSearchParams({ filter: JSON.stringify(['UserId', '=', userId]) }),
[userId],
)
const isEmailUpdateEnabled = setting('Abp.Identity.User.IsEmailUpdateEnabled') const isEmailUpdateEnabled = setting('Abp.Identity.User.IsEmailUpdateEnabled')
const isRequireConfirmedEmail = setting('Abp.Identity.SignIn.RequireConfirmedEmail') const isRequireConfirmedEmail = setting('Abp.Identity.SignIn.RequireConfirmedEmail')
@ -240,6 +248,9 @@ function UserDetails() {
<TabNav value="work" icon={<FaBuilding className="text-sm" />}> <TabNav value="work" icon={<FaBuilding className="text-sm" />}>
{translate('::Abp.Identity.User.WorkInformation')} {translate('::Abp.Identity.User.WorkInformation')}
</TabNav> </TabNav>
<TabNav value="health" icon={<FaHeartbeat className="text-sm" />}>
{translate('::Abp.Identity.User.HealthCard')}
</TabNav>
<TabNav value="identity" icon={<FaUserAstronaut className="text-sm" />}> <TabNav value="identity" icon={<FaUserAstronaut className="text-sm" />}>
{translate('::Abp.Identity.User.IndentityInformation')} {translate('::Abp.Identity.User.IndentityInformation')}
</TabNav> </TabNav>
@ -528,37 +539,6 @@ function UserDetails() {
prefix={<FaUniversity className="text-xl" />} prefix={<FaUniversity className="text-xl" />}
/> />
</FormItem> </FormItem>
<FormItem label={translate('::Abp.Account.BloodType')}>
<Field type="text" name="bloodType">
{({ field, form }: FieldProps<SelectBoxOption>) => {
const bloodTypeOptions: SelectBoxOption[] = [
{ value: 'A Rh+', label: 'A Rh+' },
{ value: 'A Rh-', label: 'A Rh-' },
{ value: 'B Rh+', label: 'B Rh+' },
{ value: 'B Rh-', label: 'B Rh-' },
{ value: 'AB Rh+', label: 'AB Rh+' },
{ value: 'AB Rh-', label: 'AB Rh-' },
{ value: '0 Rh+', label: '0 Rh+' },
{ value: '0 Rh-', label: '0 Rh-' },
]
return (
<Select
menuPlacement="top"
field={field}
form={form}
options={bloodTypeOptions}
isClearable={true}
value={bloodTypeOptions.filter(
(o) => o.value === values.bloodType,
)}
onChange={(option) =>
form.setFieldValue(field.name, option?.value ?? null)
}
/>
)
}}
</Field>
</FormItem>
</div> </div>
<div> <div>
@ -952,6 +932,24 @@ function UserDetails() {
) )
}} }}
</Formik> </Formik>
<div className="mt-6">
<h6 className="mb-2">
{translate('::App.IdentityManagement.UserWorkExperience')}
</h6>
<PlatformViewHost
view="List"
listFormCode="App.IdentityManagement.UserWorkExperience"
height="320px"
searchParams={workExperienceSearchParams}
/>
</div>
</div>
</TabContent>
<TabContent value="health">
<div className="px-4 py-2">
<HealthCardTab userDetails={userDetails} onSaved={getUser} />
</div> </div>
</TabContent> </TabContent>

View file

@ -0,0 +1,534 @@
import {
Button,
FormContainer,
FormItem,
Input,
Notification,
Radio,
Select,
Tabs,
toast,
} from '@/components/ui'
import TabContent from '@/components/ui/Tabs/TabContent'
import TabList from '@/components/ui/Tabs/TabList'
import TabNav from '@/components/ui/Tabs/TabNav'
import { UserInfoViewModel } from '@/proxy/admin/models'
import { dynamicFetch } from '@/services/form.service'
import { putUserDetail } from '@/services/identity.service'
import { SelectBoxOption } from '@/types/shared'
import { useLocalization } from '@/utils/hooks/useLocalization'
import dayjs from 'dayjs'
import { Field, FieldProps, Formik, FormikProps } from 'formik'
import { useEffect, useMemo, useState } from 'react'
import PlatformViewHost from '@/components/componentEditor/PlatformViewHost'
type HealthValues = UserInfoViewModel & Record<string, unknown>
interface DoctorOption {
key: string
name: string
diplomaNo?: string
diplomaDate?: string
ohsCertificateNo?: string
ohsCertificateDate?: string
}
const H = '::Abp.Identity.User.HealthCard'
const familyRows = ['Mother', 'Father', 'Sibling', 'Child']
const vaccinationRows = ['TetanusVaccination', 'HepatitisVaccination', 'OtherVaccination']
/** [alan, girintili mi] — görseldeki "- Kan" gibi alt kalemler girintilidir. */
const labRows: [string, boolean][] = [
['LabBiologicalAnalysis', false],
['LabBlood', true],
['LabUrine', true],
['LabRadiological', false],
['LabRadiologicalPhysiological', false],
['LabAudiometry', true],
['LabPulmonaryFunction', true],
['LabPsychologicalTests', false],
['LabOther', false],
]
const examRows: [string, boolean][] = [
['ExamSensoryOrgans', false],
['ExamEye', true],
['ExamEnt', true],
['ExamSkin', true],
['ExamCardiovascular', false],
['ExamRespiratory', false],
['ExamDigestive', false],
['ExamUrogenital', false],
['ExamMusculoskeletal', false],
]
const otherExamRows: [string, boolean][] = [
['ExamNeurological', false],
['ExamPsychiatric', false],
['ExamOther', false],
['ExamBloodPressure', true],
['ExamPulse', true],
]
const complaintRows = [
'ComplaintProductiveCough',
'ComplaintDyspnea',
'ComplaintChestPain',
'ComplaintPalpitation',
'ComplaintBackPain',
'ComplaintDiarrheaConstipation',
'ComplaintJointPain',
]
const diagnosisRows = [
'DiagnosisHeartDisease',
'DiagnosisDiabetes',
'DiagnosisKidneyDisease',
'DiagnosisJaundice',
'DiagnosisPepticUlcer',
'DiagnosisHearingLoss',
'DiagnosisVisionImpairment',
'DiagnosisNervousSystemDisease',
'DiagnosisSkinDisease',
'DiagnosisFoodPoisoning',
]
const questionRows = [
'Hospitalized',
'HadSurgery',
'HadWorkAccident',
'OccupationalDiseaseExam',
'DisabilityPension',
'UnderTreatment',
]
const bloodTypes = ['A Rh+', 'A Rh-', 'B Rh+', 'B Rh-', 'AB Rh+', 'AB Rh-', '0 Rh+', '0 Rh-']
/** Kullanıcıya göre süzülen alt listeler; sekme adı = ListForm kodunun son parçası. */
const healthLists = ['UserPeriodicExamination', 'UserPatientProtocol', 'UserSickLeave']
const fieldName = (name: string) => name.charAt(0).toLowerCase() + name.slice(1)
const formatDateNo = (date?: string, no?: string) =>
`${date ? dayjs(date).format('DD.MM.YYYY') : ''} / ${no ?? ''}`
interface HealthCardTabProps {
userDetails: UserInfoViewModel
onSaved: () => void
}
function HealthCardTab({ userDetails, onSaved }: HealthCardTabProps) {
const { translate } = useLocalization()
const [doctors, setDoctors] = useState<DoctorOption[]>([])
const [activeTab, setActiveTab] = useState('history')
// Yeni satırın UserId değeri de bu filtreden dolar (applyNewRowDefaults).
const userSearchParams = useMemo(
() => new URLSearchParams({ filter: JSON.stringify(['UserId', '=', userDetails.id]) }),
[userDetails.id],
)
const isListTab = healthLists.includes(activeTab)
useEffect(() => {
// Hekim listesi kullanıcı ekranının alan lookup'ından gelir; sorgu kiracıya göre süzülür.
const loadDoctors = async () => {
try {
const response = await dynamicFetch('list-form-select/lookup', 'POST', null, {
listFormCode: 'AbpIdentity.Users',
listFormFieldName: 'FitnessDoctorId',
})
const rows = Array.isArray(response?.data) ? response.data : []
setDoctors(
rows.map((row: Record<string, string>) => ({
key: row.Key,
name: row.Name,
diplomaNo: row.DiplomaNo,
diplomaDate: row.DiplomaDate,
ohsCertificateNo: row.OhsCertificateNo,
ohsCertificateDate: row.OhsCertificateDate,
})),
)
} catch (error) {
console.error('Doctors could not be loaded:', error)
setDoctors([])
}
}
void loadDoctors()
}, [])
const healthStatusOptions: SelectBoxOption[] = [
{ value: 'Alive', label: translate('::App.StaticLookup.Alive') },
{ value: 'Deceased', label: translate('::App.StaticLookup.Deceased') },
]
const bloodTypeOptions: SelectBoxOption[] = bloodTypes.map((bloodType) => ({
value: bloodType,
label: bloodType,
}))
const smokingOptions: SelectBoxOption[] = [
{ value: 'No', label: translate('::App.Platform.No') },
{ value: 'Yes', label: translate('::App.Platform.Yes') },
{ value: 'Quit', label: translate('::App.StaticLookup.Quit') },
]
const alcoholOptions: SelectBoxOption[] = [
{ value: 'No', label: translate('::App.Platform.No') },
{ value: 'Occasionally', label: translate('::App.StaticLookup.Occasionally') },
{ value: 'Yes', label: translate('::App.Platform.Yes') },
]
const doctorOptions: SelectBoxOption[] = doctors.map((doctor) => ({
value: doctor.key,
label: doctor.name,
}))
const label = (name: string) => translate(`${H}.${name}`)
const renderSelect = (name: string, options: SelectBoxOption[], values: HealthValues) => (
<Field name={name}>
{({ field, form }: FieldProps<SelectBoxOption>) => (
<Select
field={field}
form={form}
options={options}
isClearable={true}
value={options.filter((option) => option.value === values[name])}
onChange={(option) => form.setFieldValue(field.name, option?.value ?? null)}
/>
)}
</Field>
)
const renderText = (name: string, placeholder: string) => (
<Field type="text" name={name} placeholder={placeholder} component={Input} />
)
const renderYesNo = (name: string, { values, setFieldValue }: FormikProps<HealthValues>) => (
<div className="flex gap-4 items-center h-full">
{[true, false].map((answer) => (
<Radio
key={String(answer)}
name={name}
checked={values[name] === answer}
onChange={() => setFieldValue(name, answer)}
>
{translate(answer ? '::App.Platform.Yes' : '::App.Platform.No')}
</Radio>
))}
</div>
)
/** Görseldeki üst "Evet / Hayır" seçimi: bloğun bütün sorularını tek seferde işaretler. */
const renderSetAll = (names: string[], { setFieldValue }: FormikProps<HealthValues>) => (
<div className="flex gap-2 mb-2">
{[true, false].map((answer) => (
<Button
key={String(answer)}
size="xs"
type="button"
onClick={() => names.forEach((name) => setFieldValue(fieldName(name), answer))}
>
{translate(answer ? '::App.Platform.Yes' : '::App.Platform.No')}
</Button>
))}
</div>
)
const renderTextRows = (rows: [string, boolean][]) =>
rows.map(([name, indented]) => (
<div key={name} className="grid grid-cols-[180px_1fr] gap-x-3 items-start">
<div className={`font-semibold pt-2 ${indented ? 'pl-4' : ''}`}>
{indented ? '- ' : ''}
{label(name)}
</div>
<FormItem>{renderText(fieldName(name), label(name))}</FormItem>
</div>
))
const renderYesNoRows = (rows: string[], formik: FormikProps<HealthValues>) => (
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-6">
{rows.map((name) => (
<div key={name} className="grid grid-cols-[1fr_150px] gap-x-3 items-center mb-2">
<div className="font-semibold">{label(name)}</div>
{renderYesNo(fieldName(name), formik)}
</div>
))}
</div>
)
const renderDoctor = (name: string, values: HealthValues) => {
const doctor = doctors.find((item) => item.key === values[fieldName(name)])
return (
<div className="grid grid-cols-1 md:grid-cols-[180px_1fr_180px_1fr_240px_1fr] gap-x-3 items-start">
<div className="font-semibold pt-2">{label(name)}</div>
<FormItem>{renderSelect(fieldName(name), doctorOptions, values)}</FormItem>
<div className="font-semibold pt-2">{label('DiplomaDateNo')}</div>
<FormItem>
<Input disabled value={formatDateNo(doctor?.diplomaDate, doctor?.diplomaNo)} />
</FormItem>
<div className="font-semibold pt-2">{label('OhsCertificateDateNo')}</div>
<FormItem>
<Input
disabled
value={formatDateNo(doctor?.ohsCertificateDate, doctor?.ohsCertificateNo)}
/>
</FormItem>
</div>
)
}
const bodyMassIndex = (values: HealthValues) => {
const height = Number(values.examHeight)
const weight = Number(values.examWeight)
if (!height || !weight) return 0
return Number((weight / (height / 100) ** 2).toFixed(2))
}
return (
<Formik
enableReinitialize
initialValues={userDetails as HealthValues}
onSubmit={async (values, { setSubmitting }) => {
setSubmitting(true)
// Sayı kutusu metin döndürür; API decimal bekler.
const toNumber = (value: unknown) =>
value === '' || value === null || value === undefined ? undefined : Number(value)
await putUserDetail({
...values,
examHeight: toNumber(values.examHeight),
examWeight: toNumber(values.examWeight),
})
toast.push(
<Notification type="success" duration={2000}>
{translate('::App.Platform.Save')}
</Notification>,
{
placement: 'bottom-end',
},
)
onSaved()
setSubmitting(false)
}}
>
{(formik) => {
const { isSubmitting, values } = formik
return (
// Alt listeler bu bileşenin içinde çizildiği için form etiketi kullanılmaz; liste
// düğmeleri kart formunu göndermesin.
<div>
<FormContainer size="md">
<Tabs value={activeTab} variant="pill" onChange={(tab) => setActiveTab(String(tab))}>
<TabList>
<TabNav value="history">{label('History')}</TabNav>
<TabNav value="labPhysical">{label('LabPhysical')}</TabNav>
<TabNav value="anamnesis">{label('Anamnesis')}</TabNav>
<TabNav value="result">{label('Result')}</TabNav>
{healthLists.map((code) => (
<TabNav key={code} value={code}>
{translate(`::App.IdentityManagement.${code}`)}
</TabNav>
))}
</TabList>
<TabContent value="history">
<div className="pt-4">
<h6 className="mb-4">{label('FamilyHistory')}</h6>
{familyRows.map((member) => (
<div
key={member}
className="grid grid-cols-1 md:grid-cols-[200px_200px_1fr] gap-x-5 items-start"
>
<div className="font-semibold pt-2">{label(`${member}HealthStatus`)}</div>
<FormItem>
{renderSelect(
fieldName(`${member}HealthStatus`),
healthStatusOptions,
values,
)}
</FormItem>
<FormItem>
{renderText(
fieldName(`${member}HealthNote`),
label(`${member}HealthNote`),
)}
</FormItem>
</div>
))}
<h6 className="mt-4 mb-4">{label('PersonalHistory')}</h6>
<div className="grid grid-cols-1 md:grid-cols-[200px_1fr] gap-x-5 items-start">
<div className="font-semibold pt-2">
{translate('::Abp.Account.BloodType')}
</div>
<FormItem>{renderSelect('bloodType', bloodTypeOptions, values)}</FormItem>
<div className="font-semibold pt-2">{label('ChronicDisease')}</div>
<FormItem>{renderText('chronicDisease', label('ChronicDisease'))}</FormItem>
<div className="font-semibold pt-2 md:col-span-2 mb-2">
{label('Immunization')}
</div>
{vaccinationRows.map((vaccination) => (
<div key={vaccination} className="contents">
<div className="font-semibold pt-2 md:pl-4">- {label(vaccination)}</div>
<FormItem>
{renderText(fieldName(vaccination), label(vaccination))}
</FormItem>
</div>
))}
</div>
</div>
</TabContent>
<TabContent value="labPhysical">
<div className="pt-4 grid grid-cols-1 xl:grid-cols-[1fr_2fr] gap-x-8">
<div>
<h6 className="mb-4">{label('LaboratoryFindings')}</h6>
{renderTextRows(labRows)}
</div>
<div>
<h6 className="mb-4">{label('PhysicalExamResults')}</h6>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-x-6">
<div>{renderTextRows(examRows)}</div>
<div>
{renderTextRows(otherExamRows)}
{['ExamHeight', 'ExamWeight'].map((name) => (
<div
key={name}
className="grid grid-cols-[180px_1fr] gap-x-3 items-start"
>
<div className="font-semibold pt-2 pl-4">- {label(name)}</div>
<FormItem>
<Field
type="number"
name={fieldName(name)}
placeholder={label(name)}
component={Input}
/>
</FormItem>
</div>
))}
<div className="grid grid-cols-[180px_1fr] gap-x-3 items-start">
<div className="font-semibold pt-2 pl-4">
- {label('BodyMassIndex')}
</div>
<FormItem>
<Input disabled value={bodyMassIndex(values)} />
</FormItem>
</div>
</div>
</div>
</div>
</div>
</TabContent>
<TabContent value="anamnesis">
<div className="pt-4">
{renderSetAll([...complaintRows, ...diagnosisRows], formik)}
<div className="grid grid-cols-1 xl:grid-cols-2 gap-x-8">
<div>
<h6 className="mb-4">{label('ComplaintsQuestion')}</h6>
{renderYesNoRows(complaintRows, formik)}
</div>
<div>
<h6 className="mb-4">{label('DiagnosesQuestion')}</h6>
{renderYesNoRows(diagnosisRows, formik)}
</div>
</div>
<div className="mt-6">
{renderSetAll(questionRows, formik)}
{questionRows.map((name) => (
<div key={name}>
<h6 className="mb-2">{label(name)}</h6>
<div className="grid grid-cols-1 md:grid-cols-[150px_1fr] gap-x-3 items-start">
{renderYesNo(fieldName(name), formik)}
<FormItem>
{renderText(fieldName(`${name}Note`), label(`${name}Note`))}
</FormItem>
</div>
</div>
))}
{(
[
['Smoking', smokingOptions],
['Alcohol', alcoholOptions],
] as const
).map(([name, options]) => (
<div key={name}>
<h6 className="mb-2">{label(name)}</h6>
<div className="grid grid-cols-1 md:grid-cols-[150px_1fr] gap-x-3 items-start">
<FormItem>
{renderSelect(fieldName(name), [...options], values)}
</FormItem>
<FormItem>
{renderText(fieldName(`${name}Note`), label(`${name}Note`))}
</FormItem>
</div>
</div>
))}
</div>
</div>
</TabContent>
<TabContent value="result">
<div className="pt-4">
<div className="grid grid-cols-1 md:grid-cols-[40px_1fr_auto] gap-x-3 items-start">
<div className="font-semibold pt-2">1.</div>
<FormItem>{renderText('fitForWorkJob', label('FitForWorkJob'))}</FormItem>
<div className="font-semibold pt-2">{label('FitForWorkJobSuffix')}</div>
<div className="font-semibold pt-2">2.</div>
<FormItem>
{renderText('fitForWorkCondition', label('FitForWorkCondition'))}
</FormItem>
<div className="font-semibold pt-2">{label('FitForWorkConditionSuffix')}</div>
</div>
{renderDoctor('FitnessDoctorId', values)}
<p className="my-6 text-center font-semibold">{label('ShiftNightInfo')}</p>
<div className="grid grid-cols-1 md:grid-cols-[200px_150px] gap-2 items-center mb-4">
{['ShiftWorkFit', 'NightWorkFit'].map((name) => (
<div key={name} className="contents">
<div className="font-semibold">{label(name)}</div>
{renderYesNo(fieldName(name), formik)}
</div>
))}
</div>
{renderDoctor('ShiftNightDoctorId', values)}
</div>
</TabContent>
{healthLists.map((code) => (
<TabContent key={code} value={code}>
<div className="pt-4">
<PlatformViewHost
view="List"
listFormCode={`App.IdentityManagement.${code}`}
height="320px"
searchParams={userSearchParams}
/>
</div>
</TabContent>
))}
</Tabs>
</FormContainer>
{!isListTab && (
<div className="mt-4 ltr:text-right">
<Button
variant="solid"
loading={isSubmitting}
type="button"
onClick={() => void formik.submitForm()}
>
{isSubmitting
? translate('::App.Platform.Saving')
: translate('::App.Platform.Save')}
</Button>
</div>
)}
</div>
)
}}
</Formik>
)
}
export default HealthCardTab