Listformlardan eksik olan IsBranch yeteneği getirildi.
This commit is contained in:
parent
c0c90174d5
commit
29f4bc8b33
64 changed files with 1547 additions and 739 deletions
|
|
@ -387,11 +387,14 @@ Kullanıcılar › detay › Yetkiler › Şube Yönetimi'nden yapılır. Atanan
|
||||||
(`DefaultWarehouseId`, şubenin aktif deposu) ve **varsayılan konumu** (`DefaultLocationId`, o deponun aktif iç konumu)
|
(`DefaultWarehouseId`, şubenin aktif deposu) ve **varsayılan konumu** (`DefaultLocationId`, o deponun aktif iç konumu)
|
||||||
seçilir; şubenin deposu, deponun iç konumu varsa ikisi zorunludur (ekran ve `PlatformIdentityAppService.UpdatePermissionAsync`).
|
seçilir; şubenin deposu, deponun iç konumu varsa ikisi zorunludur (ekran ve `PlatformIdentityAppService.UpdatePermissionAsync`).
|
||||||
Seçenekleri Envanter'in `Inv_T_Warehouse`/`Inv_T_Location` tablolarından servis okur; modül yoksa seçenek boş kalır.
|
Seçenekleri Envanter'in `Inv_T_Warehouse`/`Inv_T_Location` tablolarından servis okur; modül yoksa seçenek boş kalır.
|
||||||
Bir ekranda "şube seçilince kullanıcının varsayılan deposu/konumu gelsin" için: `IsBranch: true`, şube lookup'ı
|
**Şube alanı standardı (her ekranda aynı):** `BranchId` alanının seçenekleri kullanıcıya atanmış aktif şubelerdir
|
||||||
`Sas_T_BranchUsers` ile `UserId = '@USERID'` üzerinden süzülüp `DefaultWarehouseId`/`DefaultLocationId` kolonlarını
|
(`Sas_T_Branch` + `Sas_T_BranchUsers`, `UserId = '@USERID'`, ada göre sıralı; `LookupQueryValues.UserBranchValues`),
|
||||||
döndürür, şube alanının `EditorScript`'i `copy("DefaultWarehouseId", "WarehouseId")` (+ konum) ile yazar; yeni kaydın
|
yeni kaydın varsayılanı bu listenin ilk seçeneğidir (`DbQuery`, `LookupQueryValues.UserDefaultBranchValue`). Sorgu
|
||||||
şube/depo/konum varsayılanı `DbQuery` ile aynı tablodan okunur. Örnek: `App.Prc.MyMaterialRequest`,
|
metinleri `lowcode.instructions.md` §8.1'dedir; `IsBranch` olmayan ekran ve tanım ekranı da aynı sözleşmeyi kullanır.
|
||||||
`App.Prc.PurchaseRfq`, `App.Prc.PurchaseOrder`.
|
Bir ekranda "şube seçilince kullanıcının varsayılan deposu/konumu gelsin" için aynı lookup sorgusuna
|
||||||
|
`DefaultWarehouseId`/`DefaultLocationId` kolonları eklenir, şube alanının `EditorScript`'i
|
||||||
|
`copy("DefaultWarehouseId", "WarehouseId")` (+ konum) ile yazar; yeni kaydın depo/konum varsayılanı aynı join'den
|
||||||
|
ilk şubenin satırıyla okunur. Örnek: `App.Prc.MyMaterialRequest`, `App.Prc.PurchaseRfq`, `App.Prc.PurchaseOrder`.
|
||||||
|
|
||||||
### 4.3 `*ServiceAddress`
|
### 4.3 `*ServiceAddress`
|
||||||
|
|
||||||
|
|
@ -1586,7 +1589,7 @@ listesinde `Hr` varsa görür (modül listesi boş kiracıda süzme yoktur — `
|
||||||
| Ekran | Kod / route | Tablo | Kapsam | Komponent üretirken ne işe yarar |
|
| Ekran | Kod / route | Tablo | Kapsam | Komponent üretirken ne işe yarar |
|
||||||
| --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- |
|
||||||
| **Definitions › Skill Type** | `App.Hr.SkillType` (alt formlar `App.Hr.SkillLevel`, `App.Hr.Skill`) | `Hr_T_SkillType` · `Hr_T_SkillLevel` · `Hr_T_Skill` | tenant | Yetkinlik tanımı; bir ana ekrandan iki alt forma açılan **çoklu alt form** örneği. Seed `data/App.Hr.{SkillType,SkillLevel,Skill}.json`. |
|
| **Definitions › Skill Type** | `App.Hr.SkillType` (alt formlar `App.Hr.SkillLevel`, `App.Hr.Skill`) | `Hr_T_SkillType` · `Hr_T_SkillLevel` · `Hr_T_Skill` | tenant | Yetkinlik tanımı; bir ana ekrandan iki alt forma açılan **çoklu alt form** örneği. Seed `data/App.Hr.{SkillType,SkillLevel,Skill}.json`. |
|
||||||
| **Definitions › Department** | `App.Hr.Department` | `Hr_T_Department` | tenant | **Şube bazlı** departman ağacı: ilk sütun `BranchId` (Şube Adı; `LookupQueryValues.TenantBranchValues`, zorunlu), `ParentId` lookup'ı seçili şubenin departmanlarına süzülür (`BranchDepartmentValues`, cascade `BranchId`). `ParentId` ile **ağaç (TreeList) düzeninin** referansı; personel/onay ekranlarının departman lookup'ı. Tekil indeks `TenantId + BranchId + Name`. Seed `data/App.Hr.Department.json`. |
|
| **Definitions › Department** | `App.Hr.Department` | `Hr_T_Department` | tenant | **Şube bazlı** departman ağacı: ilk sütun `BranchId` (Şube Adı; kullanıcının şubeleri `LookupQueryValues.UserBranchValues`, varsayılan ilk şube `UserDefaultBranchValue`, zorunlu), `ParentId` lookup'ı seçili şubenin departmanlarına süzülür (`BranchDepartmentValues`, cascade `BranchId`). `ParentId` ile **ağaç (TreeList) düzeninin** referansı; personel/onay ekranlarının departman lookup'ı. Tekil indeks `TenantId + BranchId + Name`. Seed `data/App.Hr.Department.json`. |
|
||||||
| **Definitions › Job Position** | `App.Hr.JobPosition` | `Hr_T_JobPosition` | tenant | Ünvan ağacı. Form sırası `BranchId` → `DepartmentId` (şubeye göre süzülür) → `Name` → `ParentId` (departmana göre süzülür); şube değişince departman ve üst görev temizlenir (`CascadeEmptyFields`). **İki kademeli cascade** örneği. Seed `data/App.Hr.JobPosition.json`. |
|
| **Definitions › Job Position** | `App.Hr.JobPosition` | `Hr_T_JobPosition` | tenant | Ünvan ağacı. Form sırası `BranchId` → `DepartmentId` (şubeye göre süzülür) → `Name` → `ParentId` (departmana göre süzülür); şube değişince departman ve üst görev temizlenir (`CascadeEmptyFields`). **İki kademeli cascade** örneği. Seed `data/App.Hr.JobPosition.json`. |
|
||||||
| **Work Calendar** | `App.Hr.WorkCalendar` | `Hr_T_WorkCalendar` | tenant | Resmi tatil ve çalışılmayan günler: `Name`, `StartDate`, `EndDate`, `DayType` (`Holiday`/`HalfDay`), `RecurrenceRule` (boş = tek sefer, `FREQ=YEARLY` = her yıl), `AllDay` (gizli, `true`), `IsActive`. Grid'e ek olarak **Takvim (Scheduler)** görünümü açıktır (`TextExpr = Name`). İzin ve puantaj hesabının tatil kaynağıdır. Wizard `wizard/Hr_WorkCalendar.json`, tablo `sql/object/Hr_T_WorkCalendar.sql`, seed `data/App.Hr.WorkCalendar.json` (sabit tarihli resmi tatiller her yıl tekrar eder; Ramazan ve Kurban bayramları hicri takvime göre kaydığı için 2026–2027 tarihleriyle tek seferlik girilir, sonraki yıllar ekrandan eklenir). |
|
| **Work Calendar** | `App.Hr.WorkCalendar` | `Hr_T_WorkCalendar` | tenant | Resmi tatil ve çalışılmayan günler: `Name`, `StartDate`, `EndDate`, `DayType` (`Holiday`/`HalfDay`), `RecurrenceRule` (boş = tek sefer, `FREQ=YEARLY` = her yıl), `AllDay` (gizli, `true`), `IsActive`. Grid'e ek olarak **Takvim (Scheduler)** görünümü açıktır (`TextExpr = Name`). İzin ve puantaj hesabının tatil kaynağıdır. Wizard `wizard/Hr_WorkCalendar.json`, tablo `sql/object/Hr_T_WorkCalendar.sql`, seed `data/App.Hr.WorkCalendar.json` (sabit tarihli resmi tatiller her yıl tekrar eder; Ramazan ve Kurban bayramları hicri takvime göre kaydığı için 2026–2027 tarihleriyle tek seferlik girilir, sonraki yıllar ekrandan eklenir). |
|
||||||
| **Definitions › Leave Type** | `App.Hr.LeaveType` | `Hr_T_LeaveType` | tenant | İzin türü: `Code`, `Name`, `Gender` (`All`/`Male`/`Female`), `MaxDaysPerYear`, `IsPaid`, `DeductsFromAnnualLeave`, `RequiresDocument`, `AllowHalfDay`, `BalanceExceedAction` (`Block`/`Warn`), `IsActive`. İzin Yönetimi'nin tür kuralları; `Sick` kodlu tür Sağlık Kartı istirahatiyle eşlenir. Wizard `wizard/Hr_LeaveType.json`, tablo `sql/object/Hr_T_LeaveType.sql`, seed `data/App.Hr.LeaveType.json` (Türkiye standart izin türleri). |
|
| **Definitions › Leave Type** | `App.Hr.LeaveType` | `Hr_T_LeaveType` | tenant | İzin türü: `Code`, `Name`, `Gender` (`All`/`Male`/`Female`), `MaxDaysPerYear`, `IsPaid`, `DeductsFromAnnualLeave`, `RequiresDocument`, `AllowHalfDay`, `BalanceExceedAction` (`Block`/`Warn`), `IsActive`. İzin Yönetimi'nin tür kuralları; `Sick` kodlu tür Sağlık Kartı istirahatiyle eşlenir. Wizard `wizard/Hr_LeaveType.json`, tablo `sql/object/Hr_T_LeaveType.sql`, seed `data/App.Hr.LeaveType.json` (Türkiye standart izin türleri). |
|
||||||
|
|
@ -1613,7 +1616,7 @@ listesinde `Hr` varsa görür (modül listesi boş kiracıda süzme yoktur — `
|
||||||
| **Performance Management** | `App.Hr.Performance` dalı (yalnız İK): `PerformancePeriod`, `PerformanceReview`, `PerformanceCalibration`, `DevelopmentPlan`; tanım `App.Hr.PerformanceRating` (İK › Tanımlar). Çalışana ait `MyPerformanceReview`, `TeamPerformanceReview`, `My360Feedback` menüsüzdür; Intranet › Dashboard'daki custom widget'lardan (`MyPerformanceWidget`, `TeamPerformanceWidget`, `My360FeedbackWidget`) açılır; çalışanınkiler profilin **Performansım** sekmesinde de görünür | `Hr_T_PerformanceRating` · `Hr_T_PerformancePeriod` · `Hr_T_PerformancePeriodSkill` · `Hr_T_PerformanceReview` · `Hr_T_PerformanceGoal` · `Hr_T_PerformanceCompetency` · `Hr_T_PerformanceFeedback` · `Hr_T_PerformanceFeedbackScore` · `Hr_T_DevelopmentPlan` | tenant | Dönem → değerlendirme (hedef KPI/OKR + yetkinlik `Hr_T_Skill`/`Hr_T_SkillLevel` + isteğe bağlı 360) → kalibrasyon → gelişim planı. **Aynı tabloya persona ekranları**: İK (tümü), çalışan (`EmployeeId = '@USERID'`), yönetici (`ManagerId = '@USERID'`), 360 değerlendiricisi (`ReviewerId = '@USERID'`); kilitli alanlar İK ekranının yetkisine bağlıdır (sunucu düşürür), satır sahipliği ve aşama kuralı `Hr_S_PerformanceGuard` (before-command). Hesap ve durum geçişi `Hr_S_PerformanceReviewRecalc` / `Hr_S_PerformanceReviewAfterSave`; tamamlanan değerlendirme `Adm_T_UserSkill`'e yazar. Widget'lar veriyi ekranın kendi sorgusundan (`list-form-select/select`) okur. Çalışma şekli ve kararlar: `configs/seeds/docs/modules/App.Hr.md` › Performans Yönetimi. Wizard + Custom Component (pano kutusu). |
|
| **Performance Management** | `App.Hr.Performance` dalı (yalnız İK): `PerformancePeriod`, `PerformanceReview`, `PerformanceCalibration`, `DevelopmentPlan`; tanım `App.Hr.PerformanceRating` (İK › Tanımlar). Çalışana ait `MyPerformanceReview`, `TeamPerformanceReview`, `My360Feedback` menüsüzdür; Intranet › Dashboard'daki custom widget'lardan (`MyPerformanceWidget`, `TeamPerformanceWidget`, `My360FeedbackWidget`) açılır; çalışanınkiler profilin **Performansım** sekmesinde de görünür | `Hr_T_PerformanceRating` · `Hr_T_PerformancePeriod` · `Hr_T_PerformancePeriodSkill` · `Hr_T_PerformanceReview` · `Hr_T_PerformanceGoal` · `Hr_T_PerformanceCompetency` · `Hr_T_PerformanceFeedback` · `Hr_T_PerformanceFeedbackScore` · `Hr_T_DevelopmentPlan` | tenant | Dönem → değerlendirme (hedef KPI/OKR + yetkinlik `Hr_T_Skill`/`Hr_T_SkillLevel` + isteğe bağlı 360) → kalibrasyon → gelişim planı. **Aynı tabloya persona ekranları**: İK (tümü), çalışan (`EmployeeId = '@USERID'`), yönetici (`ManagerId = '@USERID'`), 360 değerlendiricisi (`ReviewerId = '@USERID'`); kilitli alanlar İK ekranının yetkisine bağlıdır (sunucu düşürür), satır sahipliği ve aşama kuralı `Hr_S_PerformanceGuard` (before-command). Hesap ve durum geçişi `Hr_S_PerformanceReviewRecalc` / `Hr_S_PerformanceReviewAfterSave`; tamamlanan değerlendirme `Adm_T_UserSkill`'e yazar. Widget'lar veriyi ekranın kendi sorgusundan (`list-form-select/select`) okur. Çalışma şekli ve kararlar: `configs/seeds/docs/modules/App.Hr.md` › Performans Yönetimi. Wizard + Custom Component (pano kutusu). |
|
||||||
| **Leave Management** | `App.Hr.Leave` dalı (yalnız İK): `LeaveRequest` (Grid Workflow: Müdür Onayı `@ManagerUserNames` → İK Onayı; üst pozisyonu olmayan çalışanda müdür adımı `RequiresManagerApproval` karşılaştırmasıyla atlanır), `LeaveBalance` (alt formlar `LeaveBalanceAdjustment`, `LeaveBalanceYear`). Çalışana ait `MyLeaveRequest`, `MyLeaveBalance` ve müdüre ait `TeamLeaveRequest` menüsüzdür; Intranet › Dashboard'daki `MyLeaveWidget` / `TeamLeaveWidget`'tan açılır; çalışanınkiler profilin **İzinlerim** sekmesinde de görünür; kullanıcı detayında **İzinler** sekmesi | `Hr_T_LeaveRequest` · `Hr_T_LeaveBalanceAdjustment` · görünümler `Hr_V_LeaveBalanceYear` · `Hr_V_LeaveSummary` | tenant | Gün sayısı `Hr_F_LeaveWorkDays` (Ayarlar › İnsan Kaynakları › İzin çalışma günleri + `Hr_T_WorkCalendar`); bakiye İş Kanunu md.53 kademeleri (ayarlardan) + devir + düzeltme; müdür = departmanın en üst pozisyonunun sahibi. Doğrulama, müdür çözümü, rapor ↔ `Adm_T_UserSickLeave` eşlemesi ve bildirim `Hr_S_LeaveRequestAfterSave`; satır koruması `Hr_S_LeaveRequestGuard`; Sağlık Kartı tarafı `Hr_S_LeaveSickLeaveSync`. SQL'den ayar okuma `Hr_F_HrSetting` (kiracı → genel → varsayılan). Çalışma şekli: `configs/seeds/docs/modules/App.Hr.md` › İzin Yönetimi. Wizard + Custom Component + küçük UI/motor eki. |
|
| **Leave Management** | `App.Hr.Leave` dalı (yalnız İK): `LeaveRequest` (Grid Workflow: Müdür Onayı `@ManagerUserNames` → İK Onayı; üst pozisyonu olmayan çalışanda müdür adımı `RequiresManagerApproval` karşılaştırmasıyla atlanır), `LeaveBalance` (alt formlar `LeaveBalanceAdjustment`, `LeaveBalanceYear`). Çalışana ait `MyLeaveRequest`, `MyLeaveBalance` ve müdüre ait `TeamLeaveRequest` menüsüzdür; Intranet › Dashboard'daki `MyLeaveWidget` / `TeamLeaveWidget`'tan açılır; çalışanınkiler profilin **İzinlerim** sekmesinde de görünür; kullanıcı detayında **İzinler** sekmesi | `Hr_T_LeaveRequest` · `Hr_T_LeaveBalanceAdjustment` · görünümler `Hr_V_LeaveBalanceYear` · `Hr_V_LeaveSummary` | tenant | Gün sayısı `Hr_F_LeaveWorkDays` (Ayarlar › İnsan Kaynakları › İzin çalışma günleri + `Hr_T_WorkCalendar`); bakiye İş Kanunu md.53 kademeleri (ayarlardan) + devir + düzeltme; müdür = departmanın en üst pozisyonunun sahibi. Doğrulama, müdür çözümü, rapor ↔ `Adm_T_UserSickLeave` eşlemesi ve bildirim `Hr_S_LeaveRequestAfterSave`; satır koruması `Hr_S_LeaveRequestGuard`; Sağlık Kartı tarafı `Hr_S_LeaveSickLeaveSync`. SQL'den ayar okuma `Hr_F_HrSetting` (kiracı → genel → varsayılan). Çalışma şekli: `configs/seeds/docs/modules/App.Hr.md` › İzin Yönetimi. Wizard + Custom Component + küçük UI/motor eki. |
|
||||||
| **Timesheet & Attendance** | `App.Hr.Attendance` dalı (yalnız İK): `AttendanceLog` (ham okutma; Excel import), `Timesheet` (çalışan × gün; düzenlenen gün `IsManual`), `TimesheetMonthly` (salt okunur aylık özet, alt form `Timesheet` `Id → PeriodKey`), `TimesheetPeriod` (ay yeniden hesap / kapanış). Çalışana ait `MyTimesheet` (+ alt form `MyTimesheetDay`) menüsüzdür; Intranet › Dashboard'daki `MyTimesheetWidget`'tan açılır; profilin **Puantajım** sekmesinde de görünür; kullanıcı detayında **Puantaj** sekmesi | `Hr_T_AttendanceLog` · `Hr_T_Timesheet` · `Hr_T_TimesheetPeriod` · görünümler `Hr_V_AttendanceShift` · `Hr_V_TimesheetMonthly` | tenant | Hesap `Hr_S_TimesheetCalculate` (gün tipi: rapor > ücretsiz izin > `Hr_T_WorkCalendar` tatili > hafta tatili (İzin çalışma günü ayarları) > ücretli izin > okutma > eğitim katılımı (`Training`) > varsayılan çalışma / devamsız; izinli günde `LeaveTypeId`, eğitim gününde `TrainingId`; mola `MAX(vardiya, okutulan)`; geç/erken vardiya toleransı aşılırsa tamamı; fazla mesai haftalık 45 saati aşan kısım + tatil çalışması). Kişi eşlemesi `AbpUsers.PdksCardNo` / `RegistrationNo`; kartı olan çalışan ilk PDKS okutmasından itibaren okutmayla, diğerleri elle (kayıtsız gün `IsAssumed`) takip edilir. Tetikler: hareket kaydı `Hr_S_AttendanceProcess`, PDKS Custom Endpoint `Hr_S_AttendanceImport` (`/hr/attendance/`), dönem `Hr_S_TimesheetPeriodAfterSave`, gece işi `Hr_S_TimesheetNightly`, izin/rapor prosedürleri, `Hr_S_TrainingSync`, `Hr_S_WorkCalendarAfterSave`. Modüller arası çakışma kuralları (raporlu gün devamsız değildir, rapora denk gelen izin günü bakiyeye döner, kapalı aya izin/rapor yazılmaz) `App.Hr.md` › Puantaj ve Devam Takibi §7.1'dedir. Ayarlar `App.HrSettings.Attendance.*`. Çalışma şekli: `configs/seeds/docs/modules/App.Hr.md` › Puantaj ve Devam Takibi. Wizard + Custom Component + Custom Endpoint + zamanlanmış iş + küçük UI eki. |
|
| **Timesheet & Attendance** | `App.Hr.Attendance` dalı (yalnız İK): `AttendanceLog` (ham okutma; Excel import), `Timesheet` (çalışan × gün; düzenlenen gün `IsManual`), `TimesheetMonthly` (salt okunur aylık özet, alt form `Timesheet` `Id → PeriodKey`), `TimesheetPeriod` (ay yeniden hesap / kapanış). Çalışana ait `MyTimesheet` (+ alt form `MyTimesheetDay`) menüsüzdür; Intranet › Dashboard'daki `MyTimesheetWidget`'tan açılır; profilin **Puantajım** sekmesinde de görünür; kullanıcı detayında **Puantaj** sekmesi | `Hr_T_AttendanceLog` · `Hr_T_Timesheet` · `Hr_T_TimesheetPeriod` · görünümler `Hr_V_AttendanceShift` · `Hr_V_TimesheetMonthly` | tenant | Hesap `Hr_S_TimesheetCalculate` (gün tipi: rapor > ücretsiz izin > `Hr_T_WorkCalendar` tatili > hafta tatili (İzin çalışma günü ayarları) > ücretli izin > okutma > eğitim katılımı (`Training`) > varsayılan çalışma / devamsız; izinli günde `LeaveTypeId`, eğitim gününde `TrainingId`; mola `MAX(vardiya, okutulan)`; geç/erken vardiya toleransı aşılırsa tamamı; fazla mesai haftalık 45 saati aşan kısım + tatil çalışması). Kişi eşlemesi `AbpUsers.PdksCardNo` / `RegistrationNo`; kartı olan çalışan ilk PDKS okutmasından itibaren okutmayla, diğerleri elle (kayıtsız gün `IsAssumed`) takip edilir. Tetikler: hareket kaydı `Hr_S_AttendanceProcess`, PDKS Custom Endpoint `Hr_S_AttendanceImport` (`/hr/attendance/`), dönem `Hr_S_TimesheetPeriodAfterSave`, gece işi `Hr_S_TimesheetNightly`, izin/rapor prosedürleri, `Hr_S_TrainingSync`, `Hr_S_WorkCalendarAfterSave`. Modüller arası çakışma kuralları (raporlu gün devamsız değildir, rapora denk gelen izin günü bakiyeye döner, kapalı aya izin/rapor yazılmaz) `App.Hr.md` › Puantaj ve Devam Takibi §7.1'dedir. Ayarlar `App.HrSettings.Attendance.*`. Çalışma şekli: `configs/seeds/docs/modules/App.Hr.md` › Puantaj ve Devam Takibi. Wizard + Custom Component + Custom Endpoint + zamanlanmış iş + küçük UI eki. |
|
||||||
| **Org Chart** | `App.Hr.OrgChart` · `/admin/organization` | `Hr_T_Department` · `Hr_T_JobPosition` | tenant | Departman/ünvan verisinin organizasyon şeması görünümü (özel React sayfası `hr/OrgChart`, veri `api/app/org-chart`). Menü ve route aynı yetkiyi ister. |
|
| **Org Chart** | `App.Hr.OrgChart` · `/admin/organization` | `Hr_T_Department` · `Hr_T_JobPosition` | tenant | Departman/ünvan verisinin organizasyon şeması görünümü (özel React sayfası `hr/OrgChart`, veri `api/app/org-chart`); kök düğüm şubedir (`Sas_T_Branch`, `OrgChartNodeDto.NodeType`), üstü olmayan departman/pozisyon şubesinin altına bağlanır. Menü ve route aynı yetkiyi ister. |
|
||||||
| **Intranet › Announcement** | `App.Hr.Intranet.Announcement` (alt formlar Like/Comment) | `Hr_T_Announcement` · `Hr_T_AnnouncementLike` · `Hr_T_AnnouncementComment` | tenant | Duyuru + beğeni + yorum: **ana kayıt / alt etkileşim** kalıbının hazır örneği. |
|
| **Intranet › Announcement** | `App.Hr.Intranet.Announcement` (alt formlar Like/Comment) | `Hr_T_Announcement` · `Hr_T_AnnouncementLike` · `Hr_T_AnnouncementComment` | tenant | Duyuru + beğeni + yorum: **ana kayıt / alt etkileşim** kalıbının hazır örneği. |
|
||||||
| **Intranet › Survey** | `App.Hr.Intranet.Survey` (alt form Question → Option; Response → Answer) | `Hr_T_Survey` · `Hr_T_SurveyQuestion` · `Hr_T_SurveyQuestionOption` · `Hr_T_SurveyResponse` · `Hr_T_SurveyAnswer` | tenant | Anket motoru; soru–seçenek–yanıt zinciri **iki seviyeli alt form** ihtiyacının referansıdır. |
|
| **Intranet › Survey** | `App.Hr.Intranet.Survey` (alt form Question → Option; Response → Answer) | `Hr_T_Survey` · `Hr_T_SurveyQuestion` · `Hr_T_SurveyQuestionOption` · `Hr_T_SurveyResponse` · `Hr_T_SurveyAnswer` | tenant | Anket motoru; soru–seçenek–yanıt zinciri **iki seviyeli alt form** ihtiyacının referansıdır. |
|
||||||
| **Intranet › Social Post** | `App.Hr.Intranet.SocialPost` | `Hr_T_SocialPost` · `Hr_T_SocialComment` · `Hr_T_SocialLike` (+ `SocialPollOption`, `SocialMedia`, `SocialLocation`) | tenant | Kurum içi akış; `IsLiked`, `IsOwnPost` gibi hesaplanmış kolonların view içinde üretilmesine örnek. Alt formlar: `App.Hr.Intranet.SocialMedia`, `SocialComment`, `SocialLike` (`Id` → `SocialPostId`); anket seçenekleri (`App.Hr.Intranet.SocialPollOption`) medyaya bağlı olduğu için `SocialMedia` ekranının alt formudur (`Id` → `SocialMediaId`). |
|
| **Intranet › Social Post** | `App.Hr.Intranet.SocialPost` | `Hr_T_SocialPost` · `Hr_T_SocialComment` · `Hr_T_SocialLike` (+ `SocialPollOption`, `SocialMedia`, `SocialLocation`) | tenant | Kurum içi akış; `IsLiked`, `IsOwnPost` gibi hesaplanmış kolonların view içinde üretilmesine örnek. Alt formlar: `App.Hr.Intranet.SocialMedia`, `SocialComment`, `SocialLike` (`Id` → `SocialPostId`); anket seçenekleri (`App.Hr.Intranet.SocialPollOption`) medyaya bağlı olduğu için `SocialMedia` ekranının alt formudur (`Id` → `SocialMediaId`). |
|
||||||
|
|
|
||||||
12
.github/instructions/lowcode.instructions.md
vendored
12
.github/instructions/lowcode.instructions.md
vendored
|
|
@ -4089,15 +4089,21 @@ yukarıdaki tanım kararının tersidir; ayrı sorulmaz.
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Tablo | `[BranchId] uniqueidentifier NOT NULL` (PG `"BranchId" uuid NOT NULL`), `TenantId`'den hemen sonra |
|
| Tablo | `[BranchId] uniqueidentifier NOT NULL` (PG `"BranchId" uuid NOT NULL`), `TenantId`'den hemen sonra |
|
||||||
| Ekran | `IsBranch: true` — liste yalnızca kullanıcıya atanmış şubelerin (`Sas_T_BranchUsers`) satırlarını getirir (`lowcode-reference.instructions.md` — Örtük filtreler) |
|
| Ekran | `IsBranch: true` — liste yalnızca kullanıcıya atanmış şubelerin (`Sas_T_BranchUsers`) satırlarını getirir (`lowcode-reference.instructions.md` — Örtük filtreler) |
|
||||||
| Alan | Şube (`App.Listform.ListformField.BranchId`, var olan anahtar), `dxSelectBox`, zorunlu; lookup kullanıcının şubeleri: `SELECT b.Id AS [Key], b.Name AS [Name] FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name` |
|
| Alan | Şube (`App.Listform.ListformField.BranchId`, var olan anahtar), `dxSelectBox`, zorunlu; lookup **standarttır ve her ekranda aynıdır** — kullanıcıya atanmış aktif şubeler: `SELECT b."Id" AS "Key", b."Name" AS "Name" FROM "Sas_T_Branch" b INNER JOIN "Sas_T_BranchUsers" bu ON bu."BranchId" = b."Id" AND bu."UserId" = '@USERID' WHERE b."IsDeleted" = 'false' AND b."IsActive" = 'true' AND b."TenantId" = '@TENANTID' ORDER BY b."Name"` (C# seeder'da `LookupQueryValues.UserBranchValues`). Şube seçilince depo/konum da gelecekse aynı sorguya `bu."DefaultWarehouseId", bu."DefaultLocationId"` kolonları eklenir, sorgu başka türlü değiştirilmez |
|
||||||
| Form varsayılanı | `FormFieldsDefaultValueJson`'da `CustomValueType: 3` (`DbQuery`): kullanıcının departmanının şubesi, kullanıcının şubeleri arasındaysa (örnek: `App.Prc.PurchaseOrder`, `App.Prj.Project`) |
|
| Form varsayılanı | `FormFieldsDefaultValueJson`'da `CustomValueType: 3` (`DbQuery`): **lookup'ın ilk seçeneği** — aynı join, `SELECT b."Id" … ORDER BY b."Name"` (ilk satır; C# seeder'da `LookupQueryValues.UserDefaultBranchValue`). Departman şubesi, sabit şube ya da başka bir sorgu yazılmaz; depo/konum varsayılanı da aynı join'den `bu."DefaultWarehouseId"` / `bu."DefaultLocationId"` ile okunur. Form ekleme kapalı ekranda (`AllowAdding: false`, salt okunur şube) varsayılan yazılmaz (örnek: `App.Prc.PurchaseOrder`, `App.Prj.Project`) |
|
||||||
| View / rapor | Tablodan okuyan view `BranchId`'yi taşır (PG `CREATE OR REPLACE VIEW` kolon ekleyemediği için listenin **sonuna**); ekran `IsBranch: true`, Şube kolonu salt okunur lookup (`Sas_T_Branch`) |
|
| View / rapor | Tablodan okuyan view `BranchId`'yi taşır (PG `CREATE OR REPLACE VIEW` kolon ekleyemediği için listenin **sonuna**); ekran `IsBranch: true`, Şube kolonu salt okunur lookup (`Sas_T_Branch`) |
|
||||||
| Ana kayda bağlı tablo (satır, alt form, kendi menüsü olan iş paketi/günce gibi) | Aynı kolonu taşır; form **cascade** ile kurulur: Şube alanı ana kayıttan önce gelir (kullanıcının şubeleri lookup'ı + departman şubesi `DbQuery` varsayılanı, `CascadeEmptyFields` = ana kayıt alanı), ana kayıt lookup'ı şubeye göre süzülür (`CascadeParentFields: BranchId`, sorguda `(p.BranchId = @param0 OR @param0 IS NULL)`); ana ekranın `SubFormsDto` ilişkisine `BranchId → BranchId` satırı eklenir (sekmeden açılan yeni kayıt şubeyi oradan alır). Ekran yine `IsBranch: true`; ana kaydın şubesini `DefaultFilter` alt sorgusuyla süzme (örnek: `App.Prj.WorkPackage`, `App.Prj.Diary`) |
|
| Ana kayda bağlı tablo (satır, alt form, kendi menüsü olan iş paketi/günce gibi) | Aynı kolonu taşır; form **cascade** ile kurulur: Şube alanı ana kayıttan önce gelir (standart şube lookup'ı + ilk şube `DbQuery` varsayılanı, `CascadeEmptyFields` = ana kayıt alanı), ana kayıt lookup'ı şubeye göre süzülür (`CascadeParentFields: BranchId`, sorguda `(p.BranchId = @param0 OR @param0 IS NULL)`); ana ekranın `SubFormsDto` ilişkisine `BranchId → BranchId` satırı eklenir (sekmeden açılan yeni kayıt şubeyi oradan alır). Ekran yine `IsBranch: true`; ana kaydın şubesini `DefaultFilter` alt sorgusuyla süzme (örnek: `App.Prj.WorkPackage`, `App.Prj.Diary`) |
|
||||||
| Widget | Widget SQL'i `IsBranch` filtresinden geçmez; şube kırılımı gerekiyorsa sorguya yazılır |
|
| Widget | Widget SQL'i `IsBranch` filtresinden geçmez; şube kırılımı gerekiyorsa sorguya yazılır |
|
||||||
|
|
||||||
Kullanıcı "şube yok" derse kolon ve `IsBranch` çıkarılır. Var olan işlem tablosuna kolon eklemek
|
Kullanıcı "şube yok" derse kolon ve `IsBranch` çıkarılır. Var olan işlem tablosuna kolon eklemek
|
||||||
şema değişikliğidir; istekle yapılır (yama betiği yazılmaz, kolon `CREATE` içine konur).
|
şema değişikliğidir; istekle yapılır (yama betiği yazılmaz, kolon `CREATE` içine konur).
|
||||||
|
|
||||||
|
**Şube alanı sözleşmesi `IsBranch`'e bağlı değildir.** `BranchId` kolonu taşıyan her ekran — tanım
|
||||||
|
ekranları (depo, konum, departman, pozisyon, ilan) ve `IsBranch` olmayan listeler dahil — Alan ve Form
|
||||||
|
varsayılanı satırlarındaki aynı lookup'ı ve aynı varsayılanı kullanır; ekrana özel şube sorgusu
|
||||||
|
yazılmaz. Kullanıcı hiçbir şubeye atanmamışsa seçenek ve varsayılan boş kalır; çözüm ekranda değil
|
||||||
|
Kullanıcılar › Yetkiler › Şube Yönetimi'ndedir.
|
||||||
|
|
||||||
### 8.2 View tasarımcısı (`SqlViewDesignerDialog`) — çalışma mantığı
|
### 8.2 View tasarımcısı (`SqlViewDesignerDialog`) — çalışma mantığı
|
||||||
|
|
||||||
Bir ekran birden fazla tablodan besleniyorsa, `SelectCommandType: 4` (Query) yerine **tasarlanmış
|
Bir ekran birden fazla tablodan besleniyorsa, `SelectCommandType: 4` (Query) yerine **tasarlanmış
|
||||||
|
|
|
||||||
|
|
@ -980,7 +980,8 @@ Yetki grubu `App.Hr`; ListForm kodu = menü kodu = yetki adı = dil anahtarı. T
|
||||||
`Hr_T_SkillType` / `Hr_T_SkillLevel` / `Hr_T_Skill` / `Hr_T_Department` / `Hr_T_JobPosition`
|
`Hr_T_SkillType` / `Hr_T_SkillLevel` / `Hr_T_Skill` / `Hr_T_Department` / `Hr_T_JobPosition`
|
||||||
(hepsi kiracı, `IMultiTenant`, `Guid` anahtar); ekranlar `ListFormSeeder_Hr.cs`'tedir, entity'ler
|
(hepsi kiracı, `IMultiTenant`, `Guid` anahtar); ekranlar `ListFormSeeder_Hr.cs`'tedir, entity'ler
|
||||||
`Entities/Tenant/Hr/Definitions`. Departman ve pozisyon **şube bazlıdır**: `BranchId` zorunlu kolondur
|
`Entities/Tenant/Hr/Definitions`. Departman ve pozisyon **şube bazlıdır**: `BranchId` zorunlu kolondur
|
||||||
(`Guid`, `NOT NULL`), listenin ilk sütunu Şube Adı'dır (`LookupQueryValues.TenantBranchValues`);
|
(`Guid`, `NOT NULL`), listenin ilk sütunu Şube Adı'dır (kullanıcının şubeleri `LookupQueryValues.UserBranchValues`,
|
||||||
|
yeni kayıt ilk şubeyle açılır `UserDefaultBranchValue`);
|
||||||
departman lookup'ı şubeye göre süzülür (`BranchDepartmentValues`). Host varsayılan şubesi sabit
|
departman lookup'ı şubeye göre süzülür (`BranchDepartmentValues`). Host varsayılan şubesi sabit
|
||||||
kimlikle kurulur (`PlatformConsts.Branches.BranchIdDefaultValue`) ve
|
kimlikle kurulur (`PlatformConsts.Branches.BranchIdDefaultValue`) ve
|
||||||
`data/App.Hr.{Department,JobPosition}.json` satırları bu kimliğe bağlıdır. Numaratör
|
`data/App.Hr.{Department,JobPosition}.json` satırları bu kimliğe bağlıdır. Numaratör
|
||||||
|
|
|
||||||
|
|
@ -270,16 +270,29 @@ public static class LookupQueryValues
|
||||||
$"AND {TenantFilter} " +
|
$"AND {TenantFilter} " +
|
||||||
$"ORDER BY \"Name\";";
|
$"ORDER BY \"Name\";";
|
||||||
|
|
||||||
// Lookup sorgusu ekranın tenant filtresinden geçmez; kiracı kırılımı token ile sorguda yazılır.
|
// Şube alanının standart lookup'ı: kullanıcıya atanmış (Sas_T_BranchUsers) aktif şubeler; her ekranda aynı küme.
|
||||||
public static string TenantBranchValues =
|
public static string UserBranchValues =
|
||||||
$"SELECT " +
|
$"SELECT " +
|
||||||
$"\"Id\" AS \"Key\", " +
|
$"b.\"Id\" AS \"Key\", " +
|
||||||
$"\"Name\" AS \"Name\" " +
|
$"b.\"Name\" AS \"Name\" " +
|
||||||
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Branch))}\" " +
|
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Branch))}\" b " +
|
||||||
$"WHERE " +
|
$"INNER JOIN \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.BranchUsers))}\" bu " +
|
||||||
$"{TenantFilter} " +
|
$"ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '{DefaultValues.UserId}' " +
|
||||||
$"AND \"IsDeleted\" = 'false' " +
|
$"WHERE b.\"IsDeleted\" = 'false' " +
|
||||||
$"ORDER BY \"Name\";";
|
$"AND b.\"IsActive\" = 'true' " +
|
||||||
|
$"AND b.\"TenantId\" = '{DefaultValues.TenantId}' " +
|
||||||
|
$"ORDER BY b.\"Name\";";
|
||||||
|
|
||||||
|
// Şube alanının standart form varsayılanı (DbQuery, ilk satır): lookup'ın ilk seçeneği.
|
||||||
|
public static string UserDefaultBranchValue =
|
||||||
|
$"SELECT b.\"Id\" " +
|
||||||
|
$"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Branch))}\" b " +
|
||||||
|
$"INNER JOIN \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.BranchUsers))}\" bu " +
|
||||||
|
$"ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '{DefaultValues.UserId}' " +
|
||||||
|
$"WHERE b.\"IsDeleted\" = 'false' " +
|
||||||
|
$"AND b.\"IsActive\" = 'true' " +
|
||||||
|
$"AND b.\"TenantId\" = '{DefaultValues.TenantId}' " +
|
||||||
|
$"ORDER BY b.\"Name\";";
|
||||||
|
|
||||||
// Hr_T_BenefitType wizard ile seed scriptinden kurulur, entity'si yoktur; ad bu yuzden sabit yazilir.
|
// Hr_T_BenefitType wizard ile seed scriptinden kurulur, entity'si yoktur; ad bu yuzden sabit yazilir.
|
||||||
// Deger Code'dur: UserBenefit.BenefitType metin kolonudur ve kod kiracinin tanimladigi turle eslesir.
|
// Deger Code'dur: UserBenefit.BenefitType metin kolonudur ve kod kiracinin tanimladigi turle eslesir.
|
||||||
|
|
|
||||||
|
|
@ -12,12 +12,22 @@ public class OrgChartUserDto
|
||||||
public string PhoneNumber { get; set; }
|
public string PhoneNumber { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum OrgChartNodeType
|
||||||
|
{
|
||||||
|
Branch,
|
||||||
|
Department,
|
||||||
|
JobPosition
|
||||||
|
}
|
||||||
|
|
||||||
public class OrgChartNodeDto
|
public class OrgChartNodeDto
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public Guid? ParentId { get; set; }
|
public Guid? ParentId { get; set; }
|
||||||
|
|
||||||
|
// Şube düğümü ağacın köküdür; departman ve pozisyon ağaçları şubelerinin altında açılır.
|
||||||
|
public OrgChartNodeType NodeType { get; set; }
|
||||||
|
|
||||||
// Only for JobPosition nodes
|
// Only for JobPosition nodes
|
||||||
public Guid? DepartmentId { get; set; }
|
public Guid? DepartmentId { get; set; }
|
||||||
public string DepartmentName { get; set; }
|
public string DepartmentName { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -15,15 +15,18 @@ namespace Sozsoft.Platform.OrgChart;
|
||||||
[Route("api/app/org-chart")]
|
[Route("api/app/org-chart")]
|
||||||
public class OrgChartAppService : PlatformAppService
|
public class OrgChartAppService : PlatformAppService
|
||||||
{
|
{
|
||||||
|
private readonly IRepository<Branch, Guid> _branchRepository;
|
||||||
private readonly IRepository<Department, Guid> _departmentRepository;
|
private readonly IRepository<Department, Guid> _departmentRepository;
|
||||||
private readonly IRepository<JobPosition, Guid> _jobPositionRepository;
|
private readonly IRepository<JobPosition, Guid> _jobPositionRepository;
|
||||||
private readonly IIdentityUserRepository _userRepository;
|
private readonly IIdentityUserRepository _userRepository;
|
||||||
|
|
||||||
public OrgChartAppService(
|
public OrgChartAppService(
|
||||||
|
IRepository<Branch, Guid> branchRepository,
|
||||||
IRepository<Department, Guid> departmentRepository,
|
IRepository<Department, Guid> departmentRepository,
|
||||||
IRepository<JobPosition, Guid> jobPositionRepository,
|
IRepository<JobPosition, Guid> jobPositionRepository,
|
||||||
IIdentityUserRepository userRepository)
|
IIdentityUserRepository userRepository)
|
||||||
{
|
{
|
||||||
|
_branchRepository = branchRepository;
|
||||||
_departmentRepository = departmentRepository;
|
_departmentRepository = departmentRepository;
|
||||||
_jobPositionRepository = jobPositionRepository;
|
_jobPositionRepository = jobPositionRepository;
|
||||||
_userRepository = userRepository;
|
_userRepository = userRepository;
|
||||||
|
|
@ -74,7 +77,8 @@ public class OrgChartAppService : PlatformAppService
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
Name = d.Name,
|
Name = d.Name,
|
||||||
ParentId = d.ParentId,
|
NodeType = OrgChartNodeType.Department,
|
||||||
|
ParentId = ResolveParent(d.ParentId, d.BranchId, departments.Select(x => x.Id)),
|
||||||
JobPositionId = topPosition?.Id,
|
JobPositionId = topPosition?.Id,
|
||||||
JobPositionName = topPosition?.Name,
|
JobPositionName = topPosition?.Name,
|
||||||
Users = topPosition != null && usersByJobPosition.TryGetValue(topPosition.Id, out var positionUsers)
|
Users = topPosition != null && usersByJobPosition.TryGetValue(topPosition.Id, out var positionUsers)
|
||||||
|
|
@ -83,7 +87,7 @@ public class OrgChartAppService : PlatformAppService
|
||||||
};
|
};
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
return nodes;
|
return await WithBranchRootsAsync(nodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("job-positions")]
|
[HttpGet("job-positions")]
|
||||||
|
|
@ -100,7 +104,8 @@ public class OrgChartAppService : PlatformAppService
|
||||||
{
|
{
|
||||||
Id = jp.Id,
|
Id = jp.Id,
|
||||||
Name = jp.Name,
|
Name = jp.Name,
|
||||||
ParentId = jp.ParentId,
|
NodeType = OrgChartNodeType.JobPosition,
|
||||||
|
ParentId = ResolveParent(jp.ParentId, jp.BranchId, jobPositions.Select(x => x.Id)),
|
||||||
DepartmentId = jp.DepartmentId,
|
DepartmentId = jp.DepartmentId,
|
||||||
DepartmentName = deptDict.TryGetValue(jp.DepartmentId, out var name) ? name : null,
|
DepartmentName = deptDict.TryGetValue(jp.DepartmentId, out var name) ? name : null,
|
||||||
JobPositionId = jp.Id,
|
JobPositionId = jp.Id,
|
||||||
|
|
@ -110,9 +115,35 @@ public class OrgChartAppService : PlatformAppService
|
||||||
: [],
|
: [],
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
return await WithBranchRootsAsync(nodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Üstü olmayan (ya da üstü silinmiş) kayıt şubesinin altına bağlanır; şube ağacın köküdür.
|
||||||
|
private static Guid? ResolveParent(Guid? parentId, Guid branchId, IEnumerable<Guid> knownIds)
|
||||||
|
=> parentId.HasValue && knownIds.Contains(parentId.Value) ? parentId : branchId;
|
||||||
|
|
||||||
|
// Yalnızca altında kayıt bulunan şubeler düğüm olur; Branch IMultiTenant değildir, kiracı süzgeci elle yazılır.
|
||||||
|
private async Task<List<OrgChartNodeDto>> WithBranchRootsAsync(List<OrgChartNodeDto> nodes)
|
||||||
|
{
|
||||||
|
var nodeIds = nodes.Select(n => n.Id).ToHashSet();
|
||||||
|
var branchIds = nodes
|
||||||
|
.Where(n => n.ParentId.HasValue && !nodeIds.Contains(n.ParentId.Value))
|
||||||
|
.Select(n => n.ParentId!.Value)
|
||||||
|
.ToHashSet();
|
||||||
|
if (branchIds.Count == 0)
|
||||||
|
{
|
||||||
return nodes;
|
return nodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var tenantId = CurrentTenant.Id;
|
||||||
|
var branches = await _branchRepository.GetListAsync(b => b.TenantId == tenantId && branchIds.Contains(b.Id));
|
||||||
|
var branchNodes = branches
|
||||||
|
.OrderBy(b => b.Name)
|
||||||
|
.Select(b => new OrgChartNodeDto { Id = b.Id, Name = b.Name, NodeType = OrgChartNodeType.Branch });
|
||||||
|
|
||||||
|
return branchNodes.Concat(nodes).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
private static Dictionary<Guid, List<OrgChartUserDto>> GroupUsersByJobPosition(
|
private static Dictionary<Guid, List<OrgChartUserDto>> GroupUsersByJobPosition(
|
||||||
IEnumerable<IdentityUser> users)
|
IEnumerable<IdentityUser> users)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -476,6 +476,10 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
|
||||||
new() {
|
new() {
|
||||||
Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
|
Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
|
||||||
}),
|
}),
|
||||||
|
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
|
||||||
|
{
|
||||||
|
new() { FieldName = "BranchId", FieldDbType = DbType.Guid, SqlQuery = LookupQueryValues.UserDefaultBranchValue, CustomValueType = FieldCustomValueTypeEnum.DbQuery }
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
#region Department Fields
|
#region Department Fields
|
||||||
|
|
@ -567,7 +571,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
|
||||||
DataSourceType = UiLookupDataSourceTypeEnum.Query,
|
DataSourceType = UiLookupDataSourceTypeEnum.Query,
|
||||||
DisplayExpr = "Name",
|
DisplayExpr = "Name",
|
||||||
ValueExpr = "Key",
|
ValueExpr = "Key",
|
||||||
LookupQuery = LookupQueryValues.TenantBranchValues,
|
LookupQuery = LookupQueryValues.UserBranchValues,
|
||||||
CascadeEmptyFields = "ParentId"
|
CascadeEmptyFields = "ParentId"
|
||||||
}),
|
}),
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
|
@ -630,6 +634,10 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
|
||||||
new() {
|
new() {
|
||||||
Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
|
Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
|
||||||
}),
|
}),
|
||||||
|
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
|
||||||
|
{
|
||||||
|
new() { FieldName = "BranchId", FieldDbType = DbType.Guid, SqlQuery = LookupQueryValues.UserDefaultBranchValue, CustomValueType = FieldCustomValueTypeEnum.DbQuery }
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
#region JobPosition Fields
|
#region JobPosition Fields
|
||||||
|
|
@ -721,7 +729,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
|
||||||
DataSourceType = UiLookupDataSourceTypeEnum.Query,
|
DataSourceType = UiLookupDataSourceTypeEnum.Query,
|
||||||
DisplayExpr = "Name",
|
DisplayExpr = "Name",
|
||||||
ValueExpr = "Key",
|
ValueExpr = "Key",
|
||||||
LookupQuery = LookupQueryValues.TenantBranchValues,
|
LookupQuery = LookupQueryValues.UserBranchValues,
|
||||||
CascadeEmptyFields = "DepartmentId,ParentId"
|
CascadeEmptyFields = "DepartmentId,ParentId"
|
||||||
}),
|
}),
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
|
|
||||||
|
|
@ -124,8 +124,11 @@ Bir çelişki varsa sıra: `ai.instructions.md` → `dotnet.instructions.md` →
|
||||||
`CreationTime`, `CreatorId`, `LastModificationTime`, `LastModifierId`, `IsDeleted`,
|
`CreationTime`, `CreatorId`, `LastModificationTime`, `LastModifierId`, `IsDeleted`,
|
||||||
`DeletionTime`, `DeleterId`). Kullanıcı açıkça "tenant yok / audit yok" demedikçe çıkarma.
|
`DeletionTime`, `DeleterId`). Kullanıcı açıkça "tenant yok / audit yok" demedikçe çıkarma.
|
||||||
Tanım **olmayan** (işlem/belge) yeni tablo `TenantId` gibi `BranchId uniqueidentifier NOT NULL`
|
Tanım **olmayan** (işlem/belge) yeni tablo `TenantId` gibi `BranchId uniqueidentifier NOT NULL`
|
||||||
(PG `uuid NOT NULL`) da taşır; ekranı `IsBranch: true`, Şube alanı kullanıcının şubelerinden
|
(PG `uuid NOT NULL`) da taşır; ekranı `IsBranch: true`. **Şube alanı her ekranda aynı sözleşmeyle
|
||||||
(`Sas_T_BranchUsers`) seçilir ve yeni kayıtta kullanıcının departman şubesiyle (`DbQuery`) açılır.
|
gelir** (`BranchId` kolonu taşıyan tanım ekranları dahil): seçenekler kullanıcıya atanmış aktif
|
||||||
|
şubelerdir (`Sas_T_BranchUsers`, Kullanıcılar › Yetkiler › Şube Yönetimi; `LookupQueryValues.UserBranchValues`),
|
||||||
|
yeni kayıt bu listenin **ilk seçeneğiyle** açılır (`DbQuery`, `LookupQueryValues.UserDefaultBranchValue`
|
||||||
|
ile aynı metin). Departman şubesi, sabit şube ya da ekrana özel sorgu yazılmaz.
|
||||||
Bu tablodan okuyan view/rapor ekranı da `BranchId`'yi taşır ve `IsBranch: true` olur. Ana kayda
|
Bu tablodan okuyan view/rapor ekranı da `BranchId`'yi taşır ve `IsBranch: true` olur. Ana kayda
|
||||||
bağlı tablo da kolonu taşır; formda önce Şube seçilir, ana kayıt lookup'ı şubeye göre süzülür
|
bağlı tablo da kolonu taşır; formda önce Şube seçilir, ana kayıt lookup'ı şubeye göre süzülür
|
||||||
(`CascadeParentFields: BranchId`) + alt form ilişkisi `BranchId → BranchId`. Ayrıntı:
|
(`CascadeParentFields: BranchId`) + alt form ilişkisi `BranchId → BranchId`. Ayrıntı:
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,7 @@ Kapsam: kiracı. Departman ve pozisyon **şube bazlıdır** (`BranchId` zorunlu)
|
||||||
| Departman | Ağaç (`ParentId`), şubeye bağlı; varsayılan görünüm **Tree**; aynı şubede ad tekil |
|
| Departman | Ağaç (`ParentId`), şubeye bağlı; varsayılan görünüm **Tree**; aynı şubede ad tekil |
|
||||||
| Pozisyon | Ağaç (`ParentId` = üst pozisyon), departmana ve şubeye bağlı; varsayılan görünüm **Tree**; aynı departmanda ad tekil |
|
| Pozisyon | Ağaç (`ParentId` = üst pozisyon), departmana ve şubeye bağlı; varsayılan görünüm **Tree**; aynı departmanda ad tekil |
|
||||||
| Yönetici ilişkisi | Departmanda yönetici alanı **yoktur**; hiyerarşi pozisyon ağacından okunur |
|
| Yönetici ilişkisi | Departmanda yönetici alanı **yoktur**; hiyerarşi pozisyon ağacından okunur |
|
||||||
|
| Şemada şube | Şema **şube kökünden** başlar (2026-10-14): her iki modda üstü olmayan departman/pozisyon kendi şubesinin (`BranchId`) düğümüne bağlanır; yalnızca altında kayıt olan şubeler düğüm olur (`OrgChartAppService.WithBranchRootsAsync`, `OrgChartNodeDto.NodeType`). Şube kartı kullanıcı listesi taşımaz |
|
||||||
| Host şubesi | Host varsayılan şubesi sabit kimlikle kurulur (`PlatformConsts.Branches.BranchIdDefaultValue = 1c125bf3-…`); seed departman/pozisyon satırları buna bağlıdır, kiracı şubeleri yeni GUID alır |
|
| Host şubesi | Host varsayılan şubesi sabit kimlikle kurulur (`PlatformConsts.Branches.BranchIdDefaultValue = 1c125bf3-…`); seed departman/pozisyon satırları buna bağlıdır, kiracı şubeleri yeni GUID alır |
|
||||||
| Admin varsayılanı | Admin kullanıcı departman **Yönetim**, pozisyon **Genel Müdür** ile kurulur |
|
| Admin varsayılanı | Admin kullanıcı departman **Yönetim**, pozisyon **Genel Müdür** ile kurulur |
|
||||||
| Yetkinlik sözlüğü | Yetenek Tipi ekranının iki alt formu: Seviyeler (ad + `Progress` 0–100 kaydırıcı + varsayılan) ve Yetenekler |
|
| Yetkinlik sözlüğü | Yetenek Tipi ekranının iki alt formu: Seviyeler (ad + `Progress` 0–100 kaydırıcı + varsayılan) ve Yetenekler |
|
||||||
|
|
@ -204,7 +205,7 @@ Kapsam: kiracı. Departman ve pozisyon **şube bazlıdır** (`BranchId` zorunlu)
|
||||||
Bu ekranlarda widget yoktur ve veri seed dosyasına aynalanmaz (`SeedSync*` kapalı).
|
Bu ekranlarda widget yoktur ve veri seed dosyasına aynalanmaz (`SeedSync*` kapalı).
|
||||||
|
|
||||||
**Organizasyon Şeması** (`ui/src/views/admin/hr/OrgChart.tsx`):
|
**Organizasyon Şeması** (`ui/src/views/admin/hr/OrgChart.tsx`):
|
||||||
- **Mod:** Departman ya da Pozisyon.
|
- **Mod:** Departman ya da Pozisyon. İki modda da kök düğüm **şube**dir (`NodeType = Branch`, fabrika simgesi); departman/pozisyon ağacı şubesinin altında açılır.
|
||||||
- **Kullanıcıları göster:** Açık/kapalı seçilebilir.
|
- **Kullanıcıları göster:** Açık/kapalı seçilebilir.
|
||||||
- **Yakınlaştırma:** %30–300 arası, Ctrl + tekerlek ile de.
|
- **Yakınlaştırma:** %30–300 arası, Ctrl + tekerlek ile de.
|
||||||
- **Dışa aktarma:** JPG olarak.
|
- **Dışa aktarma:** JPG olarak.
|
||||||
|
|
@ -1052,7 +1053,7 @@ Hr_V_LeaveBalanceYear (defter) ──▶ Hr_V_LeaveSummary (çalışan başına
|
||||||
|
|
||||||
| Nesne | Önemli kolonlar | Kural |
|
| Nesne | Önemli kolonlar | Kural |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `Hr_T_LeaveRequest` | `RequestNo`, `EmployeeId`/`EmployeeName`/`DepartmentId`/`JobPositionId`, `LeaveTypeId`, `StartDate`/`EndDate` (tarih+saat), `IsHalfDay`, `HalfDayPart` (Morning/Afternoon), `Days` (0,5 adımlı), `Description`, `DocumentFileName`/`DocumentContent`, `BalanceWarning`, `SickLeaveId`, `ManagerIds`/`ManagerUserNames`, `RequiresManagerApproval` (int, 1/0), `ApprovalStatus`/`ApprovalUser`/`ApprovalDate`/`ApprovalDescription`, `LastNotifiedStatus`, `IsActive` | `EndDate ≥ StartDate`; kiracı + tam audit |
|
| `Hr_T_LeaveRequest` | `BranchId` (şube, zorunlu — standart şube sözleşmesi, ekran `IsBranch`; `Hr_S_LeaveSickLeaveSync` raporu izne çevirirken çalışanın departman şubesini, yoksa çalışana / işlemi yapana atanmış ilk şubeyi yazar), `RequestNo`, `EmployeeId`/`EmployeeName`/`DepartmentId`/`JobPositionId`, `LeaveTypeId`, `StartDate`/`EndDate` (tarih+saat), `IsHalfDay`, `HalfDayPart` (Morning/Afternoon), `Days` (0,5 adımlı), `Description`, `DocumentFileName`/`DocumentContent`, `BalanceWarning`, `SickLeaveId`, `ManagerIds`/`ManagerUserNames`, `RequiresManagerApproval` (int, 1/0), `ApprovalStatus`/`ApprovalUser`/`ApprovalDate`/`ApprovalDescription`, `LastNotifiedStatus`, `IsActive` | `EndDate ≥ StartDate`; kiracı + tam audit |
|
||||||
| `Hr_T_LeaveBalanceAdjustment` | `EmployeeId`, `AdjustmentDate`, `Days` (≠ 0, ±), `Reason`, `IsActive` | — |
|
| `Hr_T_LeaveBalanceAdjustment` | `EmployeeId`, `AdjustmentDate`, `Days` (≠ 0, ±), `Reason`, `IsActive` | — |
|
||||||
| `Hr_T_LeaveType` (+ kolon) | `BalanceExceedAction` (`Block`/`Warn`, varsayılan `Block`) | Kayıpsız `ALTER ADD` |
|
| `Hr_T_LeaveType` (+ kolon) | `BalanceExceedAction` (`Block`/`Warn`, varsayılan `Block`) | Kayıpsız `ALTER ADD` |
|
||||||
| `Hr_V_LeaveBalanceYear` | `Id` (`{EmployeeId}-{YearNo}`), `YearNo`, `AccrualDate`, `PeriodEndDate`, `EntitledDays`, `UsedDays`, `PendingDays`, `RemainingDays`, `CumulativeRemainingDays`, `NextAccrualDate`, `NextAccrualDays` | Görünüm |
|
| `Hr_V_LeaveBalanceYear` | `Id` (`{EmployeeId}-{YearNo}`), `YearNo`, `AccrualDate`, `PeriodEndDate`, `EntitledDays`, `UsedDays`, `PendingDays`, `RemainingDays`, `CumulativeRemainingDays`, `NextAccrualDate`, `NextAccrualDays` | Görünüm |
|
||||||
|
|
@ -2082,7 +2083,7 @@ Hr_T_PerformancePeriod ──< Hr_T_PerformancePeriodSkill >── Hr_T_Skill
|
||||||
| `Hr_T_PerformanceRating` | `Level`, `Name`, `MinScore`, `MaxScore`, `Color`, `TargetDistribution` | `(TenantId, Level)` tekil; `MinScore < MaxScore` |
|
| `Hr_T_PerformanceRating` | `Level`, `Name`, `MinScore`, `MaxScore`, `Color`, `TargetDistribution` | `(TenantId, Level)` tekil; `MinScore < MaxScore` |
|
||||||
| `Hr_T_PerformancePeriod` | `StartDate`, `EndDate`, `SelfReviewDueDate`, `ManagerReviewDueDate`, `GoalWeight`, `CompetencyWeight`, `Is360Enabled`, `Status` | Ağırlık toplamı = 100 (CHECK); `Status` ∈ Planned, Active, Calibration, Closed |
|
| `Hr_T_PerformancePeriod` | `StartDate`, `EndDate`, `SelfReviewDueDate`, `ManagerReviewDueDate`, `GoalWeight`, `CompetencyWeight`, `Is360Enabled`, `Status` | Ağırlık toplamı = 100 (CHECK); `Status` ∈ Planned, Active, Calibration, Closed |
|
||||||
| `Hr_T_PerformancePeriodSkill` | `PeriodId`, `SkillId`, `ExpectedLevelId` | `(PeriodId, SkillId)` tekil |
|
| `Hr_T_PerformancePeriodSkill` | `PeriodId`, `SkillId`, `ExpectedLevelId` | `(PeriodId, SkillId)` tekil |
|
||||||
| `Hr_T_PerformanceReview` | `PeriodId`, `EmployeeId`, `EmployeeName`, `ManagerId`, `DepartmentId`, `JobPositionId`, `Status`, `LastStatus`, `GoalScore`, `CompetencyScore`, `Feedback360Score`, `OverallScore`, `CalibratedScore`, `RatingId`, yorumlar, gönderim tarihleri | `(PeriodId, EmployeeId)` tekil; `Status` ∈ GoalSetting, SelfReview, ManagerReview, Calibration, Completed; `CalibratedScore` 0–150 |
|
| `Hr_T_PerformanceReview` | `BranchId` (şube, zorunlu — standart şube sözleşmesi, ekran `IsBranch`; `Hr_S_PerformancePeriodActivate` dönemi açarken çalışanın departman şubesini, yoksa çalışana / işlemi yapana atanmış ilk şubeyi yazar), `PeriodId`, `EmployeeId`, `EmployeeName`, `ManagerId`, `DepartmentId`, `JobPositionId`, `Status`, `LastStatus`, `GoalScore`, `CompetencyScore`, `Feedback360Score`, `OverallScore`, `CalibratedScore`, `RatingId`, yorumlar, gönderim tarihleri | `(PeriodId, EmployeeId)` tekil; `Status` ∈ GoalSetting, SelfReview, ManagerReview, Calibration, Completed; `CalibratedScore` 0–150 |
|
||||||
| `Hr_T_PerformanceGoal` | `GoalType` (KPI/OKR), `Title`, `Direction` (Increasing/Decreasing), `Unit`, `TargetValue`, `ActualValue`, `Weight`, `AchievementRate` | `TargetValue > 0`, `0 < Weight ≤ 100` |
|
| `Hr_T_PerformanceGoal` | `GoalType` (KPI/OKR), `Title`, `Direction` (Increasing/Decreasing), `Unit`, `TargetValue`, `ActualValue`, `Weight`, `AchievementRate` | `TargetValue > 0`, `0 < Weight ≤ 100` |
|
||||||
| `Hr_T_PerformanceCompetency` | `SkillId`, `ExpectedLevelId`, `SelfLevelId`, `ManagerLevelId`, `Score` | `(ReviewId, SkillId)` tekil |
|
| `Hr_T_PerformanceCompetency` | `SkillId`, `ExpectedLevelId`, `SelfLevelId`, `ManagerLevelId`, `Score` | `(ReviewId, SkillId)` tekil |
|
||||||
| `Hr_T_PerformanceFeedback` | `ReviewerId`, `Relation` (Peer/Subordinate/Superior/InternalCustomer), `Status` (Pending/Submitted), `Score`, `Comment`, `SubmittedDate` | `(ReviewId, ReviewerId)` tekil |
|
| `Hr_T_PerformanceFeedback` | `ReviewerId`, `Relation` (Peer/Subordinate/Superior/InternalCustomer), `Status` (Pending/Submitted), `Score`, `Comment`, `SubmittedDate` | `(ReviewId, ReviewerId)` tekil |
|
||||||
|
|
@ -2387,7 +2388,7 @@ AbpUsers ──< Hr_T_DisciplinaryCase ──< Hr_T_DisciplinaryDefense
|
||||||
| Tablo | Önemli kolonlar |
|
| Tablo | Önemli kolonlar |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `Hr_T_DisciplinaryPenaltyType` | `Name`, `Severity`, `Description`, `IsActive` |
|
| `Hr_T_DisciplinaryPenaltyType` | `Name`, `Severity`, `Description`, `IsActive` |
|
||||||
| `Hr_T_DisciplinaryCase` | `CaseNo`, `UserId`, `DepartmentId`, `JobPositionId`, `IncidentDate`, `IncidentTime`, `IncidentPlace`, `ReportedById`, `Status`, `Subject`, `IncidentDescription` (HTML tutanak), `WitnessUserIds` |
|
| `Hr_T_DisciplinaryCase` | `BranchId` (şube, zorunlu — standart şube sözleşmesi, ekran `IsBranch`), `CaseNo`, `UserId`, `DepartmentId`, `JobPositionId`, `IncidentDate`, `IncidentTime`, `IncidentPlace`, `ReportedById`, `Status`, `Subject`, `IncidentDescription` (HTML tutanak), `WitnessUserIds` |
|
||||||
| `Hr_T_DisciplinaryDefense` | `CaseId`, `RequestDate`, `DueDate`, `ResponseDate`, `Status` (Requested/Submitted/NotSubmitted), `DefenseText` (HTML) |
|
| `Hr_T_DisciplinaryDefense` | `CaseId`, `RequestDate`, `DueDate`, `ResponseDate`, `Status` (Requested/Submitted/NotSubmitted), `DefenseText` (HTML) |
|
||||||
| `Hr_T_DisciplinaryDecision` | `CaseId`, `DecisionDate`, `PenaltyTypeId`, `EffectiveDate`, `NotificationDate`, `DeductionAmount`, `Status` (Draft/Final), `DecisionText` (HTML) |
|
| `Hr_T_DisciplinaryDecision` | `CaseId`, `DecisionDate`, `PenaltyTypeId`, `EffectiveDate`, `NotificationDate`, `DeductionAmount`, `Status` (Draft/Final), `DecisionText` (HTML) |
|
||||||
| `Hr_T_DisciplinaryFile` | `CaseId`, `DocumentTypeId`, `FileDate`, `FileName`, `FileContent` |
|
| `Hr_T_DisciplinaryFile` | `CaseId`, `DocumentTypeId`, `FileDate`, `FileName`, `FileContent` |
|
||||||
|
|
@ -3367,7 +3368,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Widget.Pending`, `App.Hr.StaffRequest.Widget.Approved`, `App.Hr.StaffRequest.Widget.Headcount` |
|
| Widget'lar | `App.Widget.Total`, `App.Widget.Pending`, `App.Hr.StaffRequest.Widget.Approved`, `App.Hr.StaffRequest.Widget.Headcount` |
|
||||||
| Komutlar | InsertAfter: SQL |
|
| Komutlar | InsertAfter: SQL |
|
||||||
| Form varsayılanları | IsActive=true, RequestDate=@DATE, RequestedById=@USERID, Headcount=1, EmploymentType=FullTime, Reason=NewPosition, CurrencyId=TRY |
|
| Form varsayılanları | IsActive=true, RequestDate=@DATE, RequestedById=@USERID, Headcount=1, EmploymentType=FullTime, Reason=NewPosition, CurrencyId=TRY, BranchId= |
|
||||||
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Onay Bekliyor' → Inform 'Onay Bilgisi' → Inform 'Ret Bilgisi' → End 'Onaylandı' → End 'Reddedildi' |
|
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Onay Bekliyor' → Inform 'Onay Bilgisi' → Inform 'Ret Bilgisi' → End 'Onaylandı' → End 'Reddedildi' |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
|
|
@ -3410,7 +3411,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Alt formlar | `App.Hr.JobApplication` (Id → JobPostingId) |
|
| Alt formlar | `App.Hr.JobApplication` (Id → JobPostingId) |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Widget.Published`, `App.Widget.Draft`, `App.Hr.JobPosting.Widget.Closed` |
|
| Widget'lar | `App.Widget.Total`, `App.Widget.Published`, `App.Widget.Draft`, `App.Hr.JobPosting.Widget.Closed` |
|
||||||
| Komutlar | InsertAfter: SQL · UpdateAfter: SQL |
|
| Komutlar | InsertAfter: SQL · UpdateAfter: SQL |
|
||||||
| Form varsayılanları | IsActive=true, Status=Draft, Headcount=1, EmploymentType=FullTime, WorkModel=Office, PublishDate=@DATE |
|
| Form varsayılanları | IsActive=true, Status=Draft, Headcount=1, EmploymentType=FullTime, WorkModel=Office, PublishDate=@DATE, BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
|
@ -3589,7 +3590,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Komutlar | InsertAfter: SQL · UpdateAfter: SQL |
|
| Komutlar | InsertAfter: SQL · UpdateAfter: SQL |
|
||||||
| Form varsayılanları | IsActive=true, OfferDate=@DATE, Status=Draft, CurrencyId=TRY, EmploymentType=FullTime, WorkModel=Office |
|
| Form varsayılanları | IsActive=true, OfferDate=@DATE, Status=Draft, CurrencyId=TRY, EmploymentType=FullTime, WorkModel=Office, BranchId= |
|
||||||
| Butonlar | `App.Hr.JobOffer.OfferLetter` |
|
| Butonlar | `App.Hr.JobOffer.OfferLetter` |
|
||||||
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Onay Bekliyor' → Inform 'Onay Bilgisi' → Inform 'Ret Bilgisi' → End 'Onaylandı' → End 'Reddedildi' |
|
| Onay akışı | Start 'Onaya Gönderildi' → Approval 'Onay Bekliyor' → Inform 'Onay Bilgisi' → Inform 'Ret Bilgisi' → End 'Onaylandı' → End 'Reddedildi' |
|
||||||
|
|
||||||
|
|
@ -3767,12 +3768,13 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Hr.Leave.Widget.ManagerApproval`, `App.Hr.Leave.Widget.HrApproval`, `App.Hr.Leave.Widget.Approved`, `App.Hr.Leave.Widget.Rejected` |
|
| Widget'lar | `App.Hr.Leave.Widget.ManagerApproval`, `App.Hr.Leave.Widget.HrApproval`, `App.Hr.Leave.Widget.Approved`, `App.Hr.Leave.Widget.Rejected` |
|
||||||
| Komutlar | InsertAfter: `Hr_S_LeaveRequestAfterSave` · UpdateBefore: `Hr_S_LeaveRequestGuard` · UpdateAfter: `Hr_S_LeaveRequestAfterSave` · DeleteBefore: `Hr_S_LeaveRequestGuard` · DeleteAfter: `Hr_S_LeaveRequestAfterSave` |
|
| Komutlar | InsertAfter: `Hr_S_LeaveRequestAfterSave` · UpdateBefore: `Hr_S_LeaveRequestGuard` · UpdateAfter: `Hr_S_LeaveRequestAfterSave` · DeleteBefore: `Hr_S_LeaveRequestGuard` · DeleteAfter: `Hr_S_LeaveRequestAfterSave` |
|
||||||
| Form varsayılanları | IsHalfDay=false, StartDate=@DATE, EndDate=@DATE |
|
| Form varsayılanları | IsHalfDay=false, StartDate=@DATE, EndDate=@DATE, BranchId= |
|
||||||
| Onay akışı | Start 'Onaya Gönderildi' → Compare 'Müdür Onayı Gerekli mi?' → Approval 'Müdür Onayı' → Approval 'İK Onayı' → End 'Onaylandı' → End 'Reddedildi' |
|
| Onay akışı | Start 'Onaya Gönderildi' → Compare 'Müdür Onayı Gerekli mi?' → Approval 'Müdür Onayı' → Approval 'İK Onayı' → End 'Onaylandı' → End 'Reddedildi' |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
|
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
|
||||||
|
| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
|
||||||
| `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
| `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
||||||
| `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department |
|
| `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department |
|
||||||
| `JobPositionId` | İş Pozisyonu | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition |
|
| `JobPositionId` | İş Pozisyonu | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition |
|
||||||
|
|
@ -4475,6 +4477,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Alt formlar | `App.Hr.TrainingParticipant` (Id → TrainingId), `App.Hr.TrainingFile` (Id → TrainingId) |
|
| Alt formlar | `App.Hr.TrainingParticipant` (Id → TrainingId), `App.Hr.TrainingFile` (Id → TrainingId) |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Hr.Training.Widget.Open`, `App.Hr.Training.Widget.Closed`, `App.Hr.Training.Widget.Cost` |
|
| Widget'lar | `App.Widget.Total`, `App.Hr.Training.Widget.Open`, `App.Hr.Training.Widget.Closed`, `App.Hr.Training.Widget.Cost` |
|
||||||
| Komutlar | UpdateAfter: `Hr_S_TrainingSync` · DeleteAfter: `Hr_S_TrainingSync` |
|
| Komutlar | UpdateAfter: `Hr_S_TrainingSync` · DeleteAfter: `Hr_S_TrainingSync` |
|
||||||
|
| Form varsayılanları | BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
|
@ -4651,16 +4654,17 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Hr.Performance.Widget.InGoalOrSelf`, `App.Hr.Performance.Widget.ManagerReview`, `App.Hr.Performance.Widget.Calibration`, `App.Hr.Performance.Widget.Completed` |
|
| Widget'lar | `App.Widget.Total`, `App.Hr.Performance.Widget.InGoalOrSelf`, `App.Hr.Performance.Widget.ManagerReview`, `App.Hr.Performance.Widget.Calibration`, `App.Hr.Performance.Widget.Completed` |
|
||||||
| Todo | başlık `EmployeeName`, durum `Status` (GoalSetting,SelfReview,ManagerReview,Calibration,Completed) |
|
| Todo | başlık `EmployeeName`, durum `Status` (GoalSetting,SelfReview,ManagerReview,Calibration,Completed) |
|
||||||
| Komutlar | InsertAfter: `Hr_S_PerformanceReviewAfterSave` · UpdateAfter: `Hr_S_PerformanceReviewAfterSave` |
|
| Komutlar | InsertAfter: `Hr_S_PerformanceReviewAfterSave` · UpdateAfter: `Hr_S_PerformanceReviewAfterSave` |
|
||||||
| Form varsayılanları | Status=GoalSetting, IsActive=true |
|
| Form varsayılanları | Status=GoalSetting, IsActive=true, BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod |
|
| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
|
||||||
| `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
| `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
||||||
| `EmployeeName` | Çalışan Adı | dxTextBox | | | |
|
| `EmployeeName` | Çalışan Adı | dxTextBox | | | |
|
||||||
| `ManagerId` | Yönetici | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
|
||||||
| `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department |
|
| `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department |
|
||||||
| `JobPositionId` | Pozisyon | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition |
|
| `JobPositionId` | Pozisyon | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition |
|
||||||
|
| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod |
|
||||||
|
| `ManagerId` | Yönetici | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||||||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: GoalSetting, SelfReview, ManagerReview, Calibration, Completed |
|
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: GoalSetting, SelfReview, ManagerReview, Calibration, Completed |
|
||||||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||||||
| `GoalScore` | Hedef Puanı | dxNumberBox | | ✓ | |
|
| `GoalScore` | Hedef Puanı | dxNumberBox | | ✓ | |
|
||||||
|
|
@ -5285,11 +5289,12 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Hr.DisciplinaryCase.Widget.Open`, `App.Hr.DisciplinaryCase.Widget.AwaitingDefense`, `App.Hr.DisciplinaryCase.Widget.Closed` |
|
| Widget'lar | `App.Widget.Total`, `App.Hr.DisciplinaryCase.Widget.Open`, `App.Hr.DisciplinaryCase.Widget.AwaitingDefense`, `App.Hr.DisciplinaryCase.Widget.Closed` |
|
||||||
| Todo | başlık `Subject`, durum `Status` (Open,AwaitingDefense,Decided,Closed) |
|
| Todo | başlık `Subject`, durum `Status` (Open,AwaitingDefense,Decided,Closed) |
|
||||||
| Komutlar | InsertAfter: SQL |
|
| Komutlar | InsertAfter: SQL |
|
||||||
| Form varsayılanları | IncidentDate=@DATE, ReportedById=@USERID, Status=Open |
|
| Form varsayılanları | IncidentDate=@DATE, ReportedById=@USERID, Status=Open, BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| `CaseNo` | Dosya No | dxTextBox | | | |
|
| `CaseNo` | Dosya No | dxTextBox | | | |
|
||||||
|
| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
|
||||||
| `UserId` | Personel | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
| `UserId` | Personel | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script |
|
||||||
| `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department |
|
| `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department |
|
||||||
| `JobPositionId` | Pozisyon | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition |
|
| `JobPositionId` | Pozisyon | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition |
|
||||||
|
|
@ -5488,7 +5493,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Alt formlar | `App.Hr.VehicleFile` (Id → VehicleId) |
|
| Alt formlar | `App.Hr.VehicleFile` (Id → VehicleId) |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Hr.Vehicle.Widget.Arrived`, `App.Hr.Vehicle.Widget.Left`, `App.Widget.Passive` |
|
| Widget'lar | `App.Widget.Total`, `App.Hr.Vehicle.Widget.Arrived`, `App.Hr.Vehicle.Widget.Left`, `App.Widget.Passive` |
|
||||||
| Form varsayılanları | IsActive=true |
|
| Form varsayılanları | IsActive=true, BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
|
@ -5555,7 +5560,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Hr.Vehicle.Widget.Left`, `App.Widget.Today` |
|
| Widget'lar | `App.Widget.Total`, `App.Hr.Vehicle.Widget.Left`, `App.Widget.Today` |
|
||||||
| Komutlar | InsertAfter: SQL · DeleteAfter: SQL |
|
| Komutlar | InsertAfter: SQL · DeleteAfter: SQL |
|
||||||
| Form varsayılanları | EntryKm=0 |
|
| Form varsayılanları | EntryKm=0, BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
|
@ -5744,6 +5749,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Hr.Visitor.Widget.Today`, `App.Hr.Visitor.Widget.Inside`, `App.Hr.Visitor.Widget.Exited` |
|
| Widget'lar | `App.Hr.Visitor.Widget.Today`, `App.Hr.Visitor.Widget.Inside`, `App.Hr.Visitor.Widget.Exited` |
|
||||||
|
| Form varsayılanları | BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
|
@ -5775,6 +5781,7 @@ Kontrol edilmeli (koddan tespit edilenler):
|
||||||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Widget.Today`, `App.Hr.EventLog.Widget.Important` |
|
| Widget'lar | `App.Widget.Total`, `App.Widget.Today`, `App.Hr.EventLog.Widget.Important` |
|
||||||
|
| Form varsayılanları | BranchId= |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
|
|
||||||
|
|
@ -464,7 +464,7 @@ Wizard'lar `Inventory_Stock.json`, `Inventory_StockMove.json`; nesneler `Inv_T_S
|
||||||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
|
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
|
||||||
| Form varsayılanları | IsActive=true |
|
| Form varsayılanları | IsActive=true, BranchId= |
|
||||||
| Veri aynası | `data/App.Inventory.Warehouse.json` |
|
| Veri aynası | `data/App.Inventory.Warehouse.json` |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
|
|
@ -489,7 +489,7 @@ Wizard'lar `Inventory_Stock.json`, `Inventory_StockMove.json`; nesneler `Inv_T_S
|
||||||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
|
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
|
||||||
| Form varsayılanları | LocationType=Internal, IsActive=true |
|
| Form varsayılanları | LocationType=Internal, IsActive=true, BranchId= |
|
||||||
| Veri aynası | `data/App.Inventory.Location.json` |
|
| Veri aynası | `data/App.Inventory.Location.json` |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
|
|
@ -519,7 +519,7 @@ Wizard'lar `Inventory_Stock.json`, `Inventory_StockMove.json`; nesneler `Inv_T_S
|
||||||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||||||
| Kapsam | Kiracı |
|
| Kapsam | Kiracı |
|
||||||
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
|
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
|
||||||
| Form varsayılanları | OperationKind=Receipt, IsActive=true |
|
| Form varsayılanları | OperationKind=Receipt, IsActive=true, BranchId= |
|
||||||
| Veri aynası | `data/App.Inventory.OperationType.json` |
|
| Veri aynası | `data/App.Inventory.OperationType.json` |
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
|
|
|
||||||
|
|
@ -315,7 +315,7 @@ Tüm tablolar kiracı + tam audit + soft delete.
|
||||||
|
|
||||||
### 6. Yetki ve görünürlük
|
### 6. Yetki ve görünürlük
|
||||||
|
|
||||||
Yetki ağacı: `App.Prc` › `App.Prc.Orders` › teklif ve sipariş listeleri, `App.Prc` › `App.Prc.PurchaseAgreement` (+ Create/Update/Delete/Export/Import/Note). Her alt formun yetkisi kendi listesinin altındadır: teklif sekmeleri `App.Prc.PurchaseRfq`, sipariş sekmeleri `App.Prc.PurchaseOrder` altında; sekmeler ekranlar arasında paylaşılmaz. Teklif kullanıcısına Fiyat Karşılaştırması'nın Update yetkisi de verilmelidir (fiyat ve seçim buradan girilir). Yetkiler hiçbir role otomatik atanmaz. Kiracı kapsamlı; Teklif Talepleri ve Satınalma Siparişleri şube yetkilidir (`IsBranch`, 2026-10-14 kararı): kullanıcı yalnız atandığı şubelerin belgelerini görür, formda yalnız onları seçer ve şube seçilince kullanıcının o şubedeki varsayılan deposu gelir (yeni belge departmanın şubesi ve deposuyla açılır). Bir kullanıcı hiçbir şubeye atanmamışsa bu iki listede satır görmez.
|
Yetki ağacı: `App.Prc` › `App.Prc.Orders` › teklif ve sipariş listeleri, `App.Prc` › `App.Prc.PurchaseAgreement` (+ Create/Update/Delete/Export/Import/Note). Her alt formun yetkisi kendi listesinin altındadır: teklif sekmeleri `App.Prc.PurchaseRfq`, sipariş sekmeleri `App.Prc.PurchaseOrder` altında; sekmeler ekranlar arasında paylaşılmaz. Teklif kullanıcısına Fiyat Karşılaştırması'nın Update yetkisi de verilmelidir (fiyat ve seçim buradan girilir). Yetkiler hiçbir role otomatik atanmaz. Kiracı kapsamlı; Teklif Talepleri ve Satınalma Siparişleri şube yetkilidir (`IsBranch`, 2026-10-14 kararı): kullanıcı yalnız atandığı şubelerin belgelerini görür, formda yalnız onları seçer ve şube seçilince kullanıcının o şubedeki varsayılan deposu gelir (yeni belge kullanıcının şube listesindeki ilk şube ve o şubedeki deposuyla açılır). Bir kullanıcı hiçbir şubeye atanmamışsa bu iki listede satır görmez.
|
||||||
|
|
||||||
### 7. Entegrasyonlar
|
### 7. Entegrasyonlar
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ Projelerin hiyerarşik iş planı (1 → 1.01, 1.02 …) ay ölçeğinde Gantt o
|
||||||
|
|
||||||
### 6. Yetki ve görünürlük
|
### 6. Yetki ve görünürlük
|
||||||
|
|
||||||
`App.Prj › App.Prj.WorkPackage` (+ C/U/D/E/I/N); alt formlar `… › App.Prj.WorkPackage › App.Prj.WorkPackage{Member|MonthRate|Planned|Actual}`. Şube kırılımı (`IsBranch`): tablo `BranchId` taşır. Formda önce Şube seçilir (kullanıcının şubeleri, varsayılan departman şubesi), Proje listesi seçilen şubeye göre süzülür (`CascadeParentFields: BranchId`, şube değişince proje temizlenir). Proje kartının sekmesinden eklenen kayıt şubeyi alt form ilişkisinden (`BranchId → BranchId`) alır. Liste kullanıcıya atanmış şubelerle (`Sas_T_BranchUsers`) sınırlıdır.
|
`App.Prj › App.Prj.WorkPackage` (+ C/U/D/E/I/N); alt formlar `… › App.Prj.WorkPackage › App.Prj.WorkPackage{Member|MonthRate|Planned|Actual}`. Şube kırılımı (`IsBranch`): tablo `BranchId` taşır. Formda önce Şube seçilir (kullanıcının şubeleri, varsayılan listenin ilk şubesi), Proje listesi seçilen şubeye göre süzülür (`CascadeParentFields: BranchId`, şube değişince proje temizlenir). Proje kartının sekmesinden eklenen kayıt şubeyi alt form ilişkisinden (`BranchId → BranchId`) alır. Liste kullanıcıya atanmış şubelerle (`Sas_T_BranchUsers`) sınırlıdır.
|
||||||
|
|
||||||
### 7. Entegrasyonlar
|
### 7. Entegrasyonlar
|
||||||
|
|
||||||
|
|
@ -175,7 +175,7 @@ Dakika = (Bitiş − Başlangıç) saat × 60, yuvarlanır, negatif olamaz; form
|
||||||
|
|
||||||
### 6. Yetki ve görünürlük
|
### 6. Yetki ve görünürlük
|
||||||
|
|
||||||
`App.Prj › App.Prj.Diary` (+ C/U/D/E/I/N, `.Widget`). Şube kırılımı (`IsBranch`): tablo `BranchId` taşır. Formda önce Şube seçilir (kullanıcının şubeleri, varsayılan departman şubesi), Proje listesi seçilen şubeye göre süzülür (`CascadeParentFields: BranchId`, şube değişince proje temizlenir). Proje kartının sekmesinden eklenen kayıt şubeyi alt form ilişkisinden (`BranchId → BranchId`) alır. Liste kullanıcıya atanmış şubelerle (`Sas_T_BranchUsers`) sınırlıdır. `App.Prj.Diary.Widget` panodaki Günce kutusunu gösterir; modalda kaydetmek ekran yetkisini (`App.Prj.Diary` + `.Create`) ister, yoksa modal yetki uyarısı gösterir.
|
`App.Prj › App.Prj.Diary` (+ C/U/D/E/I/N, `.Widget`). Şube kırılımı (`IsBranch`): tablo `BranchId` taşır. Formda önce Şube seçilir (kullanıcının şubeleri, varsayılan listenin ilk şubesi), Proje listesi seçilen şubeye göre süzülür (`CascadeParentFields: BranchId`, şube değişince proje temizlenir). Proje kartının sekmesinden eklenen kayıt şubeyi alt form ilişkisinden (`BranchId → BranchId`) alır. Liste kullanıcıya atanmış şubelerle (`Sas_T_BranchUsers`) sınırlıdır. `App.Prj.Diary.Widget` panodaki Günce kutusunu gösterir; modalda kaydetmek ekran yetkisini (`App.Prj.Diary` + `.Create`) ister, yoksa modal yetki uyarısı gösterir.
|
||||||
|
|
||||||
### 7. Entegrasyonlar
|
### 7. Entegrasyonlar
|
||||||
|
|
||||||
|
|
@ -241,7 +241,7 @@ View'lar: `Prj_V_ProjectMember` (takım hesapları) ve `Prj_V_ProjectCostSummary
|
||||||
|
|
||||||
### 6. Yetki ve görünürlük
|
### 6. Yetki ve görünürlük
|
||||||
|
|
||||||
`App.Prj › App.Prj.Project` (+ C/U/D/E/I/N). Liste şube kırılımlıdır (`IsBranch`): yalnızca kullanıcıya atanmış şubelerin projeleri görünür; Şube seçimi kullanıcının şubeleriyle sınırlıdır, yeni proje kullanıcının departman şubesiyle açılır (`DbQuery`). Proje menüsündeki diğer listeler (İş Paketleri, Günce, Adam/Ay, Kaynak Listesi, Personel Adam/Ay, Bütçe Raporu) aynı şube kapsamını projeden alır. Menüsüz sekmelerin yetkisi `… › App.Prj.Project › App.Prj.Project{Summary|Support|Needs|Activities|Innovation|Outputs|Member|CostSummary}` altındadır. Metin sekmelerinde silme kapalıdır.
|
`App.Prj › App.Prj.Project` (+ C/U/D/E/I/N). Liste şube kırılımlıdır (`IsBranch`): yalnızca kullanıcıya atanmış şubelerin projeleri görünür; Şube seçimi kullanıcının şubeleriyle sınırlıdır, yeni proje kullanıcının şube listesindeki ilk şubeyle açılır (`DbQuery`, platform standardı). Proje menüsündeki diğer listeler (İş Paketleri, Günce, Adam/Ay, Kaynak Listesi, Personel Adam/Ay, Bütçe Raporu) aynı şube kapsamını projeden alır. Menüsüz sekmelerin yetkisi `… › App.Prj.Project › App.Prj.Project{Summary|Support|Needs|Activities|Innovation|Outputs|Member|CostSummary}` altındadır. Metin sekmelerinde silme kapalıdır.
|
||||||
|
|
||||||
### 7. Entegrasyonlar
|
### 7. Entegrasyonlar
|
||||||
|
|
||||||
|
|
@ -1021,8 +1021,8 @@ Talep, raporun yalnızca ay bazında gösterilmesini istiyor. Çeyrek bazlı top
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| `ParentId` | Üst | dxTextBox | | | |
|
| `ParentId` | Üst | dxTextBox | | | |
|
||||||
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
|
||||||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||||||
|
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
||||||
| `Title` | Personel / İş Adı | dxTextBox | | | |
|
| `Title` | Personel / İş Adı | dxTextBox | | | |
|
||||||
| `StartDate` | Başlangıç | dxDateBox | | | |
|
| `StartDate` | Başlangıç | dxDateBox | | | |
|
||||||
| `EndDate` | Bitiş | dxDateBox | | | |
|
| `EndDate` | Bitiş | dxDateBox | | | |
|
||||||
|
|
@ -1120,8 +1120,8 @@ Talep, raporun yalnızca ay bazında gösterilmesini istiyor. Çeyrek bazlı top
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
|
||||||
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
| `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch |
|
||||||
|
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
||||||
| `ParentId` | Üst | dxTextBox | | | |
|
| `ParentId` | Üst | dxTextBox | | | |
|
||||||
| `Title` | Gider Kalemi | dxTextBox | | | |
|
| `Title` | Gider Kalemi | dxTextBox | | | |
|
||||||
| `ResourceType` | Kaynak Tipi | dxSelectBox | | | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other |
|
| `ResourceType` | Kaynak Tipi | dxSelectBox | | | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other |
|
||||||
|
|
|
||||||
|
|
@ -76,11 +76,13 @@ BEGIN
|
||||||
v_Year := EXTRACT(YEAR FROM (NOW() AT TIME ZONE 'UTC'))::int::text;
|
v_Year := EXTRACT(YEAR FROM (NOW() AT TIME ZONE 'UTC'))::int::text;
|
||||||
|
|
||||||
-- İstirahat sağlık birimince girilmiş bir belgedir; onay akışına girmeden onaylı yazılır.
|
-- İstirahat sağlık birimince girilmiş bir belgedir; onay akışına girmeden onaylı yazılır.
|
||||||
|
-- Şube: çalışanın departman şubesi, yoksa çalışana atanmış ilk şube, yoksa işlemi yapanın ilk şubesi (kolon NOT NULL).
|
||||||
INSERT INTO public."Hr_T_LeaveRequest"
|
INSERT INTO public."Hr_T_LeaveRequest"
|
||||||
("Id", "TenantId", "RequestNo", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "LeaveTypeId",
|
("Id", "TenantId", "BranchId", "RequestNo", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "LeaveTypeId",
|
||||||
"StartDate", "EndDate", "IsHalfDay", "Days", "Description", "SickLeaveId",
|
"StartDate", "EndDate", "IsHalfDay", "Days", "Description", "SickLeaveId",
|
||||||
"ApprovalStatus", "ApprovalUser", "ApprovalDate", "LastNotifiedStatus", "IsActive", "CreationTime", "CreatorId", "IsDeleted")
|
"ApprovalStatus", "ApprovalUser", "ApprovalDate", "LastNotifiedStatus", "IsActive", "CreationTime", "CreatorId", "IsDeleted")
|
||||||
SELECT gen_random_uuid(), v_TenantId,
|
SELECT gen_random_uuid(), v_TenantId,
|
||||||
|
COALESCE((SELECT d."BranchId" FROM public."Hr_T_Department" d WHERE d."Id" = u."DepartmentId"), (SELECT b."Id" FROM public."Sas_T_Branch" b INNER JOIN public."Sas_T_BranchUsers" bu ON bu."BranchId" = b."Id" AND bu."UserId" = u."Id" WHERE b."IsDeleted" = FALSE AND b."IsActive" = TRUE ORDER BY b."Name" LIMIT 1), (SELECT b."Id" FROM public."Sas_T_Branch" b INNER JOIN public."Sas_T_BranchUsers" bu ON bu."BranchId" = b."Id" AND bu."UserId" = p_ActorId WHERE b."IsDeleted" = FALSE AND b."IsActive" = TRUE ORDER BY b."Name" LIMIT 1)),
|
||||||
'IZN-' || v_Year || '-' || right('00000' || (
|
'IZN-' || v_Year || '-' || right('00000' || (
|
||||||
SELECT COALESCE(MAX(CASE WHEN right(x."RequestNo", 5) ~ '^[0-9]+$' THEN right(x."RequestNo", 5)::int END), 0) + 1
|
SELECT COALESCE(MAX(CASE WHEN right(x."RequestNo", 5) ~ '^[0-9]+$' THEN right(x."RequestNo", 5)::int END), 0) + 1
|
||||||
FROM public."Hr_T_LeaveRequest" x
|
FROM public."Hr_T_LeaveRequest" x
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,9 @@ BEGIN
|
||||||
-- Dönem aktif olduğunda kiracının aktif her kullanıcısına bir değerlendirme açılır; var olana
|
-- Dönem aktif olduğunda kiracının aktif her kullanıcısına bir değerlendirme açılır; var olana
|
||||||
-- dokunulmaz, böylece dönem yeniden kaydedildiğinde yalnızca yeni katılan çalışanlar eklenir.
|
-- dokunulmaz, böylece dönem yeniden kaydedildiğinde yalnızca yeni katılan çalışanlar eklenir.
|
||||||
WITH created AS (
|
WITH created AS (
|
||||||
INSERT INTO "Hr_T_PerformanceReview" ("Id", "TenantId", "PeriodId", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "Status", "LastStatus", "IsActive", "CreationTime", "CreatorId", "IsDeleted")
|
-- Şube: çalışanın departman şubesi, yoksa çalışana atanmış ilk şube, yoksa işlemi yapanın ilk şubesi (kolon NOT NULL).
|
||||||
SELECT gen_random_uuid(), v_TenantId, p_PeriodId, u."Id", LEFT(LTRIM(COALESCE(u."Name", '') || ' ' || COALESCE(u."Surname", '')), 128), u."DepartmentId", u."JobPositionId", 'GoalSetting', 'GoalSetting', TRUE, NOW() AT TIME ZONE 'UTC', p_ActorId, FALSE
|
INSERT INTO "Hr_T_PerformanceReview" ("Id", "TenantId", "BranchId", "PeriodId", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "Status", "LastStatus", "IsActive", "CreationTime", "CreatorId", "IsDeleted")
|
||||||
|
SELECT gen_random_uuid(), v_TenantId, COALESCE((SELECT d."BranchId" FROM public."Hr_T_Department" d WHERE d."Id" = u."DepartmentId"), (SELECT b."Id" FROM public."Sas_T_Branch" b INNER JOIN public."Sas_T_BranchUsers" bu ON bu."BranchId" = b."Id" AND bu."UserId" = u."Id" WHERE b."IsDeleted" = FALSE AND b."IsActive" = TRUE ORDER BY b."Name" LIMIT 1), (SELECT b."Id" FROM public."Sas_T_Branch" b INNER JOIN public."Sas_T_BranchUsers" bu ON bu."BranchId" = b."Id" AND bu."UserId" = p_ActorId WHERE b."IsDeleted" = FALSE AND b."IsActive" = TRUE ORDER BY b."Name" LIMIT 1)), p_PeriodId, u."Id", LEFT(LTRIM(COALESCE(u."Name", '') || ' ' || COALESCE(u."Surname", '')), 128), u."DepartmentId", u."JobPositionId", 'GoalSetting', 'GoalSetting', TRUE, NOW() AT TIME ZONE 'UTC', p_ActorId, FALSE
|
||||||
FROM "AbpUsers" u
|
FROM "AbpUsers" u
|
||||||
WHERE u."IsDeleted" = FALSE AND u."IsActive" = TRUE
|
WHERE u."IsDeleted" = FALSE AND u."IsActive" = TRUE
|
||||||
AND (u."TenantId" = v_TenantId OR (u."TenantId" IS NULL AND v_TenantId IS NULL))
|
AND (u."TenantId" = v_TenantId OR (u."TenantId" IS NULL AND v_TenantId IS NULL))
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS public."Hr_T_DisciplinaryCase"
|
||||||
(
|
(
|
||||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||||
"TenantId" uuid NULL,
|
"TenantId" uuid NULL,
|
||||||
|
"BranchId" uuid NOT NULL,
|
||||||
"CaseNo" varchar(32) NULL,
|
"CaseNo" varchar(32) NULL,
|
||||||
"UserId" uuid NOT NULL,
|
"UserId" uuid NOT NULL,
|
||||||
"DepartmentId" uuid NULL,
|
"DepartmentId" uuid NULL,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS public."Hr_T_LeaveRequest"
|
||||||
(
|
(
|
||||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||||
"TenantId" uuid NULL,
|
"TenantId" uuid NULL,
|
||||||
|
"BranchId" uuid NOT NULL,
|
||||||
"RequestNo" varchar(32) NULL,
|
"RequestNo" varchar(32) NULL,
|
||||||
"EmployeeId" uuid NOT NULL,
|
"EmployeeId" uuid NOT NULL,
|
||||||
"EmployeeName" varchar(256) NULL,
|
"EmployeeName" varchar(256) NULL,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS public."Hr_T_PerformanceReview"
|
||||||
(
|
(
|
||||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||||
"TenantId" uuid NULL,
|
"TenantId" uuid NULL,
|
||||||
|
"BranchId" uuid NOT NULL,
|
||||||
"PeriodId" uuid NOT NULL,
|
"PeriodId" uuid NOT NULL,
|
||||||
"EmployeeId" uuid NOT NULL,
|
"EmployeeId" uuid NOT NULL,
|
||||||
"EmployeeName" varchar(128) NULL,
|
"EmployeeName" varchar(128) NULL,
|
||||||
|
|
|
||||||
|
|
@ -65,11 +65,13 @@ BEGIN
|
||||||
DECLARE @Year nvarchar(4) = CAST(YEAR(GETUTCDATE()) AS nvarchar(4));
|
DECLARE @Year nvarchar(4) = CAST(YEAR(GETUTCDATE()) AS nvarchar(4));
|
||||||
|
|
||||||
-- İstirahat sağlık birimince girilmiş bir belgedir; onay akışına girmeden onaylı yazılır.
|
-- İstirahat sağlık birimince girilmiş bir belgedir; onay akışına girmeden onaylı yazılır.
|
||||||
|
-- Şube: çalışanın departman şubesi, yoksa çalışana atanmış ilk şube, yoksa işlemi yapanın ilk şubesi (kolon NOT NULL).
|
||||||
INSERT INTO Hr_T_LeaveRequest
|
INSERT INTO Hr_T_LeaveRequest
|
||||||
(Id, TenantId, RequestNo, EmployeeId, EmployeeName, DepartmentId, JobPositionId, LeaveTypeId,
|
(Id, TenantId, BranchId, RequestNo, EmployeeId, EmployeeName, DepartmentId, JobPositionId, LeaveTypeId,
|
||||||
StartDate, EndDate, IsHalfDay, Days, [Description], SickLeaveId,
|
StartDate, EndDate, IsHalfDay, Days, [Description], SickLeaveId,
|
||||||
ApprovalStatus, ApprovalUser, ApprovalDate, LastNotifiedStatus, IsActive, CreationTime, CreatorId, IsDeleted)
|
ApprovalStatus, ApprovalUser, ApprovalDate, LastNotifiedStatus, IsActive, CreationTime, CreatorId, IsDeleted)
|
||||||
SELECT NEWID(), @TenantId,
|
SELECT NEWID(), @TenantId,
|
||||||
|
COALESCE((SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = u.DepartmentId), (SELECT TOP 1 b.Id FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = u.Id WHERE b.IsDeleted = 0 AND b.IsActive = 1 ORDER BY b.Name), (SELECT TOP 1 b.Id FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = @ActorId WHERE b.IsDeleted = 0 AND b.IsActive = 1 ORDER BY b.Name)),
|
||||||
N'IZN-' + @Year + N'-' + RIGHT(N'00000' + CAST(
|
N'IZN-' + @Year + N'-' + RIGHT(N'00000' + CAST(
|
||||||
(SELECT COALESCE(MAX(TRY_CAST(RIGHT(x.RequestNo, 5) AS int)), 0) + 1
|
(SELECT COALESCE(MAX(TRY_CAST(RIGHT(x.RequestNo, 5) AS int)), 0) + 1
|
||||||
FROM Hr_T_LeaveRequest x
|
FROM Hr_T_LeaveRequest x
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,10 @@ BEGIN
|
||||||
|
|
||||||
-- Dönem aktif olduğunda kiracının aktif her kullanıcısına bir değerlendirme açılır; var olana
|
-- Dönem aktif olduğunda kiracının aktif her kullanıcısına bir değerlendirme açılır; var olana
|
||||||
-- dokunulmaz, böylece dönem yeniden kaydedildiğinde yalnızca yeni katılan çalışanlar eklenir.
|
-- dokunulmaz, böylece dönem yeniden kaydedildiğinde yalnızca yeni katılan çalışanlar eklenir.
|
||||||
INSERT INTO Hr_T_PerformanceReview (Id, TenantId, PeriodId, EmployeeId, EmployeeName, DepartmentId, JobPositionId, Status, LastStatus, IsActive, CreationTime, CreatorId, IsDeleted)
|
-- Şube: çalışanın departman şubesi, yoksa çalışana atanmış ilk şube, yoksa işlemi yapanın ilk şubesi (kolon NOT NULL).
|
||||||
|
INSERT INTO Hr_T_PerformanceReview (Id, TenantId, BranchId, PeriodId, EmployeeId, EmployeeName, DepartmentId, JobPositionId, Status, LastStatus, IsActive, CreationTime, CreatorId, IsDeleted)
|
||||||
OUTPUT inserted.Id, inserted.EmployeeId INTO @Created
|
OUTPUT inserted.Id, inserted.EmployeeId INTO @Created
|
||||||
SELECT NEWID(), @TenantId, @PeriodId, u.Id, LEFT(LTRIM(COALESCE(u.Name, N'') + N' ' + COALESCE(u.Surname, N'')), 128), u.DepartmentId, u.JobPositionId, N'GoalSetting', N'GoalSetting', 1, GETUTCDATE(), @ActorId, 0
|
SELECT NEWID(), @TenantId, COALESCE((SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = u.DepartmentId), (SELECT TOP 1 b.Id FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = u.Id WHERE b.IsDeleted = 0 AND b.IsActive = 1 ORDER BY b.Name), (SELECT TOP 1 b.Id FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = @ActorId WHERE b.IsDeleted = 0 AND b.IsActive = 1 ORDER BY b.Name)), @PeriodId, u.Id, LEFT(LTRIM(COALESCE(u.Name, N'') + N' ' + COALESCE(u.Surname, N'')), 128), u.DepartmentId, u.JobPositionId, N'GoalSetting', N'GoalSetting', 1, GETUTCDATE(), @ActorId, 0
|
||||||
FROM AbpUsers u
|
FROM AbpUsers u
|
||||||
WHERE u.IsDeleted = 0 AND u.IsActive = 1
|
WHERE u.IsDeleted = 0 AND u.IsActive = 1
|
||||||
AND (u.TenantId = @TenantId OR (u.TenantId IS NULL AND @TenantId IS NULL))
|
AND (u.TenantId = @TenantId OR (u.TenantId IS NULL AND @TenantId IS NULL))
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ BEGIN
|
||||||
(
|
(
|
||||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||||
[TenantId] uniqueidentifier NULL,
|
[TenantId] uniqueidentifier NULL,
|
||||||
|
[BranchId] uniqueidentifier NOT NULL,
|
||||||
[CaseNo] nvarchar(32) NULL,
|
[CaseNo] nvarchar(32) NULL,
|
||||||
[UserId] uniqueidentifier NOT NULL,
|
[UserId] uniqueidentifier NOT NULL,
|
||||||
[DepartmentId] uniqueidentifier NULL,
|
[DepartmentId] uniqueidentifier NULL,
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ BEGIN
|
||||||
(
|
(
|
||||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||||
[TenantId] uniqueidentifier NULL,
|
[TenantId] uniqueidentifier NULL,
|
||||||
|
[BranchId] uniqueidentifier NOT NULL,
|
||||||
[RequestNo] nvarchar(32) NULL,
|
[RequestNo] nvarchar(32) NULL,
|
||||||
[EmployeeId] uniqueidentifier NOT NULL,
|
[EmployeeId] uniqueidentifier NOT NULL,
|
||||||
[EmployeeName] nvarchar(256) NULL,
|
[EmployeeName] nvarchar(256) NULL,
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ BEGIN
|
||||||
(
|
(
|
||||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||||
[TenantId] uniqueidentifier NULL,
|
[TenantId] uniqueidentifier NULL,
|
||||||
|
[BranchId] uniqueidentifier NOT NULL,
|
||||||
[PeriodId] uniqueidentifier NOT NULL,
|
[PeriodId] uniqueidentifier NOT NULL,
|
||||||
[EmployeeId] uniqueidentifier NOT NULL,
|
[EmployeeId] uniqueidentifier NOT NULL,
|
||||||
[EmployeeName] nvarchar(128) NULL,
|
[EmployeeName] nvarchar(128) NULL,
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,12 @@
|
||||||
"En": "Case No",
|
"En": "Case No",
|
||||||
"Tr": "Dosya No"
|
"Tr": "Dosya No"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
|
"En": "Branch",
|
||||||
|
"Tr": "Tesis Adı"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "UserId",
|
"FieldName": "UserId",
|
||||||
"CaptionName": "App.Listform.ListformField.Employee",
|
"CaptionName": "App.Listform.ListformField.Employee",
|
||||||
|
|
@ -243,6 +249,13 @@
|
||||||
"Value": "Open",
|
"Value": "Open",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -436,6 +449,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -497,7 +511,7 @@
|
||||||
"InsertServiceAddress": "list-form-data/insert",
|
"InsertServiceAddress": "list-form-data/insert",
|
||||||
"DeleteServiceAddress": "list-form-data/delete",
|
"DeleteServiceAddress": "list-form-data/delete",
|
||||||
"IsTenant": true,
|
"IsTenant": true,
|
||||||
"IsBranch": false,
|
"IsBranch": true,
|
||||||
"IsOrganizationUnit": false,
|
"IsOrganizationUnit": false,
|
||||||
"ListFormType": "List",
|
"ListFormType": "List",
|
||||||
"IsSubForm": false,
|
"IsSubForm": false,
|
||||||
|
|
@ -563,6 +577,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1076,6 +1091,146 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Hr.DisciplinaryCase",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 3,
|
||||||
|
"SourceDbType": 9,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "string",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 2,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [
|
||||||
|
{
|
||||||
|
"Type": "required",
|
||||||
|
"Message": null,
|
||||||
|
"IgnoreEmptyValue": false,
|
||||||
|
"Reevaluate": true,
|
||||||
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
|
"Pattern": "",
|
||||||
|
"Max": null,
|
||||||
|
"Min": null,
|
||||||
|
"Trim": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Hr.DisciplinaryCase.Create",
|
||||||
|
"R": "App.Hr.DisciplinaryCase",
|
||||||
|
"U": "App.Hr.DisciplinaryCase.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
|
"EditOrderNo": 1,
|
||||||
|
"EditGroupOrderNo": 1,
|
||||||
|
"EditorType2": "dxSelectBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": null,
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Hr.DisciplinaryCase",
|
"ListFormCode": "App.Hr.DisciplinaryCase",
|
||||||
|
|
@ -1099,7 +1254,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 3,
|
"ListOrderNo": 4,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1166,6 +1321,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1199,7 +1356,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 1,
|
"EditOrderNo": 2,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 2,
|
"ColSpan": 2,
|
||||||
|
|
@ -1237,7 +1394,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 4,
|
"ListOrderNo": 5,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1325,7 +1482,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 2,
|
"EditOrderNo": 3,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1363,7 +1520,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 5,
|
"ListOrderNo": 6,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1451,7 +1608,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 3,
|
"EditOrderNo": 4,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1489,7 +1646,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 6,
|
"ListOrderNo": 7,
|
||||||
"SourceDbType": 5,
|
"SourceDbType": 5,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "date",
|
"DataType": "date",
|
||||||
|
|
@ -1556,6 +1713,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1589,7 +1748,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 4,
|
"EditOrderNo": 5,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxDateBox",
|
"EditorType2": "dxDateBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1627,7 +1786,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 7,
|
"ListOrderNo": 8,
|
||||||
"SourceDbType": 6,
|
"SourceDbType": 6,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "datetime",
|
"DataType": "datetime",
|
||||||
|
|
@ -1715,7 +1874,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 5,
|
"EditOrderNo": 6,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxDateBox",
|
"EditorType2": "dxDateBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1753,7 +1912,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 8,
|
"ListOrderNo": 9,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1841,7 +2000,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 6,
|
"EditOrderNo": 7,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxTextBox",
|
"EditorType2": "dxTextBox",
|
||||||
"ColSpan": 2,
|
"ColSpan": 2,
|
||||||
|
|
@ -1879,7 +2038,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 9,
|
"ListOrderNo": 10,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1967,7 +2126,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 7,
|
"EditOrderNo": 8,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 2,
|
"ColSpan": 2,
|
||||||
|
|
@ -2005,7 +2164,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 10,
|
"ListOrderNo": 11,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2072,6 +2231,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2105,7 +2266,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 8,
|
"EditOrderNo": 9,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxRadioGroup",
|
"EditorType2": "dxRadioGroup",
|
||||||
"ColSpan": 2,
|
"ColSpan": 2,
|
||||||
|
|
@ -2143,7 +2304,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 11,
|
"ListOrderNo": 12,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2210,6 +2371,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2281,7 +2444,7 @@
|
||||||
"Visible": false,
|
"Visible": false,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 12,
|
"ListOrderNo": 13,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2348,6 +2511,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2419,7 +2584,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 13,
|
"ListOrderNo": 14,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,15 @@
|
||||||
"UpdateBeforeCommand": null,
|
"UpdateBeforeCommand": null,
|
||||||
"UpdateAfterCommand": null,
|
"UpdateAfterCommand": null,
|
||||||
"UpdateFieldsDefaultValueDto": [],
|
"UpdateFieldsDefaultValueDto": [],
|
||||||
"FormFieldsDefaultValueDto": [],
|
"FormFieldsDefaultValueDto": [
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
}
|
||||||
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
{
|
{
|
||||||
"ColGap": 3,
|
"ColGap": 3,
|
||||||
|
|
@ -1046,7 +1054,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -386,6 +386,13 @@
|
||||||
"Value": "Office",
|
"Value": "Office",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [],
|
"WidgetsDto": [],
|
||||||
|
|
@ -564,6 +571,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -673,6 +681,7 @@
|
||||||
"ApprovalDescriptionFieldName": "ApprovalDescription",
|
"ApprovalDescriptionFieldName": "ApprovalDescription",
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": [
|
"Criteria": [
|
||||||
{
|
{
|
||||||
"ListFormCode": "App.Hr.JobOffer",
|
"ListFormCode": "App.Hr.JobOffer",
|
||||||
|
|
@ -1385,6 +1394,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1649,6 +1660,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2039,6 +2052,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2177,6 +2192,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2315,6 +2332,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2570,7 +2589,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "DepartmentId,JobPositionId",
|
"CascadeEmptyFields": "DepartmentId,JobPositionId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 'true' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -2579,6 +2598,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2717,6 +2738,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2855,6 +2878,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2993,6 +3018,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -3131,6 +3158,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -352,6 +352,13 @@
|
||||||
"Value": "@DATE",
|
"Value": "@DATE",
|
||||||
"CustomValueType": 2,
|
"CustomValueType": 2,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -545,6 +552,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -646,6 +654,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1375,6 +1384,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1513,6 +1524,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1642,7 +1655,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "DepartmentId,JobPositionId",
|
"CascadeEmptyFields": "DepartmentId,JobPositionId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 'true' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -1651,6 +1664,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1789,6 +1804,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1927,6 +1944,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2065,6 +2084,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2203,6 +2224,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2341,6 +2364,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,12 @@
|
||||||
"En": "Request No",
|
"En": "Request No",
|
||||||
"Tr": "Talep No"
|
"Tr": "Talep No"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
|
"En": "Branch",
|
||||||
|
"Tr": "Tesis Adı"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "EmployeeId",
|
"FieldName": "EmployeeId",
|
||||||
"CaptionName": "App.Listform.ListformField.EmployeeId",
|
"CaptionName": "App.Listform.ListformField.EmployeeId",
|
||||||
|
|
@ -323,6 +329,13 @@
|
||||||
"Value": "@DATE",
|
"Value": "@DATE",
|
||||||
"CustomValueType": 2,
|
"CustomValueType": 2,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -516,6 +529,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -584,7 +598,7 @@
|
||||||
"InsertServiceAddress": "list-form-data/insert",
|
"InsertServiceAddress": "list-form-data/insert",
|
||||||
"DeleteServiceAddress": "list-form-data/delete",
|
"DeleteServiceAddress": "list-form-data/delete",
|
||||||
"IsTenant": true,
|
"IsTenant": true,
|
||||||
"IsBranch": false,
|
"IsBranch": true,
|
||||||
"IsOrganizationUnit": false,
|
"IsOrganizationUnit": false,
|
||||||
"ListFormType": "List",
|
"ListFormType": "List",
|
||||||
"IsSubForm": false,
|
"IsSubForm": false,
|
||||||
|
|
@ -610,6 +624,7 @@
|
||||||
"ApprovalDescriptionFieldName": "ApprovalDescription",
|
"ApprovalDescriptionFieldName": "ApprovalDescription",
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": [
|
"Criteria": [
|
||||||
{
|
{
|
||||||
"ListFormCode": "App.Hr.LeaveRequest",
|
"ListFormCode": "App.Hr.LeaveRequest",
|
||||||
|
|
@ -1232,6 +1247,146 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Hr.LeaveRequest",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 3,
|
||||||
|
"SourceDbType": 9,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "string",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 2,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [
|
||||||
|
{
|
||||||
|
"Type": "required",
|
||||||
|
"Message": null,
|
||||||
|
"IgnoreEmptyValue": false,
|
||||||
|
"Reevaluate": true,
|
||||||
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
|
"Pattern": "",
|
||||||
|
"Max": null,
|
||||||
|
"Min": null,
|
||||||
|
"Trim": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Hr.LeaveRequest.Create",
|
||||||
|
"R": "App.Hr.LeaveRequest",
|
||||||
|
"U": "App.Hr.LeaveRequest.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
|
"EditOrderNo": 2,
|
||||||
|
"EditGroupOrderNo": 1,
|
||||||
|
"EditorType2": "dxSelectBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": null,
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Hr.LeaveRequest",
|
"ListFormCode": "App.Hr.LeaveRequest",
|
||||||
|
|
@ -1255,7 +1410,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 3,
|
"ListOrderNo": 4,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1322,6 +1477,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1355,7 +1512,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 2,
|
"EditOrderNo": 3,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1393,7 +1550,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 4,
|
"ListOrderNo": 5,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1481,7 +1638,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 3,
|
"EditOrderNo": 4,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1519,7 +1676,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 5,
|
"ListOrderNo": 6,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1607,7 +1764,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 4,
|
"EditOrderNo": 5,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1645,7 +1802,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 6,
|
"ListOrderNo": 7,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1712,144 +1869,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
"Pattern": "",
|
"ComparisonTarget": null,
|
||||||
"Max": null,
|
"ValidationCallback": null,
|
||||||
"Min": null,
|
|
||||||
"Trim": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"ColumnStylingDto": [],
|
|
||||||
"PermissionDto": {
|
|
||||||
"Deny": false,
|
|
||||||
"C": "App.Hr.LeaveRequest.Create",
|
|
||||||
"R": "App.Hr.LeaveRequest",
|
|
||||||
"U": "App.Hr.LeaveRequest.Update",
|
|
||||||
"E": true,
|
|
||||||
"I": true
|
|
||||||
},
|
|
||||||
"CanRead": false,
|
|
||||||
"CanCreate": false,
|
|
||||||
"CanUpdate": false,
|
|
||||||
"CanExport": false,
|
|
||||||
"DefaultValue": null,
|
|
||||||
"DefaultValueType": 0,
|
|
||||||
"PivotSettingsDto": {
|
|
||||||
"IsPivot": true,
|
|
||||||
"Expanded": false,
|
|
||||||
"SortOrder": "asc",
|
|
||||||
"Area": "filter",
|
|
||||||
"Format": null,
|
|
||||||
"SummaryType": null,
|
|
||||||
"GroupInterval": "",
|
|
||||||
"WordWrapEnabled": false
|
|
||||||
},
|
|
||||||
"Alignment": "left",
|
|
||||||
"Format": null,
|
|
||||||
"EditOrderNo": 5,
|
|
||||||
"EditGroupOrderNo": 1,
|
|
||||||
"EditorType2": "dxSelectBox",
|
|
||||||
"ColSpan": 1,
|
|
||||||
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
|
||||||
"GridBoxOptions": null,
|
|
||||||
"TagBoxOptions": null,
|
|
||||||
"ImageUploadOptions": null,
|
|
||||||
"EditorScript": null,
|
|
||||||
"LastModificationTime": null,
|
|
||||||
"LastModifierId": null,
|
|
||||||
"CreationTime": "0001-01-01T00:00:00",
|
|
||||||
"CreatorId": null,
|
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"EditType": null,
|
|
||||||
"ListFormCode": "App.Hr.LeaveRequest",
|
|
||||||
"RoleId": null,
|
|
||||||
"UserId": null,
|
|
||||||
"ColumnJoinTableDto": {
|
|
||||||
"JoinType": null,
|
|
||||||
"TableName": null,
|
|
||||||
"JoinFieldName": null,
|
|
||||||
"BaseTableJoinFieldName": null,
|
|
||||||
"SelectFieldName": null,
|
|
||||||
"FieldNameAlias": null,
|
|
||||||
"JoinCondition2": "AND",
|
|
||||||
"JoinFieldName2": null,
|
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
|
||||||
},
|
|
||||||
"FieldName": "StartDate",
|
|
||||||
"CaptionName": "App.Listform.ListformField.StartDate",
|
|
||||||
"PlaceHolder": null,
|
|
||||||
"ReadOnly": false,
|
|
||||||
"Visible": true,
|
|
||||||
"IsActive": true,
|
|
||||||
"Width": 0,
|
|
||||||
"ListOrderNo": 7,
|
|
||||||
"SourceDbType": 6,
|
|
||||||
"CultureName": "en",
|
|
||||||
"DataType": "datetime",
|
|
||||||
"SortIndex": 0,
|
|
||||||
"SortDirection": null,
|
|
||||||
"AllowSearch": true,
|
|
||||||
"AllowEditing": true,
|
|
||||||
"AllowAdding": true,
|
|
||||||
"ColumnCssClass": null,
|
|
||||||
"ColumnCssValue": null,
|
|
||||||
"BandName": null,
|
|
||||||
"ColumnFilterDto": {
|
|
||||||
"AllowFiltering": true,
|
|
||||||
"FilterOperations": null,
|
|
||||||
"SelectedFilterOperation": null,
|
|
||||||
"FilterValue": null
|
|
||||||
},
|
|
||||||
"ColumnHeaderDto": {
|
|
||||||
"AllowHeaderFiltering": true,
|
|
||||||
"AllowSearch": false,
|
|
||||||
"DataSource": null,
|
|
||||||
"DataSourceString": ""
|
|
||||||
},
|
|
||||||
"ColumnGroupingDto": {
|
|
||||||
"AllowGrouping": true,
|
|
||||||
"GroupIndex": null,
|
|
||||||
"AutoExpandGroup": false
|
|
||||||
},
|
|
||||||
"ColumnCustomizationDto": {
|
|
||||||
"Fixed": false,
|
|
||||||
"FixedPosition": "left",
|
|
||||||
"AllowReordering": true
|
|
||||||
},
|
|
||||||
"ColumnTotalSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"ColumnGroupSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"LookupDto": {
|
|
||||||
"DataSourceType": 0,
|
|
||||||
"ValueExpr": "Key",
|
|
||||||
"DisplayExpr": "Name",
|
|
||||||
"CascadeRelationField": null,
|
|
||||||
"CascadeFilterOperator": "=",
|
|
||||||
"CascadeParentFields": null,
|
|
||||||
"CascadeEmptyFields": null,
|
|
||||||
"LookupQuery": null
|
|
||||||
},
|
|
||||||
"ValidationRuleDto": [
|
|
||||||
{
|
|
||||||
"Type": "required",
|
|
||||||
"Message": null,
|
|
||||||
"IgnoreEmptyValue": false,
|
|
||||||
"Reevaluate": true,
|
|
||||||
"ComparisonType": "",
|
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1885,13 +1906,13 @@
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 6,
|
"EditOrderNo": 6,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxDateBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
"EditorOptions": "{\"type\":\"datetime\",\"displayFormat\":\"dd.MM.yyyy HH:mm\",\"useMaskBehavior\":true,\"showClearButton\":true}",
|
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
||||||
"GridBoxOptions": null,
|
"GridBoxOptions": null,
|
||||||
"TagBoxOptions": null,
|
"TagBoxOptions": null,
|
||||||
"ImageUploadOptions": null,
|
"ImageUploadOptions": null,
|
||||||
"EditorScript": "// @builder {\"v\":1,\"rules\":[{\"id\":\"custom_1\",\"recipe\":\"custom\",\"condition\":{\"operator\":\"always\",\"source\":\"\",\"value\":\"\"},\"params\":{\"code\":\"{ if (bool(\\\"IsHalfDay\\\")) set(\\\"EndDate\\\", get(\\\"StartDate\\\")); set(\\\"Days\\\", bool(\\\"IsHalfDay\\\") ? 0.5 : (() => { const s = dateOf(\\\"StartDate\\\"), f = dateOf(\\\"EndDate\\\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }\"},\"fields\":[]}]}\n{ if (bool(\"IsHalfDay\")) set(\"EndDate\", get(\"StartDate\")); set(\"Days\", bool(\"IsHalfDay\") ? 0.5 : (() => { const s = dateOf(\"StartDate\"), f = dateOf(\"EndDate\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }",
|
"EditorScript": null,
|
||||||
"LastModificationTime": null,
|
"LastModificationTime": null,
|
||||||
"LastModifierId": null,
|
"LastModifierId": null,
|
||||||
"CreationTime": "0001-01-01T00:00:00",
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
|
@ -1914,8 +1935,8 @@
|
||||||
"JoinFieldName2": null,
|
"JoinFieldName2": null,
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
},
|
},
|
||||||
"FieldName": "EndDate",
|
"FieldName": "StartDate",
|
||||||
"CaptionName": "App.Listform.ListformField.EndDate",
|
"CaptionName": "App.Listform.ListformField.StartDate",
|
||||||
"PlaceHolder": null,
|
"PlaceHolder": null,
|
||||||
"ReadOnly": false,
|
"ReadOnly": false,
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
|
|
@ -1988,6 +2009,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2029,6 +2052,146 @@
|
||||||
"GridBoxOptions": null,
|
"GridBoxOptions": null,
|
||||||
"TagBoxOptions": null,
|
"TagBoxOptions": null,
|
||||||
"ImageUploadOptions": null,
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": "// @builder {\"v\":1,\"rules\":[{\"id\":\"custom_1\",\"recipe\":\"custom\",\"condition\":{\"operator\":\"always\",\"source\":\"\",\"value\":\"\"},\"params\":{\"code\":\"{ if (bool(\\\"IsHalfDay\\\")) set(\\\"EndDate\\\", get(\\\"StartDate\\\")); set(\\\"Days\\\", bool(\\\"IsHalfDay\\\") ? 0.5 : (() => { const s = dateOf(\\\"StartDate\\\"), f = dateOf(\\\"EndDate\\\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }\"},\"fields\":[]}]}\n{ if (bool(\"IsHalfDay\")) set(\"EndDate\", get(\"StartDate\")); set(\"Days\", bool(\"IsHalfDay\") ? 0.5 : (() => { const s = dateOf(\"StartDate\"), f = dateOf(\"EndDate\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }",
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Hr.LeaveRequest",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "EndDate",
|
||||||
|
"CaptionName": "App.Listform.ListformField.EndDate",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 9,
|
||||||
|
"SourceDbType": 6,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "datetime",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 0,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": null
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [
|
||||||
|
{
|
||||||
|
"Type": "required",
|
||||||
|
"Message": null,
|
||||||
|
"IgnoreEmptyValue": false,
|
||||||
|
"Reevaluate": true,
|
||||||
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
|
"Pattern": "",
|
||||||
|
"Max": null,
|
||||||
|
"Min": null,
|
||||||
|
"Trim": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Hr.LeaveRequest.Create",
|
||||||
|
"R": "App.Hr.LeaveRequest",
|
||||||
|
"U": "App.Hr.LeaveRequest.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
|
"EditOrderNo": 8,
|
||||||
|
"EditGroupOrderNo": 1,
|
||||||
|
"EditorType2": "dxDateBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"type\":\"datetime\",\"displayFormat\":\"dd.MM.yyyy HH:mm\",\"useMaskBehavior\":true,\"showClearButton\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
"EditorScript": "// @builder {\"v\":1,\"rules\":[{\"id\":\"custom_1\",\"recipe\":\"custom\",\"condition\":{\"operator\":\"always\",\"source\":\"\",\"value\":\"\"},\"params\":{\"code\":\"{ set(\\\"Days\\\", bool(\\\"IsHalfDay\\\") ? 0.5 : (() => { const s = dateOf(\\\"StartDate\\\"), f = dateOf(\\\"EndDate\\\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }\"},\"fields\":[]}]}\n{ set(\"Days\", bool(\"IsHalfDay\") ? 0.5 : (() => { const s = dateOf(\"StartDate\"), f = dateOf(\"EndDate\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }",
|
"EditorScript": "// @builder {\"v\":1,\"rules\":[{\"id\":\"custom_1\",\"recipe\":\"custom\",\"condition\":{\"operator\":\"always\",\"source\":\"\",\"value\":\"\"},\"params\":{\"code\":\"{ set(\\\"Days\\\", bool(\\\"IsHalfDay\\\") ? 0.5 : (() => { const s = dateOf(\\\"StartDate\\\"), f = dateOf(\\\"EndDate\\\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }\"},\"fields\":[]}]}\n{ set(\"Days\", bool(\"IsHalfDay\") ? 0.5 : (() => { const s = dateOf(\"StartDate\"), f = dateOf(\"EndDate\"); let n = 0; if (s && f) for (const d = new Date(s.getFullYear(), s.getMonth(), s.getDate()); d <= f; d.setDate(d.getDate() + 1)) if (d.getDay() % 6) n++; return n })()) }",
|
||||||
"LastModificationTime": null,
|
"LastModificationTime": null,
|
||||||
"LastModifierId": null,
|
"LastModifierId": null,
|
||||||
|
|
@ -2059,7 +2222,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 9,
|
"ListOrderNo": 10,
|
||||||
"SourceDbType": 3,
|
"SourceDbType": 3,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "boolean",
|
"DataType": "boolean",
|
||||||
|
|
@ -2147,7 +2310,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 8,
|
"EditOrderNo": 9,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxCheckBox",
|
"EditorType2": "dxCheckBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2185,7 +2348,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 10,
|
"ListOrderNo": 11,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2273,7 +2436,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 9,
|
"EditOrderNo": 10,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2311,7 +2474,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 11,
|
"ListOrderNo": 12,
|
||||||
"SourceDbType": 7,
|
"SourceDbType": 7,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2399,7 +2562,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 10,
|
"EditOrderNo": 11,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxNumberBox",
|
"EditorType2": "dxNumberBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2437,7 +2600,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 12,
|
"ListOrderNo": 13,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2525,7 +2688,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 11,
|
"EditOrderNo": 12,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxTextBox",
|
"EditorType2": "dxTextBox",
|
||||||
"ColSpan": 2,
|
"ColSpan": 2,
|
||||||
|
|
@ -2563,7 +2726,7 @@
|
||||||
"Visible": false,
|
"Visible": false,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 14,
|
"ListOrderNo": 15,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2689,7 +2852,7 @@
|
||||||
"Visible": false,
|
"Visible": false,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 14,
|
"ListOrderNo": 15,
|
||||||
"SourceDbType": 11,
|
"SourceDbType": 11,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2815,7 +2978,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 15,
|
"ListOrderNo": 16,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2941,7 +3104,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 16,
|
"ListOrderNo": 17,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3067,7 +3230,7 @@
|
||||||
"Visible": false,
|
"Visible": false,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 17,
|
"ListOrderNo": 18,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3193,7 +3356,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 18,
|
"ListOrderNo": 19,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3319,7 +3482,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 19,
|
"ListOrderNo": 20,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3445,7 +3608,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 20,
|
"ListOrderNo": 21,
|
||||||
"SourceDbType": 6,
|
"SourceDbType": 6,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "datetime",
|
"DataType": "datetime",
|
||||||
|
|
@ -3571,7 +3734,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 21,
|
"ListOrderNo": 22,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
|
||||||
|
|
@ -217,6 +217,13 @@
|
||||||
"Value": "@USERID",
|
"Value": "@USERID",
|
||||||
"CustomValueType": 2,
|
"CustomValueType": 2,
|
||||||
"SqlQuery": null
|
"SqlQuery": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"UpdateCommand": null,
|
"UpdateCommand": null,
|
||||||
|
|
@ -437,6 +444,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -531,6 +539,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1134,6 +1143,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1272,6 +1283,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1410,6 +1423,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -197,10 +197,10 @@
|
||||||
"Tr": "Kimlik"
|
"Tr": "Kimlik"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "PeriodId",
|
"FieldName": "BranchId",
|
||||||
"CaptionName": "App.Listform.ListformField.PeriodId",
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
"En": "Period",
|
"En": "Branch",
|
||||||
"Tr": "Dönem"
|
"Tr": "Tesis Adı"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "EmployeeId",
|
"FieldName": "EmployeeId",
|
||||||
|
|
@ -214,12 +214,6 @@
|
||||||
"En": "Employee Name",
|
"En": "Employee Name",
|
||||||
"Tr": "Çalışan Adı"
|
"Tr": "Çalışan Adı"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"FieldName": "ManagerId",
|
|
||||||
"CaptionName": "App.Listform.ListformField.ManagerId",
|
|
||||||
"En": "Manager",
|
|
||||||
"Tr": "Yönetici"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"FieldName": "DepartmentId",
|
"FieldName": "DepartmentId",
|
||||||
"CaptionName": "App.Listform.ListformField.DepartmentId",
|
"CaptionName": "App.Listform.ListformField.DepartmentId",
|
||||||
|
|
@ -232,6 +226,18 @@
|
||||||
"En": "Position",
|
"En": "Position",
|
||||||
"Tr": "Pozisyon"
|
"Tr": "Pozisyon"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "PeriodId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.PeriodId",
|
||||||
|
"En": "Period",
|
||||||
|
"Tr": "Dönem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "ManagerId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.ManagerId",
|
||||||
|
"En": "Manager",
|
||||||
|
"Tr": "Yönetici"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "Status",
|
"FieldName": "Status",
|
||||||
"CaptionName": "App.Listform.ListformField.ReviewStatus",
|
"CaptionName": "App.Listform.ListformField.ReviewStatus",
|
||||||
|
|
@ -426,6 +432,13 @@
|
||||||
"Value": "true",
|
"Value": "true",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -688,7 +701,7 @@
|
||||||
"InsertServiceAddress": "list-form-data/insert",
|
"InsertServiceAddress": "list-form-data/insert",
|
||||||
"DeleteServiceAddress": "list-form-data/delete",
|
"DeleteServiceAddress": "list-form-data/delete",
|
||||||
"IsTenant": true,
|
"IsTenant": true,
|
||||||
"IsBranch": false,
|
"IsBranch": true,
|
||||||
"IsOrganizationUnit": false,
|
"IsOrganizationUnit": false,
|
||||||
"ListFormType": "List",
|
"ListFormType": "List",
|
||||||
"IsSubForm": false,
|
"IsSubForm": false,
|
||||||
|
|
@ -1176,8 +1189,8 @@
|
||||||
"JoinFieldName2": null,
|
"JoinFieldName2": null,
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
},
|
},
|
||||||
"FieldName": "PeriodId",
|
"FieldName": "BranchId",
|
||||||
"CaptionName": "App.Listform.ListformField.PeriodId",
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
"PlaceHolder": null,
|
"PlaceHolder": null,
|
||||||
"ReadOnly": false,
|
"ReadOnly": false,
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
|
|
@ -1241,7 +1254,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Hr_T_PerformancePeriod WHERE IsDeleted = 'false' AND TenantId = '@TENANTID' ORDER BY StartDate DESC"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -1566,132 +1579,6 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"EditType": null,
|
|
||||||
"ListFormCode": "App.Hr.PerformanceReview",
|
|
||||||
"RoleId": null,
|
|
||||||
"UserId": null,
|
|
||||||
"ColumnJoinTableDto": {
|
|
||||||
"JoinType": null,
|
|
||||||
"TableName": null,
|
|
||||||
"JoinFieldName": null,
|
|
||||||
"BaseTableJoinFieldName": null,
|
|
||||||
"SelectFieldName": null,
|
|
||||||
"FieldNameAlias": null,
|
|
||||||
"JoinCondition2": "AND",
|
|
||||||
"JoinFieldName2": null,
|
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
|
||||||
},
|
|
||||||
"FieldName": "ManagerId",
|
|
||||||
"CaptionName": "App.Listform.ListformField.ManagerId",
|
|
||||||
"PlaceHolder": null,
|
|
||||||
"ReadOnly": false,
|
|
||||||
"Visible": true,
|
|
||||||
"IsActive": true,
|
|
||||||
"Width": 0,
|
|
||||||
"ListOrderNo": 5,
|
|
||||||
"SourceDbType": 9,
|
|
||||||
"CultureName": "en",
|
|
||||||
"DataType": "string",
|
|
||||||
"SortIndex": 0,
|
|
||||||
"SortDirection": null,
|
|
||||||
"AllowSearch": true,
|
|
||||||
"AllowEditing": true,
|
|
||||||
"AllowAdding": true,
|
|
||||||
"ColumnCssClass": null,
|
|
||||||
"ColumnCssValue": null,
|
|
||||||
"BandName": null,
|
|
||||||
"ColumnFilterDto": {
|
|
||||||
"AllowFiltering": true,
|
|
||||||
"FilterOperations": null,
|
|
||||||
"SelectedFilterOperation": null,
|
|
||||||
"FilterValue": null
|
|
||||||
},
|
|
||||||
"ColumnHeaderDto": {
|
|
||||||
"AllowHeaderFiltering": true,
|
|
||||||
"AllowSearch": false,
|
|
||||||
"DataSource": null,
|
|
||||||
"DataSourceString": ""
|
|
||||||
},
|
|
||||||
"ColumnGroupingDto": {
|
|
||||||
"AllowGrouping": true,
|
|
||||||
"GroupIndex": null,
|
|
||||||
"AutoExpandGroup": false
|
|
||||||
},
|
|
||||||
"ColumnCustomizationDto": {
|
|
||||||
"Fixed": false,
|
|
||||||
"FixedPosition": "left",
|
|
||||||
"AllowReordering": true
|
|
||||||
},
|
|
||||||
"ColumnTotalSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"ColumnGroupSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"LookupDto": {
|
|
||||||
"DataSourceType": 2,
|
|
||||||
"ValueExpr": "Key",
|
|
||||||
"DisplayExpr": "Name",
|
|
||||||
"CascadeRelationField": null,
|
|
||||||
"CascadeFilterOperator": "=",
|
|
||||||
"CascadeParentFields": null,
|
|
||||||
"CascadeEmptyFields": null,
|
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name + ' ' + Surname AS [Name] FROM AbpUsers WHERE IsDeleted = 'false' AND TenantId = '@TENANTID' ORDER BY Name, Surname"
|
|
||||||
},
|
|
||||||
"ValidationRuleDto": [],
|
|
||||||
"ColumnStylingDto": [],
|
|
||||||
"PermissionDto": {
|
|
||||||
"Deny": false,
|
|
||||||
"C": "App.Hr.PerformanceReview.Create",
|
|
||||||
"R": "App.Hr.PerformanceReview",
|
|
||||||
"U": "App.Hr.PerformanceReview.Update",
|
|
||||||
"E": true,
|
|
||||||
"I": true
|
|
||||||
},
|
|
||||||
"CanRead": false,
|
|
||||||
"CanCreate": false,
|
|
||||||
"CanUpdate": false,
|
|
||||||
"CanExport": false,
|
|
||||||
"DefaultValue": null,
|
|
||||||
"DefaultValueType": 0,
|
|
||||||
"PivotSettingsDto": {
|
|
||||||
"IsPivot": true,
|
|
||||||
"Expanded": false,
|
|
||||||
"SortOrder": "asc",
|
|
||||||
"Area": "filter",
|
|
||||||
"Format": null,
|
|
||||||
"SummaryType": null,
|
|
||||||
"GroupInterval": "",
|
|
||||||
"WordWrapEnabled": false
|
|
||||||
},
|
|
||||||
"Alignment": "left",
|
|
||||||
"Format": null,
|
|
||||||
"EditOrderNo": 3,
|
|
||||||
"EditGroupOrderNo": 1,
|
|
||||||
"EditorType2": "dxSelectBox",
|
|
||||||
"ColSpan": 1,
|
|
||||||
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
|
||||||
"GridBoxOptions": null,
|
|
||||||
"TagBoxOptions": null,
|
|
||||||
"ImageUploadOptions": null,
|
|
||||||
"EditorScript": null,
|
|
||||||
"LastModificationTime": null,
|
|
||||||
"LastModifierId": null,
|
|
||||||
"CreationTime": "0001-01-01T00:00:00",
|
|
||||||
"CreatorId": null,
|
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Hr.PerformanceReview",
|
"ListFormCode": "App.Hr.PerformanceReview",
|
||||||
|
|
@ -1715,7 +1602,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 6,
|
"ListOrderNo": 5,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1803,7 +1690,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 4,
|
"EditOrderNo": 3,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -1841,7 +1728,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 7,
|
"ListOrderNo": 6,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1929,6 +1816,146 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
|
"EditOrderNo": 4,
|
||||||
|
"EditGroupOrderNo": 1,
|
||||||
|
"EditorType2": "dxSelectBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": null,
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Hr.PerformanceReview",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "PeriodId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.PeriodId",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 7,
|
||||||
|
"SourceDbType": 9,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "string",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 2,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Hr_T_PerformancePeriod WHERE IsDeleted = 'false' AND TenantId = '@TENANTID' ORDER BY StartDate DESC"
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [
|
||||||
|
{
|
||||||
|
"Type": "required",
|
||||||
|
"Message": null,
|
||||||
|
"IgnoreEmptyValue": false,
|
||||||
|
"Reevaluate": true,
|
||||||
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
|
"Pattern": "",
|
||||||
|
"Max": null,
|
||||||
|
"Min": null,
|
||||||
|
"Trim": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Hr.PerformanceReview.Create",
|
||||||
|
"R": "App.Hr.PerformanceReview",
|
||||||
|
"U": "App.Hr.PerformanceReview.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
"EditOrderNo": 5,
|
"EditOrderNo": 5,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
|
|
@ -1944,6 +1971,132 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Hr.PerformanceReview",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "ManagerId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.ManagerId",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 8,
|
||||||
|
"SourceDbType": 9,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "string",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 2,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": "SELECT Id AS [Key], Name + ' ' + Surname AS [Name] FROM AbpUsers WHERE IsDeleted = 'false' AND TenantId = '@TENANTID' ORDER BY Name, Surname"
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Hr.PerformanceReview.Create",
|
||||||
|
"R": "App.Hr.PerformanceReview",
|
||||||
|
"U": "App.Hr.PerformanceReview.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
|
"EditOrderNo": 6,
|
||||||
|
"EditGroupOrderNo": 1,
|
||||||
|
"EditorType2": "dxSelectBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"searchEnabled\":true,\"showClearButton\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": null,
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Hr.PerformanceReview",
|
"ListFormCode": "App.Hr.PerformanceReview",
|
||||||
|
|
@ -1967,7 +2120,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 8,
|
"ListOrderNo": 9,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2069,7 +2222,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 6,
|
"EditOrderNo": 7,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2107,7 +2260,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 9,
|
"ListOrderNo": 10,
|
||||||
"SourceDbType": 3,
|
"SourceDbType": 3,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "boolean",
|
"DataType": "boolean",
|
||||||
|
|
@ -2195,7 +2348,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 7,
|
"EditOrderNo": 8,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxCheckBox",
|
"EditorType2": "dxCheckBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2233,7 +2386,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 10,
|
"ListOrderNo": 11,
|
||||||
"SourceDbType": 7,
|
"SourceDbType": 7,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2359,7 +2512,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 11,
|
"ListOrderNo": 12,
|
||||||
"SourceDbType": 7,
|
"SourceDbType": 7,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2485,7 +2638,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 12,
|
"ListOrderNo": 13,
|
||||||
"SourceDbType": 7,
|
"SourceDbType": 7,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2611,7 +2764,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 13,
|
"ListOrderNo": 14,
|
||||||
"SourceDbType": 7,
|
"SourceDbType": 7,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2737,7 +2890,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 14,
|
"ListOrderNo": 15,
|
||||||
"SourceDbType": 7,
|
"SourceDbType": 7,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "number",
|
"DataType": "number",
|
||||||
|
|
@ -2863,7 +3016,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 15,
|
"ListOrderNo": 16,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2989,7 +3142,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 16,
|
"ListOrderNo": 17,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3115,7 +3268,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 17,
|
"ListOrderNo": 18,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3241,7 +3394,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 18,
|
"ListOrderNo": 19,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -3367,7 +3520,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 19,
|
"ListOrderNo": 20,
|
||||||
"SourceDbType": 6,
|
"SourceDbType": 6,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "datetime",
|
"DataType": "datetime",
|
||||||
|
|
@ -3493,7 +3646,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 20,
|
"ListOrderNo": 21,
|
||||||
"SourceDbType": 6,
|
"SourceDbType": 6,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "datetime",
|
"DataType": "datetime",
|
||||||
|
|
@ -3619,7 +3772,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 21,
|
"ListOrderNo": 22,
|
||||||
"SourceDbType": 6,
|
"SourceDbType": 6,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "datetime",
|
"DataType": "datetime",
|
||||||
|
|
|
||||||
|
|
@ -386,6 +386,13 @@
|
||||||
"Value": "TRY",
|
"Value": "TRY",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -579,6 +586,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -680,6 +688,7 @@
|
||||||
"ApprovalDescriptionFieldName": "ApprovalDescription",
|
"ApprovalDescriptionFieldName": "ApprovalDescription",
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": [
|
"Criteria": [
|
||||||
{
|
{
|
||||||
"ListFormCode": "App.Hr.StaffRequest",
|
"ListFormCode": "App.Hr.StaffRequest",
|
||||||
|
|
@ -1392,6 +1401,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1647,7 +1658,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "DepartmentId,JobPositionId",
|
"CascadeEmptyFields": "DepartmentId,JobPositionId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 'true' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -1656,6 +1667,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1794,6 +1807,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1932,6 +1947,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2070,6 +2087,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2208,6 +2227,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2472,6 +2493,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -276,7 +276,15 @@
|
||||||
"UpdateBeforeCommand": null,
|
"UpdateBeforeCommand": null,
|
||||||
"UpdateAfterCommand": "DECLARE @_k TABLE (Id uniqueidentifier); INSERT INTO @_k SELECT Id FROM Hr_T_Training WHERE Id IN @Id; DECLARE @_id uniqueidentifier; WHILE EXISTS (SELECT 1 FROM @_k) BEGIN SELECT TOP 1 @_id = Id FROM @_k; DELETE FROM @_k WHERE Id = @_id; EXEC dbo.Hr_S_TrainingSync @_id, NULL, @LastModifierId; END",
|
"UpdateAfterCommand": "DECLARE @_k TABLE (Id uniqueidentifier); INSERT INTO @_k SELECT Id FROM Hr_T_Training WHERE Id IN @Id; DECLARE @_id uniqueidentifier; WHILE EXISTS (SELECT 1 FROM @_k) BEGIN SELECT TOP 1 @_id = Id FROM @_k; DELETE FROM @_k WHERE Id = @_id; EXEC dbo.Hr_S_TrainingSync @_id, NULL, @LastModifierId; END",
|
||||||
"UpdateFieldsDefaultValueDto": [],
|
"UpdateFieldsDefaultValueDto": [],
|
||||||
"FormFieldsDefaultValueDto": [],
|
"FormFieldsDefaultValueDto": [
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
}
|
||||||
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
{
|
{
|
||||||
"ColGap": 3,
|
"ColGap": 3,
|
||||||
|
|
@ -468,6 +476,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -589,6 +598,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1066,6 +1076,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1204,6 +1216,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1342,6 +1356,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1471,7 +1487,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 'true' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -1480,6 +1496,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1618,6 +1636,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1756,6 +1776,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2272,6 +2294,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -259,6 +259,13 @@
|
||||||
"Value": "true",
|
"Value": "true",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -452,6 +459,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -461,7 +469,7 @@
|
||||||
"Popup": {
|
"Popup": {
|
||||||
"Title": "App.Hr.Vehicle.Title",
|
"Title": "App.Hr.Vehicle.Title",
|
||||||
"ShowTitle": true,
|
"ShowTitle": true,
|
||||||
"Width": 800,
|
"Width": 1000,
|
||||||
"Height": 875,
|
"Height": 875,
|
||||||
"FullScreen": false,
|
"FullScreen": false,
|
||||||
"HideOnOutsideClick": true,
|
"HideOnOutsideClick": true,
|
||||||
|
|
@ -553,6 +561,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1021,7 +1030,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -1030,6 +1039,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1168,6 +1179,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1936,6 +1949,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2326,6 +2341,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -271,6 +271,13 @@
|
||||||
"Value": "0",
|
"Value": "0",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": ""
|
"SqlQuery": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -464,6 +471,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -551,6 +559,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1154,6 +1163,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1283,7 +1294,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
@ -1418,6 +1429,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1556,6 +1569,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1946,6 +1961,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2084,6 +2101,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,15 @@
|
||||||
"UpdateBeforeCommand": null,
|
"UpdateBeforeCommand": null,
|
||||||
"UpdateAfterCommand": null,
|
"UpdateAfterCommand": null,
|
||||||
"UpdateFieldsDefaultValueDto": [],
|
"UpdateFieldsDefaultValueDto": [],
|
||||||
"FormFieldsDefaultValueDto": [],
|
"FormFieldsDefaultValueDto": [
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
}
|
||||||
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
{
|
{
|
||||||
"ColGap": 3,
|
"ColGap": 3,
|
||||||
|
|
@ -378,6 +386,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -458,6 +467,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -935,6 +945,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1073,6 +1085,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1211,6 +1225,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1601,6 +1617,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1739,6 +1757,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -2120,7 +2140,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 'true' AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -2129,6 +2149,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT BranchId FROM Hr_T_Department WHERE Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID')"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "DeliveryPolicy",
|
"FieldName": "DeliveryPolicy",
|
||||||
|
|
@ -1697,7 +1697,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,OperationTypeId,SourceLocationId,DestinationLocationId",
|
"CascadeEmptyFields": "WarehouseId,OperationTypeId,SourceLocationId,DestinationLocationId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT BranchId FROM Hr_T_Department WHERE Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID')"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1684,7 +1684,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,OperationTypeId,SourceLocationId,DestinationLocationId",
|
"CascadeEmptyFields": "WarehouseId,OperationTypeId,SourceLocationId,DestinationLocationId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,13 @@
|
||||||
"Value": "true",
|
"Value": "true",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": null
|
"SqlQuery": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -940,7 +947,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,ParentId,DepartmentId",
|
"CascadeEmptyFields": "WarehouseId,ParentId,DepartmentId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,13 @@
|
||||||
"Value": "true",
|
"Value": "true",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": null
|
"SqlQuery": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -955,7 +962,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,SourceLocationId,DestinationLocationId",
|
"CascadeEmptyFields": "WarehouseId,SourceLocationId,DestinationLocationId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT BranchId FROM Hr_T_Department WHERE Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID')"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1810,7 +1810,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,OperationTypeId,SourceLocationId,DestinationLocationId",
|
"CascadeEmptyFields": "WarehouseId,OperationTypeId,SourceLocationId,DestinationLocationId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -937,7 +937,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -2550,7 +2550,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -1521,7 +1521,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,13 @@
|
||||||
"Value": "true",
|
"Value": "true",
|
||||||
"CustomValueType": 1,
|
"CustomValueType": 1,
|
||||||
"SqlQuery": null
|
"SqlQuery": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"FieldDbType": 9,
|
||||||
|
"Value": "",
|
||||||
|
"CustomValueType": 3,
|
||||||
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -341,6 +348,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": true,
|
"AllowAdding": true,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -421,6 +429,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -889,7 +898,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -898,6 +907,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1036,6 +1047,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1174,6 +1187,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
@ -1312,6 +1327,8 @@
|
||||||
"IgnoreEmptyValue": false,
|
"IgnoreEmptyValue": false,
|
||||||
"Reevaluate": true,
|
"Reevaluate": true,
|
||||||
"ComparisonType": "",
|
"ComparisonType": "",
|
||||||
|
"ComparisonTarget": null,
|
||||||
|
"ValidationCallback": null,
|
||||||
"Pattern": "",
|
"Pattern": "",
|
||||||
"Max": null,
|
"Max": null,
|
||||||
"Min": null,
|
"Min": null,
|
||||||
|
|
|
||||||
|
|
@ -1391,7 +1391,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1514,7 +1514,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1566,7 +1566,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -1058,7 +1058,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -973,7 +973,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -3387,7 +3387,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -1519,7 +1519,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -297,21 +297,21 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.BranchId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "WarehouseId",
|
"FieldName": "WarehouseId",
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.DefaultWarehouseId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT bu.\"DefaultWarehouseId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "LocationId",
|
"FieldName": "LocationId",
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.DefaultLocationId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT bu.\"DefaultLocationId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1566,7 +1566,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "DepartmentId,WarehouseId,LocationId",
|
"CascadeEmptyFields": "DepartmentId,WarehouseId,LocationId",
|
||||||
"LookupQuery": "SELECT b.Id AS [Key], b.Name AS [Name], bu.DefaultWarehouseId, bu.DefaultLocationId FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\", bu.\"DefaultWarehouseId\", bu.\"DefaultLocationId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -274,7 +274,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT BranchId FROM Hr_T_Department WHERE Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID')"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1172,7 +1172,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,OperationTypeId",
|
"CascadeEmptyFields": "WarehouseId,OperationTypeId",
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -293,14 +293,14 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.BranchId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "WarehouseId",
|
"FieldName": "WarehouseId",
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.DefaultWarehouseId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT bu.\"DefaultWarehouseId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1547,7 +1547,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,OperationTypeId,AgreementId",
|
"CascadeEmptyFields": "WarehouseId,OperationTypeId,AgreementId",
|
||||||
"LookupQuery": "SELECT b.Id AS [Key], b.Name AS [Name], bu.DefaultWarehouseId, bu.DefaultLocationId FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\", bu.\"DefaultWarehouseId\", bu.\"DefaultLocationId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1485,7 +1485,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE IsDeleted = 'false' AND IsActive = 1 AND TenantId = '@TENANTID' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -334,14 +334,14 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.BranchId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "WarehouseId",
|
"FieldName": "WarehouseId",
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.DefaultWarehouseId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT bu.\"DefaultWarehouseId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1390,7 +1390,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "WarehouseId,OperationTypeId,AgreementId",
|
"CascadeEmptyFields": "WarehouseId,OperationTypeId,AgreementId",
|
||||||
"LookupQuery": "SELECT b.Id AS [Key], b.Name AS [Name], bu.DefaultWarehouseId, bu.DefaultLocationId FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\", bu.\"DefaultWarehouseId\", bu.\"DefaultLocationId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -36,18 +36,18 @@
|
||||||
"En": "Id",
|
"En": "Id",
|
||||||
"Tr": "Kimlik"
|
"Tr": "Kimlik"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"FieldName": "ProjectId",
|
|
||||||
"CaptionName": "App.Listform.ListformField.ProjectId",
|
|
||||||
"En": "Project",
|
|
||||||
"Tr": "Proje"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"FieldName": "BranchId",
|
"FieldName": "BranchId",
|
||||||
"CaptionName": "App.Listform.ListformField.BranchId",
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
"En": "Branch Name",
|
"En": "Branch Name",
|
||||||
"Tr": "Şube Adı"
|
"Tr": "Şube Adı"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "ProjectId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.ProjectId",
|
||||||
|
"En": "Project",
|
||||||
|
"Tr": "Proje"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "ParentId",
|
"FieldName": "ParentId",
|
||||||
"CaptionName": "App.Listform.ListformField.ParentId",
|
"CaptionName": "App.Listform.ListformField.ParentId",
|
||||||
|
|
@ -797,6 +797,132 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Prj.BudgetReport",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 2,
|
||||||
|
"SourceDbType": 9,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "string",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 2,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Prj.BudgetReport.Create",
|
||||||
|
"R": "App.Prj.BudgetReport",
|
||||||
|
"U": "App.Prj.BudgetReport.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
|
"EditOrderNo": null,
|
||||||
|
"EditGroupOrderNo": null,
|
||||||
|
"EditorType2": "dxSelectBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"showClearButton\":true,\"searchEnabled\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": null,
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Prj.BudgetReport",
|
"ListFormCode": "App.Prj.BudgetReport",
|
||||||
|
|
@ -820,7 +946,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 2,
|
"ListOrderNo": 3,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -923,132 +1049,6 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"EditType": null,
|
|
||||||
"ListFormCode": "App.Prj.BudgetReport",
|
|
||||||
"RoleId": null,
|
|
||||||
"UserId": null,
|
|
||||||
"ColumnJoinTableDto": {
|
|
||||||
"JoinType": null,
|
|
||||||
"TableName": null,
|
|
||||||
"JoinFieldName": null,
|
|
||||||
"BaseTableJoinFieldName": null,
|
|
||||||
"SelectFieldName": null,
|
|
||||||
"FieldNameAlias": null,
|
|
||||||
"JoinCondition2": "AND",
|
|
||||||
"JoinFieldName2": null,
|
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
|
||||||
},
|
|
||||||
"FieldName": "BranchId",
|
|
||||||
"CaptionName": "App.Listform.ListformField.BranchId",
|
|
||||||
"PlaceHolder": null,
|
|
||||||
"ReadOnly": false,
|
|
||||||
"Visible": true,
|
|
||||||
"IsActive": true,
|
|
||||||
"Width": 0,
|
|
||||||
"ListOrderNo": 3,
|
|
||||||
"SourceDbType": 9,
|
|
||||||
"CultureName": "en",
|
|
||||||
"DataType": "string",
|
|
||||||
"SortIndex": 0,
|
|
||||||
"SortDirection": null,
|
|
||||||
"AllowSearch": true,
|
|
||||||
"AllowEditing": true,
|
|
||||||
"AllowAdding": true,
|
|
||||||
"ColumnCssClass": null,
|
|
||||||
"ColumnCssValue": null,
|
|
||||||
"BandName": null,
|
|
||||||
"ColumnFilterDto": {
|
|
||||||
"AllowFiltering": true,
|
|
||||||
"FilterOperations": null,
|
|
||||||
"SelectedFilterOperation": null,
|
|
||||||
"FilterValue": null
|
|
||||||
},
|
|
||||||
"ColumnHeaderDto": {
|
|
||||||
"AllowHeaderFiltering": true,
|
|
||||||
"AllowSearch": false,
|
|
||||||
"DataSource": null,
|
|
||||||
"DataSourceString": ""
|
|
||||||
},
|
|
||||||
"ColumnGroupingDto": {
|
|
||||||
"AllowGrouping": true,
|
|
||||||
"GroupIndex": null,
|
|
||||||
"AutoExpandGroup": false
|
|
||||||
},
|
|
||||||
"ColumnCustomizationDto": {
|
|
||||||
"Fixed": false,
|
|
||||||
"FixedPosition": "left",
|
|
||||||
"AllowReordering": true
|
|
||||||
},
|
|
||||||
"ColumnTotalSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"ColumnGroupSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"LookupDto": {
|
|
||||||
"DataSourceType": 2,
|
|
||||||
"ValueExpr": "Key",
|
|
||||||
"DisplayExpr": "Name",
|
|
||||||
"CascadeRelationField": null,
|
|
||||||
"CascadeFilterOperator": "=",
|
|
||||||
"CascadeParentFields": null,
|
|
||||||
"CascadeEmptyFields": null,
|
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' ORDER BY Name"
|
|
||||||
},
|
|
||||||
"ValidationRuleDto": [],
|
|
||||||
"ColumnStylingDto": [],
|
|
||||||
"PermissionDto": {
|
|
||||||
"Deny": false,
|
|
||||||
"C": "App.Prj.BudgetReport.Create",
|
|
||||||
"R": "App.Prj.BudgetReport",
|
|
||||||
"U": "App.Prj.BudgetReport.Update",
|
|
||||||
"E": true,
|
|
||||||
"I": true
|
|
||||||
},
|
|
||||||
"CanRead": false,
|
|
||||||
"CanCreate": false,
|
|
||||||
"CanUpdate": false,
|
|
||||||
"CanExport": false,
|
|
||||||
"DefaultValue": null,
|
|
||||||
"DefaultValueType": 0,
|
|
||||||
"PivotSettingsDto": {
|
|
||||||
"IsPivot": true,
|
|
||||||
"Expanded": false,
|
|
||||||
"SortOrder": "asc",
|
|
||||||
"Area": "filter",
|
|
||||||
"Format": null,
|
|
||||||
"SummaryType": null,
|
|
||||||
"GroupInterval": "",
|
|
||||||
"WordWrapEnabled": false
|
|
||||||
},
|
|
||||||
"Alignment": "left",
|
|
||||||
"Format": null,
|
|
||||||
"EditOrderNo": null,
|
|
||||||
"EditGroupOrderNo": null,
|
|
||||||
"EditorType2": "dxSelectBox",
|
|
||||||
"ColSpan": 1,
|
|
||||||
"EditorOptions": "{\"showClearButton\":true,\"searchEnabled\":true}",
|
|
||||||
"GridBoxOptions": null,
|
|
||||||
"TagBoxOptions": null,
|
|
||||||
"ImageUploadOptions": null,
|
|
||||||
"EditorScript": null,
|
|
||||||
"LastModificationTime": null,
|
|
||||||
"LastModifierId": null,
|
|
||||||
"CreationTime": "0001-01-01T00:00:00",
|
|
||||||
"CreatorId": null,
|
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Prj.BudgetReport",
|
"ListFormCode": "App.Prj.BudgetReport",
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.BranchId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -926,7 +926,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "ProjectId",
|
"CascadeEmptyFields": "ProjectId",
|
||||||
"LookupQuery": "SELECT b.Id AS [Key], b.Name AS [Name], bu.DefaultWarehouseId, bu.DefaultLocationId FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\", bu.\"DefaultWarehouseId\", bu.\"DefaultLocationId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -42,18 +42,18 @@
|
||||||
"En": "Parent",
|
"En": "Parent",
|
||||||
"Tr": "Üst"
|
"Tr": "Üst"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"FieldName": "ProjectId",
|
|
||||||
"CaptionName": "App.Listform.ListformField.ProjectId",
|
|
||||||
"En": "Project",
|
|
||||||
"Tr": "Proje"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"FieldName": "BranchId",
|
"FieldName": "BranchId",
|
||||||
"CaptionName": "App.Listform.ListformField.BranchId",
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
"En": "Branch Name",
|
"En": "Branch Name",
|
||||||
"Tr": "Şube Adı"
|
"Tr": "Şube Adı"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"FieldName": "ProjectId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.ProjectId",
|
||||||
|
"En": "Project",
|
||||||
|
"Tr": "Proje"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"FieldName": "Title",
|
"FieldName": "Title",
|
||||||
"CaptionName": "App.Listform.ListformField.PersonnelWorkName",
|
"CaptionName": "App.Listform.ListformField.PersonnelWorkName",
|
||||||
|
|
@ -762,7 +762,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -888,7 +888,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -905,6 +905,132 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"EditType": null,
|
||||||
|
"ListFormCode": "App.Prj.ManMonth",
|
||||||
|
"RoleId": null,
|
||||||
|
"UserId": null,
|
||||||
|
"ColumnJoinTableDto": {
|
||||||
|
"JoinType": null,
|
||||||
|
"TableName": null,
|
||||||
|
"JoinFieldName": null,
|
||||||
|
"BaseTableJoinFieldName": null,
|
||||||
|
"SelectFieldName": null,
|
||||||
|
"FieldNameAlias": null,
|
||||||
|
"JoinCondition2": "AND",
|
||||||
|
"JoinFieldName2": null,
|
||||||
|
"BaseTableJoinFieldName2_OrValue": null
|
||||||
|
},
|
||||||
|
"FieldName": "BranchId",
|
||||||
|
"CaptionName": "App.Listform.ListformField.BranchId",
|
||||||
|
"PlaceHolder": null,
|
||||||
|
"ReadOnly": false,
|
||||||
|
"Visible": true,
|
||||||
|
"IsActive": true,
|
||||||
|
"Width": 0,
|
||||||
|
"ListOrderNo": 3,
|
||||||
|
"SourceDbType": 9,
|
||||||
|
"CultureName": "en",
|
||||||
|
"DataType": "string",
|
||||||
|
"SortIndex": 0,
|
||||||
|
"SortDirection": null,
|
||||||
|
"AllowSearch": true,
|
||||||
|
"AllowEditing": true,
|
||||||
|
"AllowAdding": true,
|
||||||
|
"ColumnCssClass": null,
|
||||||
|
"ColumnCssValue": null,
|
||||||
|
"BandName": null,
|
||||||
|
"ColumnFilterDto": {
|
||||||
|
"AllowFiltering": true,
|
||||||
|
"FilterOperations": null,
|
||||||
|
"SelectedFilterOperation": null,
|
||||||
|
"FilterValue": null
|
||||||
|
},
|
||||||
|
"ColumnHeaderDto": {
|
||||||
|
"AllowHeaderFiltering": true,
|
||||||
|
"AllowSearch": false,
|
||||||
|
"DataSource": null,
|
||||||
|
"DataSourceString": ""
|
||||||
|
},
|
||||||
|
"ColumnGroupingDto": {
|
||||||
|
"AllowGrouping": true,
|
||||||
|
"GroupIndex": null,
|
||||||
|
"AutoExpandGroup": false
|
||||||
|
},
|
||||||
|
"ColumnCustomizationDto": {
|
||||||
|
"Fixed": false,
|
||||||
|
"FixedPosition": "left",
|
||||||
|
"AllowReordering": true
|
||||||
|
},
|
||||||
|
"ColumnTotalSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"ColumnGroupSummaryDto": {
|
||||||
|
"SummaryType": null,
|
||||||
|
"ValueFormat": null,
|
||||||
|
"ShowInGroupFooter": false,
|
||||||
|
"AlignByColumn": false,
|
||||||
|
"DisplayFormat": null,
|
||||||
|
"ShowInColumn": null
|
||||||
|
},
|
||||||
|
"LookupDto": {
|
||||||
|
"DataSourceType": 2,
|
||||||
|
"ValueExpr": "Key",
|
||||||
|
"DisplayExpr": "Name",
|
||||||
|
"CascadeRelationField": null,
|
||||||
|
"CascadeFilterOperator": "=",
|
||||||
|
"CascadeParentFields": null,
|
||||||
|
"CascadeEmptyFields": null,
|
||||||
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
|
},
|
||||||
|
"ValidationRuleDto": [],
|
||||||
|
"ColumnStylingDto": [],
|
||||||
|
"PermissionDto": {
|
||||||
|
"Deny": false,
|
||||||
|
"C": "App.Prj.ManMonth.Create",
|
||||||
|
"R": "App.Prj.ManMonth",
|
||||||
|
"U": "App.Prj.ManMonth.Update",
|
||||||
|
"E": true,
|
||||||
|
"I": true
|
||||||
|
},
|
||||||
|
"CanRead": false,
|
||||||
|
"CanCreate": false,
|
||||||
|
"CanUpdate": false,
|
||||||
|
"CanExport": false,
|
||||||
|
"DefaultValue": null,
|
||||||
|
"DefaultValueType": 0,
|
||||||
|
"PivotSettingsDto": {
|
||||||
|
"IsPivot": true,
|
||||||
|
"Expanded": false,
|
||||||
|
"SortOrder": "asc",
|
||||||
|
"Area": "filter",
|
||||||
|
"Format": null,
|
||||||
|
"SummaryType": null,
|
||||||
|
"GroupInterval": "",
|
||||||
|
"WordWrapEnabled": false
|
||||||
|
},
|
||||||
|
"Alignment": "left",
|
||||||
|
"Format": null,
|
||||||
|
"EditOrderNo": null,
|
||||||
|
"EditGroupOrderNo": null,
|
||||||
|
"EditorType2": "dxSelectBox",
|
||||||
|
"ColSpan": 1,
|
||||||
|
"EditorOptions": "{\"showClearButton\":true,\"searchEnabled\":true}",
|
||||||
|
"GridBoxOptions": null,
|
||||||
|
"TagBoxOptions": null,
|
||||||
|
"ImageUploadOptions": null,
|
||||||
|
"EditorScript": null,
|
||||||
|
"LastModificationTime": null,
|
||||||
|
"LastModifierId": null,
|
||||||
|
"CreationTime": "0001-01-01T00:00:00",
|
||||||
|
"CreatorId": null,
|
||||||
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Prj.ManMonth",
|
"ListFormCode": "App.Prj.ManMonth",
|
||||||
|
|
@ -928,7 +1054,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 3,
|
"ListOrderNo": 4,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -1014,139 +1140,13 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
|
||||||
"Format": null,
|
|
||||||
"EditOrderNo": null,
|
|
||||||
"EditGroupOrderNo": null,
|
|
||||||
"EditorType2": "dxSelectBox",
|
|
||||||
"ColSpan": 1,
|
|
||||||
"EditorOptions": null,
|
|
||||||
"GridBoxOptions": null,
|
|
||||||
"TagBoxOptions": null,
|
|
||||||
"ImageUploadOptions": null,
|
|
||||||
"EditorScript": null,
|
|
||||||
"LastModificationTime": null,
|
|
||||||
"LastModifierId": null,
|
|
||||||
"CreationTime": "0001-01-01T00:00:00",
|
|
||||||
"CreatorId": null,
|
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"EditType": null,
|
|
||||||
"ListFormCode": "App.Prj.ManMonth",
|
|
||||||
"RoleId": null,
|
|
||||||
"UserId": null,
|
|
||||||
"ColumnJoinTableDto": {
|
|
||||||
"JoinType": null,
|
|
||||||
"TableName": null,
|
|
||||||
"JoinFieldName": null,
|
|
||||||
"BaseTableJoinFieldName": null,
|
|
||||||
"SelectFieldName": null,
|
|
||||||
"FieldNameAlias": null,
|
|
||||||
"JoinCondition2": "AND",
|
|
||||||
"JoinFieldName2": null,
|
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
|
||||||
},
|
|
||||||
"FieldName": "BranchId",
|
|
||||||
"CaptionName": "App.Listform.ListformField.BranchId",
|
|
||||||
"PlaceHolder": null,
|
|
||||||
"ReadOnly": false,
|
|
||||||
"Visible": true,
|
|
||||||
"IsActive": true,
|
|
||||||
"Width": 0,
|
|
||||||
"ListOrderNo": 4,
|
|
||||||
"SourceDbType": 9,
|
|
||||||
"CultureName": "en",
|
|
||||||
"DataType": "string",
|
|
||||||
"SortIndex": 0,
|
|
||||||
"SortDirection": null,
|
|
||||||
"AllowSearch": true,
|
|
||||||
"AllowEditing": true,
|
|
||||||
"AllowAdding": true,
|
|
||||||
"ColumnCssClass": null,
|
|
||||||
"ColumnCssValue": null,
|
|
||||||
"BandName": null,
|
|
||||||
"ColumnFilterDto": {
|
|
||||||
"AllowFiltering": true,
|
|
||||||
"FilterOperations": null,
|
|
||||||
"SelectedFilterOperation": null,
|
|
||||||
"FilterValue": null
|
|
||||||
},
|
|
||||||
"ColumnHeaderDto": {
|
|
||||||
"AllowHeaderFiltering": true,
|
|
||||||
"AllowSearch": false,
|
|
||||||
"DataSource": null,
|
|
||||||
"DataSourceString": ""
|
|
||||||
},
|
|
||||||
"ColumnGroupingDto": {
|
|
||||||
"AllowGrouping": true,
|
|
||||||
"GroupIndex": null,
|
|
||||||
"AutoExpandGroup": false
|
|
||||||
},
|
|
||||||
"ColumnCustomizationDto": {
|
|
||||||
"Fixed": false,
|
|
||||||
"FixedPosition": "left",
|
|
||||||
"AllowReordering": true
|
|
||||||
},
|
|
||||||
"ColumnTotalSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"ColumnGroupSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"LookupDto": {
|
|
||||||
"DataSourceType": 2,
|
|
||||||
"ValueExpr": "Key",
|
|
||||||
"DisplayExpr": "Name",
|
|
||||||
"CascadeRelationField": null,
|
|
||||||
"CascadeFilterOperator": "=",
|
|
||||||
"CascadeParentFields": null,
|
|
||||||
"CascadeEmptyFields": null,
|
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' ORDER BY Name"
|
|
||||||
},
|
|
||||||
"ValidationRuleDto": [],
|
|
||||||
"ColumnStylingDto": [],
|
|
||||||
"PermissionDto": {
|
|
||||||
"Deny": false,
|
|
||||||
"C": "App.Prj.ManMonth.Create",
|
|
||||||
"R": "App.Prj.ManMonth",
|
|
||||||
"U": "App.Prj.ManMonth.Update",
|
|
||||||
"E": true,
|
|
||||||
"I": true
|
|
||||||
},
|
|
||||||
"CanRead": false,
|
|
||||||
"CanCreate": false,
|
|
||||||
"CanUpdate": false,
|
|
||||||
"CanExport": false,
|
|
||||||
"DefaultValue": null,
|
|
||||||
"DefaultValueType": 0,
|
|
||||||
"PivotSettingsDto": {
|
|
||||||
"IsPivot": true,
|
|
||||||
"Expanded": false,
|
|
||||||
"SortOrder": "asc",
|
|
||||||
"Area": "filter",
|
|
||||||
"Format": null,
|
|
||||||
"SummaryType": null,
|
|
||||||
"GroupInterval": "",
|
|
||||||
"WordWrapEnabled": false
|
|
||||||
},
|
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
"EditorOptions": "{\"showClearButton\":true,\"searchEnabled\":true}",
|
"EditorOptions": null,
|
||||||
"GridBoxOptions": null,
|
"GridBoxOptions": null,
|
||||||
"TagBoxOptions": null,
|
"TagBoxOptions": null,
|
||||||
"ImageUploadOptions": null,
|
"ImageUploadOptions": null,
|
||||||
|
|
@ -1266,7 +1266,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -1392,7 +1392,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -1518,7 +1518,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -1644,7 +1644,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -1770,7 +1770,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -1896,7 +1896,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
@ -2022,7 +2022,7 @@
|
||||||
"GroupInterval": "",
|
"GroupInterval": "",
|
||||||
"WordWrapEnabled": false
|
"WordWrapEnabled": false
|
||||||
},
|
},
|
||||||
"Alignment": null,
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": null,
|
"EditOrderNo": null,
|
||||||
"EditGroupOrderNo": null,
|
"EditGroupOrderNo": null,
|
||||||
|
|
|
||||||
|
|
@ -1124,7 +1124,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.BranchId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [
|
"WidgetsDto": [
|
||||||
|
|
@ -1125,7 +1125,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT b.Id AS [Key], b.Name AS [Name] FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -375,6 +375,7 @@
|
||||||
"AllowAllDeleting": false,
|
"AllowAllDeleting": false,
|
||||||
"AllowAdding": false,
|
"AllowAdding": false,
|
||||||
"AllowDuplicate": false,
|
"AllowDuplicate": false,
|
||||||
|
"OpenDetailAfterInsert": false,
|
||||||
"UseIcons": false,
|
"UseIcons": false,
|
||||||
"ConfirmDelete": true,
|
"ConfirmDelete": true,
|
||||||
"NewRowPosition": "viewportTop",
|
"NewRowPosition": "viewportTop",
|
||||||
|
|
@ -447,6 +448,7 @@
|
||||||
"ApprovalDescriptionFieldName": null,
|
"ApprovalDescriptionFieldName": null,
|
||||||
"ApprovalIsFilterUserName": false,
|
"ApprovalIsFilterUserName": false,
|
||||||
"ApprovalIsResetWorkflow": false,
|
"ApprovalIsResetWorkflow": false,
|
||||||
|
"ApprovalIsManualStart": false,
|
||||||
"Criteria": []
|
"Criteria": []
|
||||||
},
|
},
|
||||||
"UserId": null,
|
"UserId": null,
|
||||||
|
|
@ -1167,7 +1169,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Sas_T_Branch WHERE TenantId = '@TENANTID' AND IsDeleted = 'false' ORDER BY Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [],
|
"ValidationRuleDto": [],
|
||||||
"ColumnStylingDto": [],
|
"ColumnStylingDto": [],
|
||||||
|
|
|
||||||
|
|
@ -188,7 +188,7 @@
|
||||||
"FieldDbType": 9,
|
"FieldDbType": 9,
|
||||||
"Value": "",
|
"Value": "",
|
||||||
"CustomValueType": 3,
|
"CustomValueType": 3,
|
||||||
"SqlQuery": "SELECT bu.BranchId FROM Sas_T_BranchUsers bu WHERE bu.UserId = '@USERID' AND bu.BranchId = (SELECT d.BranchId FROM Hr_T_Department d WHERE d.Id = (SELECT DepartmentId FROM AbpUsers WHERE Id = '@USERID'))"
|
"SqlQuery": "SELECT b.\"Id\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"WidgetsDto": [],
|
"WidgetsDto": [],
|
||||||
|
|
@ -970,7 +970,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": "ProjectId",
|
"CascadeEmptyFields": "ProjectId",
|
||||||
"LookupQuery": "SELECT b.Id AS [Key], b.Name AS [Name], bu.DefaultWarehouseId, bu.DefaultLocationId FROM Sas_T_Branch b INNER JOIN Sas_T_BranchUsers bu ON bu.BranchId = b.Id AND bu.UserId = '@USERID' WHERE b.IsDeleted = 'false' AND b.IsActive = 1 AND b.TenantId = '@TENANTID' ORDER BY b.Name"
|
"LookupQuery": "SELECT b.\"Id\" AS \"Key\", b.\"Name\" AS \"Name\", bu.\"DefaultWarehouseId\", bu.\"DefaultLocationId\" FROM \"Sas_T_Branch\" b INNER JOIN \"Sas_T_BranchUsers\" bu ON bu.\"BranchId\" = b.\"Id\" AND bu.\"UserId\" = '@USERID' WHERE b.\"IsDeleted\" = 'false' AND b.\"IsActive\" = 'true' AND b.\"TenantId\" = '@TENANTID' ORDER BY b.\"Name\""
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,19 @@ export interface OrgChartUserDto {
|
||||||
phoneNumber?: string
|
phoneNumber?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sunucu enum'u sayı olarak gelir (OrgChartNodeType, Application.Contracts).
|
||||||
|
export enum OrgChartNodeType {
|
||||||
|
Branch = 0,
|
||||||
|
Department = 1,
|
||||||
|
JobPosition = 2,
|
||||||
|
}
|
||||||
|
|
||||||
export interface OrgChartNodeDto {
|
export interface OrgChartNodeDto {
|
||||||
id: string
|
id: string
|
||||||
name: string
|
name: string
|
||||||
parentId?: string
|
parentId?: string
|
||||||
|
/** Şube düğümü köktür; departman ve pozisyon ağaçları şubelerinin altında açılır. */
|
||||||
|
nodeType: OrgChartNodeType
|
||||||
departmentId?: string
|
departmentId?: string
|
||||||
departmentName?: string
|
departmentName?: string
|
||||||
jobPositionId?: string
|
jobPositionId?: string
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import {
|
||||||
FaSitemap,
|
FaSitemap,
|
||||||
FaBriefcase,
|
FaBriefcase,
|
||||||
FaBuilding,
|
FaBuilding,
|
||||||
|
FaIndustry,
|
||||||
FaChevronDown,
|
FaChevronDown,
|
||||||
FaChevronRight,
|
FaChevronRight,
|
||||||
FaSearchPlus,
|
FaSearchPlus,
|
||||||
|
|
@ -27,6 +28,7 @@ import {
|
||||||
getOrgChartDepartments,
|
getOrgChartDepartments,
|
||||||
getOrgChartJobPositions,
|
getOrgChartJobPositions,
|
||||||
OrgChartNodeDto,
|
OrgChartNodeDto,
|
||||||
|
OrgChartNodeType,
|
||||||
OrgChartUserDto,
|
OrgChartUserDto,
|
||||||
} from '@/services/orgChart.service'
|
} from '@/services/orgChart.service'
|
||||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
|
|
@ -204,7 +206,9 @@ async function captureAsJpeg(element: HTMLElement, filename: string, zoom: numbe
|
||||||
const headerEl = card.querySelector('[data-header]') as HTMLElement | null
|
const headerEl = card.querySelector('[data-header]') as HTMLElement | null
|
||||||
const headerH = headerEl ? Math.round(headerEl.getBoundingClientRect().height / zoom) : 34
|
const headerH = headerEl ? Math.round(headerEl.getBoundingClientRect().height / zoom) : 34
|
||||||
ctx.save()
|
ctx.save()
|
||||||
drawTopRR(ctx, cx, cy, cw, headerH, rad)
|
// Kullanıcı bölümü yokken başlık kartın tamamıdır; ekrandaki gibi dört köşe yuvarlanır.
|
||||||
|
if (headerH >= ch) drawRR(ctx, cx, cy, cw, ch, rad)
|
||||||
|
else drawTopRR(ctx, cx, cy, cw, headerH, rad)
|
||||||
ctx.fillStyle = headerHex
|
ctx.fillStyle = headerHex
|
||||||
ctx.fill()
|
ctx.fill()
|
||||||
ctx.restore()
|
ctx.restore()
|
||||||
|
|
@ -456,7 +460,10 @@ function OrgChartNode({
|
||||||
const [collapsed, setCollapsed] = useState(false)
|
const [collapsed, setCollapsed] = useState(false)
|
||||||
const [dragging, setDragging] = useState(false)
|
const [dragging, setDragging] = useState(false)
|
||||||
const hasChildren = node.children.length > 0
|
const hasChildren = node.children.length > 0
|
||||||
const hasUsers = showUsers && node.users.length > 0
|
const isBranch = node.nodeType === OrgChartNodeType.Branch
|
||||||
|
// Şube kartı yalnızca başlıktır; kullanıcı listesi departman/pozisyon kartlarında kalır.
|
||||||
|
const usersVisible = showUsers && !isBranch
|
||||||
|
const hasUsers = usersVisible && node.users.length > 0
|
||||||
const position = positions[node.id] ?? { x: 0, y: 0 }
|
const position = positions[node.id] ?? { x: 0, y: 0 }
|
||||||
|
|
||||||
const levelColor = LEVEL_COLORS[depth % LEVEL_COLORS.length]
|
const levelColor = LEVEL_COLORS[depth % LEVEL_COLORS.length]
|
||||||
|
|
@ -520,17 +527,19 @@ function OrgChartNode({
|
||||||
}}
|
}}
|
||||||
data-card=""
|
data-card=""
|
||||||
data-depth={depth}
|
data-depth={depth}
|
||||||
data-users-visible={showUsers ? 'true' : 'false'}
|
data-users-visible={usersVisible ? 'true' : 'false'}
|
||||||
className={`relative bg-white border ${borderColor} rounded-xl shadow-sm w-36 sm:w-44 md:w-52 hover:shadow-md transition-shadow`}
|
className={`relative bg-white border ${borderColor} rounded-xl shadow-sm w-36 sm:w-44 md:w-52 hover:shadow-md transition-shadow`}
|
||||||
style={{ cursor: dragging ? 'grabbing' : 'grab' }}
|
style={{ cursor: dragging ? 'grabbing' : 'grab' }}
|
||||||
onMouseDown={handleDragStart}
|
onMouseDown={handleDragStart}
|
||||||
>
|
>
|
||||||
{/* Header bar */}
|
{/* Header bar — kullanıcı bölümü yokken kartın tamamıdır, alt köşeler de yuvarlanır */}
|
||||||
<div
|
<div
|
||||||
data-header=""
|
data-header=""
|
||||||
className={`${headerBg} rounded-t-xl px-3 py-2 flex items-center gap-2 dark:bg-gray-900 dark:text-gray-100`}
|
className={`${headerBg} ${usersVisible ? 'rounded-t-xl' : 'rounded-xl'} px-3 py-2 flex items-center gap-2 dark:bg-gray-900 dark:text-gray-100`}
|
||||||
>
|
>
|
||||||
{mode === 'department' ? (
|
{isBranch ? (
|
||||||
|
<FaIndustry className="w-3 h-3 text-white opacity-80 flex-shrink-0" />
|
||||||
|
) : mode === 'department' ? (
|
||||||
<FaBuilding className="w-3 h-3 text-white opacity-80 flex-shrink-0" />
|
<FaBuilding className="w-3 h-3 text-white opacity-80 flex-shrink-0" />
|
||||||
) : (
|
) : (
|
||||||
<FaBriefcase className="w-3 h-3 text-white opacity-80 flex-shrink-0" />
|
<FaBriefcase className="w-3 h-3 text-white opacity-80 flex-shrink-0" />
|
||||||
|
|
@ -563,7 +572,7 @@ function OrgChartNode({
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Users section */}
|
{/* Users section */}
|
||||||
{showUsers && (
|
{usersVisible && (
|
||||||
<div className="px-3 py-2">
|
<div className="px-3 py-2">
|
||||||
{hasUsers ? (
|
{hasUsers ? (
|
||||||
<div className="flex flex-col gap-1">
|
<div className="flex flex-col gap-1">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue