From 29f4bc8b3358ba20c4f6b0d2b6a3060ba0030ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Thu, 15 Oct 2026 00:12:14 +0300 Subject: [PATCH] =?UTF-8?q?Listformlardan=20eksik=20olan=20IsBranch=20yete?= =?UTF-8?q?ne=C4=9Fi=20getirildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lowcode-reference.instructions.md | 17 +- .github/instructions/lowcode.instructions.md | 12 +- README.md | 3 +- .../LookUpQueryValues.cs | 31 +- .../OrgChart/OrgChartDto.cs | 10 + .../OrgChart/OrgChartAppService.cs | 39 +- .../Migrations/ListFormSeeder_Hr.cs | 12 +- claude.md | 7 +- configs/seeds/docs/modules/App.Hr.md | 35 +- configs/seeds/docs/modules/App.Inventory.md | 6 +- configs/seeds/docs/modules/App.Prc.md | 2 +- configs/seeds/docs/modules/App.Prj.md | 10 +- .../object/Hr_S_LeaveSickLeaveSync.sql | 4 +- .../object/Hr_S_PerformancePeriodActivate.sql | 5 +- .../postgres/object/Hr_T_DisciplinaryCase.sql | 1 + .../postgres/object/Hr_T_LeaveRequest.sql | 1 + .../object/Hr_T_PerformanceReview.sql | 1 + .../sql/object/Hr_S_LeaveSickLeaveSync.sql | 4 +- .../object/Hr_S_PerformancePeriodActivate.sql | 5 +- .../sql/object/Hr_T_DisciplinaryCase.sql | 1 + .../seeds/sql/object/Hr_T_LeaveRequest.sql | 1 + .../sql/object/Hr_T_PerformanceReview.sql | 1 + configs/seeds/wizard/Hr_DisciplinaryCase.json | 205 ++++++- configs/seeds/wizard/Hr_EventLog.json | 12 +- configs/seeds/wizard/Hr_JobOffer.json | 31 +- configs/seeds/wizard/Hr_JobPosting.json | 27 +- configs/seeds/wizard/Hr_LeaveRequest.json | 499 ++++++++++++------ configs/seeds/wizard/Hr_MyLeaveRequest.json | 15 + .../seeds/wizard/Hr_PerformanceReview.json | 471 +++++++++++------ configs/seeds/wizard/Hr_StaffRequest.json | 25 +- configs/seeds/wizard/Hr_Training.json | 28 +- configs/seeds/wizard/Hr_Vehicle.json | 21 +- configs/seeds/wizard/Hr_VehicleMovement.json | 21 +- configs/seeds/wizard/Hr_Visitor.json | 26 +- configs/seeds/wizard/Inventory_Delivery.json | 4 +- .../wizard/Inventory_InternalTransfer.json | 4 +- configs/seeds/wizard/Inventory_Location.json | 9 +- .../seeds/wizard/Inventory_OperationType.json | 9 +- configs/seeds/wizard/Inventory_Receipt.json | 4 +- configs/seeds/wizard/Inventory_Stock.json | 2 +- configs/seeds/wizard/Inventory_StockMove.json | 2 +- configs/seeds/wizard/Inventory_Transfer.json | 2 +- configs/seeds/wizard/Inventory_Warehouse.json | 19 +- configs/seeds/wizard/Prc_MaterialRequest.json | 2 +- .../Prc_MaterialRequestDeptApproval.json | 2 +- .../seeds/wizard/Prc_MaterialRequestPlan.json | 2 +- .../wizard/Prc_MaterialRequestPlanSource.json | 2 +- .../wizard/Prc_MaterialRequestPlanStock.json | 2 +- .../wizard/Prc_MaterialRequestPlanTrack.json | 2 +- .../Prc_MaterialRequestPurchaseApproval.json | 2 +- .../seeds/wizard/Prc_MyMaterialRequest.json | 8 +- .../seeds/wizard/Prc_PurchaseAgreement.json | 4 +- configs/seeds/wizard/Prc_PurchaseOrder.json | 6 +- .../wizard/Prc_PurchaseOrderProduct.json | 2 +- configs/seeds/wizard/Prc_PurchaseRfq.json | 6 +- configs/seeds/wizard/Prj_BudgetReport.json | 266 +++++----- configs/seeds/wizard/Prj_Diary.json | 4 +- configs/seeds/wizard/Prj_ManMonth.json | 286 +++++----- .../seeds/wizard/Prj_PersonnelManMonth.json | 2 +- configs/seeds/wizard/Prj_Project.json | 4 +- configs/seeds/wizard/Prj_ResourceList.json | 4 +- configs/seeds/wizard/Prj_WorkPackage.json | 4 +- ui/src/services/orgChart.service.ts | 9 + ui/src/views/admin/hr/OrgChart.tsx | 23 +- 64 files changed, 1547 insertions(+), 739 deletions(-) diff --git a/.github/instructions/lowcode-reference.instructions.md b/.github/instructions/lowcode-reference.instructions.md index c5f4e71f..366b9560 100644 --- a/.github/instructions/lowcode-reference.instructions.md +++ b/.github/instructions/lowcode-reference.instructions.md @@ -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) 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. -Bir ekranda "şube seçilince kullanıcının varsayılan deposu/konumu gelsin" için: `IsBranch: true`, şube lookup'ı -`Sas_T_BranchUsers` ile `UserId = '@USERID'` üzerinden süzülüp `DefaultWarehouseId`/`DefaultLocationId` kolonlarını -döndürür, şube alanının `EditorScript`'i `copy("DefaultWarehouseId", "WarehouseId")` (+ konum) ile yazar; yeni kaydın -şube/depo/konum varsayılanı `DbQuery` ile aynı tablodan okunur. Örnek: `App.Prc.MyMaterialRequest`, -`App.Prc.PurchaseRfq`, `App.Prc.PurchaseOrder`. +**Şube alanı standardı (her ekranda aynı):** `BranchId` alanının seçenekleri kullanıcıya atanmış aktif şubelerdir +(`Sas_T_Branch` + `Sas_T_BranchUsers`, `UserId = '@USERID'`, ada göre sıralı; `LookupQueryValues.UserBranchValues`), +yeni kaydın varsayılanı bu listenin ilk seçeneğidir (`DbQuery`, `LookupQueryValues.UserDefaultBranchValue`). Sorgu +metinleri `lowcode.instructions.md` §8.1'dedir; `IsBranch` olmayan ekran ve tanım ekranı da aynı sözleşmeyi kullanır. +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` @@ -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 | | --- | --- | --- | --- | --- | | **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`. | | **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). | @@ -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). | | **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. | -| **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 › 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`). | diff --git a/.github/instructions/lowcode.instructions.md b/.github/instructions/lowcode.instructions.md index dc9fd719..8bf5b950 100644 --- a/.github/instructions/lowcode.instructions.md +++ b/.github/instructions/lowcode.instructions.md @@ -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 | | 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` | -| 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`) | +| 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`): **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`) | -| 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 | 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). +**Ş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ığı Bir ekran birden fazla tablodan besleniyorsa, `SelectCommandType: 4` (Query) yerine **tasarlanmış diff --git a/README.md b/README.md index 2eada99b..569c640f 100644 --- a/README.md +++ b/README.md @@ -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` (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 -(`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 kimlikle kurulur (`PlatformConsts.Branches.BranchIdDefaultValue`) ve `data/App.Hr.{Department,JobPosition}.json` satırları bu kimliğe bağlıdır. Numaratör diff --git a/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs b/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs index 7d713eea..4581d6bd 100644 --- a/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs +++ b/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs @@ -270,16 +270,29 @@ public static class LookupQueryValues $"AND {TenantFilter} " + $"ORDER BY \"Name\";"; - // Lookup sorgusu ekranın tenant filtresinden geçmez; kiracı kırılımı token ile sorguda yazılır. - public static string TenantBranchValues = + // Şube alanının standart lookup'ı: kullanıcıya atanmış (Sas_T_BranchUsers) aktif şubeler; her ekranda aynı küme. + public static string UserBranchValues = $"SELECT " + - $"\"Id\" AS \"Key\", " + - $"\"Name\" AS \"Name\" " + - $"FROM \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Branch))}\" " + - $"WHERE " + - $"{TenantFilter} " + - $"AND \"IsDeleted\" = 'false' " + - $"ORDER BY \"Name\";"; + $"b.\"Id\" AS \"Key\", " + + $"b.\"Name\" AS \"Name\" " + + $"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\";"; + + // Ş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. // Deger Code'dur: UserBenefit.BenefitType metin kolonudur ve kod kiracinin tanimladigi turle eslesir. diff --git a/api/src/Sozsoft.Platform.Application.Contracts/OrgChart/OrgChartDto.cs b/api/src/Sozsoft.Platform.Application.Contracts/OrgChart/OrgChartDto.cs index 22b11664..959cd0fd 100644 --- a/api/src/Sozsoft.Platform.Application.Contracts/OrgChart/OrgChartDto.cs +++ b/api/src/Sozsoft.Platform.Application.Contracts/OrgChart/OrgChartDto.cs @@ -12,12 +12,22 @@ public class OrgChartUserDto public string PhoneNumber { get; set; } } +public enum OrgChartNodeType +{ + Branch, + Department, + JobPosition +} + public class OrgChartNodeDto { public Guid Id { get; set; } public string Name { 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 public Guid? DepartmentId { get; set; } public string DepartmentName { get; set; } diff --git a/api/src/Sozsoft.Platform.Application/OrgChart/OrgChartAppService.cs b/api/src/Sozsoft.Platform.Application/OrgChart/OrgChartAppService.cs index 05754f9a..c1d676c0 100644 --- a/api/src/Sozsoft.Platform.Application/OrgChart/OrgChartAppService.cs +++ b/api/src/Sozsoft.Platform.Application/OrgChart/OrgChartAppService.cs @@ -15,15 +15,18 @@ namespace Sozsoft.Platform.OrgChart; [Route("api/app/org-chart")] public class OrgChartAppService : PlatformAppService { + private readonly IRepository _branchRepository; private readonly IRepository _departmentRepository; private readonly IRepository _jobPositionRepository; private readonly IIdentityUserRepository _userRepository; public OrgChartAppService( + IRepository branchRepository, IRepository departmentRepository, IRepository jobPositionRepository, IIdentityUserRepository userRepository) { + _branchRepository = branchRepository; _departmentRepository = departmentRepository; _jobPositionRepository = jobPositionRepository; _userRepository = userRepository; @@ -74,7 +77,8 @@ public class OrgChartAppService : PlatformAppService { Id = d.Id, Name = d.Name, - ParentId = d.ParentId, + NodeType = OrgChartNodeType.Department, + ParentId = ResolveParent(d.ParentId, d.BranchId, departments.Select(x => x.Id)), JobPositionId = topPosition?.Id, JobPositionName = topPosition?.Name, Users = topPosition != null && usersByJobPosition.TryGetValue(topPosition.Id, out var positionUsers) @@ -83,7 +87,7 @@ public class OrgChartAppService : PlatformAppService }; }).ToList(); - return nodes; + return await WithBranchRootsAsync(nodes); } [HttpGet("job-positions")] @@ -100,7 +104,8 @@ public class OrgChartAppService : PlatformAppService { Id = jp.Id, Name = jp.Name, - ParentId = jp.ParentId, + NodeType = OrgChartNodeType.JobPosition, + ParentId = ResolveParent(jp.ParentId, jp.BranchId, jobPositions.Select(x => x.Id)), DepartmentId = jp.DepartmentId, DepartmentName = deptDict.TryGetValue(jp.DepartmentId, out var name) ? name : null, JobPositionId = jp.Id, @@ -110,7 +115,33 @@ public class OrgChartAppService : PlatformAppService : [], }).ToList(); - return nodes; + 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 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> WithBranchRootsAsync(List 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; + } + + 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> GroupUsersByJobPosition( diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs index 93c50300..0ad021c4 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs @@ -476,6 +476,10 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency new() { 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 @@ -567,7 +571,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookupQueryValues.TenantBranchValues, + LookupQuery = LookupQueryValues.UserBranchValues, CascadeEmptyFields = "ParentId" }), ValidationRuleJson = DefaultValidationRuleRequiredJson, @@ -630,6 +634,10 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency new() { 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 @@ -721,7 +729,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookupQueryValues.TenantBranchValues, + LookupQuery = LookupQueryValues.UserBranchValues, CascadeEmptyFields = "DepartmentId,ParentId" }), ValidationRuleJson = DefaultValidationRuleRequiredJson, diff --git a/claude.md b/claude.md index 3df89298..23efc906 100644 --- a/claude.md +++ b/claude.md @@ -124,8 +124,11 @@ Bir çelişki varsa sıra: `ai.instructions.md` → `dotnet.instructions.md` → `CreationTime`, `CreatorId`, `LastModificationTime`, `LastModifierId`, `IsDeleted`, `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` - (PG `uuid NOT NULL`) da taşır; ekranı `IsBranch: true`, Şube alanı kullanıcının şubelerinden - (`Sas_T_BranchUsers`) seçilir ve yeni kayıtta kullanıcının departman şubesiyle (`DbQuery`) açılır. + (PG `uuid NOT NULL`) da taşır; ekranı `IsBranch: true`. **Şube alanı her ekranda aynı sözleşmeyle + 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 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ı: diff --git a/configs/seeds/docs/modules/App.Hr.md b/configs/seeds/docs/modules/App.Hr.md index a41494f5..654db5dd 100644 --- a/configs/seeds/docs/modules/App.Hr.md +++ b/configs/seeds/docs/modules/App.Hr.md @@ -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 | | 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 | +| Ş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 | | 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 | @@ -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ı). **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. - **Yakınlaştırma:** %30–300 arası, Ctrl + tekerlek ile de. - **Dışa aktarma:** JPG olarak. @@ -1052,7 +1053,7 @@ Hr_V_LeaveBalanceYear (defter) ──▶ Hr_V_LeaveSummary (çalışan başına | 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_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 | @@ -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_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_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_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 | @@ -2387,7 +2388,7 @@ AbpUsers ──< Hr_T_DisciplinaryCase ──< Hr_T_DisciplinaryDefense | Tablo | Önemli kolonlar | | --- | --- | | `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_DisciplinaryDecision` | `CaseId`, `DecisionDate`, `PenaltyTypeId`, `EffectiveDate`, `NotificationDate`, `DeductionAmount`, `Status` (Draft/Final), `DecisionText` (HTML) | | `Hr_T_DisciplinaryFile` | `CaseId`, `DocumentTypeId`, `FileDate`, `FileName`, `FileContent` | @@ -3367,7 +3368,7 @@ Kontrol edilmeli (koddan tespit edilenler): | Kapsam | Kiracı | | Widget'lar | `App.Widget.Total`, `App.Widget.Pending`, `App.Hr.StaffRequest.Widget.Approved`, `App.Hr.StaffRequest.Widget.Headcount` | | 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' | | 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) | | Widget'lar | `App.Widget.Total`, `App.Widget.Published`, `App.Widget.Draft`, `App.Hr.JobPosting.Widget.Closed` | | 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 | | --- | --- | --- | --- | --- | --- | @@ -3589,7 +3590,7 @@ Kontrol edilmeli (koddan tespit edilenler): | Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup | | Kapsam | Kiracı | | 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` | | 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ı | | 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` | -| 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' | | Alan | Başlık | Editör | Zorunlu | Formda | Kaynak | | --- | --- | --- | --- | --- | --- | | `RequestNo` | Talep No | dxTextBox | | ✓ | | +| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch | | `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script | | `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department | | `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) | | 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` | +| Form varsayılanları | BranchId= | | 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` | | Todo | başlık `EmployeeName`, durum `Status` (GoalSetting,SelfReview,ManagerReview,Calibration,Completed) | | 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 | | --- | --- | --- | --- | --- | --- | -| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod | +| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch | | `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script | | `EmployeeName` | Çalışan Adı | dxTextBox | | | | -| `ManagerId` | Yönetici | dxSelectBox | | ✓ | sorgu: AbpUsers | | `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department | | `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 | | `IsActive` | Aktif | dxCheckBox | | ✓ | | | `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` | | Todo | başlık `Subject`, durum `Status` (Open,AwaitingDefense,Decided,Closed) | | 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 | | --- | --- | --- | --- | --- | --- | | `CaseNo` | Dosya No | dxTextBox | | | | +| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch | | `UserId` | Personel | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers · script | | `DepartmentId` | Departman | dxSelectBox | | ✓ | sorgu: Hr_T_Department | | `JobPositionId` | Pozisyon | dxSelectBox | | ✓ | sorgu: Hr_T_JobPosition | @@ -5488,7 +5493,7 @@ Kontrol edilmeli (koddan tespit edilenler): | Kapsam | Kiracı | | 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` | -| Form varsayılanları | IsActive=true | +| Form varsayılanları | IsActive=true, BranchId= | | Alan | Başlık | Editör | Zorunlu | Formda | Kaynak | | --- | --- | --- | --- | --- | --- | @@ -5555,7 +5560,7 @@ Kontrol edilmeli (koddan tespit edilenler): | Kapsam | Kiracı | | Widget'lar | `App.Widget.Total`, `App.Hr.Vehicle.Widget.Left`, `App.Widget.Today` | | 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 | | --- | --- | --- | --- | --- | --- | @@ -5744,6 +5749,7 @@ Kontrol edilmeli (koddan tespit edilenler): | Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup | | Kapsam | Kiracı | | 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 | | --- | --- | --- | --- | --- | --- | @@ -5775,6 +5781,7 @@ Kontrol edilmeli (koddan tespit edilenler): | Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup | | Kapsam | Kiracı | | 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 | | --- | --- | --- | --- | --- | --- | diff --git a/configs/seeds/docs/modules/App.Inventory.md b/configs/seeds/docs/modules/App.Inventory.md index a277ce4e..fbac6ff2 100644 --- a/configs/seeds/docs/modules/App.Inventory.md +++ b/configs/seeds/docs/modules/App.Inventory.md @@ -464,7 +464,7 @@ Wizard'lar `Inventory_Stock.json`, `Inventory_StockMove.json`; nesneler `Inv_T_S | Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup | | Kapsam | Kiracı | | 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` | | 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 | | Kapsam | Kiracı | | 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` | | 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 | | Kapsam | Kiracı | | 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` | | Alan | Başlık | Editör | Zorunlu | Formda | Kaynak | diff --git a/configs/seeds/docs/modules/App.Prc.md b/configs/seeds/docs/modules/App.Prc.md index a1584046..151d9a99 100644 --- a/configs/seeds/docs/modules/App.Prc.md +++ b/configs/seeds/docs/modules/App.Prc.md @@ -315,7 +315,7 @@ Tüm tablolar kiracı + tam audit + soft delete. ### 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 diff --git a/configs/seeds/docs/modules/App.Prj.md b/configs/seeds/docs/modules/App.Prj.md index f714b6aa..9376788c 100644 --- a/configs/seeds/docs/modules/App.Prj.md +++ b/configs/seeds/docs/modules/App.Prj.md @@ -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 -`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 @@ -175,7 +175,7 @@ Dakika = (Bitiş − Başlangıç) saat × 60, yuvarlanır, negatif olamaz; form ### 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 @@ -241,7 +241,7 @@ View'lar: `Prj_V_ProjectMember` (takım hesapları) ve `Prj_V_ProjectCostSummary ### 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 @@ -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 | | --- | --- | --- | --- | --- | --- | | `ParentId` | Üst | dxTextBox | | | | -| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project | | `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch | +| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project | | `Title` | Personel / İş Adı | dxTextBox | | | | | `StartDate` | Başlangıç | 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 | | --- | --- | --- | --- | --- | --- | -| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project | | `BranchId` | Şube Adı | dxSelectBox | | | sorgu: Sas_T_Branch | +| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project | | `ParentId` | Üst | dxTextBox | | | | | `Title` | Gider Kalemi | dxTextBox | | | | | `ResourceType` | Kaynak Tipi | dxSelectBox | | | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other | diff --git a/configs/seeds/postgres/object/Hr_S_LeaveSickLeaveSync.sql b/configs/seeds/postgres/object/Hr_S_LeaveSickLeaveSync.sql index 1221be6c..644acfc5 100644 --- a/configs/seeds/postgres/object/Hr_S_LeaveSickLeaveSync.sql +++ b/configs/seeds/postgres/object/Hr_S_LeaveSickLeaveSync.sql @@ -76,11 +76,13 @@ BEGIN 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. + -- Ş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" - ("Id", "TenantId", "RequestNo", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "LeaveTypeId", + ("Id", "TenantId", "BranchId", "RequestNo", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "LeaveTypeId", "StartDate", "EndDate", "IsHalfDay", "Days", "Description", "SickLeaveId", "ApprovalStatus", "ApprovalUser", "ApprovalDate", "LastNotifiedStatus", "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)), '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 FROM public."Hr_T_LeaveRequest" x diff --git a/configs/seeds/postgres/object/Hr_S_PerformancePeriodActivate.sql b/configs/seeds/postgres/object/Hr_S_PerformancePeriodActivate.sql index e4b8e7cc..ef9963cb 100644 --- a/configs/seeds/postgres/object/Hr_S_PerformancePeriodActivate.sql +++ b/configs/seeds/postgres/object/Hr_S_PerformancePeriodActivate.sql @@ -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 -- dokunulmaz, böylece dönem yeniden kaydedildiğinde yalnızca yeni katılan çalışanlar eklenir. WITH created AS ( - INSERT INTO "Hr_T_PerformanceReview" ("Id", "TenantId", "PeriodId", "EmployeeId", "EmployeeName", "DepartmentId", "JobPositionId", "Status", "LastStatus", "IsActive", "CreationTime", "CreatorId", "IsDeleted") - 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 + -- Ş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") + 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 WHERE u."IsDeleted" = FALSE AND u."IsActive" = TRUE AND (u."TenantId" = v_TenantId OR (u."TenantId" IS NULL AND v_TenantId IS NULL)) diff --git a/configs/seeds/postgres/object/Hr_T_DisciplinaryCase.sql b/configs/seeds/postgres/object/Hr_T_DisciplinaryCase.sql index 0bbb6b2d..2091a5f2 100644 --- a/configs/seeds/postgres/object/Hr_T_DisciplinaryCase.sql +++ b/configs/seeds/postgres/object/Hr_T_DisciplinaryCase.sql @@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS public."Hr_T_DisciplinaryCase" ( "Id" uuid NOT NULL DEFAULT gen_random_uuid(), "TenantId" uuid NULL, + "BranchId" uuid NOT NULL, "CaseNo" varchar(32) NULL, "UserId" uuid NOT NULL, "DepartmentId" uuid NULL, diff --git a/configs/seeds/postgres/object/Hr_T_LeaveRequest.sql b/configs/seeds/postgres/object/Hr_T_LeaveRequest.sql index 6a08b4a7..a342f4eb 100644 --- a/configs/seeds/postgres/object/Hr_T_LeaveRequest.sql +++ b/configs/seeds/postgres/object/Hr_T_LeaveRequest.sql @@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS public."Hr_T_LeaveRequest" ( "Id" uuid NOT NULL DEFAULT gen_random_uuid(), "TenantId" uuid NULL, + "BranchId" uuid NOT NULL, "RequestNo" varchar(32) NULL, "EmployeeId" uuid NOT NULL, "EmployeeName" varchar(256) NULL, diff --git a/configs/seeds/postgres/object/Hr_T_PerformanceReview.sql b/configs/seeds/postgres/object/Hr_T_PerformanceReview.sql index a93beed5..0fc33c1f 100644 --- a/configs/seeds/postgres/object/Hr_T_PerformanceReview.sql +++ b/configs/seeds/postgres/object/Hr_T_PerformanceReview.sql @@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS public."Hr_T_PerformanceReview" ( "Id" uuid NOT NULL DEFAULT gen_random_uuid(), "TenantId" uuid NULL, + "BranchId" uuid NOT NULL, "PeriodId" uuid NOT NULL, "EmployeeId" uuid NOT NULL, "EmployeeName" varchar(128) NULL, diff --git a/configs/seeds/sql/object/Hr_S_LeaveSickLeaveSync.sql b/configs/seeds/sql/object/Hr_S_LeaveSickLeaveSync.sql index ac08c568..86e37721 100644 --- a/configs/seeds/sql/object/Hr_S_LeaveSickLeaveSync.sql +++ b/configs/seeds/sql/object/Hr_S_LeaveSickLeaveSync.sql @@ -65,11 +65,13 @@ BEGIN 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. + -- Ş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 - (Id, TenantId, RequestNo, EmployeeId, EmployeeName, DepartmentId, JobPositionId, LeaveTypeId, + (Id, TenantId, BranchId, RequestNo, EmployeeId, EmployeeName, DepartmentId, JobPositionId, LeaveTypeId, StartDate, EndDate, IsHalfDay, Days, [Description], SickLeaveId, ApprovalStatus, ApprovalUser, ApprovalDate, LastNotifiedStatus, IsActive, CreationTime, CreatorId, IsDeleted) 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( (SELECT COALESCE(MAX(TRY_CAST(RIGHT(x.RequestNo, 5) AS int)), 0) + 1 FROM Hr_T_LeaveRequest x diff --git a/configs/seeds/sql/object/Hr_S_PerformancePeriodActivate.sql b/configs/seeds/sql/object/Hr_S_PerformancePeriodActivate.sql index 61131512..72d9a181 100644 --- a/configs/seeds/sql/object/Hr_S_PerformancePeriodActivate.sql +++ b/configs/seeds/sql/object/Hr_S_PerformancePeriodActivate.sql @@ -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 -- 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 - 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 WHERE u.IsDeleted = 0 AND u.IsActive = 1 AND (u.TenantId = @TenantId OR (u.TenantId IS NULL AND @TenantId IS NULL)) diff --git a/configs/seeds/sql/object/Hr_T_DisciplinaryCase.sql b/configs/seeds/sql/object/Hr_T_DisciplinaryCase.sql index 03c2b18d..cc5192c5 100644 --- a/configs/seeds/sql/object/Hr_T_DisciplinaryCase.sql +++ b/configs/seeds/sql/object/Hr_T_DisciplinaryCase.sql @@ -4,6 +4,7 @@ BEGIN ( [Id] uniqueidentifier NOT NULL DEFAULT NEWID(), [TenantId] uniqueidentifier NULL, + [BranchId] uniqueidentifier NOT NULL, [CaseNo] nvarchar(32) NULL, [UserId] uniqueidentifier NOT NULL, [DepartmentId] uniqueidentifier NULL, diff --git a/configs/seeds/sql/object/Hr_T_LeaveRequest.sql b/configs/seeds/sql/object/Hr_T_LeaveRequest.sql index 2c0c519e..e1a0f32f 100644 --- a/configs/seeds/sql/object/Hr_T_LeaveRequest.sql +++ b/configs/seeds/sql/object/Hr_T_LeaveRequest.sql @@ -4,6 +4,7 @@ BEGIN ( [Id] uniqueidentifier NOT NULL DEFAULT NEWID(), [TenantId] uniqueidentifier NULL, + [BranchId] uniqueidentifier NOT NULL, [RequestNo] nvarchar(32) NULL, [EmployeeId] uniqueidentifier NOT NULL, [EmployeeName] nvarchar(256) NULL, diff --git a/configs/seeds/sql/object/Hr_T_PerformanceReview.sql b/configs/seeds/sql/object/Hr_T_PerformanceReview.sql index 97c71686..01f5ce00 100644 --- a/configs/seeds/sql/object/Hr_T_PerformanceReview.sql +++ b/configs/seeds/sql/object/Hr_T_PerformanceReview.sql @@ -4,6 +4,7 @@ BEGIN ( [Id] uniqueidentifier NOT NULL DEFAULT NEWID(), [TenantId] uniqueidentifier NULL, + [BranchId] uniqueidentifier NOT NULL, [PeriodId] uniqueidentifier NOT NULL, [EmployeeId] uniqueidentifier NOT NULL, [EmployeeName] nvarchar(128) NULL, diff --git a/configs/seeds/wizard/Hr_DisciplinaryCase.json b/configs/seeds/wizard/Hr_DisciplinaryCase.json index b36141b1..c45a272b 100644 --- a/configs/seeds/wizard/Hr_DisciplinaryCase.json +++ b/configs/seeds/wizard/Hr_DisciplinaryCase.json @@ -79,6 +79,12 @@ "En": "Case No", "Tr": "Dosya No" }, + { + "FieldName": "BranchId", + "CaptionName": "App.Listform.ListformField.BranchId", + "En": "Branch", + "Tr": "Tesis Adı" + }, { "FieldName": "UserId", "CaptionName": "App.Listform.ListformField.Employee", @@ -243,6 +249,13 @@ "Value": "Open", "CustomValueType": 1, "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": [ @@ -436,6 +449,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -497,7 +511,7 @@ "InsertServiceAddress": "list-form-data/insert", "DeleteServiceAddress": "list-form-data/delete", "IsTenant": true, - "IsBranch": false, + "IsBranch": true, "IsOrganizationUnit": false, "ListFormType": "List", "IsSubForm": false, @@ -563,6 +577,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1076,6 +1091,146 @@ "CreatorId": null, "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, "ListFormCode": "App.Hr.DisciplinaryCase", @@ -1099,7 +1254,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 3, + "ListOrderNo": 4, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1166,6 +1321,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1199,7 +1356,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 1, + "EditOrderNo": 2, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 2, @@ -1237,7 +1394,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 4, + "ListOrderNo": 5, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1325,7 +1482,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 2, + "EditOrderNo": 3, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -1363,7 +1520,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 5, + "ListOrderNo": 6, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1451,7 +1608,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 3, + "EditOrderNo": 4, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -1489,7 +1646,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 6, + "ListOrderNo": 7, "SourceDbType": 5, "CultureName": "en", "DataType": "date", @@ -1556,6 +1713,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1589,7 +1748,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 4, + "EditOrderNo": 5, "EditGroupOrderNo": 1, "EditorType2": "dxDateBox", "ColSpan": 1, @@ -1627,7 +1786,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 7, + "ListOrderNo": 8, "SourceDbType": 6, "CultureName": "en", "DataType": "datetime", @@ -1715,7 +1874,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 5, + "EditOrderNo": 6, "EditGroupOrderNo": 1, "EditorType2": "dxDateBox", "ColSpan": 1, @@ -1753,7 +1912,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 8, + "ListOrderNo": 9, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -1841,7 +2000,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 6, + "EditOrderNo": 7, "EditGroupOrderNo": 1, "EditorType2": "dxTextBox", "ColSpan": 2, @@ -1879,7 +2038,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 9, + "ListOrderNo": 10, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1967,7 +2126,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 7, + "EditOrderNo": 8, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 2, @@ -2005,7 +2164,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 10, + "ListOrderNo": 11, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2072,6 +2231,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2105,7 +2266,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 8, + "EditOrderNo": 9, "EditGroupOrderNo": 1, "EditorType2": "dxRadioGroup", "ColSpan": 2, @@ -2143,7 +2304,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 11, + "ListOrderNo": 12, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2210,6 +2371,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2281,7 +2444,7 @@ "Visible": false, "IsActive": true, "Width": 0, - "ListOrderNo": 12, + "ListOrderNo": 13, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2348,6 +2511,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2419,7 +2584,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 13, + "ListOrderNo": 14, "SourceDbType": 16, "CultureName": "en", "DataType": "string", diff --git a/configs/seeds/wizard/Hr_EventLog.json b/configs/seeds/wizard/Hr_EventLog.json index a56c4de1..f7a0b3f7 100644 --- a/configs/seeds/wizard/Hr_EventLog.json +++ b/configs/seeds/wizard/Hr_EventLog.json @@ -164,7 +164,15 @@ "UpdateBeforeCommand": null, "UpdateAfterCommand": null, "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": [ { "ColGap": 3, @@ -1046,7 +1054,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Hr_JobOffer.json b/configs/seeds/wizard/Hr_JobOffer.json index 315400f9..fc2b1949 100644 --- a/configs/seeds/wizard/Hr_JobOffer.json +++ b/configs/seeds/wizard/Hr_JobOffer.json @@ -386,6 +386,13 @@ "Value": "Office", "CustomValueType": 1, "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": [], @@ -564,6 +571,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -673,6 +681,7 @@ "ApprovalDescriptionFieldName": "ApprovalDescription", "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [ { "ListFormCode": "App.Hr.JobOffer", @@ -1385,6 +1394,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1649,6 +1660,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2039,6 +2052,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2177,6 +2192,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2315,6 +2332,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2570,7 +2589,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { @@ -2579,6 +2598,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2717,6 +2738,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2855,6 +2878,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2993,6 +3018,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -3131,6 +3158,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_JobPosting.json b/configs/seeds/wizard/Hr_JobPosting.json index 36105b52..8aec1b6b 100644 --- a/configs/seeds/wizard/Hr_JobPosting.json +++ b/configs/seeds/wizard/Hr_JobPosting.json @@ -352,6 +352,13 @@ "Value": "@DATE", "CustomValueType": 2, "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": [ @@ -545,6 +552,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -646,6 +654,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1375,6 +1384,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1513,6 +1524,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1642,7 +1655,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { @@ -1651,6 +1664,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1789,6 +1804,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1927,6 +1944,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2065,6 +2084,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2203,6 +2224,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2341,6 +2364,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_LeaveRequest.json b/configs/seeds/wizard/Hr_LeaveRequest.json index bf54934c..8da3373f 100644 --- a/configs/seeds/wizard/Hr_LeaveRequest.json +++ b/configs/seeds/wizard/Hr_LeaveRequest.json @@ -92,6 +92,12 @@ "En": "Request No", "Tr": "Talep No" }, + { + "FieldName": "BranchId", + "CaptionName": "App.Listform.ListformField.BranchId", + "En": "Branch", + "Tr": "Tesis Adı" + }, { "FieldName": "EmployeeId", "CaptionName": "App.Listform.ListformField.EmployeeId", @@ -323,6 +329,13 @@ "Value": "@DATE", "CustomValueType": 2, "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": [ @@ -516,6 +529,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -584,7 +598,7 @@ "InsertServiceAddress": "list-form-data/insert", "DeleteServiceAddress": "list-form-data/delete", "IsTenant": true, - "IsBranch": false, + "IsBranch": true, "IsOrganizationUnit": false, "ListFormType": "List", "IsSubForm": false, @@ -610,6 +624,7 @@ "ApprovalDescriptionFieldName": "ApprovalDescription", "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [ { "ListFormCode": "App.Hr.LeaveRequest", @@ -1232,6 +1247,146 @@ "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": "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, "ListFormCode": "App.Hr.LeaveRequest", @@ -1255,7 +1410,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 3, + "ListOrderNo": 4, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1322,6 +1477,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1355,7 +1512,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 2, + "EditOrderNo": 3, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -1393,7 +1550,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 4, + "ListOrderNo": 5, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1481,7 +1638,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 3, + "EditOrderNo": 4, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -1519,7 +1676,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 5, + "ListOrderNo": 6, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1607,7 +1764,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 4, + "EditOrderNo": 5, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -1645,7 +1802,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 6, + "ListOrderNo": 7, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1712,144 +1869,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", - "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": 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": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1885,13 +1906,13 @@ "Format": null, "EditOrderNo": 6, "EditGroupOrderNo": 1, - "EditorType2": "dxDateBox", + "EditorType2": "dxSelectBox", "ColSpan": 1, - "EditorOptions": "{\"type\":\"datetime\",\"displayFormat\":\"dd.MM.yyyy HH:mm\",\"useMaskBehavior\":true,\"showClearButton\":true}", + "EditorOptions": "{\"searchEnabled\":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\":\"{ 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, "LastModifierId": null, "CreationTime": "0001-01-01T00:00:00", @@ -1914,8 +1935,8 @@ "JoinFieldName2": null, "BaseTableJoinFieldName2_OrValue": null }, - "FieldName": "EndDate", - "CaptionName": "App.Listform.ListformField.EndDate", + "FieldName": "StartDate", + "CaptionName": "App.Listform.ListformField.StartDate", "PlaceHolder": null, "ReadOnly": false, "Visible": true, @@ -1988,6 +2009,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2029,6 +2052,146 @@ "GridBoxOptions": null, "TagBoxOptions": 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 })()) }", "LastModificationTime": null, "LastModifierId": null, @@ -2059,7 +2222,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 9, + "ListOrderNo": 10, "SourceDbType": 3, "CultureName": "en", "DataType": "boolean", @@ -2147,7 +2310,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 8, + "EditOrderNo": 9, "EditGroupOrderNo": 1, "EditorType2": "dxCheckBox", "ColSpan": 1, @@ -2185,7 +2348,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 10, + "ListOrderNo": 11, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2273,7 +2436,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 9, + "EditOrderNo": 10, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -2311,7 +2474,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 11, + "ListOrderNo": 12, "SourceDbType": 7, "CultureName": "en", "DataType": "number", @@ -2399,7 +2562,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 10, + "EditOrderNo": 11, "EditGroupOrderNo": 1, "EditorType2": "dxNumberBox", "ColSpan": 1, @@ -2437,7 +2600,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 12, + "ListOrderNo": 13, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2525,7 +2688,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 11, + "EditOrderNo": 12, "EditGroupOrderNo": 1, "EditorType2": "dxTextBox", "ColSpan": 2, @@ -2563,7 +2726,7 @@ "Visible": false, "IsActive": true, "Width": 0, - "ListOrderNo": 14, + "ListOrderNo": 15, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2689,7 +2852,7 @@ "Visible": false, "IsActive": true, "Width": 0, - "ListOrderNo": 14, + "ListOrderNo": 15, "SourceDbType": 11, "CultureName": "en", "DataType": "number", @@ -2815,7 +2978,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 15, + "ListOrderNo": 16, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2941,7 +3104,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 16, + "ListOrderNo": 17, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3067,7 +3230,7 @@ "Visible": false, "IsActive": true, "Width": 0, - "ListOrderNo": 17, + "ListOrderNo": 18, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3193,7 +3356,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 18, + "ListOrderNo": 19, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3319,7 +3482,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 19, + "ListOrderNo": 20, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3445,7 +3608,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 20, + "ListOrderNo": 21, "SourceDbType": 6, "CultureName": "en", "DataType": "datetime", @@ -3571,7 +3734,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 21, + "ListOrderNo": 22, "SourceDbType": 16, "CultureName": "en", "DataType": "string", diff --git a/configs/seeds/wizard/Hr_MyLeaveRequest.json b/configs/seeds/wizard/Hr_MyLeaveRequest.json index 84f5196a..9c09d985 100644 --- a/configs/seeds/wizard/Hr_MyLeaveRequest.json +++ b/configs/seeds/wizard/Hr_MyLeaveRequest.json @@ -217,6 +217,13 @@ "Value": "@USERID", "CustomValueType": 2, "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, @@ -437,6 +444,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -531,6 +539,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1134,6 +1143,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1272,6 +1283,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1410,6 +1423,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_PerformanceReview.json b/configs/seeds/wizard/Hr_PerformanceReview.json index 5d2fafd2..79fa152b 100644 --- a/configs/seeds/wizard/Hr_PerformanceReview.json +++ b/configs/seeds/wizard/Hr_PerformanceReview.json @@ -197,10 +197,10 @@ "Tr": "Kimlik" }, { - "FieldName": "PeriodId", - "CaptionName": "App.Listform.ListformField.PeriodId", - "En": "Period", - "Tr": "Dönem" + "FieldName": "BranchId", + "CaptionName": "App.Listform.ListformField.BranchId", + "En": "Branch", + "Tr": "Tesis Adı" }, { "FieldName": "EmployeeId", @@ -214,12 +214,6 @@ "En": "Employee Name", "Tr": "Çalışan Adı" }, - { - "FieldName": "ManagerId", - "CaptionName": "App.Listform.ListformField.ManagerId", - "En": "Manager", - "Tr": "Yönetici" - }, { "FieldName": "DepartmentId", "CaptionName": "App.Listform.ListformField.DepartmentId", @@ -232,6 +226,18 @@ "En": "Position", "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", "CaptionName": "App.Listform.ListformField.ReviewStatus", @@ -426,6 +432,13 @@ "Value": "true", "CustomValueType": 1, "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": [ @@ -688,7 +701,7 @@ "InsertServiceAddress": "list-form-data/insert", "DeleteServiceAddress": "list-form-data/delete", "IsTenant": true, - "IsBranch": false, + "IsBranch": true, "IsOrganizationUnit": false, "ListFormType": "List", "IsSubForm": false, @@ -1176,8 +1189,8 @@ "JoinFieldName2": null, "BaseTableJoinFieldName2_OrValue": null }, - "FieldName": "PeriodId", - "CaptionName": "App.Listform.ListformField.PeriodId", + "FieldName": "BranchId", + "CaptionName": "App.Listform.ListformField.BranchId", "PlaceHolder": null, "ReadOnly": false, "Visible": true, @@ -1241,7 +1254,7 @@ "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" + "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": [ { @@ -1566,132 +1579,6 @@ "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": "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, "ListFormCode": "App.Hr.PerformanceReview", @@ -1715,7 +1602,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 6, + "ListOrderNo": 5, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1803,7 +1690,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 4, + "EditOrderNo": 3, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -1841,7 +1728,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 7, + "ListOrderNo": 6, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1929,6 +1816,146 @@ }, "Alignment": "left", "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, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", @@ -1944,6 +1971,132 @@ "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": "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, "ListFormCode": "App.Hr.PerformanceReview", @@ -1967,7 +2120,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 8, + "ListOrderNo": 9, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -2069,7 +2222,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 6, + "EditOrderNo": 7, "EditGroupOrderNo": 1, "EditorType2": "dxSelectBox", "ColSpan": 1, @@ -2107,7 +2260,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 9, + "ListOrderNo": 10, "SourceDbType": 3, "CultureName": "en", "DataType": "boolean", @@ -2195,7 +2348,7 @@ }, "Alignment": "left", "Format": null, - "EditOrderNo": 7, + "EditOrderNo": 8, "EditGroupOrderNo": 1, "EditorType2": "dxCheckBox", "ColSpan": 1, @@ -2233,7 +2386,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 10, + "ListOrderNo": 11, "SourceDbType": 7, "CultureName": "en", "DataType": "number", @@ -2359,7 +2512,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 11, + "ListOrderNo": 12, "SourceDbType": 7, "CultureName": "en", "DataType": "number", @@ -2485,7 +2638,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 12, + "ListOrderNo": 13, "SourceDbType": 7, "CultureName": "en", "DataType": "number", @@ -2611,7 +2764,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 13, + "ListOrderNo": 14, "SourceDbType": 7, "CultureName": "en", "DataType": "number", @@ -2737,7 +2890,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 14, + "ListOrderNo": 15, "SourceDbType": 7, "CultureName": "en", "DataType": "number", @@ -2863,7 +3016,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 15, + "ListOrderNo": 16, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -2989,7 +3142,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 16, + "ListOrderNo": 17, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3115,7 +3268,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 17, + "ListOrderNo": 18, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3241,7 +3394,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 18, + "ListOrderNo": 19, "SourceDbType": 16, "CultureName": "en", "DataType": "string", @@ -3367,7 +3520,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 19, + "ListOrderNo": 20, "SourceDbType": 6, "CultureName": "en", "DataType": "datetime", @@ -3493,7 +3646,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 20, + "ListOrderNo": 21, "SourceDbType": 6, "CultureName": "en", "DataType": "datetime", @@ -3619,7 +3772,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 21, + "ListOrderNo": 22, "SourceDbType": 6, "CultureName": "en", "DataType": "datetime", diff --git a/configs/seeds/wizard/Hr_StaffRequest.json b/configs/seeds/wizard/Hr_StaffRequest.json index 776ae38f..4585cb33 100644 --- a/configs/seeds/wizard/Hr_StaffRequest.json +++ b/configs/seeds/wizard/Hr_StaffRequest.json @@ -386,6 +386,13 @@ "Value": "TRY", "CustomValueType": 1, "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": [ @@ -579,6 +586,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -680,6 +688,7 @@ "ApprovalDescriptionFieldName": "ApprovalDescription", "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [ { "ListFormCode": "App.Hr.StaffRequest", @@ -1392,6 +1401,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1647,7 +1658,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { @@ -1656,6 +1667,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1794,6 +1807,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1932,6 +1947,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2070,6 +2087,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2208,6 +2227,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2472,6 +2493,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_Training.json b/configs/seeds/wizard/Hr_Training.json index 68bdfd36..9c9d6c09 100644 --- a/configs/seeds/wizard/Hr_Training.json +++ b/configs/seeds/wizard/Hr_Training.json @@ -276,7 +276,15 @@ "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", "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": [ { "ColGap": 3, @@ -468,6 +476,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -589,6 +598,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1066,6 +1076,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1204,6 +1216,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1342,6 +1356,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1471,7 +1487,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { @@ -1480,6 +1496,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1618,6 +1636,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1756,6 +1776,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2272,6 +2294,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_Vehicle.json b/configs/seeds/wizard/Hr_Vehicle.json index 1795f4ce..999a82b3 100644 --- a/configs/seeds/wizard/Hr_Vehicle.json +++ b/configs/seeds/wizard/Hr_Vehicle.json @@ -259,6 +259,13 @@ "Value": "true", "CustomValueType": 1, "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": [ @@ -452,6 +459,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -461,7 +469,7 @@ "Popup": { "Title": "App.Hr.Vehicle.Title", "ShowTitle": true, - "Width": 800, + "Width": 1000, "Height": 875, "FullScreen": false, "HideOnOutsideClick": true, @@ -553,6 +561,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1021,7 +1030,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { @@ -1030,6 +1039,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1168,6 +1179,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1936,6 +1949,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2326,6 +2341,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_VehicleMovement.json b/configs/seeds/wizard/Hr_VehicleMovement.json index bb92792f..7935fd8f 100644 --- a/configs/seeds/wizard/Hr_VehicleMovement.json +++ b/configs/seeds/wizard/Hr_VehicleMovement.json @@ -271,6 +271,13 @@ "Value": "0", "CustomValueType": 1, "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": [ @@ -464,6 +471,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -551,6 +559,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1154,6 +1163,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1283,7 +1294,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], @@ -1418,6 +1429,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1556,6 +1569,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1946,6 +1961,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2084,6 +2101,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Hr_Visitor.json b/configs/seeds/wizard/Hr_Visitor.json index 28391ab9..12b2dc8a 100644 --- a/configs/seeds/wizard/Hr_Visitor.json +++ b/configs/seeds/wizard/Hr_Visitor.json @@ -186,7 +186,15 @@ "UpdateBeforeCommand": null, "UpdateAfterCommand": null, "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": [ { "ColGap": 3, @@ -378,6 +386,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -458,6 +467,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -935,6 +945,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1073,6 +1085,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1211,6 +1225,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1601,6 +1617,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1739,6 +1757,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -2120,7 +2140,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { @@ -2129,6 +2149,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Inventory_Delivery.json b/configs/seeds/wizard/Inventory_Delivery.json index 9aa7fbd8..ac727571 100644 --- a/configs/seeds/wizard/Inventory_Delivery.json +++ b/configs/seeds/wizard/Inventory_Delivery.json @@ -317,7 +317,7 @@ "FieldDbType": 9, "Value": "", "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", @@ -1697,7 +1697,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Inventory_InternalTransfer.json b/configs/seeds/wizard/Inventory_InternalTransfer.json index 000c6c76..65a7b3a3 100644 --- a/configs/seeds/wizard/Inventory_InternalTransfer.json +++ b/configs/seeds/wizard/Inventory_InternalTransfer.json @@ -311,7 +311,7 @@ "FieldDbType": 9, "Value": "", "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": [ @@ -1684,7 +1684,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Inventory_Location.json b/configs/seeds/wizard/Inventory_Location.json index 4c90cb44..e01aca50 100644 --- a/configs/seeds/wizard/Inventory_Location.json +++ b/configs/seeds/wizard/Inventory_Location.json @@ -197,6 +197,13 @@ "Value": "true", "CustomValueType": 1, "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": [ @@ -940,7 +947,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Inventory_OperationType.json b/configs/seeds/wizard/Inventory_OperationType.json index 8acac7ee..bd17dce9 100644 --- a/configs/seeds/wizard/Inventory_OperationType.json +++ b/configs/seeds/wizard/Inventory_OperationType.json @@ -212,6 +212,13 @@ "Value": "true", "CustomValueType": 1, "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": [ @@ -955,7 +962,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Inventory_Receipt.json b/configs/seeds/wizard/Inventory_Receipt.json index 679c0836..3d1faa2f 100644 --- a/configs/seeds/wizard/Inventory_Receipt.json +++ b/configs/seeds/wizard/Inventory_Receipt.json @@ -311,7 +311,7 @@ "FieldDbType": 9, "Value": "", "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": [ @@ -1810,7 +1810,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Inventory_Stock.json b/configs/seeds/wizard/Inventory_Stock.json index 43381785..de9246f4 100644 --- a/configs/seeds/wizard/Inventory_Stock.json +++ b/configs/seeds/wizard/Inventory_Stock.json @@ -937,7 +937,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Inventory_StockMove.json b/configs/seeds/wizard/Inventory_StockMove.json index 8fc47fc5..b1a2874a 100644 --- a/configs/seeds/wizard/Inventory_StockMove.json +++ b/configs/seeds/wizard/Inventory_StockMove.json @@ -2550,7 +2550,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Inventory_Transfer.json b/configs/seeds/wizard/Inventory_Transfer.json index 2b9f98a9..722e13bc 100644 --- a/configs/seeds/wizard/Inventory_Transfer.json +++ b/configs/seeds/wizard/Inventory_Transfer.json @@ -1521,7 +1521,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Inventory_Warehouse.json b/configs/seeds/wizard/Inventory_Warehouse.json index e9faf15e..032ff8ad 100644 --- a/configs/seeds/wizard/Inventory_Warehouse.json +++ b/configs/seeds/wizard/Inventory_Warehouse.json @@ -148,6 +148,13 @@ "Value": "true", "CustomValueType": 1, "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": [ @@ -341,6 +348,7 @@ "AllowAllDeleting": false, "AllowAdding": true, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -421,6 +429,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -889,7 +898,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { @@ -898,6 +907,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1036,6 +1047,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1174,6 +1187,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, @@ -1312,6 +1327,8 @@ "IgnoreEmptyValue": false, "Reevaluate": true, "ComparisonType": "", + "ComparisonTarget": null, + "ValidationCallback": null, "Pattern": "", "Max": null, "Min": null, diff --git a/configs/seeds/wizard/Prc_MaterialRequest.json b/configs/seeds/wizard/Prc_MaterialRequest.json index a071bd5a..5299e246 100644 --- a/configs/seeds/wizard/Prc_MaterialRequest.json +++ b/configs/seeds/wizard/Prc_MaterialRequest.json @@ -1391,7 +1391,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { diff --git a/configs/seeds/wizard/Prc_MaterialRequestDeptApproval.json b/configs/seeds/wizard/Prc_MaterialRequestDeptApproval.json index 6c4c62eb..92b821f6 100644 --- a/configs/seeds/wizard/Prc_MaterialRequestDeptApproval.json +++ b/configs/seeds/wizard/Prc_MaterialRequestDeptApproval.json @@ -1514,7 +1514,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { diff --git a/configs/seeds/wizard/Prc_MaterialRequestPlan.json b/configs/seeds/wizard/Prc_MaterialRequestPlan.json index cd8d8fc9..72f72fc1 100644 --- a/configs/seeds/wizard/Prc_MaterialRequestPlan.json +++ b/configs/seeds/wizard/Prc_MaterialRequestPlan.json @@ -1566,7 +1566,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Prc_MaterialRequestPlanSource.json b/configs/seeds/wizard/Prc_MaterialRequestPlanSource.json index 3bfbc1ad..ad5192ce 100644 --- a/configs/seeds/wizard/Prc_MaterialRequestPlanSource.json +++ b/configs/seeds/wizard/Prc_MaterialRequestPlanSource.json @@ -1058,7 +1058,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Prc_MaterialRequestPlanStock.json b/configs/seeds/wizard/Prc_MaterialRequestPlanStock.json index 396172b5..7a392af6 100644 --- a/configs/seeds/wizard/Prc_MaterialRequestPlanStock.json +++ b/configs/seeds/wizard/Prc_MaterialRequestPlanStock.json @@ -973,7 +973,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Prc_MaterialRequestPlanTrack.json b/configs/seeds/wizard/Prc_MaterialRequestPlanTrack.json index eeb51a05..72ce40c9 100644 --- a/configs/seeds/wizard/Prc_MaterialRequestPlanTrack.json +++ b/configs/seeds/wizard/Prc_MaterialRequestPlanTrack.json @@ -3387,7 +3387,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Prc_MaterialRequestPurchaseApproval.json b/configs/seeds/wizard/Prc_MaterialRequestPurchaseApproval.json index 8dd9f7e7..4cb502b0 100644 --- a/configs/seeds/wizard/Prc_MaterialRequestPurchaseApproval.json +++ b/configs/seeds/wizard/Prc_MaterialRequestPurchaseApproval.json @@ -1519,7 +1519,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [ { diff --git a/configs/seeds/wizard/Prc_MyMaterialRequest.json b/configs/seeds/wizard/Prc_MyMaterialRequest.json index 9ea3ee81..f3897eeb 100644 --- a/configs/seeds/wizard/Prc_MyMaterialRequest.json +++ b/configs/seeds/wizard/Prc_MyMaterialRequest.json @@ -297,21 +297,21 @@ "FieldDbType": 9, "Value": "", "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", "FieldDbType": 9, "Value": "", "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", "FieldDbType": 9, "Value": "", "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": [ @@ -1566,7 +1566,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Prc_PurchaseAgreement.json b/configs/seeds/wizard/Prc_PurchaseAgreement.json index e2adb27f..f3706018 100644 --- a/configs/seeds/wizard/Prc_PurchaseAgreement.json +++ b/configs/seeds/wizard/Prc_PurchaseAgreement.json @@ -274,7 +274,7 @@ "FieldDbType": 9, "Value": "", "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": [ @@ -1172,7 +1172,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Prc_PurchaseOrder.json b/configs/seeds/wizard/Prc_PurchaseOrder.json index 33e8e5e5..15f53078 100644 --- a/configs/seeds/wizard/Prc_PurchaseOrder.json +++ b/configs/seeds/wizard/Prc_PurchaseOrder.json @@ -293,14 +293,14 @@ "FieldDbType": 9, "Value": "", "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", "FieldDbType": 9, "Value": "", "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": [ @@ -1547,7 +1547,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Prc_PurchaseOrderProduct.json b/configs/seeds/wizard/Prc_PurchaseOrderProduct.json index c8ab359d..9a4de795 100644 --- a/configs/seeds/wizard/Prc_PurchaseOrderProduct.json +++ b/configs/seeds/wizard/Prc_PurchaseOrderProduct.json @@ -1485,7 +1485,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": 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": [], "ColumnStylingDto": [], diff --git a/configs/seeds/wizard/Prc_PurchaseRfq.json b/configs/seeds/wizard/Prc_PurchaseRfq.json index f46df7a5..e49df5eb 100644 --- a/configs/seeds/wizard/Prc_PurchaseRfq.json +++ b/configs/seeds/wizard/Prc_PurchaseRfq.json @@ -334,14 +334,14 @@ "FieldDbType": 9, "Value": "", "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", "FieldDbType": 9, "Value": "", "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": [ @@ -1390,7 +1390,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Prj_BudgetReport.json b/configs/seeds/wizard/Prj_BudgetReport.json index 8cb8f322..ab3ab409 100644 --- a/configs/seeds/wizard/Prj_BudgetReport.json +++ b/configs/seeds/wizard/Prj_BudgetReport.json @@ -36,18 +36,18 @@ "En": "Id", "Tr": "Kimlik" }, - { - "FieldName": "ProjectId", - "CaptionName": "App.Listform.ListformField.ProjectId", - "En": "Project", - "Tr": "Proje" - }, { "FieldName": "BranchId", "CaptionName": "App.Listform.ListformField.BranchId", "En": "Branch Name", "Tr": "Şube Adı" }, + { + "FieldName": "ProjectId", + "CaptionName": "App.Listform.ListformField.ProjectId", + "En": "Project", + "Tr": "Proje" + }, { "FieldName": "ParentId", "CaptionName": "App.Listform.ListformField.ParentId", @@ -797,6 +797,132 @@ "CreatorId": null, "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, "ListFormCode": "App.Prj.BudgetReport", @@ -820,7 +946,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 2, + "ListOrderNo": 3, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -923,132 +1049,6 @@ "CreatorId": null, "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, "ListFormCode": "App.Prj.BudgetReport", diff --git a/configs/seeds/wizard/Prj_Diary.json b/configs/seeds/wizard/Prj_Diary.json index 52f3a8e7..b3e1469b 100644 --- a/configs/seeds/wizard/Prj_Diary.json +++ b/configs/seeds/wizard/Prj_Diary.json @@ -182,7 +182,7 @@ "FieldDbType": 9, "Value": "", "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": [ @@ -926,7 +926,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/configs/seeds/wizard/Prj_ManMonth.json b/configs/seeds/wizard/Prj_ManMonth.json index 02987f6c..11df3dfd 100644 --- a/configs/seeds/wizard/Prj_ManMonth.json +++ b/configs/seeds/wizard/Prj_ManMonth.json @@ -42,18 +42,18 @@ "En": "Parent", "Tr": "Üst" }, - { - "FieldName": "ProjectId", - "CaptionName": "App.Listform.ListformField.ProjectId", - "En": "Project", - "Tr": "Proje" - }, { "FieldName": "BranchId", "CaptionName": "App.Listform.ListformField.BranchId", "En": "Branch Name", "Tr": "Şube Adı" }, + { + "FieldName": "ProjectId", + "CaptionName": "App.Listform.ListformField.ProjectId", + "En": "Project", + "Tr": "Proje" + }, { "FieldName": "Title", "CaptionName": "App.Listform.ListformField.PersonnelWorkName", @@ -762,7 +762,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -888,7 +888,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -905,6 +905,132 @@ "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": 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, "ListFormCode": "App.Prj.ManMonth", @@ -928,7 +1054,7 @@ "Visible": true, "IsActive": true, "Width": 0, - "ListOrderNo": 3, + "ListOrderNo": 4, "SourceDbType": 9, "CultureName": "en", "DataType": "string", @@ -1014,139 +1140,13 @@ "GroupInterval": "", "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", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, "EditorType2": "dxSelectBox", "ColSpan": 1, - "EditorOptions": "{\"showClearButton\":true,\"searchEnabled\":true}", + "EditorOptions": null, "GridBoxOptions": null, "TagBoxOptions": null, "ImageUploadOptions": null, @@ -1266,7 +1266,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -1392,7 +1392,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -1518,7 +1518,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -1644,7 +1644,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -1770,7 +1770,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -1896,7 +1896,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, @@ -2022,7 +2022,7 @@ "GroupInterval": "", "WordWrapEnabled": false }, - "Alignment": null, + "Alignment": "left", "Format": null, "EditOrderNo": null, "EditGroupOrderNo": null, diff --git a/configs/seeds/wizard/Prj_PersonnelManMonth.json b/configs/seeds/wizard/Prj_PersonnelManMonth.json index 7118fda7..2071b5c8 100644 --- a/configs/seeds/wizard/Prj_PersonnelManMonth.json +++ b/configs/seeds/wizard/Prj_PersonnelManMonth.json @@ -1124,7 +1124,7 @@ "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" + "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": [], diff --git a/configs/seeds/wizard/Prj_Project.json b/configs/seeds/wizard/Prj_Project.json index 18b7bd48..bf3dfde5 100644 --- a/configs/seeds/wizard/Prj_Project.json +++ b/configs/seeds/wizard/Prj_Project.json @@ -240,7 +240,7 @@ "FieldDbType": 9, "Value": "", "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": [ @@ -1125,7 +1125,7 @@ "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 = 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": [ { diff --git a/configs/seeds/wizard/Prj_ResourceList.json b/configs/seeds/wizard/Prj_ResourceList.json index f9db1193..dc1cd436 100644 --- a/configs/seeds/wizard/Prj_ResourceList.json +++ b/configs/seeds/wizard/Prj_ResourceList.json @@ -375,6 +375,7 @@ "AllowAllDeleting": false, "AllowAdding": false, "AllowDuplicate": false, + "OpenDetailAfterInsert": false, "UseIcons": false, "ConfirmDelete": true, "NewRowPosition": "viewportTop", @@ -447,6 +448,7 @@ "ApprovalDescriptionFieldName": null, "ApprovalIsFilterUserName": false, "ApprovalIsResetWorkflow": false, + "ApprovalIsManualStart": false, "Criteria": [] }, "UserId": null, @@ -1167,7 +1169,7 @@ "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" + "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": [], diff --git a/configs/seeds/wizard/Prj_WorkPackage.json b/configs/seeds/wizard/Prj_WorkPackage.json index abc624b9..905c39e4 100644 --- a/configs/seeds/wizard/Prj_WorkPackage.json +++ b/configs/seeds/wizard/Prj_WorkPackage.json @@ -188,7 +188,7 @@ "FieldDbType": 9, "Value": "", "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": [], @@ -970,7 +970,7 @@ "CascadeFilterOperator": "=", "CascadeParentFields": null, "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": [ { diff --git a/ui/src/services/orgChart.service.ts b/ui/src/services/orgChart.service.ts index 0fe39d1a..28087509 100644 --- a/ui/src/services/orgChart.service.ts +++ b/ui/src/services/orgChart.service.ts @@ -8,10 +8,19 @@ export interface OrgChartUserDto { phoneNumber?: string } +// Sunucu enum'u sayı olarak gelir (OrgChartNodeType, Application.Contracts). +export enum OrgChartNodeType { + Branch = 0, + Department = 1, + JobPosition = 2, +} + export interface OrgChartNodeDto { id: string name: 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 departmentName?: string jobPositionId?: string diff --git a/ui/src/views/admin/hr/OrgChart.tsx b/ui/src/views/admin/hr/OrgChart.tsx index 1809a184..41bce83e 100644 --- a/ui/src/views/admin/hr/OrgChart.tsx +++ b/ui/src/views/admin/hr/OrgChart.tsx @@ -14,6 +14,7 @@ import { FaSitemap, FaBriefcase, FaBuilding, + FaIndustry, FaChevronDown, FaChevronRight, FaSearchPlus, @@ -27,6 +28,7 @@ import { getOrgChartDepartments, getOrgChartJobPositions, OrgChartNodeDto, + OrgChartNodeType, OrgChartUserDto, } from '@/services/orgChart.service' 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 headerH = headerEl ? Math.round(headerEl.getBoundingClientRect().height / zoom) : 34 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.fill() ctx.restore() @@ -456,7 +460,10 @@ function OrgChartNode({ const [collapsed, setCollapsed] = useState(false) const [dragging, setDragging] = useState(false) 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 levelColor = LEVEL_COLORS[depth % LEVEL_COLORS.length] @@ -520,17 +527,19 @@ function OrgChartNode({ }} data-card="" 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`} style={{ cursor: dragging ? 'grabbing' : 'grab' }} onMouseDown={handleDragStart} > - {/* Header bar */} + {/* Header bar — kullanıcı bölümü yokken kartın tamamıdır, alt köşeler de yuvarlanır */}
- {mode === 'department' ? ( + {isBranch ? ( + + ) : mode === 'department' ? ( ) : ( @@ -563,7 +572,7 @@ function OrgChartNode({
{/* Users section */} - {showUsers && ( + {usersVisible && (
{hasUsers ? (