{"version":3,"file":"fikoyt-shared-puantaj.component-DkKd9cUC.mjs","sources":["../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/puantaj/puantaj.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/puantaj/puantaj.component.ts"],"sourcesContent":["
\n
\n {{ kayitDuzenleyebilir ? 'Süper yönetici · kayıt düzenleme açık' : 'PDKS kayıtları salt okunur · giriş/çıkış kart ile kaydedilir' }}\n
\n
\n\r\n \r\n @if (!aktifSatir && !yukleniyor) {\r\n
\r\n \r\n
{{ seciliGunGorunum }}
\r\n
\r\n
+
\n
Aktif Kayit Yok
\r\n
\r\n \n \n
\r\n
\r\n @if (!seciliGunBugunMu) {\r\n \r\n }\r\n
\r\n }\r\n\r\n \r\n @if (aktifSatir || yukleniyor) {\r\n
\r\n\r\n \r\n @if (geceVardiyasiMi) {\r\n
🌙 Gece Vardiyası
\r\n }\r\n\r\n \r\n
\r\n \r\n
\r\n {{ seciliGunAdi }}\r\n {{ seciliGunGorunum }}\r\n
\r\n @if (aktifSatir) {\r\n {{ durumYazi(aktifSatir.durum) }}\r\n }\r\n @if (!seciliGunBugunMu) {\r\n \r\n }\r\n @if (yukleniyor) { ↻ }\r\n
\r\n\r\n \r\n
\n 🔄\r\n Vardiya\r\n {{ aktifVardiyaIsmi }}\r\n ▸\r\n
\r\n\r\n \r\n
\r\n @for (g of gunTurleri; track g.key) {\r\n \r\n }\r\n
\r\n\r\n \r\n
\r\n
\n
Giris
\r\n
\r\n {{ aktifSatir?.giris ? zamanStrSn(aktifSatir.giris) : 'Seciniz' }}\r\n
\r\n
\r\n
\n
Mola({{ aktifSatir && aktifSatir.molaDakika > 0 ? dk2Saat(aktifSatir.molaDakika) : 'Yok' }})
\r\n
\r\n {{ aktifSatir?.durum === 'molada' ? canliMolaStr : (aktifSatir && aktifSatir.molaDakika > 0 ? dk2Saat(aktifSatir.molaDakika) : 'Yok') }}\r\n
\r\n
\r\n
\n
Cikis
\r\n
\r\n {{ aktifSatir?.cikis ? zamanStrSn(aktifSatir.cikis) : 'Seciniz' }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n = 100 ? '#fa8c16' : '#009688'\"\r\n stroke-width=\"6\" stroke-linecap=\"round\"\r\n [attr.stroke-dasharray]=\"ringCevre\"\r\n [attr.stroke-dashoffset]=\"ringOffset\"\r\n transform=\"rotate(-90 40 40)\"\r\n style=\"transition: stroke-dashoffset .5s ease;\"/>\r\n \r\n
\r\n
%{{ tamamlanmaYuzde }}
\r\n
\r\n
\r\n
\r\n
Calisma
\r\n
{{ canliCalismaStr }}
\r\n
\r\n
\r\n
Carpan
\r\n
×{{ aktifCarpan.carpan }} {{ aktifCarpan.etiket }}
\r\n
\r\n
\r\n
\r\n\r\n \r\n @if (fazlaMesaiMs > 60 * 60_000) {\r\n
120 * 60_000\">\r\n ⚠️ Fazla mesai: {{ fazlaMesaiStr }}\r\n
\r\n }\r\n\r\n \r\n @if (pdks.gunlukKayitlar().length > 1) {\r\n
📋 {{ pdks.gunlukKayitlar().length }} ayri giris/cikis kaydi
\r\n }\r\n\r\n \r\n
\r\n
\r\n
Normal Mesai
\r\n
{{ normalMesaiStr }}
\r\n
\r\n
\r\n
Fazla Mesai
\r\n
0\">{{ fazlaMesaiStr }}
\r\n
\r\n
\r\n\r\n \r\n @if (seciliGunBugunMu) {\r\n
\r\n @if (!aktifSatir || aktifSatir.durum === 'gelmedi') {\r\n \r\n }\r\n @if (aktifSatir?.durum === 'aktif') {\r\n \r\n \r\n }\r\n @if (aktifSatir?.durum === 'molada') {\r\n \r\n }\r\n @if (aktifSatir?.durum === 'cikti') {\r\n
Mesai tamamlandi · {{ dk2Saat(aktifSatir.toplamDakika) }}
\r\n }\r\n
\r\n } @else {\r\n
\r\n @if (aktifSatir) {\r\n
{{ durumYazi(aktifSatir.durum) }} · {{ dk2Saat(aktifSatir.toplamDakika) }}
\r\n }\r\n
\r\n }\r\n\r\n \r\n
\r\n @for (b of bayraklar; track b.key) {\r\n \r\n }\r\n
\r\n
\r\n }\r\n\r\n \r\n
\r\n
\r\n 📅\r\n {{ AY_ISIMLERI_T[takvimAy] }} {{ takvimYil }}\r\n
\r\n
\r\n
\r\n Calisma Suresi\r\n {{ aylikOzet.calismaSuresi }}\r\n
\r\n
\r\n C.Gunu Mesaileri\r\n {{ aylikOzet.cGunuMesai || '❌ Yok' }}\r\n
\r\n
\r\n D.Gunu Mesaileri\r\n {{ aylikOzet.dGunuMesai || '❌ Yok' }}\r\n
\r\n
\r\n H.Tatili Mesaileri\r\n {{ aylikOzet.hTatilMesai || '❌ Yok' }}\r\n
\r\n
\r\n R.Tatil Mesaileri\r\n {{ aylikOzet.rTatilMesai || '❌ Yok' }}\r\n
\r\n
\r\n Izinli Sure\r\n {{ aylikOzet.izinliSure || '❌ Yok' }}\r\n
\r\n
\r\n Raporlu Sure\r\n {{ aylikOzet.raporluSure || '❌ Yok' }}\r\n
\r\n
\r\n Yillik Izin\r\n {{ aylikOzet.yillikIzin || '❌ Yok' }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n @if (takvimAy === bugunAy && takvimYil === bugunYil) { 👉 }\r\n {{ AY_ISIMLERI_T[takvimAy] }} {{ takvimYil }}\r\n \r\n \r\n
\r\n
\r\n @for (g of HAFTA_KISA; track $index) {\r\n = 5\">{{ g }}\r\n }\r\n
\r\n
\r\n @for (h of takvimHucreleri; track $index) {\r\n
\r\n \r\n
\r\n {{ h.gunNo }} {{ gunKisaIsim(h.tarih) }}\r\n
\r\n \r\n @if (h.ayIci) {\r\n
\r\n @if (h.veri) {\r\n 🕘\r\n @if (h.veri.fazlaMesaiVar) { ➕ }\r\n @if (h.veri.gecGelme) { ⚠ }\r\n @if (h.veri.kayitSayisi && h.veri.kayitSayisi > 1) { {{ h.veri.kayitSayisi }} }\r\n } @else {\r\n 🚫\r\n }\r\n
\r\n }\r\n \r\n @if (h.ayIci) {\r\n
\r\n @if (h.veri?.girisStr) {\r\n {{ h.veri.girisStr }}{{ h.veri.cikisStr ? '-' + h.veri.cikisStr : '' }}\r\n }\r\n {{ h.veri && h.veri.toplamDk > 0 ? dk2SaatKisa(h.veri.toplamDk) : '00:00' }}\r\n
\r\n }\r\n \r\n @if (h.ayIci) {\r\n @if (h.veri?.notVar) { 💬 }\r\n @if (h.veri?.resmiTatil) { 🚩 }\r\n @if (h.veri?.raporlu) { 💖 }\r\n @if (h.veri?.izinli) { 🛌 }\r\n }\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n Normal Mesai\r\n {{ aylikOzet.calismaSuresi }}\r\n
\r\n
\r\n Fazla Mesai\r\n {{ aylikOzet.fazlaMesai || 'Yok' }}\r\n
\r\n
\r\n
\r\n\r\n \r\n @if (aktifPersonel) {\r\n \r\n }\r\n\r\n
\r\n\r\n \r\n @if (aktifDialog === 'giris-saat') {\r\n
\r\n
\r\n
🕘 Giris Saatiniz
\r\n
\r\n @if (!seciliGunBugunMu) {
{{ seciliGunGorunum }}
}\r\n @if (aktifSatir?.giris) {\r\n
{{ zamanStrSn(aktifSatir.giris) }}
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n @if (seciliGunBugunMu) {\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n @if (aktifDialog === 'cikis-saat') {\r\n
\r\n
\r\n
🕘 Cikis Saatiniz
\r\n
\r\n @if (!seciliGunBugunMu) {
{{ seciliGunGorunum }}
}\r\n @if (aktifSatir?.cikis) {\r\n
{{ zamanStrSn(aktifSatir.cikis) }}
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n @if (seciliGunBugunMu) {\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n @if (aktifDialog === 'mola-ekle') {\r\n
\r\n
\r\n
☕ Molalar
\r\n
\r\n @if (!seciliGunBugunMu) {
{{ seciliGunGorunum }}
}\r\n
\r\n \r\n
\r\n @if (aktifSatir) {\r\n
\r\n @for (m of molaCiftleri; track $index) {\r\n
\r\n {{ m.ismi || ('Mola ' + ($index + 1)) }}\r\n
\r\n {{ zamanStr(m.baslangic) }}\r\n →\r\n {{ m.bitis ? zamanStr(m.bitis) : '...' }}\r\n
\r\n {{ m.sure > 0 ? dk2Saat(m.sure) : 'Devam' }}\r\n
\r\n } @empty {\r\n
Mola kaydi yok
\r\n }\r\n
\r\n }\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n @if (yeniMolaBaslangic && yeniMolaBitis) {\r\n
Sure: {{ yeniMolaSure }}
\r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n @if (aktifDialog === 'mesai-carpani') {\r\n
\r\n
\r\n
📈 Fazla Mesai Orani
\r\n
\r\n
%{{ dlgMesaiOrani }}
\r\n \r\n
%0%100%200%300%400
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n @if (aktifDialog === 'vardiya-sec') {\r\n
\r\n
\r\n
🔄 Vardiya Secimi
\r\n
\r\n @for (v of vardiyalar; track $index) {\r\n \r\n } @empty {
Tanimli vardiya yok
}\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n \r\n @if (aktifDialog === 'calisma-suresi') {\r\n
\r\n
\r\n
⏱ Calisma Suresi
\r\n
\r\n
{{ dk2Saat(dlgCalismaSuresiDk) }}
\r\n \r\n
0s3s6s9s12s
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n
\n","import {\r\n Component, ChangeDetectionStrategy, DestroyRef,\r\n OnInit, OnChanges, OnDestroy, SimpleChanges, Input, Output, EventEmitter, inject,\r\n} from '@angular/core';\r\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { interval } from 'rxjs';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\r\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\r\nimport { FirmaService } from '@uygulamalar/firma-yonetim/services/firma.service';\r\nimport { PdksDurumService } from '@uygulamalar/hmi-pano/services/pdks-durum.service';\r\nimport { PanoDurumService } from '@uygulamalar/hmi-pano/services/pano-durum.service';\r\nimport { PdksAylikOzetComponent } from '../pdks/pdks-aylik-ozet.component';\r\nimport { hmiAyarGetir } from '@uygulamalar/hmi-pano/config/hmi-parametre-setleri';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\nimport type { IPdksAyarlar, PuantajGunDurum } from '@uygulamalar/firma-yonetim/interfaces/pdks.interface';\r\nimport { VARSAYILAN_PDKS_AYARLAR } from '@uygulamalar/firma-yonetim/interfaces/pdks.interface';\r\n\r\n// ─── Tipler ──────────────────────────────────────────────────────────────────\r\n\r\nexport type PuantajKayitTur = 'giris' | 'cikis' | 'mola_baslangic' | 'mola_bitis';\r\nexport type GunTuru = 'calisma' | 'dinlenme' | 'tatil';\r\nexport type DialogTur = null | 'giris-saat' | 'cikis-saat' | 'mola-ekle' | 'mesai-carpani' | 'vardiya-sec' | 'calisma-suresi';\r\n\r\nexport interface IGunlukSatir {\r\n personelId: string;\r\n ad: string;\r\n soyad: string;\r\n sicilNo?: string;\r\n departmanAdi?: string;\r\n giris?: string;\r\n cikis?: string;\r\n molaDakika: number;\r\n toplamDakika: number;\r\n durum: 'aktif' | 'cikti' | 'molada' | 'gelmedi';\r\n hareketler: { tur: PuantajKayitTur; zaman: string }[];\r\n}\r\n\r\nexport interface IVardiya {\r\n ismi: string;\r\n aciklama?: string;\r\n sureDakika: number;\r\n molalar?: { ismi: string; baslangic: string; bitis: string }[];\r\n}\r\n\r\ninterface ITakvimGunVeri {\r\n toplamDk: number;\r\n durum: 'aktif' | 'cikti' | 'molada' | 'gelmedi';\r\n fazlaMesaiVar: boolean;\r\n girisStr?: string;\r\n cikisStr?: string;\r\n notVar?: boolean;\r\n resmiTatil?: boolean;\r\n raporlu?: boolean;\r\n izinli?: boolean;\r\n kayitSayisi?: number; // çoklu giriş/çıkış sayısı\r\n gecGelme?: boolean; // tolerans aşımı\r\n renk?: string; // takvim hücre renk kodu\r\n gunDurumu?: PuantajGunDurum; // detaylı durum\r\n}\r\n\r\ninterface ITakvimHucre {\r\n tarih: Date;\r\n gunNo: number;\r\n ayIci: boolean;\r\n bugun: boolean;\r\n secili: boolean;\r\n haftaSonu: boolean;\r\n veri?: ITakvimGunVeri;\r\n}\r\n\r\n// ─── Yardımcılar ─────────────────────────────────────────────────────────────\r\n\r\nfunction zamanStr(iso: string): string {\r\n const d = new Date(iso);\r\n return `${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}`;\r\n}\r\nfunction zamanStrSaniye(iso: string): string {\r\n const d = new Date(iso);\r\n return `${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}:${d.getSeconds().toString().padStart(2, '0')}`;\r\n}\r\nfunction dakikaFark(a: string, b: string): number {\r\n return Math.max(0, Math.round((new Date(b).getTime() - new Date(a).getTime()) / 60000));\r\n}\r\nfunction dk2Saat(dk: number): string {\r\n if (dk <= 0) return '—';\r\n const h = Math.floor(dk / 60);\r\n const m = dk % 60;\r\n return h > 0 ? `${h}s ${m}dk` : `${m}dk`;\r\n}\r\nfunction dk2SaatKisa(dk: number): string {\r\n if (dk <= 0) return '';\r\n const h = Math.floor(dk / 60);\r\n const m = dk % 60;\r\n return h > 0 ? (m > 0 ? `${h}s${m}d` : `${h}s`) : `${m}d`;\r\n}\r\nfunction sureStr(ms: number): string {\r\n if (ms <= 0) return '00:00:00';\r\n const s = Math.floor(ms / 1000);\r\n const h = Math.floor(s / 3600);\r\n const m = Math.floor((s % 3600) / 60);\r\n const sn = s % 60;\r\n return `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}:${sn.toString().padStart(2, '0')}`;\r\n}\r\n/**\r\n * Hareketleri çözümle — çoklu giriş/çıkış desteği.\r\n * İlk giriş ve son çıkışı kullanır, tüm molaları toplar.\r\n * Gece vardiyası: giriş saati >= geceVardiyasiSaati ise ertesi günün çıkışını da kapsar.\r\n */\r\nfunction hareketleriCoz(hareketler: { tur: PuantajKayitTur; zaman: string }[], coklu = false): Omit & { kayitSayisi: number } {\r\n const sorted = [...hareketler].sort((a, b) => a.zaman.localeCompare(b.zaman));\r\n let giris: string | undefined;\r\n let cikis: string | undefined;\r\n let molaDakika = 0;\r\n let molaBaslangic: string | undefined;\r\n let kayitSayisi = 0;\r\n\r\n if (coklu) {\r\n // Çoklu mod: her giriş/çıkış çiftini ayrı say, topla\r\n let toplamDakika = 0;\r\n let aktifGiris: string | undefined;\r\n for (const h of sorted) {\r\n if (h.tur === 'giris') {\r\n if (!giris) giris = h.zaman; // ilk giriş\r\n aktifGiris = h.zaman;\r\n kayitSayisi++;\r\n }\r\n if (h.tur === 'cikis' && aktifGiris) {\r\n cikis = h.zaman;\r\n toplamDakika += dakikaFark(aktifGiris, h.zaman);\r\n aktifGiris = undefined;\r\n }\r\n if (h.tur === 'mola_baslangic') molaBaslangic = h.zaman;\r\n if (h.tur === 'mola_bitis' && molaBaslangic) {\r\n molaDakika += dakikaFark(molaBaslangic, h.zaman);\r\n molaBaslangic = undefined;\r\n }\r\n }\r\n const molaSuruyor = !!molaBaslangic;\r\n let durum: IGunlukSatir['durum'] = 'gelmedi';\r\n if (giris && !cikis) durum = molaSuruyor ? 'molada' : 'aktif';\r\n else if (giris && cikis) durum = aktifGiris ? 'aktif' : 'cikti';\r\n toplamDakika = Math.max(0, toplamDakika - molaDakika);\r\n return { giris, cikis, molaDakika, toplamDakika, durum, kayitSayisi: Math.max(1, kayitSayisi) };\r\n }\r\n\r\n // Tek kayıt modu (eski davranış)\r\n for (const h of sorted) {\r\n if (h.tur === 'giris' && !giris) giris = h.zaman;\r\n if (h.tur === 'cikis') cikis = h.zaman;\r\n if (h.tur === 'mola_baslangic') molaBaslangic = h.zaman;\r\n if (h.tur === 'mola_bitis' && molaBaslangic) {\r\n molaDakika += dakikaFark(molaBaslangic, h.zaman);\r\n molaBaslangic = undefined;\r\n }\r\n }\r\n const molaSuruyor = !!molaBaslangic;\r\n let durum: IGunlukSatir['durum'] = 'gelmedi';\r\n if (giris && !cikis) durum = molaSuruyor ? 'molada' : 'aktif';\r\n else if (giris && cikis) durum = 'cikti';\r\n const toplamBrut = giris && cikis ? dakikaFark(giris, cikis) : 0;\r\n const toplamDakika = Math.max(0, toplamBrut - molaDakika);\r\n return { giris, cikis, molaDakika, toplamDakika, durum, kayitSayisi: 1 };\r\n}\r\n\r\nconst GUN_ISIMLERI = ['Pazar', 'Pazartesi', 'Sali', 'Carsamba', 'Persembe', 'Cuma', 'Cumartesi'];\r\nconst GUN_KISA = ['Paz', 'Pzt', 'Sal', 'Car', 'Per', 'Cum', 'Cmt'];\r\nconst AY_ISIMLERI = ['Ocak', 'Subat', 'Mart', 'Nisan', 'Mayis', 'Haziran', 'Temmuz', 'Agustos', 'Eylul', 'Ekim', 'Kasim', 'Aralik'];\r\n\r\nconst VARSAYILAN_VARDIYALAR: IVardiya[] = [\r\n { ismi: 'Surekli Gunduz', aciklama: '08:00 – 17:00', sureDakika: 540, molalar: [{ ismi: 'Ogle', baslangic: '12:00', bitis: '13:00' }] },\r\n { ismi: 'Sabah', aciklama: '06:00 – 14:00', sureDakika: 480, molalar: [{ ismi: 'Ara', baslangic: '10:00', bitis: '10:30' }] },\r\n { ismi: 'Aksam', aciklama: '14:00 – 22:00', sureDakika: 480, molalar: [{ ismi: 'Ara', baslangic: '18:00', bitis: '18:30' }] },\r\n { ismi: 'Gece', aciklama: '22:00 – 06:00', sureDakika: 480, molalar: [{ ismi: 'Gece', baslangic: '02:00', bitis: '02:30' }] },\r\n];\r\n\r\n// ─── Component ───────────────────────────────────────────────────────────────\r\n\r\n@Component({\r\n selector: 'hmi-puantaj',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, FormsModule, NzButtonModule, NzTooltipModule, NzDividerModule, PdksAylikOzetComponent],\r\n templateUrl: './puantaj.component.html',\r\n styleUrl: './puantaj.component.less',\r\n})\r\nexport class HmiPuantajComponent extends FikoYTKokBilesenComponent implements OnInit, OnChanges, OnDestroy {\r\n constructor() { super(); }\r\n private firmaService = inject(FirmaService);\r\n pdks = inject(PdksDurumService);\r\n private panoDurum = inject(PanoDurumService);\r\n private destroyRef = inject(DestroyRef);\r\n\r\n @Input() aktifPersonel: any = null;\r\n @Input() kisiYetkileri: string[] = [];\r\n @Input() firmaId = '';\r\n @Output() geriDonTiklandi = new EventEmitter();\r\n\r\n aktifSatir: IGunlukSatir | null = null;\r\n islemYapiliyor = false;\r\n yukleniyor = false;\r\n aktifDialog: DialogTur = null;\r\n\r\n // Secili gun\r\n seciliGun = new Date();\r\n takvimAy = new Date().getMonth();\r\n takvimYil = new Date().getFullYear();\r\n takvimVerileri: Record = {};\r\n\r\n // Gun turu\r\n gunTuru: GunTuru = 'calisma';\r\n readonly gunTurleri = [\r\n { key: 'calisma' as GunTuru, ikon: '🏭', etiket: 'Calisma' },\r\n { key: 'dinlenme' as GunTuru, ikon: '🌙', etiket: 'Dinlenme' },\r\n { key: 'tatil' as GunTuru, ikon: '🎉', etiket: 'Tatil' },\r\n ];\r\n\r\n // Bayraklar\r\n servisGecikmesi = false; resmiTatil = false; raporlu = false; gunlukIzinli = false; yillikIzinli = false;\r\n readonly bayraklar = [\r\n { key: 'servis', ikon: '🚌', etiket: 'Servis Gecikmesi', kisaEtiket: 'Servis' },\r\n { key: 'tatil', ikon: '🚩', etiket: 'Resmi Tatil', kisaEtiket: 'Tatil' },\r\n { key: 'rapor', ikon: '💔', etiket: 'Raporlu', kisaEtiket: 'Rapor' },\r\n { key: 'gunluk', ikon: '🏨', etiket: 'Gunluk Izin', kisaEtiket: 'G.Izin' },\r\n { key: 'yillik', ikon: '🏖️', etiket: 'Yillik Izin', kisaEtiket: 'Y.Izin' },\r\n ];\r\n\r\n // Canli sayac\r\n canliCalismaStr = '00:00:00'; canliMolaStr = '0dk'; normalMesaiStr = '00:00:00'; fazlaMesaiStr = '00:00:00'; fazlaMesaiMs = 0;\r\n private _timerRef: any = null;\r\n\r\n // Vardiya\r\n vardiyalar: IVardiya[] = [...VARSAYILAN_VARDIYALAR];\r\n aktifVardiyaIdx = 0;\r\n\r\n // Mesai carpani\r\n mesaiOrani = 100; dlgMesaiOrani = 100;\r\n\r\n // Calisma suresi\r\n calismaSuresiOverrideDk = 0; dlgCalismaSuresiDk = 540;\r\n\r\n // Dialog saat degerleri\r\n dlgGirisSaat = ''; dlgCikisSaat = '';\r\n\r\n // Mola dialog\r\n yeniMolaIsmi = ''; yeniMolaBaslangic = ''; yeniMolaBitis = '';\r\n\r\n private cihazId = '';\r\n\r\n readonly zamanStr = zamanStr;\r\n readonly zamanStrSn = zamanStrSaniye;\r\n readonly dk2Saat = dk2Saat;\r\n readonly dk2SaatKisa = dk2SaatKisa;\r\n readonly AY_ISIMLERI_T = AY_ISIMLERI;\r\n readonly HAFTA_KISA = ['Pzt', 'Sal', 'Car', 'Per', 'Cum', 'Cmt', 'Paz'];\r\n\r\n // ═══════════════════ GETTERS ═══════════════════\r\n\r\n get seciliGunBugunMu(): boolean {\n const b = new Date();\r\n return this.seciliGun.getDate() === b.getDate() && this.seciliGun.getMonth() === b.getMonth() && this.seciliGun.getFullYear() === b.getFullYear();\r\n }\n get kayitDuzenleyebilir(): boolean { return this.panoDurum.superYoneticiMi; }\n\n private duzenlemeYetkisiKontrol(): boolean {\n if (this.kayitDuzenleyebilir) return true;\n this.nzMessage.warning('Puantaj kayıtlarını yalnızca süper yönetici düzenleyebilir');\n return false;\n }\n get seciliGunAdi(): string { return GUN_ISIMLERI[this.seciliGun.getDay()]; }\r\n get seciliGunGorunum(): string {\r\n const d = this.seciliGun;\r\n return `${d.getDate()} ${AY_ISIMLERI[d.getMonth()]} ${d.getFullYear()}`;\r\n }\r\n get seciliGunKey(): string {\r\n const d = this.seciliGun;\r\n return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;\r\n }\r\n get bugunAy(): number { return new Date().getMonth(); }\r\n get bugunYil(): number { return new Date().getFullYear(); }\r\n get aktifVardiyaIsmi(): string { return this.vardiyalar[this.aktifVardiyaIdx]?.ismi || 'Seciniz'; }\r\n get aktifVardiyaSureDk(): number { return this.vardiyalar[this.aktifVardiyaIdx]?.sureDakika || 480; }\r\n private get vardiyaSureMs(): number {\r\n if (this.calismaSuresiOverrideDk > 0) return this.calismaSuresiOverrideDk * 60_000;\r\n return this.aktifVardiyaSureDk * 60_000;\r\n }\r\n get molaCiftleri(): { baslangic: string; bitis?: string; sure: number; ismi?: string }[] {\r\n if (!this.aktifSatir?.hareketler) return [];\r\n const baslangiclar = this.aktifSatir.hareketler.filter(h => h.tur === 'mola_baslangic').sort((a, b) => a.zaman.localeCompare(b.zaman));\r\n const bitisler = this.aktifSatir.hareketler.filter(h => h.tur === 'mola_bitis').sort((a, b) => a.zaman.localeCompare(b.zaman));\r\n return baslangiclar.map((b, i) => ({ baslangic: b.zaman, bitis: bitisler[i]?.zaman, sure: bitisler[i] ? dakikaFark(b.zaman, bitisler[i].zaman) : 0 }));\r\n }\r\n get yeniMolaSure(): string {\r\n if (!this.yeniMolaBaslangic || !this.yeniMolaBitis) return '';\r\n const a = new Date(`${this.seciliGunKey}T${this.yeniMolaBaslangic}:00`);\r\n const b = new Date(`${this.seciliGunKey}T${this.yeniMolaBitis}:00`);\r\n return dk2Saat(Math.max(0, Math.round((b.getTime() - a.getTime()) / 60000)));\r\n }\r\n\r\n gunKisaIsim(tarih: Date): string { return GUN_KISA[tarih.getDay()]; }\r\n\r\n // ─── Progress Ring ─────────────────────────────────────────────────────────\r\n private readonly RING_R = 34;\r\n private readonly RING_CEVRE = 2 * Math.PI * 34; // ~213.6\r\n get ringCevre(): string { return `${this.RING_CEVRE}`; }\r\n get tamamlanmaYuzde(): number {\r\n const gunluk = this.pdks.pdksAyarlar().gunlukCalismaSaati * 60;\r\n if (gunluk <= 0 || !this.aktifSatir) return 0;\r\n return Math.min(100, Math.round((this.aktifSatir.toplamDakika / gunluk) * 100));\r\n }\r\n get ringOffset(): string { return `${this.RING_CEVRE * (1 - this.tamamlanmaYuzde / 100)}`; }\r\n\r\n // ─── Gece Vardiyası Tespiti ────────────────────────────────────────────────\r\n get geceVardiyasiMi(): boolean {\r\n const v = this.vardiyalar[this.aktifVardiyaIdx];\r\n if (!v?.aciklama) return false;\r\n const basSaat = parseInt(v.aciklama.split('–')[0]?.trim()?.split(':')[0] || '0');\r\n return basSaat >= this.pdks.pdksAyarlar().geceVardiyasiGunAtamaSaati;\r\n }\r\n\r\n // ─── Aktif Mesai Çarpanı ──────────────────────────────────────────────────\r\n get aktifCarpan() { return this.pdks.aktifMesaiCarpani(); }\r\n\r\n // ─── PDKS Yenileme ────────────────────────────────────────────────────────\r\n async pdksYenilendi() { await this.yukle(); }\r\n\r\n get aylikOzet(): { calismaSuresi: string; fazlaMesai: string; cGunuMesai: string; dGunuMesai: string; hTatilMesai: string; rTatilMesai: string; izinliSure: string; raporluSure: string; yillikIzin: string } {\r\n let toplamDk = 0; let fazlaDk = 0;\r\n let cGunuDk = 0; let dGunuDk = 0; let hTatilDk = 0; let rTatilDk = 0;\r\n const vrdDk = this.aktifVardiyaSureDk;\r\n const ayarlar = this.pdks.pdksAyarlar();\r\n for (const key of Object.keys(this.takvimVerileri)) {\r\n const v = this.takvimVerileri[key];\r\n toplamDk += v.toplamDk;\r\n if (v.toplamDk > vrdDk) {\r\n const fazla = v.toplamDk - vrdDk;\r\n fazlaDk += fazla;\r\n // Gün tipine göre mesai dağılımı\r\n const tarih = new Date(key);\r\n const gun = tarih.getDay();\r\n const tatilMi = ayarlar.resmiTatiller.some(t => t.tarih === key);\r\n if (tatilMi) rTatilDk += fazla;\r\n else if (gun === 6) cGunuDk += fazla;\r\n else if (gun === 0) dGunuDk += fazla;\r\n else hTatilDk += fazla;\r\n }\r\n }\r\n const f = (dk: number) => dk > 0 ? `${Math.floor(dk / 60)}s ${dk % 60}dk` : '';\r\n return {\r\n calismaSuresi: toplamDk > 0 ? `${Math.floor(toplamDk / 60)}s ${toplamDk % 60}dk` : '0s 0dk',\r\n fazlaMesai: f(fazlaDk),\r\n cGunuMesai: f(cGunuDk), dGunuMesai: f(dGunuDk),\r\n hTatilMesai: f(hTatilDk), rTatilMesai: f(rTatilDk),\r\n izinliSure: '', raporluSure: '', yillikIzin: '',\r\n };\r\n }\r\n\r\n // ═══════════════════ TAKVİM GETTER ═══════════════════\r\n\r\n get takvimHucreleri(): ITakvimHucre[] {\r\n const ayBaslangic = new Date(this.takvimYil, this.takvimAy, 1);\r\n const haftaGunu = ayBaslangic.getDay();\r\n const pazartesiFark = haftaGunu === 0 ? -6 : 1 - haftaGunu;\r\n const ilkGun = new Date(ayBaslangic); ilkGun.setDate(ilkGun.getDate() + pazartesiFark);\r\n const bugun = new Date(); bugun.setHours(0, 0, 0, 0);\r\n const secNorm = new Date(this.seciliGun); secNorm.setHours(0, 0, 0, 0);\r\n const hucreler: ITakvimHucre[] = [];\r\n for (let i = 0; i < 42; i++) {\r\n const tarih = new Date(ilkGun); tarih.setDate(tarih.getDate() + i);\r\n const key = `${tarih.getFullYear()}-${String(tarih.getMonth() + 1).padStart(2, '0')}-${String(tarih.getDate()).padStart(2, '0')}`;\r\n hucreler.push({\r\n tarih, gunNo: tarih.getDate(), ayIci: tarih.getMonth() === this.takvimAy,\r\n bugun: tarih.getTime() === bugun.getTime(), secili: tarih.getTime() === secNorm.getTime(),\r\n haftaSonu: tarih.getDay() === 0 || tarih.getDay() === 6, veri: this.takvimVerileri[key],\r\n });\r\n }\r\n return hucreler;\r\n }\r\n\r\n // ═══════════════════ LIFECYCLE ═══════════════════\r\n\r\n ngOnInit() {\r\n if (!this.firmaId) this.firmaId = hmiAyarGetir('firmaId', '');\r\n // Router-outlet modunda @Input gelmez — PanoDurumService'ten oku\r\n if (!this.aktifPersonel) this.aktifPersonel = this.panoDurum.sonPersonel();\r\n if (!this.kisiYetkileri?.length) this.kisiYetkileri = this.panoDurum.kisiYetkileri();\r\n this.cihazId = localStorage.getItem('fikoyt_cihaz_kimlik') || '';\r\n // PdksDurumService senkronizasyonu\r\n this.pdks.firmaId.set(this.firmaId);\r\n this.pdks.cihazId.set(this.cihazId);\r\n this.pdks.pdksAyarlarYukle(this.firmaId);\r\n // DB'den vardiyaları yükle\r\n this.dbVardiyalariYukle();\r\n if (this.aktifPersonel) this.ilkYukle();\r\n this._timerRef = setInterval(() => { if (this.seciliGunBugunMu) this.canliSayacGuncelle(); }, 1000);\r\n interval(30_000).pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\r\n if (this.aktifPersonel && this.seciliGunBugunMu) this.yukle(true);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['aktifPersonel'] && !changes['aktifPersonel'].firstChange && this.aktifPersonel) this.ilkYukle();\r\n }\r\n ngOnDestroy() { super.ngOnDestroy(); if (this._timerRef) clearInterval(this._timerRef); }\r\n\r\n private async ilkYukle() {\r\n // PdksDurumService'e personeli bildir\r\n this.pdks.aktifPersonel.set(this.aktifPersonel);\r\n await this.yukle(); await this.takvimYukle(); this.CD.detectChanges();\r\n }\r\n\r\n private async dbVardiyalariYukle() {\r\n if (!this.firmaId) return;\r\n try {\r\n const dbVardiyalar = await this.firmaService.vardiyaListesi(this.firmaId);\r\n if (dbVardiyalar?.length > 0) {\r\n this.vardiyalar = dbVardiyalar.map(v => ({\r\n ismi: v.vardiyaAdi,\r\n aciklama: `${v.baslangicSaati} – ${v.bitisSaati}`,\r\n sureDakika: this.vardiyaSureDkHesapla(v.baslangicSaati, v.bitisSaati),\r\n molalar: (v.molaSureleri || []).map(m => ({ ismi: m.aciklama, baslangic: m.baslangic, bitis: m.bitis })),\r\n }));\r\n if (this.vardiyalar.length > 0 && this.aktifVardiyaIdx >= this.vardiyalar.length) {\r\n this.aktifVardiyaIdx = 0;\r\n }\r\n this.CD.detectChanges();\r\n }\r\n } catch { /* DB vardiyaları yüklenemezse varsayılanları kullan */ }\r\n }\r\n\r\n private vardiyaSureDkHesapla(bas: string, bit: string): number {\r\n const [bh, bm] = bas.split(':').map(Number);\r\n const [sh, sm] = bit.split(':').map(Number);\r\n let dk = (sh * 60 + sm) - (bh * 60 + bm);\r\n if (dk <= 0) dk += 24 * 60; // gece vardiyası\r\n return dk;\r\n }\r\n geriDon() {\r\n this.geriDonTiklandi.emit();\r\n // Router-outlet modunda: personel shell ana sayfasına dön\r\n this.router.navigate(['..'], { relativeTo: this.route });\r\n }\r\n durumYazi(d: string): string {\r\n switch (d) { case 'aktif': return 'Aktif'; case 'cikti': return 'Cikti'; case 'molada': return 'Molada'; default: return 'Gelmedi'; }\r\n }\r\n\r\n // ═══════════════════ KART EKLE ═══════════════════\r\n\r\n async kartEkle() {\n if (!this.duzenlemeYetkisiKontrol()) return;\n if (!this.aktifPersonel || this.islemYapiliyor) return;\r\n this.islemYapiliyor = true;\r\n try {\r\n const iso = new Date(`${this.seciliGunKey}T08:00:00`).toISOString();\r\n await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: this.aktifPersonel.kartUid || '', cihazId: this.cihazId, tur: 'giris', zaman: iso, onayDurumu: 'manuel' } as any);\r\n this.nzMessage.success('Kart olusturuldu');\r\n await this.yukle();\r\n } catch { this.nzMessage.error('Kart olusturulamadi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n\r\n // ═══════════════════ DIALOG ═══════════════════\r\n\r\n dialogAc(tur: DialogTur) {\n if (!this.duzenlemeYetkisiKontrol()) return;\n if (tur === 'giris-saat') {\r\n this.dlgGirisSaat = this.aktifSatir?.giris ? new Date(this.aktifSatir.giris).toTimeString().substring(0, 8) : '';\r\n } else if (tur === 'cikis-saat') {\r\n this.dlgCikisSaat = this.aktifSatir?.cikis ? new Date(this.aktifSatir.cikis).toTimeString().substring(0, 8) : '';\r\n } else if (tur === 'mola-ekle') {\r\n this.yeniMolaIsmi = ''; this.yeniMolaBaslangic = ''; this.yeniMolaBitis = '';\r\n } else if (tur === 'mesai-carpani') {\r\n this.dlgMesaiOrani = this.mesaiOrani;\r\n } else if (tur === 'calisma-suresi') {\r\n this.dlgCalismaSuresiDk = this.calismaSuresiOverrideDk > 0 ? this.calismaSuresiOverrideDk : this.aktifVardiyaSureDk;\r\n }\r\n this.aktifDialog = tur; this.CD.detectChanges();\r\n }\r\n dialogKapat() { this.aktifDialog = null; this.CD.detectChanges(); }\r\n\r\n dlgGirisSimdi() { const n = new Date(); this.dlgGirisSaat = `${n.getHours().toString().padStart(2, '0')}:${n.getMinutes().toString().padStart(2, '0')}:${n.getSeconds().toString().padStart(2, '0')}`; }\r\n dlgGirisNormal() { this.dlgGirisSaat = '08:00:00'; }\r\n async dlgGirisKaydet() {\n if (!this.duzenlemeYetkisiKontrol()) return;\n if (!this.aktifPersonel || !this.dlgGirisSaat) return;\r\n this.islemYapiliyor = true;\r\n try {\r\n const iso = new Date(`${this.seciliGunKey}T${this.dlgGirisSaat}`).toISOString();\r\n if (this.aktifSatir?.giris) await this.firmaService.puantajDuzenle(this.firmaId, this.aktifPersonel._id, 'giris', this.aktifSatir.giris, iso, 'HMI saat secici');\r\n else await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: this.aktifPersonel.kartUid || '', cihazId: this.cihazId, tur: 'giris', zaman: iso, onayDurumu: 'manuel' } as any);\r\n this.nzMessage.success('Giris saati kaydedildi'); this.dialogKapat(); await this.yukle();\r\n } catch { this.nzMessage.error('Giris kaydi basarisiz'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n async dlgGirisSil() { this.nzMessage.info('Giris silme henuz desteklenmiyor'); this.dialogKapat(); }\r\n\r\n dlgCikisSimdi() { const n = new Date(); this.dlgCikisSaat = `${n.getHours().toString().padStart(2, '0')}:${n.getMinutes().toString().padStart(2, '0')}:${n.getSeconds().toString().padStart(2, '0')}`; }\r\n dlgCikisNormal() { this.dlgCikisSaat = '17:00:00'; }\r\n async dlgCikisKaydet() {\n if (!this.duzenlemeYetkisiKontrol()) return;\n if (!this.aktifPersonel || !this.dlgCikisSaat) return;\r\n this.islemYapiliyor = true;\r\n try {\r\n const iso = new Date(`${this.seciliGunKey}T${this.dlgCikisSaat}`).toISOString();\r\n if (this.aktifSatir?.cikis) await this.firmaService.puantajDuzenle(this.firmaId, this.aktifPersonel._id, 'cikis', this.aktifSatir.cikis, iso, 'HMI saat secici');\r\n else await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: this.aktifPersonel.kartUid || '', cihazId: this.cihazId, tur: 'cikis', zaman: iso, onayDurumu: 'manuel' } as any);\r\n this.nzMessage.success('Cikis saati kaydedildi'); this.dialogKapat(); await this.yukle();\r\n } catch { this.nzMessage.error('Cikis kaydi basarisiz'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n async dlgCikisSil() { this.nzMessage.info('Cikis silme henuz desteklenmiyor'); this.dialogKapat(); }\r\n\r\n async dlgMolaEkle() {\n if (!this.duzenlemeYetkisiKontrol()) return;\n if (!this.aktifPersonel || !this.yeniMolaBaslangic) return;\r\n this.islemYapiliyor = true;\r\n try {\r\n const t = this.seciliGunKey;\r\n const isoBasla = new Date(`${t}T${this.yeniMolaBaslangic}:00`).toISOString();\r\n await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: '', cihazId: this.cihazId, tur: 'mola_baslangic', zaman: isoBasla, onayDurumu: 'manuel' } as any);\r\n if (this.yeniMolaBitis) {\r\n const isoBitis = new Date(`${t}T${this.yeniMolaBitis}:00`).toISOString();\r\n await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: '', cihazId: this.cihazId, tur: 'mola_bitis', zaman: isoBitis, onayDurumu: 'manuel' } as any);\r\n }\r\n this.nzMessage.success('Mola eklendi'); this.yeniMolaIsmi = ''; this.yeniMolaBaslangic = ''; this.yeniMolaBitis = ''; await this.yukle();\r\n } catch { this.nzMessage.error('Mola eklenemedi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n async dlgGecerliMolalar() {\n if (!this.duzenlemeYetkisiKontrol()) return;\n const v = this.vardiyalar[this.aktifVardiyaIdx];\r\n if (!v?.molalar?.length || !this.aktifPersonel) { this.nzMessage.info('Bu vardiyada tanimli mola yok'); return; }\r\n this.islemYapiliyor = true;\r\n try {\r\n const t = this.seciliGunKey;\r\n for (const m of v.molalar) {\r\n await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: '', cihazId: this.cihazId, tur: 'mola_baslangic', zaman: new Date(`${t}T${m.baslangic}:00`).toISOString(), onayDurumu: 'manuel' } as any);\r\n await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: '', cihazId: this.cihazId, tur: 'mola_bitis', zaman: new Date(`${t}T${m.bitis}:00`).toISOString(), onayDurumu: 'manuel' } as any);\r\n }\r\n this.nzMessage.success(`${v.molalar.length} mola eklendi`); await this.yukle();\r\n } catch { this.nzMessage.error('Molalar eklenemedi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n dlgMolalarTemizle() { this.nzMessage.info('Mola temizleme henuz desteklenmiyor'); this.dialogKapat(); }\r\n\r\n dlgMesaiKaydet() { if (!this.duzenlemeYetkisiKontrol()) return; this.mesaiOrani = this.dlgMesaiOrani; this.canliSayacGuncelle(); this.nzMessage.success(`Mesai orani %${this.mesaiOrani}`); this.dialogKapat(); }\n vardiyaSec(idx: number) { if (!this.duzenlemeYetkisiKontrol()) return; this.aktifVardiyaIdx = idx; this.canliSayacGuncelle(); this.nzMessage.success(`${this.vardiyalar[idx].ismi} secildi`); this.dialogKapat(); }\n dlgCalismaSuresiKaydet() { if (!this.duzenlemeYetkisiKontrol()) return; this.calismaSuresiOverrideDk = this.dlgCalismaSuresiDk; this.canliSayacGuncelle(); this.nzMessage.success(`Sure ${dk2Saat(this.dlgCalismaSuresiDk)}`); this.dialogKapat(); }\n\r\n // ═══════════════════ CANLI SAYAC ═══════════════════\r\n\r\n private canliSayacGuncelle() {\r\n const s = this.aktifSatir;\r\n if (!s?.giris) { this.canliCalismaStr = '00:00:00'; this.normalMesaiStr = '00:00:00'; this.fazlaMesaiStr = '00:00:00'; this.fazlaMesaiMs = 0; this.canliMolaStr = '0dk'; this.CD.markForCheck(); return; }\r\n const now = Date.now();\r\n const girisMs = new Date(s.giris).getTime();\r\n const cikisMs = s.cikis ? new Date(s.cikis).getTime() : (this.seciliGunBugunMu ? now : girisMs);\r\n const molaMs = s.molaDakika * 60_000;\r\n let canliMolaMs = molaMs;\r\n if (s.durum === 'molada' && this.seciliGunBugunMu) {\r\n const son = [...s.hareketler].reverse().find(h => h.tur === 'mola_baslangic');\r\n if (son) canliMolaMs += now - new Date(son.zaman).getTime();\r\n this.canliMolaStr = dk2Saat(Math.floor(canliMolaMs / 60_000));\r\n } else { this.canliMolaStr = molaMs > 0 ? dk2Saat(s.molaDakika) : '0dk'; }\r\n const calismaMs = Math.max(0, cikisMs - girisMs - canliMolaMs);\r\n this.canliCalismaStr = sureStr(calismaMs);\r\n const normalMs = Math.min(calismaMs, this.vardiyaSureMs);\r\n this.normalMesaiStr = sureStr(normalMs);\r\n this.fazlaMesaiMs = Math.max(0, calismaMs - this.vardiyaSureMs);\r\n this.fazlaMesaiStr = sureStr(this.fazlaMesaiMs);\r\n this.CD.markForCheck();\r\n }\r\n\r\n // ═══════════════════ GUN TURU & BAYRAKLAR ═══════════════════\r\n\r\n gunTuruDegistir(tur: GunTuru) { if (!this.duzenlemeYetkisiKontrol()) return; this.gunTuru = tur; }\n bayrakDegeri(key: string): boolean {\r\n switch (key) { case 'servis': return this.servisGecikmesi; case 'tatil': return this.resmiTatil; case 'rapor': return this.raporlu; case 'gunluk': return this.gunlukIzinli; case 'yillik': return this.yillikIzinli; default: return false; }\r\n }\r\n bayrakToggle(key: string) {\n if (!this.duzenlemeYetkisiKontrol()) return;\n switch (key) {\r\n case 'servis': this.servisGecikmesi = !this.servisGecikmesi; break;\r\n case 'tatil': this.resmiTatil = !this.resmiTatil; break;\r\n case 'rapor': this.raporlu = !this.raporlu; if (this.raporlu) { this.gunlukIzinli = false; this.yillikIzinli = false; } break;\r\n case 'gunluk': this.gunlukIzinli = !this.gunlukIzinli; if (this.gunlukIzinli) { this.raporlu = false; this.yillikIzinli = false; } break;\r\n case 'yillik': this.yillikIzinli = !this.yillikIzinli; if (this.yillikIzinli) { this.raporlu = false; this.gunlukIzinli = false; } break;\r\n }\r\n this.CD.markForCheck();\r\n }\r\n\r\n // ═══════════════════ AKSİYONLAR ═══════════════════\r\n\r\n async girisYap() {\r\n if (!this.aktifPersonel || this.islemYapiliyor) return;\r\n this.islemYapiliyor = true;\r\n try { await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: this.aktifPersonel.kartUid || '', cihazId: this.cihazId, tur: 'giris' } as any); this.nzMessage.success('Giris kaydedildi'); await this.yukle(); }\r\n catch { this.nzMessage.error('Giris kaydi olusturulamadi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n async cikisYap() {\r\n if (!this.aktifPersonel || this.islemYapiliyor) return;\r\n this.islemYapiliyor = true;\r\n try { await this.firmaService.girisCikisKaydet(this.firmaId, { personelId: this.aktifPersonel._id, kartUid: this.aktifPersonel.kartUid || '', cihazId: this.cihazId, tur: 'cikis' } as any); this.nzMessage.success('Cikis kaydedildi'); await this.yukle(); }\r\n catch { this.nzMessage.error('Cikis kaydi olusturulamadi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n async molaBaslat() {\r\n if (!this.aktifPersonel || this.islemYapiliyor) return;\r\n this.islemYapiliyor = true;\r\n try { await this.firmaService.molaKaydet(this.firmaId, this.aktifPersonel._id, this.aktifPersonel.kartUid || '', this.cihazId, 'mola_baslangic'); this.nzMessage.info('Mola basladi'); await this.yukle(); }\r\n catch { this.nzMessage.error('Mola kaydi olusturulamadi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n async molaBitir() {\r\n if (!this.aktifPersonel || this.islemYapiliyor) return;\r\n this.islemYapiliyor = true;\r\n try { await this.firmaService.molaKaydet(this.firmaId, this.aktifPersonel._id, this.aktifPersonel.kartUid || '', this.cihazId, 'mola_bitis'); this.nzMessage.success('Mola bitti'); await this.yukle(); }\r\n catch { this.nzMessage.error('Mola bitis kaydi olusturulamadi'); }\r\n finally { this.islemYapiliyor = false; this.CD.detectChanges(); }\r\n }\r\n\r\n // ═══════════════════ YUKLEME ═══════════════════\r\n\r\n async yukle(sessiz = false) {\r\n if (!this.aktifPersonel) return;\r\n if (!sessiz) { this.yukleniyor = true; this.CD.detectChanges(); }\r\n try {\r\n const gun = new Date(this.seciliGun); gun.setHours(0, 0, 0, 0);\r\n const ertesi = new Date(gun); ertesi.setDate(ertesi.getDate() + 1);\r\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n istek.parametreler = { aggregate: [\r\n { $match: { vt: 'FikoYT.sistem.giris_cikis', firmaId: this.firmaId, personelId: this.aktifPersonel._id, zaman: { $gte: gun.toISOString(), $lt: ertesi.toISOString() } } },\r\n { $sort: { zaman: 1 } },\r\n { $group: { _id: null, hareketler: { $push: { tur: '$tur', zaman: '$zaman' } } } },\r\n ] };\r\n await istek.isteSync();\r\n const ham: any[] = istek.cevap?.sonuc || [];\r\n const coklu = this.pdks.pdksAyarlar().cokluGirisCikis;\r\n if (ham.length > 0 && ham[0].hareketler?.length > 0) {\r\n const cozum = hareketleriCoz(ham[0].hareketler, coklu);\r\n this.aktifSatir = { personelId: this.aktifPersonel._id, ad: this.aktifPersonel.ad || '', soyad: this.aktifPersonel.soyad || '', hareketler: ham[0].hareketler, giris: cozum.giris, cikis: cozum.cikis, molaDakika: cozum.molaDakika, toplamDakika: cozum.toplamDakika, durum: cozum.durum };\r\n } else { this.aktifSatir = null; }\r\n this.takvimGunGuncelle();\r\n this.canliSayacGuncelle();\r\n } catch { if (!sessiz) this.nzMessage.error('Puantaj verileri yuklenemedi'); }\r\n finally { this.yukleniyor = false; this.CD.detectChanges(); }\r\n }\r\n\r\n // ═══════════════════ TAKVİM ═══════════════════\r\n\r\n async takvimYukle() {\r\n if (!this.aktifPersonel || !this.firmaId) return;\r\n const ayBas = new Date(this.takvimYil, this.takvimAy, 1); ayBas.setHours(0, 0, 0, 0);\r\n const aySon = new Date(this.takvimYil, this.takvimAy + 1, 1); aySon.setHours(0, 0, 0, 0);\r\n try {\r\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n istek.parametreler = { aggregate: [\r\n { $match: { vt: 'FikoYT.sistem.giris_cikis', firmaId: this.firmaId, personelId: this.aktifPersonel._id, zaman: { $gte: ayBas.toISOString(), $lt: aySon.toISOString() } } },\r\n { $sort: { zaman: 1 } },\r\n { $group: { _id: { $dateToString: { format: '%Y-%m-%d', date: { $toDate: '$zaman' } } }, hareketler: { $push: { tur: '$tur', zaman: '$zaman' } } } },\r\n ] };\r\n await istek.isteSync();\r\n const ham: any[] = istek.cevap?.sonuc || [];\r\n const veriler: Record = {};\r\n const ayarlar = this.pdks.pdksAyarlar();\r\n const coklu = ayarlar.cokluGirisCikis;\r\n for (const r of ham) {\r\n const c = hareketleriCoz(r.hareketler || [], coklu);\r\n const vrdDk = this.aktifVardiyaSureDk;\r\n const fazlaMesaiVar = c.toplamDakika > vrdDk;\r\n // Renk kodu tespiti\r\n let renk = '#52c41a'; // yeşil: normal\r\n const tarihObj = new Date(r._id);\r\n const tatilMi = ayarlar.resmiTatiller.some(t => t.tarih === r._id);\r\n const haftaSonuMu = tarihObj.getDay() === 0 || tarihObj.getDay() === 6;\r\n if (tatilMi) renk = '#722ed1'; // mor\r\n else if (fazlaMesaiVar) renk = '#fa8c16'; // turuncu (fazla mesai)\r\n else if (haftaSonuMu && c.toplamDakika > 0) renk = '#faad14'; // sarı\r\n // Geç gelme kontrolü\r\n let gecGelme = false;\r\n if (c.giris) {\r\n const girisSaat = new Date(c.giris).getHours() * 60 + new Date(c.giris).getMinutes();\r\n const vardiyaBas = this.vardiyalar[this.aktifVardiyaIdx];\r\n if (vardiyaBas?.aciklama) {\r\n const basSaat = parseInt(vardiyaBas.aciklama.split('–')[0]?.trim()?.split(':')[0] || '8');\r\n const basDk = parseInt(vardiyaBas.aciklama.split('–')[0]?.trim()?.split(':')[1] || '0');\r\n if (girisSaat - (basSaat * 60 + basDk) > ayarlar.girisToleransDk) {\r\n gecGelme = true;\r\n renk = '#faad14'; // sarı: geç gelme\r\n }\r\n }\r\n }\r\n veriler[r._id] = { toplamDk: c.toplamDakika, durum: c.durum, fazlaMesaiVar, girisStr: c.giris ? zamanStr(c.giris) : undefined, cikisStr: c.cikis ? zamanStr(c.cikis) : undefined, kayitSayisi: c.kayitSayisi, gecGelme, renk };\r\n }\r\n this.takvimVerileri = veriler; this.CD.detectChanges();\r\n } catch { /* sessiz */ }\r\n }\r\n\r\n async takvimOnceki() { if (this.takvimAy === 0) { this.takvimAy = 11; this.takvimYil--; } else this.takvimAy--; await this.takvimYukle(); }\r\n async takvimSonraki() { if (this.takvimAy === 11) { this.takvimAy = 0; this.takvimYil++; } else this.takvimAy++; await this.takvimYukle(); }\r\n\r\n async takvimGunSec(hucre: ITakvimHucre) {\r\n if (!hucre.ayIci) { this.takvimAy = hucre.tarih.getMonth(); this.takvimYil = hucre.tarih.getFullYear(); await this.takvimYukle(); }\r\n this.seciliGun = new Date(hucre.tarih); await this.yukle(); this.CD.detectChanges();\r\n }\r\n\r\n async buguneGit() {\r\n const b = new Date(); this.seciliGun = b;\r\n if (b.getMonth() !== this.takvimAy || b.getFullYear() !== this.takvimYil) { this.takvimAy = b.getMonth(); this.takvimYil = b.getFullYear(); await this.takvimYukle(); }\r\n await this.yukle(); this.CD.detectChanges();\r\n }\r\n\r\n private takvimGunGuncelle() {\r\n const key = this.seciliGunKey;\r\n if (this.aktifSatir) {\r\n this.takvimVerileri = { ...this.takvimVerileri, [key]: { toplamDk: this.aktifSatir.toplamDakika, durum: this.aktifSatir.durum, fazlaMesaiVar: this.aktifSatir.toplamDakika > this.aktifVardiyaSureDk } };\r\n } else {\r\n const v = { ...this.takvimVerileri }; delete v[key]; this.takvimVerileri = v;\r\n }\r\n }\r\n}\r\n"],"names":["i2"],"mappings":"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"}