1061 lines
68 KiB
Markdown
1061 lines
68 KiB
Markdown
<!-- module-doc: claims=App.Hr.PerformanceRating -->
|
||
# İK › Performans Yönetimi (`App.Hr.Performance`)
|
||
|
||
Dönem bazlı performans süreci: İK dönemi açar, çalışan hedeflerini ve öz değerlendirmesini yapar,
|
||
yönetici değerlendirir, isteğe bağlı 360 derece geri bildirim toplanır, İK kalibre eder, sonuç
|
||
gelişim planına ve çalışanın yetkinlik profiline yansır. **İnsan Kaynakları menüsü İK
|
||
departmanınındır** (şartları belirler, değerlendirmeleri takip eder ve girer); çalışan ve yönetici
|
||
kendisiyle ilgili her şeyi **Intranet › Dashboard**'daki widget'lardan takip eder. Tamamı konfigürasyondur (Wizard + Custom
|
||
Component + SQL nesneleri); yeni entity, migration ya da React kodu yoktur.
|
||
|
||
> Bu doküman modülün tek "nasıl çalışır" kaynağıdır. Modülde yapılan her değişiklik aynı commit'te
|
||
> buraya yansır (`lowcode.instructions.md` §0.13).
|
||
|
||
---
|
||
|
||
## 1. Amaç ve kapsam
|
||
|
||
| Persona | Ne yapar | Ekran |
|
||
| --- | --- | --- |
|
||
| İK | Dönem ve yetkinlik seti tanımlar, tüm değerlendirmeleri izler, 360 değerlendiricisi atar, kalibre eder, gelişim planlarını izler | Dönemler · Tüm Değerlendirmeler · Kalibrasyon · Gelişim Planları · Performans Dereceleri |
|
||
| Çalışan | Hedeflerini girer, gerçekleşeni ve öz değerlendirmesini yazar, yöneticiye gönderir, gelişim aksiyonlarının ilerlemesini günceller | Intranet panosu: **Performansım** widget'ı → Değerlendirmelerim · Gelişim Planım · Profil › Performansım (Değerlendirmelerim · Hedeflerim · Gelişim Planım · 360 Taleplerim salt okunur) |
|
||
| Yönetici | Hedefleri onaylar, yetkinlik seviyesini ve yorumunu verir, kalibrasyona gönderir, gelişim aksiyonu planlar | Intranet panosu: **Ekibimin Performansı** widget'ı → Ekibimin Değerlendirmeleri |
|
||
| 360 değerlendiricisi | Kendisine atanan çalışanın yetkinliklerini puanlar ve gönderir | Intranet panosu: **360 Taleplerim** widget'ı → 360 Taleplerim |
|
||
|
||
Kapsam: kiracı (`IsTenant`). Şube/birim kırılımı yoktur.
|
||
|
||
---
|
||
|
||
## 2. Analiz ve kararlar
|
||
|
||
### 2.1 Talep
|
||
|
||
> İnsan Kaynakları › Performans Yönetimi: değerlendirme dönemi tanımı, hedefler (KPI/OKR, ağırlık %,
|
||
> gerçekleşme), yetkinlik değerlendirmesi (Skill Types üzerinden), öz değerlendirme + yönetici
|
||
> değerlendirmesi, isteğe bağlı 360 derece, kalibrasyon ekranı, gelişim planı; uygulamanın diğer
|
||
> özellikleriyle entegre.
|
||
|
||
### 2.2 Depodan okunanlar (sorulmadı)
|
||
|
||
- Çalışan = `AbpUsers` (`DepartmentId`, `JobPositionId` taşır).
|
||
- Yetkinlik zinciri `Hr_T_SkillType → Hr_T_Skill → Hr_T_SkillLevel` (`Progress` 0–100); çalışan profili `Adm_T_UserSkill` (`Level` 1–5).
|
||
- Kök menü `App.Hr`, izin grubu `App.Hr`, modül `Hr`; tanımlar `App.Hr.Definitions` altında.
|
||
- **Yönetici ilişkisi ne `AbpUsers`'ta ne `Hr_T_Department`'ta vardır** — bu yüzden sorudur.
|
||
|
||
### 2.3 Keşif turu cevapları
|
||
|
||
| # | Soru | Seçilen | Gerekçe |
|
||
| --- | --- | --- | --- |
|
||
| 1 | Ekran yapısı | Wizard ekranları + çalışana ait özet (Custom Component) | Liste/form kalıbına sığan her şey Wizard; özet ilk sürümde İK menüsünde "Performansım" panosuydu, §2.4'teki kararla Intranet widget'larına taşındı |
|
||
| 2 | Yönetici nereden gelir | Değerlendirme kaydında seçilir (`ManagerId`, `AbpUsers` lookup) | Platform tablosu şeması değişmez (çerçeve içi) |
|
||
| 3 | Genel puan formülü | Dönemde ağırlık tanımlı: Genel = Hedef puanı × a + Yetkinlik puanı × b | Dönem bazında değiştirilebilir (varsayılan 60/40) |
|
||
| 4 | Akış | Durum alanıyla, onaysız (WorkflowDto yok) | Geçiş kuralları prosedürde |
|
||
| 5 | Yetkinlik ölçeği | `SkillLevel` + `Progress %`; tamamlanınca `UserSkill`'e yazılır | Skill Types'ın kendi seviyeleri kullanılır, profil güncel kalır |
|
||
| 6 | Hedef gerçekleşme | Yönlü, %150 tavanlı | Artan/Azalan hedef ayrımı, aşım ödüllendirilir ama sınırlıdır |
|
||
| 7 | 360 | Dönem bayrağı, bilgi amaçlı | Ortalama gösterilir, genel puana girmez |
|
||
| 8 | Görünürlük | Rol + kullanıcı süzmesi | İK hepsini, diğerleri kendi/ekibinin kaydını görür |
|
||
|
||
### 2.4 Onaylanan tariften sapmalar (üretimde verilen kararlar)
|
||
|
||
| Tarifte | Üretilen | Neden |
|
||
| --- | --- | --- |
|
||
| Gelişim planında Gantt | **Scheduler** (takvim) + Todo | Gantt `ParentIdExpr` ister; aksiyonlar arasında hiyerarşi yok |
|
||
| Derece ölçeği "Performans › Tanımlar" | **İK › Tanımlar** (`App.Hr.Definitions`) | İK tanımlarının (aday kaynağı, değerlendirme kriteri…) mevcut yeri |
|
||
| Dönem ekranında "Değerlendirmeler" sekmesi | Yalnız **Yetkinlik Seti** sekmesi | Widget'lı menü ekranı alt form olamaz (standing default 13); değerlendirmeler Tüm Değerlendirmeler'de döneme göre süzülür |
|
||
| Persona alt formları | Hedef/yetkinlik/gelişim için İK, çalışan, yönetici olmak üzere **üçer ayrı menüsüz ekran** | Alan kilidi ve satır süzmesi ekran bazındadır |
|
||
| Todo kart başlığı | `EmployeeName` kolonu eklendi (prosedür doldurur) | Todo başlığı metin kolon ister (İşe Alım'daki `CandidateName` kalıbı) |
|
||
| Eğitim entegrasyonu | Plan eğitime katılımcı **yazmaz**; çalışan eğitime "Katıldı" işlenmişse plan kendiliğinden tamamlanır | `Hr_T_TrainingParticipant.AttendanceStatus` "planlandı" değeri taşımıyor |
|
||
| "Performansım" panosu ve persona listeleri İK › Performans Yönetimi menüsünde | Persona listeleri **menüsüz**; özetleri Intranet › Dashboard'da üç ayrı widget (Performansım, Ekibimin Performansı, 360 Taleplerim), widget'taki bağlantı listeyi açar | İK menüsü İK departmanınındır; çalışan kendisiyle ilgili bilgiyi Intranet'ten takip eder (kullanıcı kararı, 2026-10-04). Widget içeriği özet + bağlantıdır; pano kolonları dar olduğu için liste gömülmez |
|
||
|
||
### 2.5 Varsayılan kalanlar
|
||
|
||
- Derece ölçeği (host seed'i): 1 Beklentinin Çok Altında 0–50 (%5) · 2 Geliştirilmeli 50–70 (%15) · 3 Beklenen Düzeyde 70–90 (%60) · 4 Beklentinin Üstünde 90–110 (%15) · 5 Olağanüstü 110+ (%5). Alt sınır dahil, üst sınır hariç.
|
||
- Ağırlık toplamı 100 değilse kayıt engellenmez; yalnızca hedef belirleme aşamasından çıkış engellenir.
|
||
- Bildirim kanalları: `UiActivity` + `UiToast`.
|
||
|
||
---
|
||
|
||
## 3. Menü ve ekranlar
|
||
|
||
### 3.1 İK menüsü
|
||
|
||
`İnsan Kaynakları › Performans Yönetimi` (`App.Hr.Performance`, ikon `FcBullish`) — yalnız İK.
|
||
|
||
| Sıra | Menü (TR / EN) | `ListFormCode` | Wizard dosyası | Alt formlar | Görünümler |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| 1 | Değerlendirme Dönemleri / Review Periods | `App.Hr.PerformancePeriod` | `PerformancePeriod.json` | `PerformancePeriodSkill` | Grid, Card, Pivot, Chart |
|
||
| 2 | Tüm Değerlendirmeler / All Reviews | `App.Hr.PerformanceReview` | `PerformanceReview.json` | `PerformanceGoal`, `PerformanceCompetency`, `PerformanceFeedback` (→ `PerformanceFeedbackScore`), `ReviewDevelopmentPlan` | Grid, Card, Pivot, Chart, Todo |
|
||
| 3 | Kalibrasyon / Calibration | `App.Hr.PerformanceCalibration` | `PerformanceCalibration.json` | — | Grid, Card, Pivot, Chart |
|
||
| 4 | Gelişim Planları / Development Plans | `App.Hr.DevelopmentPlan` | `DevelopmentPlan.json` | — | Grid, Card, Pivot, Chart, Todo, Scheduler |
|
||
| — | Performans Dereceleri (İK › Tanımlar) | `App.Hr.PerformanceRating` | `PerformanceRating.json` | — | Grid, Card, Pivot, Chart; veri `data/App.Hr.PerformanceRating.json` ile aynalı |
|
||
|
||
Widget şeritleri:
|
||
|
||
| Ekran | Kartlar |
|
||
| --- | --- |
|
||
| Dönemler | Toplam · Aktif · Kalibrasyonda · Kapanan |
|
||
| Tüm Değerlendirmeler | Toplam · Hedef/Öz Değerlendirme · Yönetici Değerlendirmesinde · Kalibrasyonda · Tamamlanan |
|
||
| Kalibrasyon | Kalibrasyonda · Tamamlanan · Ortalama Puan · Ortalama Kalibre Puan |
|
||
| Gelişim Planları | Toplam · Açık Aksiyon · Geciken · Tamamlanan |
|
||
|
||
### 3.2 Çalışana ait ekranlar (menüsüz)
|
||
|
||
Menüde yer almazlar; Intranet panosundaki widget'tan `/admin/list/{ListFormCode}` adresiyle açılırlar.
|
||
Menüsüz wizard olduklarından widget şeritleri yoktur (deploy menüsüz ekranın `Widgets`'ını düşürür);
|
||
özetleri panodaki widget'tadır.
|
||
|
||
| Ekran (TR / EN) | `ListFormCode` | Wizard dosyası | Satır süzmesi | Alt formlar | Görünümler |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| Değerlendirmelerim / My Reviews | `App.Hr.MyPerformanceReview` | `MyPerformanceReview.json` | `EmployeeId = @USERID` | `MyPerformanceGoal`, `MyPerformanceCompetency`, `MyDevelopmentPlan` | Grid, Card, Pivot, Chart, Todo |
|
||
| Ekibimin Değerlendirmeleri / Team Reviews | `App.Hr.TeamPerformanceReview` | `TeamPerformanceReview.json` | `ManagerId = @USERID` | `TeamPerformanceGoal`, `TeamPerformanceCompetency`, `TeamDevelopmentPlan` | Grid, Card, Pivot, Chart, Todo |
|
||
| 360 Taleplerim / My 360 Requests | `App.Hr.My360Feedback` | `My360Feedback.json` | `ReviewerId = @USERID` | `My360FeedbackScore` | Grid, Card, Pivot, Chart |
|
||
| Gelişim Planım / My Development Plan | `App.Hr.MyDevelopmentPlan` | `MyDevelopmentPlan.json` | `EmployeeId = @USERID` | — (Değerlendirmelerim'in sekmesi; widget'tan tek liste olarak da açılır) | Grid |
|
||
|
||
### 3.3 Intranet › Dashboard widget'ları
|
||
|
||
`Sas_T_IntranetWidget` kayıtları (`data/App.DeveloperKit.IntranetWidgets.json`, `SourceType: 1` =
|
||
Custom) üç custom component'i sağ kolona (`Column: 2`) yerleştirir. Widget'ı yalnız `PermissionName`
|
||
yetkisi olan kullanıcı alır (sunucu süzer, `IntranetAppService.GetWidgetsAsync`); kullanıcı panoda
|
||
yerini değiştirebilir, gizleyebilir.
|
||
|
||
| `Code` · sıra | Bileşen | `PermissionName` | Gösterir | Açtığı liste |
|
||
| --- | --- | --- | --- | --- |
|
||
| `my-performance` · 70 | `MyPerformanceWidget` | `App.Hr.MyPerformanceReview` | Aktif (tamamlanmamış) değerlendirmenin aşaması ve hedef/yetkinlik/genel puanı; tamamlanan sayısı ve ortalama puanı; `App.Hr.MyDevelopmentPlan` yetkisi varsa açık ve geciken gelişim aksiyonu | Değerlendirmelerim, Gelişim Planım |
|
||
| `team-performance` · 80 | `TeamPerformanceWidget` | `App.Hr.TeamPerformanceReview` | Değerlendirmemi bekleyen (`ManagerReview`), hedef/öz değerlendirmede, tamamlanan, toplam; bekleyen ilk 5 çalışanın adı | Ekibimin Değerlendirmeleri |
|
||
| `my-360-feedback` · 90 | `My360FeedbackWidget` | `App.Hr.My360Feedback` | Bekleyen ve gönderilen 360 talebi | 360 Taleplerim |
|
||
|
||
Bileşenler code modundadır ve rotasızdır (`RoutePath: null`). Veriyi ekranın kendi sorgusundan okur
|
||
(`GET /api/app/list-form-select/select?listFormCode=…`): satır süzmesi (`DefaultFilter`), kiracı ve
|
||
liste yetkisi ListForm'da kalır, bileşen yalnızca sayar — ayrı endpoint ya da SQL yoktur. Başlıklar
|
||
`App.DashboardWidget.{MyPerformance,TeamPerformance,My360Feedback}`, boş durum ve aktif değerlendirme
|
||
metinleri `App.DashboardWidget.Performance.*`; kart etiketleri İK şeritlerindeki
|
||
`App.Hr.Performance.Widget.*` anahtarlarıdır.
|
||
|
||
---
|
||
|
||
## 4. Veri modeli
|
||
|
||
Hepsi `sql/object/Hr_T_*.sql`; kiracı + tam audit + `IsActive`, `Guid` anahtar.
|
||
|
||
```
|
||
Hr_T_PerformancePeriod ──< Hr_T_PerformancePeriodSkill >── Hr_T_Skill
|
||
│
|
||
└──< Hr_T_PerformanceReview >── AbpUsers (EmployeeId, ManagerId)
|
||
│ └── Hr_T_PerformanceRating (RatingId)
|
||
├──< Hr_T_PerformanceGoal
|
||
├──< Hr_T_PerformanceCompetency >── Hr_T_Skill / Hr_T_SkillLevel ×3
|
||
├──< Hr_T_PerformanceFeedback ──< Hr_T_PerformanceFeedbackScore >── Hr_T_SkillLevel
|
||
└──< Hr_T_DevelopmentPlan >── Hr_T_Skill / Hr_T_Training / Hr_T_Certificate / AbpUsers (Mentor)
|
||
```
|
||
|
||
| Tablo | Önemli kolonlar | Tekillik / kural |
|
||
| --- | --- | --- |
|
||
| `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_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 |
|
||
| `Hr_T_PerformanceFeedbackScore` | `FeedbackId`, `SkillId`, `LevelId`, `Comment` | `(FeedbackId, SkillId)` tekil |
|
||
| `Hr_T_DevelopmentPlan` | `EmployeeId`, `ReviewId`, `SkillId`, `Title`, `ActionType`, `TrainingId`, `CertificateId`, `MentorId`, `StartDate`, `DueDate`, `Status`, `Progress` | `ActionType` ∈ Training, Mentoring, Project, Reading, Certificate, Other; `Status` ∈ Planned, InProgress, Completed, Cancelled; `Progress` 0–100 |
|
||
|
||
Seviye listeleri (`ExpectedLevelId`, `SelfLevelId`, `ManagerLevelId`, `LevelId`) seçilen yetkinliğin
|
||
`SkillTypeId`'sine göre süzülür (lookup cascade `SkillId` → `@param0`).
|
||
|
||
---
|
||
|
||
## 5. İş kuralları ve hesaplar
|
||
|
||
### 5.1 Formüller (`Hr_S_PerformanceReviewRecalc`)
|
||
|
||
| Değer | Formül |
|
||
| --- | --- |
|
||
| Hedef gerçekleşme % | Artan: `Gerçekleşen / Hedef × 100` · Azalan: `Hedef / Gerçekleşen × 100` (gerçekleşen ≤ 0 ise 150) · sonuç **0–150** aralığına kırpılır · gerçekleşen boşsa boş |
|
||
| Hedef puanı | `Σ(Gerçekleşme% × Ağırlık) / 100` (gerçekleşmesi boş hedef 0 sayılır; hedef yoksa boş) |
|
||
| Yetkinlik satır puanı | Yönetici seviyesinin `Hr_T_SkillLevel.Progress` değeri |
|
||
| Yetkinlik puanı | Puanı dolu yetkinlik satırlarının ortalaması |
|
||
| 360 satır puanı | Değerlendiricinin verdiği seviyelerin `Progress` ortalaması |
|
||
| 360 ortalaması | `Status = Submitted` geri bildirimlerin ortalaması — **genel puana girmez** |
|
||
| Genel puan | `(Hedef puanı × GoalWeight + Yetkinlik puanı × CompetencyWeight) / 100` (eksik bileşen 0; ikisi de boşsa boş) |
|
||
| Derece | `COALESCE(KalibrePuan, GenelPuan)` değerinin düştüğü aralık (`MinScore ≤ x < MaxScore`, aynı kiracının aktif dereceleri) |
|
||
|
||
Formda gerçekleşme % anlık önizlenir (`ActualValue`/`TargetValue`/`Direction` alanlarının
|
||
`EditorScript`'i); kalıcı değer her kayıtta prosedürle yeniden hesaplanır. Dönemde ağırlık
|
||
alanlarından biri değişince diğeri `100 - x` olur (`EditorScript`).
|
||
|
||
### 5.2 Durum akışı (`Hr_S_PerformanceReviewAfterSave`)
|
||
|
||
```
|
||
GoalSetting ──(Yönetici)──▶ SelfReview ──(Çalışan)──▶ ManagerReview ──(Yönetici)──▶ Calibration ──(İK)──▶ Completed
|
||
▲ ◀──(Yönetici iade)──┘ ◀──(Yönetici iade)──┘
|
||
```
|
||
|
||
| Aktör (ekran) | İzinli geçişler |
|
||
| --- | --- |
|
||
| İK (Tüm Değerlendirmeler, Kalibrasyon) | Her geçiş |
|
||
| Çalışan (Değerlendirmelerim) | SelfReview → ManagerReview |
|
||
| Yönetici (Ekibimin Değerlendirmeleri) | GoalSetting → SelfReview · SelfReview → GoalSetting · ManagerReview → SelfReview · ManagerReview → Calibration |
|
||
|
||
- **GoalSetting'ten çıkış** için en az bir hedef olmalı ve ağırlık toplamı tam **100** olmalıdır (her aktör için).
|
||
- İzinsiz geçiş hata vermez, **kayıt sonrası durum `LastStatus`'a geri alınır** (kayıt yenilenince eski aşama görünür).
|
||
- Geçiş damgaları: → ManagerReview `SelfSubmittedDate`, → Calibration `ManagerSubmittedDate`, → Completed `CompletedDate`.
|
||
- → **Completed**: yönetici seviyeleri `Adm_T_UserSkill`'e yazılır (`Level = ⌈Progress / 20⌉`, 1–5; var olan kayıt güncellenir, `Note = "Performans: {Dönem}"`).
|
||
- Her kayıtta: `EmployeeName`/`DepartmentId`/`JobPositionId` çalışandan tamamlanır, dönemin eksik yetkinlikleri eklenir, puanlar yeniden hesaplanır.
|
||
- Todo panosunda kartı sürüklemek de aynı kuraldan geçer.
|
||
|
||
### 5.3 Satır ve aşama güvenliği (`Hr_S_PerformanceGuard`, before-command)
|
||
|
||
Persona ekranları satırı `DefaultFilter` ile süzer; kayıt uçları satırı yalnızca `Id` ile
|
||
güncellediği için aynı kural yazma tarafında prosedürle uygulanır. Kural dışı istek
|
||
`THROW 51000–51005` ile reddedilir.
|
||
|
||
| Aktör | Sahiplik | Değerlendirme kaydı | Hedef / Yetkinlik | Gelişim planı | 360 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| Çalışan | `EmployeeId = kullanıcı` | GoalSetting, SelfReview | GoalSetting, SelfReview | Her aşama (yalnız ilerleme/not) | — |
|
||
| Yönetici | `ManagerId = kullanıcı` | GoalSetting, SelfReview, ManagerReview | aynı | Her aşama | — |
|
||
| Değerlendirici | `Feedback.ReviewerId = kullanıcı` | — | — | — | GoalSetting → ManagerReview arası |
|
||
| İK | — | Serbest | Serbest | Serbest | Serbest |
|
||
|
||
Dönem `Closed` ise İK dışındaki her yazma reddedilir. "Gelişim Planım" guard prosedüründen değil,
|
||
yalnızca satırın `EmployeeId`'sini denetleyen komuttan geçer (`THROW 51020`); aksiyon dönemden
|
||
bağımsız olabildiği için kapalı dönemde de ilerleme güncellenebilir.
|
||
|
||
**Alan kilidi:** persona ekranında çalışanın/yöneticinin değiştirmemesi gereken alanlar salt
|
||
okunur çizilir **ve** yazma yetkisi İK ekranının `.Create`/`.Update` yetkisine bağlanır;
|
||
sunucu, kullanıcının yetkisi olmayan alanı güncelleme isteğinden düşürür (`ListFormFieldManager.CanUpdate`).
|
||
|
||
| Ekran | Düzenlenebilir alanlar |
|
||
| --- | --- |
|
||
| Değerlendirmelerim | `Status`, `SelfComment` |
|
||
| Hedeflerim | Yönetici yorumu ve gerçekleşme % dışında hepsi |
|
||
| Yetkinliklerim | `SelfLevelId`, `SelfComment` (ekleme/silme yok) |
|
||
| Gelişim Planım | `Status`, `Progress`, `EmployeeNote` (ekleme/silme yok) |
|
||
| Ekibimin Değerlendirmeleri | `Status`, `ManagerComment` |
|
||
| Ekip Hedefleri | Öz yorum ve gerçekleşme % dışında hepsi |
|
||
| Ekip Yetkinlikleri | Öz seviye ve öz yorum dışında hepsi (ekleme/silme var) |
|
||
| Ekip Gelişim Planı | Çalışan notu dışında hepsi |
|
||
| 360 Taleplerim | `Status`, `Comment`; puan satırlarında `LevelId`, `Comment` |
|
||
| Kalibrasyon | `Status`, `CalibratedScore`, `CalibrationNote` |
|
||
|
||
### 5.4 Kancalar
|
||
|
||
| Ekran | Komut | Ne çalışır |
|
||
| --- | --- | --- |
|
||
| Dönemler | Insert/UpdateAfter | `Hr_S_PerformancePeriodActivate` — dönem **Active** ise kiracının aktif her kullanıcısına değerlendirme açar (var olana dokunmaz), dönemin yetkinlik setini eksik değerlendirmelere kopyalar, yeni açılanlara bildirim gönderir |
|
||
| Yetkinlik Seti | Insert/UpdateAfter | Aynı prosedür (sonradan eklenen yetkinlik açık değerlendirmelere eklenir) |
|
||
| Değerlendirme ekranları | InsertAfter / UpdateAfter | `Hr_S_PerformanceReviewAfterSave @rid, @kullanıcı, N'Hr' \| 'Employee' \| 'Manager'` |
|
||
| Persona ekranları | Insert/Update/DeleteBefore | `Hr_S_PerformanceGuard` |
|
||
| Hedef / Yetkinlik / 360 ekranları | After | `Hr_S_PerformanceReviewRecalc` |
|
||
| 360 (İK) | InsertBefore | Dönemde 360 kapalıysa ya da değerlendirici çalışanın kendisiyse reddeder |
|
||
| 360 (İK) | InsertAfter | `Hr_S_PerformanceFeedbackOpen` — değerlendirmenin yetkinlikleri için puan satırlarını açar, değerlendiriciye bildirim gönderir |
|
||
| 360 ekranları | UpdateAfter | `Status = Submitted` iken `SubmittedDate` damgalanır, puan yeniden hesaplanır |
|
||
| Gelişim planı ekranları | Insert/UpdateAfter | `Hr_S_DevelopmentPlanSync` — eğitime "Katıldı" işlenen ya da `Completed` aksiyonu %100 ve Tamamlandı yapar |
|
||
|
||
Güncelleme komutunda `@Id` bir dizidir (`IN @Id` ile açılır); aktör `UpdateFieldsDefaultValue`
|
||
ile yazılan `@LastModifierId`'den okunur. Ekleme komutunda `@Id` tekildir, aktör `@CreatorId`'dir.
|
||
|
||
---
|
||
|
||
## 6. Yetki ve görünürlük
|
||
|
||
İzin grubu `App.Hr`, modül `Sas|Hr`. Her ekranın kök yetkisi + `.Create/.Update/.Delete/.Export/.Import/.Note`
|
||
Menüsüz alt formların yetkisi ana ekranın altındadır; menüsüz persona ekranlarının
|
||
(Değerlendirmelerim, Ekibimin Değerlendirmeleri, 360 Taleplerim) yetkisi menü dalı olmadığından
|
||
`App.Hr` grubunun kökündedir (deploy menüsüz ekranı böyle yazar).
|
||
**Hiçbir yetki role otomatik atanmaz** — rol ekranından verilir.
|
||
|
||
Önerilen dağıtım:
|
||
|
||
| Rol | Verilecek yetkiler |
|
||
| --- | --- |
|
||
| Tüm çalışanlar | `App.Hr.MyPerformanceReview` (+ `.Update`), `App.Hr.MyPerformanceGoal` (+ `.Create/.Update/.Delete`), `App.Hr.MyPerformanceCompetency` (+ `.Update`), `App.Hr.MyDevelopmentPlan` (+ `.Update`), `App.Hr.My360Feedback` (+ `.Update`), `App.Hr.My360FeedbackScore` (+ `.Update`) |
|
||
| Yöneticiler | Yukarıdakiler + `App.Hr.TeamPerformanceReview` (+ `.Update`), `App.Hr.TeamPerformanceGoal`, `App.Hr.TeamPerformanceCompetency`, `App.Hr.TeamDevelopmentPlan` (+ `.Create/.Update/.Delete`) |
|
||
| İK | `App.Hr.Performance` dalının tamamı + `App.Hr.PerformanceRating` |
|
||
|
||
Persona ekranlarındaki kilitli alanlar İK ekranının yetkisine bağlı olduğundan, çalışan/yönetici
|
||
rolüne **İK ekranlarının `.Update`/`.Create` yetkisi verilmez**; verilirse persona ekranlarında
|
||
kilitli alanlar o kullanıcı için yazılabilir hâle gelir.
|
||
|
||
Intranet widget'ı listenin okuma yetkisiyle görünür: Performansım `App.Hr.MyPerformanceReview`,
|
||
Ekibimin Performansı `App.Hr.TeamPerformanceReview`, 360 Taleplerim `App.Hr.My360Feedback`. Ayrı
|
||
widget yetkisi yoktur — listeyi açamayan kullanıcıya özet de gösterilmez.
|
||
|
||
---
|
||
|
||
## 7. Entegrasyonlar
|
||
|
||
| Kaynak | Kullanım |
|
||
| --- | --- |
|
||
| `AbpUsers` | Çalışan, yönetici, değerlendirici, mentor; departman/pozisyon kopyası |
|
||
| Kullanıcı detayı › Performans | Değerlendirmeler ve Gelişim Planları ekranları çalışana süzülmüş açılır (`HrPersonnel.md`) |
|
||
| `Hr_T_Department`, `Hr_T_JobPosition` | Değerlendirmenin organizasyon kırılımı (Pivot/Chart) |
|
||
| `Hr_T_SkillType` / `Hr_T_Skill` / `Hr_T_SkillLevel` | Dönem yetkinlik seti, beklenen/öz/yönetici/360 seviyeleri, puan (`Progress`) |
|
||
| `Adm_T_UserSkill` | Tamamlanan değerlendirmenin yönetici seviyeleri kullanıcı profiline yazılır |
|
||
| `Hr_T_Training` / `Hr_T_TrainingParticipant` | Gelişim aksiyonu bir eğitime bağlanır; katılım "Katıldı" ise aksiyon tamamlanır |
|
||
| `Hr_T_Certificate` | Sertifika aksiyonları |
|
||
| Bildirimler | Tipler `PerformansDurumDegisti`, `Performans360Talebi`; kurallar `Custom` + `UiActivity`/`UiToast` (yalnız kanalı belirler). Metinler `App.Hr.Performance.Notification.{Status,Feedback}.{Subject,Message}` (TR), yer tutucular `[Employee]`, `[Period]`, `[Status]`. Yazan: `Hr_S_PerformanceNotify` |
|
||
|
||
Bildirim alıcıları: → GoalSetting / SelfReview / Completed çalışana; → ManagerReview / Completed
|
||
yöneticiye; dönem aktivasyonunda yeni açılan her değerlendirmenin çalışanına; 360 eklenince
|
||
değerlendiriciye.
|
||
|
||
---
|
||
|
||
## 8. Akış örneği
|
||
|
||
1. İK **Yetkinlik Seti**'ni hazırlar (ör. İletişim → beklenen B2), **Dönemler**'de "2026 Yıl Sonu"nu
|
||
60/40 ağırlık ve 360 açık olarak girer, durumu **Aktif** yapar → tüm aktif çalışanlara
|
||
değerlendirme açılır, yetkinlikler kopyalanır, çalışanlar bildirim alır.
|
||
2. İK **Tüm Değerlendirmeler**'de her kaydın **Yönetici**'sini seçer.
|
||
3. Çalışan Intranet panosundaki **Performansım** widget'ından **Değerlendirmelerim**'i açar,
|
||
**Hedeflerim**'de hedeflerini girer (ağırlık toplamı 100).
|
||
4. Yönetici **Ekibimin Performansı** widget'ından **Ekibimin Değerlendirmeleri**'ni açar, hedefleri gözden geçirir, durumu **Öz Değerlendirme**
|
||
yapar → çalışan bildirim alır.
|
||
5. Çalışan gerçekleşenleri, öz seviyelerini ve yorumunu girer, durumu **Yönetici Değerlendirmesi**
|
||
yapar → yönetici bildirim alır.
|
||
6. İK 360 sekmesinde değerlendirici ekler → değerlendiriciler panodaki **360 Taleplerim** widget'ından talebi açıp puanlayıp gönderir.
|
||
7. Yönetici seviyeleri ve yorumu girer, gelişim aksiyonu planlar (ör. "İleri Excel" eğitimi),
|
||
durumu **Kalibrasyon** yapar.
|
||
8. İK **Kalibrasyon**'da dağılımı (Chart/Pivot, derece × departman) hedef dağılımla karşılaştırır,
|
||
gerekenlerin **Kalibre Puan**ını girer, durumu **Tamamlandı** yapar → derece kesinleşir,
|
||
yetkinlikler `UserSkill`'e yazılır, çalışan ve yönetici bildirim alır.
|
||
9. Çalışan eğitime "Katıldı" işlendiğinde gelişim aksiyonu bir sonraki kayıtta kendiliğinden tamamlanır.
|
||
|
||
---
|
||
|
||
## 9. Sık sorulanlar
|
||
|
||
**Durumu değiştirdim ama kayıt eski aşamaya döndü.** O geçiş sizin rolünüze açık değil (§5.2) ya da
|
||
hedef belirlemeden çıkarken ağırlık toplamı 100 değil. Geçersiz geçiş hata vermez, geri alınır.
|
||
|
||
**"Değerlendirme bu aşamada bu işlem için açık değil" hatası.** Guard tablosu (§5.3): çalışan
|
||
yönetici değerlendirmesi başladıktan sonra hedef/yetkinlik değiştiremez; kalibrasyon ve sonrası
|
||
yalnız İK'dadır; dönem kapalıysa yalnız İK yazar.
|
||
|
||
**Genel puan neden hedef puanından düşük/yüksek?** Genel = (Hedef × GoalWeight + Yetkinlik ×
|
||
CompetencyWeight) / 100. Yetkinlik puanı yalnızca yönetici seviyesinden gelir; öz seviye ve 360
|
||
puana girmez.
|
||
|
||
**Gerçekleşme %150'de kalıyor.** Tavan bilinçlidir (§2.3, karar 6).
|
||
|
||
**Derece boş.** Kiracıda derece ölçeği tanımlı değil. Host seed'i (`data/App.Hr.PerformanceRating.json`)
|
||
host içindir; her kiracı İK › Tanımlar › Performans Dereceleri'ni kendisi girer.
|
||
|
||
**Teknik yetkinlikte seviye listesi boş.** Seed'de "Technical Skills" tipine seviye tanımlı değildir
|
||
(`HrOrganization.md` §9). İK › Tanımlamalar › Yetenek Tipleri › Teknik Yetenekler › Seviyeler'e
|
||
`Progress` değerli seviyeler eklenmeden bu yetkinlikler puanlanamaz.
|
||
|
||
**Yöneticiyi kim belirliyor?** İK, değerlendirme kaydındaki `ManagerId` alanından. Platformda
|
||
kullanıcı/departman üzerinde yönetici ilişkisi yoktur (§2.2).
|
||
|
||
**Yeni işe giren çalışana değerlendirme nasıl açılır?** Aktif dönem kaydını yeniden kaydetmek
|
||
eksik değerlendirmeleri açar; ya da İK Tüm Değerlendirmeler'den elle ekler.
|
||
|
||
**360 puanı neden genel puanda yok?** Karar 7: bilgi amaçlıdır; `Feedback360Score` olarak gösterilir.
|
||
|
||
**Bildirim gelmiyor.** Kiracıda `PerformansDurumDegisti` / `Performans360Talebi` tipi ve `Custom`
|
||
kuralları olmalı; yeni kiracıya host seed'inden kopyalanır, mevcut kiracıda Administration ›
|
||
Bildirimler'den eklenir.
|
||
|
||
**Değerlendirmelerim / Ekibimin Değerlendirmeleri menüde yok.** Bilinçli: İK menüsü İK içindir (§2.4).
|
||
Çalışan ve yönetici Intranet › Dashboard'daki widget'tan açar. Widget görünmüyorsa rolüne liste
|
||
yetkisi verilmemiştir (§6) ya da kullanıcı widget'ı panoda gizlemiştir (tasarım modundan geri açılır).
|
||
|
||
**Çalışan kendi gelişim aksiyonunu ekleyemiyor.** "Gelişim Planım" ekleme kapalıdır; aksiyonu
|
||
yönetici (Ekip Gelişim Planı) ya da İK açar.
|
||
|
||
---
|
||
|
||
## 10. Dosyalar ve geri alma
|
||
|
||
| Dosya | İçerik |
|
||
| --- | --- |
|
||
| `configs/seeds/sql/object/Hr_T_Performance{Rating,Period,PeriodSkill,Review,Goal,Competency,Feedback,FeedbackScore}.sql`, `Hr_T_DevelopmentPlan.sql` | Tablolar, CHECK ve tekil indeksler |
|
||
| `configs/seeds/sql/object/Hr_S_Performance{Notify,ReviewRecalc,PeriodActivate,Guard,ReviewAfterSave,FeedbackOpen}.sql`, `Hr_S_DevelopmentPlanSync.sql` | Prosedürler |
|
||
| `configs/seeds/wizard/{PerformanceRating,PerformancePeriodSkill,PerformancePeriod,PerformanceGoal,PerformanceCompetency,PerformanceFeedbackScore,PerformanceFeedback,ReviewDevelopmentPlan,PerformanceReview,MyPerformanceGoal,MyPerformanceCompetency,MyDevelopmentPlan,MyPerformanceReview,TeamPerformanceGoal,TeamPerformanceCompetency,TeamDevelopmentPlan,TeamPerformanceReview,My360FeedbackScore,My360Feedback,PerformanceCalibration,DevelopmentPlan}.json` | 21 wizard (List) |
|
||
| `configs/seeds/data/App.DeveloperKit.CustomComponents/{b2d9fa60-b052-5039-a0fc-146f4e5b2e8c,98a5c0b9-c8d6-5e83-ae76-d9ccb5b70cba,d669129d-52fe-56e1-972d-d20fe1b3360e}.json` | `MyPerformanceWidget`, `TeamPerformanceWidget`, `My360FeedbackWidget` (code modu, rotasız) |
|
||
| `configs/seeds/data/App.DeveloperKit.IntranetWidgets.json` | `my-performance`, `team-performance`, `my-360-feedback` pano kayıtları |
|
||
| `configs/seeds/data/App.Hr.PerformanceRating.json` | 5 kademeli derece ölçeği |
|
||
| `configs/seeds/data/App.Menus.Menu.json`, `Abp.Identity.Permissions.json`, `App.Languages.LanguageText.json` | Menü, yetki, dil satırları (wizard'lara ait) |
|
||
| `configs/seeds/data/App.Notifications.Notification{Types,Rules}.json` | 2 tip, 4 kural |
|
||
| `ui/safelist.txt` | Widget bileşenlerinin Tailwind sınıfları (`twSafelistGenerator` derlemede yeniler) |
|
||
|
||
Kurulum: DB Migrate (tablolar/prosedürler `sql/object`, ekranlar `WizardDataSeeder`, satırlar
|
||
`ListFormSeedDataApplier`). Ardından rollere yetki verilir (§6).
|
||
|
||
Geri alma: Wizard Manager'dan talebin wizard'ları silinir (alt formlar önce); tabloyu düşürmek
|
||
yalnızca onayda seçilirse olur. Widget bileşenleri ve pano kayıtları, bildirim tip/kural satırları, derece seed'i ve
|
||
`Hr_S_*` prosedürleri elle kaldırılır. `Adm_T_UserSkill`'e yazılmış seviyeler kullanıcı verisidir,
|
||
geri alınmaz.
|
||
|
||
<!-- module-doc:auto:begin -->
|
||
## Ek — Ekran envanteri (otomatik)
|
||
|
||
> Wizard dosyalarından üretilir; deploy, silme, tasarımcı kaydı ve import'ta yenilenir. Elle düzenleme bir sonraki yenilemede kaybolur.
|
||
|
||
### Değerlendirme Dönemleri — `App.Hr.PerformancePeriod`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformancePeriod.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Hr.Performance` › `App.Hr.PerformancePeriod` (sıra 1) |
|
||
| Yetki | `App.Hr.PerformancePeriod` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Değerlendirme Dönemleri — performans değerlendirmesinin yapıldığı dönem (ör. 2026 Yıl Sonu), puan ağırlıkları ve 360 derece ayarı. |
|
||
| Kaynak | `Hr_T_PerformancePeriod` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Hr.PerformancePeriodSkill` (Id → PeriodId) |
|
||
| Widget'lar | `App.Widget.Total`, `App.Hr.Performance.Widget.ActivePeriod`, `App.Hr.Performance.Widget.Calibration`, `App.Hr.Performance.Widget.ClosedPeriod` |
|
||
| Komutlar | InsertAfter: `Hr_S_PerformancePeriodActivate` · UpdateAfter: `Hr_S_PerformancePeriodActivate` |
|
||
| Form varsayılanları | Status=Planned, GoalWeight=60, CompetencyWeight=40, Is360Enabled=false, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
|
||
| `Status` | Durum | dxRadioGroup | ✓ | ✓ | liste: Planned, Active, Calibration, Closed |
|
||
| `StartDate` | Başlangıç Tarihi | dxDateBox | ✓ | ✓ | |
|
||
| `EndDate` | Bitiş Tarihi | dxDateBox | ✓ | ✓ | |
|
||
| `SelfReviewDueDate` | Öz Değerlendirme Son Tarihi | dxDateBox | | ✓ | |
|
||
| `ManagerReviewDueDate` | Yönetici Değerlendirmesi Son Tarihi | dxDateBox | | ✓ | |
|
||
| `GoalWeight` | Hedef Ağırlığı % | dxNumberBox | ✓ | ✓ | script |
|
||
| `CompetencyWeight` | Yetkinlik Ağırlığı % | dxNumberBox | ✓ | ✓ | script |
|
||
| `Is360Enabled` | 360 Derece Açık | dxCheckBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `Description` | Açıklama | dxTextBox | | ✓ | |
|
||
|
||
### Tüm Değerlendirmeler — `App.Hr.PerformanceReview`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceReview.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Hr.Performance` › `App.Hr.PerformanceReview` (sıra 2) |
|
||
| Yetki | `App.Hr.PerformanceReview` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Tüm Değerlendirmeler — bütün dönemlerin bütün çalışan değerlendirmeleri; İK süreci uçtan uca buradan izler ve yönetir. |
|
||
| Kaynak | `Hr_T_PerformanceReview` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Todo (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Hr.PerformanceGoal` (Id → ReviewId), `App.Hr.PerformanceCompetency` (Id → ReviewId), `App.Hr.PerformanceFeedback` (Id → ReviewId), `App.Hr.ReviewDevelopmentPlan` (Id → ReviewId, EmployeeId → EmployeeId) |
|
||
| 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 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod |
|
||
| `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 |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: GoalSetting, SelfReview, ManagerReview, Calibration, Completed |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `GoalScore` | Hedef Puanı | dxNumberBox | | ✓ | |
|
||
| `CompetencyScore` | Yetkinlik Puanı | dxNumberBox | | ✓ | |
|
||
| `Feedback360Score` | 360 Ortalaması | dxNumberBox | | ✓ | |
|
||
| `OverallScore` | Genel Puan | dxNumberBox | | ✓ | |
|
||
| `CalibratedScore` | Kalibre Puan | dxNumberBox | | ✓ | |
|
||
| `RatingId` | Derece | dxSelectBox | | ✓ | sorgu: Hr_T_PerformanceRating |
|
||
| `SelfComment` | Öz Değerlendirme Yorumu | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `CalibrationNote` | Kalibrasyon Notu | dxTextArea | | ✓ | |
|
||
| `SelfSubmittedDate` | Öz Değerlendirme Gönderimi | dxDateBox | | ✓ | |
|
||
| `ManagerSubmittedDate` | Yönetici Değerlendirmesi Gönderimi | dxDateBox | | ✓ | |
|
||
| `CompletedDate` | Tamamlanma | dxDateBox | | ✓ | |
|
||
|
||
### Kalibrasyon — `App.Hr.PerformanceCalibration`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceCalibration.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Hr.Performance` › `App.Hr.PerformanceCalibration` (sıra 3) |
|
||
| Yetki | `App.Hr.PerformanceCalibration` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Kalibrasyon — yöneticilerin gönderdiği değerlendirmelerin İK tarafından birlikte gözden geçirilip puanların dengelenmesi. |
|
||
| Kaynak | `Hr_T_PerformanceReview` · filtre `"IsDeleted" = 'false' AND "Status" IN ('Calibration', 'Completed')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `App.Hr.Performance.Widget.Calibration`, `App.Hr.Performance.Widget.Completed`, `App.Hr.Performance.Widget.AverageScore`, `App.Hr.Performance.Widget.AverageCalibrated` |
|
||
| Komutlar | UpdateAfter: `Hr_S_PerformanceReviewAfterSave` |
|
||
| Form varsayılanları | Status=GoalSetting, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod |
|
||
| `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 |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: GoalSetting, SelfReview, ManagerReview, Calibration, Completed |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `GoalScore` | Hedef Puanı | dxNumberBox | | ✓ | |
|
||
| `CompetencyScore` | Yetkinlik Puanı | dxNumberBox | | ✓ | |
|
||
| `Feedback360Score` | 360 Ortalaması | dxNumberBox | | ✓ | |
|
||
| `OverallScore` | Genel Puan | dxNumberBox | | ✓ | |
|
||
| `CalibratedScore` | Kalibre Puan | dxNumberBox | | ✓ | |
|
||
| `RatingId` | Derece | dxSelectBox | | ✓ | sorgu: Hr_T_PerformanceRating |
|
||
| `SelfComment` | Öz Değerlendirme Yorumu | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `CalibrationNote` | Kalibrasyon Notu | dxTextArea | | ✓ | |
|
||
| `SelfSubmittedDate` | Öz Değerlendirme Gönderimi | dxDateBox | | ✓ | |
|
||
| `ManagerSubmittedDate` | Yönetici Değerlendirmesi Gönderimi | dxDateBox | | ✓ | |
|
||
| `CompletedDate` | Tamamlanma | dxDateBox | | ✓ | |
|
||
|
||
### Gelişim Planları — `App.Hr.DevelopmentPlan`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/DevelopmentPlan.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Hr.Performance` › `App.Hr.DevelopmentPlan` (sıra 4) |
|
||
| Yetki | `App.Hr.DevelopmentPlan` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Gelişim Planları — bütün çalışanların gelişim aksiyonları; yetkinlik, eğitim ve sertifikalarla bağlantılı. |
|
||
| Kaynak | `Hr_T_DevelopmentPlan` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Scheduler, Todo (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `App.Widget.Total`, `App.Hr.Performance.Widget.Open`, `App.Hr.Performance.Widget.Overdue`, `App.Hr.Performance.Widget.Completed` |
|
||
| Todo | başlık `Title`, durum `Status` (Planned,InProgress,Completed,Cancelled) |
|
||
| Komutlar | InsertAfter: `Hr_S_DevelopmentPlanSync` · UpdateAfter: `Hr_S_DevelopmentPlanSync` |
|
||
| Form varsayılanları | ActionType=Training, Status=Planned, Progress=0, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `EmployeeId` | Çalışan | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `ReviewId` | Değerlendirme | dxSelectBox | | ✓ | sorgu: Hr_T_PerformanceReview |
|
||
| `Title` | Aksiyon | dxTextBox | ✓ | ✓ | |
|
||
| `ActionType` | Aksiyon Türü | dxSelectBox | ✓ | ✓ | liste: Training, Mentoring, Project, Reading, Certificate, Other |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | | ✓ | sorgu: Hr_T_Skill |
|
||
| `TrainingId` | Eğitim | dxSelectBox | | ✓ | sorgu: Hr_T_Training |
|
||
| `CertificateId` | Sertifika | dxSelectBox | | ✓ | sorgu: Hr_T_Certificate |
|
||
| `MentorId` | Mentor | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `StartDate` | Başlangıç Tarihi | dxDateBox | | ✓ | |
|
||
| `DueDate` | Bitiş Tarihi | dxDateBox | | ✓ | |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Planned, InProgress, Completed, Cancelled |
|
||
| `Progress` | İlerleme % | dxNumberBox | | ✓ | |
|
||
| `EmployeeNote` | Çalışan Notu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Performans Dereceleri — `App.Hr.PerformanceRating`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceRating.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Hr.Definitions` › `App.Hr.PerformanceRating` (sıra 16) |
|
||
| Yetki | `App.Hr.PerformanceRating` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Performans Dereceleri — genel performans puanının hangi dereceye karşılık geldiğini ve kalibrasyonda hedeflenen dağılımı tanımlayan ölçek. |
|
||
| Kaynak | `Hr_T_PerformanceRating` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Form varsayılanları | IsActive=true |
|
||
| Veri aynası | `data/App.Hr.PerformanceRating.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Level` | Seviye | dxNumberBox | ✓ | ✓ | |
|
||
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
|
||
| `MinScore` | Alt Puan | dxNumberBox | ✓ | ✓ | |
|
||
| `MaxScore` | Üst Puan (hariç) | dxNumberBox | ✓ | ✓ | |
|
||
| `TargetDistribution` | Hedef Dağılım % | dxNumberBox | | ✓ | |
|
||
| `Color` | Renk | dxColorBox | | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Yetkinlik Seti — `App.Hr.PerformancePeriodSkill`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformancePeriodSkill.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.PerformancePeriodSkill` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Yetkinlik Seti — dönemde her çalışanın değerlendirileceği yetkinlikler ve beklenen seviyeleri. |
|
||
| Kaynak | `Hr_T_PerformancePeriodSkill` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertAfter: `Hr_S_PerformancePeriodActivate` · UpdateAfter: `Hr_S_PerformancePeriodActivate` |
|
||
| Form varsayılanları | IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PeriodId` | Dönem | dxTextBox | | | |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Skill |
|
||
| `ExpectedLevelId` | Beklenen Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Hedefler — `App.Hr.PerformanceGoal`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceGoal.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.PerformanceGoal` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Hedefler — değerlendirmenin ağırlıklı KPI / OKR hedefleri ve gerçekleşmeleri (İK görünümü). |
|
||
| Kaynak | `Hr_T_PerformanceGoal` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertAfter: `Hr_S_PerformanceReviewRecalc` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | GoalType=KPI, Direction=Increasing, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `GoalType` | Tür | dxRadioGroup | ✓ | ✓ | liste: KPI, OKR |
|
||
| `Title` | Hedef | dxTextBox | ✓ | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `Direction` | Yön | dxSelectBox | ✓ | ✓ | liste: Increasing, Decreasing · script |
|
||
| `Unit` | Birim | dxTextBox | | ✓ | |
|
||
| `TargetValue` | Hedef Değer | dxNumberBox | ✓ | ✓ | script |
|
||
| `Weight` | Ağırlık % | dxNumberBox | ✓ | ✓ | |
|
||
| `ActualValue` | Gerçekleşen | dxNumberBox | | ✓ | script |
|
||
| `AchievementRate` | Gerçekleşme % | dxNumberBox | | ✓ | |
|
||
| `SelfComment` | Öz Yorum | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Yetkinlikler — `App.Hr.PerformanceCompetency`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceCompetency.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.PerformanceCompetency` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Yetkinlikler — değerlendirmede yetkinliklerin beklenen, öz ve yönetici seviyeleri (İK görünümü). |
|
||
| Kaynak | `Hr_T_PerformanceCompetency` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertAfter: `Hr_S_PerformanceReviewRecalc` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Skill |
|
||
| `ExpectedLevelId` | Beklenen Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `SelfLevelId` | Öz Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `ManagerLevelId` | Yönetici Seviyesi | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `Score` | Puan | dxNumberBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `SelfComment` | Öz Yorum | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
|
||
### 360 Puanları — `App.Hr.PerformanceFeedbackScore`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceFeedbackScore.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.PerformanceFeedbackScore` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | 360 Puanları — 360 derece değerlendiricisinin yetkinlik bazında verdiği seviyeler (İK görünümü). |
|
||
| Kaynak | `Hr_T_PerformanceFeedbackScore` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertAfter: `Hr_S_PerformanceReviewRecalc` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `FeedbackId` | Geri Bildirim | dxTextBox | | | |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Skill |
|
||
| `LevelId` | Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `Comment` | Yorum | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### 360 Derece — `App.Hr.PerformanceFeedback`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PerformanceFeedback.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.PerformanceFeedback` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | 360 Derece — değerlendirmeye atanan 360 derece değerlendiriciler (akran, ast, üst, iç müşteri). |
|
||
| Kaynak | `Hr_T_PerformanceFeedback` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Hr.PerformanceFeedbackScore` (Id → FeedbackId) |
|
||
| Komutlar | InsertBefore: SQL · InsertAfter: `Hr_S_PerformanceFeedbackOpen`, `Hr_S_PerformanceReviewRecalc` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | Relation=Peer, Status=Pending, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxSelectBox | | | sorgu: Hr_T_PerformanceReview |
|
||
| `ReviewerId` | Değerlendirici | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `Relation` | İlişki | dxSelectBox | ✓ | ✓ | liste: Peer, Subordinate, Superior, InternalCustomer |
|
||
| `Status` | Durum | dxRadioGroup | ✓ | ✓ | liste: Pending, Submitted |
|
||
| `Score` | Puan | dxNumberBox | | ✓ | |
|
||
| `SubmittedDate` | Gönderim Tarihi | dxDateBox | | ✓ | |
|
||
| `Comment` | Yorum | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Gelişim Planı — `App.Hr.ReviewDevelopmentPlan`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ReviewDevelopmentPlan.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.ReviewDevelopmentPlan` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Gelişim Planı — değerlendirmeden çıkan gelişim aksiyonları (İK görünümü). |
|
||
| Kaynak | `Hr_T_DevelopmentPlan` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertAfter: `Hr_S_DevelopmentPlanSync` · UpdateAfter: `Hr_S_DevelopmentPlanSync` |
|
||
| Form varsayılanları | ActionType=Training, Status=Planned, Progress=0, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `EmployeeId` | Çalışan | dxTextBox | | | |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `Title` | Aksiyon | dxTextBox | ✓ | ✓ | |
|
||
| `ActionType` | Aksiyon Türü | dxSelectBox | ✓ | ✓ | liste: Training, Mentoring, Project, Reading, Certificate, Other |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | | ✓ | sorgu: Hr_T_Skill |
|
||
| `TrainingId` | Eğitim | dxSelectBox | | ✓ | sorgu: Hr_T_Training |
|
||
| `CertificateId` | Sertifika | dxSelectBox | | ✓ | sorgu: Hr_T_Certificate |
|
||
| `MentorId` | Mentor | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `StartDate` | Başlangıç Tarihi | dxDateBox | | ✓ | |
|
||
| `DueDate` | Bitiş Tarihi | dxDateBox | | ✓ | |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Planned, InProgress, Completed, Cancelled |
|
||
| `Progress` | İlerleme % | dxNumberBox | | ✓ | |
|
||
| `EmployeeNote` | Çalışan Notu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Hedeflerim — `App.Hr.MyPerformanceGoal`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/MyPerformanceGoal.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.MyPerformanceGoal` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Hedeflerim — çalışanın kendi değerlendirmesindeki hedefler. |
|
||
| Kaynak | `Hr_T_PerformanceGoal` · filtre `"IsDeleted" = 'false' AND "ReviewId" IN (SELECT "Id" FROM "Hr_T_PerformanceReview" WHERE "EmployeeId" = '@USERID')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: `Hr_S_PerformanceGuard` · InsertAfter: `Hr_S_PerformanceReviewRecalc` · UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteBefore: `Hr_S_PerformanceGuard` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | GoalType=KPI, Direction=Increasing, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `GoalType` | Tür | dxRadioGroup | ✓ | ✓ | liste: KPI, OKR |
|
||
| `Title` | Hedef | dxTextBox | ✓ | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `Direction` | Yön | dxSelectBox | ✓ | ✓ | liste: Increasing, Decreasing · script |
|
||
| `Unit` | Birim | dxTextBox | | ✓ | |
|
||
| `TargetValue` | Hedef Değer | dxNumberBox | ✓ | ✓ | script |
|
||
| `Weight` | Ağırlık % | dxNumberBox | ✓ | ✓ | |
|
||
| `ActualValue` | Gerçekleşen | dxNumberBox | | ✓ | script |
|
||
| `AchievementRate` | Gerçekleşme % | dxNumberBox | | ✓ | |
|
||
| `SelfComment` | Öz Yorum | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Yetkinliklerim — `App.Hr.MyPerformanceCompetency`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/MyPerformanceCompetency.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.MyPerformanceCompetency` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Yetkinliklerim — çalışanın yetkinlik öz değerlendirmesi. |
|
||
| Kaynak | `Hr_T_PerformanceCompetency` · filtre `"IsDeleted" = 'false' AND "ReviewId" IN (SELECT "Id" FROM "Hr_T_PerformanceReview" WHERE "EmployeeId" = '@USERID')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Skill |
|
||
| `ExpectedLevelId` | Beklenen Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `SelfLevelId` | Öz Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `ManagerLevelId` | Yönetici Seviyesi | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `Score` | Puan | dxNumberBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `SelfComment` | Öz Yorum | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
|
||
### Gelişim Planım — `App.Hr.MyDevelopmentPlan`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/MyDevelopmentPlan.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.MyDevelopmentPlan` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Gelişim Planım — çalışanın kendi gelişim aksiyonları. |
|
||
| Kaynak | `Hr_T_DevelopmentPlan` · filtre `"IsDeleted" = 'false' AND "EmployeeId" = '@USERID'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | UpdateBefore: SQL · UpdateAfter: `Hr_S_DevelopmentPlanSync` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `EmployeeId` | Çalışan | dxTextBox | | | |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `Title` | Aksiyon | dxTextBox | ✓ | ✓ | |
|
||
| `ActionType` | Aksiyon Türü | dxSelectBox | ✓ | ✓ | liste: Training, Mentoring, Project, Reading, Certificate, Other |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | | ✓ | sorgu: Hr_T_Skill |
|
||
| `TrainingId` | Eğitim | dxSelectBox | | ✓ | sorgu: Hr_T_Training |
|
||
| `CertificateId` | Sertifika | dxSelectBox | | ✓ | sorgu: Hr_T_Certificate |
|
||
| `MentorId` | Mentor | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `StartDate` | Başlangıç Tarihi | dxDateBox | | ✓ | |
|
||
| `DueDate` | Bitiş Tarihi | dxDateBox | | ✓ | |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Planned, InProgress, Completed, Cancelled |
|
||
| `Progress` | İlerleme % | dxNumberBox | | ✓ | |
|
||
| `EmployeeNote` | Çalışan Notu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Değerlendirmelerim — `App.Hr.MyPerformanceReview`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/MyPerformanceReview.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.MyPerformanceReview` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Değerlendirmelerim — oturum açan çalışanın kendi performans değerlendirmeleri. |
|
||
| Kaynak | `Hr_T_PerformanceReview` · filtre `"IsDeleted" = 'false' AND "EmployeeId" = '@USERID'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Todo (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Hr.MyPerformanceGoal` (Id → ReviewId), `App.Hr.MyPerformanceCompetency` (Id → ReviewId), `App.Hr.MyDevelopmentPlan` (Id → ReviewId, EmployeeId → EmployeeId) |
|
||
| Todo | başlık `EmployeeName`, durum `Status` (GoalSetting,SelfReview,ManagerReview,Calibration,Completed) |
|
||
| Komutlar | UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewAfterSave` |
|
||
| Form varsayılanları | Status=GoalSetting, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod |
|
||
| `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 |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: GoalSetting, SelfReview, ManagerReview, Calibration, Completed |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `GoalScore` | Hedef Puanı | dxNumberBox | | ✓ | |
|
||
| `CompetencyScore` | Yetkinlik Puanı | dxNumberBox | | ✓ | |
|
||
| `Feedback360Score` | 360 Ortalaması | dxNumberBox | | ✓ | |
|
||
| `OverallScore` | Genel Puan | dxNumberBox | | ✓ | |
|
||
| `CalibratedScore` | Kalibre Puan | dxNumberBox | | ✓ | |
|
||
| `RatingId` | Derece | dxSelectBox | | ✓ | sorgu: Hr_T_PerformanceRating |
|
||
| `SelfComment` | Öz Değerlendirme Yorumu | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `CalibrationNote` | Kalibrasyon Notu | dxTextArea | | ✓ | |
|
||
| `SelfSubmittedDate` | Öz Değerlendirme Gönderimi | dxDateBox | | ✓ | |
|
||
| `ManagerSubmittedDate` | Yönetici Değerlendirmesi Gönderimi | dxDateBox | | ✓ | |
|
||
| `CompletedDate` | Tamamlanma | dxDateBox | | ✓ | |
|
||
|
||
### Ekip Hedefleri — `App.Hr.TeamPerformanceGoal`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/TeamPerformanceGoal.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.TeamPerformanceGoal` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Ekip Hedefleri — yöneticinin, ekibindeki çalışanın hedefleri üzerindeki görünümü. |
|
||
| Kaynak | `Hr_T_PerformanceGoal` · filtre `"IsDeleted" = 'false' AND "ReviewId" IN (SELECT "Id" FROM "Hr_T_PerformanceReview" WHERE "ManagerId" = '@USERID')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: `Hr_S_PerformanceGuard` · InsertAfter: `Hr_S_PerformanceReviewRecalc` · UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteBefore: `Hr_S_PerformanceGuard` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | GoalType=KPI, Direction=Increasing, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `GoalType` | Tür | dxRadioGroup | ✓ | ✓ | liste: KPI, OKR |
|
||
| `Title` | Hedef | dxTextBox | ✓ | ✓ | |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `Direction` | Yön | dxSelectBox | ✓ | ✓ | liste: Increasing, Decreasing · script |
|
||
| `Unit` | Birim | dxTextBox | | ✓ | |
|
||
| `TargetValue` | Hedef Değer | dxNumberBox | ✓ | ✓ | script |
|
||
| `Weight` | Ağırlık % | dxNumberBox | ✓ | ✓ | |
|
||
| `ActualValue` | Gerçekleşen | dxNumberBox | | ✓ | script |
|
||
| `AchievementRate` | Gerçekleşme % | dxNumberBox | | ✓ | |
|
||
| `SelfComment` | Öz Yorum | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Ekip Yetkinlikleri — `App.Hr.TeamPerformanceCompetency`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/TeamPerformanceCompetency.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.TeamPerformanceCompetency` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Ekip Yetkinlikleri — yöneticinin yetkinlik değerlendirmesi; yönetici seviyesi yetkinlik puanını belirler. |
|
||
| Kaynak | `Hr_T_PerformanceCompetency` · filtre `"IsDeleted" = 'false' AND "ReviewId" IN (SELECT "Id" FROM "Hr_T_PerformanceReview" WHERE "ManagerId" = '@USERID')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: `Hr_S_PerformanceGuard` · InsertAfter: `Hr_S_PerformanceReviewRecalc` · UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` · DeleteBefore: `Hr_S_PerformanceGuard` · DeleteAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
| Form varsayılanları | IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Skill |
|
||
| `ExpectedLevelId` | Beklenen Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `SelfLevelId` | Öz Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `ManagerLevelId` | Yönetici Seviyesi | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `Score` | Puan | dxNumberBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `SelfComment` | Öz Yorum | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
|
||
### Ekip Gelişim Planı — `App.Hr.TeamDevelopmentPlan`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/TeamDevelopmentPlan.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.TeamDevelopmentPlan` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Ekip Gelişim Planı — yöneticinin ekibindeki çalışan için planladığı gelişim aksiyonları. |
|
||
| Kaynak | `Hr_T_DevelopmentPlan` · filtre `"IsDeleted" = 'false' AND "ReviewId" IN (SELECT "Id" FROM "Hr_T_PerformanceReview" WHERE "ManagerId" = '@USERID')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | InsertBefore: `Hr_S_PerformanceGuard` · InsertAfter: `Hr_S_DevelopmentPlanSync` · UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_DevelopmentPlanSync` · DeleteBefore: `Hr_S_PerformanceGuard` |
|
||
| Form varsayılanları | ActionType=Training, Status=Planned, Progress=0, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `EmployeeId` | Çalışan | dxTextBox | | | |
|
||
| `ReviewId` | Değerlendirme | dxTextBox | | | |
|
||
| `Title` | Aksiyon | dxTextBox | ✓ | ✓ | |
|
||
| `ActionType` | Aksiyon Türü | dxSelectBox | ✓ | ✓ | liste: Training, Mentoring, Project, Reading, Certificate, Other |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | | ✓ | sorgu: Hr_T_Skill |
|
||
| `TrainingId` | Eğitim | dxSelectBox | | ✓ | sorgu: Hr_T_Training |
|
||
| `CertificateId` | Sertifika | dxSelectBox | | ✓ | sorgu: Hr_T_Certificate |
|
||
| `MentorId` | Mentor | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `Description` | Açıklama | dxTextArea | | ✓ | |
|
||
| `StartDate` | Başlangıç Tarihi | dxDateBox | | ✓ | |
|
||
| `DueDate` | Bitiş Tarihi | dxDateBox | | ✓ | |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Planned, InProgress, Completed, Cancelled |
|
||
| `Progress` | İlerleme % | dxNumberBox | | ✓ | |
|
||
| `EmployeeNote` | Çalışan Notu | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### Ekibimin Değerlendirmeleri — `App.Hr.TeamPerformanceReview`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/TeamPerformanceReview.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.TeamPerformanceReview` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Ekibimin Değerlendirmeleri — kullanıcının yönetici olarak atandığı çalışanların değerlendirmeleri. |
|
||
| Kaynak | `Hr_T_PerformanceReview` · filtre `"IsDeleted" = 'false' AND "ManagerId" = '@USERID'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Todo (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Hr.TeamPerformanceGoal` (Id → ReviewId), `App.Hr.TeamPerformanceCompetency` (Id → ReviewId), `App.Hr.TeamDevelopmentPlan` (Id → ReviewId, EmployeeId → EmployeeId) |
|
||
| Todo | başlık `EmployeeName`, durum `Status` (GoalSetting,SelfReview,ManagerReview,Calibration,Completed) |
|
||
| Komutlar | UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewAfterSave` |
|
||
| Form varsayılanları | Status=GoalSetting, IsActive=true |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `PeriodId` | Dönem | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_PerformancePeriod |
|
||
| `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 |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: GoalSetting, SelfReview, ManagerReview, Calibration, Completed |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
| `GoalScore` | Hedef Puanı | dxNumberBox | | ✓ | |
|
||
| `CompetencyScore` | Yetkinlik Puanı | dxNumberBox | | ✓ | |
|
||
| `Feedback360Score` | 360 Ortalaması | dxNumberBox | | ✓ | |
|
||
| `OverallScore` | Genel Puan | dxNumberBox | | ✓ | |
|
||
| `CalibratedScore` | Kalibre Puan | dxNumberBox | | ✓ | |
|
||
| `RatingId` | Derece | dxSelectBox | | ✓ | sorgu: Hr_T_PerformanceRating |
|
||
| `SelfComment` | Öz Değerlendirme Yorumu | dxTextArea | | ✓ | |
|
||
| `ManagerComment` | Yönetici Yorumu | dxTextArea | | ✓ | |
|
||
| `CalibrationNote` | Kalibrasyon Notu | dxTextArea | | ✓ | |
|
||
| `SelfSubmittedDate` | Öz Değerlendirme Gönderimi | dxDateBox | | ✓ | |
|
||
| `ManagerSubmittedDate` | Yönetici Değerlendirmesi Gönderimi | dxDateBox | | ✓ | |
|
||
| `CompletedDate` | Tamamlanma | dxDateBox | | ✓ | |
|
||
|
||
### Yetkinlik Puanları — `App.Hr.My360FeedbackScore`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/My360FeedbackScore.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.My360FeedbackScore` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Yetkinlik Puanları — 360 değerlendiricisinin kendi talebinde her yetkinliğe verdiği seviye. |
|
||
| Kaynak | `Hr_T_PerformanceFeedbackScore` · filtre `"IsDeleted" = 'false' AND "FeedbackId" IN (SELECT "Id" FROM "Hr_T_PerformanceFeedback" WHERE "ReviewerId" = '@USERID')` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Komutlar | UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `FeedbackId` | Geri Bildirim | dxTextBox | | | |
|
||
| `SkillId` | Yetkinlik | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Skill |
|
||
| `LevelId` | Seviye | dxSelectBox | | ✓ | sorgu: Hr_T_SkillLevel (← SkillId) |
|
||
| `Comment` | Yorum | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
### 360 Taleplerim — `App.Hr.My360Feedback`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/My360Feedback.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Hr.My360Feedback` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | 360 Taleplerim — kullanıcıya değerlendirici olarak atanan 360 derece değerlendirme talepleri. |
|
||
| Kaynak | `Hr_T_PerformanceFeedback` · filtre `"IsDeleted" = 'false' AND "ReviewerId" = '@USERID'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Hr.My360FeedbackScore` (Id → FeedbackId) |
|
||
| Komutlar | UpdateBefore: `Hr_S_PerformanceGuard` · UpdateAfter: `Hr_S_PerformanceReviewRecalc` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ReviewId` | Değerlendirme | dxSelectBox | | | sorgu: Hr_T_PerformanceReview |
|
||
| `ReviewerId` | Değerlendirici | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `Relation` | İlişki | dxSelectBox | ✓ | ✓ | liste: Peer, Subordinate, Superior, InternalCustomer |
|
||
| `Status` | Durum | dxRadioGroup | ✓ | ✓ | liste: Pending, Submitted |
|
||
| `Score` | Puan | dxNumberBox | | ✓ | |
|
||
| `SubmittedDate` | Gönderim Tarihi | dxDateBox | | ✓ | |
|
||
| `Comment` | Yorum | dxTextArea | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | | ✓ | |
|
||
|
||
<!-- module-doc:auto:end -->
|