{"version":3,"file":"fikoyt-shared-dinamik-kayitlar-C1-66QPc.mjs","sources":["../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/projeler-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/projeler-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/projeler-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/projeler-sayfa.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/projeler.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/services/hmi-lookup.service.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/departman-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/departman-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/departman-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/departman.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/personel-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/personel-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/personel-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/personel.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/tedarikci-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/tedarikci-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/tedarikci-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/tedarikci.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/bakim-talebi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/bakim-talebi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/bakim-talebi-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/bakim-talebi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/siparis-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/siparis-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/siparis-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/siparis.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/teklif-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/teklif-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/teklif-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/teklif.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/musteri-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/musteri-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/musteri-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/musteri.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/is-emri-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/is-emri-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/is-emri-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/is-emri.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/kalite-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/kalite-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/kalite-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/kalite.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/uretim-sayac-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/uretim-sayac-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/uretim-sayac-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/uretim-sayac.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/vardiya-devir-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/vardiya-devir-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/vardiya-devir-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/vardiya-devir.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/makine-tanimi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/makine-tanimi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/makine-tanimi-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/makine-tanimi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/projeler/pages/basit-not/basit-not-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/projeler/pages/basit-not/basit-not-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/projeler/pages/basit-not/basit-not-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/projeler/pages/basit-not/basit-not.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/durum-guncelleme/durum-guncelleme-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/durum-guncelleme/durum-guncelleme-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/durum-guncelleme/durum-guncelleme.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/gorev/gorev-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/gorev/gorev-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/gorev/gorev.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/maliyet-kalemi/maliyet-kalemi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/maliyet-kalemi/maliyet-kalemi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/maliyet-kalemi/maliyet-kalemi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/alt-kartlar/proje-gorev/proje-gorev-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/alt-kartlar/proje-gorev/proje-gorev-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/alt-kartlar/proje-gorev/proje-gorev.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/alt-kartlar/proje-notu/proje-notu-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/alt-kartlar/proje-notu/proje-notu-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/uyar-dokum/projeler/alt-kartlar/proje-notu/proje-notu.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/alt-kartlar/kalite-olcum/kalite-olcum-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/alt-kartlar/kalite-olcum/kalite-olcum-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/alt-kartlar/kalite-olcum/kalite-olcum.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/alt-kartlar/siparis-kalemi/siparis-kalemi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/alt-kartlar/siparis-kalemi/siparis-kalemi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/siparis/alt-kartlar/siparis-kalemi/siparis-kalemi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/alt-kartlar/vardiya-notu/vardiya-notu-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/alt-kartlar/vardiya-notu/vardiya-notu-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/alt-kartlar/vardiya-notu/vardiya-notu.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/adres-bilgisi/adres-bilgisi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/adres-bilgisi/adres-bilgisi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/adres-bilgisi/adres-bilgisi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/izin-kaydi/izin-kaydi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/izin-kaydi/izin-kaydi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/izin-kaydi/izin-kaydi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/egitim-kaydi/egitim-kaydi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/egitim-kaydi/egitim-kaydi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/egitim-kaydi/egitim-kaydi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/alt-kartlar/duyuru/duyuru-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/alt-kartlar/duyuru/duyuru-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/departman/alt-kartlar/duyuru/duyuru.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/alt-kartlar/degerlendirme/degerlendirme-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/alt-kartlar/degerlendirme/degerlendirme-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/alt-kartlar/degerlendirme/degerlendirme.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/bakim-plani/bakim-plani-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/bakim-plani/bakim-plani-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/bakim-plani/bakim-plani.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/ariza-kaydi/ariza-kaydi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/ariza-kaydi/ariza-kaydi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/ariza-kaydi/ariza-kaydi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/alt-kartlar/uretim-kaydi/uretim-kaydi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/alt-kartlar/uretim-kaydi/uretim-kaydi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/alt-kartlar/uretim-kaydi/uretim-kaydi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/alt-kartlar/revizyon/revizyon-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/alt-kartlar/revizyon/revizyon-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/teklif/alt-kartlar/revizyon/revizyon.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/alt-kartlar/gorusme-notu/gorusme-notu-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/alt-kartlar/gorusme-notu/gorusme-notu-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/satis/musteri/alt-kartlar/gorusme-notu/gorusme-notu.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/alt-kartlar/durus-kaydi/durus-kaydi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/alt-kartlar/durus-kaydi/durus-kaydi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/alt-kartlar/durus-kaydi/durus-kaydi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/services/kart-websocket.service.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-okuyucu-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-okuyucu-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-okuyucu.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-sahibi/kart-sahibi-kart.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-sahibi/kart-sahibi-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-sahibi/kart-sahibi-edit.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-sahibi/kart-sahibi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/kart-okuyucu/kart-sahibi/kart-sahibi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-malzeme-tanimi-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-malzeme-tanimi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-parca-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-parca-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-parca.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-kutuk-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-kutuk-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-kutuk.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/proje-tanimi/proje-tanimi.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-cnc-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-cnc-kart-sade.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-cnc.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-andon-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-andon.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-bakim-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-bakim.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-kalite-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-kalite.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-vardiya-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-vardiya.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-enerji-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/cam-isleme/cam-enerji.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/parca-takip/interfaces/parca-takip.interface.ts","../../../projects/shared/src/lib/app/uygulamalar/parca-takip/parca-takip.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/firmada-panel/firmada-panel-kart.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/firmada-panel/firmada-panel-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/firmada-panel/firmada-panel-edit.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/firmada-panel/firmada-panel-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/firmada-panel/firmada-panel.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/kutuk-stok/kutuk-stok-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/kutuk-stok/kutuk-stok.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/kutuk-stok/kutuk-stok-pano.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/genel-stok/genel-stok-edit.component.ts","../../../projects/shared/src/lib/app/uygulamalar/genel-stok/genel-stok.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/genel-stok/genel-stok-pano.dinamik-bilesen.ts","../../../projects/shared/src/lib/app/uygulamalar/paylasim-sistemi/dinamik-kayitlar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, model, computed, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzFormModule } from 'ng-zorro-antd/form';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzModalModule } from 'ng-zorro-antd/modal';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { ProjelerService } from './projeler.service';\r\nimport { FikoYTRequestService } from '@/src/app/shared/services/fikoyt-request.service';\r\nimport { DosyaKutusuComponent } from '@/src/service/fikoyt-ui/src/lib/parametreler/dosya-kutusu/dosya-kutusu.component';\r\nimport { HmiLookupService } from '@/src/app/uygulamalar/hmi-pano/pano/pages/personel/services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'projeler-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzFormModule, NzInputModule, NzSelectModule, NzDatePickerModule, NzModalModule, NzSpinModule, DecimalPipe, DosyaKutusuComponent,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Proje Bilgileri\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\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
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
Dusuk
\r\n
\r\n \r\n
Normal
\r\n
\r\n \r\n
Yuksek
\r\n
\r\n \r\n
Kritik
\r\n
\r\n
\r\n \r\n {{ selected?.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
Planlama
\r\n
\r\n \r\n
Devam Ediyor
\r\n
\r\n \r\n
Tamamlandi
\r\n
\r\n \r\n
Iptal
\r\n
\r\n
\r\n \r\n {{ selected?.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (m of lookup.musteriler(); track m._id) {\r\n \r\n
🏪
{{ m.firmaAdi }}@if (m.yetkili) { {{ m.yetkili }} }
\r\n
\r\n }\r\n
\r\n \r\n 🏪{{ selected.nzLabel }}\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 @for (h of mailHesaplari(); track h._id) {\r\n \r\n
📬{{ h.email }}
\r\n
\r\n }\r\n
\r\n \r\n 📬{{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n @for (m of mailler(); track m._id) {\r\n \r\n
\r\n {{ m.yanitMi ? '↩️' : m.ekSayi > 0 ? '📎' : '📧' }}\r\n
\r\n
{{ m.konu || '(Konusuz)' }}
\r\n
{{ m.kimden }} · {{ m.tarihStr }}
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n 📧{{ selected.nzLabel }}\r\n \r\n @if (p().mailRef) {\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n @if (mailDetay(); as md) {\r\n
\r\n
\r\n
Kimden: {{ md.kimden }}
\r\n
Kime: {{ md.kime }}
\r\n
Tarih: {{ md.tarih }}
\r\n
\r\n @if (md.ekler && md.ekler.length > 0) {\r\n
\r\n @for (ek of md.ekler; track ek.ismi) {\r\n
\r\n 📥\r\n {{ ek.ismi || 'dosya' }}\r\n @if (ek.boyut) { {{ (ek.boyut / 1024) | number:'1.0-0' }} KB }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n
\r\n } @else {\r\n \r\n }\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .pe {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n padding: 6px 0;\r\n animation: peSlideIn .4s cubic-bezier(.16,1,.3,1) both;\r\n }\r\n\r\n @keyframes peSlideIn {\r\n from { opacity: 0; transform: translateY(12px); }\r\n to { opacity: 1; transform: translateY(0); }\r\n }\r\n\r\n .pe__baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n margin-bottom: 2px;\r\n }\r\n\r\n .pe__baslik-ikon {\r\n width: 28px;\r\n height: 28px;\r\n border-radius: 8px;\r\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n overflow: hidden;\r\n }\r\n\r\n .pe__baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: linear-gradient(135deg, rgba(255,255,255,.25) 0%, transparent 60%);\r\n border-radius: inherit;\r\n }\r\n\r\n .pe__baslik-ikon-inner {\r\n width: 12px;\r\n height: 12px;\r\n border: 2px solid rgba(255,255,255,.9);\r\n border-radius: 3px;\r\n position: relative;\r\n }\r\n\r\n .pe__baslik-ikon-inner::after {\r\n content: '';\r\n position: absolute;\r\n top: 2px;\r\n left: 2px;\r\n width: 4px;\r\n height: 4px;\r\n background: rgba(255,255,255,.9);\r\n border-radius: 1px;\r\n }\r\n\r\n .pe__baslik-metin {\r\n font-size: 13px;\r\n font-weight: 600;\r\n letter-spacing: .3px;\r\n color: var(--py-metin, #333);\r\n text-transform: uppercase;\r\n }\r\n\r\n .pe__baslik-cizgi {\r\n flex: 1;\r\n height: 1px;\r\n background: linear-gradient(90deg, var(--py-kenarlik, rgba(0,0,0,.08)), transparent);\r\n }\r\n\r\n .pe__alan {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 6px;\r\n animation: peAlanIn .35s cubic-bezier(.16,1,.3,1) both;\r\n animation-delay: calc(var(--pe-i, 0) * 60ms);\r\n }\r\n\r\n .pe__alan:nth-child(2) { --pe-i: 1; }\r\n .pe__alan:nth-child(3) { --pe-i: 2; }\r\n\r\n @keyframes peAlanIn {\r\n from { opacity: 0; transform: translateX(-8px); }\r\n to { opacity: 1; transform: translateX(0); }\r\n }\r\n\r\n .pe__alan--flex { flex: 1; min-width: 0; }\r\n\r\n .pe__etiket {\r\n display: flex;\r\n align-items: center;\r\n gap: 5px;\r\n font-size: 11.5px;\r\n font-weight: 500;\r\n color: var(--py-metin, #555);\r\n opacity: .7;\r\n letter-spacing: .2px;\r\n transition: opacity .2s;\r\n }\r\n\r\n .pe__alan:hover .pe__etiket,\r\n .pe__alan--dolu .pe__etiket {\r\n opacity: 1;\r\n }\r\n\r\n .pe__etiket-nokta {\r\n width: 5px;\r\n height: 5px;\r\n border-radius: 50%;\r\n background: var(--py-kenarlik, #d9d9d9);\r\n transition: background .2s;\r\n }\r\n\r\n .pe__etiket-nokta--zorunlu {\r\n background: #667eea;\r\n box-shadow: 0 0 6px rgba(102,126,234,.4);\r\n }\r\n\r\n .pe__etiket-ikon {\r\n font-size: 12px;\r\n opacity: .6;\r\n }\r\n\r\n .pe__input-wrap {\r\n position: relative;\r\n }\r\n\r\n .pe__input {\r\n border-radius: 8px !important;\r\n border-color: var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n transition: border-color .25s, box-shadow .25s, background .25s !important;\r\n font-size: 13px !important;\r\n }\r\n\r\n .pe__input:hover {\r\n border-color: rgba(102,126,234,.3) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.01)) !important;\r\n }\r\n\r\n .pe__input:focus {\r\n border-color: rgba(102,126,234,.5) !important;\r\n box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;\r\n background: transparent !important;\r\n }\r\n\r\n .pe__input--textarea {\r\n resize: none !important;\r\n }\r\n\r\n .pe__input-cizgi {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 2px;\r\n background: linear-gradient(90deg, #667eea, #764ba2);\r\n transition: width .35s cubic-bezier(.16,1,.3,1), left .35s cubic-bezier(.16,1,.3,1);\r\n pointer-events: none;\r\n }\r\n\r\n .pe__input-cizgi--aktif {\r\n width: 100%;\r\n left: 0;\r\n }\r\n\r\n .pe__satir {\r\n display: flex;\r\n gap: 12px;\r\n align-items: flex-end;\r\n }\r\n\r\n .pe__satir-ok {\r\n font-size: 14px;\r\n color: var(--py-metin, #999);\r\n opacity: .35;\r\n padding-bottom: 10px;\r\n flex-shrink: 0;\r\n transition: opacity .2s;\r\n }\r\n\r\n .pe__satir:hover .pe__satir-ok {\r\n opacity: .6;\r\n }\r\n\r\n .pe__tarih {\r\n width: 100%;\r\n }\r\n\r\n :host ::ng-deep .pe__tarih .ant-picker {\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n border: 1px solid var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n width: 100% !important;\r\n font-size: 13px !important;\r\n transition: border-color .25s, box-shadow .25s, background .25s !important;\r\n }\r\n :host ::ng-deep .pe__tarih .ant-picker input { font-size: 13px !important; color: var(--py-metin) !important; }\r\n\r\n :host ::ng-deep .pe__tarih:hover .ant-picker {\r\n border-color: rgba(102,126,234,.3) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.01)) !important;\r\n }\r\n\r\n :host ::ng-deep .pe__tarih .ant-picker-focused {\r\n border-color: rgba(102,126,234,.5) !important;\r\n background: transparent !important;\r\n box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;\r\n }\r\n\r\n .pe__secim {\r\n width: 100%;\r\n }\r\n\r\n :host ::ng-deep .pe__secim .ant-select-selector {\r\n border-radius: 8px !important;\r\n border-color: var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n transition: border-color .25s, box-shadow .25s !important;\r\n }\r\n\r\n :host ::ng-deep .pe__secim:hover .ant-select-selector {\r\n border-color: rgba(102,126,234,.3) !important;\r\n }\r\n\r\n :host ::ng-deep .pe__secim.ant-select-focused .ant-select-selector {\r\n border-color: rgba(102,126,234,.5) !important;\r\n box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;\r\n }\r\n\r\n .pe__oncelik-dot,\r\n .pe__durum-dot {\r\n display: inline-block;\r\n width: 8px;\r\n height: 8px;\r\n border-radius: 50%;\r\n margin-right: 6px;\r\n vertical-align: middle;\r\n box-shadow: 0 0 4px currentColor;\r\n }\r\n\r\n @media (max-width: 480px) {\r\n .pe__satir {\r\n flex-direction: column;\r\n gap: 14px;\r\n }\r\n .pe__satir-ok { display: none; }\r\n }\r\n\r\n .pe__onizle-btn {\r\n background: none; border: none; cursor: pointer; font-size: 14px;\r\n opacity: .4; transition: opacity .2s; padding: 2px 4px; flex-shrink: 0;\r\n }\r\n .pe__onizle-btn:hover { opacity: 1; }\r\n\r\n .pe__mail-onizle-ikon {\r\n width: 32px; height: 32px; border-radius: 6px; flex-shrink: 0;\r\n display: flex; align-items: center; justify-content: center;\r\n background: rgba(102,126,234,.1); border: none; cursor: pointer;\r\n font-size: 14px; transition: all .2s;\r\n }\r\n .pe__mail-onizle-ikon:hover { background: rgba(102,126,234,.25); transform: scale(1.1); }\r\n\r\n .pe__mail-detay { display: flex; flex-direction: column; gap: 12px; }\r\n .pe__mail-ekler { display: flex; flex-wrap: wrap; gap: 6px; }\r\n .pe__ek-chip {\r\n display: inline-flex; align-items: center; gap: 5px;\r\n padding: 4px 10px; border-radius: 6px; cursor: pointer;\r\n background: var(--py-arkaplan-hover, #f0f0f0);\r\n border: 1px solid var(--py-kenarlik, #e8e8e8);\r\n font-size: 12px; transition: all .2s;\r\n }\r\n .pe__ek-chip:hover { background: rgba(102,126,234,.1); border-color: rgba(102,126,234,.3); }\r\n .pe__ek-boyut { opacity: .5; font-size: 11px; }\r\n .pe__mail-meta {\r\n display: flex; flex-direction: column; gap: 4px;\r\n padding: 10px; border-radius: 8px;\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n font-size: 13px; color: var(--py-metin);\r\n }\r\n .pe__mail-icerik {\r\n padding: 12px; border-radius: 8px;\r\n background: var(--py-arkaplan, #fff);\r\n border: 1px solid var(--py-kenarlik, #e8e8e8);\r\n font-size: 13px; line-height: 1.6;\r\n max-height: 400px; overflow-y: auto;\r\n word-break: break-word;\r\n }\r\n `],\r\n})\r\nexport class ProjelerEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n private projelerServis = inject(ProjelerService);\r\n lookup = inject(HmiLookupService);\r\n odakAlan = '';\r\n\r\n constructor() { super(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n dosyaKutusuDeger = computed(() => this.p()?.dosyaKutusu || { dosyalar: [] });\r\n\r\n dosyaKutusuDegerSet(yeni: any) {\r\n this.guncelle('dosyaKutusu', yeni);\r\n }\r\n\r\n peOncelikRenk(v: string): string {\r\n const m: Record = { 'dusuk': '#52c41a', 'normal': '#1890ff', 'yuksek': '#faad14', 'acil': '#ff4d4f' };\r\n return m[v] || '#1890ff';\r\n }\r\n\r\n peDurumRenk(v: string): string {\r\n const m: Record = { 'planlama': '#1890ff', 'devam-ediyor': '#52c41a', 'tamamlandi': '#8c8c8c', 'iptal': '#ff4d4f' };\r\n return m[v] || '#1890ff';\r\n }\r\n\r\n oncelikGradient = computed(() => {\r\n const map: Record = {\r\n dusuk: 'linear-gradient(90deg, #52c41a, #95de64)',\r\n normal: 'linear-gradient(90deg, #1890ff, #69c0ff)',\r\n yuksek: 'linear-gradient(90deg, #faad14, #ffc53d)',\r\n acil: 'linear-gradient(90deg, #ff4d4f, #ff7875)',\r\n };\r\n return map[this.p().oncelik] || map['normal'];\r\n });\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n\r\n baslangicDate = computed(() => {\r\n const v = this.p()?.baslangicTarihi;\r\n return v ? new Date(v) : null;\r\n });\r\n bitisDate = computed(() => {\r\n const v = this.p()?.bitisTarihi;\r\n return v ? new Date(v) : null;\r\n });\r\n\r\n tarihGuncelle(alan: string, tarih: Date | null) {\r\n this.guncelle(alan, tarih ? tarih.toISOString() : null);\r\n }\r\n\r\n mailModalAcik = false;\r\n mailDetay = signal(null);\r\n private req = inject(FikoYTRequestService);\r\n mailHesaplari = signal([]);\r\n mailler = signal([]);\r\n private _hesaplarYuklendi = false;\r\n\r\n async mailHesaplariYukle() {\r\n if (this._hesaplarYuklendi) return;\r\n try {\r\n let firmaId = '';\r\n try { firmaId = JSON.parse(localStorage.getItem('hmi-pano-ayarlar') || '{}').firmaId || ''; } catch {}\r\n const match: any = { 'aktif': { '$ne': false }, 'silindi': { '$ne': true } };\r\n if (firmaId) match['firmaId'] = firmaId;\r\n const sonuc = await this.req.aggregate('FikoYT.sistem.DB.hareketler.aggregate', [\r\n { '$match': { ...match, 'vt': 'FikoYT.sistem.mail.hesaplar' } },\r\n { '$sort': { 'email': 1 } }, { '$limit': 50 },\r\n { '$project': { '_id': 1, 'email': 1 } }\r\n ]);\r\n this.mailHesaplari.set(sonuc || []);\r\n this._hesaplarYuklendi = true;\r\n this.CD.markForCheck();\r\n } catch {}\r\n }\r\n\r\n mailHesapDegisti(hesapId: string | null) {\r\n this.guncelle('mailHesap', hesapId);\r\n this.guncelle('mailRef', null);\r\n this.mailler.set([]);\r\n }\r\n\r\n ekIndir(ek: any) {\r\n if (ek.url) { window.open(ek.url, '_blank'); return; }\r\n const dosyaId = ek.rota || ek._id;\r\n if (dosyaId) {\r\n const fapiUrl = (window as any).FikoYT?.fapiUrl || `${location.protocol}//${location.hostname}:9000`;\r\n window.open(`${fapiUrl}/fapiv1/fikoyt.com.FikoYT.sistem.dosyalar.${dosyaId}.dosya`, '_blank');\r\n }\r\n }\r\n\r\n async mailOnizle(mailId: string) {\r\n if (!mailId) return;\r\n this.mailDetay.set(null);\r\n this.mailModalAcik = true;\r\n this.CD.markForCheck();\r\n try {\r\n const sonuc = await this.req.aggregate('FikoYT.sistem.DB.hareketler.aggregate', [\r\n { '$match': { '_id': mailId, 'vt': 'FikoYT.sistem.mail.mesajlar' } },\r\n { '$limit': 1 }\r\n ]);\r\n const m = sonuc?.[0];\r\n if (m) {\r\n const ic = m.icerikler?.[0];\r\n this.mailDetay.set({\r\n konu: m.veri?.konu || '(Konusuz)',\r\n kimden: m.veri?.kimden || '',\r\n kime: m.veri?.kime || '',\r\n tarih: m.tarih ? new Date(m.tarih).toLocaleString('tr-TR') : '',\r\n html: ic?.html || '',\r\n metin: ic?.aciklama || '',\r\n ekler: (m.dosyalar || []).map((d: any) => ({ ismi: d.ismi, boyut: d.boyut, rota: d.rota, url: d.url }))\r\n });\r\n }\r\n this.CD.markForCheck();\r\n } catch { this.mailModalAcik = false; }\r\n }\r\n\r\n async mailAra(arama: string) {\r\n const hesapId = this.p().mailHesap;\r\n if (!hesapId) return;\r\n try {\r\n const trMap: Record = {i:'[iİ]',İ:'[iİ]',ı:'[ıI]',I:'[ıI]',ş:'[şŞ]',Ş:'[şŞ]',ç:'[çÇ]',Ç:'[çÇ]',ö:'[öÖ]',Ö:'[öÖ]',ü:'[üÜ]',Ü:'[üÜ]',ğ:'[ğĞ]',Ğ:'[ğĞ]'};\r\n const rx = arama ? Array.from(arama).map(c => trMap[c] || c.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')).join('') : '';\r\n const match: any = { 'sahip': hesapId, 'silindi': { '$ne': true } };\r\n if (rx) {\r\n const rd = { '$regex': rx, '$options': 'i' };\r\n match['$or'] = [{ 'veri.konu': rd }, { 'veri.kimden': rd }, { 'veri.kime': rd }];\r\n }\r\n const sonuc = await this.req.aggregate('FikoYT.sistem.DB.hareketler.aggregate', [\r\n { '$match': { ...match, 'vt': 'FikoYT.sistem.mail.mesajlar' } },\r\n { '$sort': { 'tarih': -1 } }, { '$limit': 30 },\r\n { '$project': { '_id': 1, 'veri.konu': 1, 'veri.kimden': 1, 'veri.kime': 1, 'veri.inReplyTo': 1, 'tarih': 1, 'dosyaSayisi': 1 } }\r\n ]);\r\n this.mailler.set((sonuc || []).map((m: any) => ({\r\n _id: m._id, konu: m.veri?.konu || '', kimden: m.veri?.kimden || '',\r\n yanitMi: !!m.veri?.inReplyTo, ekSayi: m.dosyaSayisi || 0,\r\n tarihStr: m.tarih ? new Date(m.tarih).toLocaleDateString('tr-TR', { day: '2-digit', month: 'short', hour: '2-digit', minute: '2-digit' }) : ''\r\n })));\r\n this.CD.markForCheck();\r\n } catch {}\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, effect, inject, input, computed, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nconst DURUM_RENK: Record = { 'planlama': '#4488ff', 'devam-ediyor': '#00ff88', 'tamamlandi': '#8c8c8c', 'beklemede': '#ff9500', 'iptal': '#ff4444' };\nconst DURUM_ETIKET: Record = { 'planlama': 'Planlama', 'devam-ediyor': 'Devam Ediyor', 'tamamlandi': 'Tamamlandi', 'beklemede': 'Beklemede', 'iptal': 'Iptal' };\nconst DURUM_RGB: Record = { 'planlama': '68,136,255', 'devam-ediyor': '0,255,136', 'tamamlandi': '140,140,140', 'beklemede': '255,149,0', 'iptal': '255,68,68' };\nconst ONCELIK_ETIKET: Record = { 'dusuk': 'Dusuk', 'normal': 'Normal', 'yuksek': 'Yuksek', 'acil': 'Kritik' };\nconst DURUM_IKON: Record = {\n 'planlama': 'M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z',\n 'devam-ediyor': 'M5.636 5.636a9 9 0 1 0 12.728 0M12 3v9',\n 'tamamlandi': 'M9 12l2 2 4-4m6 2a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z',\n 'beklemede': 'M14.25 9v6m-4.5 0V9M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z',\n 'iptal': 'M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z',\n};\n\n@Component({\n selector: 'projeler-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
PROJE
\n
\n
\n
{{ p()?.projeAdi || 'Isimsiz Proje' }}
\n @if (tarihAraligi()) {
{{ tarihAraligi() }}
}\n
\n
\n
\n
\n {{ durumEtiket() }}\n {{ oncelikEtiket() }}\n
\n
\n
ILERLEME{{ p()?.yuzdeTamamlanma || 0 }}%
\n
\n
\n @if (altOzet()['proje-gorev'] || altOzet()['proje-notu']) {\n
\n @if (altOzet()['proje-gorev']; as g) { {{ g.tamamlanan }}/{{ g.toplam }} gorev }\n @if (altOzet()['proje-notu']; as n) { {{ n.toplam }} not }\n
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #4488ff; --accent-rgb: 68,136,255; }\n .gc-icerik { gap: 10px; }\n .prj-ust { display: flex; align-items: flex-start; gap: 10px; }\n .prj-baslik-alan { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }\n .prj-baslik { font-size: 15px; font-weight: 800; color: var(--py-metin, #e2e8f0); letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: text-shadow .4s; }\n .gc:hover .prj-baslik { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .prj-tarih { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--py-metin-ikincil, #64748b); }\n .prj-tarih svg { color: var(--accent); opacity: .5; }\n .prj-durum-ikon { flex-shrink: 0; width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: rgba(var(--accent-rgb),.08); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.15); transition: transform .25s cubic-bezier(.22,1,.36,1); }\n .gc:hover .prj-durum-ikon { transform: scale(1.12); }\n .prj-etiketler { display: flex; gap: 6px; flex-wrap: wrap; }\n .prj-badge { font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; }\n .prj-badge--durum { background: rgba(var(--accent-rgb),.1); color: var(--accent); animation: badge-pulse 2s ease-in-out infinite; }\n .prj-badge--oncelik { background: rgba(255,255,255,.04); color: var(--py-metin-ikincil, #94a3b8); border: 1px solid rgba(255,255,255,.06); }\n .prj-ilerleme-alan { display: flex; flex-direction: column; gap: 5px; }\n .prj-ilerleme-ust { display: flex; justify-content: space-between; align-items: center; }\n .prj-ilerleme-etiket { font-size: 8px; font-weight: 600; letter-spacing: .08em; color: var(--py-metin-ikincil, #64748b); }\n .prj-ilerleme-yuzde { font-size: 13px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; }\n `],\n})\nexport class ProjelerKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'projeler').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n durumRenkVal = computed(() => DURUM_RENK[this.p()?.durum] || '#4488ff');\n durumRgb = computed(() => DURUM_RGB[this.p()?.durum] || '68,136,255');\n durumEtiket = computed(() => DURUM_ETIKET[this.p()?.durum] || 'Bilinmiyor');\n durumIkon = computed(() => DURUM_IKON[this.p()?.durum] || DURUM_IKON['planlama']);\n oncelikEtiket = computed(() => ONCELIK_ETIKET[this.p()?.oncelik] || 'Normal');\n ilerlemeRenk = computed(() => { const yuzde = this.p()?.yuzdeTamamlanma || 0; if (yuzde >= 100) return '#00ff88'; if (yuzde >= 60) return '#4488ff'; if (yuzde >= 30) return '#ff9500'; return '#ff4444'; });\n ilerlemeGradyan = computed(() => { const renk = this.ilerlemeRenk(); return `linear-gradient(90deg, ${renk}, color-mix(in srgb, ${renk} 60%, #fff))`; });\n tarihAraligi = computed(() => {\n const pv = this.p();\n if (!pv?.baslangicTarihi && !pv?.bitisTarihi) return '';\n const fmt = (iso: string) => { try { return new Date(iso).toLocaleDateString('tr-TR', { day: '2-digit', month: 'short' }); } catch { return ''; } };\n return `${pv.baslangicTarihi ? fmt(pv.baslangicTarihi) : '?'} — ${pv.bitisTarihi ? fmt(pv.bitisTarihi) : '?'}`;\n });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst ONCELIK_RENK: Record = { 'dusuk': '#94a3b8', 'normal': '#1890ff', 'yuksek': '#ff9500', 'acil': '#ff4d4f' };\nconst DURUM_RENK: Record = { 'bekliyor': '#94a3b8', 'devam-ediyor': '#1890ff', 'tamamlandi': '#52c41a', 'iptal': '#ff4d4f' };\n\n@Component({\n selector: 'projeler-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Proje Tanımı
\n
\n
\n
\n
\n \n
\n
{{ deger('projeAdi') || 'Isimsiz Proje' }}
\n @if (deger('aciklama')) {
{{ deger('aciklama') }}
}\n @if (deger('musteri')) {
{{ deger('musteri') }}
}\n
\n @if (deger('durum')) { {{ deger('durum') }} }\n @if (deger('oncelik')) { {{ deger('oncelik') }} }\n
\n @if (ilerleme() > 0) {\n
\n }\n
\n
\n @if (deger('baslangicTarihi') || deger('bitisTarihi')) {\n {{ deger('baslangicTarihi') | date:'dd.MM' }} - {{ deger('bitisTarihi') | date:'dd.MM' }}\n }\n
\n
\n `,\n})\nexport class ProjelerKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n oncelikRenk = computed(() => ONCELIK_RENK[this.deger('oncelik')] || '#1890ff');\n durumRenk = computed(() => DURUM_RENK[this.deger('durum')] || '#94a3b8');\n ilerleme = computed(() => +(this.deger('ilerleme') || this.p()?._hesap?.ilerleme || 0));\n}\n","import { ChangeDetectionStrategy, Component, input, computed, inject, signal, OnInit } from '@angular/core';\nimport { NzCardModule } from 'ng-zorro-antd/card';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\nimport { NzProgressModule } from 'ng-zorro-antd/progress';\nimport { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';\nimport { NzStatisticModule } from 'ng-zorro-antd/statistic';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { ProjelerService, Proje } from './projeler.service';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nconst DURUM_RENK: Record = {\n 'planlama': 'blue', 'devam-ediyor': 'green', 'tamamlandi': 'default',\n 'beklemede': 'orange', 'iptal': 'red',\n};\nconst DURUM_ETIKET: Record = {\n 'planlama': 'Planlama', 'devam-ediyor': 'Devam Ediyor', 'tamamlandi': 'Tamamlandı',\n 'beklemede': 'Beklemede', 'iptal': 'İptal',\n};\nconst ONCELIK_RENK: Record = {\n 'dusuk': 'cyan', 'normal': 'blue', 'yuksek': 'gold', 'acil': 'red',\n};\nconst ONCELIK_ETIKET: Record = {\n 'dusuk': 'Düşük', 'normal': 'Normal', 'yuksek': 'Yüksek', 'acil': 'Kritik',\n};\n\n@Component({\n selector: 'projeler-sayfa',\n standalone: true,\n imports: [NzCardModule, NzTagModule, NzProgressModule, NzDescriptionsModule, NzStatisticModule, NzDividerModule, NzSpinModule,\n NzInputModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n \n
\n

{{ p()?.projeAdi || 'Proje Detayı' }}

\n
\n {{ durumEtiket() }}\n {{ oncelikEtiket() }}\n
\n
\n\n \n
\n \n \n \n \n \n\n \n \n @if (p()?.butce) {\n
\n Harcama: {{ (p()?.harcama || 0) | number:'1.0-0' }} ₺\n
\n }\n
\n\n \n \n \n
\n\n \n\n \n \n \n \n {{ p()?.aciklama || '—' }}\n \n \n {{ tarihFmt(p()?.baslangicTarihi) }}\n \n \n {{ tarihFmt(p()?.bitisTarihi) }}\n \n \n {{ p()?.sorumluKisi || '—' }}\n \n \n {{ p()?.musteriFirma || '—' }}\n \n \n \n\n \n @if (p()?.ekipUyeleri?.length) {\n \n
\n @for (uye of p().ekipUyeleri; track uye) {\n {{ uye }}\n }\n
\n
\n }\n\n \n @if (p()?.notlar) {\n \n

{{ p().notlar }}

\n
\n }\n
\n `,\n styles: [`\n .prj-sayfa {\n display: flex;\n flex-direction: column;\n gap: 16px;\n max-width: 860px;\n margin: 0 auto;\n animation: prjFadeIn 0.35s ease;\n }\n @keyframes prjFadeIn {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n }\n .prj-sayfa__baslik-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 8px;\n }\n .prj-sayfa__baslik {\n margin: 0;\n font-size: 22px;\n font-weight: 700;\n color: var(--py-metin, #222);\n }\n .prj-sayfa__etiketler {\n display: flex;\n gap: 6px;\n }\n .prj-sayfa__istatistikler {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n }\n .prj-sayfa__stat-kart {\n background: var(--py-arkaplan-ikincil, #fafafa);\n border-radius: 10px;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n }\n .prj-sayfa__stat-kart:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0,0,0,.08);\n }\n .prj-sayfa__harcama {\n font-size: 12px;\n opacity: 0.65;\n margin-top: 4px;\n }\n .prj-sayfa__ekip-liste {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n }\n .prj-sayfa__notlar {\n margin: 0;\n line-height: 1.7;\n color: var(--py-metin, #555);\n white-space: pre-wrap;\n }\n nz-card {\n border-radius: 10px;\n }\n `],\n})\nexport class ProjelerSayfaComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n private projelerServis = inject(ProjelerService);\n\n constructor() { super(); }\n\n p = computed(() => this.parametreler());\n\n durumRenk = computed(() => DURUM_RENK[this.p()?.durum] || 'default');\n durumEtiket = computed(() => DURUM_ETIKET[this.p()?.durum] || 'Bilinmiyor');\n oncelikRenk = computed(() => ONCELIK_RENK[this.p()?.oncelik] || 'blue');\n oncelikEtiket = computed(() => ONCELIK_ETIKET[this.p()?.oncelik] || 'Normal');\n\n ilerlemeRenk = computed(() => {\n const yuzde = this.p()?.yuzdeTamamlanma || 0;\n if (yuzde >= 100) return '#52c41a';\n if (yuzde >= 60) return '#1890ff';\n if (yuzde >= 30) return '#fa8c16';\n return '#f5222d';\n });\n\n butceStr = computed(() => {\n const b = this.p()?.butce;\n return b ? b.toLocaleString('tr-TR') : '0';\n });\n\n toplamGunStr = computed(() => {\n const p = this.p();\n if (!p?.baslangicTarihi || !p?.bitisTarihi) return '—';\n const bas = new Date(p.baslangicTarihi).getTime();\n const bit = new Date(p.bitisTarihi).getTime();\n const gun = Math.ceil((bit - bas) / 86400000);\n return gun > 0 ? `${gun} gün` : '—';\n });\n\n tarihFmt(iso?: string): string {\n if (!iso) return '—';\n try { return new Date(iso).toLocaleDateString('tr-TR', { day: '2-digit', month: 'long', year: 'numeric' }); }\n catch { return '—'; }\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ProjelerEditComponent } from './projeler-edit.component';\nimport { ProjelerKartComponent } from './projeler-kart.component';\nimport { ProjelerKartSadeComponent } from './projeler-kart-sade.component';\nimport { ProjelerSayfaComponent } from './projeler-sayfa.component';\n\n@DinamikBilesen({\n id: 'projeler',\n baslik: 'Projeler',\n aciklama: 'Proje oluştur ve takip et',\n ikon: 'project',\n kategori: 'uyar',\n})\nclass Projeler {\n paylas_kutusu = ProjelerEditComponent;\n paylasilmis_kart = ProjelerKartComponent;\n paylasilmis_kart_sade = ProjelerKartSadeComponent;\n sayfa = ProjelerSayfaComponent;\n\n \n hesaplamalar = {\n pipeline: [\n { $match: { _uid: '{{kartId}}', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'icerikDetay' } },\n { $unwind: { path: '$icerikDetay', preserveNullAndEmptyArrays: false } },\n { $group: {\n _id: { $ifNull: ['$icerikDetay.ek.bilesen', '$icerikDetay.ek._secilenSetId'] },\n toplam: { $sum: 1 },\n tamamlanan: { $sum: { $cond: [{ $eq: ['$icerikDetay.ek.durum', 'tamamlandi'] }, 1, 0] } },\n devamEden: { $sum: { $cond: [{ $eq: ['$icerikDetay.ek.durum', 'devam-ediyor'] }, 1, 0] } }\n }}\n ],\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } }\n ], as: '_alt' } },\n { $addFields: {\n '_hesap.toplamGorev': { $size: '$_alt' },\n '_hesap.tamamlananGorev': { $size: { $filter: { input: '$_alt', cond: { $eq: ['$$this.ic.ek.durum', 'tamamlandi'] } } } },\n '_hesap.notSayisi': { $size: { $filter: { input: '$_alt', cond: { $in: ['$$this.ic.ek.bilesen', ['not', 'yorum']] } } } }\n }},\n { $project: { _alt: 0 } }\n ]\n };\n}\n","import { Injectable, inject, signal } from '@angular/core';\nimport { FikoYTRequestService } from '@/src/app/shared/services/fikoyt-request.service';\nimport { turkceDuyarsizRegex } from '@/src/app/shared/utils/regex.utils';\n\nexport interface ILookupDepartman { _id: string; ad: string; kod?: string }\nexport interface ILookupPersonel { _id: string; ad: string; soyad: string; unvan?: string; gorev?: string; sicilNo?: string }\nexport interface ILookupMusteri { _id: string; firmaAdi: string; yetkili?: string; telefon?: string }\nexport interface ILookupTedarikci { _id: string; firmaAdi: string; kategori?: string; yetkili?: string }\nexport interface ILookupUye { _id: string; isim: string; soyIsim: string; resimId?: string; kullaniciAdi?: string }\nexport interface ILookupMakine { _id: string; makineAdi: string; makineKodu?: string; tip?: string; durum?: string }\nexport interface ILookupMalzeme { _id: string; malzemeAdi: string; pilesmi?: string; kalinlik?: number; renk?: string }\nexport interface ILookupSiparis { _id: string; siparisNo: string; musteri?: string; urunAdi?: string; durum?: string }\n\nconst DB = 'FikoYT.sistem.DB.hareketler.aggregate';\nconst DB_UYELER = 'FikoYT.sistem.DB.goUyeler.aggregate';\nconst UYG_YONETIM = 'FikoYT.sistem.hmi.yonetim';\nconst UYG_SATIS = 'FikoYT.sistem.hmi.satis';\nconst UYG_URETIM = 'FikoYT.sistem.hmi.uretim';\n\nfunction bilesenId(setId: string): string {\n return setId.replace(/^hmi\\./, '');\n}\n\nfunction temelPipeline(uygulama: string | string[] | null, setId: string | string[]): any[] {\n const setIds = Array.isArray(setId) ? setId : [setId];\n const bilesenIds = setIds.map(bilesenId);\n const setMatch = { $or: [\n { 'veri.icerikler.ek._secilenSetId': { $in: setIds } },\n { 'veri.icerikler.ek.bilesen': { $in: bilesenIds } },\n ]};\n const baseMatch: any = { silindi: { $ne: true } };\n if (uygulama) {\n const uygulamalar = Array.isArray(uygulama) ? uygulama : [uygulama];\n baseMatch.uygulama = { $in: uygulamalar };\n }\n return [\n { $match: baseMatch },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'veri.icerikler' } },\n { $match: setMatch },\n ];\n}\n\nfunction aramaAdimi(alanlar: string[], arama: string): any {\n const rx = turkceDuyarsizRegex(arama);\n if (!rx) return null;\n if (alanlar.length === 1) {\n return { $match: { 'veri.icerikler.ek.parametreler': { $elemMatch: { ismi: alanlar[0], degeri: { $regex: rx, $options: 'i' } } } } };\n }\n return { $match: { 'veri.icerikler.ek.parametreler': { $elemMatch: { ismi: { $in: alanlar }, degeri: { $regex: rx, $options: 'i' } } } } };\n}\n\nfunction paramDeger(ek: any, ismi: string): string {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden) return diziden;\n return ek?.[ismi] || '';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class HmiLookupService {\n private req = inject(FikoYTRequestService);\n\n departmanlar = signal([]);\n personeller = signal([]);\n musteriler = signal([]);\n tedarikciler = signal([]);\n uyeler = signal([]);\n makineler = signal([]);\n malzemeler = signal([]);\n siparisler = signal([]);\n\n private _departmanYuklendi = false;\n private _personelYuklendi = false;\n private _musteriYuklendi = false;\n private _tedarikciYuklendi = false;\n private _uyeYuklendi = false;\n private _makineYuklendi = false;\n private _malzemeYuklendi = false;\n private _siparisYuklendi = false;\n\n async departmanlariYukle(arama?: string, zorla = false): Promise {\n if (this._departmanYuklendi && !arama && !zorla) return this.departmanlar();\n const pipe = [\n ...temelPipeline(null, 'hmi.departman'),\n ...this.aramaPipe(['departmanAdi'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return { _id: d._id, ad: paramDeger(ek, 'departmanAdi'), kod: paramDeger(ek, 'departmanKodu') } as ILookupDepartman;\n });\n if (!arama) { this.departmanlar.set(liste); this._departmanYuklendi = true; }\n return liste;\n }\n\n async personelleriYukle(arama?: string, zorla = false): Promise {\n if (this._personelYuklendi && !arama && !zorla) return this.personeller();\n const pipe = [\n ...temelPipeline(null, 'hmi.personel'),\n ...this.aramaPipe(['ad', 'soyad'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return {\n _id: d._id,\n ad: paramDeger(ek, 'ad'),\n soyad: paramDeger(ek, 'soyad'),\n unvan: paramDeger(ek, 'unvan'),\n gorev: paramDeger(ek, 'gorev'),\n sicilNo: paramDeger(ek, 'sicilNo'),\n } as ILookupPersonel;\n });\n if (!arama) { this.personeller.set(liste); this._personelYuklendi = true; }\n return liste;\n }\n\n async musterileriYukle(arama?: string, zorla = false): Promise {\n if (this._musteriYuklendi && !arama && !zorla) return this.musteriler();\n const pipe = [\n ...temelPipeline(null, 'hmi.musteri'),\n ...this.aramaPipe(['firmaAdi'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return {\n _id: d._id,\n firmaAdi: paramDeger(ek, 'firmaAdi'),\n yetkili: paramDeger(ek, 'yetkili'),\n telefon: paramDeger(ek, 'telefon'),\n } as ILookupMusteri;\n });\n if (!arama) { this.musteriler.set(liste); this._musteriYuklendi = true; }\n return liste;\n }\n\n async tedarikcileriYukle(arama?: string, zorla = false): Promise {\n if (this._tedarikciYuklendi && !arama && !zorla) return this.tedarikciler();\n const pipe = [\n ...temelPipeline(null, 'hmi.tedarikci'),\n ...this.aramaPipe(['firmaAdi'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return {\n _id: d._id,\n firmaAdi: paramDeger(ek, 'firmaAdi'),\n kategori: paramDeger(ek, 'kategori'),\n yetkili: paramDeger(ek, 'yetkili'),\n } as ILookupTedarikci;\n });\n if (!arama) { this.tedarikciler.set(liste); this._tedarikciYuklendi = true; }\n return liste;\n }\n\n async uyeleriYukle(arama?: string, zorla = false): Promise {\n if (this._uyeYuklendi && !arama && !zorla) return this.uyeler();\n const match: any = { silindi: { $ne: true } };\n if (arama?.trim()) {\n const rx = turkceDuyarsizRegex(arama.trim());\n if (rx) {\n match.$or = [\n { 'veri.pilesmi': { $regex: rx, $options: 'i' } },\n { kullaniciAdi: { $regex: rx, $options: 'i' } },\n ];\n }\n }\n const pipe = [\n { $match: match },\n { $project: { isim: 1, soyIsim: 1, resimId: { $ifNull: ['$profilResmi', { $ifNull: ['$veri.resimId', ''] }] }, kullaniciAdi: 1 } },\n { $limit: 50 },\n ];\n const liste = (await this.req.aggregate(DB_UYELER, pipe));\n if (!arama) { this.uyeler.set(liste); this._uyeYuklendi = true; }\n else { this.uyeler.set(liste); }\n return liste;\n }\n\n async firmalariYukle(arama?: string): Promise<(ILookupMusteri | ILookupTedarikci)[]> {\n const pipe = [\n ...temelPipeline(null, ['hmi.musteri', 'hmi.tedarikci']),\n ...this.aramaPipe(['firmaAdi'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n return (await this.req.aggregate(DB, pipe)).map(d => {\n const ic = d.veri?.icerikler?.[0];\n const ek = ic?.ek || {};\n return { _id: d._id, firmaAdi: paramDeger(ek, 'firmaAdi'), yetkili: paramDeger(ek, 'yetkili'), _setId: ic?.ek?._secilenSetId };\n });\n }\n\n async makineleriYukle(arama?: string, zorla = false): Promise {\n if (this._makineYuklendi && !arama && !zorla) return this.makineler();\n const pipe = [\n ...temelPipeline(null, 'hmi.makine-tanimi'),\n ...this.aramaPipe(['makineAdi', 'makineKodu'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return {\n _id: d._id,\n makineAdi: paramDeger(ek, 'makineAdi'),\n makineKodu: paramDeger(ek, 'makineKodu'),\n tip: paramDeger(ek, 'tip'),\n durum: paramDeger(ek, 'durum'),\n } as ILookupMakine;\n });\n if (!arama) { this.makineler.set(liste); this._makineYuklendi = true; }\n else { this.makineler.set(liste); }\n return liste;\n }\n\n async siparisleriYukle(arama?: string, zorla = false): Promise {\n if (this._siparisYuklendi && !arama && !zorla) return this.siparisler();\n const pipe = [\n ...temelPipeline(null, 'hmi.siparis'),\n ...this.aramaPipe(['siparisNo', 'urunAdi', 'musteri'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return {\n _id: d._id,\n siparisNo: paramDeger(ek, 'siparisNo'),\n musteri: paramDeger(ek, 'musteri'),\n urunAdi: paramDeger(ek, 'urunAdi'),\n durum: paramDeger(ek, 'durum'),\n } as ILookupSiparis;\n });\n if (!arama) { this.siparisler.set(liste); this._siparisYuklendi = true; }\n else { this.siparisler.set(liste); }\n return liste;\n }\n\n async malzemeleriYukle(arama?: string, zorla = false): Promise {\n if (this._malzemeYuklendi && !arama && !zorla) return this.malzemeler();\n const pipe = [\n ...temelPipeline(null, 'cam.malzeme-tanimi'),\n ...this.aramaPipe(['malzemeAdi'], arama),\n { $sort: { _id: -1 } }, { $limit: 50 },\n { $project: { _id: 1, 'veri.icerikler': 1 } },\n ];\n const ham = await this.req.aggregate(DB, pipe);\n const liste = ham.map(d => {\n const ek = d.veri?.icerikler?.[0]?.ek || {};\n return {\n _id: d._id,\n malzemeAdi: paramDeger(ek, 'malzemeAdi'),\n pilesmi: paramDeger(ek, 'pilesmi'),\n kalinlik: +(paramDeger(ek, 'kalinlik') || 0),\n renk: paramDeger(ek, 'renk'),\n } as ILookupMalzeme;\n });\n if (!arama) { this.malzemeler.set(liste); this._malzemeYuklendi = true; }\n else { this.malzemeler.set(liste); }\n return liste;\n }\n\n sifirla() {\n this._departmanYuklendi = this._personelYuklendi = this._musteriYuklendi = this._tedarikciYuklendi = this._uyeYuklendi = this._makineYuklendi = this._malzemeYuklendi = this._siparisYuklendi = false;\n this.departmanlar.set([]);\n this.personeller.set([]);\n this.musteriler.set([]);\n this.tedarikciler.set([]);\n this.uyeler.set([]);\n this.makineler.set([]);\n this.malzemeler.set([]);\n this.siparisler.set([]);\n }\n\n private aramaPipe(alanlar: string[], arama?: string): any[] {\n if (!arama?.trim()) return [];\n const adim = aramaAdimi(alanlar, arama.trim());\n return adim ? [adim] : [];\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'departman-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Departman Bilgileri\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\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (d of lookup.departmanlar(); track d._id) {\r\n \r\n
🏢
{{ d.ad }}@if (d.kod) { {{ d.kod }} }
\r\n
\r\n }\r\n \r\n \r\n 🏢{{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (per of lookup.personeller(); track per._id) {\r\n \r\n
👤
{{ per.ad }} {{ per.soyad }}{{ per.unvan || per.gorev || '' }}{{ per.sicilNo ? ' · ' + per.sicilNo : '' }}
\r\n
\r\n }\r\n \r\n \r\n 👤{{ selected.nzLabel }}\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 {{ p()?.renk || '#7c3aed' }}\r\n Departman temsil rengi\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .dep-edit {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n .dep-baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 16px;\r\n margin-bottom: 4px;\r\n border-radius: 10px;\r\n background: linear-gradient(\r\n 135deg,\r\n var(--py-arkaplan-soluk, rgba(0,0,0,0.03)),\r\n transparent\r\n );\r\n }\r\n\r\n .dep-baslik-ikon {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: linear-gradient(135deg, #7c3aed, #a855f7);\r\n color: #fff;\r\n flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);\r\n }\r\n\r\n .dep-baslik span {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n letter-spacing: 0.3px;\r\n }\r\n\r\n .dep-form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 16px;\r\n padding: 4px 2px;\r\n }\r\n\r\n .dep-ayirici {\r\n height: 1px;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent,\r\n var(--py-kenarlik, #d9d9d9) 20%,\r\n var(--py-kenarlik, #d9d9d9) 80%,\r\n transparent\r\n );\r\n opacity: 0.4;\r\n margin: 2px 0;\r\n }\r\n\r\n .form-grup {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 4px;\r\n }\r\n\r\n .form-grup label {\r\n font-size: 11px;\r\n font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label {\r\n color: var(--py-link, #1890ff);\r\n }\r\n\r\n .zorunlu {\r\n color: #ff4d4f;\r\n font-size: 13px;\r\n line-height: 1;\r\n vertical-align: middle;\r\n }\r\n\r\n .input-wrap {\r\n position: relative;\r\n }\r\n\r\n .input-glow {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 1px;\r\n background: linear-gradient(90deg, #7c3aed, #1890ff, #7c3aed);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n left 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n opacity 0.3s ease;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow {\r\n width: 100%;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n padding: 8px 12px;\r\n font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease,\r\n background 0.25s ease,\r\n box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 10px !important;\r\n min-height: 44px;\r\n font-size: 15px;\r\n transition: border-color 0.25s ease,\r\n background 0.25s ease,\r\n box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important;\r\n }\r\n\r\n .renk-secici {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\r\n padding: 12px 16px;\r\n border-radius: 10px;\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n cursor: pointer;\r\n position: relative;\r\n overflow: hidden;\r\n transition: border-color 0.25s ease,\r\n box-shadow 0.25s ease,\r\n transform 0.2s ease;\r\n }\r\n\r\n .renk-secici:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\r\n transform: translateY(-1px);\r\n }\r\n\r\n .renk-onizleme {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n box-shadow:\r\n 0 2px 8px rgba(0,0,0,0.15),\r\n inset 0 -2px 4px rgba(0,0,0,0.1),\r\n inset 0 2px 4px rgba(255,255,255,0.2);\r\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),\r\n box-shadow 0.3s ease;\r\n }\r\n\r\n .renk-secici:hover .renk-onizleme {\r\n transform: scale(1.1);\r\n box-shadow:\r\n 0 4px 14px rgba(0,0,0,0.2),\r\n inset 0 -2px 4px rgba(0,0,0,0.1),\r\n inset 0 2px 4px rgba(255,255,255,0.2);\r\n }\r\n\r\n .renk-ic-halka {\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n background: rgba(255,255,255,0.35);\r\n backdrop-filter: blur(2px);\r\n }\r\n\r\n .renk-bilgi {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n min-width: 0;\r\n }\r\n\r\n .renk-hex {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\r\n letter-spacing: 0.5px;\r\n }\r\n\r\n .renk-aciklama {\r\n font-size: 10px;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n }\r\n\r\n .renk-input {\r\n position: absolute;\r\n inset: 0;\r\n width: 100%;\r\n height: 100%;\r\n opacity: 0;\r\n cursor: pointer;\r\n border: none;\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n\r\n .dep-baslik-ikon {\r\n animation: none;\r\n position: relative;\r\n }\r\n\r\n .dep-baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n border-radius: inherit;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent 0%,\r\n rgba(255,255,255,0.2) 50%,\r\n transparent 100%\r\n );\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n `],\r\n})\r\nexport class DepartmanEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n\r\n constructor() { super(); this.lookup.departmanlariYukle(); this.lookup.personelleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\n@Component({\n selector: 'departman-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
DEPARTMAN
\n @if (p()?.departmanKodu) { {{ p().departmanKodu }} }\n
\n
\n
\n
{{ p()?.departmanAdi || 'Isimsiz' }}
\n @if (p()?.yonetici) {
{{ p().yonetici }}
}\n
\n
\n
{{ ist().personel }}PERSONEL
\n
{{ ist().altDepartman }}ALT DEPT
\n
{{ ist().aktif }}AKTIF
\n
\n @if (altOzet()['duyuru']) {\n
{{ altOzet()['duyuru'].toplam }} duyuru
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #00c853; --accent-rgb: 0,200,83; }\n .gc-icerik { align-items: center; gap: 8px; }\n .gc-desen { opacity: .03; background-image: linear-gradient(30deg, rgba(var(--accent-rgb),.15) 12%, transparent 12.5%, transparent 87%, rgba(var(--accent-rgb),.15) 87.5%), linear-gradient(150deg, rgba(var(--accent-rgb),.15) 12%, transparent 12.5%, transparent 87%, rgba(var(--accent-rgb),.15) 87.5%); background-size: 40px 70px; }\n .dk-emblem { width: 52px; height: 52px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: rgba(var(--accent-rgb),.06); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.15); box-shadow: 0 4px 12px rgba(0,0,0,.2), inset 0 1px 0 rgba(var(--accent-rgb),.1); }\n .dk-isim-alan { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; }\n .dk-isim { font-size: 15px; font-weight: 800; color: var(--py-metin, #e2e8f0); letter-spacing: .04em; text-align: center; transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }\n .gc:hover .dk-isim { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .dk-yonetici { display: flex; align-items: center; gap: 4px; font-size: 10px; color: var(--accent); opacity: .7; }\n .dk-yonetici svg { color: #ffd700; }\n .dk-stat-kutular { display: flex; gap: 6px; width: 100%; margin-top: 4px; }\n .dk-stat-kutu { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border-radius: 4px; background: rgba(var(--accent-rgb),.04); border: 1px solid rgba(var(--accent-rgb),.08); box-shadow: inset 0 1px 3px rgba(0,0,0,.15); backdrop-filter: blur(4px); }\n .dk-stat-val { font-size: 18px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1; text-shadow: 0 0 10px rgba(var(--accent-rgb),.3); }\n .dk-stat-lbl { font-size: 7px; font-weight: 600; letter-spacing: .08em; color: var(--py-metin-ikincil, #64748b); }\n `],\n})\nexport class DepartmanKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const ek = this.p(); if (ek?.departmanAdi) untracked(() => this.istatistikleriYukle(ek.departmanAdi)); });\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'departman').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n ist = signal({ personel: 0, altDepartman: 0, aktif: 0 });\n private async istatistikleriYukle(departmanAdi: string) {\n try {\n const UYG = 'FikoYT.sistem.hmi.yonetim';\n const res: any = await new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate', parametreler: { filitreler: [\n { $match: { uygulama: UYG, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: '_ic' } },\n { $unwind: { path: '$_ic', preserveNullAndEmptyArrays: false } },\n { $facet: { personel: [{ $match: { '_ic.ek._secilenSetId': 'hmi.personel', '_ic.ek.parametreler': { $elemMatch: { ismi: 'departman', deger: departmanAdi } } } }, { $count: 'n' }], altDept: [{ $match: { '_ic.ek._secilenSetId': 'hmi.departman', '_ic.ek.ustDepartman': departmanAdi } }, { $count: 'n' }] } }\n ]}, oncelik: 0, gecikmeliCevap: false }).isteSync();\n const d = res?.cevap?.sonuc?.[0];\n this.ist.set({ personel: d?.personel?.[0]?.n || 0, altDepartman: d?.altDept?.[0]?.n || 0, aktif: d?.personel?.[0]?.n || 0 });\n this.CD.detectChanges();\n } catch {}\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\n@Component({\n selector: 'departman-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Departman Tanımı
\n
\n
\n
\n
{{ p()?.departmanAdi || 'Isimsiz' }}
\n @if (p()?.departmanKodu) { {{ p().departmanKodu }} }\n @if (p()?.yonetici) {
{{ p().yonetici }}
}\n
\n
\n \n
\n
\n `,\n})\nexport class DepartmanKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { DepartmanEditComponent } from './departman-edit.component';\nimport { DepartmanKartComponent } from './departman-kart.component';\nimport { DepartmanKartSadeComponent } from './departman-kart-sade.component';\n\n@DinamikBilesen({\n id: 'departman',\n baslik: 'Departman',\n aciklama: 'Departman oluştur ve yönet',\n ikon: 'apartment',\n kategori: 'personel',\n})\nclass Departman {\n paylas_kutusu = DepartmanEditComponent;\n paylasilmis_kart = DepartmanKartComponent;\n paylasilmis_kart_sade = DepartmanKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model, ViewContainerRef } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../services/hmi-lookup.service';\r\nimport { SISTEM_PARAMETRE_SETLERI } from '@service/fikoyt-ui/src/lib/parametre-setleri/sistem-parametre-setleri';\r\nimport { AvatarService } from '@/src/app/servisler/avatar.service';\r\nimport { UniversalAvatarComponent } from '@/src/app/shared/components/universal-avatar/universal-avatar.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'personel-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule, NzDatePickerModule, NzDividerModule, NzIconModule, UniversalAvatarComponent],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Personel Bilgileri\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n @if (deger('fotoUrl')) {\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
\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 @for (d of lookup.departmanlar(); track d._id) {\r\n \r\n
🏢
{{ d.ad }}@if (d.kod) { {{ d.kod }} }
\r\n
\r\n }\r\n
\r\n \r\n 🏢{{ selected.nzLabel }}\r\n \r\n \r\n \r\n
\r\n Yeni Departman Ekle\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
\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
\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 \r\n @for (u of lookup.uyeler(); track u._id) {\r\n \r\n
\r\n \r\n
{{ u.isim }} {{ u.soyIsim }}@if (u.kullaniciAdi) { {{'@'}}{{ u.kullaniciAdi }} }
\r\n
\r\n
\r\n }\r\n
\r\n \r\n 👤{{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .pe-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .pe-baslik {\r\n display: flex; align-items: center; gap: 8px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .pe-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #3b82f6, #60a5fa);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(59, 130, 246, 0.35);\r\n position: relative;\r\n }\r\n\r\n .pe-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .pe-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .pe-foto-alan {\r\n display: flex; align-items: center; gap: 16px;\r\n padding: 12px 0; margin-bottom: 4px;\r\n }\r\n\r\n .pe-foto-onizleme {\r\n flex-shrink: 0; position: relative;\r\n border-radius: 50%; overflow: hidden;\r\n box-shadow: 0 4px 16px rgba(0,0,0,.12);\r\n }\r\n\r\n .pe-foto-islemler { display: flex; flex-direction: column; gap: 8px; }\r\n\r\n .pe-foto-sec {\r\n display: inline-flex; align-items: center; gap: 8px; cursor: pointer;\r\n padding: 4px 12px; border-radius: 6px; font-size: 12px; font-weight: 500;\r\n background: linear-gradient(135deg, rgba(59,130,246,.1), rgba(59,130,246,.05));\r\n color: #3b82f6; border: 1px solid rgba(59,130,246,.2);\r\n transition: all .2s ease;\r\n }\r\n .pe-foto-sec:hover { background: rgba(59,130,246,.15); border-color: rgba(59,130,246,.4); }\r\n\r\n .pe-foto-sil {\r\n display: inline-flex; align-items: center; gap: 4px; cursor: pointer;\r\n padding: 4px 8px; border-radius: 6px; font-size: 11px; font-weight: 500;\r\n background: transparent; color: #ef4444; border: 1px solid rgba(239,68,68,.2);\r\n transition: all .2s ease;\r\n }\r\n .pe-foto-sil:hover { background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.4); }\r\n\r\n .pe-form { display: flex; flex-direction: column; gap: 16px; padding: 4px 2px; }\r\n\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n\r\n .pe-ayirici {\r\n height: 1px; margin: 2px 0; opacity: 0.4;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 4px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #3b82f6, #60a5fa, #3b82f6);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px; padding: 8px 12px; font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-picker {\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n border: 1px solid var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n width: 100% !important;\r\n font-size: 13px !important;\r\n transition: border-color .25s, box-shadow .25s, background .25s !important;\r\n }\r\n .input-wrap ::ng-deep .ant-picker input { font-size: 13px !important; color: var(--py-metin) !important; }\r\n\r\n .input-wrap:hover ::ng-deep .ant-picker {\r\n border-color: rgba(102,126,234,.3) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.01)) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-picker,\r\n .input-wrap ::ng-deep .ant-picker-focused {\r\n border-color: rgba(102,126,234,.5) !important;\r\n background: transparent !important;\r\n box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class PersonelEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n avatar = inject(AvatarService);\r\n private modal = inject(NzModalService);\r\n private vcr = inject(ViewContainerRef);\r\n\r\n constructor() { super(); this.lookup.departmanlariYukle(); this.lookup.uyeleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n tamAd = computed(() => {\r\n const ad = this.deger('ad');\r\n const soyad = this.deger('soyad');\r\n return ((ad || '') + ' ' + (soyad || '')).trim() || 'Personel';\r\n });\r\n\r\n fotoOnizleme = computed(() => {\r\n const ek = this.p();\r\n if (ek?._fotoBase64) return ek._fotoBase64;\r\n if (ek?.fotoUrl) return ek.fotoUrl;\r\n if (ek?._uyeResimId) return this.avatar.profilResimUrl(ek._uyeResimId, '96x96');\r\n if (ek?.kullaniciId) {\r\n const uye = this.lookup.uyeler().find(u => u._id === ek.kullaniciId);\r\n if (uye?.resimId) return this.avatar.profilResimUrl(uye.resimId, '96x96');\r\n }\r\n return '';\r\n });\r\n\r\n deger(alan: string): any {\r\n return paramDeger(this.p(), alan);\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n\r\n fotoSec(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const dosya = input?.files?.[0];\r\n if (!dosya) return;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n const base64 = reader.result as string;\r\n this.guncelle('fotoUrl', base64);\r\n this.guncelle('_fotoBase64', base64);\r\n };\r\n reader.readAsDataURL(dosya);\r\n }\r\n\r\n departmanAra(terim: string) { this.lookup.departmanlariYukle(terim); }\r\n\r\n async yeniDepartmanEkle() {\r\n const { PaylasKutusuComponent } = await import('@service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/paylas-kutusu.component');\r\n let bulunanSet: any;\r\n for (const g of SISTEM_PARAMETRE_SETLERI) { const s = g.altGruplar?.find((a: any) => a.id === 'hmi.departman'); if (s) { bulunanSet = s; break; } }\r\n if (!bulunanSet) { this.nzMessage.warning('Departman seti bulunamadı'); return; }\r\n const setKopya = JSON.parse(JSON.stringify(bulunanSet));\r\n const kart: any = { _id: Date.now().toString(36), vt: 'FikoYT.sistem.hareketler', yol: 'FikoYT.sistem.hareketler.kalem', turu: 'KART', gizlilik: 'Herkese Açık', uygulama: [], veri: { solSimge: { baslik: '🏢', renkArka: '#531dab', renkYazi: '#fff' }, icerikler: [{ _id: Date.now().toString(36), html: '', aciklama: '', sifre: null, ek: { turu: 'UYGULAMAICERIK', _secilenSetId: setKopya.id, parametreler: setKopya.parametreler || [], ...(setKopya.bilesen ? { bilesen: setKopya.bilesen } : {}) } }] } };\r\n const ref = this.modal.create({ nzTitle: '🏢 Yeni Departman', nzContent: PaylasKutusuComponent, nzWidth: 520, nzFooter: null, nzViewContainerRef: this.vcr });\r\n ref.afterOpen.subscribe(() => {\r\n const inst = ref.componentInstance;\r\n if (!inst) return;\r\n inst.kart = kart; inst.parametreSetleri = [JSON.parse(JSON.stringify(bulunanSet))]; inst.parametreSetiZorunlu = true; inst.taslakDevreDisi = true;\r\n inst.paylasimYapildi?.subscribe(() => { ref.close(); this.lookup.departmanlariYukle('', true); this.nzNotification.success('Eklendi', 'Departman kaydedildi'); });\r\n inst.CD?.detectChanges?.();\r\n });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PersonelAvatarComponent } from '@/src/service/fikoyt-ui/src/lib/personel-avatar/personel-avatar.component';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'personel-kart',\n standalone: true,\n imports: [CommonModule, PersonelAvatarComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
PERSONEL KAYDI
\n @if (deger('sicilNo')) { {{ deger('sicilNo') }} }\n
\n
\n \n
\n
\n
\n
\n
{{ tamAd() }}
\n @if (deger('unvan') || deger('gorev')) { {{ deger('unvan') || deger('gorev') }} }\n
\n @if (deger('departman')) {
{{ deger('departman') }}
}\n
\n
\n
\n DEVAMSIZLIK\n
\n {{ ist().devamsizlik }}\n
\n
\n
\n PERFORMANS\n
\n {{ ist().performans }}%\n
\n
\n
\n KIDEM\n
\n {{ kidemYil() }}y\n
\n
\n @if (altOzet()['adres-bilgisi'] || altOzet()['izin-kaydi'] || altOzet()['egitim-kaydi']) {\n
\n @if (altOzet()['adres-bilgisi']; as a) { {{ a.toplam }} adres }\n @if (altOzet()['izin-kaydi']; as i) { {{ i.toplam }} izin }\n @if (altOzet()['egitim-kaydi']; as e) { {{ e.toplam }} egitim }\n
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #00b4d8; --accent-rgb: 0,180,216; }\n .gc-icerik { align-items: center; }\n .pk-avatar-alani { margin-top: 4px; }\n .pk-avatar-cerceve { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: conic-gradient(from 0deg, rgba(var(--accent-rgb),.3), rgba(var(--accent-rgb),.05), rgba(var(--accent-rgb),.3)); padding: 3px; box-shadow: 0 0 20px rgba(var(--accent-rgb),.15); }\n .pk-isim-alan { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; }\n .pk-isim { font-size: 15px; font-weight: 800; color: var(--py-metin, #e2e8f0); letter-spacing: .04em; text-align: center; transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }\n .gc:hover .pk-isim { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .pk-sinif { font-size: 9px; font-weight: 600; padding: 2px 10px; border-radius: 2px; background: rgba(var(--accent-rgb),.08); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.15); letter-spacing: .08em; text-transform: uppercase; }\n .pk-dept-badge { font-size: 9px; color: var(--py-metin-ikincil, #64748b); letter-spacing: .04em; }\n `],\n})\nexport class PersonelKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'personel').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n tamAd = computed(() => { const ad = this.deger('ad') || ''; const soyad = this.deger('soyad') || ''; return (ad + ' ' + soyad).trim() || 'Isimsiz'; });\n ist = signal({ devamsizlik: 0, performans: 0 });\n halkaDevamsizlik = computed(() => Math.min(this.ist().devamsizlik, 100));\n halkaPerformans = computed(() => Math.min(this.ist().performans, 100));\n kidemYil = computed(() => { const tarih = this.deger('iseGirisTarihi'); if (!tarih) return 0; const giris = new Date(tarih); if (isNaN(giris.getTime())) return 0; return Math.max(0, Math.floor((Date.now() - giris.getTime()) / (365.25 * 24 * 60 * 60 * 1000))); });\n halkaKidem = computed(() => Math.min(this.kidemYil() * 5, 100));\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { PersonelAvatarComponent } from '@/src/service/fikoyt-ui/src/lib/personel-avatar/personel-avatar.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\n@Component({\n selector: 'personel-kart-sade',\n standalone: true,\n imports: [CommonModule, PersonelAvatarComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Personel Tanımı
\n
\n
\n \n
\n
{{ tamAd() }}
\n @if (deger('unvan') || deger('gorev')) {
{{ deger('unvan') || deger('gorev') }}
}\n @if (deger('departman')) { {{ deger('departman') }} }\n
\n
\n @if (deger('sicilNo')) { {{ deger('sicilNo') }} }\n
\n
\n `,\n})\nexport class PersonelKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n tamAd = computed(() => {\n const ad = this.deger('ad') || '';\n const soyad = this.deger('soyad') || '';\n return (ad + ' ' + soyad).trim() || 'Isimsiz';\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { PersonelEditComponent } from './personel-edit.component';\nimport { PersonelKartComponent } from './personel-kart.component';\nimport { PersonelKartSadeComponent } from './personel-kart-sade.component';\n\n@DinamikBilesen({\n id: 'personel',\n baslik: 'Personel',\n aciklama: 'Personel kaydı',\n ikon: 'user',\n kategori: 'personel',\n})\nclass Personel {\n paylas_kutusu = PersonelEditComponent;\n paylasilmis_kart = PersonelKartComponent;\n paylasilmis_kart_sade = PersonelKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'tedarikci-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Tedarikçi Bilgileri\r\n
\r\n\r\n
\r\n
\r\n
\r\n @if (logoOnizleme()) {\r\n \r\n } @else {\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n \r\n @if (p()?.logoUrl || p()?._logoBase64) {\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
\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
\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\r\n
\r\n \r\n
\r\n \r\n \r\n
Hammadde
\r\n
\r\n \r\n
Yardımcı Malzeme
\r\n
\r\n \r\n
Makine Ekipman
\r\n
\r\n \r\n
Hizmet
\r\n
\r\n \r\n
Lojistik
\r\n
\r\n \r\n
Diğer
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .ted-edit {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n .ted-baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 12px 16px;\r\n margin-bottom: 4px;\r\n border-radius: 10px;\r\n background: linear-gradient(\r\n 135deg,\r\n var(--py-arkaplan-soluk, rgba(0,0,0,0.03)),\r\n transparent\r\n );\r\n }\r\n\r\n .ted-baslik-ikon {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: linear-gradient(135deg, #7c3aed, #a855f7);\r\n color: #fff;\r\n flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);\r\n position: relative;\r\n }\r\n\r\n .ted-baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n border-radius: inherit;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent 0%,\r\n rgba(255,255,255,0.2) 50%,\r\n transparent 100%\r\n );\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .ted-baslik span {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n letter-spacing: 0.3px;\r\n }\r\n\r\n .ted-form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n padding: 4px 2px;\r\n }\r\n\r\n .ted-ayirici {\r\n height: 1px;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent,\r\n var(--py-kenarlik, #d9d9d9) 20%,\r\n var(--py-kenarlik, #d9d9d9) 80%,\r\n transparent\r\n );\r\n opacity: 0.4;\r\n margin: 2px 0;\r\n }\r\n\r\n .form-grup {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n }\r\n\r\n .form-grup label {\r\n font-size: 11px;\r\n font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label {\r\n color: var(--py-link, #1890ff);\r\n }\r\n\r\n .zorunlu {\r\n color: #ff4d4f;\r\n font-size: 13px;\r\n line-height: 1;\r\n vertical-align: middle;\r\n }\r\n\r\n .input-wrap {\r\n position: relative;\r\n }\r\n\r\n .input-glow {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 1px;\r\n background: linear-gradient(90deg, #7c3aed, #1890ff, #7c3aed);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n left 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n opacity 0.3s ease;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow {\r\n width: 100%;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n padding: 7px 11px;\r\n font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease,\r\n background 0.25s ease,\r\n box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n transition: border-color 0.25s ease,\r\n background 0.25s ease,\r\n box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important;\r\n }\r\n\r\n .logo-alan { display: flex; align-items: center; gap: 16px; padding: 12px 0; margin-bottom: 8px; }\r\n .logo-onizleme { width: 72px; height: 72px; border-radius: 12px; overflow: hidden; flex-shrink: 0; border: 2px dashed var(--py-kenarlik, #d9d9d9); display: flex; align-items: center; justify-content: center; background: var(--py-arkaplan-soluk, rgba(0,0,0,.02)); transition: border-color .2s; }\r\n .logo-onizleme:hover { border-color: var(--py-link, #1890ff); }\r\n .logo-img { width: 100%; height: 100%; object-fit: contain; }\r\n .logo-placeholder { color: var(--py-metin-devre-disi, #bbb); }\r\n .logo-islemler { display: flex; flex-direction: column; gap: 6px; }\r\n .logo-sec-btn { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 5px 12px; border-radius: 6px; font-size: 12px; font-weight: 500; background: linear-gradient(135deg, rgba(124,58,237,.1), rgba(124,58,237,.05)); color: #7c3aed; border: 1px solid rgba(124,58,237,.2); transition: all .2s; }\r\n .logo-sec-btn:hover { background: rgba(124,58,237,.15); }\r\n .logo-sil-btn { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; padding: 4px 10px; border-radius: 6px; font-size: 11px; background: transparent; color: #ef4444; border: 1px solid rgba(239,68,68,.2); transition: all .2s; }\r\n .logo-sil-btn:hover { background: rgba(239,68,68,.08); }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class TedarikciEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n\r\n constructor() { super(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n logoOnizleme = computed(() => {\r\n const ek = this.p();\r\n return ek?._logoBase64 || ek?.logoUrl || '';\r\n });\r\n\r\n logoSec(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const dosya = input?.files?.[0];\r\n if (!dosya) return;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n const base64 = reader.result as string;\r\n this.guncelle('logoUrl', base64);\r\n this.guncelle('_logoBase64', base64);\r\n };\r\n reader.readAsDataURL(dosya);\r\n }\r\n\r\n kategoriRenk(v: string): string {\r\n const m: Record = { 'Hammadde': '#3b82f6', 'Yardımcı Malzeme': '#8b5cf6', 'Makine Ekipman': '#f59e0b', 'Hizmet': '#10b981', 'Lojistik': '#06b6d4', 'Diğer': '#6b7280' };\r\n return m[v] || '#6b7280';\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\n@Component({\n selector: 'tedarikci-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
TEDARİKÇİ
\n
@if (logoUrl()) { } @else { }
{{ p()?.firmaAdi || 'Isimsiz Firma' }}
@if (p()?.kategori) { {{ p().kategori }} }
\n @if (p()?.yetkiliKisi) {
{{ p().yetkiliKisi }}
}\n
@if (p()?.telefon) {
{{ p().telefon }}
}@if (p()?.email) {
{{ p().email }}
}
\n
0SIPARIS
0TESLIM
\n @if (altOzet()['degerlendirme']) {\n
{{ altOzet()['degerlendirme'].toplam }} degerlendirme
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #d946ef; --accent-rgb: 217,70,239; }\n .gc-icerik { gap: 8px; }\n .gc-desen { opacity: .03; background-image: radial-gradient(circle, rgba(var(--accent-rgb),.3) 1px, transparent 1px); background-size: 16px 16px; }\n .tk-ust { display: flex; align-items: flex-start; gap: 10px; }\n .tk-emblem { width: 36px; height: 36px; border-radius: 6px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(var(--accent-rgb),.06); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.15); box-shadow: 0 4px 12px rgba(0,0,0,.2), inset 0 1px 0 rgba(var(--accent-rgb),.1); overflow: hidden; }\n .tk-logo { width: 100%; height: 100%; object-fit: contain; }\n .tk-firma-alan { flex: 1; min-width: 0; }\n .tk-firma { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .tk-firma { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .tk-kategori { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 7px; border-radius: 2px; background: rgba(var(--accent-rgb),.08); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.15); }\n .tk-kisi { display: flex; align-items: center; gap: 5px; font-size: 11px; color: color-mix(in srgb, var(--accent) 70%, #fff); }\n .tk-kisi svg { color: var(--accent); opacity: .5; }\n .tk-iletisim { display: flex; flex-direction: column; gap: 3px; }\n .tk-row { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .tk-row svg { color: var(--accent); opacity: .4; flex-shrink: 0; }\n .tk-row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .tk-stat-kutular { display: flex; gap: 6px; }\n .tk-stat-kutu { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border-radius: 4px; background: rgba(var(--accent-rgb),.04); border: 1px solid rgba(var(--accent-rgb),.08); box-shadow: inset 0 1px 3px rgba(0,0,0,.15); backdrop-filter: blur(4px); }\n .tk-stat-val { font-size: 18px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1; text-shadow: 0 0 10px rgba(var(--accent-rgb),.3); }\n .tk-stat-lbl { font-size: 7px; font-weight: 600; letter-spacing: .08em; color: var(--py-metin-ikincil, #64748b); }\n `],\n})\nexport class TedarikciKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'tedarikci').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n logoUrl = computed(() => this.p()?._logoBase64 || this.p()?.logoUrl || '');\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\n@Component({\n selector: 'tedarikci-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Tedarikçi Tanımı
\n
\n
\n @if (deger('logo')) {\n \n } @else {\n 🏭\n }\n
\n
{{ deger('firmaAdi') || 'Isimsiz Firma' }}
\n @if (deger('yetkiliKisi')) {
{{ deger('yetkiliKisi') }}
}\n @if (deger('kategori')) { {{ deger('kategori') }} }\n
\n
\n `,\n})\nexport class TedarikciKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { TedarikciEditComponent } from './tedarikci-edit.component';\nimport { TedarikciKartComponent } from './tedarikci-kart.component';\nimport { TedarikciKartSadeComponent } from './tedarikci-kart-sade.component';\n\n@DinamikBilesen({\n id: 'tedarikci',\n baslik: 'Tedarikçi',\n aciklama: 'Tedarikçi/firma kaydı',\n ikon: 'shop',\n kategori: 'personel',\n})\nclass Tedarikci {\n paylas_kutusu = TedarikciEditComponent;\n paylasilmis_kart = TedarikciKartComponent;\n paylasilmis_kart_sade = TedarikciKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'bakim-talebi-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Bakım Talebi Bilgileri\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n @for (m of lookup.makineler(); track m._id) {\r\n \r\n
⚙️
{{ m.makineAdi }}{{ m.makineKodu || '' }}{{ m.tip ? ' · ' + m.tip : '' }}
\r\n
\r\n }\r\n \r\n \r\n ⚙️{{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
Mekanik
\r\n
\r\n \r\n
Elektrik
\r\n
\r\n \r\n
Hidrolik
\r\n
\r\n \r\n
Pnömatik
\r\n
\r\n \r\n
Yazılım
\r\n
\r\n \r\n
Diğer
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\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
Düşük
\r\n
\r\n \r\n
Orta
\r\n
\r\n \r\n
Yüksek
\r\n
\r\n \r\n
Acil Durum
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\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 \r\n \r\n
Bekliyor
\r\n
\r\n \r\n
İnceleniyor
\r\n
\r\n \r\n
Onarılıyor
\r\n
\r\n \r\n
Tamamlandı
\r\n
\r\n
\r\n \r\n {{ selected?.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (per of lookup.personeller(); track per._id) {\r\n \r\n
👤
{{ per.ad }} {{ per.soyad }}{{ per.unvan || per.gorev || '' }}{{ per.sicilNo ? ' · ' + per.sicilNo : '' }}
\r\n
\r\n }\r\n \r\n \r\n 👤{{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .bt-edit {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n .bt-baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 16px;\r\n margin-bottom: 4px;\r\n border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .bt-baslik-ikon {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: linear-gradient(135deg, #dc2626, #ef4444);\r\n color: #fff;\r\n flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(220, 38, 38, 0.35);\r\n position: relative;\r\n }\r\n\r\n .bt-baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .bt-baslik span {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n letter-spacing: 0.3px;\r\n }\r\n\r\n .bt-form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 16px;\r\n padding: 4px 2px;\r\n }\r\n\r\n .bt-ayirici {\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n opacity: 0.4;\r\n margin: 2px 0;\r\n }\r\n\r\n .form-grup {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 4px;\r\n }\r\n\r\n .form-grup label {\r\n font-size: 11px;\r\n font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label {\r\n color: var(--py-link, #1890ff);\r\n }\r\n\r\n .zorunlu {\r\n color: #ff4d4f;\r\n font-size: 13px;\r\n line-height: 1;\r\n vertical-align: middle;\r\n }\r\n\r\n .input-wrap {\r\n position: relative;\r\n }\r\n\r\n .input-glow {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 1px;\r\n background: linear-gradient(90deg, #dc2626, #f59e0b, #dc2626);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n left 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n opacity 0.3s ease;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow {\r\n width: 100%;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n padding: 8px 12px;\r\n font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important;\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class BakimTalebiEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n\r\n constructor() { super(); this.lookup.personelleriYukle(); this.lookup.makineleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n arizaTuruRenk(v: string): string {\r\n const m: Record = { 'Mekanik': '#f59e0b', 'Elektrik': '#3b82f6', 'Hidrolik': '#06b6d4', 'Pnömatik': '#8b5cf6', 'Yazılım': '#10b981', 'Diğer': '#6b7280' };\r\n return m[v] || '#6b7280';\r\n }\r\n\r\n btDurumRenk(v: string): string {\r\n const m: Record = { 'Bekliyor': '#94a3b8', 'İnceleniyor': '#3b82f6', 'Onarılıyor': '#f59e0b', 'Tamamlandı': '#22c55e' };\r\n return m[v] || '#94a3b8';\r\n }\r\n\r\n aciliyetRenk(v: string): string {\r\n switch (v) {\r\n case 'Düşük': return '#94a3b8';\r\n case 'Orta': return '#f59e0b';\r\n case 'Yüksek': return '#ef4444';\r\n case 'Acil Durum': return '#7f1d1d';\r\n default: return '#94a3b8';\r\n }\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nconst ACILIYET_RENK: Record = { 'Dusuk': '#94a3b8', 'Orta': '#ff9500', 'Yuksek': '#ff4444', 'Acil Durum': '#ff0033' };\nconst ACILIYET_RGB: Record = { 'Dusuk': '148,163,184', 'Orta': '255,149,0', 'Yuksek': '255,68,68', 'Acil Durum': '255,0,51' };\nconst ACILIYET_RARITY: Record = { 'Dusuk': 'NORMAL', 'Orta': 'NADIR', 'Yuksek': 'EPIK', 'Acil Durum': 'EFSANEVI' };\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Inceleniyor': '#4488ff', 'Onariliyor': '#ff9500', 'Tamamlandi': '#00ff44' };\nconst DURUM_ILERLEME: Record = { 'Bekliyor': 10, 'Inceleniyor': 35, 'Onariliyor': 65, 'Tamamlandi': 100 };\n\n@Component({\n selector: 'bakim-talebi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
BAKIM TALEBİ
\n
{{ rarity() }}{{ p()?.aciliyet || 'Dusuk' }}
\n @if (p()?.raporEden) {
{{ p().raporEden }}
}\n
HEDEF
{{ p()?.makine || 'Bilinmeyen Makine' }}
@if (p()?.arizaTuru) {
{{ p().arizaTuru }}
}
\n @if (p()?.aciklama) {
{{ p().aciklama }}
@if (p().aciklama.length > 80) { } }\n
\n
{{ p()?.durum || 'Bekliyor' }}{{ ilerlemeYuzde() }}%
\n
\n
\n @if (p()?.tarih) {
{{ p().tarih }}
}\n @if (altOzet()['durum-guncelleme'] || altOzet()['gorev'] || altOzet()['maliyet-kalemi']) {\n
\n @if (altOzet()['durum-guncelleme']; as dg) { {{ dg.toplam }} guncelleme @if (dg.sonDurum) { Son: {{ dg.sonDurum }} } }\n @if (altOzet()['gorev']; as g) { {{ g.tamamlanan }}/{{ g.toplam }} gorev }\n @if (altOzet()['maliyet-kalemi']; as m) { {{ m.toplam }} maliyet }\n
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #ff4444; --accent-rgb: 255,68,68; }\n .gc-desen { opacity: .03; background-image: repeating-linear-gradient(45deg, rgba(var(--accent-rgb),.15), rgba(var(--accent-rgb),.15) 1px, transparent 1px, transparent 12px); }\n .bk-ust { display: flex; justify-content: space-between; align-items: center; }\n .bk-rarity { font-size: 8px; font-weight: 700; letter-spacing: .12em; color: var(--accent); opacity: .6; }\n .bk-aciliyet-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); box-shadow: 0 0 10px rgba(var(--accent-rgb),.4); animation: badge-pulse 2s ease-in-out infinite; }\n .bk-rapor-eden { display: flex; align-items: center; gap: 4px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .bk-rapor-eden svg { color: var(--accent); opacity: .5; }\n .bk-hedef-alan { display: flex; flex-direction: column; gap: 2px; }\n .bk-hedef-etiket { font-size: 7px; font-weight: 600; letter-spacing: .1em; color: var(--py-metin-ikincil, #64748b); }\n .bk-makine { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .bk-makine { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .bk-ariza { font-size: 10px; color: var(--accent); font-weight: 600; }\n .bk-aciklama { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n .bk-aciklama--acik { -webkit-line-clamp: unset; display: block; }\n .bk-devami { background: none; border: none; cursor: pointer; font-size: 9px; color: var(--accent); font-weight: 700; padding: 0; letter-spacing: .04em; }\n .bk-ilerleme-alan { display: flex; flex-direction: column; gap: 4px; }\n .bk-ilerleme-baslik { display: flex; justify-content: space-between; align-items: center; }\n .bk-durum { font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }\n .bk-yuzde { font-size: 11px; font-weight: 900; color: var(--py-metin-ikincil, #64748b); font-variant-numeric: tabular-nums; }\n .bk-tarih { font-size: 9px; color: var(--py-metin-ikincil, #4a5568); opacity: .6; text-align: right; }\n `],\n})\nexport class BakimTalebiKartComponent extends GameCardBase {\n parametreler = input();\n aciklamaAcik = false;\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => {\n const kartId = this.parametreler()?.kart?._id;\n if (!kartId) return;\n untracked(() => this.hesapSvc.hesapla(kartId, 'bakim-talebi').then(s => { this.altOzet.set(s); this.CD.detectChanges(); }));\n });\n }\n p = computed(() => this.parametreler()?.ek || {});\n aciliyetRenk = computed(() => ACILIYET_RENK[this.p()?.aciliyet] || '#94a3b8');\n aciliyetRgb = computed(() => ACILIYET_RGB[this.p()?.aciliyet] || '148,163,184');\n rarity = computed(() => ACILIYET_RARITY[this.p()?.aciliyet] || 'NORMAL');\n durumRenk = computed(() => DURUM_RENK[this.p()?.durum] || '#94a3b8');\n ilerlemeYuzde = computed(() => DURUM_ILERLEME[this.p()?.durum] || 10);\n}\n","import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst ACILIYET_RENK: Record = { 'Dusuk': '#94a3b8', 'Orta': '#ff9500', 'Yuksek': '#ff4444', 'Acil Durum': '#ff0033' };\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Inceleniyor': '#4488ff', 'Onariliyor': '#ff9500', 'Tamamlandi': '#52c41a' };\nconst DURUM_ILERLEME: Record = { 'Bekliyor': 10, 'Inceleniyor': 35, 'Onariliyor': 65, 'Tamamlandi': 100 };\nconst ACIKLAMA_UZUNLUK: number = 100; // 100 karakter üzeri \"uzun\" say\n\n@Component({\n selector: 'bakim-talebi-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Bakım Tanımı
\n
\n
\n
\n
{{ deger('makine') || 'Bilinmeyen Makine' }}
\n @if (deger('arizaTuru')) {
{{ deger('arizaTuru') }}
}\n \n
\n {{ aciklamaAcik() ? p()?.aciklama : (p()?.aciklama | slice:0:100) + '...' }}\n
\n @if (aciklamaUzun()) {\n
\n {{ aciklamaAcik() ? 'Kapat' : 'Devam' }}\n
\n }\n
\n @if (deger('durum')) { {{ deger('durum') }} }\n @if (deger('raporEden')) { {{ deger('raporEden') }} }\n
\n
\n
\n
\n @if (deger('aciliyet')) { {{ deger('aciliyet') }} }\n
\n
\n `,\n})\nexport class BakimTalebiKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); };\n p = computed(() => this.parametreler()?.ek || {});\n expanded = signal(false);\n aciklamaAcik = signal(false);\n toggleDesc() { this.aciklamaAcik.update(v => !v); }\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n aciliyetRenk = computed(() => ACILIYET_RENK[this.deger('aciliyet')] || '#94a3b8');\n durumRenk = computed(() => DURUM_RENK[this.deger('durum')] || '#94a3b8');\n ilerleme = computed(() => DURUM_ILERLEME[this.deger('durum')] || 10);\n aciklamaUzun = computed(() => {\n const txt = this.deger(\"aciklama\");\n return txt && typeof txt === 'string' && txt.length > ACIKLAMA_UZUNLUK;\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { BakimTalebiEditComponent } from './bakim-talebi-edit.component';\nimport { BakimTalebiKartComponent } from './bakim-talebi-kart.component';\nimport { BakimTalebiKartSadeComponent } from './bakim-talebi-kart-sade.component';\n\n@DinamikBilesen({\n id: 'bakim-talebi',\n baslik: 'Bakım Talebi',\n aciklama: 'Arıza ve bakım talebi',\n ikon: 'tool',\n kategori: 'personel',\n})\nclass BakimTalebi {\n paylas_kutusu = BakimTalebiEditComponent;\n paylasilmis_kart = BakimTalebiKartComponent;\n paylasilmis_kart_sade = BakimTalebiKartSadeComponent;\n hesaplamalar = {\n pipeline: [\n { $match: { _uid: '{{kartId}}', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'icerikDetay' } },\n { $unwind: { path: '$icerikDetay', preserveNullAndEmptyArrays: false } },\n { $group: {\n _id: { $ifNull: ['$icerikDetay.ek.bilesen', '$icerikDetay.ek._secilenSetId'] },\n toplam: { $sum: 1 },\n sonDurum: { $last: '$icerikDetay.ek.durum' },\n sonTarih: { $last: '$tarih' },\n tamamlanan: { $sum: { $cond: [{ $eq: ['$icerikDetay.ek.durum', 'Tamamlandi'] }, 1, 0] } },\n toplamTutar: { $sum: { $toDouble: { $ifNull: ['$icerikDetay.ek.tutar', '0'] } } }\n }}\n ],\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } }\n ], as: '_alt' } },\n { $addFields: {\n '_hesap.toplamAltKart': { $size: '$_alt' },\n '_hesap.toplamGorev': { $size: { $filter: { input: '$_alt', cond: { $in: ['$$this.ic.ek.bilesen', ['gorev', 'bakim-gorev']] } } } },\n '_hesap.tamamlananGorev': { $size: { $filter: { input: '$_alt', cond: { $and: [{ $in: ['$$this.ic.ek.bilesen', ['gorev', 'bakim-gorev']] }, { $eq: ['$$this.ic.ek.tamamlandi', true] }] } } } },\n '_hesap.toplamMaliyet': { $sum: { $map: { input: { $filter: { input: '$_alt', cond: { $in: ['$$this.ic.ek.bilesen', ['maliyet-kalemi']] } } }, in: { $toDouble: { $ifNull: ['$$this.ic.ek.tutar', '0'] } } } } }\n }},\n { $project: { _alt: 0 } }\n ]\n };\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../services/hmi-lookup.service';\r\nimport { FikoYTRequestService } from '@/src/app/shared/services/fikoyt-request.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\nconst DURUM_SECENEKLERI = [\r\n { deger: 'bekliyor', etiket: 'Bekliyor', renk: '#faad14' },\r\n { deger: 'onaylandi', etiket: 'Onaylandı', renk: '#52c41a' },\r\n { deger: 'uretimde', etiket: 'Üretimde', renk: '#1890ff' },\r\n { deger: 'hazir', etiket: 'Hazır', renk: '#13c2c2' },\r\n { deger: 'sevk_edildi', etiket: 'Sevk Edildi', renk: '#722ed1' },\r\n { deger: 'iptal', etiket: 'İptal', renk: '#ff4d4f' },\r\n];\r\n\r\n@Component({\r\n selector: 'siparis-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzDatePickerModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Sipariş Bilgileri\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n @for (m of lookup.musteriler(); track m._id) {\r\n \r\n
🏪
{{ m.firmaAdi }}@if (m.yetkili) { {{ m.yetkili }} }
\r\n
\r\n }\r\n \r\n \r\n 🏪{{ selected.nzLabel }}\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 @for (pr of projeler(); track pr._id) {\r\n \r\n
📂{{ pr.ad }}
\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
\r\n \r\n
\r\n \r\n @for (b of birimler; track b) {\r\n \r\n
{{ b }}
\r\n
\r\n }\r\n \r\n \r\n {{ selected.nzLabel }}\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 \r\n \r\n
₺TRY - Türk Lirası
\r\n
\r\n \r\n
$USD - Amerikan Doları
\r\n
\r\n \r\n
€EUR - Euro
\r\n
\r\n \r\n \r\n {{ selected?.nzValue === 'TRY' ? '₺' : selected?.nzValue === 'USD' ? '$' : '€' }}{{ selected?.nzLabel }}\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 \r\n
\r\n \r\n @for (d of durumSecenekleri; track d.deger) {\r\n \r\n
{{ d.etiket }}
\r\n
\r\n }\r\n \r\n \r\n {{ selected?.nzLabel }}\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .se {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n .se-baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 12px 16px;\r\n margin-bottom: 4px;\r\n border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .se-baslik-ikon {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: linear-gradient(135deg, #f97316, #fb923c);\r\n color: #fff;\r\n flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(249, 115, 22, 0.35);\r\n position: relative;\r\n }\r\n\r\n .se-baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .se-baslik span {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n letter-spacing: 0.3px;\r\n }\r\n\r\n .se-form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n padding: 4px 2px;\r\n }\r\n\r\n .se-ayirici {\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n opacity: 0.4;\r\n margin: 2px 0;\r\n }\r\n\r\n .form-satir {\r\n display: flex;\r\n gap: 12px;\r\n }\r\n\r\n .form-grup {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n }\r\n\r\n .form-grup label {\r\n font-size: 11px;\r\n font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label {\r\n color: var(--py-link, #1890ff);\r\n }\r\n\r\n .zorunlu {\r\n color: #ff4d4f;\r\n font-size: 13px;\r\n line-height: 1;\r\n vertical-align: middle;\r\n }\r\n\r\n .input-wrap {\r\n position: relative;\r\n }\r\n\r\n .input-glow {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 1px;\r\n background: linear-gradient(90deg, #f97316, #1890ff, #f97316);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n left 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n opacity 0.3s ease;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow {\r\n width: 100%;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n padding: 7px 11px;\r\n font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important;\r\n }\r\n\r\n .input-wrap ::ng-deep nz-input-number {\r\n width: 100%;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-input-number {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-input-number {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-input-number {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-picker {\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n border: 1px solid var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n width: 100% !important;\r\n font-size: 13px !important;\r\n transition: border-color .25s, box-shadow .25s, background .25s !important;\r\n }\r\n .input-wrap ::ng-deep .ant-picker input { font-size: 13px !important; color: var(--py-metin) !important; }\r\n\r\n .input-wrap:hover ::ng-deep .ant-picker {\r\n border-color: rgba(102,126,234,.3) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.01)) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-picker,\r\n .input-wrap ::ng-deep .ant-picker-focused {\r\n border-color: rgba(102,126,234,.5) !important;\r\n background: transparent !important;\r\n box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;\r\n }\r\n\r\n .durum-dot {\r\n display: inline-block;\r\n width: 8px;\r\n height: 8px;\r\n border-radius: 50%;\r\n margin-right: 6px;\r\n vertical-align: middle;\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class SiparisEditComponent extends FikoYTKokBilesenComponent {\r\n lookup = inject(HmiLookupService);\r\n private req = inject(FikoYTRequestService);\r\n parametreler = model();\r\n projeler = signal([]);\r\n\r\n constructor() {\r\n super();\r\n this.lookup.musterileriYukle();\r\n this.projeleriYukle();\r\n }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n async projeleriYukle(arama?: string) {\r\n const pipe: any[] = [\r\n { $match: { silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'veri.icerikler' } },\r\n { $match: { $or: [{ 'veri.icerikler.ek._secilenSetId': { $regex: '^hmi\\\\.proje' } }, { 'veri.icerikler.ek.bilesen': { $regex: '^proje' } }] } },\r\n { $sort: { _id: -1 } }, { $limit: 30 }, { $project: { _id: 1, 'veri.icerikler': 1 } }\r\n ];\r\n try {\r\n const sonuc = await this.req.aggregate('FikoYT.sistem.DB.hareketler.aggregate', pipe);\r\n this.projeler.set((sonuc || []).map((d: any) => {\r\n const ek = d.veri?.icerikler?.[0]?.ek || {};\r\n const ad = ek?.parametreler?.find((p: any) => p.ismi === 'projeAdi')?.degeri || ek?.projeAdi || '#' + String(d._id).slice(-4);\r\n return { _id: d._id, ad };\r\n }));\r\n this.CD.detectChanges();\r\n } catch { }\r\n }\r\n projeAra(terim: string) { this.projeleriYukle(terim); }\r\n\r\n sipDurumRenk(v: string): string {\r\n return DURUM_SECENEKLERI.find(d => d.deger === v)?.renk || '#faad14';\r\n }\r\n\r\n birimler = ['Adet', 'Kg', 'Ton', 'Metre', 'Takım'];\r\n paraBirimleri = ['TRY', 'USD', 'EUR'];\r\n durumSecenekleri = DURUM_SECENEKLERI;\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule, DecimalPipe } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nconst DURUM_MAP: Record = {\n bekliyor: { etiket: 'BEKLIYOR', renk: '#ff9500' }, onaylandi: { etiket: 'ONAYLANDI', renk: '#00ff88' },\n uretimde: { etiket: 'URETIMDE', renk: '#4488ff' }, hazir: { etiket: 'HAZIR', renk: '#00ffcc' },\n sevk_edildi: { etiket: 'SEVK', renk: '#aa44ff' }, iptal: { etiket: 'IPTAL', renk: '#ff4444' },\n};\n\n@Component({\n selector: 'siparis-kart', standalone: true, imports: [CommonModule, DecimalPipe], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
SİPARİŞ
\n
@if (p()?.musteri) {
{{ p().musteri }}
} @else {
MUSTERI
}{{ durumEtiket() }}
\n
{{ p()?.urunAdi || 'Isimsiz Urun' }}
\n
{{ p()?.miktar || 0 }} {{ p()?.birim || 'Adet' }}x{{ (p()?.birimFiyat || 0) | number:'1.2-2' }}
\n
TOPLAM
{{ toplam() | number:'1.2-2' }}{{ p()?.paraBirimi || 'TRY' }}
\n @if (p()?.teslimTarihi) {
{{ p().teslimTarihi }}
}\n @if (altOzet()['toplam']) {\n
\n {{ altOzet()['toplam'] }} kalem\n @if (altOzet()['toplamTutar']) { Toplam: {{ altOzet()['toplamTutar'] | number:'1.2-2' }} }\n
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #f97316; --accent-rgb: 249,115,22; }\n .gc-desen { opacity: .03; background-image: repeating-linear-gradient(60deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 8px); }\n .sk-ust { display: flex; justify-content: space-between; align-items: center; gap: 6px; }\n .sk-musteri { font-size: 10px; color: var(--py-metin-ikincil, #64748b); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .sk-durum { font-size: 8px; font-weight: 700; letter-spacing: .08em; padding: 2px 7px; border-radius: 2px; border: 1px solid; flex-shrink: 0; animation: badge-pulse 2s ease-in-out infinite; }\n .sk-urun-alan { display: flex; align-items: center; gap: 6px; }\n .sk-item-ikon { color: var(--accent); opacity: .5; flex-shrink: 0; }\n .sk-urun { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .sk-urun { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .sk-fiyat-satir { display: flex; align-items: baseline; gap: 4px; font-size: 11px; color: var(--py-metin-ikincil, #64748b); }\n .sk-miktar { font-weight: 600; color: #94a3b8; }\n .sk-x { color: #3a4250; }\n .sk-bf { color: #64748b; }\n .sk-toplam-alan { padding: 8px; border-radius: 4px; background: rgba(var(--accent-rgb),.04); border: 1px solid rgba(var(--accent-rgb),.08); box-shadow: inset 0 1px 3px rgba(0,0,0,.15); }\n .sk-toplam-etiket { font-size: 7px; font-weight: 600; letter-spacing: .1em; color: var(--py-metin-ikincil, #64748b); }\n .sk-toplam-satir { display: flex; align-items: baseline; gap: 4px; }\n .sk-toplam-deger { font-size: 22px; font-weight: 900; color: #fbbf24; font-variant-numeric: tabular-nums; line-height: 1; text-shadow: 0 0 12px rgba(251,191,36,.4); }\n .sk-toplam-birim { font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .sk-teslim { display: flex; align-items: center; gap: 4px; font-size: 9px; color: var(--py-metin-ikincil, #64748b); }\n .sk-teslim svg { opacity: .4; color: var(--accent); }\n `],\n})\nexport class SiparisKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'siparis').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n durumBilgi = computed(() => DURUM_MAP[this.p()?.durum] || DURUM_MAP['bekliyor']);\n durumRenk = computed(() => this.durumBilgi().renk);\n durumEtiket = computed(() => this.durumBilgi().etiket);\n toplam = computed(() => (this.p()?.miktar || 0) * (this.p()?.birimFiyat || 0));\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Hazirlaniyor': '#ff9500', 'Tamamlandi': '#52c41a', 'Iptal': '#ff4d4f' };\n\n@Component({\n selector: 'siparis-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('urunAdi') || 'Isimsiz Urun' }}
\n @if (deger('musteri')) {
{{ deger('musteri') }}
}\n @if (deger('miktar') || deger('birimFiyat')) {\n
{{ deger('miktar') || 0 }} x {{ deger('birimFiyat') || 0 }} {{ deger('paraBirimi') || 'TL' }}
\n }\n
\n
\n {{ toplam() }}\n @if (deger('durum')) { {{ deger('durum') }} }\n
\n
\n `,\n})\nexport class SiparisKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n toplam = computed(() => {\n const miktar = +(this.deger('miktar') || 0);\n const fiyat = +(this.deger('birimFiyat') || 0);\n const t = miktar * fiyat;\n return t ? t.toLocaleString('tr-TR') + ' ' + (this.deger('paraBirimi') || 'TL') : '-';\n });\n durumRenk = computed(() => DURUM_RENK[this.deger('durum')] || '#94a3b8');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { SiparisEditComponent } from './siparis-edit.component';\nimport { SiparisKartComponent } from './siparis-kart.component';\nimport { SiparisKartSadeComponent } from './siparis-kart-sade.component';\n\n@DinamikBilesen({\n id: 'siparis',\n baslik: 'Sipariş',\n aciklama: 'Sipariş kaydı',\n ikon: 'shopping-cart',\n kategori: 'satis',\n})\nclass Siparis {\n paylas_kutusu = SiparisEditComponent;\n paylasilmis_kart = SiparisKartComponent;\n paylasilmis_kart_sade = SiparisKartSadeComponent;\n hesaplamalar = {\n pipeline: [\n { $match: { _uid: '{{kartId}}', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'icerikDetay' } },\n { $unwind: { path: '$icerikDetay', preserveNullAndEmptyArrays: false } },\n { $group: {\n _id: null,\n toplam: { $sum: 1 },\n toplamTutar: { $sum: { $multiply: [{ $ifNull: ['$icerikDetay.ek.miktar', 0] }, { $ifNull: ['$icerikDetay.ek.birimFiyat', 0] }] } },\n toplamMiktar: { $sum: { $ifNull: ['$icerikDetay.ek.miktar', 0] } }\n }}\n ]\n };\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService, ILookupMusteri, ILookupTedarikci } from '../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'teklif-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule, NzDatePickerModule, NzInputNumberModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Teklif Bilgileri\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n @for (f of firmalar(); track f._id) {\r\n \r\n
🏭
{{ f.firmaAdi }}@if (f.yetkili) { {{ f.yetkili }} }
\r\n
\r\n }\r\n \r\n \r\n 🏭{{ selected.nzLabel }}\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 \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
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
₺TRY - Türk Lirası
\r\n
\r\n \r\n
$USD - Amerikan Doları
\r\n
\r\n \r\n
€EUR - Euro
\r\n
\r\n \r\n \r\n {{ selected?.nzValue === 'TRY' ? '₺' : selected?.nzValue === 'USD' ? '$' : '€' }}{{ selected?.nzLabel }}\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
\r\n \r\n \r\n
Taslak
\r\n
\r\n \r\n
Gönderildi
\r\n
\r\n \r\n
Kabul Edildi
\r\n
\r\n \r\n
Reddedildi
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .te-edit {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n .te-baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 12px 16px;\r\n margin-bottom: 4px;\r\n border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .te-baslik-ikon {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: linear-gradient(135deg, #1e3a5f, #2563eb);\r\n color: #fff;\r\n flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(30, 58, 95, 0.35);\r\n position: relative;\r\n }\r\n\r\n .te-baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .te-baslik span {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n letter-spacing: 0.3px;\r\n }\r\n\r\n .te-form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n padding: 4px 2px;\r\n }\r\n\r\n .te-ayirici {\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n opacity: 0.4;\r\n margin: 2px 0;\r\n }\r\n\r\n .form-satir {\r\n display: flex;\r\n gap: 12px;\r\n }\r\n\r\n .flex-1 { flex: 1; }\r\n\r\n .form-grup {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n }\r\n\r\n .form-grup label {\r\n font-size: 11px;\r\n font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label {\r\n color: var(--py-link, #1890ff);\r\n }\r\n\r\n .zorunlu {\r\n color: #ff4d4f;\r\n font-size: 13px;\r\n line-height: 1;\r\n vertical-align: middle;\r\n }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 1px;\r\n background: linear-gradient(90deg, #1e3a5f, #2563eb, #1e3a5f);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow {\r\n width: 100%;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n padding: 7px 11px;\r\n font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important;\r\n }\r\n\r\n .input-wrap ::ng-deep nz-date-picker {\r\n width: 100%;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-picker {\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n border: 1px solid var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n width: 100% !important;\r\n font-size: 13px !important;\r\n transition: border-color .25s, box-shadow .25s, background .25s !important;\r\n }\r\n .input-wrap ::ng-deep .ant-picker input { font-size: 13px !important; color: var(--py-metin) !important; }\r\n\r\n .input-wrap:hover ::ng-deep .ant-picker {\r\n border-color: rgba(102,126,234,.3) !important;\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.01)) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-picker,\r\n .input-wrap ::ng-deep .ant-picker-focused {\r\n border-color: rgba(102,126,234,.5) !important;\r\n background: transparent !important;\r\n box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important;\r\n }\r\n\r\n .input-wrap ::ng-deep nz-input-number {\r\n width: 100%;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-input-number {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-input-number {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-input-number {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class TeklifEditComponent extends FikoYTKokBilesenComponent {\r\n private lookup = inject(HmiLookupService);\r\n firmalar = signal<(ILookupMusteri | ILookupTedarikci)[]>([]);\r\n parametreler = model();\r\n\r\n constructor() { super(); this.lookup.firmalariYukle().then(l => this.firmalar.set(l)); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n tekDurumRenk(v: string): string {\r\n const m: Record = { 'taslak': '#94a3b8', 'gonderildi': '#3b82f6', 'kabul': '#22c55e', 'reddedildi': '#ef4444' };\r\n return m[v] || '#94a3b8';\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule, DecimalPipe } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nconst DURUM_RENK: Record = {\n taslak: { renk: '#64748b', etiket: 'TASLAK' }, gonderildi: { renk: '#4488ff', etiket: 'GONDERILDI' },\n kabul: { renk: '#00ff44', etiket: 'KABUL' }, reddedildi: { renk: '#ff4444', etiket: 'REDDEDILDI' },\n};\n\n@Component({\n selector: 'teklif-kart', standalone: true, imports: [CommonModule, DecimalPipe], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
TEKLİF
\n
@if (p()?.firma) {
{{ p().firma }}
}
{{ p()?.urunHizmet || 'Isimsiz Teklif' }}
\n
{{ toplamFiyat() | number:'1.2-2' }}{{ p()?.paraBirimi || 'TRY' }}
\n
{{ durumStil().etiket }}
\n @if (kalanGun() > 0) {
{{ kalanGun() }} GUN KALDI
}\n @if (altOzet()['revizyon']) {\n
{{ altOzet()['revizyon'].toplam }} revizyon
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #3b82f6; --accent-rgb: 59,130,246; }\n .gc-icerik { gap: 8px; }\n .gc-desen { opacity: .025; background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 0L20 10L10 20L0 10Z' fill='none' stroke='%233b82f6' stroke-width='.5' opacity='.3'/%3E%3C/svg%3E\"); background-size: 20px 20px; }\n .tf-ust { display: flex; align-items: flex-start; gap: 8px; }\n .tf-dosya-ikon { width: 32px; height: 32px; border-radius: 4px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(var(--accent-rgb),.06); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.12); }\n .tf-firma-alan { flex: 1; min-width: 0; }\n .tf-firma { font-size: 9px; color: var(--py-metin-ikincil, #64748b); text-transform: uppercase; letter-spacing: .06em; }\n .tf-urun { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .tf-urun { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .tf-fiyat-alan { display: flex; align-items: baseline; gap: 4px; }\n .tf-fiyat-deger { font-size: 22px; font-weight: 900; color: var(--py-metin, #e2e8f0); font-variant-numeric: tabular-nums; line-height: 1; }\n .tf-fiyat-birim { font-size: 9px; color: var(--py-metin-ikincil, #64748b); text-transform: uppercase; }\n .tf-durum-bar { --_dr: #64748b; padding: 6px 10px; border-radius: 4px; background: rgba(255,255,255,.02); border: 1px solid color-mix(in srgb, var(--_dr) 15%, transparent); display: flex; flex-direction: column; gap: 4px; }\n .tf-durum-etiket { font-size: 9px; font-weight: 700; letter-spacing: .08em; color: var(--_dr); text-shadow: 0 0 6px color-mix(in srgb, var(--_dr) 30%, transparent); animation: badge-pulse 2s ease-in-out infinite; }\n .tf-durum-cizgi { height: 2px; border-radius: 1px; background: linear-gradient(90deg, var(--_dr), color-mix(in srgb, var(--_dr) 30%, transparent)); }\n .tf-gecerlilik { display: flex; align-items: center; gap: 4px; font-size: 9px; color: var(--py-metin-ikincil, #64748b); letter-spacing: .06em; }\n .tf-gecerlilik svg { opacity: .4; color: var(--accent); }\n `],\n})\nexport class TeklifKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'teklif').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n durumStil = computed(() => DURUM_RENK[this.p()?.durum] || DURUM_RENK['taslak']);\n toplamFiyat = computed(() => (this.p()?.miktar || 0) * (this.p()?.birimFiyat || 0));\n kalanGun = computed(() => { const t = this.p()?.gecerlilikTarihi; if (!t) return 0; return Math.max(0, Math.ceil((new Date(t).getTime() - Date.now()) / 86400000)); });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst DURUM_RENK: Record = { 'Taslak': '#94a3b8', 'Gonderildi': '#1890ff', 'Kabul Edildi': '#52c41a', 'Reddedildi': '#ff4d4f' };\n\n@Component({\n selector: 'teklif-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('urunHizmet') || 'Isimsiz Teklif' }}
\n @if (deger('firma')) {
{{ deger('firma') }}
}\n @if (deger('fiyat')) {
{{ deger('fiyat') }} {{ deger('paraBirimi') || 'TL' }}
}\n
\n
\n @if (deger('durum')) { {{ deger('durum') }} }\n @if (deger('gecerlilikTarihi')) { {{ deger('gecerlilikTarihi') | date:'dd.MM.yyyy' }} }\n
\n
\n `,\n})\nexport class TeklifKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n durumRenk = computed(() => DURUM_RENK[this.deger('durum')] || '#94a3b8');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { TeklifEditComponent } from './teklif-edit.component';\nimport { TeklifKartComponent } from './teklif-kart.component';\nimport { TeklifKartSadeComponent } from './teklif-kart-sade.component';\n\n@DinamikBilesen({\n id: 'teklif',\n baslik: 'Teklif',\n aciklama: 'Teklif hazırla',\n ikon: 'file-text',\n kategori: 'satis',\n})\nclass Teklif {\n paylas_kutusu = TeklifEditComponent;\n paylasilmis_kart = TeklifKartComponent;\n paylasilmis_kart_sade = TeklifKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'musteri-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Müşteri Bilgileri\r\n
\r\n\r\n
\r\n
\r\n
\r\n @if (logoOnizleme()) {\r\n \r\n } @else {\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n \r\n @if (p()?.logoUrl || p()?._logoBase64) {\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
\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
\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
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
Otomotiv
\r\n
\r\n \r\n
Makine
\r\n
\r\n \r\n
İnşaat
\r\n
\r\n \r\n
Enerji
\r\n
\r\n \r\n
Savunma
\r\n
\r\n \r\n
Gıda
\r\n
\r\n \r\n
Diğer
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .me-edit {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0;\r\n padding: 0;\r\n }\r\n\r\n .me-baslik {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 12px 16px;\r\n margin-bottom: 4px;\r\n border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .me-baslik-ikon {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: linear-gradient(135deg, #0d9488, #14b8a6);\r\n color: #fff;\r\n flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(13, 148, 136, 0.35);\r\n position: relative;\r\n }\r\n\r\n .me-baslik-ikon::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .me-baslik span {\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: var(--py-metin, #333);\r\n letter-spacing: 0.3px;\r\n }\r\n\r\n .me-form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n padding: 4px 2px;\r\n }\r\n\r\n .me-ayirici {\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n opacity: 0.4;\r\n margin: 2px 0;\r\n }\r\n\r\n .form-satir {\r\n display: flex;\r\n gap: 12px;\r\n }\r\n\r\n .flex-1 { flex: 1; }\r\n\r\n .form-grup {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n }\r\n\r\n .form-grup label {\r\n font-size: 11px;\r\n font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase;\r\n letter-spacing: 0.6px;\r\n padding-left: 2px;\r\n transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label {\r\n color: var(--py-link, #1890ff);\r\n }\r\n\r\n .zorunlu {\r\n color: #ff4d4f;\r\n font-size: 13px;\r\n line-height: 1;\r\n vertical-align: middle;\r\n }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 2px;\r\n border-radius: 1px;\r\n background: linear-gradient(90deg, #0d9488, #14b8a6, #0d9488);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow {\r\n width: 100%;\r\n left: 0;\r\n opacity: 1;\r\n }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px;\r\n padding: 7px 11px;\r\n font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3);\r\n background: var(--py-arkaplan-hover, #f5f5f5);\r\n }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus {\r\n border-color: var(--py-kenarlik-aktif, #1890ff);\r\n background: var(--py-input-arka, #fff);\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);\r\n outline: none;\r\n }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-hover, #b3b3b3) !important;\r\n background: var(--py-arkaplan-hover, #f5f5f5) !important;\r\n }\r\n\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector {\r\n border-color: var(--py-kenarlik-aktif, #1890ff) !important;\r\n background: var(--py-input-arka, #fff) !important;\r\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important;\r\n }\r\n\r\n .logo-alan { display: flex; align-items: center; gap: 16px; padding: 12px 0; margin-bottom: 8px; }\r\n .logo-onizleme { width: 72px; height: 72px; border-radius: 12px; overflow: hidden; flex-shrink: 0; border: 2px dashed var(--py-kenarlik, #d9d9d9); display: flex; align-items: center; justify-content: center; background: var(--py-arkaplan-soluk, rgba(0,0,0,.02)); transition: border-color .2s; }\r\n .logo-onizleme:hover { border-color: var(--py-link, #1890ff); }\r\n .logo-img { width: 100%; height: 100%; object-fit: contain; }\r\n .logo-placeholder { color: var(--py-metin-devre-disi, #bbb); }\r\n .logo-islemler { display: flex; flex-direction: column; gap: 6px; }\r\n .logo-sec-btn { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 5px 12px; border-radius: 6px; font-size: 12px; font-weight: 500; background: linear-gradient(135deg, rgba(20,184,166,.1), rgba(20,184,166,.05)); color: #14b8a6; border: 1px solid rgba(20,184,166,.2); transition: all .2s; }\r\n .logo-sec-btn:hover { background: rgba(20,184,166,.15); }\r\n .logo-sil-btn { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; padding: 4px 10px; border-radius: 6px; font-size: 11px; background: transparent; color: #ef4444; border: 1px solid rgba(239,68,68,.2); transition: all .2s; }\r\n .logo-sil-btn:hover { background: rgba(239,68,68,.08); }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class MusteriEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n\r\n constructor() { super(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n sektorRenk(v: string): string {\r\n const m: Record = { 'Otomotiv': '#3b82f6', 'Makine': '#f59e0b', 'İnşaat': '#ef4444', 'Enerji': '#22c55e', 'Savunma': '#6366f1', 'Gıda': '#ec4899', 'Diğer': '#6b7280' };\r\n return m[v] || '#6b7280';\r\n }\r\n\r\n logoOnizleme = computed(() => {\r\n const ek = this.p();\r\n return ek?._logoBase64 || ek?.logoUrl || '';\r\n });\r\n\r\n logoSec(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const dosya = input?.files?.[0];\r\n if (!dosya) return;\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n const base64 = reader.result as string;\r\n this.guncelle('logoUrl', base64);\r\n this.guncelle('_logoBase64', base64);\r\n };\r\n reader.readAsDataURL(dosya);\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nconst SEKTOR_RENK: Record = { Otomotiv: '#4488ff', Makine: '#aa44ff', 'Insaat': '#ff9500', Enerji: '#00ff88', Savunma: '#ff4444', 'Gida': '#ff00ff', 'Diger': '#64748b' };\n\n@Component({\n selector: 'musteri-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
MÜŞTERİ
\n
@if (logoUrl()) { } @else { }
{{ p()?.firmaAdi || 'Isimsiz Musteri' }}
@if (p()?.sektor) { {{ p().sektor }} }
\n @if (p()?.yetkiliKisi) {
{{ p().yetkiliKisi }}
}\n @if (p()?.telefon || p()?.email) {
@if (p()?.telefon) {
{{ p().telefon }}
}@if (p()?.email) {
{{ p().email }}
}
}\n
{{ ist().siparis }}SIPARIS
{{ ist().teklif }}TEKLIF
\n @if (altOzet()['gorusme-notu']) {\n
{{ altOzet()['gorusme-notu'].toplam }} gorusme
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #14b8a6; --accent-rgb: 20,184,166; }\n .gc-icerik { gap: 8px; }\n .gc-desen { opacity: .03; background-image: radial-gradient(circle at 2px 2px, rgba(var(--accent-rgb),.3) 1px, transparent 0); background-size: 20px 20px; }\n .mk-ust { display: flex; align-items: flex-start; gap: 10px; }\n .mk-emblem { width: 38px; height: 38px; border-radius: 6px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(var(--accent-rgb),.06); color: var(--accent); border: 1px solid rgba(var(--accent-rgb),.15); box-shadow: 0 4px 12px rgba(0,0,0,.2), inset 0 1px 0 rgba(var(--accent-rgb),.1); overflow: hidden; }\n .mk-logo { width: 100%; height: 100%; object-fit: contain; }\n .mk-firma-alan { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }\n .mk-firma { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .mk-firma { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .mk-sektor { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 6px; border-radius: 2px; border: 1px solid; width: fit-content; animation: badge-pulse 2s ease-in-out infinite; }\n .mk-kisi { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--accent); }\n .mk-kisi svg { opacity: .5; }\n .mk-iletisim { display: flex; flex-direction: column; gap: 3px; }\n .mk-row { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .mk-row svg { color: var(--accent); opacity: .4; flex-shrink: 0; }\n .mk-row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .mk-stat-kutular { display: flex; gap: 6px; }\n .mk-stat-kutu { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border-radius: 4px; box-shadow: inset 0 1px 3px rgba(0,0,0,.15); backdrop-filter: blur(4px); }\n .mk-stat-kutu--teal { background: rgba(var(--accent-rgb),.04); border: 1px solid rgba(var(--accent-rgb),.08); }\n .mk-stat-kutu--amber { background: rgba(255,149,0,.04); border: 1px solid rgba(255,149,0,.08); }\n .mk-stat-val { font-size: 18px; font-weight: 900; color: var(--py-metin, #e2e8f0); font-variant-numeric: tabular-nums; line-height: 1; }\n .mk-stat-lbl { font-size: 7px; font-weight: 600; letter-spacing: .08em; color: var(--py-metin-ikincil, #64748b); }\n `],\n})\nexport class MusteriKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'musteri').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n logoUrl = computed(() => this.p()?._logoBase64 || this.p()?.logoUrl || '');\n ist = signal({ siparis: 0, teklif: 0 });\n sektorRenk = computed(() => SEKTOR_RENK[this.p()?.sektor] || '#64748b');\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\n@Component({\n selector: 'musteri-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Müşteri Tanımı
\n
\n
\n @if (deger('logo')) {\n \n } @else {\n 🏢\n }\n
\n
{{ deger('firmaAdi') || 'Isimsiz Musteri' }}
\n @if (deger('yetkili')) {
{{ deger('yetkili') }}
}\n @if (deger('sektor')) { {{ deger('sektor') }} }\n
\n
\n `,\n})\nexport class MusteriKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { MusteriEditComponent } from './musteri-edit.component';\nimport { MusteriKartComponent } from './musteri-kart.component';\nimport { MusteriKartSadeComponent } from './musteri-kart-sade.component';\n\n@DinamikBilesen({\n id: 'musteri',\n baslik: 'Müşteri',\n aciklama: 'Müşteri kaydı',\n ikon: 'team',\n kategori: 'satis',\n})\nclass Musteri {\n paylas_kutusu = MusteriEditComponent;\n paylasilmis_kart = MusteriKartComponent;\n paylasilmis_kart_sade = MusteriKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'is-emri-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzDatePickerModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n İş Emri Bilgileri\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 @for (m of lookup.makineler(); track m._id) {\r\n \r\n
⚙️
{{ m.makineAdi }}{{ m.makineKodu || '' }}{{ m.tip ? ' · ' + m.tip : '' }}
\r\n
\r\n }\r\n \r\n \r\n ⚙️{{ selected.nzLabel }}\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 \r\n
Adet
\r\n
\r\n \r\n
Kg
\r\n
\r\n \r\n
Metre
\r\n
\r\n \r\n
Litre
\r\n
\r\n \r\n
Ton
\r\n
\r\n \r\n \r\n {{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n @for (o of oncelikler; track o.deger) {\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
\r\n \r\n @for (kisi of lookup.personeller(); track kisi._id) {\r\n \r\n
👤
{{ kisi.ad }} {{ kisi.soyad }}{{ kisi.unvan || kisi.gorev || '' }}{{ kisi.sicilNo ? ' · ' + kisi.sicilNo : '' }}
\r\n
\r\n }\r\n \r\n \r\n 👤{{ selected.nzLabel }}\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .ie-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .ie-baslik {\r\n display: flex; align-items: center; gap: 10px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .ie-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #1e3a5f, #2563eb);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);\r\n position: relative;\r\n }\r\n\r\n .ie-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .ie-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .ie-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n\r\n .ie-ayirici {\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n opacity: 0.4; margin: 2px 0;\r\n }\r\n\r\n .form-satir { display: flex; gap: 12px; }\r\n .f1 { flex: 1; }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase; letter-spacing: 0.6px;\r\n padding-left: 2px; transition: color 0.2s ease;\r\n }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n\r\n .input-wrap { position: relative; }\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #1e3a5f, #2563eb, #1e3a5f);\r\n transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px; padding: 7px 11px; font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover { border-color: var(--py-kenarlik-hover, #b3b3b3); background: var(--py-arkaplan-hover, #f5f5f5); }\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(24,144,255,0.1); outline: none; }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap:hover ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; background: var(--py-arkaplan-hover, #f5f5f5) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; background: var(--py-input-arka, #fff) !important; box-shadow: 0 0 0 2px rgba(24,144,255,0.1) !important; }\r\n\r\n .input-wrap ::ng-deep .ant-picker {\r\n background: var(--py-arkaplan-hover, rgba(0,0,0,.02)) !important;\r\n border: 1px solid var(--py-kenarlik, rgba(0,0,0,.1)) !important;\r\n border-radius: 8px !important;\r\n min-height: 34px;\r\n width: 100% !important;\r\n font-size: 13px !important;\r\n transition: border-color .25s, box-shadow .25s, background .25s !important;\r\n }\r\n .input-wrap ::ng-deep .ant-picker input { font-size: 13px !important; color: var(--py-metin) !important; }\r\n .input-wrap:hover ::ng-deep .ant-picker { border-color: rgba(102,126,234,.3) !important; background: var(--py-arkaplan-hover, rgba(0,0,0,.01)) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-picker,\r\n .input-wrap ::ng-deep .ant-picker-focused { border-color: rgba(102,126,234,.5) !important; background: transparent !important; box-shadow: 0 0 0 2px rgba(102,126,234,.08) !important; }\r\n\r\n .input-wrap ::ng-deep .ant-input-number {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap:hover ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-aktif, #1890ff) !important; box-shadow: 0 0 0 2px rgba(24,144,255,0.1) !important; }\r\n\r\n .oncelik-secici { display: flex; gap: 8px; }\r\n .oncelik-btn {\r\n --_o: #52c41a;\r\n flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;\r\n padding: 8px 12px; border-radius: 8px; border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n font-size: 12px; font-weight: 500; color: var(--py-metin-ikincil, rgba(0,0,0,0.65));\r\n cursor: pointer; transition: all 0.25s ease;\r\n }\r\n .oncelik-btn:hover { border-color: var(--_o); color: var(--_o); }\r\n .oncelik-btn.secili {\r\n border-color: var(--_o); color: var(--_o);\r\n background: color-mix(in srgb, var(--_o) 8%, transparent);\r\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--_o) 12%, transparent);\r\n }\r\n .oncelik-dot {\r\n width: 8px; height: 8px; border-radius: 50%; background: var(--_o);\r\n box-shadow: 0 0 6px var(--_o);\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class IsEmriEditComponent extends FikoYTKokBilesenComponent {\r\n lookup = inject(HmiLookupService);\r\n parametreler = model();\r\n\r\n constructor() { super(); this.lookup.personelleriYukle(); this.lookup.makineleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n oncelikler = [\r\n { deger: 'Normal', renk: '#52c41a' },\r\n { deger: 'Acil', renk: '#fa8c16' },\r\n { deger: 'Kritik', renk: '#ff4d4f' },\r\n ];\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\n@Component({\n selector: 'is-emri-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
İŞ EMRİ
\n
{{ p()?.urunAdi || 'Isimsiz' }}
{{ p()?.oncelik || 'Normal' }}
\n @if (p()?.sorumlu) {
{{ p().sorumlu }}
}\n @if (p()?.miktar) {
{{ p().miktar }} {{ p()?.birim || 'Adet' }}
}\n
\n
ILERLEME
0%
\n
VERIM
0%
\n
\n @if (altOzet()['uretim-kaydi']) {\n
{{ altOzet()['uretim-kaydi'].toplam }} uretim kaydi
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #eab308; --accent-rgb: 234,179,8; }\n .gc-desen { opacity: .03; background-image: repeating-linear-gradient(135deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 10px); }\n .gc-stat-isim { width: 56px; }\n .ie-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 6px; }\n .ie-baslik { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .gc:hover .ie-baslik { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .ie-oncelik { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; flex-shrink: 0; background: var(--accent); box-shadow: 0 0 10px rgba(var(--accent-rgb),.4); animation: badge-pulse 2s ease-in-out infinite; }\n .ie-sorumlu { display: flex; align-items: center; gap: 4px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .ie-sorumlu svg { opacity: .4; }\n .ie-miktar { font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n `],\n})\nexport class IsEmriKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'is-emri').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n oncelikRenk = computed(() => { switch (this.p()?.oncelik) { case 'Acil': return '#ff6600'; case 'Kritik': return '#ff0033'; default: return '#eab308'; } });\n oncelikRgb = computed(() => { switch (this.p()?.oncelik) { case 'Acil': return '255,102,0'; case 'Kritik': return '255,0,51'; default: return '234,179,8'; } });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst ONCELIK_RENK: Record = { 'Dusuk': '#94a3b8', 'Normal': '#1890ff', 'Yuksek': '#ff9500', 'Acil': '#ff4d4f' };\n\n@Component({\n selector: 'is-emri-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('urunAdi') || 'Isimsiz Is Emri' }}
\n @if (deger('makine')) {
{{ deger('makine') }}
}\n @if (deger('sorumlu')) {
{{ deger('sorumlu') }}
}\n @if (ilerleme() > 0) {\n
\n }\n
\n
\n @if (deger('oncelik')) { {{ deger('oncelik') }} }\n
\n
\n `,\n})\nexport class IsEmriKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n oncelikRenk = computed(() => ONCELIK_RENK[this.deger('oncelik')] || '#1890ff');\n ilerleme = computed(() => +(this.deger('ilerleme') || this.p()?._hesap?.ilerleme || 0));\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { IsEmriEditComponent } from './is-emri-edit.component';\nimport { IsEmriKartComponent } from './is-emri-kart.component';\nimport { IsEmriKartSadeComponent } from './is-emri-kart-sade.component';\n\n@DinamikBilesen({\n id: 'is-emri',\n baslik: 'İş Emri',\n aciklama: 'İş emri oluştur',\n ikon: 'file-done',\n kategori: 'uretim',\n})\nclass IsEmri {\n paylas_kutusu = IsEmriEditComponent;\n paylasilmis_kart = IsEmriKartComponent;\n paylasilmis_kart_sade = IsEmriKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'kalite-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Kalite Kontrol Bilgileri\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\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
\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 @for (s of sonuclar; track s.deger) {\r\n \r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (kisi of lookup.personeller(); track kisi._id) {\r\n \r\n
👤
{{ kisi.ad }} {{ kisi.soyad }}{{ kisi.unvan || kisi.gorev || '' }}{{ kisi.sicilNo ? ' · ' + kisi.sicilNo : '' }}
\r\n
\r\n }\r\n \r\n \r\n 👤{{ selected.nzLabel }}\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .ke-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .ke-baslik {\r\n display: flex; align-items: center; gap: 10px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .ke-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #166534, #22c55e);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(34, 197, 94, 0.35);\r\n position: relative;\r\n }\r\n\r\n .ke-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%;\r\n animation: shimmer 3s infinite linear;\r\n pointer-events: none;\r\n }\r\n\r\n .ke-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .ke-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n\r\n .ke-ayirici {\r\n height: 1px;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n opacity: 0.4; margin: 2px 0;\r\n }\r\n\r\n .form-satir { display: flex; gap: 12px; }\r\n .f1 { flex: 1; }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45));\r\n text-transform: uppercase; letter-spacing: 0.6px;\r\n padding-left: 2px; transition: color 0.2s ease;\r\n }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n\r\n .input-wrap { position: relative; }\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #166534, #22c55e, #166534);\r\n transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n border-radius: 8px; padding: 7px 11px; font-size: 13px;\r\n color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover { border-color: var(--py-kenarlik-hover, #b3b3b3); background: var(--py-arkaplan-hover, #f5f5f5); }\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(24,144,255,0.1); outline: none; }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap:hover ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; background: var(--py-arkaplan-hover, #f5f5f5) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; background: var(--py-input-arka, #fff) !important; box-shadow: 0 0 0 2px rgba(24,144,255,0.1) !important; }\r\n\r\n .input-wrap ::ng-deep .ant-input-number {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap:hover ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-aktif, #1890ff) !important; box-shadow: 0 0 0 2px rgba(24,144,255,0.1) !important; }\r\n\r\n .sonuc-secici { display: flex; gap: 8px; }\r\n .sonuc-btn {\r\n --_s: #22c55e;\r\n flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;\r\n padding: 8px 12px; border-radius: 8px; border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n font-size: 11px; font-weight: 500; color: var(--py-metin-ikincil, rgba(0,0,0,0.65));\r\n cursor: pointer; transition: all 0.25s ease; white-space: nowrap;\r\n }\r\n .sonuc-btn:hover { border-color: var(--_s); color: var(--_s); }\r\n .sonuc-btn.secili {\r\n border-color: var(--_s); color: var(--_s);\r\n background: color-mix(in srgb, var(--_s) 8%, transparent);\r\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--_s) 12%, transparent);\r\n }\r\n .sonuc-dot {\r\n width: 8px; height: 8px; border-radius: 50%; background: var(--_s);\r\n box-shadow: 0 0 6px var(--_s);\r\n }\r\n\r\n @keyframes shimmer {\r\n 0% { background-position: -200% center; }\r\n 100% { background-position: 200% center; }\r\n }\r\n `],\r\n})\r\nexport class KaliteEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n\r\n constructor() { super(); this.lookup.personelleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n sonuclar = [\r\n { deger: 'Uygun', renk: '#22c55e' },\r\n { deger: 'Uygun Değil', renk: '#ff4d4f' },\r\n { deger: 'Şartlı Kabul', renk: '#fa8c16' },\r\n ];\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\n@Component({\n selector: 'kalite-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
KALİTE KONTROL
\n
{{ p()?.urunAdi || 'Isimsiz' }}
@if (p()?.partNo) {
{{ p().partNo }}
}
\n
@if (p()?.sonuc === 'Uygun Degil') { } @else { }{{ sonucLabel() }}
\n
\n
OLCU vs TOLERANS{{ p()?.olcuDeger ?? '-' }}
\n
{{ p()?.toleransAlt ?? '-' }}{{ p()?.toleransUst ?? '-' }}
\n
\n @if (altOzet()['toplam']) {\n
\n {{ altOzet()['toplam'] }} olcum\n @if (altOzet()['uygun']) { {{ altOzet()['uygun'] }} uygun }\n @if (altOzet()['uygunsuz']) { {{ altOzet()['uygunsuz'] }} uygunsuz }\n
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #22c55e; --accent-rgb: 34,197,94; }\n .gc-icerik { gap: 10px; }\n .gc-desen { opacity: .03; background-image: repeating-linear-gradient(0deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 6px), repeating-linear-gradient(90deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 6px); }\n .kk-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }\n .kk-bilgi { flex: 1; min-width: 0; }\n .kk-urun { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .kk-urun { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .kk-part { font-size: 9px; color: var(--py-metin-ikincil, #64748b); margin-top: 1px; }\n .kk-sonuc-damga { display: flex; align-items: center; gap: 4px; flex-shrink: 0; padding: 4px 10px; border-radius: 3px; background: var(--accent); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 0 14px rgba(var(--accent-rgb),.4), inset 0 1px 0 rgba(255,255,255,.15); animation: badge-pulse 2s ease-in-out infinite; }\n .kk-tolerans-alan { display: flex; flex-direction: column; gap: 6px; }\n .kk-tolerans-baslik { display: flex; justify-content: space-between; align-items: center; }\n .kk-tolerans-etiket { font-size: 8px; font-weight: 600; letter-spacing: .06em; color: var(--py-metin-ikincil, #64748b); }\n .kk-olcu-deger { font-size: 20px; font-weight: 900; color: var(--py-metin, #e2e8f0); font-variant-numeric: tabular-nums; text-shadow: 0 0 8px rgba(var(--accent-rgb),.2); }\n .kk-tolerans-bar { display: flex; flex-direction: column; gap: 4px; }\n .kk-tolerans-arka { position: relative; height: 8px; border-radius: 4px; background: rgba(255,255,255,.04); box-shadow: inset 0 1px 2px rgba(0,0,0,.3); }\n .kk-tolerans-ok { position: absolute; top: 0; height: 100%; border-radius: 4px; background: rgba(var(--accent-rgb),.15); }\n .kk-tolerans-isaretci { position: absolute; top: -3px; width: 14px; height: 14px; border-radius: 50%; background: var(--accent); transform: translateX(-50%); box-shadow: 0 0 12px var(--accent), inset 0 1px 0 rgba(255,255,255,.2); transition: left .6s cubic-bezier(.22,1,.36,1); }\n .kk-tolerans-etiketler { display: flex; justify-content: space-between; font-size: 9px; color: var(--py-metin-ikincil, #64748b); font-variant-numeric: tabular-nums; }\n `],\n})\nexport class KaliteKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'kalite').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n sonucRenk = computed(() => { switch (this.p()?.sonuc) { case 'Uygun Degil': return '#ef4444'; case 'Sartli Kabul': return '#f59e0b'; default: return '#22c55e'; } });\n sonucRgb = computed(() => { switch (this.p()?.sonuc) { case 'Uygun Degil': return '239,68,68'; case 'Sartli Kabul': return '245,158,11'; default: return '34,197,94'; } });\n sonucLabel = computed(() => this.p()?.sonuc || 'Uygun');\n barMin = computed(() => 10);\n barGenislik = computed(() => 80);\n barKonum = computed(() => { const ek = this.p(); const alt = ek?.toleransAlt; const ust = ek?.toleransUst; const d = ek?.olcuDeger; if (alt == null || ust == null || d == null) return 50; const a = ust - alt; if (a <= 0) return 50; return Math.max(5, Math.min(95, 10 + ((d - alt) / a) * 80)); });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst SONUC_RENK: Record = { 'Uygun': '#52c41a', 'Uygun Degil': '#ff4d4f', 'Sartli Kabul': '#ff9500' };\n\n@Component({\n selector: 'kalite-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('urunAdi') || 'Isimsiz' }}
\n @if (deger('partNo')) {
{{ deger('partNo') }}
}\n @if (deger('olcuDeger')) {\n
{{ deger('olcuDeger') }} @if (deger('tolerans')) { ±{{ deger('tolerans') }} }
\n }\n
\n
\n @if (deger('sonuc')) { {{ deger('sonuc') }} }\n
\n
\n `,\n})\nexport class KaliteKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n sonucRenk = computed(() => SONUC_RENK[this.deger('sonuc')] || '#ff9500');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { KaliteEditComponent } from './kalite-edit.component';\nimport { KaliteKartComponent } from './kalite-kart.component';\nimport { KaliteKartSadeComponent } from './kalite-kart-sade.component';\n\n@DinamikBilesen({\n id: 'kalite',\n baslik: 'Kalite Kontrol',\n aciklama: 'Kalite kontrol formu',\n ikon: 'safety-certificate',\n kategori: 'uretim',\n})\nclass Kalite {\n paylas_kutusu = KaliteEditComponent;\n paylasilmis_kart = KaliteKartComponent;\n paylasilmis_kart_sade = KaliteKartSadeComponent;\n hesaplamalar = {\n pipeline: [\n { $match: { _uid: '{{kartId}}', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'icerikDetay' } },\n { $unwind: { path: '$icerikDetay', preserveNullAndEmptyArrays: false } },\n { $group: {\n _id: null,\n toplam: { $sum: 1 },\n uygun: { $sum: { $cond: [{ $eq: ['$icerikDetay.ek.sonuc', 'Uygun'] }, 1, 0] } },\n uygunsuz: { $sum: { $cond: [{ $eq: ['$icerikDetay.ek.sonuc', 'Uygun Degil'] }, 1, 0] } },\n ortalamaOlcu: { $avg: { $ifNull: ['$icerikDetay.ek.olcuDeger', 0] } }\n }}\n ]\n };\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../../services/hmi-lookup.service';\r\n\r\n@Component({\r\n selector: 'uretim-sayac-edit',\r\n standalone: true,\r\n imports: [DecimalPipe, FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Üretim Sayacı\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n @for (m of lookup.makineler(); track m._id) {\r\n \r\n
⚙️
{{ m.makineAdi }}{{ m.makineKodu || '' }}{{ m.tip ? ' · ' + m.tip : '' }}
\r\n
\r\n }\r\n \r\n \r\n ⚙️{{ selected.nzLabel }}\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 \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 \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 {{ verimlilik() | number:'1.1-1' }}%\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .us-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .us-baslik {\r\n display: flex; align-items: center; gap: 10px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .us-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #7c3aed, #a855f7);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);\r\n position: relative;\r\n }\r\n\r\n .us-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%; animation: shimmer 3s infinite linear; pointer-events: none;\r\n }\r\n\r\n .us-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .us-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n\r\n .us-ayirici {\r\n height: 1px; opacity: 0.4; margin: 2px 0;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #7c3aed, #1890ff, #7c3aed);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px;\r\n padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover { border-color: var(--py-kenarlik-hover, #b3b3b3); background: var(--py-arkaplan-hover, #f5f5f5); }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1); outline: none; }\r\n\r\n .input-wrap ::ng-deep .ant-input-number {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-aktif, #1890ff) !important; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important; }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap:hover ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; background: var(--py-arkaplan-hover, #f5f5f5) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; background: var(--py-input-arka, #fff) !important; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important; }\r\n\r\n .verimlilik-gosterge {\r\n display: flex; align-items: center; gap: 12px;\r\n padding: 10px 14px; border-radius: 10px;\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n }\r\n\r\n .verimlilik-bar { flex: 1; height: 8px; border-radius: 4px; background: rgba(0,0,0,0.06); overflow: hidden; }\r\n\r\n .verimlilik-dolgu {\r\n height: 100%; border-radius: 4px;\r\n background: linear-gradient(90deg, #7c3aed, #a855f7);\r\n transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);\r\n }\r\n\r\n .verimlilik-deger { font-size: 14px; font-weight: 700; color: #7c3aed; min-width: 52px; text-align: right; }\r\n\r\n @keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }\r\n `],\r\n})\r\nexport class UretimSayacEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n\r\n constructor() { super(); this.lookup.makineleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n verimlilik = computed(() => {\r\n const ek = this.p();\r\n if (!ek?.hedef || ek.hedef <= 0) return 0;\r\n return Math.min(((ek.gerceklesen || 0) / ek.hedef) * 100, 100);\r\n });\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n\r\n guncelleHedef(deger: number) {\r\n this.guncelle('hedef', deger);\r\n }\r\n\r\n guncelleGerceklesen(deger: number) {\r\n this.guncelle('gerceklesen', deger);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule, DecimalPipe } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\n@Component({\n selector: 'uretim-sayac-kart', standalone: true, imports: [CommonModule, DecimalPipe], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
ÜRETİM SAYACI
\n
{{ p()?.tezgah || 'Tezgah' }}
= 50 && verimlilik() < 80\" [class.us-verim--yuksek]=\"verimlilik() >= 80\">{{ verimlilik() | number:'1.0-0' }}%
\n @if (p()?.urun) {
{{ p().urun }}
}\n
{{ p()?.gerceklesen || 0 }}/ {{ p()?.hedef || 0 }}
\n
\n
HEDEF
{{ p()?.hedef || 0 }}
\n
GERCEK
{{ p()?.gerceklesen || 0 }}
\n
FIRE
{{ p()?.fire || 0 }}
\n
\n @if (altOzet()['durus-kaydi']) {\n
{{ altOzet()['durus-kaydi'].toplam }} durus kaydi
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #a855f7; --accent-rgb: 168,85,247; }\n .gc-icerik { gap: 4px; }\n .gc-stat-isim { width: 42px; }\n .gc-desen { opacity: .03; background-image: radial-gradient(rgba(var(--accent-rgb),.3) 1px, transparent 1px), radial-gradient(rgba(var(--accent-rgb),.2) 1px, transparent 1px); background-size: 20px 20px, 10px 10px; background-position: 0 0, 10px 10px; }\n .us-ust { display: flex; justify-content: space-between; align-items: center; gap: 6px; }\n .us-tezgah { font-size: 13px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .gc:hover .us-tezgah { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .us-verim { font-size: 11px; font-weight: 900; padding: 2px 7px; border-radius: 3px; font-variant-numeric: tabular-nums; flex-shrink: 0; animation: badge-pulse 2s ease-in-out infinite; }\n .us-verim--dusuk { background: rgba(239,68,68,.1); color: #ef4444; text-shadow: 0 0 6px rgba(239,68,68,.4); }\n .us-verim--orta { background: rgba(245,158,11,.1); color: #f59e0b; text-shadow: 0 0 6px rgba(245,158,11,.4); }\n .us-verim--yuksek { background: rgba(34,197,94,.1); color: #22c55e; text-shadow: 0 0 6px rgba(34,197,94,.4); }\n .us-urun { font-size: 9px; color: var(--py-metin-ikincil, #64748b); }\n .us-skor-alan { display: flex; align-items: baseline; gap: 4px; padding: 4px 0; }\n .us-skor-buyuk { font-size: 32px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1; text-shadow: 0 0 16px rgba(var(--accent-rgb),.4); transition: text-shadow .4s; }\n .gc:hover .us-skor-buyuk { text-shadow: 0 0 20px rgba(var(--accent-rgb),.6); }\n .us-skor-hedef { font-size: 12px; color: var(--py-metin-ikincil, #64748b); font-variant-numeric: tabular-nums; }\n `],\n})\nexport class UretimSayacKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'uretim-sayac').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n verimlilik = computed(() => { const ek = this.p(); if (!ek?.hedef || ek.hedef <= 0) return 0; return Math.min(((ek.gerceklesen || 0) / ek.hedef) * 100, 100); });\n halkaHedef = computed(() => { const h = this.p()?.hedef || 0; return h > 0 ? Math.min(h, 100) : 0; });\n halkaGerceklesen = computed(() => { const ek = this.p(); if (!ek?.hedef || ek.hedef <= 0) return 0; return Math.min(((ek.gerceklesen || 0) / ek.hedef) * 100, 100); });\n halkaFire = computed(() => { const ek = this.p(); if (!ek?.hedef || ek.hedef <= 0) return 0; return Math.min(((ek.fire || 0) / ek.hedef) * 100, 100); });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\n@Component({\n selector: 'uretim-sayac-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('tezgah') || 'Isimsiz Tezgah' }}
\n @if (deger('urun')) {
{{ deger('urun') }}
}\n
\n Hedef: {{ deger('hedef') || 0 }}\n Gercek: {{ deger('gerceklesen') || 0 }}\n Fire: {{ deger('fire') || 0 }}\n
\n
\n
\n %{{ verimlilik() }}\n
\n
\n `,\n})\nexport class UretimSayacKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n verimlilik = computed(() => {\n const hedef = +(this.deger('hedef') || 0);\n const gercek = +(this.deger('gerceklesen') || 0);\n if (!hedef) return 0;\n return Math.round((gercek / hedef) * 100);\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { UretimSayacEditComponent } from './uretim-sayac-edit.component';\nimport { UretimSayacKartComponent } from './uretim-sayac-kart.component';\nimport { UretimSayacKartSadeComponent } from './uretim-sayac-kart-sade.component';\n\n@DinamikBilesen({\n id: 'uretim-sayac',\n baslik: 'Üretim Sayacı',\n aciklama: 'Tezgah üretim takibi',\n ikon: 'bar-chart',\n kategori: 'uretim',\n})\nclass UretimSayac {\n paylas_kutusu = UretimSayacEditComponent;\n paylasilmis_kart = UretimSayacKartComponent;\n paylasilmis_kart_sade = UretimSayacKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'vardiya-devir-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Vardiya Devir Teslim\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
Sabah06:00 - 14:00
\r\n
\r\n \r\n
Öğle14:00 - 22:00
\r\n
\r\n \r\n
Gece22:00 - 06:00
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (kisi of lookup.personeller(); track kisi._id) {\r\n \r\n
👤
{{ kisi.ad }} {{ kisi.soyad }}{{ kisi.unvan || kisi.gorev || '' }}{{ kisi.sicilNo ? ' · ' + kisi.sicilNo : '' }}
\r\n
\r\n }\r\n \r\n \r\n 👤{{ selected.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n @for (kisi of lookup.personeller(); track kisi._id) {\r\n \r\n
👤
{{ kisi.ad }} {{ kisi.soyad }}{{ kisi.unvan || kisi.gorev || '' }}{{ kisi.sicilNo ? ' · ' + kisi.sicilNo : '' }}
\r\n
\r\n }\r\n \r\n \r\n 👤{{ selected.nzLabel }}\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
Çalışıyor
\r\n
\r\n \r\n
Arızalı
\r\n
\r\n \r\n
Bakımda
\r\n
\r\n \r\n
Boşta
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\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
\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
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .vd-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .vd-baslik {\r\n display: flex; align-items: center; gap: 10px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .vd-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #0d9488, #14b8a6);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(13, 148, 136, 0.35);\r\n position: relative;\r\n }\r\n\r\n .vd-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%; animation: shimmer 3s infinite linear; pointer-events: none;\r\n }\r\n\r\n .vd-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .vd-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n\r\n .vd-ayirici {\r\n height: 1px; opacity: 0.4; margin: 2px 0;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #0d9488, #14b8a6, #0d9488);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px;\r\n padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover { border-color: var(--py-kenarlik-hover, #b3b3b3); background: var(--py-arkaplan-hover, #f5f5f5); }\r\n\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1); outline: none; }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; background: var(--py-arkaplan-hover, #f5f5f5) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; background: var(--py-input-arka, #fff) !important; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important; }\r\n\r\n .input-wrap ::ng-deep .ant-input-number {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-input-number { border-color: var(--py-kenarlik-aktif, #1890ff) !important; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important; }\r\n\r\n @keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }\r\n `],\r\n})\r\nexport class VardiyaDevirEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n\r\n constructor() { super(); this.lookup.personelleriYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n vardiyaRenk(v: string): string {\r\n const m: Record = { 'sabah': '#f59e0b', 'ogle': '#3b82f6', 'gece': '#6366f1' };\r\n return m[v] || '#6b7280';\r\n }\r\n\r\n mkDurumRenk(v: string): string {\r\n const m: Record = { 'calisiyor': '#22c55e', 'arizali': '#ef4444', 'bakimda': '#f59e0b', 'bosta': '#6b7280' };\r\n return m[v] || '#6b7280';\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\nconst VARDIYA_MAP: Record = { sabah: { etiket: 'SABAH', renk: '#ff9500' }, ogle: { etiket: 'OGLE', renk: '#4488ff' }, gece: { etiket: 'GECE', renk: '#aa44ff' } };\nconst DURUM_MAP: Record = { calisiyor: { etiket: 'CALISIYOR', renk: '#00ff88' }, arizali: { etiket: 'ARIZALI', renk: '#ff4444' }, bakimda: { etiket: 'BAKIMDA', renk: '#ff9500' }, bosta: { etiket: 'BOSTA', renk: '#4a5568' } };\n\n@Component({\n selector: 'vardiya-devir-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
VARDİYA DEVİR
\n
{{ vardiyaBilgi().etiket }}
\n
\n
DEVREDEN{{ p()?.devreden || '?' }}
\n
\n
DEVRALAN{{ p()?.devralan || '?' }}
\n
\n
{{ durumBilgi().etiket }}
\n
\n
{{ p()?.uretimAdedi || 0 }}URETIM
\n
\n
{{ p()?.fireAdedi || 0 }}FIRE
\n
\n @if (altOzet()['toplam']) {\n
{{ altOzet()['toplam'] }} not
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #06b6d4; --accent-rgb: 6,182,212; }\n .gc-icerik { gap: 8px; }\n .gc-desen { opacity: .03; background-image: repeating-linear-gradient(90deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 12px); }\n .vd-ust { display: flex; justify-content: space-between; align-items: center; }\n .vd-vardiya { font-size: 10px; font-weight: 800; letter-spacing: .1em; animation: badge-pulse 2s ease-in-out infinite; }\n .vd-durum-dot { width: 8px; height: 8px; border-radius: 50%; animation: dot-glow 2s ease-in-out infinite; }\n @keyframes dot-glow { 0%,100% { opacity: 1; } 50% { opacity: .4; } }\n .vd-devir-alan { display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 4px; background: rgba(var(--accent-rgb),.03); border: 1px solid rgba(var(--accent-rgb),.08); box-shadow: inset 0 1px 3px rgba(0,0,0,.15); backdrop-filter: blur(4px); }\n .vd-kisi { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; }\n .vd-kisi-etiket { font-size: 7px; font-weight: 600; letter-spacing: .1em; color: var(--py-metin-ikincil, #4a5568); }\n .vd-kisi-ad { font-size: 12px; font-weight: 800; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; text-align: center; }\n .vd-ok-alan { color: var(--accent); flex-shrink: 0; opacity: .5; animation: ok-pulse 2s ease-in-out infinite; }\n @keyframes ok-pulse { 0%,100% { transform: translateX(0); } 50% { transform: translateX(3px); } }\n .vd-durum-satir { display: flex; justify-content: center; }\n .vd-durum-chip { font-size: 9px; font-weight: 700; letter-spacing: .08em; }\n .vd-stat-alan { display: flex; align-items: center; padding-top: 8px; border-top: 1px solid rgba(var(--accent-rgb),.08); }\n .vd-stat { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; }\n .vd-stat-val { font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1; }\n .vd-stat-val--yesil { color: #00ff88; text-shadow: 0 0 10px rgba(0,255,136,.4); }\n .vd-stat-val--kirmizi { color: #ef4444; text-shadow: 0 0 10px rgba(239,68,68,.4); }\n .vd-stat-lbl { font-size: 7px; font-weight: 600; letter-spacing: .08em; color: var(--py-metin-ikincil, #64748b); }\n .vd-stat-sep { width: 1px; height: 24px; background: rgba(var(--accent-rgb),.1); }\n `],\n})\nexport class VardiyaDevirKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'vardiya-devir').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n vardiyaBilgi = computed(() => VARDIYA_MAP[this.p()?.vardiya] || { etiket: 'BELIRSIZ', renk: '#64748b' });\n durumBilgi = computed(() => DURUM_MAP[this.p()?.makineDurumu] || { etiket: 'BELIRSIZ', renk: '#4a5568' });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\n@Component({\n selector: 'vardiya-devir-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('vardiya') || 'Vardiya' }}
\n
{{ deger('devreden') || '?' }} → {{ deger('devralan') || '?' }}
\n
\n @if (deger('makineDurumu')) { Makine: {{ deger('makineDurumu') }} }\n Uretim: {{ deger('uretimAdedi') || 0 }}\n Fire: {{ deger('fireAdedi') || 0 }}\n
\n
\n
\n `,\n})\nexport class VardiyaDevirKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { VardiyaDevirEditComponent } from './vardiya-devir-edit.component';\nimport { VardiyaDevirKartComponent } from './vardiya-devir-kart.component';\nimport { VardiyaDevirKartSadeComponent } from './vardiya-devir-kart-sade.component';\n\n@DinamikBilesen({\n id: 'vardiya-devir',\n baslik: 'Vardiya Devir',\n aciklama: 'Vardiya devir teslim',\n ikon: 'sync',\n kategori: 'uretim',\n})\nclass VardiyaDevir {\n paylas_kutusu = VardiyaDevirEditComponent;\n paylasilmis_kart = VardiyaDevirKartComponent;\n paylasilmis_kart_sade = VardiyaDevirKartSadeComponent;\n hesaplamalar = {\n pipeline: [\n { $match: { _uid: '{{kartId}}', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'icerikDetay' } },\n { $unwind: { path: '$icerikDetay', preserveNullAndEmptyArrays: false } },\n { $group: {\n _id: null,\n toplam: { $sum: 1 },\n toplamUretim: { $sum: { $ifNull: ['$icerikDetay.ek.uretimAdedi', 0] } },\n toplamFire: { $sum: { $ifNull: ['$icerikDetay.ek.fireAdedi', 0] } }\n }}\n ]\n };\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '../../../../services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\n@Component({\r\n selector: 'makine-tanimi-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Makine Tanımı\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
\r\n
\r\n \r\n
\r\n \r\n @for (t of tipler; track t.ad) {\r\n \r\n
{{ t.ad }}
\r\n
\r\n }\r\n \r\n \r\n {{ selected.nzLabel }}\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
\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 \r\n
\r\n \r\n @for (d of lookup.departmanlar(); track d._id) {\r\n \r\n
🏢
{{ d.ad }}@if (d.kod) { {{ d.kod }} }
\r\n
\r\n }\r\n \r\n \r\n 🏢{{ selected.nzLabel }}\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 @for (d of durumlar; track d.deger) {\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 styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .mt-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .mt-baslik {\r\n display: flex; align-items: center; gap: 10px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .mt-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #92400e, #f59e0b);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);\r\n position: relative;\r\n }\r\n\r\n .mt-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%; animation: shimmer 3s infinite linear; pointer-events: none;\r\n }\r\n\r\n .mt-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .mt-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n\r\n .mt-ayirici {\r\n height: 1px; opacity: 0.4; margin: 2px 0;\r\n background: linear-gradient(90deg, transparent, var(--py-kenarlik, #d9d9d9) 20%, var(--py-kenarlik, #d9d9d9) 80%, transparent);\r\n }\r\n\r\n .form-satir { display: flex; gap: 12px; }\r\n .f1 { flex: 1; }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); transition: color 0.2s ease;\r\n }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #92400e, #f59e0b, #92400e);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input],\r\n .input-wrap textarea[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px;\r\n padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap input[nz-input]:hover,\r\n .input-wrap textarea[nz-input]:hover { border-color: var(--py-kenarlik-hover, #b3b3b3); background: var(--py-arkaplan-hover, #f5f5f5); }\r\n .input-wrap input[nz-input]:focus,\r\n .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1); outline: none; }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important;\r\n border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n .input-wrap:hover ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; background: var(--py-arkaplan-hover, #f5f5f5) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; background: var(--py-input-arka, #fff) !important; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important; }\r\n\r\n .durum-secici { display: flex; gap: 8px; flex-wrap: wrap; }\r\n .durum-btn {\r\n --_d: #22c55e;\r\n flex: 1; min-width: 80px; display: flex; align-items: center; justify-content: center; gap: 6px;\r\n padding: 8px 12px; border-radius: 8px; border: 1px solid var(--py-kenarlik, #d9d9d9);\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n font-size: 11px; font-weight: 500; color: var(--py-metin-ikincil, rgba(0,0,0,0.65));\r\n cursor: pointer; transition: all 0.25s ease; white-space: nowrap;\r\n }\r\n .durum-btn:hover { border-color: var(--_d); color: var(--_d); }\r\n .durum-btn.secili {\r\n border-color: var(--_d); color: var(--_d);\r\n background: color-mix(in srgb, var(--_d) 8%, transparent);\r\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--_d) 12%, transparent);\r\n }\r\n .durum-dot {\r\n width: 8px; height: 8px; border-radius: 50%; background: var(--_d);\r\n box-shadow: 0 0 6px var(--_d);\r\n }\r\n\r\n @keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }\r\n `],\r\n})\r\nexport class MakineTanimiEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n\r\n constructor() { super(); this.lookup.departmanlariYukle(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n tipler = [\r\n { ad: 'CNC', renk: '#3b82f6' },\r\n { ad: 'Torna', renk: '#8b5cf6' },\r\n { ad: 'Freze', renk: '#06b6d4' },\r\n { ad: 'Taşlama', renk: '#f59e0b' },\r\n { ad: 'Pres', renk: '#ef4444' },\r\n { ad: 'Kaynak', renk: '#f97316' },\r\n { ad: 'Kesim', renk: '#10b981' },\r\n { ad: 'Diğer', renk: '#6b7280' },\r\n ];\r\n\r\n tipRenk(v: string): string {\r\n return this.tipler.find(t => t.ad === v)?.renk || '#6b7280';\r\n }\r\n\r\n durumlar = [\r\n { deger: 'Aktif', renk: '#22c55e' },\r\n { deger: 'Bakımda', renk: '#f59e0b' },\r\n { deger: 'Arızalı', renk: '#ef4444' },\r\n { deger: 'Devre Dışı', renk: '#6b7280' },\r\n ];\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { AltKartHesaplamaService } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-hesaplama.service';\n\n@Component({\n selector: 'makine-tanimi-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
MAKİNE TANIMI
\n
\n
{{ p()?.makineKodu || '---' }}
\n {{ p()?.durum || 'Aktif' }}\n
\n
{{ p()?.makineAdi || 'Makine' }}
@if (p()?.tip) { {{ p().tip }} }@if (p()?.marka || p()?.model) { {{ (p()?.marka || '') + (p()?.model ? ' ' + p().model : '') }} }
\n
\n
SAAT
0
\n
VERIM
0%
\n
BAKIM
0%
\n
\n @if (altOzet()['bakim-plani'] || altOzet()['ariza-kaydi']) {\n
\n @if (altOzet()['bakim-plani']; as b) { {{ b.toplam }} bakim plani }\n @if (altOzet()['ariza-kaydi']; as a) { {{ a.toplam }} ariza }\n
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #ff9500; --accent-rgb: 255,149,0; }\n .gc-desen { opacity: .03; background-image: repeating-linear-gradient(0deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 20px), repeating-linear-gradient(90deg, rgba(var(--accent-rgb),.2) 0, rgba(var(--accent-rgb),.2) 1px, transparent 1px, transparent 20px); }\n .gc-stat-isim { width: 40px; }\n .gc-icerik { gap: 8px; }\n .mk-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .mk-seri-no { display: flex; align-items: center; gap: 6px; color: var(--accent); font-size: 14px; font-weight: 900; font-variant-numeric: tabular-nums; text-shadow: 0 0 8px rgba(var(--accent-rgb),.3); }\n .mk-seri-no svg { opacity: .6; }\n .gc:hover .mk-seri-no svg { animation: ikon-don 3s linear infinite; }\n @keyframes ikon-don { to { transform: rotate(360deg); } }\n .mk-durum-chip { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; border: 1px solid; }\n .mk-isim-alan { display: flex; flex-direction: column; gap: 3px; }\n .mk-ad { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); transition: text-shadow .4s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gc:hover .mk-ad { text-shadow: 0 0 14px rgba(var(--accent-rgb),.5); }\n .mk-alt-bilgi { display: flex; gap: 6px; flex-wrap: wrap; }\n .mk-tip { font-size: 9px; font-weight: 600; padding: 1px 6px; border-radius: 2px; background: rgba(255,255,255,.04); color: #94a3b8; }\n .mk-marka { font-size: 9px; color: var(--py-metin-ikincil, #64748b); }\n `],\n})\nexport class MakineTanimiKartComponent extends GameCardBase {\n parametreler = input();\n private hesapSvc = inject(AltKartHesaplamaService);\n altOzet = signal>({});\n constructor() {\n super();\n effect(() => { const kartId = this.parametreler()?.kart?._id; if (!kartId) return; untracked(() => this.hesapSvc.hesapla(kartId, 'makine-tanimi').then(s => { this.altOzet.set(s); this.CD.detectChanges(); })); });\n }\n p = computed(() => this.parametreler()?.ek || {});\n durumRenk = computed(() => { switch (this.p()?.durum) { case 'Aktif': return '#00ff88'; case 'Bakimda': return '#ff9500'; case 'Arizali': return '#ff4444'; case 'Devre Disi': return '#4a5568'; default: return '#00ff88'; } });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst DURUM_RENK: Record = { 'Aktif': '#52c41a', 'Bakimda': '#ff9500', 'Arizali': '#ff4d4f' };\n\n@Component({\n selector: 'makine-tanimi-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Makine Tanımı
\n
\n
\n
\n
{{ deger('makineAdi') || 'Isimsiz Makine' }}
\n
{{ kodTip() }}
\n @if (deger('marka') || deger('model')) {
{{ markaModel() }}
}\n
\n
\n {{ deger('durum') || 'Aktif' }}\n
\n
\n `,\n})\nexport class MakineTanimiKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n kodTip = computed(() => [this.deger('makineKodu'), this.deger('makineTipi')].filter(v => !!v).join(' - ') || '-');\n markaModel = computed(() => [this.deger('marka'), this.deger('model')].filter(v => !!v).join(' '));\n durumRenk = computed(() => DURUM_RENK[this.deger('durum')] || '#52c41a');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { MakineTanimiEditComponent } from './makine-tanimi-edit.component';\nimport { MakineTanimiKartComponent } from './makine-tanimi-kart.component';\nimport { MakineTanimiKartSadeComponent } from './makine-tanimi-kart-sade.component';\n\n@DinamikBilesen({\n id: 'makine-tanimi',\n baslik: 'Makine Tanımı',\n aciklama: 'Makine ve tezgah tanımla',\n ikon: 'tool',\n kategori: 'uretim',\n})\nclass MakineTanimi {\n paylas_kutusu = MakineTanimiEditComponent;\n paylasilmis_kart = MakineTanimiKartComponent;\n paylasilmis_kart_sade = MakineTanimiKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\n@Component({\r\n selector: 'basit-not-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Basit Not\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
Genel
\r\n
\r\n \r\n
Acil
\r\n
\r\n \r\n
Bilgi
\r\n
\r\n \r\n
Hatirlatma
\r\n
\r\n \r\n \r\n {{ selected?.nzLabel }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n\r\n .bn-edit { display: flex; flex-direction: column; gap: 0; padding: 0; }\r\n\r\n .bn-baslik {\r\n display: flex; align-items: center; gap: 10px;\r\n padding: 12px 16px; margin-bottom: 4px; border-radius: 10px;\r\n background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent);\r\n }\r\n\r\n .bn-baslik-ikon {\r\n width: 32px; height: 32px; border-radius: 8px;\r\n display: flex; align-items: center; justify-content: center;\r\n background: linear-gradient(135deg, #059669, #10b981);\r\n color: #fff; flex-shrink: 0;\r\n box-shadow: 0 2px 8px rgba(5, 150, 105, 0.35);\r\n position: relative;\r\n }\r\n\r\n .bn-baslik-ikon::after {\r\n content: ''; position: absolute; inset: 0; border-radius: inherit;\r\n background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);\r\n background-size: 200% 100%; animation: shimmer 3s infinite linear; pointer-events: none;\r\n }\r\n\r\n .bn-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n\r\n .bn-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n\r\n .form-grup label {\r\n font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px;\r\n color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); transition: color 0.2s ease;\r\n }\r\n\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n\r\n .input-wrap { position: relative; }\r\n\r\n .input-glow {\r\n position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px;\r\n background: linear-gradient(90deg, #059669, #10b981, #059669);\r\n transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), left 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;\r\n opacity: 0; pointer-events: none; z-index: 1;\r\n }\r\n\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n\r\n .input-wrap input[nz-input] {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02));\r\n border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px;\r\n padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333);\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap input[nz-input]:hover { border-color: var(--py-kenarlik-hover, #b3b3b3); background: var(--py-arkaplan-hover, #f5f5f5); }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1); outline: none; }\r\n\r\n .input-wrap ::ng-deep .ant-select-selector {\r\n background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important;\r\n border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px;\r\n transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;\r\n }\r\n\r\n .input-wrap:hover ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-hover, #b3b3b3) !important; background: var(--py-arkaplan-hover, #f5f5f5) !important; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; background: var(--py-input-arka, #fff) !important; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1) !important; }\r\n\r\n @keyframes shimmer { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }\r\n `],\r\n})\r\nexport class BasitNotEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n\r\n constructor() { super(); }\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n bnKatRenk(v: string): string {\r\n const m: Record = { 'genel': '#3b82f6', 'acil': '#ef4444', 'bilgi': '#10b981', 'hatirlatma': '#f59e0b' };\r\n return m[v] || '#3b82f6';\r\n }\r\n\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (params?.ek) {\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst KATEGORI_MAP: Record = {\n genel: { etiket: 'GENEL', renk: '#64748b', rgb: '100,116,139' },\n acil: { etiket: 'ACIL', renk: '#ef4444', rgb: '239,68,68' },\n bilgi: { etiket: 'BILGI', renk: '#06b6d4', rgb: '6,182,212' },\n hatirlatma: { etiket: 'HATIRLATMA', renk: '#eab308', rgb: '234,179,8' },\n};\n\n@Component({\n selector: 'basit-not-kart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
NOT
\n {{ kategoriBilgi().etiket }}\n
{{ p()?.baslik || 'Isimsiz Not' }}
\n @if (p()?.icerik) {
{{ p().icerik }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #64748b; --accent-rgb: 100,116,139; }\n .gc-icerik { padding: 12px 14px; gap: 5px; }\n .bn-kategori { font-size: 8px; font-weight: 700; letter-spacing: .12em; color: var(--accent); text-shadow: 0 0 6px rgba(var(--accent-rgb),.3); animation: badge-pulse 2s ease-in-out infinite; }\n .bn-baslik { font-size: 14px; font-weight: 800; color: var(--py-metin, #e2e8f0); line-height: 1.3; transition: text-shadow .4s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n .gc:hover .bn-baslik { text-shadow: 0 0 12px rgba(var(--accent-rgb),.4); }\n .bn-icerik { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }\n `],\n})\nexport class BasitNotKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n kategoriBilgi = computed(() => KATEGORI_MAP[this.p()?.kategori] || { etiket: 'GENEL', renk: '#64748b', rgb: '100,116,139' });\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst KATEGORI_RENK: Record = { 'genel': '#1890ff', 'onemli': '#ff4d4f', 'hatirlatma': '#ff9500', 'fikir': '#722ed1' };\n\n@Component({\n selector: 'basit-not-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
{{ deger('baslik') || 'Isimsiz Not' }}
\n @if (deger('kategori')) { {{ deger('kategori') }} }\n
\n
\n `,\n})\nexport class BasitNotKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n kategoriRenk = computed(() => KATEGORI_RENK[this.deger('kategori')] || '#1890ff');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { BasitNotEditComponent } from './basit-not-edit.component';\nimport { BasitNotKartComponent } from './basit-not-kart.component';\nimport { BasitNotKartSadeComponent } from './basit-not-kart-sade.component';\n\n@DinamikBilesen({\n id: 'basit-not',\n baslik: 'Basit Not',\n aciklama: 'Hızlı not ve hatırlatma',\n ikon: 'edit',\n kategori: 'projeler',\n})\nclass BasitNot {\n paylas_kutusu = BasitNotEditComponent;\n paylasilmis_kart = BasitNotKartComponent;\n paylasilmis_kart_sade = BasitNotKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\nconst EDIT_STILLER = `\r\n :host { display: block; }\r\n .dg-edit { display: flex; flex-direction: column; padding: 0; }\r\n .dg-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .dg-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0ea5e9, #38bdf8); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(14,165,233,0.35); }\r\n .dg-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .dg-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #0ea5e9, #38bdf8, #0ea5e9); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input], .input-wrap textarea[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus, .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(14,165,233,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; box-shadow: 0 0 0 2px rgba(14,165,233,0.1) !important; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n`;\r\n\r\n@Component({\r\n selector: 'durum-guncelleme-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Durum Güncellemesi\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n Bekliyor\r\n İnceleniyor\r\n Onarılıyor\r\n Tamamlandı\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
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [EDIT_STILLER],\r\n})\r\nexport class DurumGuncellemeEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'İnceleniyor': '#3b82f6', 'Onarılıyor': '#f59e0b', 'Tamamlandı': '#22c55e' };\nconst DURUM_RGB: Record = { 'Bekliyor': '148,163,184', 'İnceleniyor': '59,130,246', 'Onarılıyor': '245,158,11', 'Tamamlandı': '34,197,94' };\n\n@Component({\n selector: 'durum-guncelleme-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
DURUM GÜNCELLEMESİ
\n
{{ p()?.durum || 'Bekliyor' }}
\n @if (p()?.yapilanIslem) {
{{ p().yapilanIslem }}
}\n @if (p()?.aciklama) {
{{ p().aciklama }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #0ea5e9; --accent-rgb: 14,165,233; }\n .dg-durum-badge { display: inline-block; padding: 3px 12px; border-radius: 3px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border: 1px solid; animation: badge-pulse 2s ease-in-out infinite; }\n .dg-islem { font-size: 12px; font-weight: 600; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .dg-aciklama { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n `],\n})\nexport class DurumGuncellemeKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n durumRenk = computed(() => DURUM_RENK[this.p()?.durum] || '#94a3b8');\n durumRgb = computed(() => DURUM_RGB[this.p()?.durum] || '148,163,184');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { DurumGuncellemeEditComponent } from './durum-guncelleme-edit.component';\nimport { DurumGuncellemeKartComponent } from './durum-guncelleme-kart.component';\n\n@DinamikBilesen({\n id: 'durum-guncelleme',\n baslik: 'Durum Güncellemesi',\n aciklama: 'Bakım talebi durum güncelleme',\n ikon: 'sync',\n kategori: 'bakim',\n})\nclass DurumGuncelleme {\n paylas_kutusu = DurumGuncellemeEditComponent;\n paylasilmis_kart = DurumGuncellemeKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '@/src/app/uygulamalar/hmi-pano/pano/pages/personel/services/hmi-lookup.service';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'gorev-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Görev Bilgileri\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 @for (per of lookup.personeller(); track per._id) {\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 Düşük\r\n Normal\r\n Yüksek\r\n Acil\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 styles: [`\r\n\r\n :host { display: block; }\r\n .gv-edit { display: flex; flex-direction: column; padding: 0; }\r\n .gv-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .gv-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #10b981, #34d399); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(16,185,129,0.35); }\r\n .gv-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .gv-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #10b981, #34d399, #10b981); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(16,185,129,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap:focus-within ::ng-deep .ant-select-selector { border-color: var(--py-kenarlik-aktif, #1890ff) !important; box-shadow: 0 0 0 2px rgba(16,185,129,0.1) !important; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class GorevEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n constructor() { super(); this.lookup.personelleriYukle(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst ONCELIK_RENK: Record = { 'Düşük': '#94a3b8', 'Normal': '#3b82f6', 'Yüksek': '#f59e0b', 'Acil': '#ef4444' };\nconst ONCELIK_RGB: Record = { 'Düşük': '148,163,184', 'Normal': '59,130,246', 'Yüksek': '245,158,11', 'Acil': '239,68,68' };\n\n@Component({\n selector: 'gorev-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
GÖREV
\n
\n
{{ p()?.tamamlandi ? '✓' : '' }}
\n
{{ p()?.gorevAdi || 'Görev' }}
\n
\n @if (p()?.atanan) {
{{ p().atanan }}
}\n
\n @if (p()?.oncelik) { {{ p().oncelik }} }\n @if (p()?.tahminiSure) { {{ p().tahminiSure }} }\n
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #10b981; --accent-rgb: 16,185,129; }\n .gv-ust { display: flex; align-items: center; gap: 8px; }\n .gv-check { width: 18px; height: 18px; border-radius: 3px; border: 2px solid var(--accent); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 900; color: var(--accent); flex-shrink: 0; transition: all .2s; }\n .gv-check--tamam { background: var(--accent); color: #fff; }\n .gv-ad { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gv-atanan { display: flex; align-items: center; gap: 4px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .gv-atanan svg { color: var(--accent); opacity: .5; }\n .gv-alt { display: flex; gap: 8px; align-items: center; }\n .gv-oncelik { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); }\n .gv-sure { font-size: 9px; color: var(--py-metin-ikincil, #64748b); font-variant-numeric: tabular-nums; }\n `],\n})\nexport class GorevKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n oncelikRenk = computed(() => ONCELIK_RENK[this.p()?.oncelik] || '#10b981');\n oncelikRgb = computed(() => ONCELIK_RGB[this.p()?.oncelik] || '16,185,129');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { GorevEditComponent } from './gorev-edit.component';\nimport { GorevKartComponent } from './gorev-kart.component';\n\n@DinamikBilesen({\n id: 'gorev',\n baslik: 'Görev',\n aciklama: 'Görev / checklist kalemi',\n ikon: 'check-square',\n kategori: 'bakim',\n})\nclass Gorev {\n paylas_kutusu = GorevEditComponent;\n paylasilmis_kart = GorevKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'maliyet-kalemi-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Maliyet Kalemi\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
\r\n
\r\n \r\n
\r\n \r\n 📦 Adet\r\n ⏱ Saat\r\n ⚖ Kg\r\n 📏 Metre\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n Malzeme\r\n İşçilik\r\n Dış Hizmet\r\n Diğer\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 styles: [`\r\n\r\n :host { display: block; }\r\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\r\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #d97706, #f59e0b); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(217,119,6,0.35); }\r\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #d97706, #f59e0b, #d97706); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(217,119,6,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class MaliyetKalemiEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst KAT_RENK: Record = { 'Malzeme': '#3b82f6', 'İşçilik': '#8b5cf6', 'Dış Hizmet': '#f59e0b', 'Diğer': '#94a3b8' };\nconst KAT_RGB: Record = { 'Malzeme': '59,130,246', 'İşçilik': '139,92,246', 'Dış Hizmet': '245,158,11', 'Diğer': '148,163,184' };\n\n@Component({\n selector: 'maliyet-kalemi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
MALİYET KALEMİ
\n
\n
{{ p()?.kalemAdi || 'Kalem' }}
\n
{{ p()?.kategori || 'Malzeme' }}
\n
\n
{{ tutarFormatli() }} {{ p()?.birim || 'Adet' }}
\n @if (p()?.aciklama) {
{{ p().aciklama }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #d97706; --accent-rgb: 217,119,6; }\n .ml-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .ml-ad { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .ml-kategori-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); flex-shrink: 0; }\n .ml-tutar { font-size: 22px; font-weight: 900; color: #fbbf24; font-variant-numeric: tabular-nums; text-shadow: 0 0 12px rgba(251,191,36,.3); }\n .ml-birim { font-size: 10px; font-weight: 500; color: var(--py-metin-ikincil, #64748b); margin-left: 4px; }\n .ml-aciklama { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n `],\n})\nexport class MaliyetKalemiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n katRenk = computed(() => KAT_RENK[this.p()?.kategori] || '#d97706');\n katRgb = computed(() => KAT_RGB[this.p()?.kategori] || '217,119,6');\n tutarFormatli = computed(() => {\n const tutar = this.p()?.tutar;\n if (tutar == null) return '0';\n return Number(tutar).toLocaleString('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' ₺';\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { MaliyetKalemiEditComponent } from './maliyet-kalemi-edit.component';\nimport { MaliyetKalemiKartComponent } from './maliyet-kalemi-kart.component';\n\n@DinamikBilesen({\n id: 'maliyet-kalemi',\n baslik: 'Maliyet Kalemi',\n aciklama: 'Maliyet kalemi ekle',\n ikon: 'dollar',\n kategori: 'bakim',\n})\nclass MaliyetKalemi {\n paylas_kutusu = MaliyetKalemiEditComponent;\n paylasilmis_kart = MaliyetKalemiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '@/src/app/uygulamalar/hmi-pano/pano/pages/personel/services/hmi-lookup.service';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'proje-gorev-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule, NzDatePickerModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Proje Görevi\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 @for (per of lookup.personeller(); track per._id) {\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 \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n Düşük\r\n Normal\r\n Yüksek\r\n Kritik\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Bekliyor\r\n Devam Ediyor\r\n Tamamlandı\r\n İptal\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n .pg-edit { display: flex; flex-direction: column; padding: 0; }\r\n .pg-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .pg-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #6366f1, #818cf8); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(99,102,241,0.35); }\r\n .pg-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .pg-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #6366f1, #818cf8, #6366f1); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(99,102,241,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap ::ng-deep .ant-picker { width: 100% !important; border-radius: 8px !important; min-height: 34px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class ProjeGorevEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n constructor() { super(); this.lookup.personelleriYukle(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Devam Ediyor': '#6366f1', 'Tamamlandı': '#22c55e', 'İptal': '#ef4444' };\nconst DURUM_RGB: Record = { 'Bekliyor': '148,163,184', 'Devam Ediyor': '99,102,241', 'Tamamlandı': '34,197,94', 'İptal': '239,68,68' };\nconst DURUM_YUZDE: Record = { 'Bekliyor': 10, 'Devam Ediyor': 55, 'Tamamlandı': 100, 'İptal': 0 };\n\n@Component({\n selector: 'proje-gorev-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
PROJE GÖREVİ
\n
{{ p()?.gorevAdi || 'Görev' }}
\n
\n @if (p()?.atanan) { {{ p().atanan }} }\n @if (p()?.baslangic || p()?.bitis) { {{ tarihAraligi() }} }\n
\n
\n {{ p()?.durum || 'Bekliyor' }}\n
\n
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #6366f1; --accent-rgb: 99,102,241; }\n .pg-ad { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .pg-detay { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }\n .pg-atanan { display: flex; align-items: center; gap: 4px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .pg-atanan svg { color: var(--accent); opacity: .5; }\n .pg-tarih { font-size: 9px; color: var(--py-metin-ikincil, #64748b); font-variant-numeric: tabular-nums; }\n .pg-ilerleme { display: flex; flex-direction: column; gap: 3px; }\n .pg-durum { font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }\n `],\n})\nexport class ProjeGorevKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n durumRenk = computed(() => DURUM_RENK[this.p()?.durum] || '#94a3b8');\n durumRgb = computed(() => DURUM_RGB[this.p()?.durum] || '148,163,184');\n durumYuzde = computed(() => DURUM_YUZDE[this.p()?.durum] || 10);\n tarihAraligi = computed(() => {\n const fmt = (d: any) => d ? new Date(d).toLocaleDateString('tr-TR', { day: '2-digit', month: 'short' }) : '';\n const b = fmt(this.p()?.baslangic);\n const s = fmt(this.p()?.bitis);\n if (b && s) return b + ' → ' + s;\n return b || s || '';\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ProjeGorevEditComponent } from './proje-gorev-edit.component';\nimport { ProjeGorevKartComponent } from './proje-gorev-kart.component';\n\n@DinamikBilesen({\n id: 'proje-gorev',\n baslik: 'Proje Görevi',\n aciklama: 'Proje görevi ekle',\n ikon: 'project',\n kategori: 'proje',\n})\nclass ProjeGorev {\n paylas_kutusu = ProjeGorevEditComponent;\n paylasilmis_kart = ProjeGorevKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'proje-notu-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Proje Notu\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 Bilgi\r\n Uyarı\r\n Kritik\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 styles: [`\r\n\r\n :host { display: block; }\r\n .pn-edit { display: flex; flex-direction: column; padding: 0; }\r\n .pn-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .pn-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #8b5cf6, #a78bfa); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(139,92,246,0.35); }\r\n .pn-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .pn-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #8b5cf6, #a78bfa, #8b5cf6); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input], .input-wrap textarea[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus, .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(139,92,246,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class ProjeNotuEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst KAT_RENK: Record = { 'Bilgi': '#3b82f6', 'Uyarı': '#f59e0b', 'Kritik': '#ef4444' };\nconst KAT_RGB: Record = { 'Bilgi': '59,130,246', 'Uyarı': '245,158,11', 'Kritik': '239,68,68' };\n\n@Component({\n selector: 'proje-notu-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
PROJE NOTU
\n
\n
{{ p()?.kategori || 'Bilgi' }}
\n
{{ p()?.baslik || 'Not' }}
\n
\n @if (p()?.icerik) {
{{ p().icerik }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #8b5cf6; --accent-rgb: 139,92,246; }\n .pn-ust { display: flex; align-items: center; gap: 8px; }\n .pn-kategori-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); flex-shrink: 0; animation: badge-pulse 2s ease-in-out infinite; }\n .pn-baslik { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .pn-icerik { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n `],\n})\nexport class ProjeNotuKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n katRenk = computed(() => KAT_RENK[this.p()?.kategori] || '#3b82f6');\n katRgb = computed(() => KAT_RGB[this.p()?.kategori] || '59,130,246');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ProjeNotuEditComponent } from './proje-notu-edit.component';\nimport { ProjeNotuKartComponent } from './proje-notu-kart.component';\n\n@DinamikBilesen({\n id: 'proje-notu',\n baslik: 'Proje Notu',\n aciklama: 'Proje notu ekle',\n ikon: 'file-text',\n kategori: 'proje',\n})\nclass ProjeNotu {\n paylas_kutusu = ProjeNotuEditComponent;\n paylasilmis_kart = ProjeNotuKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'kalite-olcum-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Kalite Ölçümü\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
\r\n
\r\n \r\n
\r\n \r\n Uygun\r\n Uygun Değil\r\n Şartlı\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
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n .ko-edit { display: flex; flex-direction: column; padding: 0; }\r\n .ko-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .ko-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #059669, #34d399); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(5,150,105,0.35); }\r\n .ko-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .ko-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #059669, #34d399, #059669); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(5,150,105,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class KaliteOlcumEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst SONUC_RENK: Record = { 'Uygun': '#22c55e', 'Uygun Değil': '#ef4444', 'Şartlı': '#f59e0b' };\nconst SONUC_RGB: Record = { 'Uygun': '34,197,94', 'Uygun Değil': '239,68,68', 'Şartlı': '245,158,11' };\n\n@Component({\n selector: 'kalite-olcum-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
KALİTE ÖLÇÜMÜ
\n
\n
{{ p()?.olcumNoktasi || 'Ölçüm' }}
\n
{{ p()?.sonuc || 'Uygun' }}
\n
\n
\n
{{ p()?.olculenDeger ?? '-' }}
\n
\n @if (p()?.toleransAlt != null || p()?.toleransUst != null) {\n TOL\n {{ p()?.toleransAlt ?? '-' }} / {{ p()?.toleransUst ?? '-' }}\n }\n
\n
\n
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #059669; --accent-rgb: 5,150,105; }\n .ko-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .ko-nokta { font-size: 12px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .ko-sonuc-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); flex-shrink: 0; animation: badge-pulse 2s ease-in-out infinite; }\n .ko-deger-alan { display: flex; align-items: baseline; gap: 12px; }\n .ko-deger { font-size: 22px; font-weight: 900; color: var(--accent); font-variant-numeric: tabular-nums; text-shadow: 0 0 10px rgba(var(--accent-rgb),.3); }\n .ko-tolerans { font-size: 10px; color: var(--py-metin-ikincil, #64748b); font-variant-numeric: tabular-nums; }\n .ko-tol-etiket { font-size: 7px; font-weight: 700; letter-spacing: .1em; color: var(--py-metin-ucuncul, #4a5568); margin-right: 4px; }\n `],\n})\nexport class KaliteOlcumKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n sonucRenk = computed(() => SONUC_RENK[this.p()?.sonuc] || '#22c55e');\n sonucRgb = computed(() => SONUC_RGB[this.p()?.sonuc] || '34,197,94');\n toleransYuzde = computed(() => {\n const d = this.p()?.olculenDeger;\n const alt = this.p()?.toleransAlt;\n const ust = this.p()?.toleransUst;\n if (d == null || alt == null || ust == null || ust === alt) return 50;\n return Math.min(100, Math.max(0, ((d - alt) / (ust - alt)) * 100));\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { KaliteOlcumEditComponent } from './kalite-olcum-edit.component';\nimport { KaliteOlcumKartComponent } from './kalite-olcum-kart.component';\n\n@DinamikBilesen({\n id: 'kalite-olcum',\n baslik: 'Kalite Ölçümü',\n aciklama: 'Kalite ölçüm kaydı',\n ikon: 'audit',\n kategori: 'kalite',\n})\nclass KaliteOlcum {\n paylas_kutusu = KaliteOlcumEditComponent;\n paylasilmis_kart = KaliteOlcumKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'siparis-kalemi-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Sipariş Kalemi\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
\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 📦 Adet\r\n ⚖ Kg\r\n ⚖ Ton\r\n 📏 Metre\r\n 🧰 Takım\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
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n .sk-edit { display: flex; flex-direction: column; padding: 0; }\r\n .sk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .sk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e65100, #ff9800); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(230,81,0,0.35); }\r\n .sk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .sk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #e65100, #ff9800, #e65100); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(230,81,0,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n `],\r\n})\r\nexport class SiparisKalemiEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'siparis-kalemi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
SİPARİŞ KALEMİ
\n
{{ p()?.urunAdi || 'Ürün' }}
\n
\n {{ p()?.miktar || 1 }} {{ p()?.birim || 'Adet' }}\n x\n {{ birimFiyatFormatli() }}\n @if (p()?.indirim > 0) { -{{ p().indirim }}% }\n
\n
{{ toplamFormatli() }}
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #e65100; --accent-rgb: 230,81,0; }\n .sk-urun { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .sk-detay { display: flex; align-items: center; gap: 6px; font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .sk-miktar { font-weight: 600; }\n .sk-carpim { opacity: .5; }\n .sk-fiyat { font-variant-numeric: tabular-nums; }\n .sk-indirim { font-size: 9px; font-weight: 700; color: #ef4444; padding: 1px 4px; border-radius: 2px; background: rgba(239,68,68,.1); }\n .sk-toplam { font-size: 20px; font-weight: 900; color: #fbbf24; font-variant-numeric: tabular-nums; text-shadow: 0 0 12px rgba(251,191,36,.3); }\n `],\n})\nexport class SiparisKalemiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n\n birimFiyatFormatli = computed(() => {\n const f = this.p()?.birimFiyat;\n if (f == null) return '0,00 ₺';\n return Number(f).toLocaleString('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' ₺';\n });\n\n toplamFormatli = computed(() => {\n const miktar = Number(this.p()?.miktar) || 1;\n const fiyat = Number(this.p()?.birimFiyat) || 0;\n const indirim = Number(this.p()?.indirim) || 0;\n const kdv = Number(this.p()?.kdv) || 20;\n let toplam = miktar * fiyat;\n if (indirim > 0) toplam *= (1 - indirim / 100);\n toplam *= (1 + kdv / 100);\n return toplam.toLocaleString('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' ₺';\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { SiparisKalemiEditComponent } from './siparis-kalemi-edit.component';\nimport { SiparisKalemiKartComponent } from './siparis-kalemi-kart.component';\n\n@DinamikBilesen({\n id: 'siparis-kalemi',\n baslik: 'Sipariş Kalemi',\n aciklama: 'Sipariş kalemi ekle',\n ikon: 'shopping-cart',\n kategori: 'satis',\n})\nclass SiparisKalemi {\n paylas_kutusu = SiparisKalemiEditComponent;\n paylasilmis_kart = SiparisKalemiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { HmiLookupService } from '@/src/app/uygulamalar/hmi-pano/pano/pages/personel/services/hmi-lookup.service';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'vardiya-notu-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Vardiya Notu\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 Bilgi\r\n Sorun\r\n Acil\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n @for (m of lookup.makineler(); track m._id) {\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 styles: [`\r\n\r\n :host { display: block; }\r\n .vn-edit { display: flex; flex-direction: column; padding: 0; }\r\n .vn-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .vn-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0d9488, #2dd4bf); color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(13,148,136,0.35); }\r\n .vn-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .vn-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #0d9488, #2dd4bf, #0d9488); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input], .input-wrap textarea[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus, .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(13,148,136,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class VardiyaNotuEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n lookup = inject(HmiLookupService);\r\n constructor() { super(); this.lookup.makineleriYukle(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst KAT_RENK: Record = { 'Bilgi': '#0d9488', 'Sorun': '#f59e0b', 'Acil': '#ef4444' };\nconst KAT_RGB: Record = { 'Bilgi': '13,148,136', 'Sorun': '245,158,11', 'Acil': '239,68,68' };\n\n@Component({\n selector: 'vardiya-notu-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
VARDİYA NOTU
\n
\n
{{ p()?.kategori || 'Bilgi' }}
\n @if (p()?.makine) {
{{ p().makine }}
}\n
\n @if (p()?.baslik) {
{{ p().baslik }}
}\n @if (p()?.aciklama) {
{{ p().aciklama }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #0d9488; --accent-rgb: 13,148,136; }\n .vn-ust { display: flex; align-items: center; gap: 8px; }\n .vn-kategori-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); flex-shrink: 0; animation: badge-pulse 2s ease-in-out infinite; }\n .vn-makine { font-size: 9px; font-weight: 600; color: var(--py-metin-ikincil, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .vn-baslik { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .vn-aciklama { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n `],\n})\nexport class VardiyaNotuKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n katRenk = computed(() => KAT_RENK[this.p()?.kategori] || '#0d9488');\n katRgb = computed(() => KAT_RGB[this.p()?.kategori] || '13,148,136');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { VardiyaNotuEditComponent } from './vardiya-notu-edit.component';\nimport { VardiyaNotuKartComponent } from './vardiya-notu-kart.component';\n\n@DinamikBilesen({\n id: 'vardiya-notu',\n baslik: 'Vardiya Notu',\n aciklama: 'Vardiya notu ekle',\n ikon: 'message',\n kategori: 'uretim',\n})\nclass VardiyaNotu {\n paylas_kutusu = VardiyaNotuEditComponent;\n paylasilmis_kart = VardiyaNotuKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'adres-bilgisi-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Adres Bilgisi\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(2,132,199,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #0284c7, #38bdf8, #0284c7); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input], .input-wrap textarea[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus, .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(2,132,199,0.1); outline: none; }\n `],\n})\nexport class AdresBilgisiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'adres-bilgisi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
ADRES BİLGİSİ
\n
{{ p()?.adres || 'Adres girilmedi' }}
\n
\n {{ p()?.ilce || '-' }}\n /\n {{ p()?.il || '-' }}\n @if (p()?.postaKodu) { {{ p().postaKodu }} }\n
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #0284c7; --accent-rgb: 2,132,199; }\n .ab-adres { font-size: 11px; color: var(--py-metin, #e2e8f0); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n .ab-alt { display: flex; align-items: center; gap: 4px; margin-top: 4px; }\n .ab-ilce, .ab-il { font-size: 12px; font-weight: 700; color: #38bdf8; }\n .ab-ayrac { font-size: 10px; color: var(--py-metin-ikincil, #64748b); }\n .ab-posta { font-size: 8px; font-weight: 600; letter-spacing: .08em; padding: 2px 6px; border-radius: 2px; color: #fff; background: rgba(2,132,199,0.3); margin-left: auto; }\n `],\n})\nexport class AdresBilgisiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { AdresBilgisiEditComponent } from './adres-bilgisi-edit.component';\nimport { AdresBilgisiKartComponent } from './adres-bilgisi-kart.component';\n\n@DinamikBilesen({\n id: 'adres-bilgisi',\n baslik: 'Adres Bilgisi',\n aciklama: 'Adres bilgisi ekle',\n ikon: 'environment',\n kategori: 'personel',\n})\nclass AdresBilgisi {\n paylas_kutusu = AdresBilgisiEditComponent;\n paylasilmis_kart = AdresBilgisiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'izin-kaydi-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzDatePickerModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n İzin Kaydı\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Yıllık\r\n Mazeret\r\n Rapor\r\n Ücretsiz\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
\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 Bekliyor\r\n Onaylandı\r\n Reddedildi\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\r\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(5,150,105,0.35); }\r\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #059669, #34d399, #059669); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap ::ng-deep .ant-select-selector, .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class IzinKaydiEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#fa8c16', 'Onaylandı': '#52c41a', 'Reddedildi': '#f5222d' };\nconst DURUM_RGB: Record = { 'Bekliyor': '250,140,22', 'Onaylandı': '82,196,26', 'Reddedildi': '245,34,45' };\n\n@Component({\n selector: 'izin-kaydi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
İZİN KAYDI
\n
\n
{{ p()?.izinTuru || 'Yıllık' }}
\n
{{ p()?.durum || 'Bekliyor' }}
\n
\n
{{ p()?.gun || 1 }} GÜN
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #059669; --accent-rgb: 5,150,105; }\n .iz-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .iz-tur { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); }\n .iz-durum-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); }\n .iz-gun { font-size: 22px; font-weight: 900; color: #34d399; font-variant-numeric: tabular-nums; text-shadow: 0 0 12px rgba(52,211,153,.3); }\n .iz-gun-label { font-size: 10px; font-weight: 500; color: var(--py-metin-ikincil, #64748b); margin-left: 4px; }\n `],\n})\nexport class IzinKaydiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n durumRenk = computed(() => DURUM_RENK[this.p()?.durum] || '#059669');\n durumRgb = computed(() => DURUM_RGB[this.p()?.durum] || '5,150,105');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { IzinKaydiEditComponent } from './izin-kaydi-edit.component';\nimport { IzinKaydiKartComponent } from './izin-kaydi-kart.component';\n\n@DinamikBilesen({\n id: 'izin-kaydi',\n baslik: 'İzin Kaydı',\n aciklama: 'İzin kaydı ekle',\n ikon: 'calendar',\n kategori: 'personel',\n})\nclass IzinKaydi {\n paylas_kutusu = IzinKaydiEditComponent;\n paylasilmis_kart = IzinKaydiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'egitim-kaydi-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzDatePickerModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Eğitim Kaydı\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(124,58,237,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #7c3aed, #a78bfa, #7c3aed); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(124,58,237,0.1); outline: none; }\n .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\n `],\n})\nexport class EgitimKaydiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'egitim-kaydi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
EĞİTİM KAYDI
\n
{{ p()?.egitimAdi || 'Eğitim' }}
\n
\n {{ p()?.sure || 1 }} saat\n @if (p()?.sertifikaNo) { {{ p().sertifikaNo }} }\n
\n @if (p()?.notlar) {
{{ p().notlar }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #7c3aed; --accent-rgb: 124,58,237; }\n .eg-ad { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .eg-alt { display: flex; align-items: center; gap: 8px; margin-top: 2px; }\n .eg-sure { font-size: 18px; font-weight: 900; color: #a78bfa; font-variant-numeric: tabular-nums; text-shadow: 0 0 10px rgba(167,139,250,.3); }\n .eg-sertifika { font-size: 8px; font-weight: 600; letter-spacing: .06em; padding: 2px 6px; border-radius: 2px; color: #fff; background: rgba(124,58,237,0.3); }\n .eg-notlar { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n `],\n})\nexport class EgitimKaydiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { EgitimKaydiEditComponent } from './egitim-kaydi-edit.component';\nimport { EgitimKaydiKartComponent } from './egitim-kaydi-kart.component';\n\n@DinamikBilesen({\n id: 'egitim-kaydi',\n baslik: 'Eğitim Kaydı',\n aciklama: 'Eğitim kaydı ekle',\n ikon: 'read',\n kategori: 'personel',\n})\nclass EgitimKaydi {\n paylas_kutusu = EgitimKaydiEditComponent;\n paylasilmis_kart = EgitimKaydiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'duyuru-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule,\n CdkTextareaAutosize],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Duyuru\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
\r\n \r\n Normal\r\n Önemli\r\n Acil\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\r\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(234,88,12,0.35); }\r\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #ea580c, #fb923c, #ea580c); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input], .input-wrap textarea[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus, .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(234,88,12,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class DuyuruEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst ONC_RENK: Record = { 'Normal': '#3b82f6', 'Önemli': '#f59e0b', 'Acil': '#ef4444' };\nconst ONC_RGB: Record = { 'Normal': '59,130,246', 'Önemli': '245,158,11', 'Acil': '239,68,68' };\n\n@Component({\n selector: 'duyuru-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
DUYURU
\n
\n
{{ p()?.baslik || 'Duyuru' }}
\n
{{ p()?.oncelik || 'Normal' }}
\n
\n @if (p()?.icerik) {
{{ p().icerik }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #ea580c; --accent-rgb: 234,88,12; }\n .dy-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .dy-baslik { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .dy-oncelik-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; background: var(--accent); flex-shrink: 0; }\n .dy-icerik { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n `],\n})\nexport class DuyuruKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n oncRenk = computed(() => ONC_RENK[this.p()?.oncelik] || '#ea580c');\n oncRgb = computed(() => ONC_RGB[this.p()?.oncelik] || '234,88,12');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { DuyuruEditComponent } from './duyuru-edit.component';\nimport { DuyuruKartComponent } from './duyuru-kart.component';\n\n@DinamikBilesen({\n id: 'duyuru',\n baslik: 'Duyuru',\n aciklama: 'Departman duyurusu ekle',\n ikon: 'notification',\n kategori: 'departman',\n})\nclass Duyuru {\n paylas_kutusu = DuyuruEditComponent;\n paylasilmis_kart = DuyuruKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'degerlendirme-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Değerlendirme\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(180,83,9,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #b45309, #fbbf24, #b45309); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(180,83,9,0.1); outline: none; }\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\n `],\n})\nexport class DegerlendirmeEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'degerlendirme-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
DEĞERLENDİRME
\n
\n
\n
\n
KALİTE
\n
\n
{{ p()?.kalitePuani || 3 }}
\n
\n
\n
\n
TESLİMAT
\n
\n
{{ p()?.teslimatPuani || 3 }}
\n
\n
\n
\n
FİYAT
\n
\n
{{ p()?.fiyatPuani || 3 }}
\n
\n
\n @if (p()?.notlar) {
{{ p().notlar }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #b45309; --accent-rgb: 180,83,9; }\n .dg-notlar { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 4px; }\n `],\n})\nexport class DegerlendirmeKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n ortalama = computed(() => {\n const d = this.p();\n return Math.round(((d?.kalitePuani || 3) + (d?.teslimatPuani || 3) + (d?.fiyatPuani || 3)) / 3);\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { DegerlendirmeEditComponent } from './degerlendirme-edit.component';\nimport { DegerlendirmeKartComponent } from './degerlendirme-kart.component';\n\n@DinamikBilesen({\n id: 'degerlendirme',\n baslik: 'Değerlendirme',\n aciklama: 'Tedarikçi değerlendirmesi ekle',\n ikon: 'star',\n kategori: 'tedarikci',\n})\nclass Degerlendirme {\n paylas_kutusu = DegerlendirmeEditComponent;\n paylasilmis_kart = DegerlendirmeKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'bakim-plani-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzSelectModule, NzDatePickerModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Bakım Planı\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 Günlük\r\n Haftalık\r\n Aylık\r\n Yıllık\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
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n\r\n :host { display: block; }\r\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\r\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(3,105,161,0.35); }\r\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #0369a1, #38bdf8, #0369a1); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(3,105,161,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector, .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class BakimPlaniEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst PER_RENK: Record = { 'Günlük': '#ef4444', 'Haftalık': '#f59e0b', 'Aylık': '#3b82f6', 'Yıllık': '#8b5cf6' };\n\n@Component({\n selector: 'bakim-plani-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
BAKIM PLANI
\n
\n
{{ p()?.bakimTuru || 'Bakım' }}
\n
{{ p()?.periyot || 'Aylık' }}
\n
\n @if (p()?.notlar) {
{{ p().notlar }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #0369a1; --accent-rgb: 3,105,161; }\n .bp-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .bp-tur { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }\n .bp-per-badge { font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; color: #fff; flex-shrink: 0; }\n .bp-notlar {\n font-size: 10px;\n color: var(--py-metin-ikincil, #64748b);\n line-height: 1.4;\n max-height: 80px;\n overflow-y: auto;\n overflow-x: hidden;\n white-space: normal;\n word-wrap: break-word;\n padding: 2px 4px;\n background: rgba(0,0,0,0.15);\n border-radius: 3px;\n }\n .bp-notlar::-webkit-scrollbar {\n width: 4px;\n }\n .bp-notlar::-webkit-scrollbar-track {\n background: transparent;\n }\n .bp-notlar::-webkit-scrollbar-thumb {\n background: rgba(255,255,255,0.3);\n border-radius: 2px;\n }\n .bp-notlar::-webkit-scrollbar-thumb:hover {\n background: rgba(255,255,255,0.5);\n }\n `],\n})\nexport class BakimPlaniKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n perRenk = computed(() => PER_RENK[this.p()?.periyot] || '#0369a1');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { BakimPlaniEditComponent } from './bakim-plani-edit.component';\nimport { BakimPlaniKartComponent } from './bakim-plani-kart.component';\n\n@DinamikBilesen({\n id: 'bakim-plani',\n baslik: 'Bakım Planı',\n aciklama: 'Periyodik bakım planı ekle',\n ikon: 'tool',\n kategori: 'makine',\n})\nclass BakimPlani {\n paylas_kutusu = BakimPlaniEditComponent;\n paylasilmis_kart = BakimPlaniKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'ariza-kaydi-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzDatePickerModule, NzSelectModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Arıza Kaydı\n
\n
\n
\n
\n \n
\n \n Mekanik\n Elektrik\n Hidrolik\n Pnömatik\n Yazılım\n Diğer\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(220,38,38,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #dc2626, #f87171, #dc2626); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(220,38,38,0.1); outline: none; }\n .input-wrap ::ng-deep .ant-select-selector, .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\n .ac-opt { display: flex; align-items: center; gap: 8px; }\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\n `],\n})\nexport class ArizaKaydiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'ariza-kaydi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
ARIZA KAYDI
\n
{{ p()?.arizaTuru || 'Arıza' }}
\n
\n {{ p()?.sure || 0 }}h\n @if (p()?.maliyet) { {{ maliyetFormatli() }} }\n
\n @if (p()?.cozum) {
{{ p().cozum }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #dc2626; --accent-rgb: 220,38,38; }\n .ar-tur { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); }\n .ar-alt { display: flex; align-items: center; gap: 10px; margin-top: 2px; }\n .ar-sure { font-size: 18px; font-weight: 900; color: #f87171; font-variant-numeric: tabular-nums; text-shadow: 0 0 10px rgba(248,113,113,.3); }\n .ar-maliyet { font-size: 12px; font-weight: 700; color: #fbbf24; }\n .ar-cozum {\n font-size: 10px;\n color: var(--py-metin-ikincil, #64748b);\n line-height: 1.4;\n max-height: 80px;\n overflow-y: auto;\n overflow-x: hidden;\n white-space: normal;\n word-wrap: break-word;\n padding: 2px 4px;\n background: rgba(0,0,0,0.15);\n border-radius: 3px;\n }\n .ar-cozum::-webkit-scrollbar {\n width: 4px;\n }\n .ar-cozum::-webkit-scrollbar-track {\n background: transparent;\n }\n .ar-cozum::-webkit-scrollbar-thumb {\n background: rgba(255,255,255,0.3);\n border-radius: 2px;\n }\n .ar-cozum::-webkit-scrollbar-thumb:hover {\n background: rgba(255,255,255,0.5);\n }\n `],\n})\nexport class ArizaKaydiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n maliyetFormatli = computed(() => {\n const m = this.p()?.maliyet;\n if (!m) return '';\n return Number(m).toLocaleString('tr-TR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' TL';\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ArizaKaydiEditComponent } from './ariza-kaydi-edit.component';\nimport { ArizaKaydiKartComponent } from './ariza-kaydi-kart.component';\n\n@DinamikBilesen({\n id: 'ariza-kaydi',\n baslik: 'Arıza Kaydı',\n aciklama: 'Arıza geçmişi kaydı ekle',\n ikon: 'warning',\n kategori: 'makine',\n})\nclass ArizaKaydi {\n paylas_kutusu = ArizaKaydiEditComponent;\n paylasilmis_kart = ArizaKaydiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'uretim-kaydi-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Üretim Kaydı\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(21,101,192,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #1565c0, #42a5f5, #1565c0); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(21,101,192,0.1); outline: none; }\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\n `],\n})\nexport class UretimKaydiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'uretim-kaydi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
ÜRETİM KAYDI
\n
{{ p()?.miktar || 0 }} ADET
\n
\n @if (p()?.fire) { {{ p().fire }} fire }\n @if (p()?.sure) { {{ p().sure }} dk }\n @if (p()?.operator) { {{ p().operator }} }\n
\n @if (p()?.notlar) {
{{ p().notlar }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #1565c0; --accent-rgb: 21,101,192; }\n .uk-miktar { font-size: 24px; font-weight: 900; color: #42a5f5; font-variant-numeric: tabular-nums; text-shadow: 0 0 12px rgba(66,165,245,.3); }\n .uk-label { font-size: 10px; font-weight: 500; color: var(--py-metin-ikincil, #64748b); margin-left: 4px; }\n .uk-alt { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }\n .uk-fire { font-size: 11px; font-weight: 700; color: #ef4444; }\n .uk-sure { font-size: 11px; font-weight: 600; color: #94a3b8; }\n .uk-op { font-size: 10px; font-weight: 500; color: var(--py-metin-ikincil, #64748b); }\n .uk-notlar { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n `],\n})\nexport class UretimKaydiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { UretimKaydiEditComponent } from './uretim-kaydi-edit.component';\nimport { UretimKaydiKartComponent } from './uretim-kaydi-kart.component';\n\n@DinamikBilesen({\n id: 'uretim-kaydi',\n baslik: 'Üretim Kaydı',\n aciklama: 'Üretim kaydı ekle',\n ikon: 'experiment',\n kategori: 'uretim',\n})\nclass UretimKaydi {\n paylas_kutusu = UretimKaydiEditComponent;\n paylasilmis_kart = UretimKaydiKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'revizyon-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzDatePickerModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Revizyon\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(67,56,202,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #4338ca, #818cf8, #4338ca); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input], .input-wrap textarea[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus, .input-wrap textarea[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(67,56,202,0.1); outline: none; }\n .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\n `],\n})\nexport class RevizyonEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'revizyon-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
REVİZYON
\n
\n
Rev. {{ p()?.revizyonNo || 1 }}
\n @if (p()?.fiyatDegisikligi) {
{{ p().fiyatDegisikligi }}
}\n
\n @if (p()?.aciklama) {
{{ p().aciklama }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #4338ca; --accent-rgb: 67,56,202; }\n .rv-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .rv-no { font-size: 18px; font-weight: 900; color: #818cf8; font-variant-numeric: tabular-nums; text-shadow: 0 0 10px rgba(129,140,248,.3); }\n .rv-fiyat-badge { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 2px; color: #fbbf24; background: rgba(251,191,36,0.15); }\n .rv-aciklama { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n `],\n})\nexport class RevizyonKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { RevizyonEditComponent } from './revizyon-edit.component';\nimport { RevizyonKartComponent } from './revizyon-kart.component';\n\n@DinamikBilesen({\n id: 'revizyon',\n baslik: 'Revizyon',\n aciklama: 'Teklif revizyonu ekle',\n ikon: 'history',\n kategori: 'satis',\n})\nclass Revizyon {\n paylas_kutusu = RevizyonEditComponent;\n paylasilmis_kart = RevizyonKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nfunction paramDeger(ek: any, ismi: string): any {\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\n if (diziden != null) return diziden;\n return ek?.[ismi] ?? '';\n}\n\n@Component({\n selector: 'gorusme-notu-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzDatePickerModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n
\n Görüşme Notu\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styles: [`\n :host { display: block; }\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(13,148,136,0.35); }\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\n .input-wrap { position: relative; }\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #0d9488, #5eead4, #0d9488); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(13,148,136,0.1); outline: none; }\n .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\n `],\n})\nexport class GorusmeNotuEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n deger(alan: string): any { return paramDeger(this.p(), alan); }\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\n@Component({\n selector: 'gorusme-notu-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
Görüşme Notu
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
GÖRÜŞME NOTU
\n
{{ p()?.konu || 'Konu' }}
\n
\n @if (p()?.gorusenKisi) { {{ p().gorusenKisi }} }\n @if (p()?.sonuc) { {{ p().sonuc }} }\n
\n @if (p()?.sonrakiAdim) {
{{ p().sonrakiAdim }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #0d9488; --accent-rgb: 13,148,136; }\n .gn-konu { font-size: 13px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gn-alt { display: flex; align-items: center; gap: 8px; margin-top: 2px; flex-wrap: wrap; }\n .gn-kisi { font-size: 11px; font-weight: 600; color: #5eead4; }\n .gn-sonuc { font-size: 10px; color: var(--py-metin-ikincil, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .gn-adim { font-size: 9px; font-weight: 500; color: #fbbf24; padding: 2px 6px; border-radius: 2px; background: rgba(251,191,36,0.1); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n `],\n})\nexport class GorusmeNotuKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { GorusmeNotuEditComponent } from './gorusme-notu-edit.component';\nimport { GorusmeNotuKartComponent } from './gorusme-notu-kart.component';\n\n@DinamikBilesen({\n id: 'gorusme-notu',\n baslik: 'Görüşme Notu',\n aciklama: 'Müşteri görüşme notu ekle',\n ikon: 'message',\n kategori: 'satis',\n})\nclass GorusmeNotu {\n paylas_kutusu = GorusmeNotuEditComponent;\n paylasilmis_kart = GorusmeNotuKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\n\r\nfunction paramDeger(ek: any, ismi: string): any {\r\n const diziden = ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri;\r\n if (diziden != null) return diziden;\r\n return ek?.[ismi] ?? '';\r\n}\r\n\r\n@Component({\r\n selector: 'durus-kaydi-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzDatePickerModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n Duruş Kaydı\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Arıza\r\n Bakım\r\n Malzeme\r\n Kalıp\r\n Operatör\r\n Diğer\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
\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 styles: [`\r\n\r\n :host { display: block; }\r\n .mk-edit { display: flex; flex-direction: column; padding: 0; }\r\n .mk-baslik { display: flex; align-items: center; gap: 10px; padding: 12px 16px; margin-bottom: 4px; border-radius: 10px; background: linear-gradient(135deg, var(--py-arkaplan-soluk, rgba(0,0,0,0.03)), transparent); }\r\n .mk-baslik-ikon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 2px 8px rgba(147,51,234,0.35); }\r\n .mk-baslik span { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); letter-spacing: 0.3px; }\r\n .mk-form { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px; }\r\n .form-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n .form-grup { display: flex; flex-direction: column; gap: 5px; }\r\n .form-grup label { font-size: 11px; font-weight: 500; color: var(--py-metin-ucuncul, rgba(0,0,0,0.45)); text-transform: uppercase; letter-spacing: 0.6px; padding-left: 2px; transition: color 0.2s; }\r\n .form-grup:focus-within label { color: var(--py-link, #1890ff); }\r\n .zorunlu { color: #ff4d4f; font-size: 13px; line-height: 1; vertical-align: middle; }\r\n .input-wrap { position: relative; }\r\n .input-glow { position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; border-radius: 1px; background: linear-gradient(90deg, #9333ea, #c084fc, #9333ea); transition: width 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.3s; opacity: 0; pointer-events: none; z-index: 1; }\r\n .input-wrap:focus-within .input-glow { width: 100%; left: 0; opacity: 1; }\r\n .input-wrap input[nz-input] { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)); border: 1px solid var(--py-kenarlik, #d9d9d9); border-radius: 8px; padding: 7px 11px; font-size: 13px; color: var(--py-metin, #333); transition: border-color 0.25s, background 0.25s, box-shadow 0.25s; }\r\n .input-wrap input[nz-input]:focus { border-color: var(--py-kenarlik-aktif, #1890ff); background: var(--py-input-arka, #fff); box-shadow: 0 0 0 2px rgba(147,51,234,0.1); outline: none; }\r\n .input-wrap ::ng-deep .ant-select-selector, .input-wrap ::ng-deep .ant-picker { background: var(--py-arkaplan-soluk, rgba(0,0,0,0.02)) !important; border: 1px solid var(--py-kenarlik, #d9d9d9) !important; border-radius: 8px !important; min-height: 34px; }\r\n .input-wrap ::ng-deep .ant-input-number { width: 100% !important; border-radius: 8px; }\r\n .ac-opt { display: flex; align-items: center; gap: 8px; }\r\n .ac-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\r\n `],\r\n})\r\nexport class DurusKaydiEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n deger(alan: string): any { return paramDeger(this.p(), alan); }\r\n guncelle(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n params.ek[alan] = deger;\r\n this.parametreler.set({ ...params });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\n\nconst NEDEN_RENK: Record = { 'Arıza': '#ef4444', 'Bakım': '#3b82f6', 'Malzeme': '#f59e0b', 'Kalıp': '#8b5cf6', 'Operatör': '#06b6d4', 'Diğer': '#94a3b8' };\nconst NEDEN_RGB: Record = { 'Arıza': '239,68,68', 'Bakım': '59,130,246', 'Malzeme': '245,158,11', 'Kalıp': '139,92,246', 'Operatör': '6,182,212', 'Diğer': '148,163,184' };\n\n@Component({\n selector: 'durus-kaydi-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
DURUŞ KAYDI
\n
\n
{{ p()?.neden || 'Arıza' }}
\n
{{ p()?.sure || 0 }} DK
\n
\n @if (p()?.notlar) {
{{ p().notlar }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .gc { --accent: #9333ea; --accent-rgb: 147,51,234; }\n .dk-ust { display: flex; justify-content: space-between; align-items: center; gap: 8px; }\n .dk-neden-badge { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 10px; border-radius: 2px; color: #fff; background: var(--accent); }\n .dk-sure { font-size: 22px; font-weight: 900; color: #c084fc; font-variant-numeric: tabular-nums; text-shadow: 0 0 12px rgba(192,132,252,.3); }\n .dk-sure-label { font-size: 10px; font-weight: 500; color: var(--py-metin-ikincil, #64748b); margin-left: 2px; }\n .dk-notlar { font-size: 10px; color: var(--py-metin-ikincil, #64748b); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n `],\n})\nexport class DurusKaydiKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n nedenRenk = computed(() => NEDEN_RENK[this.p()?.neden] || '#9333ea');\n nedenRgb = computed(() => NEDEN_RGB[this.p()?.neden] || '147,51,234');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { DurusKaydiEditComponent } from './durus-kaydi-edit.component';\nimport { DurusKaydiKartComponent } from './durus-kaydi-kart.component';\n\n@DinamikBilesen({\n id: 'durus-kaydi',\n baslik: 'Duruş Kaydı',\n aciklama: 'Duruş kaydı ekle',\n ikon: 'pause-circle',\n kategori: 'uretim',\n})\nclass DurusKaydi {\n paylas_kutusu = DurusKaydiEditComponent;\n paylasilmis_kart = DurusKaydiKartComponent;\n}\n","import { Injectable, inject } from '@angular/core';\r\nimport { BehaviorSubject, Subject, Subscription } from 'rxjs';\r\nimport { FikoYTService } from '../../../../../service/fikoyt.service';\r\n\r\nexport type WsBaglantiDurum = 'bagli-degil' | 'baglaniyor' | 'bagli' | 'hata';\r\n\r\nexport interface BagliCihaz {\r\n cihaz_kimlik: string;\r\n cihaz_ismi?: string;\r\n tur?: string;\r\n baglanti_zamani?: string;\r\n firmware_surum?: string;\r\n ip_adres?: string;\r\n desteklenen_komutlar?: string[];\r\n}\r\n\r\nexport interface KartOlayVerisi {\r\n durum: 'koyuldu' | 'cekildi';\r\n kartKimlik: string;\r\n cihazKimlik: string;\r\n zaman: Date;\r\n kartUptimeSn?: number;\r\n kaynakDurumCevap?: boolean;\r\n}\r\n\r\nexport interface ICihazTelemetri {\r\n cihaz_kimlik: string;\r\n zaman: string;\r\n batarya?: { seviye: number; sarj: boolean; destekleniyor: boolean; voltaj_mv?: number };\r\n ag?: { cevrimici: boolean; tur: string; rssi?: number; ssid?: string; ip?: string; mac?: string };\r\n ekran?: { genislik: number; yukseklik: number; tamEkran: boolean };\r\n sistem?: { free_heap?: number; chip_id?: string; cpu_mhz?: number; firmware?: string; user_agent?: string; bellek?: any };\r\n istatistik?: { toplam_okuma?: number; toplam_hata?: number; son_kart_uid?: string; kart_takili?: boolean };\r\n karanlikMod?: boolean;\r\n uptime?: number;\r\n}\r\n\r\nexport interface ICihazKomutVerisi {\r\n cihaz_kimlik: string;\r\n komut_kodu: string;\r\n parametreler?: Record;\r\n _id?: string;\r\n gonderen?: string;\r\n}\r\n\r\nexport interface ICihazKomutCevap {\r\n komut_id?: string;\r\n komut_kodu: string;\r\n cihaz_kimlik: string;\r\n basarili: boolean;\r\n mesaj: string;\r\n durum: string;\r\n zaman?: number;\r\n}\r\n\r\nexport interface ICihazOlayVerisi {\r\n cihaz_kimlik: string;\r\n cihaz_tipi?: string;\r\n olay_kodu: string;\r\n aciklama?: string;\r\n zaman?: any;\r\n kaynak?: string;\r\n veri?: any;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class KartWebSocketService {\r\n readonly durum$ = new BehaviorSubject('bagli-degil');\r\n readonly veriGeldi$ = new Subject();\r\n readonly kartOlayi$ = new Subject();\r\n /** Cihaz filtresinden BAĞIMSIZ ham kart olayları — kart-sahibi widget'ı gibi\r\n * kendi UID eşleşmesini yapan dinleyiciler için (cihaz filtresi tuzağını önler) */\r\n readonly kartOlayiHam$ = new Subject();\r\n\r\n /** `pdks_kart_hareketler` koleksiyonunda DEĞİŞİKLİK olduğunda tetiklenir\r\n * (kart-sahibi tarafındaki manuel giriş/çıkış ekleme, düzenleme, silme vb.).\r\n * Bu değişiklikler doğrudan DB'ye yazıldığı için WS olayı üretmez — firmada-panel\r\n * gibi koleksiyonu okuyan bileşenlerin durumu canlı tazeleyebilmesi için\r\n * kart-sahibi değişiklik sonrası buraya sinyal yollar. */\r\n readonly hareketDegisti$ = new Subject();\r\n readonly hataMesaji$ = new BehaviorSubject('');\r\n readonly cihazlar$ = new BehaviorSubject([]);\r\n readonly telemetriMap$ = new BehaviorSubject>(new Map());\r\n\r\n /** Uzak komut geldiginde tetiklenir (HMI tarafinda dinlenir) */\r\n readonly komutGeldi$ = new Subject();\r\n\r\n /** Komut cevabi geldiginde tetiklenir (admin tarafinda dinlenir) */\r\n readonly komutCevabi$ = new Subject();\r\n\r\n /** Cihaz olayi geldiginde tetiklenir (admin tarafinda dinlenir) */\r\n readonly olayGeldi$ = new Subject();\r\n\r\n /** Cihaz başına son okunan kart UID'si */\r\n private _sonKartMap = new Map();\r\n\r\n /** Şu an okuyucuda olan kartın UID'si — kart konulduğunda set, çekildinde null */\r\n readonly aktifKartUid$ = new BehaviorSubject(null);\r\n\r\n private _subs: Subscription[] = [];\r\n private _cihazFiltre = '';\r\n private _aktif = false;\r\n\r\n private fikoyt = inject(FikoYTService);\r\n\r\n get bagli(): boolean { return this.durum$.value === 'bagli'; }\r\n\r\n get varsayilanUrl(): string {\r\n return 'FikoYT Sunucu (Socket.IO)';\r\n }\r\n\r\n baglan(_url?: string, cihazKimlik?: string): Promise {\r\n this.kopar();\r\n this._cihazFiltre = cihazKimlik || '';\r\n this._aktif = true;\r\n\r\n const socket = this.fikoyt.io;\r\n\r\n if (!socket) {\r\n this.hataMesaji$.next('Socket.IO baglantisi bulunamadi');\r\n this.durum$.next('hata');\r\n return Promise.resolve(false);\r\n }\r\n\r\n // Zaten bagli mi?\r\n if (socket.bagli()) {\r\n this.dinlemeBasla(socket);\r\n this.durum$.next('bagli');\r\n return Promise.resolve(true);\r\n }\r\n\r\n // Baglanti bekleniyor\r\n this.durum$.next('baglaniyor');\r\n\r\n return new Promise(resolve => {\r\n const timeout = setTimeout(() => {\r\n if (this.durum$.value === 'baglaniyor') {\r\n this.dinlemeBasla(socket);\r\n this.hataMesaji$.next('Sunucu henuz bagli degil, yeniden baglaninca otomatik dinlenecek');\r\n this.durum$.next('bagli');\r\n resolve(true);\r\n }\r\n }, 800);\r\n\r\n const sub = socket.fromEvent('connect').subscribe(() => {\r\n clearTimeout(timeout);\r\n if (this._aktif) {\r\n this.dinlemeBasla(socket);\r\n this.durum$.next('bagli');\r\n resolve(true);\r\n }\r\n sub.unsubscribe();\r\n });\r\n this._subs.push(sub);\r\n });\r\n }\r\n\r\n kopar() {\r\n this._aktif = false;\r\n for (const sub of this._subs) sub.unsubscribe();\r\n this._subs = [];\r\n this.durum$.next('bagli-degil');\r\n this.aktifKartUid$.next(null);\r\n }\r\n\r\n /** Socket.IO uzerinden seri komut gonderilemez */\r\n yaz(_veri: string): boolean {\r\n return false;\r\n }\r\n\r\n // ═══════════════════════════════════════════════════════════════════════════\r\n // OLAY EMIT (HMI -> Sunucu)\r\n // ═══════════════════════════════════════════════════════════════════════════\r\n\r\n /** Cihaz olayi logla (sunucuya gonder, DB'ye kaydedilir) */\r\n olayGonder(olay: Partial): void {\r\n const socket = this.fikoyt.io;\r\n if (!socket) return;\r\n // cihaz_kimlik yoksa localStorage'dan oku (HMI cihaz kimligi)\r\n const cihazKimlik = olay.cihaz_kimlik || localStorage.getItem('fikoyt_cihaz_kimlik') || '';\r\n socket.emit('FikoYT.sistem.io.cihaz.olay', {\r\n ...olay,\r\n cihaz_kimlik: cihazKimlik,\r\n cihaz_tipi: olay.cihaz_tipi || 'hmi_pano',\r\n zaman: new Date().toISOString(),\r\n });\r\n }\r\n\r\n /** Komut cevabi gonder (cihaz -> admin) */\r\n komutCevabiGonder(cevap: Partial): void {\r\n const socket = this.fikoyt.io;\r\n if (!socket) return;\r\n socket.emit('FikoYT.sistem.io.cihaz.komut-cevap', cevap);\r\n }\r\n\r\n private dinlemeBasla(socket: any) {\r\n // Onceki abonelikleri temizle\r\n for (const sub of this._subs) sub.unsubscribe();\r\n this._subs = [];\r\n\r\n // Kart okuyucu olayi\r\n const sub1 = socket.fromEvent('FikoYT.sistem.io.cihaz.guncellendi').subscribe((data: any) => {\r\n this.olayIsle(data);\r\n });\r\n this._subs.push(sub1);\r\n\r\n // Cihaz baglanti bilgisi\r\n const sub2 = socket.fromEvent('FikoYT.sistem.io.cihaz.baglandi').subscribe((data: any) => {\r\n this.cihazBaglandiIsle(data);\r\n });\r\n this._subs.push(sub2);\r\n\r\n // Durum sorgulama cevabi — sadece cihaz bilgisi için kullan, kart olayı tetikleme\r\n const sub5 = socket.fromEvent('FikoYT.sistem.io.cihaz.durum-cevap').subscribe((data: any) => {\r\n this.durumCevabiIsle(data);\r\n });\r\n this._subs.push(sub5);\r\n\r\n // Cihaz listesi cevabi (toplu kesfetme)\r\n const sub7 = socket.fromEvent('FikoYT.sistem.io.cihaz.liste-cevap').subscribe((data: any) => {\r\n this.cihazListesiIsle(data);\r\n });\r\n this._subs.push(sub7);\r\n\r\n // Cihaz telemetri verisi\r\n const subTelemetri = socket.fromEvent('FikoYT.sistem.io.cihaz.telemetri').subscribe((data: any) => {\r\n this.telemetriIsle(data);\r\n });\r\n this._subs.push(subTelemetri);\r\n\r\n // Cihaz (kart okuyucu) koptu bildirimi\r\n const sub6 = socket.fromEvent('FikoYT.sistem.io.cihaz.koptu').subscribe((data: any) => {\r\n this.cihazKoptuIsle(data);\r\n });\r\n this._subs.push(sub6);\r\n\r\n // ═══ UZAK KOMUT DINLEYICI (HMI cihaz tarafinda) ═══\r\n const subKomut = socket.fromEvent('FikoYT.sistem.io.cihaz.komut').subscribe((data: any) => {\r\n const payload = Array.isArray(data) ? data[0] : data;\r\n if (payload) {\r\n this.komutGeldi$.next(payload);\r\n }\r\n });\r\n this._subs.push(subKomut);\r\n\r\n // ═══ KOMUT CEVABI DINLEYICI (Admin tarafinda) ═══\r\n const subKomutCevap = socket.fromEvent('FikoYT.sistem.io.cihaz.komut-cevap').subscribe((data: any) => {\r\n const payload = Array.isArray(data) ? data[0] : data;\r\n if (payload) {\r\n this.komutCevabi$.next(payload);\r\n }\r\n });\r\n this._subs.push(subKomutCevap);\r\n\r\n // ═══ CIHAZ OLAY DINLEYICI (Admin tarafinda) ═══\r\n const subOlay = socket.fromEvent('FikoYT.sistem.io.cihaz.olay').subscribe((data: any) => {\r\n const payload = Array.isArray(data) ? data[0] : data;\r\n if (payload) {\r\n this.olayGeldi$.next(payload);\r\n }\r\n });\r\n this._subs.push(subOlay);\r\n\r\n // Disconnect takibi\r\n const sub3 = socket.fromEvent('disconnect').subscribe(() => {\r\n if (this._aktif) {\r\n this.durum$.next('bagli-degil');\r\n }\r\n });\r\n this._subs.push(sub3);\r\n\r\n // Reconnect takibi + durum sorgula\r\n const sub4 = socket.fromEvent('connect').subscribe(() => {\r\n if (this._aktif) {\r\n this.durum$.next('bagli');\r\n this.durumSorgula(socket);\r\n }\r\n });\r\n this._subs.push(sub4);\r\n\r\n // Ilk baglantida da durum sorgula\r\n this.durumSorgula(socket);\r\n }\r\n\r\n /** Sunucudan mevcut kart durumunu ve cihaz listesini sorgula */\r\n private durumSorgula(socket: any) {\r\n const sorgu: any = {};\r\n if (this._cihazFiltre) sorgu.cihaz_kimlik = this._cihazFiltre;\r\n socket.emit('FikoYT.sistem.io.cihaz.durum-sorgula', sorgu);\r\n socket.emit('FikoYT.sistem.io.cihaz.liste-sorgula', {});\r\n socket.emit('FikoYT.sistem.io.cihaz.telemetri-sorgula', sorgu);\r\n // ESP'ye durum_sorgula komutu gonder — anlik kart_uptime_sn alir\r\n if (this._cihazFiltre) {\r\n socket.emit('FikoYT.sistem.io.cihaz.komut', {\r\n komut_kodu: 'durum_sorgula',\r\n cihaz_kimlik: this._cihazFiltre,\r\n _id: 'ds-' + Date.now(),\r\n });\r\n }\r\n }\r\n\r\n /** Cihaz filtresini degistir (yeniden baglanti gerekmez) */\r\n cihazFiltresiAyarla(cihazKimlik: string) {\r\n this._cihazFiltre = cihazKimlik || '';\r\n }\r\n\r\n /** Sunucudan gelen cihaz listesini isle */\r\n private cihazListesiIsle(data: any) {\r\n const liste = Array.isArray(data) ? data : (data?.liste || data?.cihazlar || []);\r\n if (!Array.isArray(liste) || liste.length === 0) return;\r\n\r\n const mevcut = [...this.cihazlar$.value];\r\n for (const item of liste) {\r\n if (!item || typeof item !== 'object') continue;\r\n const kimlik = item.cihaz_kimlik;\r\n if (!kimlik) continue;\r\n const idx = mevcut.findIndex(c => c.cihaz_kimlik === kimlik);\r\n const yeniBilgi: BagliCihaz = {\r\n cihaz_kimlik: kimlik,\r\n cihaz_ismi: item.cihaz_ismi || kimlik,\r\n tur: item.tur || item.cihaz_tipi || 'kart_okuyucu',\r\n baglanti_zamani: item.baglanti_zamani || new Date().toISOString(),\r\n firmware_surum: item.firmware_surum,\r\n ip_adres: item.ip_adres,\r\n desteklenen_komutlar: item.desteklenen_komutlar,\r\n };\r\n if (idx >= 0) {\r\n mevcut[idx] = { ...mevcut[idx], ...yeniBilgi };\r\n } else {\r\n mevcut.push(yeniBilgi);\r\n }\r\n }\r\n this.cihazlar$.next(mevcut);\r\n }\r\n\r\n private olayIsle(data: any) {\r\n if (Array.isArray(data)) {\r\n for (const item of data) this.tekOlayIsle(item);\r\n } else {\r\n this.tekOlayIsle(data);\r\n }\r\n }\r\n\r\n private tekOlayIsle(payload: any) {\r\n if (!payload || typeof payload !== 'object') return;\r\n\r\n // ── Kart olayı filtresi ──\r\n // 'guncellendi' kanalından aktivasyon, telemetri gibi kart-dışı olaylar da geliyor.\r\n // Sadece gerçek kart olaylarını işle (ESP'den gelen: durum=koyuldu/cekildi)\r\n const durum = payload.durum ?? '';\r\n const kartKimlik = payload.kart_kimlik ?? '';\r\n\r\n // tip alanı olan olaylar kart olayı değil (aktivasyon_durum_degisti, telemetri vb.)\r\n if (payload.tip) return;\r\n\r\n // Kart olayı değilse atla: ne kart_kimlik ne de koyuldu/cekildi durumu var\r\n if (!kartKimlik && durum !== 'koyuldu' && durum !== 'cekildi') return;\r\n\r\n // Her olaydan cihaz bilgisini cihaz listesine ekle (kesfetme)\r\n const ck = payload.cihaz_kimlik;\r\n if (ck) {\r\n const mevcut = this.cihazlar$.value;\r\n if (!mevcut.some(c => c.cihaz_kimlik === ck)) {\r\n this.cihazlar$.next([...mevcut, {\r\n cihaz_kimlik: ck,\r\n cihaz_ismi: payload.cihaz_ismi || ck,\r\n tur: payload.tur || 'kart_okuyucu',\r\n baglanti_zamani: new Date().toISOString(),\r\n }]);\r\n }\r\n }\r\n\r\n // Cihaz filtresi — yalnızca filtreli akışı (kartOlayi$) etkiler;\r\n // ham akış (kartOlayiHam$) tüm kart olaylarını taşır\r\n const filtreUyuyor = !this._cihazFiltre || ck === this._cihazFiltre;\r\n\r\n const now = new Date();\r\n\r\n if (durum === 'cekildi') {\r\n const cekilenUid = kartKimlik || this._sonKartMap.get(ck || '') || '';\r\n if (ck) this._sonKartMap.delete(ck);\r\n if (cekilenUid) {\r\n const olay: KartOlayVerisi = { durum: 'cekildi', kartKimlik: cekilenUid, cihazKimlik: ck || '', zaman: now };\r\n this.kartOlayiHam$.next(olay);\r\n if (filtreUyuyor) this.kartOlayi$.next(olay);\r\n }\r\n } else if (kartKimlik && durum === 'koyuldu') {\r\n if (ck) this._sonKartMap.set(ck, String(kartKimlik));\r\n const olay: KartOlayVerisi = { durum: 'koyuldu', kartKimlik: String(kartKimlik), cihazKimlik: ck || '', zaman: now, kartUptimeSn: payload.kart_uptime_sn ?? null };\r\n this.kartOlayiHam$.next(olay);\r\n if (filtreUyuyor) this.kartOlayi$.next(olay);\r\n }\r\n // kartKimlik var ama durum 'koyuldu'/'cekildi' değilse → atla (belirsiz durum)\r\n }\r\n\r\n /** Durum sorgulama cevabı — cihaz bilgisi güncelle ama kart olayı tetikleme */\r\n private durumCevabiIsle(data: any) {\r\n if (Array.isArray(data)) {\r\n for (const item of data) this.tekDurumCevabiIsle(item);\r\n } else {\r\n this.tekDurumCevabiIsle(data);\r\n }\r\n }\r\n\r\n private tekDurumCevabiIsle(payload: any) {\r\n if (!payload || typeof payload !== 'object') return;\r\n console.log('[DURUM-CEVAP]', JSON.stringify(payload));\r\n\r\n // Cihaz bilgisini listeye ekle (keşfetme amaçlı)\r\n const ck = payload.cihaz_kimlik;\r\n if (ck) {\r\n const mevcut = this.cihazlar$.value;\r\n if (!mevcut.some(c => c.cihaz_kimlik === ck)) {\r\n this.cihazlar$.next([...mevcut, {\r\n cihaz_kimlik: ck,\r\n cihaz_ismi: payload.cihaz_ismi || ck,\r\n tur: payload.tur || 'kart_okuyucu',\r\n baglanti_zamani: new Date().toISOString(),\r\n }]);\r\n }\r\n }\r\n\r\n // durum-cevap'ta kart bilgisi varsa → kart olayı tetikle (mevcut durumu öğren)\r\n const kartKimlik = payload.kart_kimlik ?? '';\r\n const durum = payload.durum ?? '';\r\n if (this._cihazFiltre && ck !== this._cihazFiltre) return;\r\n\r\n if (kartKimlik && durum === 'koyuldu') {\r\n if (ck) this._sonKartMap.set(ck, String(kartKimlik));\r\n this.kartOlayi$.next({\r\n durum: 'koyuldu',\r\n kartKimlik: String(kartKimlik),\r\n cihazKimlik: ck || '',\r\n zaman: new Date(),\r\n kartUptimeSn: payload.kart_uptime_sn ?? null,\r\n kaynakDurumCevap: true,\r\n });\r\n }\r\n }\r\n\r\n private cihazBaglandiIsle(data: any) {\r\n let payload: any;\r\n if (Array.isArray(data)) {\r\n payload = data[0];\r\n } else {\r\n payload = data;\r\n }\r\n if (!payload) return;\r\n const cihazIsmi = payload?.cihaz_ismi || payload?.cihaz_kimlik || 'Bilinmeyen';\r\n this.veriGeldi$.next(`[Cihaz Baglandi] ${cihazIsmi}`);\r\n\r\n // Cihaz listesine ekle/guncelle\r\n const kimlik = payload?.cihaz_kimlik;\r\n if (kimlik) {\r\n const mevcut = [...this.cihazlar$.value];\r\n const idx = mevcut.findIndex(c => c.cihaz_kimlik === kimlik);\r\n const yeniBilgi: BagliCihaz = {\r\n cihaz_kimlik: kimlik,\r\n cihaz_ismi: payload?.cihaz_ismi || '',\r\n tur: payload?.tur || payload?.cihaz_tipi || 'kart_okuyucu',\r\n baglanti_zamani: new Date().toISOString(),\r\n firmware_surum: payload?.firmware_surum,\r\n ip_adres: payload?.ip_adres,\r\n desteklenen_komutlar: payload?.desteklenen_komutlar,\r\n };\r\n if (idx >= 0) {\r\n mevcut[idx] = { ...mevcut[idx], ...yeniBilgi };\r\n } else {\r\n mevcut.push(yeniBilgi);\r\n }\r\n this.cihazlar$.next(mevcut);\r\n }\r\n }\r\n\r\n private cihazKoptuIsle(data: any) {\r\n let payload: any;\r\n if (Array.isArray(data)) {\r\n payload = data[0];\r\n } else {\r\n payload = data;\r\n }\r\n if (!payload) return;\r\n\r\n // Cihaz listesinden cikar\r\n const kimlik = payload?.cihaz_kimlik;\r\n if (kimlik) {\r\n const mevcut = this.cihazlar$.value;\r\n this.cihazlar$.next(mevcut.filter(c => c.cihaz_kimlik !== kimlik));\r\n\r\n // Telemetri verisini de temizle\r\n const tMap = new Map(this.telemetriMap$.value);\r\n tMap.delete(kimlik);\r\n this.telemetriMap$.next(tMap);\r\n }\r\n\r\n if (this._cihazFiltre && payload.cihaz_kimlik !== this._cihazFiltre) return;\r\n\r\n const cihazKimlik = payload?.cihaz_kimlik || 'Bilinmeyen';\r\n this.veriGeldi$.next(`[Cihaz Koptu] ${cihazKimlik}`);\r\n this.veriGeldi$.next('Kart Okuyucu Baglantisi Kesildi');\r\n }\r\n\r\n private telemetriIsle(data: any) {\r\n if (!data || typeof data !== 'object') return;\r\n const payload = Array.isArray(data) ? data[0] : data;\r\n if (!payload?.cihaz_kimlik) return;\r\n\r\n const map = new Map(this.telemetriMap$.value);\r\n map.set(payload.cihaz_kimlik, {\r\n cihaz_kimlik: payload.cihaz_kimlik,\r\n zaman: payload.zaman || new Date().toISOString(),\r\n batarya: payload.batarya,\r\n ag: payload.ag,\r\n ekran: payload.ekran,\r\n sistem: payload.sistem,\r\n istatistik: payload.istatistik,\r\n karanlikMod: payload.karanlikMod,\r\n uptime: payload.uptime,\r\n });\r\n this.telemetriMap$.next(map);\r\n\r\n // Cihaz listesinde yoksa ekle\r\n const mevcut = this.cihazlar$.value;\r\n if (!mevcut.some(c => c.cihaz_kimlik === payload.cihaz_kimlik)) {\r\n this.cihazlar$.next([...mevcut, {\r\n cihaz_kimlik: payload.cihaz_kimlik,\r\n cihaz_ismi: payload.cihaz_ismi || payload.cihaz_kimlik,\r\n tur: 'hmi_pano',\r\n baglanti_zamani: new Date().toISOString(),\r\n }]);\r\n }\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component,\n inject, input, OnDestroy, OnInit, signal,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\nimport { KartWebSocketService } from './services/kart-websocket.service';\nimport { Subject, takeUntil } from 'rxjs';\n\n/** Paylaşım sisteminde gösterilecek NodeMCU kart okuyucu durum kartı */\n@Component({\n selector: 'kart-okuyucu-paylasim-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n\n \n
\n
\n \n \n \n \n
\n Kart Okuyucu\n
\n \n {{ bagli() ? (baglantiModu() === 'websocket' ? 'WiFi' : 'Seri') : 'Çevrimdışı' }}\n
\n
\n\n \n
\n\n @if (!bagli()) {\n \n
\n \n Cihaz bağlantısı yok\n
\n } @else if (kartVar()) {\n \n
\n
\n @if (kisiResim()) {\n \"\"\n } @else {\n {{ kisiIsim()?.[0] || '?' }}\n }\n ✓\n
\n
\n
{{ kisiIsim() || 'Tanınmadı' }}
\n
UID: {{ sonUid() }}
\n
\n \n {{ kartSure() }}\n
\n
\n
\n } @else {\n \n
\n
\n
\n
\n
\n \n \n \n
\n
Kart bekleniyor...
\n
\n }\n\n
\n\n \n
\n \n \n {{ parametreler()?.cihazIsmi || parametreler()?.cihazKimlik || 'NodeMCU' }}\n \n {{ sonOkumaZaman() }}\n
\n\n
\n `,\n styles: [`\n .ko-pk-kart {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n border-radius: 12px;\n background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);\n border: 1px solid rgba(0,255,200,0.15);\n overflow: hidden;\n min-width: 220px;\n max-width: 320px;\n color: #e0e0e0;\n transition: border-color 0.3s, box-shadow 0.3s;\n }\n .ko-pk-kart.bagli {\n border-color: rgba(0,255,180,0.25);\n box-shadow: 0 0 16px rgba(0,255,180,0.08);\n }\n .ko-pk-kart.kart-var {\n border-color: rgba(0,220,255,0.4);\n box-shadow: 0 0 24px rgba(0,220,255,0.12);\n }\n\n /* Başlık */\n .ko-pk-baslik-row {\n display: flex;\n align-items: center;\n gap: 7px;\n padding: 10px 12px 8px;\n border-bottom: 1px solid rgba(255,255,255,0.06);\n }\n .ko-pk-ikon-wrap {\n color: rgba(0,220,255,0.7);\n line-height: 0;\n transition: filter 0.3s;\n }\n .ko-pk-ikon-wrap.pulse {\n filter: drop-shadow(0 0 4px rgba(0,220,255,0.8));\n animation: pk-pulse-ikon 2s ease-in-out infinite;\n }\n @keyframes pk-pulse-ikon {\n 0%,100% { filter: drop-shadow(0 0 3px rgba(0,220,255,0.5)); }\n 50% { filter: drop-shadow(0 0 8px rgba(0,220,255,1)); }\n }\n .ko-pk-baslik {\n flex: 1;\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 0.5px;\n color: #ccc;\n }\n .ko-pk-durum-chip {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-weight: 600;\n padding: 3px 8px;\n border-radius: 50px;\n background: rgba(255,255,255,0.06);\n }\n .ko-pk-durum-chip.on { color: #00e6b0; background: rgba(0,230,176,0.12); }\n .ko-pk-durum-chip.off { color: #888; }\n .ko-pk-led {\n width: 6px; height: 6px;\n border-radius: 50%;\n background: currentColor;\n }\n .ko-pk-durum-chip.on .ko-pk-led {\n box-shadow: 0 0 4px currentColor;\n animation: pk-led-blink 2s ease-in-out infinite;\n }\n @keyframes pk-led-blink {\n 0%,100% { opacity: 1; } 50% { opacity: 0.4; }\n }\n\n /* Gövde */\n .ko-pk-govde {\n padding: 12px;\n min-height: 90px;\n display: flex;\n align-items: center;\n }\n\n /* Offline */\n .ko-pk-offline-satir {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n width: 100%;\n text-align: center;\n }\n .ko-pk-offline-yazi {\n font-size: 11px;\n color: #666;\n }\n\n /* Kişi */\n .ko-pk-kisi-wrap {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n }\n .ko-pk-avatar {\n position: relative;\n flex-shrink: 0;\n }\n .ko-pk-avatar-img {\n width: 46px; height: 46px;\n border-radius: 50%;\n object-fit: cover;\n border: 2px solid rgba(0,220,255,0.4);\n }\n .ko-pk-avatar-harf {\n width: 46px; height: 46px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n font-weight: 700;\n background: linear-gradient(135deg, #00c6ff, #0072ff);\n color: white;\n border: 2px solid rgba(0,220,255,0.5);\n box-shadow: 0 0 12px rgba(0,220,255,0.3);\n }\n .ko-pk-avatar.animli .ko-pk-avatar-harf {\n animation: pk-avatar-glow 3s ease-in-out infinite;\n }\n @keyframes pk-avatar-glow {\n 0%,100% { box-shadow: 0 0 8px rgba(0,220,255,0.3); }\n 50% { box-shadow: 0 0 20px rgba(0,220,255,0.7); }\n }\n .ko-pk-avatar-rozet {\n position: absolute;\n bottom: -2px; right: -2px;\n width: 16px; height: 16px;\n border-radius: 50%;\n background: #00e676;\n color: #000;\n font-size: 9px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 900;\n border: 1.5px solid #1a1a2e;\n }\n .ko-pk-kisi-bilgi { flex: 1; min-width: 0; }\n .ko-pk-kisi-isim {\n font-size: 13px;\n font-weight: 700;\n color: #fff;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .ko-pk-kisi-uid {\n font-size: 9px;\n color: rgba(0,220,255,0.6);\n font-family: 'Courier New', monospace;\n margin-top: 2px;\n }\n .ko-pk-sure-row {\n display: flex;\n align-items: center;\n gap: 4px;\n margin-top: 4px;\n color: rgba(0,230,176,0.8);\n font-size: 11px;\n font-weight: 600;\n }\n\n /* Bekleme */\n .ko-pk-bekleme-wrap {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n width: 100%;\n }\n .ko-pk-nfc-animasyon {\n position: relative;\n width: 54px; height: 54px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .ko-pk-nfc-halka {\n position: absolute;\n border-radius: 50%;\n border: 1.5px solid rgba(0,220,255,0.4);\n animation: pk-nfc-expand 2.4s ease-out infinite;\n }\n .ko-pk-nfc-halka.h1 { width: 20px; height: 20px; animation-delay: 0s; }\n .ko-pk-nfc-halka.h2 { width: 36px; height: 36px; animation-delay: 0.6s; }\n .ko-pk-nfc-halka.h3 { width: 52px; height: 52px; animation-delay: 1.2s; }\n @keyframes pk-nfc-expand {\n 0% { transform: scale(0.6); opacity: 0.8; }\n 100% { transform: scale(1.4); opacity: 0; }\n }\n .ko-pk-nfc-svg { position: relative; z-index: 1; color: rgba(0,220,255,0.7); }\n .ko-pk-bekleme-yazi {\n font-size: 11px;\n color: rgba(0,220,255,0.5);\n animation: pk-bekleme-flas 1.8s ease-in-out infinite;\n }\n @keyframes pk-bekleme-flas {\n 0%,100% { opacity: 0.5; } 50% { opacity: 1; }\n }\n\n /* Alt bar */\n .ko-pk-alt-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 12px 7px;\n border-top: 1px solid rgba(255,255,255,0.05);\n font-size: 9px;\n color: rgba(255,255,255,0.3);\n }\n .ko-pk-cihaz {\n display: flex;\n align-items: center;\n gap: 3px;\n }\n `],\n})\nexport class KartOkuyucuKartComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n parametreler = input();\n\n bagli = signal(false);\n kartVar = signal(false);\n baglantiModu = signal<'seri' | 'websocket'>('websocket');\n kisiIsim = signal('');\n kisiResim = signal('');\n sonUid = signal('');\n kartSure = signal('00:00');\n sonOkumaZaman = signal('--:--');\n\n private _destroy$ = new Subject();\n private _sureInterval: any = null;\n private _kartBaslangic: number | null = null;\n\n private wsService = inject(KartWebSocketService);\n private cd = inject(ChangeDetectorRef);\n\n constructor() { super(); }\n\n ngOnInit() {\n // Parametrelerden cihaz kimliği ve ismi oku\n const params = this.parametreler?.() ?? {};\n if (params.cihazKimlik) {\n this.wsService.cihazFiltresiAyarla(params.cihazKimlik);\n }\n\n // WS bağlantı durumu\n this.wsService.durum$.pipe(takeUntil(this._destroy$)).subscribe(durum => {\n this.bagli.set(durum === 'bagli');\n this.baglantiModu.set('websocket');\n if (durum !== 'bagli') {\n this.kartVar.set(false);\n this.kisiIsim.set('');\n this.kisiResim.set('');\n // Bağlantı koptu → okuyucuda kart yok sayılır, kart-sahibi belirteci kapanır\n this.wsService.aktifKartUid$.next(null);\n this._sureDurdur();\n }\n this.cd.markForCheck();\n });\n\n // Kart olayları\n this.wsService.kartOlayi$.pipe(takeUntil(this._destroy$)).subscribe(olay => {\n if (olay.durum === 'koyuldu' && olay.kartKimlik) {\n this.kartVar.set(true);\n this.sonUid.set(olay.kartKimlik);\n this.kisiIsim.set(params.kisiIsim || '');\n this.kisiResim.set(params.kisiResim || '');\n // Kart-sahibi widget'ının belirteci için aktif UID yayını\n this.wsService.aktifKartUid$.next(olay.kartKimlik);\n this.sonOkumaZamanGuncelle();\n this._sureBaslat(olay.kartUptimeSn);\n } else if (olay.durum === 'cekildi') {\n this.kartVar.set(false);\n this.kisiIsim.set('');\n this.kisiResim.set('');\n this.wsService.aktifKartUid$.next(null);\n this._sureDurdur();\n }\n this.cd.markForCheck();\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._destroy$.next();\n this._destroy$.complete();\n this._sureDurdur();\n }\n\n private _sureBaslat(uptimeSn?: number) {\n this._sureDurdur();\n this._kartBaslangic = uptimeSn != null && uptimeSn >= 0\n ? Date.now() - (uptimeSn * 1000)\n : Date.now();\n\n this._sureInterval = setInterval(() => {\n if (!this._kartBaslangic) return;\n const diff = Math.floor((Date.now() - this._kartBaslangic) / 1000);\n const m = Math.floor(diff / 60);\n const s = diff % 60;\n this.kartSure.set(`${m.toString().padStart(2,'0')}:${s.toString().padStart(2,'0')}`);\n this.cd.markForCheck();\n }, 1000);\n }\n\n private _sureDurdur() {\n if (this._sureInterval) { clearInterval(this._sureInterval); this._sureInterval = null; }\n this._kartBaslangic = null;\n this.kartSure.set('00:00');\n }\n\n private sonOkumaZamanGuncelle() {\n const now = new Date();\n this.sonOkumaZaman.set(\n `${now.getHours().toString().padStart(2,'0')}:${now.getMinutes().toString().padStart(2,'0')}`\n );\n }\n}\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component,\n inject, model, OnDestroy, OnInit, signal,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { Subject, takeUntil } from 'rxjs';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\nimport { KartWebSocketService, BagliCihaz } from './services/kart-websocket.service';\n\n/**\n * Paylaşım sistemi edit görünümü —\n * Bağlı kart okuyuculardan birini seçip kartla ilişkilendir.\n */\n@Component({\n selector: 'kart-okuyucu-paylasim-edit',\n standalone: true,\n imports: [CommonModule, FormsModule, NzFormModule, NzInputModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n\n \n
\n \n \n \n \n Kart Okuyucu Seç\n {{ cihazlar().length }} cihaz\n
\n\n \n @if (cihazlar().length === 0) {\n
\n
📡
\n
Bağlı cihaz bulunamadı
\n
Kart okuyucunun sunucuya bağlı olduğundan emin olun
\n
\n } @else {\n
\n @for (cihaz of cihazlar(); track cihaz.cihaz_kimlik) {\n \n\n
\n
\n
\n\n
\n
\n {{ cihaz.cihaz_ismi || cihaz.cihaz_kimlik }}\n
\n
{{ cihaz.cihaz_kimlik }}
\n
\n {{ cihazDurumu(cihaz) }}\n
\n
\n\n @if (secilenKimlik() === cihaz.cihaz_kimlik) {\n
✓
\n }\n\n \n }\n
\n }\n\n \n @if (secilenKimlik()) {\n
\n \n \n \n {{ secilenIsim() }} seçildi\n \n
\n }\n\n \n
\n \n \n
\n\n
\n `,\n styles: [`\n .koe-wrap {\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 4px 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n }\n\n /* Başlık satırı */\n .koe-baslik-row {\n display: flex;\n align-items: center;\n gap: 7px;\n font-size: 12px;\n font-weight: 600;\n color: var(--py-metin-ikincil, #888);\n }\n .koe-cihaz-sayi {\n margin-left: auto;\n font-size: 11px;\n background: var(--py-arkaplan-ucuncul, rgba(0,0,0,0.06));\n padding: 2px 7px;\n border-radius: 50px;\n }\n\n /* Boş durum */\n .koe-bos {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 5px;\n padding: 20px 12px;\n border: 1px dashed var(--py-sinir, rgba(0,0,0,0.12));\n border-radius: 10px;\n text-align: center;\n }\n .koe-bos-ikon { font-size: 28px; opacity: 0.5; }\n .koe-bos-yazi { font-size: 13px; font-weight: 600; color: var(--py-metin, #333); }\n .koe-bos-alt { font-size: 11px; color: var(--py-metin-ikincil, #888); }\n\n /* Cihaz listesi */\n .koe-liste {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 240px;\n overflow-y: auto;\n }\n\n /* Cihaz kartı */\n .koe-cihaz-kart {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 9px 12px;\n border-radius: 10px;\n border: 1.5px solid var(--py-sinir, rgba(0,0,0,0.1));\n background: var(--py-arkaplan, #fff);\n cursor: pointer;\n text-align: left;\n transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;\n width: 100%;\n }\n .koe-cihaz-kart:hover {\n border-color: rgba(0, 180, 220, 0.5);\n box-shadow: 0 0 0 3px rgba(0, 180, 220, 0.08);\n }\n .koe-cihaz-kart.secili {\n border-color: rgba(0, 200, 200, 0.8);\n background: rgba(0, 200, 200, 0.06);\n box-shadow: 0 0 0 3px rgba(0, 200, 200, 0.12);\n }\n\n /* LED */\n .koe-ck-sol { display: flex; align-items: center; }\n .koe-ck-led {\n width: 8px; height: 8px;\n border-radius: 50%;\n background: #ccc;\n }\n .koe-ck-led.aktif {\n background: #00e676;\n box-shadow: 0 0 5px #00e676;\n animation: led-pulse 2s ease-in-out infinite;\n }\n @keyframes led-pulse {\n 0%,100% { opacity: 1; } 50% { opacity: 0.4; }\n }\n\n /* İçerik */\n .koe-ck-icerik { flex: 1; min-width: 0; }\n .koe-ck-isim {\n font-size: 13px;\n font-weight: 600;\n color: var(--py-metin, #222);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .koe-ck-kimlik {\n font-size: 10px;\n color: rgba(0, 180, 220, 0.7);\n font-family: 'Courier New', monospace;\n margin-top: 2px;\n }\n .koe-ck-durum {\n font-size: 10px;\n color: var(--py-metin-ikincil, #999);\n margin-top: 2px;\n }\n\n /* Checkmark */\n .koe-ck-check {\n font-size: 14px;\n color: #00c8c8;\n font-weight: 700;\n flex-shrink: 0;\n }\n\n /* Seçili özet */\n .koe-secili-ozet {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 10px;\n border-radius: 8px;\n background: rgba(0, 200, 180, 0.1);\n border: 1px solid rgba(0, 200, 180, 0.3);\n font-size: 11px;\n color: #00a896;\n font-weight: 600;\n }\n .koe-secili-ozet span { flex: 1; }\n .koe-temizle-btn {\n background: none;\n border: none;\n cursor: pointer;\n color: #00a896;\n font-size: 12px;\n padding: 0 2px;\n opacity: 0.7;\n line-height: 1;\n }\n .koe-temizle-btn:hover { opacity: 1; }\n\n /* Input alanı */\n .koe-alan { display: flex; flex-direction: column; gap: 4px; }\n .koe-label { font-size: 11px; color: var(--py-metin-ikincil, #888); font-weight: 500; }\n .koe-input {\n width: 100%;\n padding: 7px 10px;\n border-radius: 8px;\n border: 1.5px solid var(--py-sinir, rgba(0,0,0,0.1));\n background: var(--py-arkaplan, #fff);\n color: var(--py-metin, #222);\n font-size: 13px;\n outline: none;\n transition: border-color 0.2s;\n box-sizing: border-box;\n }\n .koe-input:focus { border-color: rgba(0, 180, 220, 0.6); }\n .koe-input::placeholder { color: var(--py-metin-ikincil, #aaa); }\n `],\n})\nexport class KartOkuyucuEditComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n parametreler = model();\n\n cihazlar = signal([]);\n secilenKimlik = signal('');\n secilenIsim = signal('');\n /** cihaz_kimlik → 'kart var' | 'kart yok' */\n private kartDurumMap = new Map();\n\n private _destroy$ = new Subject();\n private wsService = inject(KartWebSocketService);\n private cd = inject(ChangeDetectorRef);\n\n constructor() { super(); }\n\n ngOnInit() {\n // Mevcut parametrelerden seçili cihazı restore et\n const params = this.parametreler?.() ?? {};\n if (params.cihazKimlik) {\n this.secilenKimlik.set(params.cihazKimlik);\n this.secilenIsim.set(params.cihazIsmi || params.cihazKimlik);\n }\n\n // Canlı cihaz listesini takip et\n this.wsService.cihazlar$\n .pipe(takeUntil(this._destroy$))\n .subscribe(liste => {\n // kart_okuyucu tipindeki cihazları göster, yoksa hepsini göster\n const filtrelenmis = liste.filter(c =>\n !c.tur || c.tur === 'kart_okuyucu' || c.tur === 'rfid' || c.tur === 'nfc'\n );\n this.cihazlar.set(filtrelenmis.length > 0 ? filtrelenmis : liste);\n this.cd.markForCheck();\n });\n\n // Kart olaylarını dinle → durumu güncelle\n this.wsService.kartOlayi$\n .pipe(takeUntil(this._destroy$))\n .subscribe(olay => {\n if (olay.durum === 'koyuldu') {\n this.kartDurumMap.set(olay.cihazKimlik, true);\n } else {\n this.kartDurumMap.set(olay.cihazKimlik, false);\n }\n this.cd.markForCheck();\n });\n\n // WS bağlı değilse bağlan (cihaz listesi için)\n if (!this.wsService.bagli) {\n this.wsService.baglan();\n }\n }\n\n /** Cihazın anlık durumunu metin olarak döndür */\n cihazDurumu(cihaz: BagliCihaz): string {\n const kartVar = this.kartDurumMap.get(cihaz.cihaz_kimlik);\n if (kartVar === true) return '💳 Kart okutuldu';\n if (kartVar === false) return '⏳ Kart bekleniyor';\n return '📡 Bağlı — durum bekleniyor';\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n cihazSec(cihaz: BagliCihaz) {\n this.secilenKimlik.set(cihaz.cihaz_kimlik);\n this.secilenIsim.set(cihaz.cihaz_ismi || cihaz.cihaz_kimlik);\n this.parametreler.set({\n ...this.parametreler(),\n cihazKimlik: cihaz.cihaz_kimlik,\n cihazIsmi: cihaz.cihaz_ismi || cihaz.cihaz_kimlik,\n });\n }\n\n secimTemizle() {\n this.secilenKimlik.set('');\n this.secilenIsim.set('');\n const p = { ...this.parametreler() };\n delete p.cihazKimlik;\n delete p.cihazIsmi;\n this.parametreler.set(p);\n }\n\n guncelle(alan: string, deger: string) {\n this.parametreler.set({ ...this.parametreler(), [alan]: deger });\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { KartOkuyucuKartComponent } from './kart-okuyucu-kart.component';\nimport { KartOkuyucuEditComponent } from './kart-okuyucu-edit.component';\n\n/**\n * NodeMCU Kart Okuyucu — Dinamik Bileşen\n *\n * Görünümler:\n * • paylasilmis_kart → feed/pano kartı (canlı WS durumu gösterir)\n * • paylas_kutusu → paylaşım oluştururken parametreleri düzenleme formu\n */\n@DinamikBilesen({\n id: 'hmi-kart-okuyucu',\n baslik: 'Kart Okuyucu',\n aciklama: 'NodeMCU RFID/NFC kart okuyucusunun anlık bağlantı ve kart durumunu gösterir',\n ikon: 'credit-card',\n kategori: 'hmi',\n etiketler: ['nodemcu', 'rfid', 'nfc', 'kart', 'websocket'],\n oncelik: 10,\n})\nclass HmiKartOkuyucuBilesen {\n paylasilmis_kart = KartOkuyucuKartComponent;\n paylas_kutusu = KartOkuyucuEditComponent;\n widget = KartOkuyucuKartComponent; // dashboard widget olarak da kullanılabilir\n widget_kucuk = KartOkuyucuKartComponent;\n}\n","
\n\n \n
\n @if (sahipResimUrl()) {\n \"\"\n } @else {\n
{{ sahipIsmi?.[0] || '?' }}
\n }\n
\n {{ sahipIsmi }}\n @if (kartOkuyucuda()) {\n \n \n Kart Okuyucuda\n \n Firmada\n } @else if (sahipIsmi) {\n \n \n Kart Sahibi\n \n @if (firmadaMi() === true) {\n Firmada\n } @else if (firmadaMi() === false) {\n Dışarıda\n }\n }\n UID: {{ kartUid }}\n
\n \n \n
\n\n \n
\n \n {{ ayBasligi }}\n \n \n
\n\n \n\n \n \n @if (yukleniyor() && gunler().length === 0) {\n
Yükleniyor...
\n } @else if (gunler().length === 0) {\n
Bu ay için okuma kaydı yok
\n } @else {\n @if (gunlukHedefDk() > 0 && gunler().length) {\n
\n Ay özeti\n Süre: {{ dakikaFormat(ayToplamNetDk) }}\n Gün: {{ ayCalisilanGunAdet }}\n Fazla: +{{ dakikaFormat(ayToplamFazlaDk) }}\n Eksik: −{{ dakikaFormat(ayToplamEksikDk) }}\n
\n }\n
\n @for (g of gunler(); track g.tarih) {\n
\n
\n {{ g.gun }}\n {{ g.gunAdi }}\n @if (g.bugunMu) { Bugün }\n @if (g.sayisi === 0) {\n Hareket yok\n } @else {\n \n {{ g.ilk }}\n @if (g.ilkYuvari) { ≈ }\n →\n {{ g.son }}\n @if (g.sonYuvari) { ≈ }\n \n @if (cokluGirisCikisAcik() && g.segmentler.length > 1) {\n {{ g.segmentler.length }} blok\n }\n\n }\n @if (g.kesintiler && g.kesintiler.length) {\n \n \n \n \n \n \n }\n @if (gunlukHedefDk() > 0 && g.netSure && gunFazlaEksikDk(g) !== 0) {\n \n {{ gunFazlaEksikMetni(g) }}\n \n }\n @if (g.aciklama) {\n \n \n \n \n \n \n \n \n }\n \n @if (g.netSure || g.sure) {\n {{ g.netSure || g.sure }}\n }\n
\n
\n \n\n @if (gunSilinebilirMi(g)) {\n \n }\n
\n\n \n \n \n
\n }\n
\n }\n\n\n \n
\n @if (dialogGun(); as gun) {\n
\n
\n @if (sahipResimUrl()) {\n \"\"\n } @else {\n
{{ sahipIsmi?.[0] || '?' }}
\n }\n
\n {{ sahipIsmi }}\n {{ gunTarihUzun(gun.tarih) }}\n
\n \n \n
\n\n @if (gun.sayisi > 0) {\n
\n @if (cokluGirisCikisAcik() && gun.segmentler.length) {\n
\n @for (s of gun.segmentler; track $index) {\n
\n {{ s.giris }}\n @if (s.girisYuvari) { ≈ }\n →\n @if (s.acikMi) {\n henüz çıkmadı\n } @else {\n {{ s.cikis }}\n @if (s.cikisYuvari) { ≈ }\n {{ s.sure }}\n }\n
\n }\n
\n } @else {\n {{ gun.ilk }}\n @if (gun.son && gun.son !== gun.ilk) {\n →\n {{ gun.son }}\n }\n }\n @if (gun.netSure || gun.sure) {\n {{ gun.netSure || gun.sure\n }}\n }\n \n
\n }\n\n @if (gun.sayisi > 0 && gun.kesintiler && gun.kesintiler.length) {\n
\n Toplam: {{ dakikaFormat(sureToDakika(gun.sure)) }}\n Kesinti: {{ dakikaFormat(molaToplamDk(gun.kesintiler)) }}\n Net: {{ gun.netSure || dakikaFormat(sureToDakika(gun.sure)) }}\n
\n }\n\n
\n @if (gun.sayisi === 0) {\n
Bu gün için hareket yok
\n }\n @for (grup of okutmaGruplari(gun.olaylar); track grup.ilkOlay._id || grup.ilkOlay.zaman) {\n\n \n @if (grup.ilkOlay._id && duzenlenenGrupIlkId() === grup.ilkOlay._id) {\n
\n \n \n \n
\n\n } @else {\n \n
\n\n
\n @if (grup.grupMu) {\n ×{{ grup.tumOlaylar.length }}\n } @else if (grup.ilkOlay.manuel || grup.sonOlay.manuel) {\n Manuel\n }\n\n \n
\n\n {{ saatFormat(grup.ilkOlay.zaman) }}\n\n @if (grup.ilkOlay.manuel || grup.sonOlay.manuel || superYoneticiMi) {\n
\n \n \n
\n }\n
\n }\n }\n
\n\n \n \n\n \n
\n
\n
\n Mola / İzin\n @if (!kesintiFormAcik()) {\n \n }\n \n
\n\n @if (!kesintiFormAcik()) {\n
\n @for (s of kesintiSablonlari; track s.id) {\n \n }\n
\n }\n\n @if (gun.kesintiler && gun.kesintiler.length) {\n
\n @for (k of gun.kesintiler; track k._id) {\n @if (k._id && duzenlenenKesintiId() === k._id) {\n \n
\n
\n \n \n \n \n \n
\n \n
\n } @else {\n \n
\n \n {{ k.tur === 'mola' ? 'Mola' : 'İzin' }}\n \n {{ k.baslangic }}–{{ k.bitis }}\n {{ dakikaFormat(kesintiSureDk(k)) }}\n @if (k.aciklama) {\n {{ k.aciklama }}\n }\n \n \n
\n }\n }\n
\n }\n\n @if (kesintiFormAcik() && !duzenlenenKesintiId()) {\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n }\n\n @if (gun.sayisi > 0 && gun.kesintiler && gun.kesintiler.length) {\n
\n Toplam: {{ dakikaFormat(sureToDakika(gun.sure)) }}\n Kesinti: {{ dakikaFormat(molaToplamDk(gun.kesintiler)) }}\n Net: {{ gun.netSure || dakikaFormat(sureToDakika(gun.sure)) }}\n
\n }\n
\n
\n\n \n
\n \n @if (aciklamaKaydediliyor()) {\n Kaydediliyor...\n }\n
\n\n \n
\n @if (!manuelFormAcik()) {\n
\n \n @if (girisHedefSaat() && cikisHedefSaat()) {\n \n }\n
\n } @else {\n
\n
\n \n \n
\n
\n \n \n
\n
\n }\n
\n
\n }\n
\n\n \n
\n @if (ayarDialogAcik()) {\n
\n
\n
\n Ayarlar\n Hedef süre, tolerans ve gruplama\n
\n \n
\n\n
\n \n
\n Günlük hedef süre\n
\n \n @if (gunlukHedefDk() > 0) {\n Fazla/eksik hesabı açık\n } @else {\n Hesap için hedef süre girin\n }\n
\n
\n\n \n
\n Tolerans (okunanlar için)\n
\n \n \n
\n
\n \n \n
\n
\n \n \n dk\n
\n
Manuel girilen kayıtlar yuvarlanmaz.
\n
\n\n \n
\n Okutma gruplama\n \n @if (grupOkutmaAcik()) {\n
\n Eşik:\n \n sn\n
\n }\n
\n\n \n
\n Giriş/Çıkış modu\n \n
\n
\n
\n }\n
\n\n
","import {\n AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, effect,\n ElementRef, inject, model, OnDestroy, OnInit, signal, untracked, ViewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\nimport { Subject, takeUntil } from 'rxjs';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { KartWebSocketService } from '../services/kart-websocket.service';\nimport { AvatarService } from '@/src/app/servisler/avatar.service';\nimport { FikoYTService } from '@/src/service/fikoyt.service';\n\nexport interface IKartSahibiOlay {\n _id?: string;\n zaman: string;\n durum: 'koyuldu' | 'cekildi';\n manuel?: boolean;\n /** Görünüm amaçlı: bu satır, ≤5sn içindeki birden çok ham kaydı temsil ediyorsa adet ve alt kayıtlar */\n grupAdedi?: number;\n grupOlaylari?: IKartSahibiOlay[];\n}\n/** Çoklu giriş/çıkış modunda bir güne ait tek bir mesai bloğu (giriş→çıkış çifti). */\nexport interface IGirisCikisSegment {\n /** Girişin ISO zamanı (tolerans uygulanmışsa yuvarlanmış hâli) */\n girisZaman: string;\n /** Çıkışın ISO zamanı — segment henüz kapanmadıysa '' */\n cikisZaman: string;\n /** 'HH:MM' — görüntüleme */\n giris: string;\n /** 'HH:MM' — görüntüleme, açık segmentte '' */\n cikis: string;\n girisYuvari: boolean;\n cikisYuvari: boolean;\n /** true = bu segmentin çıkışı henüz okutulmadı (gün içinde hâlâ \"içeride\") */\n acikMi: boolean;\n /** Giriş-çıkış farkı 'SA:DK:SN', açık segmentte '' */\n sure: string;\n}\n\nexport interface IKartSahibiGun {\n tarih: string;\n gun: number;\n /** Kısa gün adı — 'Pzt', 'Sal' vb. (hafta/ay listesinde hızlı taranabilirlik için) */\n gunAdi: string;\n /** Bugünün satırı mı — vurgulama için */\n bugunMu: boolean;\n ilk: string;\n son: string;\n /** Giriş/çıkış saati tolerans ile hedef saate yuvarlandıysa true (bilgilendirme ikonu için). */\n ilkYuvari?: boolean;\n sonYuvari?: boolean;\n /** İlk okutma ile son okutma arasındaki fark — 'SA:DK:SN' biçiminde, tekil/boş günlerde '' */\n sure: string;\n sayisi: number;\n olaylar: IKartSahibiOlay[];\n haftaSonuMu: boolean;\n tatilMi: boolean;\n aciklama: string; // gün notu — boş string ise yok\n /** DB'deki meta kaydının _id'si — güncelleme/silme için */\n metaId?: string;\n /** Bu güne ait mola/izin kesintileri */\n kesintiler: IGunKesinti[];\n /** Ham süreden 'mola' türü kesintiler düşülmüş hâli — 'SA:DK' biçiminde, hesaplanamıyorsa '' */\n netSure: string;\n /** Çoklu giriş/çıkış modu açıksa doldurulur (bkz. cokluGirisCikisAcik); kapalıysa boş dizi. */\n segmentler: IGirisCikisSegment[];\n}\n\n/** pdks_gun_kesintiler koleksiyonu belgesi — bir güne ait mola/izin aralığı.\n * tur === 'mola' ise net süreden düşülür, 'izin' ise düşülmez (sadece kayıt amaçlı). */\nexport interface IGunKesinti {\n _id?: string;\n kart_kimlik: string;\n tarih: string; // 'YYYY-MM-DD'\n tur: 'mola' | 'izin';\n baslangic: string; // 'HH:MM'\n bitis: string; // 'HH:MM'\n aciklama?: string; // serbest metin not — boş/yok olabilir\n}\n\n/** pdks_gun_meta koleksiyonu belgesi — kart_kimlik + tarih benzersiz key */\nexport interface IGunMeta {\n _id?: string;\n kart_kimlik: string;\n tarih: string; // 'YYYY-MM-DD'\n tatilMi: boolean;\n aciklama?: string; // güne ait serbest metin notu\n}\n\n/** Hızlı ekleme (tek tık) şablonu — sabit bir mola/izin aralığını güne ekler. */\nexport interface IKesintiSablon {\n id: string;\n ad: string;\n tur: 'mola' | 'izin';\n baslangic: string; // 'HH:MM'\n bitis: string; // 'HH:MM'\n aciklama?: string;\n}\n\nconst AY_ISIMLERI = [\n 'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran',\n 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık',\n];\n\n/** Kısa gün adları — Date.getDay() indeksiyle (0=Pazar) hizalı. */\nconst GUN_ISIMLERI_KISA = ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'];\n\n/** Varsayılan hızlı mola/izin şablonları — tek tıkla güne eklenir, dilediğiniz gibi genişletilebilir. */\nconst KESINTI_SABLONLARI: IKesintiSablon[] = [\n { id: 'sabah-cayi', ad: 'Sabah çayı', tur: 'mola', baslangic: '10:00', bitis: '10:10', aciklama: 'Sabah çayı' },\n { id: 'ogle-yemegi', ad: 'Öğle yemeği', tur: 'mola', baslangic: '12:00', bitis: '12:40', aciklama: 'Öğle yemeği' },\n { id: 'aksam-cayi', ad: 'Akşam çayı', tur: 'mola', baslangic: '15:00', bitis: '15:10', aciklama: 'Akşam çayı' },\n];\n\nexport interface IOkutmaGrubu {\n /** Grubun ilk okutması — giriş saati olarak gösterilir */\n ilkOlay: IKartSahibiOlay;\n /** Grubun son okutması — çıkış saati olarak gösterilir (tekil gruplarda ilkOlay ile aynı) */\n sonOlay: IKartSahibiOlay;\n /** Gruptaki tüm ham okutmalar */\n tumOlaylar: IKartSahibiOlay[];\n /** Tekil mi (1 okutma) yoksa gerçek grup mu */\n grupMu: boolean;\n}\n\n/** Paylaşım sisteminde gösterilecek kart — bir kartın aylık okuma geçmişi */\n@Component({\n selector: 'kart-sahibi-paylasim-kart',\n standalone: true,\n imports: [CommonModule, FormsModule, NzPopconfirmModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './kart-sahibi-kart.component.html',\n styleUrl: './kart-sahibi-kart.component.less',\n})\nexport class KartSahibiKartComponent implements OnInit, AfterViewInit, OnDestroy {\n parametreler = model();\n\n private cd = inject(ChangeDetectorRef);\n private wsService = inject(KartWebSocketService);\n private avatar = inject(AvatarService);\n private fikoyt = inject(FikoYTService);\n private _destroy$ = new Subject();\n private _dialogOverlayEl: HTMLElement | null = null;\n private _ayarDialogOverlayEl: HTMLElement | null = null;\n\n yukleniyor = signal(false);\n seciliTarih = signal(new Date());\n gunler = signal([]);\n /** En son çekilen ham olaylar — tolerans/ayar değişince yeniden gruplamak için. */\n private _hamOlaylar: any[] = [];\n /** Bu kart şu an okuyucuda mı? — kart-okuyucu-kart'tan aktifKartUid$ ile güncellenir */\n kartOkuyucuda = signal(false);\n\n /** Kişinin şu an firmada olup olmadığı.\n * Okuyucuda ise kesinlikle içeride. Değilse bugünün segment/olay yapısına bakılır:\n * - Çoklu mod açık: son segmentin acikMi (çıkışı henüz okutulmamış) = firmada\n * - Çoklu mod kapalı: bugün ilk okuma var ama son okuma yok = firmada (tek giriş)\n * null = bugün hiç hareket yok (bilinmiyor, etiket gösterilmez). */\n firmadaMi = computed(() => {\n if (this.kartOkuyucuda()) return true;\n const bugun = new Date();\n const bugunStr = `${bugun.getFullYear()}-${String(bugun.getMonth() + 1).padStart(2, '0')}-${String(bugun.getDate()).padStart(2, '0')}`;\n const bugunGun = this.gunler().find(g => g.tarih === bugunStr);\n if (!bugunGun || bugunGun.olaylar.length === 0) return false;\n if (this.cokluGirisCikisAcik()) {\n // Segment bazlı: son segmentin açık olması = hâlâ içeride\n if (!bugunGun.segmentler.length) return null;\n return bugunGun.segmentler.at(-1)!.acikMi;\n } else {\n // Tekli mod: son okutmanın grubuna bakılır.\n // Gruplama açıksa okutmaGruplari() ile, kapalıysa ham olaylara bakılır.\n const gruplari = this.okutmaGruplari(bugunGun.olaylar);\n if (!gruplari.length) return null;\n // Tek grup → sadece giriş var (henüz çıkış yok) = firmada\n // Çift+ grup → son grup çıkış = dışarıda; giriş süreci açık kalmış\n // Gerçek kural: grup sayısı tek ise son giriş yapılmış çıkış yok = içeride\n return gruplari.length % 2 === 1;\n }\n });\n /** Okuyucu durumu periyodik DB kontrolü için interval kimliği */\n private _okuyucuPollInterval: any = null;\n /** Canlı oturumda bu kart için 'koyuldu' olayı görüldü mü? — eski DB kayıtlarına\n * güvenilmesi engellenir: kart çekilmiş ama cekildi kaydı DB'ye yazılamamışsa,\n * açılışta eski 'koyuldu' kaydı rozeti yanlış açmasın diye */\n private _canliKoyuldu = false;\n dialogGun = signal(null);\n tatilKaydediliyor = signal(false);\n aciklamaKaydediliyor = signal(false);\n /** Dialog'daki açıklama textarea değeri — blur'da kaydedilir */\n aciklamaDraft = signal('');\n\n /** Ay için yüklenen meta kayıtları — tarih→IGunMeta */\n private _gunMetaMap = new Map();\n /** Ay için yüklenen mola/izin kayıtları — tarih→IGunKesinti[] */\n private _gunKesintiMap = new Map();\n\n // Manuel kayıt formu (gün dialogu içinde)\n manuelFormAcik = signal(false);\n manuelTarih = signal('');\n manuelSaat = signal('');\n manuelDurum = signal<'koyuldu' | 'cekildi'>('koyuldu');\n manuelKaydediliyor = signal(false);\n\n // Mola/izin (kesinti) formu (gün dialogu içinde)\n kesintiFormAcik = signal(false);\n kesintiTur = signal<'mola' | 'izin'>('mola');\n kesintiBaslangic = signal('');\n kesintiBitis = signal('');\n kesintiAciklama = signal('');\n kesintiKaydediliyor = signal(false);\n /** Düzenlenen kesintinin _id'si — dolu ise form düzenleme modunda */\n duzenlenenKesintiId = signal(null);\n /** Hızlı mola/izin şablonları — tek tıkla güne varsayılan aralık ekler. */\n readonly kesintiSablonlari = KESINTI_SABLONLARI;\n\n // Kayıt düzenleme (manuel + — süper yönetici için — cihaz kayıtları)\n duzenlenenOlayId = signal(null);\n duzenleTarih = signal('');\n duzenleSaat = signal('');\n duzenleDurum = signal<'koyuldu' | 'cekildi'>('koyuldu');\n duzenleKaydediliyor = signal(false);\n\n /** Kullanıcıya özel gruplama eşiği — saniye cinsinden; localStorage'da kart UID bazlı saklanır.\n * 0 = gruplama kapalı. Varsayılan 5 saniye. */\n grupEsikSaniye = signal(5);\n /** Gruplama seçeneği açık mı */\n grupOkutmaAcik = signal(false);\n\n /** Çoklu giriş/çıkış modu — açıksa günün (eşiklenmiş) okutmaları sırayla\n * giriş/çıkış/giriş/çıkış... sayılır (izin/mola sonrası dönüşler dahil, birden\n * fazla mesai bloğu). Kapalıysa: sadece ilk okutma giriş, son okutma çıkış sayılır\n * (eski/varsayılan davranış). localStorage'da kart UID bazlı saklanır. */\n cokluGirisCikisAcik = signal(false);\n\n /** Günlük hedef çalışma süresi 'HH:MM' — localStorage'da kart UID bazlı saklanır.\n * Boş/'' = hesap kapalı. Buna göre gün bazında ve aylık fazla/eksik çalışma hesaplanır. */\n gunlukHedefSaat = signal('');\n\n /** Giriş toleransı — hedef giriş saatine yuvarlanacak okunan girişler için. */\n girisHedefSaat = signal('');\n /** Çıkış toleransı — hedef çıkış saatine yuvarlanacak okunan çıkışlar için. */\n cikisHedefSaat = signal('');\n /** Giriş/çıkış tolerans farkı (dakika). Hedef saat tanımlı değilse opsiyonel devre dışı kalır. */\n toleransDk = signal(15);\n\n // Grup düzenleme state'i — bir grupta ilk/son zamanını düzenleme\n duzenlenenGrupIlkId = signal(null);\n duzenlenenGrupSonId = signal(null);\n duzenleGrupIlkSaat = signal('');\n duzenleGrupSonSaat = signal('');\n duzenleGrupTarih = signal('');\n duzenleGrupKaydediliyor = signal(false);\n\n // Dialog, kartın (paylaşım sisteminde transform içeren üst elemanların)\n // içinde kalmasın diye açılır açılmaz document.body'e taşınıyor —\n // icerikler.component.ts'teki lightbox ile AYNI yöntem: statik ViewChild +\n // ngAfterViewInit'te TEK SEFERLİK taşıma. (Önceki sürüm bir setter kullanıyordu;\n // bu, her CD turunda tekrar tetiklenebiliyor ve ayar dialogu hiç temizlenmiyordu —\n // kart feed'de yok edilip yeniden oluşturulunca body'de öksüz overlay birikip\n // sayfayı görünmez bir tam ekran tıklama-yutucuya çeviriyordu.)\n @ViewChild('dialogOverlay', { static: true }) private _dialogOverlayRef!: ElementRef;\n\n // ─── Ayarlar dialog'u — dişli butonuyla açılır ──────────────────────────────\n /** Günlük hedef + tolerans + gruplama ayarlarının bulunduğu modal dialog */\n ayarDialogAcik = signal(false);\n\n @ViewChild('ayarDialogOverlay', { static: true }) private _ayarDialogOverlayRef!: ElementRef;\n\n ngAfterViewInit(): void {\n if (this._dialogOverlayRef?.nativeElement) {\n this._dialogOverlayEl = this._dialogOverlayRef.nativeElement;\n if (!document.body.contains(this._dialogOverlayEl)) {\n document.body.appendChild(this._dialogOverlayEl);\n }\n }\n if (this._ayarDialogOverlayRef?.nativeElement) {\n this._ayarDialogOverlayEl = this._ayarDialogOverlayRef.nativeElement;\n if (!document.body.contains(this._ayarDialogOverlayEl)) {\n document.body.appendChild(this._ayarDialogOverlayEl);\n }\n }\n }\n\n ayarlarAc() {\n this.ayarDialogAcik.set(true);\n // gunAc() ile aynı gerekçe: feed'de sonradan eklenen kartların overlay'leri\n // araya girmiş olabilir — en üstte kalması için en sona taşı.\n if (this._ayarDialogOverlayEl) {\n document.body.appendChild(this._ayarDialogOverlayEl);\n }\n this.cd.markForCheck();\n }\n\n ayarlarKapat() {\n this.ayarDialogAcik.set(false);\n this.cd.markForCheck();\n }\n\n get sahipIsmi(): string {\n return this.parametreler()?.ek?.sahipIsmi || 'İsimsiz Kart';\n }\n get kartUid(): string {\n return this.parametreler()?.ek?.kartUid || '';\n }\n /** Profil resmi GridFS id'si — kart-sahibi-edit'te yüklenir, ek.sahipResim olarak saklanır */\n get sahipResimId(): string {\n return this.parametreler()?.ek?.sahipResim || '';\n }\n /** parametreler() (input signal) degistiginde otomatik yeniden hesaplanir.\n * Burada cache-bust gerekmez: sayfa acildiginda id zaten guncel gelir,\n * ayni oturumda resim degisimi kart-sahibi-edit tarafinda yapilir. */\n sahipResimUrl = computed(() => this.avatar.profilResimUrl(this.parametreler()?.ek?.sahipResim || '', '128x128'));\n get ayBasligi(): string {\n const t = this.seciliTarih();\n return `${AY_ISIMLERI[t.getMonth()]} ${t.getFullYear()}`;\n }\n get buAymi(): boolean {\n const t = this.seciliTarih();\n const now = new Date();\n return t.getFullYear() === now.getFullYear() && t.getMonth() === now.getMonth();\n }\n /** Süper yönetici cihaz kayıtlarını da silebilsin diye — girişteki (web oturumu)\n * kullanıcının kendi yetkilerine bakılır (bkz. icerikler.component.ts, aynı desen). */\n get superYoneticiMi(): boolean {\n const yetkiler = this.fikoyt.kimlik?.aktifKullaniciJson?.()?.yetkiler || [];\n return Array.isArray(yetkiler) && yetkiler.some((x: string) => x === 'Süper Yönetici' || x === 'Super Yonetici');\n }\n\n constructor() {\n // Ebeveyn (ikart-kutusu) parametreleri tazelediğinde (canlı güncelleme, sayfa\n // değişimi, kart yeniden yükleme) tolerans ayarlarını içerik `ek`'inden yeniden yükle.\n //\n // KRİTİK: _toleranslariYukle() -> _grupGuvence() -> _ayIcinYenidenGrupla() zinciri\n // dialogGun() sinyalini hem OKUYUP hem de (bir gün dialogu açıkken) YENİ bir referansla\n // YAZIYOR. untracked() olmadan bu effect dialogGun'a bağımlı hale geliyor; gün dialogu\n // açıldığı an effect kendi yazdığı dialogGun değişikliğiyle kendini yeniden tetikliyor\n // ve senkron sonsuz döngüye girip sayfayı kilitliyordu. untracked(): bu effect SADECE\n // parametreler()?.ek değişince çalışsın, içindeki okuma/yazmalar effect'in kendi\n // bağımlılık grafiğine eklenmesin.\n effect(() => {\n const ek = this.parametreler()?.ek;\n if (ek) untracked(() => this._toleranslariYukle());\n });\n }\n\n ngOnInit() {\n // Gruplama eşiği (grupEsikSaniye) artık localStorage'dan DEĞİL, aşağıdaki\n // _toleranslariYukle() içinde diğer tolerans alanlarıyla birlikte DB'den\n // (kart içeriğinin `ek` alanından) yüklenir.\n // Günlük hedef süre ayarını yükle (fazla/eksik çalışma hesabı için)\n this._hedefiniYukle();\n // Giriş/çıkış tolerans ayarlarını kart metadata'sından yükle\n this._toleranslariYukle();\n this.ayVerisiYukle();\n\n // Timer yerine: WebSocket'ten bu karta ait bir hareket geldiğinde anında yenile\n this.wsService.kartOlayi$\n .pipe(takeUntil(this._destroy$))\n .subscribe(olay => {\n if (!olay.kartKimlik || olay.kartKimlik !== this.kartUid) return;\n this.ayVerisiYukle();\n });\n\n // WS anlık takip — cihaz filtresinden bağımsız ham kart olayları akışı.\n // (kartOlayi$ başka bir widget'ın cihaz filtresine takılıp olayı yutabiliyordu)\n this.wsService.kartOlayiHam$\n .pipe(takeUntil(this._destroy$))\n .subscribe(olay => {\n const gelen = String(olay.kartKimlik || '').toUpperCase();\n const hedef = this.kartUid.toUpperCase();\n if (!gelen || !hedef) return;\n if (gelen !== hedef) return;\n if (olay.durum === 'koyuldu') {\n this.kartOkuyucuda.set(true);\n this._canliKoyuldu = true;\n } else if (olay.durum === 'cekildi') {\n this.kartOkuyucuda.set(false);\n this._canliKoyuldu = false;\n }\n this.cd.markForCheck();\n });\n\n // NOT: telemetri (istatistik.kart_takili/son_kart_uid) bilinçli olarak KULLANILMIYOR —\n // cihazlar kart çekildikten sonra da kart_takili=true + son okunan UID'yi raporlayabildiği\n // için belirteci yanlışlıkla açık tutuyordu. Doğruluk kaynağı: gerçek olaylar + DB son kaydı.\n\n // DB'den son hareket durumuna göre belirteci senkronize et (WS olayı kaçtıysa bile çalışır)\n this.okuyucuDurumuKontrol();\n // Periyodik kontrol — kart başka bir oturumda konulup/çekilse bile belirteç güncellenir\n this._okuyucuPollInterval = setInterval(() => this.okuyucuDurumuKontrol(), 5000);\n\n if (!this.wsService.bagli) {\n this.wsService.baglan();\n }\n }\n /**\n * Bu kartın okuyucuda olup olmadığını DB'den sorgular.\n * pdks_kart_hareketler koleksiyonundaki SON hareket kaydına bakılır:\n * son kayıt 'koyuldu' ise kart hâlâ okuyucudadır, 'cekildi' ise değildir.\n * WS olayı kaçmış olsa bile (sayfa yenileme, widget sonradan açılma) doğru çalışır.\n */\n async okuyucuDurumuKontrol(): Promise {\n const uid = this.kartUid;\n if (!uid) return;\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.aggregate' });\n istek.parametreler = {\n aggregate: [\n { $match: {\n vt: 'FikoYT.sistem.cihaz.olaylar',\n durum: { $in: ['koyuldu', 'cekildi'] },\n kart_kimlik: uid,\n } },\n // _id (ObjectId) doğal zaman sıralıdır — sunucu_zamani eksik eski kayıtlarda da güvenlidir\n { $sort: { _id: -1 } },\n { $limit: 1 },\n { $project: { _id: 1, durum: 1, sunucu_zamani: 1 } },\n ],\n };\n await istek.isteSync();\n const sonuc: any[] = istek.cevap?.sonuc || (Array.isArray(istek.cevap) ? istek.cevap : []) || [];\n const son = sonuc?.[0];\n let okuyucuda = false;\n if (son?.durum === 'koyuldu') {\n // Kayıt yaşı kontrolü: kart çekilmiş ama cekildi kaydı DB'ye yazılamamışsa\n // (olay kaçmışsa) eski 'koyuldu' kaydı rozeti yanlış açmasın.\n // 1) Kayıt taze ise (son 2 dk) güvenilir, 2) değilse yalnızca canlı oturumda\n // bu kartın koyuldu olayı canlı görüldüyse açık kalır.\n const zaman = son.sunucu_zamani ? new Date(son.sunucu_zamani).getTime() : 0;\n const yas = zaman > 0 ? Date.now() - zaman : Number.MAX_SAFE_INTEGER;\n okuyucuda = yas <= 120000 || this._canliKoyuldu;\n }\n if (this.kartOkuyucuda() !== okuyucuda) {\n this.kartOkuyucuda.set(okuyucuda);\n this.cd.markForCheck();\n }\n } catch {\n // sorgu başarısız — mevcut belirteç durumu korunur\n }\n }\n\n\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n // Okuyucu durumu periyodik kontrolünü durdur\n if (this._okuyucuPollInterval) { clearInterval(this._okuyucuPollInterval); this._okuyucuPollInterval = null; }\n // document.body'e taşınan overlay'ler component yok olurken yetim kalmasın —\n // ikisi de temizlenmeli (ayar dialogu daha önce hiç temizlenmiyordu, bkz. ngAfterViewInit yorumu).\n if (this._dialogOverlayEl?.parentNode) {\n this._dialogOverlayEl.parentNode.removeChild(this._dialogOverlayEl);\n }\n if (this._ayarDialogOverlayEl?.parentNode) {\n this._ayarDialogOverlayEl.parentNode.removeChild(this._ayarDialogOverlayEl);\n }\n }\n\n yenile() {\n this.ayVerisiYukle();\n }\n\n ayDegistir(delta: number) {\n const t = this.seciliTarih();\n this.seciliTarih.set(new Date(t.getFullYear(), t.getMonth() + delta, 1));\n this.ayVerisiYukle();\n }\n\n /** Ay görünümünde \"Bugün\" — seçili ayı içinde bulunulan aya döndürür. */\n ayBugune() {\n const now = new Date();\n this.seciliTarih.set(new Date(now.getFullYear(), now.getMonth(), 1));\n this.ayVerisiYukle();\n }\n\n gunAc(g: IKartSahibiGun) {\n this.dialogGun.set(g);\n this.aciklamaDraft.set(g.aciklama || '');\n this.manuelFormAcik.set(false);\n this.kesintiFormAcik.set(false);\n this.duzenlenenKesintiId.set(null);\n // Body'e taşınmış olsa bile, feed'de sonradan eklenen başka kartların\n // overlay'leri araya girmiş olabilir — her açılışta en sona taşıyarak\n // en üstte kalmasını garanti altına al.\n if (this._dialogOverlayEl) {\n document.body.appendChild(this._dialogOverlayEl);\n }\n this.cd.markForCheck();\n }\n\n dialogKapat() {\n this.dialogGun.set(null);\n this.manuelFormAcik.set(false);\n this.kesintiFormAcik.set(false);\n this.duzenlenenKesintiId.set(null);\n this.molaDialogAcik.set(false);\n this.cd.markForCheck();\n }\n\n // ─── Mola/İzin dialog'u — gün dialogu içindeki \"Mola/İzin\" tetikleyicisiyle\n // açılır. Gün dialogu zaten document.body'e taşınmış overlay içinde olduğundan\n // ayrı bir ViewChild/teleport gerekmiyor; iç içe sabit konumlu bir panel yeterli. */\n molaDialogAcik = signal(false);\n\n molaAc() {\n this.molaDialogAcik.set(true);\n this.cd.markForCheck();\n }\n\n molaKapat() {\n this.molaDialogAcik.set(false);\n this.kesintiFormAcik.set(false);\n this.duzenlenenKesintiId.set(null);\n this.cd.markForCheck();\n }\n\n saatFormat(isoStr: string): string {\n const d = new Date(isoStr);\n return isNaN(d.getTime()) ? '' : d.toLocaleTimeString('tr-TR', { hour: '2-digit', minute: '2-digit', second: '2-digit' });\n }\n\n gunTarihUzun(tarih: string): string {\n const d = new Date(tarih + 'T00:00:00');\n return isNaN(d.getTime()) ? tarih : d.toLocaleDateString('tr-TR', { day: 'numeric', month: 'long', year: 'numeric', weekday: 'long' });\n }\n\n /** İki ISO zaman damgası arasındaki farkı 'SA:DK:SN' biçiminde döner (negatifse ''). */\n private sureFarkiHesapla(ilkIso: string, sonIso: string): string {\n const ilk = new Date(ilkIso).getTime();\n const son = new Date(sonIso).getTime();\n if (isNaN(ilk) || isNaN(son) || son < ilk) return '';\n const toplamSaniye = Math.floor((son - ilk) / 1000);\n const saat = Math.floor(toplamSaniye / 3600);\n const dakika = Math.floor((toplamSaniye % 3600) / 60);\n const saniye = toplamSaniye % 60;\n return `${String(saat).padStart(2, '0')}:${String(dakika).padStart(2, '0')}:${String(saniye).padStart(2, '0')}`;\n }\n\n /** Dakikayı 'SS:DD' biçiminde döner (negatif değerler 0'a sabitlenir). */\n dakikaFormat(dk: number): string {\n const guvenli = Math.max(0, Math.round(dk));\n const saat = Math.floor(guvenli / 60);\n const dakika = guvenli % 60;\n return `${String(saat).padStart(2, '0')}:${String(dakika).padStart(2, '0')}`;\n }\n\n /** 'SA:DK' veya 'SA:DK:SN' biçimindeki bir süre string'ini dakikaya çevirir. */\n sureToDakika(sure: string): number {\n if (!sure) return 0;\n const parcalar = sure.split(':').map(Number);\n if (parcalar.some(n => isNaN(n))) return 0;\n const [saat, dakika] = parcalar;\n return (saat || 0) * 60 + (dakika || 0);\n }\n\n /** Bir kesintinin (mola/izin) süresini dakika olarak döner — gece yarısını geçen aralıklar da desteklenir. */\n kesintiSureDk(k: IGunKesinti): number {\n const [bSaat, bDk] = (k.baslangic || '').split(':').map(Number);\n const [eSaat, eDk] = (k.bitis || '').split(':').map(Number);\n if ([bSaat, bDk, eSaat, eDk].some(n => isNaN(n))) return 0;\n let fark = (eSaat * 60 + eDk) - (bSaat * 60 + bDk);\n if (fark < 0) fark += 24 * 60; // ör. 23:30–00:15 gibi gece yarısını geçen kesinti\n return fark;\n }\n\n /** Bir günün kesinti listesindeki 'mola' türlerinin toplam dakikası (net süreden düşülen). */\n molaToplamDk(kesintiler: IGunKesinti[]): number {\n return (kesintiler || [])\n .filter(k => k.tur === 'mola')\n .reduce((acc, k) => acc + this.kesintiSureDk(k), 0);\n }\n\n /** Ham süreden (ilk-son arası) 'mola' türü kesintileri düşerek net süreyi 'SA:DK' biçiminde döner. */\n private netSureHesapla(ilkIso: string, sonIso: string, kesintiler: IGunKesinti[]): string {\n const ilk = new Date(ilkIso).getTime();\n const son = new Date(sonIso).getTime();\n if (isNaN(ilk) || isNaN(son) || son < ilk) return '';\n const toplamDk = Math.floor((son - ilk) / 60000);\n const netDk = toplamDk - this.molaToplamDk(kesintiler);\n return this.dakikaFormat(netDk);\n }\n\n // ─── Gruplama ayarı (kart içeriği — ek + DB kaydı) ──────────────────\n // localStorage KULLANILMIYOR — diğer tolerans alanlarıyla (girisHedefSaat,\n // cikisHedefSaat, toleransDk, cokluGirisCikisAcik) aynı desen: kişiye özel bu\n // ayar kart içerik kaydının `ek.grupEsikSaniye` alanında DB'de kalıcı tutulur.\n // Böylece firmada-panel gibi aynı kişinin DB kaydını okuyan başka bileşenler de\n // kart-sahibi ile HER ZAMAN aynı eşiği kullanır (bkz. _toleranslariYukle/_toleransUpsert/_toleransiDbyeYaz).\n\n grupAyariniKaydet(saniye: number) {\n const s = Math.max(0, Math.round(saniye));\n this.grupEsikSaniye.set(s);\n this.grupOkutmaAcik.set(s > 0);\n this._toleransUpsert();\n void this._toleransiDbyeYaz();\n this._grupGuvence();\n }\n\n grupToggle(acik: boolean) {\n if (!acik) {\n this.grupOkutmaAcik.set(false);\n this.grupEsikSaniye.set(0);\n } else {\n const mevcut = this.grupEsikSaniye();\n const hedef = mevcut > 0 ? mevcut : 5; // varsayılan 5 saniye\n this.grupEsikSaniye.set(hedef);\n this.grupOkutmaAcik.set(true);\n }\n this._toleransUpsert();\n void this._toleransiDbyeYaz();\n this._grupGuvence();\n }\n\n // ─── Çoklu giriş/çıkış modu ──────────────────\n // NOT: localStorage'da DEĞİL — girişHedefSaat/cikisHedefSaat/toleransDk ile aynı\n // yerde: kart içeriğinin `ek` alanında, DB'de kalıcı olarak saklanır (bkz.\n // _toleranslariYukle / _toleransUpsert / _toleransiDbyeYaz). Böylece TÜM\n // cihazlarda/oturumlarda aynı ayar geçerli olur.\n cokluGirisCikisDegistir(acik: boolean) {\n this.cokluGirisCikisAcik.set(acik);\n this._toleransUpsert();\n void this._toleransiDbyeYaz();\n this._grupGuvence();\n }\n\n // ─── Günlük hedef süre & fazla/eksik çalışma hesabı ──────────────────\n private _hedefKey(): string {\n return `ks_gunluk_hedef_${this.kartUid || 'global'}`;\n }\n\n private _hedefiniYukle() {\n try {\n const ham = localStorage.getItem(this._hedefKey());\n if (ham) this.gunlukHedefSaat.set(ham);\n } catch { }\n }\n\n /** Günlük hedef süreyi 'HH:MM' değerinden dakikaya çevirir; yoksa 0 (kapalı). */\n gunlukHedefDk(): number {\n const v = this.gunlukHedefSaat();\n if (!v) return 0;\n const [s, d] = v.split(':').map(Number);\n if (isNaN(s) || isNaN(d)) return 0;\n return s * 60 + d;\n }\n\n /** Hedef süre input'u değiştiğinde — localStorage'a yazar, anında yeniler. */\n hedefDegistir(v: string) {\n const deger = (v || '').trim();\n this.gunlukHedefSaat.set(deger);\n try { localStorage.setItem(this._hedefKey(), deger); } catch { }\n this.cd.markForCheck();\n }\n\n /** Bir günün net çalışma süresi ile hedef arasındaki fark (dakika). +fazla, −eksik. */\n gunFazlaEksikDk(g: IKartSahibiGun): number {\n const hedef = this.gunlukHedefDk();\n if (hedef <= 0) return 0;\n const net = this.sureToDakika(g.netSure);\n if (net <= 0) return 0; // net süre yoksa hesap etme\n return net - hedef;\n }\n\n /** '+02:15' / '−00:30' biçiminde işaretli fark metni (fark 0 ise boş). */\n gunFazlaEksikMetni(g: IKartSahibiGun): string {\n const f = this.gunFazlaEksikDk(g);\n if (f === 0) return '';\n return (f > 0 ? '+' : '−') + this.dakikaFormat(Math.abs(f));\n }\n\n /** Ay içinde net süresi hesaplanabilen (çalışılan) gün sayısı. */\n get ayCalisilanGunAdet(): number {\n return this.gunler().filter(g => !!g.netSure).length;\n }\n\n /** Ay içindeki tüm çalışılan günlerin net süre toplamı (dakika). */\n get ayToplamNetDk(): number {\n return this.gunler().reduce((a, g) => a + this.sureToDakika(g.netSure), 0);\n }\n\n /** Hedef aşılan toplam dakika (fazla çalışma). */\n get ayToplamFazlaDk(): number {\n if (this.gunlukHedefDk() <= 0) return 0;\n return this.gunler().reduce((a, g) => a + Math.max(0, this.gunFazlaEksikDk(g)), 0);\n }\n\n /** Hedefin altında kalınan toplam dakika (eksik çalışma). */\n get ayToplamEksikDk(): number {\n if (this.gunlukHedefDk() <= 0) return 0;\n return this.gunler().reduce((a, g) => a + Math.max(0, -this.gunFazlaEksikDk(g)), 0);\n }\n\n // ─── Giriş/çıkış toleransı (kart içeriği — ek + DB kaydı) ──────────────────\n // Ayar, kart içerik kaydının `ek` alanına yazılır ve DB'ye kalıcı olarak\n // FikoYT.sistem.DB.hareketler.guncelle ile kaydedilir (icerikler.component'teki\n // onUygulamaParametreDegisti deseniyle aynı). Böylece kart yenilendiğinde bile\n // korunur ve TÜM günler için geçerlidir.\n\n /** Tolerans alanlarını parametreler().ek'ten okur ve signal'lara aktarır. */\n private _toleranslariYukle() {\n const ek = this.parametreler()?.ek ?? {};\n if (typeof ek.girisHedefSaat === 'string') this.girisHedefSaat.set(ek.girisHedefSaat);\n if (typeof ek.cikisHedefSaat === 'string') this.cikisHedefSaat.set(ek.cikisHedefSaat);\n const n = Number(ek.toleransDk);\n if (!isNaN(n) && n >= 0) this.toleransDk.set(n);\n if (typeof ek.cokluGirisCikisAcik === 'boolean') this.cokluGirisCikisAcik.set(ek.cokluGirisCikisAcik);\n // Gruplama eşiği — localStorage DEĞİL, kart içeriğinin `ek` alanından (DB'den) okunur.\n // Böylece kişiye özel bu ayar tüm cihaz/oturumlarda ve firmada-panel gibi bu bilgiyi\n // DB'den okuyan diğer bileşenlerde de aynı kalır. Alan hiç yazılmamışsa (ilk açılış /\n // eski kayıt) varsayılan: 5sn, gruplama açık.\n if (typeof ek.grupEsikSaniye === 'number' && ek.grupEsikSaniye >= 0) {\n this.grupEsikSaniye.set(ek.grupEsikSaniye);\n this.grupOkutmaAcik.set(ek.grupEsikSaniye > 0);\n } else {\n this.grupEsikSaniye.set(5);\n this.grupOkutmaAcik.set(true);\n }\n this._grupGuvence();\n }\n\n /** Mevcut tolerans değerlerini kart içeriğinin `ek` alanına yazar.\n * `icerik.ek` doğrudan mutasyonla güncellenir (ebeveynin dinamiKParametreler\n * kopyası ile aynı referans olduğu için senkron kalır); `icerik` yoksa\n * parametreler().ek kopyalanır ve model.set ile reaktivite tetiklenir. */\n private _toleransUpsert() {\n const params = this.parametreler() ?? {};\n const icerik: any = params.icerik;\n const hedefEk =\n icerik && typeof icerik === 'object' && icerik.ek && typeof icerik.ek === 'object'\n ? icerik.ek\n : { ...(params.ek ?? {}) };\n hedefEk['girisHedefSaat'] = this.girisHedefSaat();\n hedefEk['cikisHedefSaat'] = this.cikisHedefSaat();\n hedefEk['toleransDk'] = this.toleransDk();\n hedefEk['cokluGirisCikisAcik'] = this.cokluGirisCikisAcik();\n hedefEk['grupEsikSaniye'] = this.grupEsikSaniye();\n if (hedefEk !== params.ek) {\n this.parametreler.set({ ...params, ek: hedefEk });\n }\n this.cd.markForCheck();\n }\n\n async girisHedefDegistir(v: string) {\n this.girisHedefSaat.set((v || '').trim());\n this._toleransUpsert();\n await this._toleransiDbyeYaz();\n this._grupGuvence();\n }\n\n async cikisHedefDegistir(v: string) {\n this.cikisHedefSaat.set((v || '').trim());\n this._toleransUpsert();\n await this._toleransiDbyeYaz();\n this._grupGuvence();\n }\n\n async toleransDegistir(v: number | string) {\n const n = Math.max(0, Math.round(Number(v) || 0));\n this.toleransDk.set(n);\n this._toleransUpsert();\n await this._toleransiDbyeYaz();\n this._grupGuvence();\n }\n\n /** Tolerans alanlarını içerik kaydına (hareketler.guncelle) DB'de kalıcı olarak yazar. */\n private async _toleransiDbyeYaz() {\n const icerik: any = this.parametreler()?.icerik;\n if (!icerik?._id) {\n console.error('[KartSahibi] icerik _id bulunamadi — tolerans DB ye yazilamadi');\n return;\n }\n try {\n const istek = new FikoYTIstekKok({\n metod: 'POST',\n komut: 'FikoYT.sistem.DB.hareketler.guncelle',\n gecikmeliCevap: false,\n });\n istek.parametreler = {\n filter: { _id: icerik._id },\n set: {\n 'ek.girisHedefSaat': this.girisHedefSaat(),\n 'ek.cikisHedefSaat': this.cikisHedefSaat(),\n 'ek.toleransDk': this.toleransDk(),\n 'ek.cokluGirisCikisAcik': this.cokluGirisCikisAcik(),\n 'ek.grupEsikSaniye': this.grupEsikSaniye(),\n },\n };\n await istek.isteSync();\n } catch (err) {\n console.error('[KartSahibi] tolerans ayari DB ye yazilamadi', err);\n }\n }\n private _grupGuvence() {\n try {\n this._ayIcinYenidenGrupla();\n } catch (err) {\n console.error('[KartSahibi] tolerans sonrasi yeniden gruplama hatasi', err);\n } finally {\n this.cd.markForCheck();\n }\n }\n\n /** Okunan giriş/çıkış saatini tolerans aralığı içindeyse hedef saate yuvarlar.\n * manuel=true (elle girilen) kayıtlar asla yuvarlanmaz — gerçek saat korunur. */\n private _yuvalaTolerans(\n okunanIso: string,\n hedefSaat: string,\n manuel: boolean,\n ): { saat: string; yuvarlandi: boolean } {\n const okunan = this.saatFormat(okunanIso).slice(0, 5);\n if (manuel || !hedefSaat) return { saat: okunan, yuvarlandi: false };\n const okunanDk = this._saatDk(okunan);\n const hedefDk = this._saatDk(hedefSaat);\n if (okunanDk < 0 || hedefDk < 0) return { saat: okunan, yuvarlandi: false };\n if (Math.abs(hedefDk - okunanDk) <= this.toleransDk()) return { saat: hedefSaat, yuvarlandi: true };\n return { saat: okunan, yuvarlandi: false };\n }\n\n private _saatDk(hhmm: string): number {\n const [s, d] = (hhmm || '').split(':').map(Number);\n return isNaN(s) || isNaN(d) ? -1 : s * 60 + d;\n }\n\n /** Okunan ISO zamanına tolerans uygular; yuvarlama yapılırsa aynı gündeki hedef saatli\n * yeni bir ISO döndürür. manuel kayıtlara dokunmaz. */\n private _toleransIsoUygula(\n okunanIso: string,\n hedefSaat: string,\n manuel: boolean,\n ): { zaman: string; yuvarlandi: boolean } | null {\n if (!okunanIso) return null;\n if (manuel || !hedefSaat) return { zaman: okunanIso, yuvarlandi: false };\n const r = this._yuvalaTolerans(okunanIso, hedefSaat, false);\n if (!r.yuvarlandi) return { zaman: okunanIso, yuvarlandi: false };\n // Yuvarlandi -> ayni gunun hedef saatine yeni tarih uret (gun kaymasini onle)\n const d = new Date(okunanIso);\n const [h, m] = r.saat.split(':').map(Number);\n if (isNaN(h) || isNaN(m)) return { zaman: okunanIso, yuvarlandi: false };\n d.setHours(h, m, 0, 0);\n return { zaman: d.toISOString(), yuvarlandi: true };\n }\n\n /** Çoklu giriş/çıkış modu: eşiklenmiş okutma gruplarını sırayla giriş/çıkış/giriş/çıkış...\n * olarak eşleştirip segment listesi üretir. Tolerans SADECE ilk segmentin girişine ve\n * (varsa) son KAPALI segmentin çıkışına uygulanır — aradaki giriş/çıkışlar (ör. öğlen\n * izne çıkıp dönme) vardiya başlangıç/bitiş hedefine yuvarlanmaz, ham saatiyle kalır. */\n private _segmentleriOlustur(gunGruplari: IOkutmaGrubu[]): IGirisCikisSegment[] {\n const segmentler: IGirisCikisSegment[] = [];\n for (let i = 0; i < gunGruplari.length; i += 2) {\n const girisGrup = gunGruplari[i];\n const cikisGrup = gunGruplari[i + 1]; // undefined ise açık segment (henüz çıkış yok)\n\n const ilkSegmentMi = i === 0;\n const sonKapaliSegmentMi = !!cikisGrup && i + 2 >= gunGruplari.length;\n\n const girisTol = this._toleransIsoUygula(\n girisGrup.ilkOlay.zaman,\n ilkSegmentMi ? this.girisHedefSaat() : '',\n !!girisGrup.ilkOlay.manuel,\n );\n const cikisTol = cikisGrup\n ? this._toleransIsoUygula(\n cikisGrup.sonOlay.zaman,\n sonKapaliSegmentMi ? this.cikisHedefSaat() : '',\n !!cikisGrup.sonOlay.manuel,\n )\n : null;\n\n const girisZaman = girisTol?.zaman ?? girisGrup.ilkOlay.zaman;\n const cikisZaman = cikisTol?.zaman ?? '';\n\n segmentler.push({\n girisZaman,\n cikisZaman,\n giris: this.saatFormat(girisZaman).slice(0, 5),\n cikis: cikisZaman ? this.saatFormat(cikisZaman).slice(0, 5) : '',\n girisYuvari: !!girisTol?.yuvarlandi,\n cikisYuvari: !!cikisTol?.yuvarlandi,\n acikMi: !cikisGrup,\n sure: cikisZaman ? this.sureFarkiHesapla(girisZaman, cikisZaman) : '',\n });\n }\n return segmentler;\n }\n\n /** Segment listesindeki KAPALI (çıkışı olan) segmentlerin toplam süresini dakika olarak\n * döner. Açık segment (henüz çıkış okutulmamış) ve segmentler arasındaki boşluklar\n * (izin/mola çıkışı vb.) süreye dahil edilmez — böylece gün-içi izin süresi otomatik\n * olarak dışarıda kalır. */\n private _segmentlerToplamDk(segmentler: IGirisCikisSegment[]): number {\n return segmentler.reduce((acc, s) => {\n if (!s.cikisZaman) return acc;\n const ilk = new Date(s.girisZaman).getTime();\n const son = new Date(s.cikisZaman).getTime();\n if (isNaN(ilk) || isNaN(son) || son < ilk) return acc;\n return acc + Math.floor((son - ilk) / 60000);\n }, 0);\n }\n\n /** Tolerans/ayar değişince aya ait tüm günleri yeniden gruplar (tolerans uygular). */\n private _ayIcinYenidenGrupla() {\n if (!this.kartUid) return;\n const t = this.seciliTarih();\n const ayBas = new Date(t.getFullYear(), t.getMonth(), 1);\n const aySon = new Date(t.getFullYear(), t.getMonth() + 1, 1);\n this.gunler.set(this.gunlereGrupla(this._hamOlaylar, ayBas, aySon));\n const acikGun = this.dialogGun();\n if (acikGun) {\n const guncel = this.gunler().find(g => g.tarih === acikGun.tarih);\n this.dialogGun.set(guncel || null);\n }\n this.cd.markForCheck();\n }\n\n /** Her okutmayı bağımsız bir vuruş kabul ederek, arası < eşik olan ardışık\n * okutmaları tek bir IOkutmaGrubu'nda toplar. Grubun ilk okutması giriş,\n * son okutması çıkış saati olarak kullanılır. Durum (koyuldu/cekildi) dikkate alınmaz. */\n okutmaGruplari(olaylar: IKartSahibiOlay[]): IOkutmaGrubu[] {\n if (!this.grupOkutmaAcik() || this.grupEsikSaniye() <= 0 || olaylar.length === 0) {\n return olaylar.map(o => ({ ilkOlay: o, sonOlay: o, tumOlaylar: [o], grupMu: false }));\n }\n\n const esikMs = this.grupEsikSaniye() * 1000;\n const gruplar: IOkutmaGrubu[] = [];\n let mevcutGrup: IKartSahibiOlay[] = [olaylar[0]];\n\n for (let i = 1; i < olaylar.length; i++) {\n const onceki = mevcutGrup[mevcutGrup.length - 1];\n const simdi = olaylar[i];\n const fark = new Date(simdi.zaman).getTime() - new Date(onceki.zaman).getTime();\n if (fark <= esikMs) {\n mevcutGrup.push(simdi);\n } else {\n gruplar.push(this._grubuOlustur(mevcutGrup));\n mevcutGrup = [simdi];\n }\n }\n if (mevcutGrup.length) gruplar.push(this._grubuOlustur(mevcutGrup));\n return gruplar;\n }\n\n private _grubuOlustur(olaylar: IKartSahibiOlay[]): IOkutmaGrubu {\n return {\n ilkOlay: olaylar[0],\n sonOlay: olaylar[olaylar.length - 1],\n tumOlaylar: olaylar,\n grupMu: olaylar.length > 1,\n };\n }\n\n /** Grup düzenleme — ilk ve/veya son okutmanın saatini düzenle */\n grupDuzenleAc(grup: IOkutmaGrubu) {\n const ilk = grup.ilkOlay;\n const son = grup.sonOlay;\n if (!ilk._id) return;\n if (!ilk.manuel && !son.manuel && !this.superYoneticiMi) return;\n const d = new Date(ilk.zaman);\n this.duzenleGrupTarih.set(`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`);\n this.duzenleGrupIlkSaat.set(`${String(d.getHours()).padStart(2,'0')}:${String(d.getMinutes()).padStart(2,'0')}`);\n const ds = new Date(son.zaman);\n this.duzenleGrupSonSaat.set(`${String(ds.getHours()).padStart(2,'0')}:${String(ds.getMinutes()).padStart(2,'0')}`);\n this.duzenlenenGrupIlkId.set(ilk._id || null);\n this.duzenlenenGrupSonId.set(son._id || null);\n this.cd.markForCheck();\n }\n\n grupDuzenleKapat() {\n this.duzenlenenGrupIlkId.set(null);\n this.duzenlenenGrupSonId.set(null);\n this.cd.markForCheck();\n }\n\n async grupDuzenleKaydet(grup: IOkutmaGrubu) {\n if (this.duzenleGrupKaydediliyor()) return;\n this.duzenleGrupKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const tarih = this.duzenleGrupTarih();\n const ilkIso = new Date(`${tarih}T${this.duzenleGrupIlkSaat()}:00`).toISOString();\n const sonIso = new Date(`${tarih}T${this.duzenleGrupSonSaat()}:00`).toISOString();\n\n const guncellemeler: Promise[] = [];\n\n // İlk okutma güncelle\n if (grup.ilkOlay._id && (grup.ilkOlay.manuel || this.superYoneticiMi)) {\n const ist = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.guncelle', gecikmeliCevap: false });\n ist.parametreler = {\n filter: { _id: grup.ilkOlay._id, vt: 'FikoYT.sistem.cihaz.olaylar' },\n set: { sunucu_zamani: ilkIso },\n };\n guncellemeler.push(ist.isteSync());\n }\n\n // Son okutma — tekil grup ise aynı kayıt, güncelleme yapma (zaten ilk ile aynı)\n if (grup.grupMu && grup.sonOlay._id && grup.sonOlay._id !== grup.ilkOlay._id && (grup.sonOlay.manuel || this.superYoneticiMi)) {\n const ist2 = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.guncelle', gecikmeliCevap: false });\n ist2.parametreler = {\n filter: { _id: grup.sonOlay._id, vt: 'FikoYT.sistem.cihaz.olaylar' },\n set: { sunucu_zamani: sonIso },\n };\n guncellemeler.push(ist2.isteSync());\n }\n\n await Promise.all(guncellemeler);\n this.duzenlenenGrupIlkId.set(null);\n this.duzenlenenGrupSonId.set(null);\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] grup düzenlenemedi', err);\n } finally {\n this.duzenleGrupKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** Grubu tamamen sil (tüm alt okutmalar) */\n async grupSil(grup: IOkutmaGrubu) {\n const hedefler = grup.tumOlaylar;\n if (!hedefler.every(o => o.manuel) && !this.superYoneticiMi) return;\n try {\n for (const o of hedefler) {\n if (!o._id) continue;\n const ist = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.sil', gecikmeliCevap: false });\n ist.parametreler = { _id: o._id, vt: 'FikoYT.sistem.cihaz.olaylar' };\n await ist.isteSync();\n }\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] grup silinemedi', err);\n }\n }\n\n // ─── Manuel kayıt ─────────────────────────────────────────────\n\n manuelFormAc(g: IKartSahibiGun) {\n this.manuelTarih.set(g.tarih);\n this.manuelSaat.set(new Date().toTimeString().slice(0, 5));\n this.manuelDurum.set('koyuldu');\n this.manuelFormAcik.set(true);\n this.cd.markForCheck();\n }\n\n manuelFormKapat() {\n this.manuelFormAcik.set(false);\n this.cd.markForCheck();\n }\n\n async manuelKaydet() {\n const uid = this.kartUid;\n if (!uid || !this.manuelTarih() || !this.manuelSaat() || this.manuelKaydediliyor()) return;\n\n this.manuelKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const isoZaman = new Date(`${this.manuelTarih()}T${this.manuelSaat()}:00`).toISOString();\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.ekle', gecikmeliCevap: false });\n istek.parametreler = {\n vt: 'FikoYT.sistem.cihaz.olaylar',\n durum: this.manuelDurum(),\n kart_kimlik: uid,\n sunucu_zamani: isoZaman,\n manuel: true,\n };\n await istek.isteSync();\n this.manuelFormAcik.set(false);\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] manuel kayıt eklenemedi', err);\n } finally {\n this.manuelKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** \"Normal çalışıldı\" kaydediliyor mu — buton devre dışı bırakmak için. */\n normalCalismaKaydediliyor = signal(false);\n\n /** Kart okutması olmayan (veya eksik) bir gün için tek tıkla \"normal çalışıldı\" günü\n * oluşturur: Ayarlar'daki giriş/çıkış hedef saatlerini iki manuel kayıt olarak ekler,\n * ve henüz eklenmemiş tüm hızlı mola şablonlarını (Sabah çayı, Öğle yemeği, Akşam çayı)\n * otomatik ekler. Hedef saatler boşsa (Ayarlar'dan girilmemişse) işlem yapılmaz. */\n async normalCalismaEkle(gun: IKartSahibiGun) {\n const uid = this.kartUid;\n const giris = this.girisHedefSaat();\n const cikis = this.cikisHedefSaat();\n \n if (!uid || this.normalCalismaKaydediliyor()) return;\n\n if (!giris || !cikis) {\n alert('Hata: Hedef giriş/çıkış saatleri ayarlar kısmında kayıtlı değil. Lütfen önce saatleri tanımlayınız.');\n return;\n }\n\n this.normalCalismaKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const girisIso = new Date(`${gun.tarih}T${giris}:00`).toISOString();\n const cikisIso = new Date(`${gun.tarih}T${cikis}:00`).toISOString();\n\n const girisIstek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.ekle', gecikmeliCevap: false });\n girisIstek.parametreler = { vt: 'FikoYT.sistem.cihaz.olaylar', durum: 'koyuldu', kart_kimlik: uid, sunucu_zamani: girisIso, manuel: true };\n await girisIstek.isteSync();\n\n const cikisIstek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.ekle', gecikmeliCevap: false });\n cikisIstek.parametreler = { vt: 'FikoYT.sistem.cihaz.olaylar', durum: 'cekildi', kart_kimlik: uid, sunucu_zamani: cikisIso, manuel: true };\n await cikisIstek.isteSync();\n\n // Hızlı mola şablonları — bu güne henüz eklenmemiş olanları ekle\n for (const s of this.kesintiSablonlari) {\n const zatenVar = gun.kesintiler?.some(k => k.tur === s.tur && k.baslangic === s.baslangic && k.bitis === s.bitis);\n if (zatenVar) continue;\n const molaIstek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_kesintiler.ekle', gecikmeliCevap: false });\n molaIstek.parametreler = { kart_kimlik: uid, tarih: gun.tarih, tur: s.tur, baslangic: s.baslangic, bitis: s.bitis, aciklama: s.aciklama || '' };\n await molaIstek.isteSync();\n }\n\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] normal çalışma eklenemedi', err);\n } finally {\n this.normalCalismaKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** Bir güne ait TÜM hareketleri silme sırasında true olur (buton devre dışı bırakmak için). */\n gunSilKaydediliyor = signal(false);\n\n /** Bu gün silinebilir mi? — kayıt yoksa hayır; günde en az bir cihaz (manuel olmayan)\n * kaydı varsa sadece süper yönetici silebilir, tamamı manuelse herkes silebilir. */\n gunSilinebilirMi(g: IKartSahibiGun): boolean {\n return g.sayisi > 0 && (g.olaylar.every(o => o.manuel) || this.superYoneticiMi);\n }\n\n /** Seçili güne ait TÜM ham hareket kayıtlarını (koyuldu/cekildi) tek seferde siler.\n * Yetki kuralı olaySil/grupSil ile aynıdır: manuel kayıtlar herkes, cihaz kayıtları\n * sadece süper yönetici tarafından silinebilir — günde tek bir cihaz kaydı bile olsa\n * ve süper yönetici değilse işlem tümüyle engellenir (kısmi silme yapılmaz). */\n async gunuSil(g: IKartSahibiGun) {\n if (!g || this.gunSilKaydediliyor() || !this.gunSilinebilirMi(g)) return;\n this.gunSilKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n for (const o of g.olaylar) {\n if (!o._id) continue;\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.sil', gecikmeliCevap: false });\n // olaySil()'deki NOT ile aynı gerekçe: filtre alanları düz gönderiliyor.\n istek.parametreler = { _id: o._id, vt: 'FikoYT.sistem.cihaz.olaylar' };\n await istek.isteSync();\n }\n this.dialogKapat();\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] gün silinemedi', err);\n } finally {\n this.gunSilKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** Manuel kayıtlar herkes tarafından, cihazdan gelen (gerçek okuma) kayıtlar\n * ise sadece süper yönetici tarafından silinebilir. Gruplanmış satırda (grupOlaylari)\n * altındaki tüm ham kayıtlar tek tek silinir. */\n async olaySil(olay: IKartSahibiOlay) {\n const hedefler = olay.grupOlaylari && olay.grupOlaylari.length > 1 ? olay.grupOlaylari : [olay];\n if (!hedefler.every((o) => o.manuel) && !this.superYoneticiMi) return;\n try {\n for (const o of hedefler) {\n if (!o._id) continue;\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.sil', gecikmeliCevap: false });\n // NOT: backend'in genel DB silme route'u (kokDB fikoyt_sistem_db_sil) gönderilen\n // JSON body'nin TAMAMINI mongo filtresi olarak kullanıyor (silFiltre = Istek.Json) —\n // '{filter: {...}}' gibi bir sarmalama gönderilirse hiçbir belge eşleşmez ve silme\n // sessizce hiçbir şey yapmaz (bug buydu). Bu yüzden filtre alanları düz gönderiliyor.\n istek.parametreler = { _id: o._id, vt: 'FikoYT.sistem.cihaz.olaylar' };\n await istek.isteSync();\n }\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] kayıt silinemedi', err);\n }\n }\n\n // ─── Kayıt düzenleme ──────────────────────────────────────────\n // Silme ile aynı yetki kuralı: manuel kayıtlar herkes tarafından,\n // cihazdan gelen kayıtlar ise sadece süper yönetici tarafından düzenlenebilir.\n\n duzenleAc(olay: IKartSahibiOlay) {\n if (!olay._id) return;\n if (!olay.manuel && !this.superYoneticiMi) return;\n const d = new Date(olay.zaman);\n if (isNaN(d.getTime())) return;\n this.duzenleTarih.set(`${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`);\n this.duzenleSaat.set(`${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`);\n this.duzenleDurum.set(olay.durum);\n this.duzenlenenOlayId.set(olay._id);\n this.cd.markForCheck();\n }\n\n duzenleKapat() {\n this.duzenlenenOlayId.set(null);\n this.cd.markForCheck();\n }\n\n async duzenleKaydet(olay: IKartSahibiOlay) {\n if (!olay._id || !this.duzenleTarih() || !this.duzenleSaat() || this.duzenleKaydediliyor()) return;\n\n this.duzenleKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const isoZaman = new Date(`${this.duzenleTarih()}T${this.duzenleSaat()}:00`).toISOString();\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.guncelle', gecikmeliCevap: false });\n istek.parametreler = {\n filter: { _id: olay._id, vt: 'FikoYT.sistem.cihaz.olaylar' },\n set: { durum: this.duzenleDurum(), sunucu_zamani: isoZaman },\n };\n await istek.isteSync();\n this.duzenlenenOlayId.set(null);\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] kayıt güncellenemedi', err);\n } finally {\n this.duzenleKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n // ─── Veri yükleme + eşleştirme ────────────────────────────────\n\n private async ayVerisiYukle() {\n const uid = this.kartUid;\n if (!uid) { this.gunler.set([]); return; }\n\n // Bu metod TÜM hareket değişikliklerinin (manuel ekleme, düzenleme, silme,\n // grup düzenleme/silme) sonunda çağrılır — buradan `pdks_kart_hareketler`\n // koleksiyonunu canlı okuyan bileşenlere (firmada-panel vb.) sinyal yolla ki\n // onlar da anında yeniden hesaplayabilsin.\n try { this.wsService.hareketDegisti$.next(); } catch { /* sinyal zorunlu değil */ }\n\n const t = this.seciliTarih();\n const bas = new Date(t.getFullYear(), t.getMonth(), 1);\n const son = new Date(t.getFullYear(), t.getMonth() + 1, 1);\n this.gunleriYukle(bas, son);\n }\n\n /** Verilen tarih aralığındaki (ay) okuma kayıtlarını meta + kesintiyle paralel çekip gün gruplarına böler. */\n private async gunleriYukle(bas: Date, son: Date) {\n const uid = this.kartUid;\n if (!uid) { this.gunler.set([]); return; }\n\n this.yukleniyor.set(true);\n this.cd.markForCheck();\n\n try {\n const iso = (x: Date) => x.toISOString();\n const basTarih = `${bas.getFullYear()}-${String(bas.getMonth() + 1).padStart(2, '0')}-01`;\n const sonTarih = `${son.getFullYear()}-${String(son.getMonth() + 1).padStart(2, '0')}-01`;\n\n // Hareket verisi + gün meta verisi paralel çek\n const hareketIstek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.aggregate' });\n hareketIstek.parametreler = {\n aggregate: [\n { $match: {\n vt: 'FikoYT.sistem.cihaz.olaylar',\n durum: { $in: ['koyuldu', 'cekildi'] },\n kart_kimlik: uid,\n sunucu_zamani: { $gte: iso(bas), $lt: iso(son) },\n } },\n // NOT: Bu $sort sadece ilk yüklemeyi hızlandırır — kesin sıralama garantisi\n // olarak KULLANILMAZ. Canlı WS güncellemesi, manuel kayıt ekleme/düzenleme\n // sonrası bu sorgu tekrar çalıştırılır ve sonuç `gunlereGrupla()` içinde HER\n // SEFERİNDE sayısal zaman damgasına (getTime()) göre yeniden sıralanır —\n // bkz. gunlereGrupla() başındaki `hamSirali`.\n { $sort: { sunucu_zamani: 1 } },\n { $project: { _id: 1, zaman: '$sunucu_zamani', durum: 1, manuel: 1 } },\n ],\n };\n\n const metaIstek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_meta.aggregate' });\n metaIstek.parametreler = {\n aggregate: [\n { $match: { kart_kimlik: uid, tarih: { $gte: basTarih, $lt: sonTarih } } },\n ],\n };\n\n const kesintiIstek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_kesintiler.aggregate' });\n kesintiIstek.parametreler = {\n aggregate: [\n { $match: { kart_kimlik: uid, tarih: { $gte: basTarih, $lt: sonTarih } } },\n { $sort: { tarih: 1 } },\n ],\n };\n\n await Promise.all([hareketIstek.isteSync(), metaIstek.isteSync(), kesintiIstek.isteSync()]);\n\n const ham: any[] = hareketIstek.cevap?.sonuc || (Array.isArray(hareketIstek.cevap) ? hareketIstek.cevap : []) || [];\n this._hamOlaylar = ham;\n const metaHam: any[] = metaIstek.cevap?.sonuc || (Array.isArray(metaIstek.cevap) ? metaIstek.cevap : []) || [];\n const kesintiHam: any[] = kesintiIstek.cevap?.sonuc || (Array.isArray(kesintiIstek.cevap) ? kesintiIstek.cevap : []) || [];\n\n // Meta map'i güncelle\n this._gunMetaMap.clear();\n for (const m of metaHam) {\n if (m?.tarih) this._gunMetaMap.set(m.tarih, { _id: m._id, kart_kimlik: m.kart_kimlik, tarih: m.tarih, tatilMi: !!m.tatilMi, aciklama: m.aciklama || '' });\n }\n\n // Kesinti map'i güncelle — tarih başına birden fazla kesinti olabilir\n this._gunKesintiMap.clear();\n for (const k of kesintiHam) {\n if (!k?.tarih) continue;\n if (!this._gunKesintiMap.has(k.tarih)) this._gunKesintiMap.set(k.tarih, []);\n this._gunKesintiMap.get(k.tarih)!.push({\n _id: k._id, kart_kimlik: k.kart_kimlik, tarih: k.tarih, tur: k.tur, baslangic: k.baslangic, bitis: k.bitis, aciklama: k.aciklama || '',\n });\n }\n\n this.gunler.set(this.gunlereGrupla(ham, bas, son));\n\n // Dialog açıksa (canlı izleniyorsa) içeriğini de güncel günün taze veriyle değiştir\n const acikGun = this.dialogGun();\n if (acikGun) {\n const guncel = this.gunler().find(g => g.tarih === acikGun.tarih);\n this.dialogGun.set(guncel || null);\n }\n } catch (err) {\n console.error('[KartSahibi] ay verisi yüklenemedi', err);\n this.gunler.set([]);\n } finally {\n this.yukleniyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /**\n * Ham (zaman sıralı) koyuldu/cekildi olaylarını GÜN GRUPLAMASINDAN ÖNCE eşleştirir:\n * ardışık koyuldu→cekildi çiftleri gece yarısı sınırı göz ardı edilerek tek bir\n * \"okuma\" sayılır ve GÜN ataması koyuldu'nun tarihine göre yapılır (yani 23:58\n * giriş + 00:03 çıkış aynı — girişin olduğu — güne yazılır, ikiye bölünmez).\n * Eşsiz (çifti bulunamayan) koyuldu/cekildi kendi tarihinde tek başına (fallback)\n * gösterilir: örn. ay ortasında biten bir giriş (henüz çıkış okutulmamış) ya da\n * ayın başında rastlanan, önceki aydan kalma bir çıkış.\n * Son olarak, kayıt bulunmayan günler için de \"Hareket yok\" gösterilebilsin diye\n * boş satırlar üretilir (geçmiş aylarda ayın tamamı, bu ayda bugüne kadar).\n */\n private gunlereGrupla(ham: any[], ayBas: Date, aySon: Date): IKartSahibiGun[] {\n // KRİTİK: DB'den $sort:{sunucu_zamani:1} ile sıralı geldiği varsayılsa da, bu diziye\n // sonradan (canlı WS güncellemesi, manuel kayıt ekleme/düzenleme sonrası ayVerisiYukle\n // yeniden çağrısı) eklenen kayıtların gerçekten kronolojik sırada olduğuna asla\n // güvenilmez. koyuldu/cekildi eşleştirme mantığı SIRAYA bağlı olduğundan, işlemeye\n // başlamadan önce SAYISAL zaman damgasına göre (ISO string karşılaştırması DEĞİL —\n // milisaniye/format farkları yanlış sıra verebilir) tek seferlik ve kesin bir sıralama\n // uygulanır.\n const hamSirali = [...(ham || [])].sort((a, b) => new Date(a.zaman).getTime() - new Date(b.zaman).getTime());\n const gunOlaylari = new Map();\n const ekle = (tarih: string, olay: IKartSahibiOlay) => {\n if (!gunOlaylari.has(tarih)) gunOlaylari.set(tarih, []);\n gunOlaylari.get(tarih)!.push(olay);\n };\n const olayaCevir = (o: any, durum: 'koyuldu' | 'cekildi'): IKartSahibiOlay =>\n ({ _id: o._id, zaman: o.zaman, durum, manuel: !!o.manuel });\n // ÖNEMLİ: sunucu_zamani UTC ISO olarak saklanıyor. String(...).slice(0,10) UTC\n // takvim gününü verir — UTC+3'te 00:00–02:59 arası yerel kayıtlar bir önceki\n // UTC gününe denk düşüp YANLIŞ (bir önceki) güne yazılıyordu. Bunun yerine\n // zaman damgasını yerel tarihe çevirip ona göre grupluyoruz.\n const yerelTarih = (iso: string) => {\n const d = new Date(iso);\n return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;\n };\n\n let bekleyenKoyuldu: any = null;\n for (const o of hamSirali) {\n if (o.durum === 'koyuldu') {\n if (bekleyenKoyuldu) {\n // önceki koyuldu hiç çıkışla eşleşmeden yeni bir koyuldu geldi → fallback: kendi gününde tek başına\n ekle(yerelTarih(bekleyenKoyuldu.zaman), olayaCevir(bekleyenKoyuldu, 'koyuldu'));\n }\n bekleyenKoyuldu = o;\n } else {\n if (bekleyenKoyuldu) {\n // eşleşen çift → GÜN ataması koyuldu tarihine göre (gece yarısı bölünmez)\n const gunTarihi = yerelTarih(bekleyenKoyuldu.zaman);\n ekle(gunTarihi, olayaCevir(bekleyenKoyuldu, 'koyuldu'));\n ekle(gunTarihi, olayaCevir(o, 'cekildi'));\n bekleyenKoyuldu = null;\n } else {\n // eşsiz çıkış (ör. önceki aydan/görünmeyen bir girişin devamı) → fallback: kendi gününde\n ekle(yerelTarih(o.zaman), olayaCevir(o, 'cekildi'));\n }\n }\n }\n if (bekleyenKoyuldu) {\n // ay sonunda hâlâ \"içeride\" (çıkışı henüz okutulmamış) → fallback: kendi gününde tek başına\n ekle(yerelTarih(bekleyenKoyuldu.zaman), olayaCevir(bekleyenKoyuldu, 'koyuldu'));\n }\n\n // Ayın günleri için satır üret (kayıt olmasa da \"Hareket yok\" gösterilsin) —\n // geçmiş aylarda ayın tamamı, bu ayda bugüne kadar.\n const bugun = new Date();\n const bugunTarihStr = `${bugun.getFullYear()}-${String(bugun.getMonth() + 1).padStart(2, '0')}-${String(bugun.getDate()).padStart(2, '0')}`;\n const ayGuncelMi = ayBas.getFullYear() === bugun.getFullYear() && ayBas.getMonth() === bugun.getMonth();\n const sonGunTarihi = new Date(aySon.getTime() - 1);\n const gosterilecekSon = ayGuncelMi ? bugun.getDate() : sonGunTarihi.getDate();\n\n const gunler: IKartSahibiGun[] = [];\n for (let d = new Date(ayBas); d.getTime() <= aySon.getTime(); d.setDate(d.getDate() + 1)) {\n const tarih = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;\n // KRİTİK: ISO string karşılaştırması (localeCompare) DEĞİL — cihaz kayıtları ile\n // manuel eklenen/düzenlenen kayıtların ISO gösterimi (milisaniye hassasiyeti,\n // Z / +00:00 farkı vb.) birebir aynı olmayabilir; bu, string sıralamasını yanlış\n // sıraya sokabilir. Sayısal zaman damgası (getTime()) her zaman doğru kronolojik\n // sırayı verir ve dizinin DB'ye/diziye ekleniş sırasından tamamen bağımsızdır.\n const olaylar = (gunOlaylari.get(tarih) || []).sort((a, b) => new Date(a.zaman).getTime() - new Date(b.zaman).getTime());\n const haftaGunu = d.getDay(); // 0=Pazar, 6=Cumartesi\n // Gruplama açıksa: Günün ilk grubu giriş, son grubu çıkış olarak gösterilir.\n // Kapalıysa: tüm okutmaların ilki ve sonuncusu kullanılır (mevcut davranış).\n // Çoklu giriş/çıkış modu açıksa: eşiklenmiş gruplar sırayla giriş/çıkış/giriş/çıkış...\n // sayılır (bkz. _segmentleriOlustur) — gün içinde birden fazla mesai bloğu olabilir.\n const gunGruplari = this.okutmaGruplari(olaylar);\n let ilkKesin = '', sonKesin = '';\n let ilkYuvari = false, sonYuvari = false;\n let segmentler: IGirisCikisSegment[] = [];\n let toplamSureDk: number | null = null;\n\n if (this.cokluGirisCikisAcik()) {\n segmentler = this._segmentleriOlustur(gunGruplari);\n const ilkSeg = segmentler[0];\n const sonKapaliSeg = [...segmentler].reverse().find(s => !s.acikMi);\n ilkKesin = ilkSeg?.girisZaman ?? '';\n sonKesin = sonKapaliSeg?.cikisZaman ?? '';\n ilkYuvari = !!ilkSeg?.girisYuvari;\n sonYuvari = !!sonKapaliSeg?.cikisYuvari;\n toplamSureDk = segmentler.length ? this._segmentlerToplamDk(segmentler) : null;\n } else {\n const ilkGrup = gunGruplari[0];\n const sonGrup = gunGruplari[gunGruplari.length - 1];\n const ilkZaman = ilkGrup ? ilkGrup.ilkOlay.zaman : '';\n const sonZaman = sonGrup ? sonGrup.sonOlay.zaman : '';\n // Tolance: only non-manual (okunan) giris/cikis rounded to target. Manual kayitlar never touched.\n const ilkTol = ilkZaman ? this._toleransIsoUygula(ilkZaman, this.girisHedefSaat(), !!ilkGrup?.ilkOlay.manuel) : null;\n const sonTol = sonZaman ? this._toleransIsoUygula(sonZaman, this.cikisHedefSaat(), !!sonGrup?.sonOlay.manuel) : null;\n ilkKesin = ilkTol?.zaman ?? '';\n sonKesin = sonTol?.zaman ?? '';\n ilkYuvari = !!ilkTol?.yuvarlandi;\n sonYuvari = !!sonTol?.yuvarlandi;\n }\n const gunKesintileri = this._gunKesintiMap.get(tarih) || [];\n\n // Çoklu modda ham/net süre segmentlerin TOPLAMI (aradaki izin boşluğu hariç);\n // tekli modda eskisi gibi ilk-son farkı.\n const sureStr = toplamSureDk !== null\n ? (toplamSureDk > 0 ? this.dakikaFormat(toplamSureDk) + ':00' : '')\n : (ilkKesin && sonKesin && ilkKesin !== sonKesin ? this.sureFarkiHesapla(ilkKesin, sonKesin) : '');\n const netSureStr = toplamSureDk !== null\n ? (toplamSureDk > 0 ? this.dakikaFormat(toplamSureDk - this.molaToplamDk(gunKesintileri)) : '')\n : (ilkKesin && sonKesin && ilkKesin !== sonKesin ? this.netSureHesapla(ilkKesin, sonKesin, gunKesintileri) : '');\n\n gunler.push({\n tarih,\n gun: d.getDate(),\n gunAdi: GUN_ISIMLERI_KISA[haftaGunu],\n bugunMu: tarih === bugunTarihStr,\n ilk: ilkKesin ? this.saatFormat(ilkKesin).slice(0, 5) : '',\n son: sonKesin ? this.saatFormat(sonKesin).slice(0, 5) : '',\n ilkYuvari,\n sonYuvari,\n sure: sureStr,\n sayisi: olaylar.length,\n olaylar,\n haftaSonuMu: haftaGunu === 0 || haftaGunu === 6,\n tatilMi: this.tatilGunuMu(tarih),\n aciklama: this._gunMetaMap.get(tarih)?.aciklama ?? '',\n metaId: this._gunMetaMap.get(tarih)?._id,\n kesintiler: gunKesintileri,\n netSure: netSureStr,\n segmentler,\n });\n }\n // Bugundan sonraki satirlari at — hafta/ay gorumunu buguna kadar gosterir.\n return gunler.filter(g => new Date(`${g.tarih}T00:00:00`).getTime() <= bugun.getTime() + 24 * 60 * 60 * 1000);\n }\n\n private tatilGunuMu(tarih: string): boolean {\n return !!this._gunMetaMap.get(tarih)?.tatilMi;\n }\n\n /**\n * pdks_gun_meta kaydını kalıcı hale getirir.\n * Sunucuda 'upsert' komutu bulunmadığı için: mevcut kayıt varsa 'guncelle',\n * yoksa 'ekle' komutu kullanılır (proje deseni — bkz. kesinti ekle/guncelle).\n * Dönen değer: yeni eklenen kaydın _id'si (güncellemede mevcut _id).\n */\n private async _metaKaydet(tarih: string, alanlar: { tatilMi?: boolean; aciklama?: string }): Promise {\n const mevcut = this._gunMetaMap.get(tarih);\n const tamBelge = {\n kart_kimlik: this.kartUid,\n tarih,\n tatilMi: alanlar.tatilMi !== undefined ? alanlar.tatilMi : !!mevcut?.tatilMi,\n aciklama: alanlar.aciklama !== undefined ? alanlar.aciklama : (mevcut?.aciklama ?? ''),\n };\n if (mevcut?._id) {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_meta.guncelle', gecikmeliCevap: false });\n istek.parametreler = { filter: { _id: mevcut._id }, set: { tatilMi: tamBelge.tatilMi, aciklama: tamBelge.aciklama } };\n await istek.isteSync();\n return mevcut._id;\n }\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_meta.ekle', gecikmeliCevap: false });\n istek.parametreler = tamBelge;\n await istek.isteSync();\n // Sunucu cevabı farklı biçimlerde gelebilir: sonuc bir dizi içinde { UpsertedID } olabilir\n const ham: any = istek.cevap?.sonuc;\n const sonuc: any = Array.isArray(ham) ? ham[0] : ham;\n const gelenId = sonuc?._id ?? sonuc?.UpsertedID ?? sonuc?.upsertedId ?? sonuc?.insertedId ?? undefined;\n return (typeof gelenId === 'string' && gelenId ? gelenId : undefined);\n }\n\n /**\n * Tatil işaretle / kaldır.\n * pdks_gun_meta koleksiyonunda { kart_kimlik, tarih, tatilMi } belgesi tutulur.\n * — Kart olmasa da (kartUid boş) çalışır: genel tatil günü tanımlamak için.\n * — Kayıt yoksa ekle, varsa güncelle (_metaKaydet).\n * — UI anında güncellenir (optimistic), hata durumunda geri alınır.\n */\n async tatilToggle(tarih: string) {\n if (this.tatilKaydediliyor()) return;\n\n const mevcutMeta = this._gunMetaMap.get(tarih);\n const yeniDeger = !mevcutMeta?.tatilMi;\n\n // Optimistic UI güncelle\n this._gunMetaMapGuncelle(tarih, yeniDeger, mevcutMeta?._id);\n this._gunlerTatilGuncelle(tarih, yeniDeger);\n\n this.tatilKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const gelenId = await this._metaKaydet(tarih, { tatilMi: yeniDeger });\n if (gelenId) {\n this._gunMetaMapGuncelle(tarih, yeniDeger, gelenId);\n this._gunlerTatilGuncelle(tarih, yeniDeger, gelenId);\n }\n } catch (err) {\n console.error('[KartSahibi] tatil meta kaydedilemedi', err);\n // Hata: geri al\n this._gunMetaMapGuncelle(tarih, !yeniDeger, mevcutMeta?._id);\n this._gunlerTatilGuncelle(tarih, !yeniDeger, mevcutMeta?._id);\n } finally {\n this.tatilKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n private _gunMetaMapGuncelle(tarih: string, tatilMi: boolean, id?: string, aciklama?: string) {\n const mevcut = this._gunMetaMap.get(tarih) ?? { kart_kimlik: this.kartUid, tarih, tatilMi: false };\n this._gunMetaMap.set(tarih, {\n ...mevcut,\n tatilMi,\n _id: id ?? mevcut._id,\n aciklama: aciklama !== undefined ? aciklama : mevcut.aciklama,\n });\n }\n\n private _gunlerTatilGuncelle(tarih: string, tatilMi: boolean, metaId?: string) {\n this.gunler.set(this.gunler().map(g =>\n g.tarih === tarih ? { ...g, tatilMi, metaId: metaId ?? g.metaId } : g\n ));\n const acik = this.dialogGun();\n if (acik?.tarih === tarih) {\n this.dialogGun.set({ ...acik, tatilMi, metaId: metaId ?? acik.metaId });\n }\n }\n\n /**\n * Açıklama blur'da çağrılır — değişmediyse istek atmaz.\n * _metaKaydet ile ekle/guncelle deseniyle kalıcı hale getirilir.\n */\n async aciklamaKaydet(tarih: string) {\n const yeniAciklama = this.aciklamaDraft().trim();\n const mevcut = this._gunMetaMap.get(tarih);\n if ((mevcut?.aciklama ?? '') === yeniAciklama) return; // değişmedi\n if (this.aciklamaKaydediliyor()) return;\n\n this.aciklamaKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const gelenId = await this._metaKaydet(tarih, { aciklama: yeniAciklama });\n const mevcutTatil = !!mevcut?.tatilMi;\n this._gunMetaMapGuncelle(tarih, mevcutTatil, gelenId ?? mevcut?._id, yeniAciklama);\n // Gün listesini ve dialogu güncelle\n this.gunler.set(this.gunler().map(g =>\n g.tarih === tarih ? { ...g, aciklama: yeniAciklama } : g\n ));\n const acik = this.dialogGun();\n if (acik?.tarih === tarih) {\n this.dialogGun.set({ ...acik, aciklama: yeniAciklama });\n }\n } catch (err) {\n console.error('[KartSahibi] açıklama kaydedilemedi', err);\n } finally {\n this.aciklamaKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n // ─── Mola / İzin (kesinti) yönetimi ────────────────────────────\n // pdks_gun_kesintiler koleksiyonu: { kart_kimlik, tarih, tur, baslangic, bitis }.\n // manuelKaydet()/duzenleKaydet() ile aynı FikoYTIstekKok deseni kullanılır.\n\n /** Yeni kesinti formunu açar (ekleme modu). */\n kesintiFormAc() {\n this.kesintiTur.set('mola');\n this.kesintiBaslangic.set('');\n this.kesintiBitis.set('');\n this.kesintiAciklama.set('');\n this.duzenlenenKesintiId.set(null);\n this.kesintiFormAcik.set(true);\n this.cd.markForCheck();\n }\n\n kesintiFormKapat() {\n this.kesintiFormAcik.set(false);\n this.duzenlenenKesintiId.set(null);\n this.cd.markForCheck();\n }\n\n /** Bir şablon (ör. varsayılan öğle molası) bu güne zaten eklenmiş mi? */\n kesintiSablonMevcut(s: IKesintiSablon): boolean {\n const gun = this.dialogGun();\n return !!gun?.kesintiler?.some(k => k.tur === s.tur && k.baslangic === s.baslangic && k.bitis === s.bitis);\n }\n\n /** Bir şablonu (örn. öğle molası) form açmadan tek tıkla açar: ekli değilse ekler, ekliyse siler (toggle). */\n async kesintiSablonToggle(s: IKesintiSablon) {\n const gun = this.dialogGun();\n const uid = this.kartUid;\n if (!gun || !uid || this.kesintiKaydediliyor()) return;\n\n const mevcut = gun.kesintiler?.find(k => k.tur === s.tur && k.baslangic === s.baslangic && k.bitis === s.bitis);\n if (mevcut) {\n // Ekli — tekrar tıklayınca sil\n return this.kesintiSil(mevcut._id);\n }\n\n this.kesintiKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_kesintiler.ekle', gecikmeliCevap: false });\n istek.parametreler = {\n kart_kimlik: uid,\n tarih: gun.tarih,\n tur: s.tur,\n baslangic: s.baslangic,\n bitis: s.bitis,\n aciklama: s.aciklama || '',\n };\n await istek.isteSync();\n await this.ayVerisiYukle(); // dialogGun'ı da güncel veriyle yeniler\n } catch (err) {\n console.error('[KartSahibi] şablon kesintisi eklenemedi', err);\n } finally {\n this.kesintiKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** Formdaki değerlerle yeni bir kesinti (mola/izin) ekler. */\n async kesintiEkle() {\n const gun = this.dialogGun();\n const uid = this.kartUid;\n if (!gun || !uid || !this.kesintiBaslangic() || !this.kesintiBitis() || this.kesintiKaydediliyor()) return;\n if (this.kesintiBitis() <= this.kesintiBaslangic()) return; // bitiş, başlangıçtan sonra olmalı\n\n this.kesintiKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_kesintiler.ekle', gecikmeliCevap: false });\n istek.parametreler = {\n kart_kimlik: uid,\n tarih: gun.tarih,\n tur: this.kesintiTur(),\n baslangic: this.kesintiBaslangic(),\n bitis: this.kesintiBitis(),\n aciklama: this.kesintiAciklama().trim(),\n };\n await istek.isteSync();\n this.kesintiFormAcik.set(false);\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] kesinti eklenemedi', err);\n } finally {\n this.kesintiKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** Var olan bir kesintiyi siler. */\n async kesintiSil(id: string | undefined) {\n if (!id) return;\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_kesintiler.sil', gecikmeliCevap: false });\n istek.parametreler = { _id: id };\n await istek.isteSync();\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] kesinti silinemedi', err);\n }\n }\n\n /** Var olan bir kesintiyi düzenleme moduna açar — form aynı alanları kullanır. */\n kesintiDuzenleAc(k: IGunKesinti) {\n if (!k._id) return;\n this.kesintiTur.set(k.tur);\n this.kesintiBaslangic.set(k.baslangic);\n this.kesintiBitis.set(k.bitis);\n this.kesintiAciklama.set(k.aciklama || '');\n this.duzenlenenKesintiId.set(k._id);\n this.kesintiFormAcik.set(true);\n this.cd.markForCheck();\n }\n\n /** Düzenleme modundaki kesintiyi kaydeder. */\n async kesintiDuzenleKaydet() {\n const id = this.duzenlenenKesintiId();\n if (!id || !this.kesintiBaslangic() || !this.kesintiBitis() || this.kesintiKaydediliyor()) return;\n if (this.kesintiBitis() <= this.kesintiBaslangic()) return;\n\n this.kesintiKaydediliyor.set(true);\n this.cd.markForCheck();\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_gun_kesintiler.guncelle', gecikmeliCevap: false });\n istek.parametreler = {\n filter: { _id: id },\n set: { tur: this.kesintiTur(), baslangic: this.kesintiBaslangic(), bitis: this.kesintiBitis(), aciklama: this.kesintiAciklama().trim() },\n };\n await istek.isteSync();\n this.kesintiFormAcik.set(false);\n this.duzenlenenKesintiId.set(null);\n await this.ayVerisiYukle();\n } catch (err) {\n console.error('[KartSahibi] kesinti güncellenemedi', err);\n } finally {\n this.kesintiKaydediliyor.set(false);\n this.cd.markForCheck();\n }\n }\n}\n","
\n\n \n
\n \n \n \n \n Kart Sahibi\n
\n \n {{ baglimi() ? 'Bağlı' : 'Bağlanıyor...' }}\n
\n
\n\n @if (!kartUid()) {\n \n
\n
\n
\n
\n
\n \n \n \n
\n
Kartı okuyucuya okutun
\n
Okutulan kart bu widget'a bağlanacak
\n
\n } @else {\n \n
\n \n \n \n
\n Kart bağlandı\n UID: {{ kartUid() }}\n
\n \n
\n\n \n
\n
\n \n @if (sahipResimUrl() && !resimYukleniyor()) {\n \n }\n
\n
\n \n \n
\n
\n }\n\n
\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component, computed,\n inject, model, OnDestroy, OnInit, signal,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\nimport { KartWebSocketService } from '../services/kart-websocket.service';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { AvatarService } from '@/src/app/servisler/avatar.service';\n\n/**\n * Paylaşım sistemi edit görünümü (paylas_kutusu) —\n * Bir kart okutulur, okutulan kartın UID'si yakalanır ve bu karta\n * (kime ait olduğunu belirten) bir isim atanır. Takip, personel/firma\n * kaydı gerektirmeden doğrudan bu tek kart UID'si üzerinden yapılır.\n */\n@Component({\n selector: 'kart-sahibi-paylasim-edit',\n standalone: true,\n imports: [CommonModule, FormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './kart-sahibi-edit.component.html',\n styleUrl: './kart-sahibi-edit.component.less',\n})\nexport class KartSahibiEditComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n parametreler = model();\n\n baglimi = signal(false);\n kartUid = signal('');\n resimYukleniyor = signal(false);\n\n /** Ayni resim id'si yeniden yuklendiginde tarayici onbellegini atlatmak icin\n * arttirilan sayac — resimSecildi() basariyla bittiginde guncellenir. */\n private _resimCacheBust = signal(0);\n\n private _destroy$ = new Subject();\n private wsService = inject(KartWebSocketService);\n private cd = inject(ChangeDetectorRef);\n private avatar = inject(AvatarService);\n\n constructor() { super(); }\n\n ngOnInit() {\n // Mevcut parametrelerden önceden okutulmuş kartı geri yükle\n // (gerçek alanlar üst seviyede değil, parametreler().ek içinde tutulur —\n // bkz. IKartComponent.dinamikParametreleriGuncelle: { kart, icerik, ek })\n const ek = this.parametreler?.()?.ek ?? {};\n if (ek.kartUid) {\n this.kartUid.set(ek.kartUid);\n }\n\n this.wsService.durum$\n .pipe(takeUntil(this._destroy$))\n .subscribe(durum => {\n this.baglimi.set(durum === 'bagli');\n this.cd.markForCheck();\n });\n\n // Kart okutulduğunda UID'yi yakala — sadece henüz bir kart atanmamışsa\n // otomatik yakala; \"Değiştir\" ile yeniden dinlemeye açılır.\n this.wsService.kartOlayi$\n .pipe(takeUntil(this._destroy$))\n .subscribe(olay => {\n if (olay.durum !== 'koyuldu' || !olay.kartKimlik) return;\n if (this.kartUid() && this.kartUid() !== '') return;\n this.kartUidAta(olay.kartKimlik);\n });\n\n if (!this.wsService.bagli) {\n this.wsService.baglan();\n }\n }\n\n private kartUidAta(uid: string) {\n this.kartUid.set(uid);\n this.ekGuncelle('kartUid', uid);\n }\n\n /** \"Değiştir\" — yeni bir kart okutulana kadar mevcut UID'yi geçici olarak temizler */\n yenidenOkut() {\n this.kartUid.set('');\n this.cd.markForCheck();\n }\n\n guncelle(alan: string, deger: string) {\n this.ekGuncelle(alan, deger);\n }\n\n get sahipResimId(): string {\n return this.parametreler()?.ek?.sahipResim || '';\n }\n /** parametreler() (id degisimi) veya _resimCacheBust (ayni id yeniden yuklendi)\n * degistiginde otomatik yeniden hesaplanir; OnPush altinda [src] ve @if\n * buna gore guncellenir. */\n sahipResimUrl = computed(() => {\n const id = this.parametreler()?.ek?.sahipResim || '';\n const bust = this._resimCacheBust();\n return id ? this.avatar.profilResimUrl(id, '128x128') + (bust ? `&_t=${bust}` : '') : '';\n });\n\n /** Profil resmi ekle/değiştir — 'FikoYT.sistem.dosya.:db.yukle' genel yükleme\n * endpoint'i + FormData kullanır (bkz. sistem/kokDB/routes.go, fikoyt_sistem_dosya_yukle).\n * NOT: PdksKisilerService.resimYukle hâlâ var olmayan 'FikoYT.sistem.dosyalar.yukle'\n * komutunu kullanıyor — aynı hatayı taşıyor, ayrıca düzeltilmesi gerekiyor. */\n async resimSecildi(event: any) {\n const dosya: File = event?.target?.files?.[0];\n if (!dosya) return;\n if (!dosya.type.startsWith('image')) {\n event.target.value = '';\n return;\n }\n\n this.resimYukleniyor.set(true);\n this.cd.markForCheck();\n try {\n // NOT: 'FikoYT.sistem.dosyalar.yukle' diye bir backend route yok (bkz. routes.go) —\n // gerçek genel-amaçlı yükleme endpoint'i 'FikoYT.sistem.dosya.:db.yukle' (kok DB, tekil\n // \"dosya\"). ÖNEMLİ: ':db' parametresi sadece metadata etiketi değil — saveToGridFS()\n // bunu GERÇEK GridFS bucket adı olarak kullanıyor (bkz. FikoYTDosya/fikoyt_dosya.go,\n // saveToGridFS: metaData[\"koleksiyon\"] varsa fsName = koleksiyon). Ama resmi okuyan\n // dosyalar.:id.resim route'u HER ZAMAN sabit \"go_files\" bucket'ından okuyor. Bu yuzden\n // ':db' MUTLAKA 'go_files' olmali, yoksa dosya farkli bir bucket'a yazilip okunamaz\n // (sunucu \"resim yok\" placeholder'ini doner — yasadigimiz bug tam olarak buydu).\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.dosya.go_files.yukle' });\n const fd = new FormData();\n fd.append('file', dosya);\n // NOT: fikoyt_json.AraIsleyici() FikoYT.Istek.Json'ı 'req_body' form alanından\n // dolduruyor; bu alan yoksa Json nil kalıyor ve backend nil map'e yazarken\n // (\"metadata['koleksiyon'] = ...\") panic atıp 500 dönüyordu. Boş JSON metadata\n // ile bunu çözüyoruz.\n fd.append('req_body', JSON.stringify({}));\n istek.parametreler = fd;\n await istek.isteSync();\n const id: string | null = istek.cevap?.sonuc?.sonuclar?.[0]?.id || null;\n if (id) {\n // NOT: dosya.yukle cevabi anlik degil — dosya arka planda (ffmpeg sikistirma +\n // GridFS yazimi) islenip kaydediliyor (bkz. fikoyt_sistem_dosya_yukle). Bu yuzden\n // id'yi hemen avatara baglarsak GridFS'te henuz olmayan bir dosyayi istemis oluyoruz\n // ve backend \"resim yok\" placeholder'ini donuyor. dosya.bilgi ile hazir olana kadar\n // bekliyoruz (bkz. fikoyt_sistem_dosya_bilgi, durum:\"isleniyor\" -> hazir olunca degisir).\n await this.dosyaHazirOlanaKadarBekle(id);\n this.ekGuncelle('sahipResim', id);\n // Ayni id ile yeniden yuklenmis olabilir (kullanici ayni dosyayi tekrar\n // sectiyse parametreler() degismez) — cache-bust sayacini her durumda ilerlet.\n this._resimCacheBust.set(Date.now());\n }\n } catch (err) {\n console.error('[KartSahibiEdit] profil resmi yüklenemedi', err);\n } finally {\n this.resimYukleniyor.set(false);\n event.target.value = '';\n this.cd.markForCheck();\n }\n }\n\n resimKaldir() {\n this.ekGuncelle('sahipResim', '');\n }\n\n /** dosya.yukle arka planda islendigi icin (bkz. resimSecildi yorum) dosya.bilgi\n * endpoint'ini polling ile hazir olana kadar bekler. durum:\"isleniyor\" donerse\n * tekrar dener; bulunamazsa/hazir olursa (veya deneme hakki biterse) doner. */\n private async dosyaHazirOlanaKadarBekle(id: string, maxDeneme = 20, araGecikmeMs = 500): Promise {\n for (let i = 0; i < maxDeneme; i++) {\n try {\n const bilgiIstek = new FikoYTIstekKok({ metod: 'GET', komut: 'FikoYT.sistem.dosya.bilgi/' + id });\n // NOT: constructor 'parametreler'i varsayilan olarak {} yapiyor ve bu HttpRequest'e\n // body olarak geciyor. Tarayici GET/HEAD isteklerinde body'e izin vermiyor\n // (\"Request with GET/HEAD method cannot have body\") — bu yuzden body'i temizliyoruz.\n bilgiIstek.parametreler = undefined;\n await bilgiIstek.isteSync();\n if (bilgiIstek.cevap?.sonuc?.durum !== 'isleniyor') {\n return;\n }\n } catch {\n // istek basarisiz olsa bile devam et, tekrar dene\n }\n await new Promise(r => setTimeout(r, araGecikmeMs));\n }\n }\n\n /**\n * Gerçek alanları parametreler().ek içine yazar. `ek`, kart içeriğinin\n * (icerik.ek) doğrudan referansı olduğu için burada mutasyon yapmak,\n * kartın kaydedilen verisine de aynen yansır. Üstte yeni bir sarmalayıcı\n * obje oluşturmak ise sadece Angular reaktivitesini tetiklemek içindir.\n */\n private ekGuncelle(alan: string, deger: any) {\n const params = this.parametreler() ?? {};\n const ek = params.ek ?? {};\n ek[alan] = deger;\n this.parametreler.set({ ...params, ek });\n this.cd.markForCheck();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n\n\n\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { KartSahibiKartComponent } from './kart-sahibi-kart.component';\nimport { KartSahibiEditComponent } from './kart-sahibi-edit.component';\n\n/**\n * Kart Sahibi / Kart Geçmişi — Dinamik Bileşen\n *\n * Görünümler:\n * • paylas_kutusu → bir kart okutulur, kime ait olduğu (isim) girilir\n * • paylasilmis_kart → o kartın ay bazlı okuma geçmişi (gün gün ilk/son\n * okuma; bir güne tıklanınca o güne ait tüm saatler)\n *\n * Personel/firma kaydı gerektirmez — takip tamamen tek bir kart UID'si\n * üzerinden yapılır (FikoYT.sistem.cihaz.olaylar / tip:'kart_koyuldu').\n */\n@DinamikBilesen({\n id: 'hmi-kart-sahibi',\n baslik: 'Kart Sahibi / Kart Geçmişi',\n aciklama: 'Bir kartı okutup bir kişiye atar; paylaşılan kartta o kartın aylık okuma geçmişini gösterir',\n ikon: 'idcard',\n kategori: 'hmi',\n etiketler: ['nodemcu', 'rfid', 'nfc', 'kart', 'pdks', 'gecmis', 'devam'],\n oncelik: 11,\n})\nclass HmiKartSahibiBilesen {\n paylasilmis_kart = KartSahibiKartComponent;\n paylas_kutusu = KartSahibiEditComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\nconst TUR_SECENEKLERI = ['Alüminyum', 'Çelik', 'Paslanmaz Çelik', 'Pirinç', 'Bakır', 'Plastik', 'Ahşap', 'Kompozit', 'Cam', 'Diğer'];\n\n@Component({\n selector: 'cam-malzeme-tanimi-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🧊
\n Malzeme Tanımı\n
\n
\n
\n \n
\n \n
\n
\n
\n\n
\n
\n \n
\n \n @for (t of turler; track t) { }\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n @if (stokDurum()) {\n
\n {{ stokDurum() === 'tehlike' ? '⛔ STOK KRİTİK — Tedarik Gerekli!' : '⚠️ Stok azalıyor' }}\n
\n }\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class CamMalzemeTanimiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n turler = TUR_SECENEKLERI;\n stokDurum = computed(() => {\n const stok = +(this.p()?.stokMiktari || 0);\n const min = +(this.p()?.minimumStok || 0);\n if (!min || !stok) return null;\n if (stok <= min * 0.5) return 'tehlike';\n if (stok <= min) return 'uyari';\n return null;\n });\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CamMalzemeTanimiEditComponent } from './cam-malzeme-tanimi-edit.component';\n\n@Component({\n selector: 'cam-malzeme-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
🧊 MALZEME
\n
{{ d('malzemeAdi') || 'İsimsiz Malzeme' }}
\n @if (d('pilesmi')) {
{{ d('pilesmi') }}
}\n
\n @if (d('kalinlik')) { {{ d('kalinlik') }} mm }\n @if (d('renk')) { {{ d('renk') }} }\n
\n @if (d('stokMiktari')) {\n
{{ stokEtiket() }}
\n }\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .cm-baslik { font-size: 14px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .cm-alt { font-size: 11px; color: var(--py-metin-ikincil, #94a3b8); }\n .cm-detay { display:flex; gap:8px; font-size: 10px; color: var(--py-metin-ucuncul, #64748b); font-family: monospace; }\n .cm-stok { font-size:10px; color:#22c55e; font-weight:600; margin-top:2px; }\n `],\n})\nexport class CamMalzemeKartComponent extends GameCardBase {\n parametreler = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n stokRenk = computed(() => {\n const stok = +(this.d('stokMiktari') || 0);\n const min = +(this.d('minimumStok') || 0);\n if (min && stok <= min * 0.5) return '#ff4d4f';\n if (min && stok <= min) return '#faad14';\n return '#22c55e';\n });\n stokEtiket = computed(() => {\n const stok = +(this.d('stokMiktari') || 0);\n const min = +(this.d('minimumStok') || 0);\n if (min && stok <= min * 0.5) return `⛔ Stok: ${stok} (KRİTİK)`;\n if (min && stok <= min) return `⚠️ Stok: ${stok} (Az)`;\n return `Stok: ${stok}`;\n });\n}\n\n@Component({\n selector: 'cam-malzeme-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🧊 {{ d('malzemeAdi') || 'İsimsiz Malzeme' }}
\n
\n @if (d('pilesmi')) { {{ d('pilesmi') }} }\n @if (d('kalinlik')) { · {{ d('kalinlik') }} mm }\n @if (d('renk')) { · {{ d('renk') }} }\n
\n
\n
\n @if (d('stokMiktari')) { {{ d('stokMiktari') }} ad. }\n
\n
\n `,\n})\nexport class CamMalzemeKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n}\n\n@DinamikBilesen({\n id: 'cam-malzeme-tanimi',\n baslik: 'Malzeme Tanımı',\n aciklama: 'Cam malzeme tanımı',\n ikon: 'experiment',\n kategori: 'cam-isleme',\n})\nclass CamMalzemeTanimi {\n paylas_kutusu = CamMalzemeTanimiEditComponent;\n paylasilmis_kart = CamMalzemeKartComponent;\n paylasilmis_kart_sade = CamMalzemeKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model, ViewContainerRef } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { HmiLookupService } from '../pano/pages/personel/services/hmi-lookup.service';\nimport { SISTEM_PARAMETRE_SETLERI } from '@service/fikoyt-ui/src/lib/parametre-setleri/sistem-parametre-setleri';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n selector: 'cam-parca-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzDividerModule, NzIconModule, NzDatePickerModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🔷
\n Cam Parça\n
\n
\n
\n \n
\n \n
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n @if (hacim()) {\n
\n Hacim:\n {{ hacim() }}\n
\n }\n\n
\n\n
\n
\n \n
\n \n @for (m of lookup.malzemeler(); track m._id) {\n \n
🧊\n
{{ m.malzemeAdi }}\n @if (m.pilesmi || m.kalinlik) { {{ m.pilesmi }}@if (m.kalinlik) { · {{ m.kalinlik }}mm } }\n
\n
\n
\n }\n
\n \n \n
\n Yeni Malzeme Ekle\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n Düşük\n Normal\n Yüksek\n Acil\n \n
\n
\n
\n
\n\n
\n\n
\n \n
\n \n @for (s of lookup.siparisler(); track s._id) {\n \n
🛒\n
{{ s.siparisNo || 'Sipariş' }}\n @if (s.musteri || s.urunAdi) { {{ s.musteri }}@if (s.urunAdi) { · {{ s.urunAdi }} } }\n
\n
\n
\n }\n
\n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n @if (gecikmeGun() !== null) {\n
0 && gecikmeGun()! <= 3\">\n {{ gecikmeGun()! <= 0 ? '⛔ GECİKME: ' + (-gecikmeGun()!) + ' gün geçti!' : '⏰ ' + gecikmeGun() + ' gün kaldı' }}\n
\n }\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class CamParcaEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n lookup = inject(HmiLookupService);\n private modal = inject(NzModalService);\n private vcr = inject(ViewContainerRef);\n\n constructor() { super(); this.lookup.malzemeleriYukle(); this.lookup.siparisleriYukle(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n\n malzemeAra(terim: string) { this.lookup.malzemeleriYukle(terim); }\n siparisAra(terim: string) { this.lookup.siparisleriYukle(terim); }\n hacim = computed(() => {\n const en = +(this.p()?.en || 0), boy = +(this.p()?.boy || 0), yuk = +(this.p()?.yukseklik || 0);\n if (!en || !boy || !yuk) return null;\n const mm3 = en * boy * yuk;\n return mm3 >= 1000000 ? (mm3 / 1000000000).toFixed(2) + ' dm³' : (mm3 / 1000).toFixed(1) + ' cm³';\n });\n gecikmeGun = computed(() => {\n const hedef = this.p()?.hedefTarih;\n if (!hedef) return null;\n const fark = new Date(hedef).getTime() - Date.now();\n return Math.ceil(fark / 86400000);\n });\n\n async yeniMalzemeEkle() {\n const { PaylasKutusuComponent } = await import('@service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/paylas-kutusu.component');\n const camGrubu = SISTEM_PARAMETRE_SETLERI.find(g => g.id === 'sistem.cam-isleme');\n const malzemeSet = camGrubu?.altGruplar?.find((s: any) => s.id === 'cam.malzeme-tanimi');\n if (!malzemeSet) return;\n\n const setKopya = JSON.parse(JSON.stringify(malzemeSet));\n const kart: any = {\n _id: Date.now().toString(36),\n vt: 'FikoYT.sistem.hareketler',\n yol: 'FikoYT.sistem.hareketler.kalem',\n turu: 'KART',\n gizlilik: 'Herkese Açık',\n uygulama: [],\n veri: { solSimge: { baslik: '🧊', renkArka: '#0e7490', renkYazi: '#fff' }, icerikler: [{\n _id: Date.now().toString(36), html: '', aciklama: '', sifre: null,\n ek: { turu: 'UYGULAMAICERIK', _secilenSetId: setKopya.id, parametreler: setKopya.parametreler || [], ...(setKopya.bilesen ? { bilesen: setKopya.bilesen } : {}) }\n }] },\n };\n\n const setleri = [JSON.parse(JSON.stringify(malzemeSet))];\n const ref = this.modal.create({\n nzTitle: '🧊 Yeni Malzeme Tanımı',\n nzContent: PaylasKutusuComponent,\n nzWidth: 520,\n nzFooter: null,\n nzViewContainerRef: this.vcr,\n });\n ref.afterOpen.subscribe(() => {\n const inst = ref.componentInstance;\n if (!inst) return;\n inst.kart = kart;\n inst.parametreSetleri = setleri;\n inst.parametreSetiZorunlu = true;\n inst.taslakDevreDisi = true;\n inst.paylasimYapildi?.subscribe(() => {\n ref.close();\n this.lookup.malzemeleriYukle('', true);\n this.nzNotification.success('Malzeme Eklendi', 'Yeni malzeme tanımı kaydedildi');\n });\n inst.CD?.detectChanges?.();\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Kütükte': '#3b82f6', \"CNC'de\": '#a855f7', 'Tamamlandı': '#22c55e', 'Red': '#ff4d4f', 'Hurda': '#434343' };\n\n@Component({\n selector: 'cam-parca-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🔷 {{ d('parcaAdi') || 'İsimsiz Parça' }}
\n @if (d('malzeme')) {
{{ d('malzeme') }}
}\n @if (olcu()) {
{{ olcu() }}
}\n
\n
\n @if (d('adet')) { {{ d('adet') }} ad. }\n {{ sonDurum() }}\n
\n
\n `,\n})\nexport class CamParcaKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n olcu = computed(() => { const v = [this.d('en'), this.d('boy'), this.d('yukseklik')].filter(x => x); return v.length ? v.join(' × ') + ' mm' : ''; });\n sonDurum = computed(() => this.d('durum') || 'Bekliyor');\n durumRenk = computed(() => DURUM_RENK[this.sonDurum()] || '#94a3b8');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { CamParcaEditComponent } from './cam-parca-edit.component';\nimport { CamParcaKartSadeComponent } from './cam-parca-kart-sade.component';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Kütükte': '#3b82f6', \"CNC'de\": '#a855f7', 'Tamamlandı': '#22c55e', 'Red': '#ff4d4f', 'Hurda': '#434343' };\nconst DURUM_RGB: Record = { 'Bekliyor': '148,163,184', 'Kütükte': '59,130,246', \"CNC'de\": '168,85,247', 'Tamamlandı': '34,197,94', 'Red': '255,77,79', 'Hurda': '67,67,67' };\n\n@Component({\n selector: 'cam-parca-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
🔷 CAM PARÇA
\n
{{ d('parcaAdi') || 'İsimsiz Parça' }}@if (d('revizyon')) { {{ d('revizyon') }} }
\n @if (gecikiyor()) {
⚠️ {{ gecikmeGunu() }} gün gecikmiş
}\n @if (d('malzeme')) {
{{ d('malzeme') }}@if (d('tolerans')) { · {{ d('tolerans') }} }
}\n
{{ olcu() }}
\n
{{ sonDurum() }}
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .cp-baslik { font-size: 14px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display:flex; align-items:center; gap:6px; }\n .cp-rev { font-size:9px; padding:1px 6px; border-radius:3px; background:rgba(var(--accent-rgb),.2); color:var(--accent); font-weight:600; flex-shrink:0; }\n .cp-alt { font-size: 11px; color: var(--py-metin-ikincil, #94a3b8); }\n .cp-olcu { font-size: 10px; color: var(--py-metin-ucuncul, #64748b); font-family: monospace; }\n .cp-durum-badge { display: inline-block; padding: 3px 12px; border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border: 1.5px solid; margin-top: 4px; backdrop-filter: blur(4px); }\n .cp-gecikme { display:flex; align-items:center; gap:4px; padding:3px 8px; border-radius:3px; background:rgba(255,77,79,.12); border-left:2px solid #ff4d4f; font-size:9px; font-weight:700; color:#ff4d4f; }\n `],\n})\nexport class CamParcaKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n olcu = computed(() => { const v = [this.d('en'), this.d('boy'), this.d('yukseklik')].filter(x => x); return v.length ? v.join(' × ') + ' mm' : ''; });\n sonDurum = computed(() => this._hesap()?.sonDurum || this.d('durum') || 'Bekliyor');\n renk = computed(() => DURUM_RENK[this.sonDurum()] || '#94a3b8');\n rgb = computed(() => DURUM_RGB[this.sonDurum()] || '148,163,184');\n ilerleme = computed(() => this.sonDurum() === 'Tamamlandı' ? 100 : this.sonDurum() === \"CNC'de\" ? 70 : this.sonDurum() === 'Kütükte' ? 40 : this.sonDurum() === 'Red' ? 0 : 10);\n gecikiyor = computed(() => {\n const h = this.d('hedefTarih');\n return h && new Date(h) < new Date() && this.sonDurum() !== 'Tamamlandı';\n });\n gecikmeGunu = computed(() => {\n const h = this.d('hedefTarih');\n if (!h || !this.gecikiyor()) return 0;\n return Math.ceil((Date.now() - new Date(h).getTime()) / 86400000);\n });\n}\n\n@DinamikBilesen({\n id: 'cam-parca',\n baslik: 'Cam Parça',\n aciklama: 'Cam parça takibi',\n ikon: 'appstore',\n kategori: 'cam-isleme',\n})\nclass CamParca {\n paylas_kutusu = CamParcaEditComponent;\n paylasilmis_kart = CamParcaKartComponent;\n paylasilmis_kart_sade = CamParcaKartSadeComponent;\n\n hesaplamalar = {\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'cam.parca.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 }\n ], as: '_alt' } },\n { $addFields: {\n '_hesap.sonDurum': { $ifNull: [{ $arrayElemAt: ['$_alt.ic.ek.durum', 0] }, null] },\n }},\n { $project: { _alt: 0 } }\n ],\n };\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { kutukGeo } from '@/src/app/shared/utils/param-deger.utils';\nimport { StraforKesiciService } from '@/src/app/uygulamalar/strafor-kesici/services/strafor-kesici.service';\n\n@Component({\n selector: 'cam-kutuk-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n {{ geo().enD }}\n \n\n \n \n \n \n {{ geo().yukD }}\n \n\n \n \n \n \n {{ geo().boyD }}\n \n\n \n KÜTÜK ÖLÇÜLERİ\n \n
\n\n
\n
\n \n \n X ekseni ölçüsü\n
\n
\n \n \n Y ekseni ölçüsü\n
\n
\n \n \n Z ekseni ölçüsü\n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n @if (p()?.en && p()?.boy && p()?.yukseklik) {\n \n }\n
\n `,\n styles: [`\n .ke { display:flex; flex-direction:column; gap:8px; }\n .ke-gorsel { display:flex; justify-content:center; padding:0; overflow:hidden; border-radius:8px; border:1px solid var(--py-kenarlik,#f0f0f0); background:var(--py-arkaplan,#fff); }\n .ke-svg { display:block; width:100%; height:160px; }\n .ke-row { display:flex; gap:10px; }\n .ke-alan { display:flex; flex-direction:column; gap:2px; flex:1; padding:4px 0; }\n .ke-etiket { font-weight:500; font-size:12px; color:var(--py-metin-ucuncul, rgba(0,0,0,.45)); letter-spacing:-0.1px; }\n .ke-aciklama { font-size:11px; color:var(--py-metin-devre-disi, rgba(0,0,0,.25)); margin-top:1px; }\n .ke-kesici-btn { display:flex; align-items:center; gap:8px; width:100%; padding:8px 12px; border:1px dashed var(--py-kenarlik,#d9d9d9); border-radius:8px; background:var(--py-arkaplan-soluk,rgba(0,0,0,.02)); cursor:pointer; transition:all .2s;\n &:hover { border-color:var(--py-link,#1890ff); background:rgba(24,144,255,.04); }\n }\n .ke-kesici-ikon { font-size:18px; }\n .ke-kesici-btn > span:nth-child(2) { font-size:13px; font-weight:600; color:var(--py-metin,#333); }\n .ke-kesici-olcu { margin-left:auto; font-size:11px; font-family:monospace; color:var(--py-metin-ucuncul,#999); }\n `],\n})\nexport class CamKutukEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n private strafor = inject(StraforKesiciService);\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n this._geoTetik.set(Date.now());\n }\n\n _geoTetik = signal(0);\n geo = computed(() => {\n this._geoTetik();\n const ek = this.parametreler()?.ek || {};\n return kutukGeo(+(ek?.en || 0), +(ek?.boy || 0), +(ek?.yukseklik || 0));\n });\n\n straforKesiciyeGit() {\n const ek = this.parametreler()?.ek;\n if (!ek?.en || !ek?.boy || !ek?.yukseklik) return;\n this.strafor.hedefParca.set({ en: +ek.en, boy: +ek.boy, yukseklik: +ek.yukseklik });\n this.router.navigate(['/🧩/✂️/kesim-plani']);\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, inject, input, OnInit, signal } from '@angular/core';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger, kutukGeo } from '@/src/app/shared/utils/param-deger.utils';\nimport { StraforKesiciService } from '@/src/app/uygulamalar/strafor-kesici/services/strafor-kesici.service';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\n\nconst DURUMLAR = [\n { isim: 'Bekliyor', renk: '#94a3b8', ikon: '⏳' },\n { isim: 'Görüldü', renk: '#3b82f6', ikon: '👁️' },\n { isim: 'Hazırlanıyor', renk: '#f59e0b', ikon: '🔨' },\n { isim: 'Tamamlandı', renk: '#22c55e', ikon: '✅' },\n { isim: 'İptal', renk: '#ef4444', ikon: '❌' },\n];\n\nconst DURUM_SETI = {\n id: 'cam.kutuk.durum', baslik: 'Durum Güncelleme', simge: '🔄', kaynak: 'kod',\n parametreler: [\n { turu: 'Açılır Kutu', ismi: 'durum', baslik: 'Durum', ayarlar: { zorunlu: true, secenekler: [\n { label: 'Bekliyor', value: 'Bekliyor' }, { label: 'Görüldü', value: 'Görüldü' },\n { label: 'Hazırlanıyor', value: 'Hazırlanıyor' }, { label: 'Tamamlandı', value: 'Tamamlandı' },\n { label: 'İptal', value: 'İptal' },\n ] } },\n { turu: 'Yazı Alanı', ismi: 'notlar', baslik: 'Notlar' },\n ],\n};\n\n@Component({\n selector: 'cam-kutuk-kart-sade',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n @if (d('kutukId') || d('projeAdi')) {\n
\n @if (d('kutukId')) { {{ d('kutukId') }} }\n @if (d('projeAdi')) { {{ d('projeAdi') }} }\n
\n }\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ g().enD }}\n \n \n \n \n {{ g().yukD }}\n \n \n \n {{ g().boyD }}\n KÜTÜK ÖLÇÜLERİ\n \n
\n\n
\n
\n
En{{ d('en') || '—' }} mm
\n
Boy{{ d('boy') || '—' }} mm
\n
Yükseklik{{ d('yukseklik') || '—' }} mm
\n @if (d('adet')) {
Adet{{ d('adet') }}
}\n
\n\n
\n @for (dr of durumlar; track dr.isim) {\n \n }\n
\n\n @if (d('notlar')) {
{{ d('notlar') }}
}\n @if (d('en') && d('boy') && d('yukseklik')) {\n \n }\n
\n
\n `,\n styles: [`\n .kk { display:flex; flex-direction:column; }\n .kk-ust { display:flex; gap:8px; align-items:center; padding:0 0 4px; }\n .kk-id { font-size:13px; font-weight:700; color:var(--py-metin,#333); font-family:'Consolas',monospace; }\n .kk-proje { font-size:12px; color:var(--py-metin-ikincil,#666); }\n .kk-gorsel { border-radius:8px; overflow:hidden; border:1px solid var(--py-kenarlik,#f0f0f0); background:var(--py-arkaplan,#fff); }\n .kk-svg { display:block; width:100%; }\n .kk-bilgi { padding:8px 0 0; }\n .kk-satir { display:flex; gap:0; }\n .kk-alan { display:flex; flex-direction:column; gap:1px; flex:1; }\n .kk-etiket { font-size:10px; font-weight:600; color:var(--py-metin-ucuncul,rgba(0,0,0,.4)); text-transform:uppercase; letter-spacing:.5px; }\n .kk-deger { font-size:14px; font-weight:700; color:var(--py-metin,#333); font-family:'Consolas',monospace; small { font-size:10px; font-weight:400; color:var(--py-metin-ucuncul,#999); } }\n .kk-x { color:#3b82f6; }\n .kk-y { color:#22c55e; }\n .kk-z { color:#ef4444; }\n .kk-durum-bar { display:flex; gap:4px; margin-top:8px; flex-wrap:wrap; }\n .kk-durum-btn { display:flex; align-items:center; gap:3px; padding:4px 8px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px; background:transparent; cursor:pointer; font-size:11px; font-weight:500; color:var(--py-metin-ikincil,#666); transition:all .15s;\n &:hover { border-color:var(--dr); color:var(--dr); background:color-mix(in srgb, var(--dr) 8%, transparent); }\n }\n .kk-durum-aktif { border-color:var(--dr) !important; color:var(--dr) !important; background:color-mix(in srgb, var(--dr) 12%, transparent) !important; font-weight:700; }\n .kk-not { margin-top:6px; padding:6px 8px; font-size:12px; color:var(--py-metin-ikincil,#666); background:var(--py-arkaplan-soluk,rgba(0,0,0,.02)); border-radius:6px; line-height:1.4; }\n .kk-kesici-btn { display:flex; align-items:center; gap:6px; width:100%; margin-top:6px; padding:6px 10px; border:1px dashed var(--py-kenarlik,#d9d9d9); border-radius:6px; background:transparent; cursor:pointer; font-size:12px; font-weight:600; color:var(--py-metin,#333); transition:all .2s;\n &:hover { border-color:var(--py-link,#1890ff); background:rgba(24,144,255,.04); }\n }\n .kk-kesici-olcu { margin-left:auto; font-size:10px; font-family:monospace; color:var(--py-metin-ucuncul,#999); }\n `],\n})\nexport class CamKutukKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n private strafor = inject(StraforKesiciService);\n durumlar = DURUMLAR;\n durumKaydediliyor = signal(false);\n\n /** Yerel kart kopyası (mutation için reactive signal) */\n kartObj = signal(null);\n\n constructor() {\n super();\n // parametreler input'u değişince kart objesini yerel signal'e kopyala\n effect(() => {\n const kart = this.parametreler()?.kart;\n this.kartObj.set(kart || null);\n });\n // Eğer prepipe'tan _hesap.sonDurum gelmediyse DB'den çek\n effect(() => {\n const k = this.kartObj();\n if (k?._id && !k?._hesap?.sonDurum) {\n this.sonDurumCek(k._id);\n }\n });\n }\n\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n g = computed(() => kutukGeo(+(this.d('en') || 0), +(this.d('boy') || 0), +(this.d('yukseklik') || 0)));\n\n sonDurum = computed(() => {\n const k = this.kartObj();\n return k?._hesap?.sonDurum || this.d('durum') || 'Bekliyor';\n });\n\n /** Prepipe'tan veri gelmediyse fallback olarak DB'den taze çek */\n private async sonDurumCek(kartId: string) {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = { aggregate: [\n { $match: { _uid: kartId, silindi: { $ne: true }, turu: 'KART' } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'cam.kutuk.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 },\n { $project: { 'ic.ek.durum': 1 } },\n ] };\n const cevap: any = await istek.isteSync();\n const durum = cevap?.cevap?.sonuc?.[0]?.ic?.ek?.durum;\n if (durum) {\n this._kartHesapGuncelle({ sonDurum: durum });\n }\n } catch {}\n }\n\n /** Yerel kart objesinin _hesap alanını günceller (yeni reference ile reactive) */\n private _kartHesapGuncelle(yenilenenler: any) {\n const k = this.kartObj();\n if (!k) return;\n this.kartObj.set({\n ...k,\n _hesap: { ...(k._hesap || {}), ...yenilenenler },\n });\n }\n\n private ekleIstek = new FikoYTIstekKok({\n metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.ekle',\n onEkOlsun: true, depoModu: false, oncelik: 0, gecikmeliCevap: false,\n });\n\n async durumDegistir(yeniDurum: string) {\n if (this.sonDurum() === yeniDurum || this.durumKaydediliyor()) return;\n const kartId = this.parametreler()?.kart?._id;\n if (!kartId) return;\n\n this.durumKaydediliyor.set(true);\n try {\n const kartKimlik = this.FikoYT.fikoIdUret();\n const icerikKimlik = this.FikoYT.fikoIdUret();\n const sahip = this.FikoYT.kimlik.aktifKullaniciJson()?._id;\n\n const kart: any = {\n _id: kartKimlik,\n vt: 'FikoYT.sistem.hareketler',\n yol: 'FikoYT.sistem.hareketler.kalem',\n turu: 'KART',\n gizlilik: 'Herkese Açık',\n _uid: kartId,\n sahip,\n tarih: new Date(),\n veri: {\n solSimge: { baslik: '🔄', renkArka: '#92400e', renkYazi: '#fff' },\n icerikler: [icerikKimlik],\n },\n };\n\n const icerik: any = {\n _id: icerikKimlik,\n _uid: kartKimlik,\n html: '', aciklama: '', sifre: null,\n ek: {\n turu: 'UYGULAMAICERIK',\n _secilenSetId: 'cam.kutuk.durum',\n bilesen: 'cam-kutuk-durum',\n durum: yeniDurum,\n },\n };\n\n const fd1 = new FormData();\n fd1.append('req_body', JSON.stringify(kart));\n this.ekleIstek.parametreler = fd1;\n await this.ekleIstek.isteSync();\n\n const fd2 = new FormData();\n fd2.append('req_body', JSON.stringify(icerik));\n this.ekleIstek.parametreler = fd2;\n await this.ekleIstek.isteSync();\n\n // Yerel kart objesini güncelle (UI anında değişsin)\n this._kartHesapGuncelle({ sonDurum: yeniDurum });\n this.nzMessage.success(`Durum: ${yeniDurum}`);\n } catch {\n this.nzMessage.error('Durum güncellenemedi');\n } finally {\n this.durumKaydediliyor.set(false);\n }\n }\n\n straforKesiciyeGit() {\n const en = +this.d('en'), boy = +this.d('boy'), yuk = +this.d('yukseklik');\n if (!en || !boy || !yuk) return;\n this.strafor.hedefParca.set({ en, boy, yukseklik: yuk });\n this.router.navigate(['/🧩/✂️/kesim-plani']);\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger, kutukGeo } from '@/src/app/shared/utils/param-deger.utils';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CamKutukEditComponent } from './cam-kutuk-edit.component';\nimport { CamKutukKartSadeComponent } from './cam-kutuk-kart-sade.component';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'Görüldü': '#3b82f6', 'Hazırlanıyor': '#f59e0b', 'Tamamlandı': '#22c55e', 'İptal': '#ef4444' };\nconst DURUM_RGB: Record = { 'Bekliyor': '148,163,184', 'Görüldü': '59,130,246', 'Hazırlanıyor': '245,158,11', 'Tamamlandı': '34,197,94', 'İptal': '239,68,68' };\nconst DURUM_IKON: Record = { 'Bekliyor': '⏳', 'Görüldü': '👁️', 'Hazırlanıyor': '🔨', 'Tamamlandı': '✅', 'İptal': '❌' };\n\n@Component({\n selector: 'cam-kutuk-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
🪵 KÜTÜK
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ g().enD }}\n \n \n \n {{ g().yukD }}\n \n \n {{ g().boyD }}\n \n
\n
{{ sonDurum() }}
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .ck-svg-wrap { width:100%; margin:2px 0; }\n .ck-svg { display:block; width:100%; height:80px; }\n .ck-durum-badge { display:inline-block; padding:2px 10px; border-radius:3px; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border:1px solid; margin-top:2px; }\n `],\n})\nexport class CamKutukKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n g = computed(() => kutukGeo(+(this.d('en') || 0), +(this.d('boy') || 0), +(this.d('yukseklik') || 0)));\n sonDurum = computed(() => this._hesap()?.sonDurum || this.d('durum') || 'Bekliyor');\n renk = computed(() => DURUM_RENK[this.sonDurum()] || '#94a3b8');\n rgb = computed(() => DURUM_RGB[this.sonDurum()] || '148,163,184');\n ilerleme = computed(() => this.sonDurum() === 'Tamamlandı' ? 100 : this.sonDurum() === 'Hazırlanıyor' ? 60 : this.sonDurum() === 'Görüldü' ? 30 : 10);\n}\n\n@DinamikBilesen({\n id: 'cam-kutuk',\n baslik: 'Kütük',\n aciklama: 'Kütük takibi',\n ikon: 'build',\n kategori: 'cam-isleme',\n})\nclass CamKutuk {\n paylas_kutusu = CamKutukEditComponent;\n paylasilmis_kart = CamKutukKartComponent;\n paylasilmis_kart_sade = CamKutukKartSadeComponent;\n\n hesaplamalar = {\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'cam.kutuk.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 }\n ], as: '_alt' } },\n { $addFields: {\n '_hesap.sonDurum': { $ifNull: [{ $arrayElemAt: ['$_alt.ic.ek.durum', 0] }, null] },\n }},\n { $project: { _alt: 0 } }\n ],\n };\n}\n\n\n@Component({\n selector: 'cam-kutuk-durum-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n {{ ikon() }}\n {{ durum() }}\n @if (d('notlar')) { {{ d('notlar') }} }\n
\n `,\n styles: [`\n .kd { display:flex; align-items:center; gap:8px; padding:6px 10px; border-left:3px solid var(--dr,#94a3b8); border-radius:0 8px 8px 0; background:color-mix(in srgb, var(--dr) 6%, transparent); }\n .kd-ikon { font-size:16px; }\n .kd-durum { font-size:13px; font-weight:700; color:var(--dr,#333); text-transform:uppercase; letter-spacing:.5px; }\n .kd-not { font-size:12px; color:var(--py-metin-ikincil,#666); margin-left:auto; }\n `],\n})\nexport class CamKutukDurumKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n durum = computed(() => this.d('durum') || 'Bekliyor');\n renk = computed(() => DURUM_RENK[this.durum()] || '#94a3b8');\n ikon = computed(() => DURUM_IKON[this.durum()] || '🔄');\n}\n\n@Component({\n selector: 'cam-kutuk-durum-edit',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
🔄 Durum Güncelleme
\n
\n @for (dr of durumlar; track dr) {\n \n }\n
\n
\n `,\n styles: [`\n .kde { display:flex; flex-direction:column; gap:8px; padding:4px 0; }\n .kde-baslik { font-size:13px; font-weight:600; color:var(--py-metin-ucuncul,#999); }\n .kde-butonlar { display:flex; gap:4px; flex-wrap:wrap; }\n .kde-btn { padding:6px 12px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px; background:transparent; cursor:pointer; font-size:12px; font-weight:500; color:var(--py-metin-ikincil,#666); transition:all .15s;\n &:hover { border-color:var(--dr); color:var(--dr); }\n }\n .kde-aktif { border-color:var(--dr) !important; color:var(--dr) !important; background:color-mix(in srgb, var(--dr) 12%, transparent) !important; font-weight:700; }\n `],\n})\nexport class CamKutukDurumEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n durumlar = ['Bekliyor', 'Görüldü', 'Hazırlanıyor', 'Tamamlandı', 'İptal'];\n DURUM_RENK = DURUM_RENK;\n DURUM_IKON = DURUM_IKON;\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n sec(durum: string) {\n const params = this.parametreler();\n if (params?.ek) { params.ek.durum = durum; this.parametreler.set({ ...params }); }\n }\n}\n\n@DinamikBilesen({\n id: 'cam-kutuk-durum',\n baslik: 'Kütük Durum',\n aciklama: 'Kütük durum güncelleme',\n ikon: 'sync',\n kategori: 'cam-isleme',\n})\nclass CamKutukDurum {\n paylas_kutusu = CamKutukDurumEditComponent;\n paylasilmis_kart_sade = CamKutukDurumKartSadeComponent;\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, model, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzSegmentedModule } from 'ng-zorro-antd/segmented';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzSliderModule } from 'ng-zorro-antd/slider';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { CanliGuncellemeService } from '@/src/service/fikoyt-ui/src/lib/dinamik-bilesen/canli-guncelleme.service';\n\nconst DURUMLAR = [\n { isim: 'Planlandı', renk: '#94a3b8', ikon: '⏳' },\n { isim: 'Devam Ediyor', renk: '#3b82f6', ikon: '🚀' },\n { isim: 'Beklemede', renk: '#f59e0b', ikon: '⏸️' },\n { isim: 'Tamamlandı', renk: '#22c55e', ikon: '✅' },\n { isim: 'İptal', renk: '#ef4444', ikon: '❌' },\n];\nconst DURUM_RENK: Record = Object.fromEntries(DURUMLAR.map(d => [d.isim, d.renk]));\nconst DURUM_IKON: Record = Object.fromEntries(DURUMLAR.map(d => [d.isim, d.ikon]));\nconst DURUM_VARSAYILAN_DEGER: Record = {\n 'Planlandı': 10,\n 'Beklemede': 25,\n 'Devam Ediyor': 50,\n 'Tamamlandı': 100,\n 'İptal': 0,\n};\n\nconst KATEGORI_OPS = ['Üretim', 'AR-GE', 'Bakım', 'Tasarım', 'Diğer'];\nconst ONCELIK_OPS = [\n { value: 'Düşük', renk: '#94a3b8' },\n { value: 'Normal', renk: '#3b82f6' },\n { value: 'Yüksek', renk: '#f59e0b' },\n { value: 'Kritik', renk: '#ef4444' },\n];\n\n// ════════════════════════════════════════════════════\n// 1. EDIT COMPONENT (paylas kutusunda form)\n// ════════════════════════════════════════════════════\n@Component({\n selector: 'proje-tanimi-edit',\n standalone: true,\n imports: [CommonModule, FormsModule, NzInputModule, NzSelectModule, NzDatePickerModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n 📂\n Proje Tanımı\n
\n\n
\n
\n \n \n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n @for (k of kategoriOps; track k) {\n \n }\n \n
\n
\n \n \n @for (o of oncelikOps; track o.value) {\n \n }\n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n \n \n
\n\n
\n 💡 İlerleme % alt kart durumlarına göre otomatik hesaplanır\n
\n\n
\n \n \n
\n
\n
\n `,\n styles: [`\n .pe { display:flex; flex-direction:column; gap:10px; padding:4px 0; }\n .pe-baslik { display:flex; align-items:center; gap:8px; padding:8px 12px; background:linear-gradient(135deg, rgba(59,130,246,.08), transparent); border-radius:8px; font-weight:600; font-size:14px; color:var(--py-metin,#333); }\n .pe-ikon { font-size:20px; }\n .pe-form { display:flex; flex-direction:column; gap:8px; }\n .pe-row { display:flex; gap:8px; }\n .pe-alan { display:flex; flex-direction:column; gap:3px; }\n .pe-etiket { font-size:11px; font-weight:600; color:var(--py-metin-ucuncul,#999); text-transform:uppercase; letter-spacing:.4px; }\n .zorunlu { color:#ef4444; }\n .pe-bilgi { padding:6px 10px; font-size:11px; color:var(--py-metin-ikincil,#666); background:rgba(59,130,246,.06); border-left:3px solid #3b82f6; border-radius:0 6px 6px 0; }\n `],\n})\nexport class ProjeTanimiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n kategoriOps = KATEGORI_OPS;\n oncelikOps = ONCELIK_OPS;\n\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n}\n\n// ════════════════════════════════════════════════════\n// 2. KART-SADE COMPONENT (paylaşılan kart görünümü)\n// ════════════════════════════════════════════════════\n@Component({\n selector: 'proje-tanimi-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n \n
\n
\n 📂\n {{ d('projeAdi') || 'İsimsiz Proje' }}\n @if (d('projeKodu')) { {{ d('projeKodu') }} }\n
\n
\n @if (d('kategori')) { {{ d('kategori') }} }\n @if (d('oncelik')) { {{ d('oncelik') }} }\n
\n
\n\n \n
\n @if (d('musteri')) {
🏢 Müşteri{{ d('musteri') }}
}\n @if (d('sorumlu')) {
👤 Sorumlu{{ d('sorumlu') }}
}\n @if (d('baslangicTarihi') || d('hedefBitis')) {\n
\n 📅 Tarih\n {{ tarihFormat(d('baslangicTarihi')) }} → {{ tarihFormat(d('hedefBitis')) }}\n
\n }\n
\n\n \n @if (altToplam() > 0 || ilerlemeYuzde() > 0) {\n
\n
\n 📊 İlerleme\n \n @if (altToplam() > 0) {\n {{ altTamamlanan() }}/{{ altToplam() }} görev\n }\n {{ ilerlemeYuzde() }}%\n \n
\n
\n
\n }\n\n \n @if (d('aciklama')) {
{{ d('aciklama') }}
}\n\n \n
\n @for (dr of durumlar; track dr.isim) {\n \n }\n
\n
\n `,\n styles: [`\n .pks { display:flex; flex-direction:column; gap:8px; }\n .pks-ust { display:flex; flex-direction:column; gap:6px; padding-bottom:6px; border-bottom:1px solid var(--py-kenarlik,#f0f0f0); }\n .pks-baslik { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }\n .pks-ikon { font-size:18px; }\n .pks-ad { font-size:15px; font-weight:700; color:var(--py-metin,#333); }\n .pks-kod { font-size:11px; font-family:'Consolas',monospace; color:var(--py-metin-ucuncul,#999); padding:2px 6px; background:var(--py-arkaplan-soluk,rgba(0,0,0,.04)); border-radius:4px; }\n .pks-chipler { display:flex; gap:6px; flex-wrap:wrap; }\n .pks-chip { padding:3px 8px; border-radius:10px; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.3px; }\n .pks-chip--kategori { background:rgba(59,130,246,.12); color:#3b82f6; }\n .pks-chip--oncelik { background:color-mix(in srgb, var(--oc, #94a3b8) 12%, transparent); color:var(--oc, #94a3b8); }\n .pks-bilgi { display:flex; flex-direction:column; gap:4px; padding:4px 0; }\n .pks-meta { display:flex; gap:8px; font-size:12px; }\n .pks-meta-et { color:var(--py-metin-ucuncul,#999); min-width:80px; font-size:11px; }\n .pks-meta-deg { color:var(--py-metin,#333); font-weight:500; }\n .pks-ilerleme-blok { display:flex; flex-direction:column; gap:4px; padding:6px 0; }\n .pks-ilerleme-bilgi { display:flex; justify-content:space-between; align-items:center; }\n .pks-gorev-bilgi { display:flex; align-items:center; gap:8px; }\n .pks-gorev { font-size:11px; color:var(--py-metin-ucuncul,#999); padding:2px 6px; background:var(--py-arkaplan-soluk,rgba(0,0,0,.04)); border-radius:4px; font-family:'Consolas',monospace; }\n .pks-gorev--bos { font-style:italic; opacity:.7; }\n .pks-yuzde { font-size:13px; font-weight:700; color:var(--py-metin,#333); font-family:'Consolas',monospace; }\n .pks-bar { width:100%; height:6px; background:var(--py-arkaplan-soluk,rgba(0,0,0,.06)); border-radius:3px; overflow:hidden; }\n .pks-bar-dolgu { height:100%; transition:width .3s ease, background .2s ease; border-radius:3px; }\n .pks-aciklama { padding:6px 8px; font-size:12px; color:var(--py-metin-ikincil,#666); background:var(--py-arkaplan-soluk,rgba(0,0,0,.02)); border-radius:6px; line-height:1.4; }\n .pks-durum-bar { display:flex; gap:4px; flex-wrap:wrap; margin-top:4px; }\n .pks-durum-btn { display:flex; align-items:center; gap:3px; padding:4px 8px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px; background:transparent; cursor:pointer; font-size:11px; font-weight:500; color:var(--py-metin-ikincil,#666); transition:all .15s;\n &:hover { border-color:var(--dr); color:var(--dr); background:color-mix(in srgb, var(--dr) 8%, transparent); }\n &:disabled { opacity:.5; cursor:wait; }\n }\n .pks-durum-aktif { border-color:var(--dr) !important; color:var(--dr) !important; background:color-mix(in srgb, var(--dr) 12%, transparent) !important; font-weight:700; }\n `],\n})\nexport class ProjeTanimiKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n durumlar = DURUMLAR;\n durumKaydediliyor = signal(false);\n private canliGuncelleme = inject(CanliGuncellemeService);\n\n /** Yerel kart kopyası — reactive mutation için */\n kartObj = signal(null);\n private sonHesaplananId: string | null = null;\n\n constructor() {\n super();\n effect(() => {\n const kart = this.parametreler()?.kart;\n this.kartObj.set(kart || null);\n });\n effect(() => {\n const k = this.kartObj();\n if (k?._id && !k?._hesap?.projeSonDurum) {\n this.sonDurumCek(k._id);\n }\n });\n // Kart değiştiğinde ilerlemeyi otomatik yeniden hesapla (paylaş kutusundan eklenen alt kartlar için)\n effect(() => {\n const k = this.kartObj();\n if (k?._id && k._id !== this.sonHesaplananId) {\n this.sonHesaplananId = k._id;\n this.ilerlemeyiYenidenHesapla(k._id);\n }\n });\n // Canlı güncelleme: yeni bir alt kart/içerik eklendiğinde bu karta aitse ilerlemeyi yeniden hesapla\n effect(() => {\n const yeni = this.canliGuncelleme.kartYeni();\n const k = this.kartObj();\n if (!yeni || !k?._id) return;\n if (yeni._uid === k._id || yeni?.veri?._uid === k._id) {\n this.ilerlemeyiYenidenHesapla(k._id);\n }\n });\n effect(() => {\n const g = this.canliGuncelleme.kartGuncellendi();\n const k = this.kartObj();\n if (!g || !k?._id) return;\n if (g.veri?._uid === k._id || g.kartId === k._id) {\n this.ilerlemeyiYenidenHesapla(k._id);\n }\n });\n }\n\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n\n sonDurum = computed(() => {\n const k = this.kartObj();\n return k?._hesap?.projeSonDurum || this.d('durum') || 'Planlandı';\n });\n\n /** Alt kart durumlarına göre hesaplanmış ilerleme (prepipe'tan gelir) */\n ilerlemeYuzde = computed(() => {\n const k = this.kartObj();\n const v = +(k?._hesap?.projeIlerleme ?? 0);\n return Math.max(0, Math.min(100, v));\n });\n\n altToplam = computed(() => +(this.kartObj()?._hesap?.projeAltToplam || 0));\n altTamamlanan = computed(() => +(this.kartObj()?._hesap?.projeAltTamamlanan || 0));\n\n ilerlemeRenk = computed(() => {\n const y = this.ilerlemeYuzde();\n if (y >= 100) return 'linear-gradient(90deg, #22c55e, #16a34a)';\n if (y >= 75) return 'linear-gradient(90deg, #3b82f6, #22c55e)';\n if (y >= 50) return 'linear-gradient(90deg, #f59e0b, #3b82f6)';\n if (y >= 25) return 'linear-gradient(90deg, #ef4444, #f59e0b)';\n return 'linear-gradient(90deg, #94a3b8, #ef4444)';\n });\n\n oncelikRenk = computed(() => {\n const o = ONCELIK_OPS.find(x => x.value === this.d('oncelik'));\n return o?.renk || '#94a3b8';\n });\n\n tarihFormat(t: any): string {\n if (!t) return '—';\n try {\n const d = new Date(t);\n if (isNaN(d.getTime())) return '—';\n return d.toLocaleDateString('tr-TR', { day: '2-digit', month: '2-digit', year: 'numeric' });\n } catch { return '—'; }\n }\n\n // ─── Durum güncelleme akışı (cam-kutuk-kart-sade gibi) ───\n private async sonDurumCek(kartId: string) {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = { aggregate: [\n { $match: { _uid: kartId, silindi: { $ne: true }, turu: 'KART' } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'proje.tanimi.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 },\n { $project: { 'ic.ek.durum': 1 } },\n ] };\n const cevap: any = await istek.isteSync();\n const durum = cevap?.cevap?.sonuc?.[0]?.ic?.ek?.durum;\n if (durum) this._kartHesapGuncelle({ projeSonDurum: durum });\n } catch {}\n }\n\n private _kartHesapGuncelle(yenilenenler: any) {\n const k = this.kartObj();\n if (!k) return;\n this.kartObj.set({ ...k, _hesap: { ...(k._hesap || {}), ...yenilenenler } });\n }\n\n private ekleIstek = new FikoYTIstekKok({\n metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.ekle',\n onEkOlsun: true, depoModu: false, oncelik: 0, gecikmeliCevap: false,\n });\n\n async durumDegistir(yeniDurum: string) {\n if (this.sonDurum() === yeniDurum || this.durumKaydediliyor()) return;\n const kartId = this.parametreler()?.kart?._id;\n if (!kartId) return;\n\n this.durumKaydediliyor.set(true);\n try {\n const kartKimlik = this.FikoYT.fikoIdUret();\n const icerikKimlik = this.FikoYT.fikoIdUret();\n const sahip = this.FikoYT.kimlik.aktifKullaniciJson()?._id;\n\n const kart: any = {\n _id: kartKimlik,\n vt: 'FikoYT.sistem.hareketler',\n yol: 'FikoYT.sistem.hareketler.kalem',\n turu: 'KART',\n gizlilik: 'Herkese Açık',\n _uid: kartId,\n sahip,\n tarih: new Date(),\n veri: {\n solSimge: { baslik: '🔄', renkArka: '#3b82f6', renkYazi: '#fff' },\n icerikler: [icerikKimlik],\n },\n };\n\n const icerik: any = {\n _id: icerikKimlik,\n _uid: kartKimlik,\n html: '', aciklama: '', sifre: null,\n ek: {\n turu: 'UYGULAMAICERIK',\n _secilenSetId: 'proje.tanimi.durum',\n bilesen: 'proje-tanimi-durum',\n durum: yeniDurum,\n ilerlemeTipi: 'kesin',\n ilerlemeDegeri: DURUM_VARSAYILAN_DEGER[yeniDurum] ?? 0,\n },\n };\n\n const fd1 = new FormData();\n fd1.append('req_body', JSON.stringify(kart));\n this.ekleIstek.parametreler = fd1;\n await this.ekleIstek.isteSync();\n\n const fd2 = new FormData();\n fd2.append('req_body', JSON.stringify(icerik));\n this.ekleIstek.parametreler = fd2;\n await this.ekleIstek.isteSync();\n\n this._kartHesapGuncelle({ projeSonDurum: yeniDurum });\n // Yeni durum kaydedildikten sonra ilerlemeyi DB'den yeniden hesapla\n this.ilerlemeyiYenidenHesapla(kartId);\n this.nzMessage.success(`Durum: ${yeniDurum}`);\n } catch {\n this.nzMessage.error('Durum güncellenemedi');\n } finally {\n this.durumKaydediliyor.set(false);\n }\n }\n\n /** Alt kart durumları değiştikten sonra ilerlemeyi DB'den $reduce ile yeniden hesapla */\n private async ilerlemeyiYenidenHesapla(kartId: string) {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = { aggregate: [\n { $match: { _uid: kartId, turu: 'KART', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'proje.tanimi.durum' } },\n { $sort: { _id: 1 } },\n { $addFields: {\n _ilerlemeTipi: { $ifNull: ['$ic.ek.ilerlemeTipi', 'kesin'] },\n _ilerlemeDeger: {\n $cond: [\n { $and: [{ $ne: ['$ic.ek.ilerlemeDegeri', null] }, { $ne: ['$ic.ek.ilerlemeDegeri', ''] }] },\n { $convert: { input: '$ic.ek.ilerlemeDegeri', to: 'double', onError: 0, onNull: 0 } },\n { $switch: { branches: [\n { case: { $eq: ['$ic.ek.durum', 'Tamamlandı'] }, then: 100 },\n { case: { $eq: ['$ic.ek.durum', 'Devam Ediyor'] }, then: 50 },\n { case: { $eq: ['$ic.ek.durum', 'Beklemede'] }, then: 25 },\n { case: { $eq: ['$ic.ek.durum', 'Planlandı'] }, then: 10 },\n { case: { $eq: ['$ic.ek.durum', 'İptal'] }, then: 0 },\n ], default: 0 } }\n ]\n }\n } },\n { $group: { _id: null, kayitlar: { $push: { tipi: '$_ilerlemeTipi', deger: '$_ilerlemeDeger', durum: '$ic.ek.durum' } } } },\n { $addFields: {\n hamIlerleme: {\n $reduce: {\n input: '$kayitlar',\n initialValue: 0,\n in: {\n $cond: [\n { $eq: ['$$this.tipi', 'eklemeli'] },\n { $add: ['$$value', '$$this.deger'] },\n '$$this.deger'\n ]\n }\n }\n },\n toplam: { $size: '$kayitlar' },\n tamamlanan: {\n $size: { $filter: { input: '$kayitlar', cond: { $or: [\n { $eq: ['$$this.durum', 'Tamamlandı'] },\n { $gte: ['$$this.deger', 100] }\n ] } } }\n }\n } },\n { $addFields: { ilerleme: { $max: [0, { $min: [100, '$hamIlerleme'] }] } } }\n ] };\n const cevap: any = await istek.isteSync();\n const sonuc = cevap?.cevap?.sonuc?.[0];\n this._kartHesapGuncelle({\n projeIlerleme: Math.round(+(sonuc?.ilerleme || 0)),\n projeAltToplam: +(sonuc?.toplam || 0),\n projeAltTamamlanan: +(sonuc?.tamamlanan || 0),\n });\n } catch {}\n }\n}\n\n// ════════════════════════════════════════════════════\n// 3a. DURUM EDIT (alt kart paylaş kutusu formu)\n// ════════════════════════════════════════════════════\n@Component({\n selector: 'proje-tanimi-durum-edit',\n standalone: true,\n imports: [CommonModule, FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzSegmentedModule, NzSliderModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n {{ secilenIkon() }}\n Durum Güncelleme\n
\n\n
\n
\n \n \n @for (d of durumlar; track d.isim) {\n \n }\n \n
\n\n
\n \n \n \n
\n @if (tipi() === 'kesin') {\n 🎯 Kesin: Projenin mevcut ilerlemesi bu değere ayarlanır\n } @else {\n ➕ Eklemeli: Mevcut ilerlemenin üzerine eklenir\n }\n
\n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
\n `,\n styles: [`\n .pde { display:flex; flex-direction:column; gap:10px; padding:4px 0; }\n .pde-baslik { display:flex; align-items:center; gap:8px; padding:8px 12px; background:linear-gradient(135deg, rgba(59,130,246,.08), transparent); border-radius:8px; font-weight:600; font-size:14px; color:var(--py-metin,#333); }\n .pde-ikon { font-size:20px; }\n .pde-form { display:flex; flex-direction:column; gap:10px; }\n .pde-alan { display:flex; flex-direction:column; gap:4px; }\n .pde-etiket { font-size:11px; font-weight:600; color:var(--py-metin-ucuncul,#999); text-transform:uppercase; letter-spacing:.4px; }\n .pde-ipucu { font-size:11px; color:var(--py-metin-ikincil,#666); padding:4px 8px; background:rgba(59,130,246,.06); border-left:2px solid #3b82f6; border-radius:0 4px 4px 0; margin-top:2px; }\n .zorunlu { color:#ef4444; }\n `],\n})\nexport class ProjeTanimiDurumEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n durumlar = DURUMLAR;\n tipSecenekler = [\n { label: '🎯 Kesin', value: 'kesin' },\n { label: '➕ Eklemeli', value: 'eklemeli' },\n ];\n marks = { 0: '0', 25: '25', 50: '50', 75: '75', 100: '100' };\n\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n tipi = computed(() => this.p()?.ilerlemeTipi || 'kesin');\n tipIndex = computed(() => this.tipi() === 'eklemeli' ? 1 : 0);\n deger = computed(() => +(this.p()?.ilerlemeDegeri ?? 0));\n secilenIkon = computed(() => DURUM_IKON[this.p()?.durum] || '🔄');\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n }\n\n /** Durum seçilince varsayılan değeri öner (boşsa) */\n durumDegisti(yeniDurum: string) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek.durum = yeniDurum;\n const mevcut = params.ek.ilerlemeDegeri;\n if (mevcut == null || mevcut === '' || mevcut === 0) {\n params.ek.ilerlemeDegeri = DURUM_VARSAYILAN_DEGER[yeniDurum] ?? 0;\n }\n if (!params.ek.ilerlemeTipi) params.ek.ilerlemeTipi = 'kesin';\n this.parametreler.set({ ...params });\n }\n\n tipDegisti(index: number) {\n this.guncelle('ilerlemeTipi', index === 1 ? 'eklemeli' : 'kesin');\n }\n}\n\n// ════════════════════════════════════════════════════\n// 3b. DURUM ALT KART SADE (sade kart görünümü)\n// ════════════════════════════════════════════════════\n@Component({\n selector: 'proje-tanimi-durum-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n {{ ikon() }}\n {{ durum() }}\n @if (ilerlemeVar()) {\n \n {{ tipi() === 'eklemeli' ? '+' : '' }}%{{ deger() }}\n \n }\n @if (d('notlar')) { {{ d('notlar') }} }\n
\n `,\n styles: [`\n .pdk { display:flex; align-items:center; gap:8px; padding:6px 10px; border-left:3px solid var(--dr,#94a3b8); border-radius:0 8px 8px 0; background:color-mix(in srgb, var(--dr) 6%, transparent); }\n .pdk-ikon { font-size:16px; }\n .pdk-durum { font-size:13px; font-weight:700; color:var(--dr,#333); text-transform:uppercase; letter-spacing:.5px; }\n .pdk-chip { font-size:11px; font-weight:700; padding:2px 8px; border-radius:10px; background:var(--dr,#94a3b8); color:#fff; font-family:'Consolas',monospace; }\n .pdk-chip--add { background:linear-gradient(135deg, #22c55e, #16a34a); }\n .pdk-not { font-size:12px; color:var(--py-metin-ikincil,#666); margin-left:auto; }\n `],\n})\nexport class ProjeTanimiDurumKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n durum = computed(() => this.d('durum') || 'Planlandı');\n renk = computed(() => DURUM_RENK[this.durum()] || '#94a3b8');\n ikon = computed(() => DURUM_IKON[this.durum()] || '🔄');\n tipi = computed(() => this.d('ilerlemeTipi') || 'kesin');\n deger = computed(() => {\n const v = this.d('ilerlemeDegeri');\n if (v != null && v !== '') return +v;\n // fallback: duruma göre varsayılan\n return DURUM_VARSAYILAN_DEGER[this.durum()] ?? 0;\n });\n ilerlemeVar = computed(() => {\n if (this.durum() === 'İptal') return false;\n return true;\n });\n}\n\n// ════════════════════════════════════════════════════\n// DECORATORS\n// ════════════════════════════════════════════════════\n@DinamikBilesen({\n id: 'proje-tanimi',\n baslik: 'Proje Tanımı',\n aciklama: 'Proje takibi ve yönetimi',\n ikon: 'project',\n kategori: 'proje-yonetimi',\n})\nclass ProjeTanimi {\n paylas_kutusu = ProjeTanimiEditComponent;\n paylasilmis_kart_sade = ProjeTanimiKartSadeComponent;\n}\n\n@DinamikBilesen({\n id: 'proje-tanimi-durum',\n baslik: 'Proje Durum',\n aciklama: 'Proje durum güncelleme (kesin/eklemeli ilerleme)',\n ikon: 'sync',\n kategori: 'proje-yonetimi',\n})\nclass ProjeTanimiDurum {\n paylas_kutusu = ProjeTanimiDurumEditComponent;\n paylasilmis_kart_sade = ProjeTanimiDurumKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, model, ViewContainerRef } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { HmiLookupService } from '../pano/pages/personel/services/hmi-lookup.service';\nimport { SISTEM_PARAMETRE_SETLERI } from '@service/fikoyt-ui/src/lib/parametre-setleri/sistem-parametre-setleri';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\nconst ONCELIK_SECENEKLERI = [\n { deger: 'Düşük', renk: '#8c8c8c' },\n { deger: 'Normal', renk: '#1890ff' },\n { deger: 'Yüksek', renk: '#fa8c16' },\n { deger: 'Acil', renk: '#ff4d4f' },\n];\n\n@Component({\n selector: 'cam-cnc-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzSelectModule, NzDatePickerModule, NzDividerModule, NzIconModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
⚙️
\n CNC İşlem\n
\n
\n
\n \n
\n \n @for (m of lookup.makineler(); track m._id) {\n \n
🏭\n
{{ m.makineAdi }}\n @if (m.makineKodu) { {{ m.makineKodu }} }\n
\n
\n
\n }\n
\n \n \n
\n Yeni Tezgah Ekle\n
\n
\n
\n
\n
\n\n
\n \n
\n \n @for (pr of lookup.personeller(); track pr._id) {\n \n
👤{{ pr.ad }} {{ pr.soyad }}
\n
\n }\n
\n \n \n
\n Yeni Personel Ekle\n
\n
\n
\n
\n
\n\n
\n\n
\n \n
\n \n @for (o of oncelikler; track o.deger) {\n \n
\n \n {{ o.deger }}\n
\n
\n }\n
\n \n \n \n {{ s?.nzLabel }}\n \n \n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n @if (gecikmeGun() !== null) {\n
0 && gecikmeGun()! <= 3\">\n {{ gecikmeGun()! <= 0 ? '⛔ GECİKME: ' + (-gecikmeGun()!) + ' gün geçti!' : '⏰ ' + gecikmeGun() + ' gün kaldı' }}\n
\n }\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class CamCncEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n lookup = inject(HmiLookupService);\n private modal = inject(NzModalService);\n private vcr = inject(ViewContainerRef);\n\n constructor() { super(); this.lookup.makineleriYukle(); this.lookup.personelleriYukle(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n oncelikler = ONCELIK_SECENEKLERI;\n oncelikRenk(v: string): string { return ONCELIK_SECENEKLERI.find(o => o.deger === v)?.renk || '#1890ff'; }\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n\n makineAra(terim: string) { this.lookup.makineleriYukle(terim); }\n personelAra(terim: string) { this.lookup.personelleriYukle(terim); }\n\n gecikmeGun = computed(() => {\n const hedef = this.p()?.hedefTarih;\n if (!hedef) return null;\n const fark = new Date(hedef).getTime() - Date.now();\n return Math.ceil(fark / 86400000);\n });\n\n private async paylasKutusuAc(setId: string, baslik: string, simge: string, renkArka: string) {\n const { PaylasKutusuComponent } = await import('@service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/paylas-kutusu.component');\n let bulunanSet: any;\n for (const g of SISTEM_PARAMETRE_SETLERI) {\n const s = g.altGruplar?.find((a: any) => a.id === setId);\n if (s) { bulunanSet = s; break; }\n }\n if (!bulunanSet) { this.nzMessage.warning(`Set bulunamadı: ${setId}`); return; }\n const setKopya = JSON.parse(JSON.stringify(bulunanSet));\n const kart: any = {\n _id: Date.now().toString(36), vt: 'FikoYT.sistem.hareketler', yol: 'FikoYT.sistem.hareketler.kalem',\n turu: 'KART', gizlilik: 'Herkese Açık', uygulama: [],\n veri: { solSimge: { baslik: simge, renkArka, renkYazi: '#fff' }, icerikler: [{\n _id: Date.now().toString(36), html: '', aciklama: '', sifre: null,\n ek: { turu: 'UYGULAMAICERIK', _secilenSetId: setKopya.id, parametreler: setKopya.parametreler || [], ...(setKopya.bilesen ? { bilesen: setKopya.bilesen } : {}) }\n }] },\n };\n const ref = this.modal.create({ nzTitle: `${simge} ${baslik}`, nzContent: PaylasKutusuComponent, nzWidth: 520, nzFooter: null, nzViewContainerRef: this.vcr });\n ref.afterOpen.subscribe(() => {\n const inst = ref.componentInstance;\n if (!inst) return;\n inst.kart = kart;\n inst.parametreSetleri = [JSON.parse(JSON.stringify(bulunanSet))];\n inst.parametreSetiZorunlu = true;\n inst.taslakDevreDisi = true;\n inst.paylasimYapildi?.subscribe(() => { ref.close(); this.nzNotification.success('Eklendi', `${baslik} kaydedildi`); this.lookup.makineleriYukle('', true); this.lookup.personelleriYukle('', true); });\n inst.CD?.detectChanges?.();\n });\n }\n\n yeniTezgahEkle() {\n this.paylasKutusuAc('hmi.makine-tanimi', 'Yeni Tezgah', '🏭', '#d46b08');\n }\n\n yeniPersonelEkle() {\n this.paylasKutusuAc('hmi.personel', 'Yeni Personel', '👤', '#722ed1');\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'İşleniyor': '#f59e0b', 'Tamamlandı': '#22c55e' };\n\n@Component({\n selector: 'cam-cnc-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
⚙️ CNC İşlem
\n @if (d('oncelik') && d('oncelik') !== 'Normal') {\n
⚡ {{ d('oncelik') }}
\n }\n
\n
\n {{ sonDurum() }}\n
\n
\n `,\n})\nexport class CamCncKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n sonDurum = computed(() => this.d('durum') || 'Bekliyor');\n durumRenk = computed(() => DURUM_RENK[this.sonDurum()] || '#94a3b8');\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { CamCncEditComponent } from './cam-cnc-edit.component';\nimport { CamCncKartSadeComponent } from './cam-cnc-kart-sade.component';\n\nconst DURUM_RENK: Record = { 'Bekliyor': '#94a3b8', 'İşleniyor': '#f59e0b', 'Tamamlandı': '#22c55e', 'Red': '#ff4d4f', 'Arıza': '#cf1322' };\nconst DURUM_RGB: Record = { 'Bekliyor': '148,163,184', 'İşleniyor': '245,158,11', 'Tamamlandı': '34,197,94', 'Red': '255,77,79', 'Arıza': '207,19,34' };\n\n@Component({\n selector: 'cam-cnc-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n @if (d('oncelik') === 'Acil') {
🚨 ACİL İŞ
}\n
⚙️ CNC İŞLEM
\n
{{ d('tezgah') || 'Tezgah' }}
\n @if (d('oncelik') && d('oncelik') !== 'Normal' && d('oncelik') !== 'Acil') {\n
⚡ {{ d('oncelik') }}
\n }\n
{{ sonDurum() }}
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .cc-baslik { font-size: 14px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .cc-oncelik { font-size: 10px; font-weight: 700; letter-spacing: .05em; }\n .cc-durum-badge { display: inline-block; padding: 3px 12px; border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border: 1.5px solid; margin-top: 4px; backdrop-filter: blur(4px); }\n .cc-acil { border-left: 3px solid #ef4444; }\n .cc-acil-banner { display:flex; align-items:center; gap:6px; padding:4px 0; margin-bottom:2px; font-size:10px; font-weight:900; color:#ef4444; }\n .cc-acil-dot { width:6px; height:6px; border-radius:50%; background:#ef4444; animation:acil-pulse .5s ease-in-out infinite; }\n @keyframes acil-pulse { 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(1.3); } }\n `],\n})\nexport class CamCncKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n sonDurum = computed(() => this._hesap()?.sonDurum || this.d('durum') || 'Bekliyor');\n renk = computed(() => DURUM_RENK[this.sonDurum()] || '#94a3b8');\n rgb = computed(() => DURUM_RGB[this.sonDurum()] || '148,163,184');\n ilerleme = computed(() => this.sonDurum() === 'Tamamlandı' ? 100 : this.sonDurum() === 'İşleniyor' ? 60 : 10);\n}\n\n@DinamikBilesen({\n id: 'cam-cnc-islem',\n baslik: 'CNC İşlem',\n aciklama: 'CNC işlem takibi',\n ikon: 'tool',\n kategori: 'cam-isleme',\n})\nclass CamCnc {\n paylas_kutusu = CamCncEditComponent;\n paylasilmis_kart = CamCncKartComponent;\n paylasilmis_kart_sade = CamCncKartSadeComponent;\n\n hesaplamalar = {\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'cam.cnc.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 }\n ], as: '_alt' } },\n { $addFields: {\n '_hesap.sonDurum': { $ifNull: [{ $arrayElemAt: ['$_alt.ic.ek.durum', 0] }, null] },\n }},\n { $project: { _alt: 0 } }\n ],\n };\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n selector: 'cam-andon-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🚨
\n Duruş / Yardım\n
\n
\n
\n \n
\n \n Makine Arızası\n Malzeme Bekleme\n Kalite Problemi\n Personel Yetersiz\n Enerji Kesintisi\n Diğer\n \n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class AndonEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { AndonEditComponent } from './cam-andon-edit.component';\n\nconst SEBEP_RENK: Record = { 'Makine Arızası': '#ff4d4f', 'Malzeme Bekleme': '#fa8c16', 'Kalite Problemi': '#faad14', 'Personel Yetersiz': '#722ed1', 'Enerji Kesintisi': '#13c2c2', 'Diğer': '#8c8c8c' };\nconst SEBEP_RGB: Record = { 'Makine Arızası': '255,77,79', 'Malzeme Bekleme': '250,140,22', 'Kalite Problemi': '250,173,20', 'Personel Yetersiz': '114,46,209', 'Enerji Kesintisi': '19,194,194', 'Diğer': '140,140,140' };\n\n@Component({\n selector: 'cam-andon-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
🚨 DURUŞ / YARDIM
\n
{{ d('durusSebebi') || 'Sebep Belirtilmedi' }}
\n @if (d('durusSuresi')) {
⏱ {{ d('durusSuresi') }} dk
}\n @if (d('bildiren')) {
👤 {{ d('bildiren') }}
}\n @if (d('cozum')) {
{{ d('cozum') }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .an-baslik { font-size: 14px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .an-sure { font-size: 12px; font-weight: 600; color: var(--accent); }\n .an-alt { font-size: 11px; color: var(--py-metin-ikincil, #94a3b8); }\n .an-cozum { font-size: 10px; color: var(--py-metin-ucuncul, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }\n `],\n})\nexport class AndonKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n renk = computed(() => SEBEP_RENK[this.d('durusSebebi')] || '#ff4d4f');\n rgb = computed(() => SEBEP_RGB[this.d('durusSebebi')] || '255,77,79');\n}\n\n@Component({\n selector: 'cam-andon-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🚨 {{ d('durusSebebi') || 'Sebep Belirtilmedi' }}
\n @if (d('bildiren')) {
👤 {{ d('bildiren') }}
}\n
\n
\n @if (d('durusSuresi')) { {{ d('durusSuresi') }} dk }\n {{ d('durusSebebi') || 'Belirsiz' }}\n
\n
\n `,\n})\nexport class AndonKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n sebepRenk = computed(() => SEBEP_RENK[this.d('durusSebebi')] || '#ff4d4f');\n}\n\n@DinamikBilesen({\n id: 'cam-andon',\n baslik: 'Duruş / Yardım',\n aciklama: 'Duruş ve yardım çağrısı takibi',\n ikon: 'alert',\n kategori: 'cam-isleme',\n})\nclass CamAndon {\n paylas_kutusu = AndonEditComponent;\n paylasilmis_kart = AndonKartComponent;\n paylasilmis_kart_sade = AndonKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n selector: 'cam-bakim-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule, NzDatePickerModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🔧
\n Bakım Kaydı\n
\n
\n
\n \n
\n \n Periyodik Bakım\n Arıza Bakım\n Revizyon\n Kalibrasyon\n Yağlama\n Diğer\n \n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n @if (kalanGun() !== null) {\n
0 && kalanGun()! <= 7\">\n {{ kalanGun()! <= 0 ? '⛔ GECİKME: ' + (-kalanGun()!) + ' gün geçti!' : '⏰ ' + kalanGun() + ' gün kaldı' }}\n
\n }\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class BakimEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n kalanGun = computed(() => {\n const hedef = this.p()?.sonrakiBakim;\n if (!hedef) return null;\n const fark = new Date(hedef).getTime() - Date.now();\n return Math.ceil(fark / 86400000);\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { BakimEditComponent } from './cam-bakim-edit.component';\n\nconst TUR_RENK: Record = { 'Periyodik Bakım': '#52c41a', 'Arıza Bakım': '#ff4d4f', 'Revizyon': '#1890ff', 'Kalibrasyon': '#722ed1', 'Yağlama': '#fa8c16', 'Diğer': '#8c8c8c' };\nconst TUR_RGB: Record = { 'Periyodik Bakım': '82,196,26', 'Arıza Bakım': '255,77,79', 'Revizyon': '24,144,255', 'Kalibrasyon': '114,46,209', 'Yağlama': '250,140,22', 'Diğer': '140,140,140' };\n\n@Component({\n selector: 'cam-bakim-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
🔧 BAKIM KAYDI
\n
{{ d('bakimTuru') || 'Tür Belirtilmedi' }}
\n @if (d('makineSaati')) {
⏱ {{ d('makineSaati') }} saat
}\n @if (d('bakimci')) {
👤 {{ d('bakimci') }}
}\n @if (d('yapilanIslem')) {
{{ d('yapilanIslem') }}
}\n @if (sonrakiBakimStr()) {
📅 Sonraki: {{ sonrakiBakimStr() }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .bk-baslik { font-size: 14px; font-weight: 700; color: var(--py-metin, #e2e8f0); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .bk-saat { font-size: 12px; font-weight: 600; color: var(--accent); }\n .bk-alt { font-size: 11px; color: var(--py-metin-ikincil, #94a3b8); }\n .bk-islem { font-size: 10px; color: var(--py-metin-ucuncul, #64748b); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }\n .bk-sonraki { font-size: 10px; color: var(--py-metin-ucuncul, #64748b); margin-top: 2px; }\n `],\n})\nexport class BakimKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n renk = computed(() => TUR_RENK[this.d('bakimTuru')] || '#52c41a');\n rgb = computed(() => TUR_RGB[this.d('bakimTuru')] || '82,196,26');\n sonrakiBakimStr = computed(() => {\n const t = this.d('sonrakiBakim');\n if (!t) return '';\n try { return new Date(t).toLocaleDateString('tr-TR'); } catch { return ''; }\n });\n}\n\n@Component({\n selector: 'cam-bakim-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🔧 {{ d('bakimTuru') || 'Tür Belirtilmedi' }}
\n @if (d('bakimci')) {
👤 {{ d('bakimci') }}
}\n
\n
\n @if (d('makineSaati')) { {{ d('makineSaati') }} sa. }\n {{ d('bakimTuru') || 'Belirsiz' }}\n
\n
\n `,\n})\nexport class BakimKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n turRenk = computed(() => TUR_RENK[this.d('bakimTuru')] || '#52c41a');\n}\n\n@DinamikBilesen({\n id: 'cam-bakim',\n baslik: 'Bakım Kaydı',\n aciklama: 'Makine bakım kaydı takibi',\n ikon: 'tool',\n kategori: 'cam-isleme',\n})\nclass CamBakim {\n paylas_kutusu = BakimEditComponent;\n paylasilmis_kart = BakimKartComponent;\n paylasilmis_kart_sade = BakimKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n selector: 'cam-kalite-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🎯
\n Kalite Kontrol\n
\n
\n
\n \n
\n \n \n Kabul\n \n \n Koşullu Kabul\n \n \n Red\n \n \n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n @if (olcu()) {\n
\n Ölçüm:\n {{ olcu() }}\n
\n }\n\n
\n\n
\n \n
\n \n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class CamKaliteEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n\n olcu = computed(() => {\n const v = [this.p()?.olculenEn, this.p()?.olculenBoy, this.p()?.olculenYukseklik].filter(x => x);\n return v.length ? v.join(' × ') + ' mm' : '';\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { CamKaliteEditComponent } from './cam-kalite-edit.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nconst SONUC_RENK: Record = { 'Kabul': '#52c41a', 'Koşullu': '#faad14', 'Red': '#ff4d4f' };\nconst SONUC_RGB: Record = { 'Kabul': '82,196,26', 'Koşullu': '250,173,20', 'Red': '255,77,79' };\n\n@Component({\n selector: 'cam-kalite-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
🎯 KALİTE KONTROL
\n
{{ sonuc() }}
\n @if (olcu()) {
{{ olcu() }}
}\n @if (d('kontrolEden')) {
Kontrol: {{ d('kontrolEden') }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .kk-sonuc-badge { display: inline-block; padding: 3px 12px; border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border: 1.5px solid; margin-top: 4px; backdrop-filter: blur(4px); }\n .kk-olcu { font-size: 10px; color: var(--py-metin-ucuncul, #64748b); font-family: monospace; margin-top: 4px; }\n .kk-alt { font-size: 11px; color: var(--py-metin-ikincil, #94a3b8); margin-top: 2px; }\n `],\n})\nexport class CamKaliteKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n sonuc = computed(() => this.d('sonuc') || 'Bekliyor');\n renk = computed(() => SONUC_RENK[this.sonuc()] || '#94a3b8');\n rgb = computed(() => SONUC_RGB[this.sonuc()] || '148,163,184');\n olcu = computed(() => { const v = [this.d('olculenEn'), this.d('olculenBoy'), this.d('olculenYukseklik')].filter(x => x); return v.length ? v.join(' × ') + ' mm' : ''; });\n ilerleme = computed(() => this.sonuc() === 'Kabul' ? 100 : this.sonuc() === 'Koşullu' ? 60 : this.sonuc() === 'Red' ? 0 : 10);\n}\n\n@Component({\n selector: 'cam-kalite-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
🎯 Kalite Kontrol
\n @if (olcu()) {
{{ olcu() }}
}\n @if (d('kontrolEden')) {
{{ d('kontrolEden') }}
}\n
\n
\n {{ sonuc() }}\n
\n
\n `,\n})\nexport class CamKaliteKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n sonuc = computed(() => this.d('sonuc') || 'Bekliyor');\n sonucRenk = computed(() => SONUC_RENK[this.sonuc()] || '#94a3b8');\n olcu = computed(() => { const v = [this.d('olculenEn'), this.d('olculenBoy'), this.d('olculenYukseklik')].filter(x => x); return v.length ? v.join(' × ') + ' mm' : ''; });\n}\n\n@DinamikBilesen({\n id: 'cam-kalite',\n baslik: 'Kalite Kontrol',\n aciklama: 'Cam kalite kontrol kaydı',\n ikon: 'safety-certificate',\n kategori: 'cam-isleme',\n})\nclass CamKalite {\n paylas_kutusu = CamKaliteEditComponent;\n paylasilmis_kart = CamKaliteKartComponent;\n paylasilmis_kart_sade = CamKaliteKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n selector: 'cam-vardiya-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule, NzSelectModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
⏰
\n Vardiya Kaydı\n
\n
\n
\n \n
\n \n \n Sabah (06:00–14:00)\n \n \n Öğle (14:00–22:00)\n \n \n Gece (22:00–06:00)\n \n \n
\n
\n
\n\n
\n\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n @if (verimlilik() !== null) {\n
= 90 ? 'rgba(82,196,26,.08)' : verimlilik()! >= 70 ? 'rgba(250,173,20,.08)' : 'rgba(255,77,79,.08)'\">\n Verimlilik:\n = 90 ? '#52c41a' : verimlilik()! >= 70 ? '#d48806' : '#ff4d4f'\">%{{ verimlilik() }}\n
\n }\n\n
\n\n
\n \n
\n \n
\n
\n
\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class CamVardiyaEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n\n verimlilik = computed(() => {\n const uretim = +(this.p()?.uretimAdedi || 0);\n const red = +(this.p()?.redAdedi || 0);\n if (!uretim) return null;\n return Math.round(((uretim - red) / uretim) * 100);\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { CamVardiyaEditComponent } from './cam-vardiya-edit.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\nconst VARDIYA_RENK: Record = { 'Sabah': '#faad14', 'Öğle': '#fa8c16', 'Gece': '#722ed1' };\nconst VARDIYA_RGB: Record = { 'Sabah': '250,173,20', 'Öğle': '250,140,22', 'Gece': '114,46,209' };\nconst VARDIYA_EMOJI: Record = { 'Sabah': '🌅', 'Öğle': '☀️', 'Gece': '🌙' };\n\n@Component({\n selector: 'cam-vardiya-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
⏰ VARDİYA KAYDI
\n
{{ emoji() }} {{ vardiyaTuru() }}
\n
\n
\n ÜRETİM\n {{ d('uretimAdedi') || 0 }}\n
\n
\n RED\n {{ d('redAdedi') || 0 }}\n
\n @if (verimlilik() !== null) {\n
\n VERİMLİLİK\n
\n
= 90\" [class.gc-stat-bar--sari]=\"verimlilik()! >= 70 && verimlilik()! < 90\" [class.gc-stat-bar--kirmizi]=\"verimlilik()! < 70\" [style.width.%]=\"gorunur() ? verimlilik() : 0\">
\n
\n = 90\" [class.gc-stat-deger--sari]=\"verimlilik()! >= 70 && verimlilik()! < 90\" [class.gc-stat-deger--kirmizi]=\"verimlilik()! < 70\">%{{ verimlilik() }}\n
\n }\n
\n @if (d('operator')) {
{{ d('operator') }}
}\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .vd-vardiya { display: inline-block; padding: 3px 12px; border-radius: 4px; font-size: 11px; font-weight: 800; letter-spacing: .06em; margin-top: 4px; }\n .vd-alt { font-size: 11px; color: var(--py-metin-ikincil, #94a3b8); margin-top: 4px; }\n `],\n})\nexport class CamVardiyaKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n vardiyaTuru = computed(() => this.d('vardiyaTuru') || 'Sabah');\n renk = computed(() => VARDIYA_RENK[this.vardiyaTuru()] || '#fa8c16');\n rgb = computed(() => VARDIYA_RGB[this.vardiyaTuru()] || '250,140,22');\n emoji = computed(() => VARDIYA_EMOJI[this.vardiyaTuru()] || '⏰');\n verimlilik = computed(() => {\n const uretim = +(this.d('uretimAdedi') || 0);\n const red = +(this.d('redAdedi') || 0);\n if (!uretim) return null;\n return Math.round(((uretim - red) / uretim) * 100);\n });\n}\n\n@Component({\n selector: 'cam-vardiya-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
⏰ {{ d('vardiyaTuru') || 'Vardiya' }}
\n @if (d('operator')) {
{{ d('operator') }}
}\n
\n
\n {{ d('uretimAdedi') || 0 }} üretim\n @if (verimlilik() !== null) { = 90 ? '#52c41a' : verimlilik()! >= 70 ? '#d48806' : '#ff4d4f'\" [style.color]=\"verimlilik()! >= 90 ? '#52c41a' : verimlilik()! >= 70 ? '#d48806' : '#ff4d4f'\">%{{ verimlilik() }} }\n
\n
\n `,\n})\nexport class CamVardiyaKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n verimlilik = computed(() => {\n const uretim = +(this.d('uretimAdedi') || 0);\n const red = +(this.d('redAdedi') || 0);\n if (!uretim) return null;\n return Math.round(((uretim - red) / uretim) * 100);\n });\n}\n\n@DinamikBilesen({\n id: 'cam-vardiya',\n baslik: 'Vardiya Kaydı',\n aciklama: 'Vardiya üretim ve devir kaydı',\n ikon: 'clock-circle',\n kategori: 'cam-isleme',\n})\nclass CamVardiya {\n paylas_kutusu = CamVardiyaEditComponent;\n paylasilmis_kart = CamVardiyaKartComponent;\n paylasilmis_kart_sade = CamVardiyaKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n selector: 'cam-enerji-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzInputNumberModule,\n CdkTextareaAutosize],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
⚡
\n Enerji Kaydı\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n @if (parcaBasiKwh() !== null) {\n
\n
\n Parça başı:\n {{ parcaBasiKwh() }} kWh\n
\n @if (saatlikTuketim() !== null) {\n
\n Saatlik:\n {{ saatlikTuketim() }} kWh/sa\n
\n }\n
\n }\n\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n `,\n styleUrl: './cam-edit.styles.less',\n})\nexport class CamEnerjiEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (params?.ek) { params.ek[alan] = deger; this.parametreler.set({ ...params }); }\n }\n\n parcaBasiKwh = computed(() => {\n const kwh = +(this.p()?.kwh || 0);\n const adet = +(this.p()?.parcaAdedi || 0);\n if (!kwh || !adet) return null;\n return (kwh / adet).toFixed(2);\n });\n\n saatlikTuketim = computed(() => {\n const kwh = +(this.p()?.kwh || 0);\n const sure = +(this.p()?.islemSuresi || 0);\n if (!kwh || !sure) return null;\n return ((kwh / sure) * 60).toFixed(2);\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { CamEnerjiEditComponent } from './cam-enerji-edit.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\n\n@Component({\n selector: 'cam-enerji-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
\n
⚡ ENERJİ KAYDI
\n
{{ d('kwh') || 0 }} kWh
\n
\n @if (d('islemSuresi')) {\n
\n SÜRE\n {{ d('islemSuresi') }} dk\n
\n }\n @if (d('parcaAdedi')) {\n
\n PARÇA\n {{ d('parcaAdedi') }} ad.\n
\n }\n @if (parcaBasiKwh() !== null) {\n
\n PARÇA BAŞI\n
\n
\n
\n {{ parcaBasiKwh() }}\n
\n }\n
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .ej-ana { font-size: 22px; font-weight: 900; color: #a855f7; text-shadow: 0 0 12px rgba(168,85,247,.3); margin-top: 4px; }\n .ej-birim { font-size: 11px; font-weight: 600; opacity: .7; }\n `],\n})\nexport class CamEnerjiKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n parcaBasiKwh = computed(() => {\n const kwh = +(this.d('kwh') || 0);\n const adet = +(this.d('parcaAdedi') || 0);\n if (!kwh || !adet) return null;\n return (kwh / adet).toFixed(2);\n });\n parcaBarYuzde = computed(() => {\n const pb = +(this.parcaBasiKwh() || 0);\n return Math.min(pb * 10, 100);\n });\n}\n\n@Component({\n selector: 'cam-enerji-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
⚡ Enerji Kaydı
\n @if (d('islemSuresi')) {
{{ d('islemSuresi') }} dk
}\n
\n
\n {{ d('kwh') || 0 }} kWh\n @if (d('parcaAdedi')) { {{ d('parcaAdedi') }} parça }\n
\n
\n `,\n})\nexport class CamEnerjiKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n}\n\n@DinamikBilesen({\n id: 'cam-enerji',\n baslik: 'Enerji Kaydı',\n aciklama: 'Enerji tüketim ve maliyet kaydı',\n ikon: 'thunderbolt',\n kategori: 'cam-isleme',\n})\nclass CamEnerji {\n paylas_kutusu = CamEnerjiEditComponent;\n paylasilmis_kart = CamEnerjiKartComponent;\n paylasilmis_kart_sade = CamEnerjiKartSadeComponent;\n}\n","/**\n * Parça Takip & İnceleme — tip tanımları.\n * Parça = paylaşım sisteminde bir ANA KART (IKart, turu KART). Her aksiyon = ALT KART (_uid = parçaId).\n * Veri sunucuda (hareketler koleksiyonu) — dosyada değil. STP fingerprint ile tanıma.\n */\n\n/** Üretim → sevkiyat yaşam döngüsü aşamaları (sıralı). */\nexport type ParcaAsama =\n | 'Teklif' | 'Onay' | 'Malzeme' | 'Üretim' | 'Kalite' | 'Sevkiyat' | 'Teslim'\n | 'Red' | 'İptal';\n\nexport const PARCA_ASAMALAR: ParcaAsama[] = ['Teklif', 'Onay', 'Malzeme', 'Üretim', 'Kalite', 'Sevkiyat', 'Teslim'];\n\nexport interface IAsamaBilgi { renk: string; rgb: string; simge: string; ilerleme: number; }\nexport const ASAMA_BILGI: Record = {\n 'Teklif': { renk: '#94a3b8', rgb: '148,163,184', simge: '💰', ilerleme: 10 },\n 'Onay': { renk: '#3b82f6', rgb: '59,130,246', simge: '✅', ilerleme: 25 },\n 'Malzeme': { renk: '#06b6d4', rgb: '6,182,212', simge: '📦', ilerleme: 40 },\n 'Üretim': { renk: '#a855f7', rgb: '168,85,247', simge: '🏭', ilerleme: 60 },\n 'Kalite': { renk: '#eab308', rgb: '234,179,8', simge: '🔍', ilerleme: 80 },\n 'Sevkiyat': { renk: '#f97316', rgb: '249,115,22', simge: '🚚', ilerleme: 92 },\n 'Teslim': { renk: '#22c55e', rgb: '34,197,94', simge: '🎯', ilerleme: 100 },\n 'Red': { renk: '#ef4444', rgb: '239,68,68', simge: '⛔', ilerleme: 0 },\n 'İptal': { renk: '#434343', rgb: '67,67,67', simge: '✖', ilerleme: 0 },\n};\n\n/** Alt kart (aksiyon) tipleri — her biri ayrı dinamik bileşen id'si. */\nexport type ParcaAltTip = 'NOT' | 'OLCU' | 'AGIRLIK' | 'DURUM' | 'ONAY' | 'TEKLIF' | 'FOTO' | 'ODEME' | 'DOSYA' | 'MONAY';\n\nexport interface IAltTipBilgi { id: string; baslik: string; simge: string; renk: string; }\n/** Alt kart tipi → dinamik bileşen id'si ('parca-' + lowercase) + UI bilgisi. */\nexport const ALT_TIP_BILGI: Record = {\n NOT: { id: 'parca-not', baslik: 'Not', simge: '📝', renk: '#38bdf8' },\n OLCU: { id: 'parca-olcu', baslik: 'Ölçü', simge: '📏', renk: '#a78bfa' },\n AGIRLIK: { id: 'parca-agirlik', baslik: 'Ağırlık', simge: '⚖️', renk: '#34d399' },\n DURUM: { id: 'parca-durum', baslik: 'Durum', simge: '🔄', renk: '#3b82f6' },\n ONAY: { id: 'parca-onay', baslik: 'Onay', simge: '✅', renk: '#22c55e' },\n TEKLIF: { id: 'parca-teklif', baslik: 'Teklif', simge: '💰', renk: '#f59e0b' },\n FOTO: { id: 'parca-foto', baslik: 'Fotoğraf', simge: '📷', renk: '#fb7185' },\n ODEME: { id: 'parca-odeme', baslik: 'Tahsilat', simge: '💵', renk: '#16a34a' },\n DOSYA: { id: 'parca-dosya', baslik: 'Dosya', simge: '📎', renk: '#64748b' },\n MONAY: { id: 'parca-monay', baslik: 'Müşteri Kararı', simge: '🤝', renk: '#8b5cf6' },\n};\n\n/** Dinamik bileşen id'si (ana parça kartı). */\nexport const PARCA_KART_BILESEN = 'parca-takip';\n/** Parametre seti / içerik komutu. */\nexport const HAREKETLER = {\n aggregate: 'FikoYT.sistem.DB.hareketler.aggregate',\n ekle: 'FikoYT.sistem.DB.hareketler.ekle',\n guncelle: 'FikoYT.sistem.DB.hareketler.guncelle',\n sil: 'FikoYT.sistem.DB.hareketler.sil',\n} as const;\n\n/** 3D'de noktaya bağlı not (LOCAL koordinat). */\nexport interface IParcaNot { x: number; y: number; z: number; metin: string; }\n\n/** STP geometrik parmak izi (tanıma için). */\nexport interface IParcaFingerprint {\n fp: string; // birleşik imza: f{faces}_e{edges}_v{vol}\n faceSayisi: number;\n edgeSayisi: number;\n hacim: number; // mm³ (teorik), yoksa bbox hacmi\n bbox?: { x: number; y: number; z: number };\n}\n\n/** Parça ana kartı veri yapısı (IKart.veri içinde). */\nexport interface IParcaVeri {\n parcaAdi: string;\n revizyon?: string;\n malzeme?: string;\n yogunluk?: number; // g/cm³\n teorikAgirlik?: number; // kg\n olculenAgirlik?: number; // kg\n asama: ParcaAsama;\n hedefTarih?: string; // hedef teslim tarihi (gecikme uyarısı için)\n oncelik?: 'normal' | 'acil'; // öncelik bayrağı\n adet?: number; // sipariş adedi\n malzemeBirimFiyat?: number; // ₺/kg (maliyet hesabı)\n iscilik?: number; // ₺ (işçilik+genel gider)\n musteriAdi?: string; // cari/müşteri adı\n musteriTel?: string; // müşteri telefonu (WhatsApp doğrudan gönderim)\n fingerprint?: IParcaFingerprint;\n stpDosyaId?: string; // go_files referansı (ileride)\n notlar?: IParcaNot[];\n kok?: boolean; // ana (kök) parça kartı işareti — liste sorgusu sağlamlığı\n firmaId?: string; // ait olduğu firma (çoklu firma izolasyonu) — yoksa kişisel (sahip bazlı)\n paylasimToken?: string; // müşteri public link token'ı (loginsiz durum sayfası)\n tokenAktif?: boolean; // link aktif mi (firma kapatabilir)\n tahminiTeslim?: string; // müşteriye gösterilen tahmini teslim\n}\n","/**\n * Parça Takip dinamik bileşenleri (paylaşım sistemi kartları).\n * Ana parça kartı (parca-takip) + her alt kart tipi (parca-not/olcu/agirlik/durum/onay/teklif/foto).\n * Hepsi paylaşım feed'inde otomatik render olur. main.ts'e import edilir.\n */\nimport { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { DinamikBilesenRegistry } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/dinamik-bilesen.registry';\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GameCardBase, GC_BASE_CSS } from '@/src/app/uygulamalar/hmi-pano/pano/game-card-base';\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\nimport { ASAMA_BILGI, ALT_TIP_BILGI, ParcaAsama, ParcaAltTip } from './interfaces/parca-takip.interface';\n\n/* ───────────────────────── ANA PARÇA KARTI ───────────────────────── */\n@Component({\n selector: 'parca-takip-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n
\n
\n
\n
📦 PARÇA TAKİP
\n
{{ d('parcaAdi') || 'İsimsiz Parça' }}@if (d('revizyon')) { {{ d('revizyon') }} }
\n @if (gecikiyor()) {
⚠️ {{ gecikmeGunu() }} gün gecikmiş
}\n @if (d('malzeme')) {
{{ d('malzeme') }}
}\n
@if (teorik()) { ⚖️ {{ teorik() }} kg } @if (olculen()) { / ölç. {{ olculen() }} kg }
\n
{{ asamaSimge() }} {{ asama() }}
\n
\n
\n
\n `,\n styles: [GC_BASE_CSS, `\n .pt-baslik{font-size:14px;font-weight:700;color:var(--py-metin,#e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;}\n .pt-rev{font-size:9px;padding:1px 6px;border-radius:3px;background:rgba(var(--accent-rgb),.2);color:var(--accent);font-weight:600;}\n .pt-alt{font-size:11px;color:var(--py-metin-ikincil,#94a3b8);}\n .pt-agirlik{font-size:11px;color:#9fe6ff;font-family:monospace;display:flex;gap:6px;align-items:baseline;}\n .pt-olc{color:#fbbf24;}\n .pt-durum{display:inline-block;padding:3px 12px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid;margin-top:4px;}\n .pt-gecikme{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:3px;background:rgba(255,77,79,.12);border-left:2px solid #ff4d4f;font-size:9px;font-weight:700;color:#ff4d4f;}\n `],\n})\nexport class ParcaTakipKartComponent extends GameCardBase {\n parametreler = input();\n _hesap = input();\n constructor() { super(); }\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n asama = computed(() => (this._hesap()?.sonAsama || this.d('asama') || 'Teklif') as ParcaAsama);\n bilgi = computed(() => ASAMA_BILGI[this.asama()] || ASAMA_BILGI['Teklif']);\n renk = computed(() => this.bilgi().renk);\n rgb = computed(() => this.bilgi().rgb);\n ilerleme = computed(() => this.bilgi().ilerleme);\n asamaSimge = computed(() => this.bilgi().simge);\n teorik = computed(() => this.d('teorikAgirlik'));\n olculen = computed(() => this.d('olculenAgirlik'));\n gecikiyor = computed(() => { const h = this.d('hedefTarih'); return h && new Date(h) < new Date() && this.asama() !== 'Teslim'; });\n gecikmeGunu = computed(() => { const h = this.d('hedefTarih'); if (!h || !this.gecikiyor()) return 0; return Math.ceil((Date.now() - new Date(h).getTime()) / 86400000); });\n}\n\n/* ───────────────────────── GENERIC ALT KART ───────────────────────── */\n@Component({\n selector: 'parca-alt-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
{{ bilgi().simge }}{{ bilgi().baslik }}
\n
{{ ozet() }}
\n
\n `,\n styles: [`\n .pak{background:var(--py-arkaplan-yukselti,#0c0e14);border:1px solid rgba(255,255,255,.06);border-left:3px solid #38bdf8;border-radius:5px;padding:7px 10px;display:flex;flex-direction:column;gap:3px;}\n .pak-bas{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--py-metin-ikincil,#94a3b8);text-transform:uppercase;letter-spacing:.05em;}\n .pak-sim{font-size:13px;}\n .pak-govde{font-size:12px;color:var(--py-metin,#e2e8f0);line-height:1.4;white-space:pre-wrap;}\n `],\n})\nexport class ParcaAltKartComponent {\n parametreler = input();\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n tip = computed(() => (this.d('altTip') || 'NOT') as ParcaAltTip);\n bilgi = computed(() => ALT_TIP_BILGI[this.tip()] || ALT_TIP_BILGI.NOT);\n ozet = computed(() => {\n switch (this.tip()) {\n case 'NOT': return this.d('metin') || '—';\n case 'OLCU': return `${this.d('olcuTuru') || 'Ölçü'}: ${this.d('deger') ?? '—'} ${this.d('birim') || 'mm'}`;\n case 'AGIRLIK': return `${this.d('kg') ?? '—'} kg${this.d('yontem') ? ' · ' + this.d('yontem') : ''}`;\n case 'DURUM': return `${this.d('simge') || ''} ${this.d('asama') || '—'}${this.d('aciklama') ? ' — ' + this.d('aciklama') : ''}`;\n case 'ONAY': return `${this.d('sonuc') || 'Onay'}${this.d('onaylayan') ? ' · ' + this.d('onaylayan') : ''}`;\n case 'TEKLIF': return `${this.d('fiyat') ?? '—'} ${this.d('parabirimi') || '₺'}${this.d('sure') ? ' · ' + this.d('sure') + ' dk' : ''}`;\n case 'FOTO': return this.d('aciklama') || '📷 Fotoğraf';\n default: return '—';\n }\n });\n}\n\n/* ───────────────────────── KAYIT ───────────────────────── */\n@DinamikBilesen({ id: 'parca-takip', baslik: 'Parça Takip', aciklama: 'STP parça üretim & inceleme takibi', ikon: 'container', kategori: 'parca-takip' })\nclass ParcaTakip {\n paylas_kutusu = ParcaTakipKartComponent;\n paylasilmis_kart = ParcaTakipKartComponent;\n paylasilmis_kart_sade = ParcaTakipKartComponent;\n hesaplamalar = {\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, 'icerikler.0.ek.altTip': 'DURUM', silindi: { $ne: true } } },\n { $sort: { _id: -1 } }, { $limit: 1 },\n ], as: '_durumAlt' } },\n { $addFields: { '_hesap.sonAsama': { $ifNull: [{ $arrayElemAt: ['$_durumAlt.icerikler.0.ek.asama', 0] }, '$veri.asama'] } } },\n { $project: { _durumAlt: 0 } },\n ],\n };\n}\n\n// Alt kart tipleri — hepsi generic ParcaAltKartComponent ile render (registry'ye doğrudan kaydet).\nfor (const tip of Object.keys(ALT_TIP_BILGI) as ParcaAltTip[]) {\n const bilgi = ALT_TIP_BILGI[tip];\n DinamikBilesenRegistry.kaydet(\n bilgi.id,\n { bilesen_id: bilgi.id, meta: { id: bilgi.id, baslik: bilgi.baslik, kategori: 'parca-takip' }, paylas_kutusu: ParcaAltKartComponent, paylasilmis_kart: ParcaAltKartComponent } as any,\n { id: bilgi.id, baslik: bilgi.baslik, kategori: 'parca-takip' },\n );\n}\n","
\n\n \n
\n \n \n \n \n \n {{ baslik() }}\n @if (firmadakiler().length) {\n {{ firmadakiler().length }} kişi\n }\n
\n\n \n @if (yukleniyor()) {\n
\n
\n
\n
\n
\n }\n\n \n @else if (!firmadakiler().length) {\n
\n \n \n \n \n Şu an kimse firmada değil\n
\n }\n\n \n @else {\n
\n @for (k of firmadakiler(); track k.kartUid) {\n
\n
\n @if (k.resimUrl) {\n \"\"\n } @else {\n {{ k.isim?.[0] || '?' }}\n }\n \n
\n
{{ k.isim }}
\n
{{ k.girisSaati }}
\n @if (secilenOkuyucular().length > 1) {\n
{{ k.okuyucuIsmi }}
\n }\n
\n }\n
\n }\n\n
\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component,\n computed, effect, inject, input, OnDestroy, OnInit, signal, untracked,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { KartWebSocketService } from '../kart-okuyucu/services/kart-websocket.service';\nimport { AvatarService } from '@/src/app/servisler/avatar.service';\n\nexport interface IFirmadaKisi {\n kartUid: string;\n isim: string;\n resimId: string;\n resimUrl: string;\n okuyucuKimlik: string;\n okuyucuIsmi: string;\n girisSaati: string; // 'HH:MM'\n}\n\n/** Bir kartın gün içindeki okutmalarını \"dokunuş\" (occasion) gruplarına ayırmak için\n * kullanılan eşik (ms) — birbirine bu süreden yakın okutmalar (koyuldu+cekildi ikilisi\n * dahil) TEK bir dokunuş sayılır.\n *\n * ÖNEMLİ: Bu artık SABİT bir değer DEĞİL — her kart kendi kişiye özel eşiğini\n * kart-sahibi bileşen kaydının `ek.grupEsikSaniye` alanından (DB) okur, bkz. _esikGetir().\n * Alan tanımlı değilse (eski kayıt / hiç ayarlanmamış) bu varsayılan kullanılır — kart-sahibi\n * bileşenindeki varsayılan gruplama eşiğiyle (grupEsikSaniye=5) birebir aynı. */\nconst DOKUNUS_ESIK_VARSAYILAN_MS = 5000;\n\n@Component({\n selector: 'firmada-panel-kart',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './firmada-panel-kart.component.html',\n styleUrl: './firmada-panel-kart.component.less',\n})\nexport class FirmadaPanelKartComponent implements OnInit, OnDestroy {\n parametreler = input();\n\n firmadakiler = signal([]);\n yukleniyor = signal(false);\n\n baslik = computed(() => this.parametreler()?.ek?.baslik || 'Firmada Olanlar');\n secilenOkuyucular = computed(() => this.parametreler()?.ek?.secilenOkuyucular ?? []);\n\n private _destroy$ = new Subject();\n private wsService = inject(KartWebSocketService);\n private avatar = inject(AvatarService);\n private cd = inject(ChangeDetectorRef);\n\n /** Açılış yüklemesinin en az bir kez yapıldığını işaretler (çift/yinelenen yükleme yok). */\n private _acilisYuklendi = false;\n\n /** Canlı dokunuş takibi — kart(küçük harf) -> son dokunuş durumu.\n * DB yazımı asenkron (sunucuda goroutine) olduğu için, bir WS olayı geldiğinde DB henüz\n * güncellenmemiş olabiliyor; bu haritayla DB'ye tekrar dönmeye gerek kalmadan her dokunuş\n * anında \"içeride/içeride değil\" geçişini yapabiliyoruz. Başlangıç değeri açılış yüklemesinde\n * DB'den tohumlanır (firmada = dokunuş sayısı tek). */\n private _dokunusVeri = new Map();\n\n /** Kart başına kişiye özel dokunuş gruplama eşiği (ms) önbelleği — kart-sahibi'nin\n * DB'deki `ek.grupEsikSaniye` alanını her okutmada tekrar sorgulamamak için. kart-sahibi\n * tarafında ayar değişince (hareketDegisti$ sinyali) temizlenir, bkz. ngOnInit. */\n private _esikCache = new Map();\n\n constructor() {\n // `parametreler` ebeveyn (ikart-kutusu) tarafından kart DB'den geldikten SONRA\n // asenkron doldurulabildiği için, ngOnInit çalıştığında `secilenOkuyucular()` henüz\n // boş olabilir ve açılış yüklemesi (`_acilisYukle`) boş küçe ile erken döner → panel\n // boş kalır. Bu effect, `ek.secilenOkuyucular` boştan doluya geçtiği anda (daha önce\n // yüklenmemişse) açılış yüklemesini tetikler. untracked: effect yalnızca parametre\n // değişimine tepki versin, içindeki okuma/yazmalar bağımlılığa karışmasın.\n effect(() => {\n const secili = this.secilenOkuyucular();\n if (secili.length && !this._acilisYuklendi) {\n this._acilisYuklendi = true;\n untracked(() => this._acilisYukle());\n }\n });\n }\n\n ngOnInit() {\n // Açılışta mevcut durumu DB'den çek\n this._acilisYukle();\n\n // Kart-sahibi tarafında yapılan değişiklikler (manuel giriş/çıkış ekleme, düzenleme,\n // grup düzenleme/silme) doğrudan `pdks_kart_hareketler`'e yazıldığı için WS olayı\n // ÜRETMEZ. Kart-sahibi bu değişikliklerden sonra `hareketDegisti$` sinyali yollar —\n // onu dinleyip durumu ANINDA yeniden hesaplıyoruz (periyodik polling YOK).\n // debounce: tek bir düzenlemede birkaç kayıt değişebildiği için ardışık sinyalleri\n // tek yenilemeye indirger.\n this.wsService.hareketDegisti$\n .pipe(debounceTime(300), takeUntil(this._destroy$))\n .subscribe(() => {\n // Kart-sahibi tarafında tolerans/gruplama ayarı değişmiş olabilir —\n // önbelleklenmiş eşikleri at ki bir sonraki hesaplama güncel DB değerini okusun.\n this._esikCache.clear();\n this._acilisYukle(true);\n });\n\n // WS canlı olayları — seçili okuyuculardan gelen HER olayda (koyuldu VEYA cekildi)\n // ilgili kartın bugünkü dokunuş sayısını yeniden hesaplayıp listeyi güncelle.\n // NOT: Kart okuyucuda sürekli kalmıyor — çalışan kartı okutup hemen cebine koyuyor\n // (koyuldu+cekildi neredeyse eş zamanlı gelir). Bu yüzden \"son olay koyuldu mu\"\n // diye bakmak YANLIŞ: aynı gün içinde giriş/izin/dönüş döngüsünde her okutma bir\n // öncekinin tam tersini ifade eder. Doğru kural kart-sahibi'ndeki ile aynı:\n // bugünün dokunuşları sırayla giriş/çıkış/giriş/çıkış... sayılır, TEK sayıda\n // dokunuş = hâlâ içeride.\n this.wsService.kartOlayiHam$.pipe(takeUntil(this._destroy$)).subscribe(async olay => {\n const secili = this.secilenOkuyucular();\n if (!secili.length || !olay.kartKimlik) return;\n const cihazEslesmesi = secili.some(s => String(s).toLowerCase() === String(olay.cihazKimlik).toLowerCase());\n if (!cihazEslesmesi) return;\n await this._kartiGuncelle(olay.kartKimlik, olay.cihazKimlik, olay.zaman?.getTime?.() ?? Date.now());\n });\n\n if (!this.wsService.bagli) this.wsService.baglan();\n }\n\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /** Açılışta: seçili okuyucularda bugün en az bir kez okutulmuş kartları bul,\n * her biri için güncel giriş/çıkış durumunu hesapla, firmada olanları listele.\n * @param sessiz true ise (canlı tazeleme) `yukleniyor` spinner'ı GÖSTERİLMEZ ve\n * liste fark-temelli güncellenir — içerik değişmemişse DOM'a hiç dokunulmaz, böylece\n * kapsayıcı boyutları titremez. */\n private async _acilisYukle(sessiz = false) {\n const secili = this.secilenOkuyucular();\n if (!secili.length) return;\n this._acilisYuklendi = true;\n if (!sessiz) {\n this.yukleniyor.set(true);\n this.cd.markForCheck();\n }\n try {\n // Seçili okuyucularda BUGÜN okutulmuş benzersiz kartları bul — kart-sahibi.firmadaMi\n // ile aynı: durum bugünün okutmalarına göre belirlenir.\n // ÖNEMLİ: Kart-sahibi'nde eklenen MANUEL kayıtların `cihaz_kimlik` alanı YOKTUR\n // (bkz. kart-sahibi manuelKaydet/normalCalismaEkle — sadece kart_kimlik+durum+zaman\n // yazılır). Bu yüzden yalnızca `cihaz_kimlik: {$in: secili}` ile arama yapılırsa,\n // BUGÜN sadece manuel giriş/çıkışı olan (hiç cihazdan okutulmamış) bir kart aday\n // listesine HİÇ girmiyordu → kişi firmada olsa bile panelde görünmüyordu. Bu yüzden\n // eşleşme cihaz filtresi VEYA manuel kayıt olacak şekilde genişletildi; manuel\n // kayıtlar zaten belirli bir cihaza bağlı değildir, bu yüzden okuyucu seçimine\n // bakılmaksızın (kişi bazlı) sayılır.\n // Sıralama/bugün filtresi Mongo'da DEĞİL JS'te yapılır: `sunucu_zamani` alanı\n // karışık formatlı (sunucu RFC3339 \"+03:00\", manuel kayıtlar \"Z\") — string\n // karşılaştırması/sıralaması bozulduğu için grup çift/tekliği kayıyordu\n // (Melis 5 blok = Dışarıda iken panel Firmada gösteriyordu).\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.aggregate' });\n istek.parametreler = {\n aggregate: [\n { $match: {\n vt: 'FikoYT.sistem.cihaz.olaylar',\n durum: { $in: ['koyuldu', 'cekildi'] },\n $or: [\n { cihaz_kimlik: { $in: secili } },\n { manuel: true },\n ],\n } },\n // _id (ObjectId) zamanla artar — en güvenilir zaman sıralaması\n { $sort: { _id: -1 } },\n { $limit: 500 },\n { $project: { kart_kimlik: 1, sunucu_zamani: 1 } },\n ],\n };\n await istek.isteSync();\n const ham: any[] = istek.cevap?.sonuc || (Array.isArray(istek.cevap) ? istek.cevap : []) || [];\n\n // Bugün filtresi YEREL tarihe göre (kart-sahibi bugunStr ile aynı mantık)\n const simdi = new Date();\n const bugunStr = `${simdi.getFullYear()}-${String(simdi.getMonth() + 1).padStart(2, '0')}-${String(simdi.getDate()).padStart(2, '0')}`;\n const bugununKartlari = new Set();\n for (const o of ham) {\n const t = new Date(o.sunucu_zamani);\n if (isNaN(t.getTime())) continue;\n const s = `${t.getFullYear()}-${String(t.getMonth() + 1).padStart(2, '0')}-${String(t.getDate()).padStart(2, '0')}`;\n if (s !== bugunStr) continue;\n const uid = String(o.kart_kimlik || '').toLowerCase();\n if (uid) bugununKartlari.add(uid);\n }\n const kartlar: any[] = [...bugununKartlari].map(uid => ({ _id: uid }));\n\n const kisiler: IFirmadaKisi[] = [];\n for (const k of kartlar) {\n const kartUid = k._id;\n if (!kartUid) continue;\n const durum = await this._kartDurumHesapla(kartUid);\n // Bellek içi dokunuş takibini DB'deki gerçek durumla tohumla (canlı geçişler bu temelden gitsin)\n if (durum) {\n this._dokunusVeri.set(String(kartUid).toLowerCase(), {\n firmada: !!durum.firmada,\n sonDokunusZaman: durum.sonZaman ? new Date(durum.sonZaman).getTime() : Date.now(),\n });\n }\n if (!durum?.firmada) continue;\n const kisi = await this._kisiBilgisiCek(kartUid, durum.sonCihaz, durum.sonZaman);\n if (kisi) kisiler.push(kisi);\n }\n this._listeyiUygula(kisiler);\n } catch (e) {\n console.error('[FirmadaPanel] açılış yükleme hatası', e);\n } finally {\n if (!sessiz) this.yukleniyor.set(false);\n this.cd.markForCheck();\n }\n }\n\n /** Hesaplanan listeyi stabil şekilde uygular:\n * 1. Sıralama sabittir (isim) — her yenilemede elemanlar yer değiştirmez.\n * 2. İçerik değişmemişse signal'a HİÇ dokunulmaz → DOM yeniden render edilmez,\n * kapsayıcı boyutları titremez (canlı tazeleme titremesinin kaynağı buydu).\n * 3. Değişen/yeni/çıkmiş elemanlar fark edilerek uygulanır; @for track(kartUid)\n * sayesinde değişmeyen kişilerin DOM düğümleri yeniden kurulmaz. */\n private _listeyiUygula(yeni: IFirmadaKisi[]) {\n // Sabit sıralama: isme göre (Türkçe duyarlı). Aynı isimli iki kişiyi ayırmak\n // için ikincil anahtar kart UID'si.\n const sirali = [...yeni].sort((a, b) =>\n a.isim.localeCompare(b.isim, 'tr') || String(a.kartUid).localeCompare(String(b.kartUid))\n );\n\n const eski = this.firmadakiler();\n if (eski.length === sirali.length) {\n const eskiMap = new Map(eski.map(k => [String(k.kartUid).toLowerCase(), k]));\n const degisti = sirali.some(n => {\n const e = eskiMap.get(String(n.kartUid).toLowerCase());\n // Tüm görünür alanlar aynıysa değişiklik sayılmaz\n return !e || e.isim !== n.isim || e.girisSaati !== n.girisSaati ||\n e.resimId !== n.resimId || e.okuyucuIsmi !== n.okuyucuIsmi;\n });\n if (!degisti) {\n this.cd.markForCheck();\n return; // hiçbir şey değişmedi → DOM'a dokunma\n }\n }\n\n this.firmadakiler.set(sirali);\n }\n\n /** Canlı bir okutma olayı geldiğinde: dokunuş gruplamayı bellek içi haritayla sürdür,\n * geçiş anında firmadaysa listeye ekle/güncelle, değilse listeden çıkar.\n * koyuldu+cekildi ikilisi (≤esikMs, kişiye özel, arayla gelen) TEK dokunuş sayılır — bu yüzden\n * her ham olayda değil, yalnızca yeni bir dokunuş başladığında durum değiştirilir. */\n private async _kartiGuncelle(kartUid: string, cihazKimlik: string, olayZaman: number) {\n const anahtar = String(kartUid).toLowerCase();\n const onceki = this._dokunusVeri.get(anahtar);\n const esikMs = await this._esikGetir(kartUid);\n\n // Aynı dokunuşun ikinci yarısı (ör. koyuldu'nun ardından hızlı cekildi) → durum değişmez\n if (onceki && (olayZaman - onceki.sonDokunusZaman) <= esikMs) {\n onceki.sonDokunusZaman = olayZaman;\n this.cd.markForCheck();\n return;\n }\n\n const firmada = !(onceki?.firmada ?? false);\n this._dokunusVeri.set(anahtar, { firmada, sonDokunusZaman: olayZaman });\n\n if (!firmada) {\n // Listede küçük harfe normalize edilmiş ya da canlıdaki ham kasada olabilecek kimliği\n // tutarlı şekilde kaldır (case-insensitive)\n this.firmadakiler.update(liste => liste.filter(k => String(k.kartUid).toLowerCase() !== anahtar));\n this.cd.markForCheck();\n return;\n }\n\n const kisi = await this._kisiBilgisiCek(kartUid, cihazKimlik);\n if (!kisi) return;\n this.firmadakiler.update(liste => {\n const hedefAhtar = String(kisi.kartUid).toLowerCase();\n const temiz = liste.filter(k => String(k.kartUid).toLowerCase() !== hedefAhtar);\n // Sabit sıralama (isim) — canlı eklemelerde liste düzeni yer değiştirmez\n return [...temiz, kisi].sort((a, b) =>\n a.isim.localeCompare(b.isim, 'tr') || String(a.kartUid).localeCompare(String(b.kartUid))\n );\n });\n this.cd.markForCheck();\n }\n\n /** Kartın BUGÜNKÜ okutma dokunuşlarını (koyuldu+cekildi, zaman sıralı) gruplayıp\n * \"giriş/çıkış\" dengesini hesaplar — kart-sahibi.firmadaMi ile BİREBİR aynı mantık.\n *\n * KURAL (kart-sahibi.firmadaMi ile aynı):\n * - Bugün hiç hareket YOKSA -> Dışarıda (return firmada:false).\n * - Bugünkü dokunuş grubu TEK sayıdaysa -> Firmada; ÇİFT ise -> Dışarıda.\n *\n * GÜN SINIRI ÖNEMLİ: Melis bugün hiç okumadıysa (dün girişi olsa bile), kart-sahibi\n * bugüne bakıp Dışarıda der. Eğer tüm geçmiş sayılırsa dünkü tek giriş \"tek dokunuş =\n * içeride\" sanılıp yanlışlıkla Firmada gösterilir. Bu yüzden yalnızca bugünün olayları\n * değerlendirilir.\n *\n * Canlı geçişler _dokunusVeri (bellek içi) üzerinden yapıldığı için bu fonksiyon\n * yalnızca AÇILIŞ tohumlamada kullanılır. */\n private async _kartDurumHesapla(kartUid: string): Promise<{ firmada: boolean; sonZaman: string; sonCihaz: string } | null> {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.pdks_kart_hareketler.aggregate' });\n istek.parametreler = {\n aggregate: [\n { $match: {\n vt: 'FikoYT.sistem.cihaz.olaylar',\n durum: { $in: ['koyuldu', 'cekildi'] },\n // kart UID'si cihazdan farklı harf kasasıyla gelebildiği için\n // case-insensitive tam eşleşme ($expr + $toLower)\n $expr: { $eq: [\n { $toLower: { $ifNull: ['$kart_kimlik', ''] } },\n String(kartUid || '').toLowerCase(),\n ] },\n } },\n // _id (ObjectId) zamanla artar — `sunucu_zamani` string sıralaması karışık\n // formatlarda (+03:00 / Z) bozulduğu için sıralamayı Mongo'ya DEĞİL JS'e bırakıyoruz\n { $sort: { _id: -1 } },\n { $limit: 300 },\n { $project: { sunucu_zamani: 1, cihaz_kimlik: 1 } },\n ],\n };\n await istek.isteSync();\n const ham: any[] = istek.cevap?.sonuc || (Array.isArray(istek.cevap) ? istek.cevap : []) || [];\n if (!ham.length) {\n // Bu kart için HİÇ hareket yok → kart-sahibi'nin firmadaMi kuralıyla \"Dışarıda\".\n return { firmada: false, sonZaman: new Date().toISOString(), sonCihaz: '' };\n }\n\n // Bugün filtresi YEREL tarihe göre (kart-sahibi.firmadaMi → bugunStr ile aynı)\n const simdi = new Date();\n const bugunStr = `${simdi.getFullYear()}-${String(simdi.getMonth() + 1).padStart(2, '0')}-${String(simdi.getDate()).padStart(2, '0')}`;\n const olaylar = ham\n .map(o => ({ zaman: new Date(o.sunucu_zamani).getTime(), cihaz: o.cihaz_kimlik || '' }))\n .filter(o => !isNaN(o.zaman))\n .filter(o => {\n const t = new Date(o.zaman);\n const s = `${t.getFullYear()}-${String(t.getMonth() + 1).padStart(2, '0')}-${String(t.getDate()).padStart(2, '0')}`;\n return s === bugunStr;\n })\n .sort((a, b) => a.zaman - b.zaman); // JS'te sayısal sıralama — format karışıklığına dayanıklı\n if (!olaylar.length) {\n // Bugün hiç hareket yok → Dışarıda (firmadaMi: bugunGun yoksa false)\n return { firmada: false, sonZaman: new Date().toISOString(), sonCihaz: '' };\n }\n\n // Dokunuş gruplama: ≤esikMs (kişiye özel, DB'den) arayla gelen olaylar tek dokunuş\n // (koyuldu+cekildi ikilisi). Grup sayısı TEK → son segment açık → Firmada;\n // ÇİFT → son segment kapalı → Dışarıda (kart-sahibi segment mantığıyla aynı).\n const esikMs = await this._esikGetir(kartUid);\n const gruplar: { ilkZaman: number; sonZaman: number; cihaz: string }[] = [];\n let grupBas = olaylar[0];\n let grupSon = olaylar[0];\n for (let i = 1; i < olaylar.length; i++) {\n if (olaylar[i].zaman - grupSon.zaman <= esikMs) {\n grupSon = olaylar[i];\n } else {\n gruplar.push({ ilkZaman: grupBas.zaman, sonZaman: grupSon.zaman, cihaz: grupBas.cihaz });\n grupBas = olaylar[i];\n grupSon = olaylar[i];\n }\n }\n gruplar.push({ ilkZaman: grupBas.zaman, sonZaman: grupSon.zaman, cihaz: grupBas.cihaz });\n\n const sonGrup = gruplar[gruplar.length - 1];\n return {\n firmada: gruplar.length % 2 === 1,\n sonZaman: new Date(sonGrup.sonZaman).toISOString(),\n sonCihaz: sonGrup.cihaz || '',\n };\n } catch {\n return null;\n }\n }\n\n /** Kart-sahibi ayarındaki kişiye özel dokunuş gruplama eşiğini (ms) DB'den okur.\n * kart-sahibi bileşenindeki `grupEsikSaniye` ile BİREBİR AYNI DB alanını okur\n * (ek.grupEsikSaniye) — böylece iki taraf HER ZAMAN aynı eşiği kullanır ve firmada-panel\n * kart-sahibi'ndeki tolerans/gruplama ayarını görmezden gelmez. Sonuç, kart başına\n * önbelleğe alınır (bkz. _esikCache) ve kart-sahibi tarafında ayar değiştiğinde\n * `hareketDegisti$` sinyaliyle temizlenir. Alan tanımlı değilse (eski kayıt / hiç\n * ayarlanmamış) DOKUNUS_ESIK_VARSAYILAN_MS kullanılır. */\n private async _esikGetir(kartUid: string): Promise {\n const anahtar = String(kartUid || '').toLowerCase();\n const onbellek = this._esikCache.get(anahtar);\n if (onbellek !== undefined) return onbellek;\n\n let esikMs = DOKUNUS_ESIK_VARSAYILAN_MS;\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = {\n aggregate: [\n { $match: {\n 'ek.bilesen': 'hmi-kart-sahibi',\n $expr: { $eq: [\n { $toLower: { $ifNull: ['$ek.kartUid', ''] } },\n anahtar,\n ] },\n } },\n { $sort: { _id: -1 } },\n { $limit: 1 },\n { $project: { 'ek.grupEsikSaniye': 1 } },\n ],\n };\n await istek.isteSync();\n const ham: any[] = istek.cevap?.sonuc || (Array.isArray(istek.cevap) ? istek.cevap : []) || [];\n const saniye = Number(ham[0]?.ek?.grupEsikSaniye);\n if (!isNaN(saniye) && saniye >= 0) esikMs = saniye * 1000;\n } catch {\n // sorgu başarısız — varsayılan eşikle devam\n }\n this._esikCache.set(anahtar, esikMs);\n return esikMs;\n }\n\n /** DB'den kart-sahibi bileşen kaydını çekip IFirmadaKisi üretir. */\n private async _kisiBilgisiCek(kartUid: string, cihazKimlik: string, girisZamaniIso?: string): Promise {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = {\n aggregate: [\n { $match: {\n // Kişi kayıtları `hareketler` içindeki İÇERİK belgeleridir; bileşen kimliği\n // belgenin `tur` alanında DEĞİL, içeriğin `ek.bilesen` alanında tutulur\n // (ikart-kutusu: `ic?.ek?.bilesen`). Bu yüzden `tur:'hmi-kart-sahibi'` ile\n // yapılan eski eşleşme HİÇBİR kaydı bulamıyordu → panel boş kalıyordu.\n 'ek.bilesen': 'hmi-kart-sahibi',\n // Okuyucudan gelen `kart_kimlik` ile kaydedilen `ek.kartUid` arasında\n // büyük/küçük harf farkı oluşabiliyor; bu yüzden $expr + $toLower ile\n // case-insensitive tam eşleşme yapılır (kart-sahibi canlı eşleştirmede\n // aynı nedenle toUpperCase kullanıyor).\n $expr: { $eq: [\n { $toLower: { $ifNull: ['$ek.kartUid', ''] } },\n String(kartUid || '').toLowerCase(),\n ] },\n } },\n // Birden fazla kayıt olursa en güncelini al\n { $sort: { _id: -1 } },\n { $limit: 1 },\n { $project: { 'ek.sahipIsmi': 1, 'ek.sahipResim': 1, 'ek.kartUid': 1 } },\n ],\n };\n await istek.isteSync();\n const ham: any[] = istek.cevap?.sonuc || (Array.isArray(istek.cevap) ? istek.cevap : []) || [];\n const kayit = ham[0];\n if (!kayit) return null;\n\n const resimId = kayit.ek?.sahipResim || '';\n const resimUrl = this.avatar.profilResimUrl(resimId, '128x128');\n const cihaz = this.wsService.cihazlar$.getValue?.()?.find?.((c: any) => c.cihaz_kimlik === cihazKimlik);\n\n return {\n // UID küçük harfe normalize: @for track anahtarı canlı/DB-yenileme arasında\n // aynı kalır → DOM düğümleri gereksiz yeniden kurulmaz, liste titremez\n kartUid: String(kartUid || '').toLowerCase(),\n isim: kayit.ek?.sahipIsmi || 'İsimsiz',\n resimId,\n resimUrl,\n okuyucuKimlik: cihazKimlik,\n okuyucuIsmi: cihaz?.cihaz_ismi || cihazKimlik || 'Bilinmiyor',\n girisSaati: girisZamaniIso ? this._saatFormatla(girisZamaniIso) : this._simdi(),\n };\n } catch {\n return null;\n }\n }\n\n private _simdi(): string {\n return this._saatFormatla(new Date());\n }\n\n private _saatFormatla(zaman: string | Date): string {\n const d = typeof zaman === 'string' ? new Date(zaman) : zaman;\n if (isNaN(d.getTime())) return this._simdi();\n return `${String(d.getHours()).padStart(2,'0')}:${String(d.getMinutes()).padStart(2,'0')}`;\n }\n}\n","
\n\n \n
\n \n \n
\n\n \n
\n \n \n \n \n Kart Okuyucuları Seç\n {{ cihazlar().length }} cihaz\n
\n\n \n @if (cihazlar().length === 0) {\n
\n
📡
\n
Bağlı cihaz bulunamadı
\n
Kart okuyucunun sunucuya bağlı olduğundan emin olun
\n
\n } @else {\n
\n @for (cihaz of cihazlar(); track cihaz.cihaz_kimlik) {\n \n }\n
\n }\n\n \n @if (secilenler().length) {\n
\n Seçilenler ({{ secilenler().length }})\n
\n @for (k of secilenler(); track k) {\n \n {{ cihazIsmi(k) }}\n \n \n }\n
\n
\n }\n\n
\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef, Component,\n inject, model, OnDestroy, OnInit, signal,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\nimport { KartWebSocketService, BagliCihaz } from '../kart-okuyucu/services/kart-websocket.service';\n\n@Component({\n selector: 'firmada-panel-edit',\n standalone: true,\n imports: [CommonModule, FormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './firmada-panel-edit.component.html',\n styleUrl: './firmada-panel-edit.component.less',\n})\nexport class FirmadaPanelEditComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n parametreler = model();\n\n cihazlar = signal([]);\n secilenler = signal([]); // cihaz_kimlik dizisi\n kartDurumMap = new Map();\n\n private _destroy$ = new Subject();\n private wsService = inject(KartWebSocketService);\n private cd = inject(ChangeDetectorRef);\n\n constructor() { super(); }\n\n ngOnInit() {\n const ek = this.parametreler()?.ek ?? {};\n if (Array.isArray(ek.secilenOkuyucular)) {\n this.secilenler.set([...ek.secilenOkuyucular]);\n }\n\n this.wsService.cihazlar$.pipe(takeUntil(this._destroy$)).subscribe(liste => {\n const filtreli = liste.filter(c =>\n !c.tur || c.tur === 'kart_okuyucu' || c.tur === 'rfid' || c.tur === 'nfc'\n );\n this.cihazlar.set(filtreli.length ? filtreli : liste);\n this.cd.markForCheck();\n });\n\n this.wsService.kartOlayi$.pipe(takeUntil(this._destroy$)).subscribe(olay => {\n this.kartDurumMap.set(olay.cihazKimlik, olay.durum === 'koyuldu');\n this.cd.markForCheck();\n });\n\n if (!this.wsService.bagli) this.wsService.baglan();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n seciliMi(kimlik: string): boolean {\n return this.secilenler().includes(kimlik);\n }\n\n toggle(cihaz: BagliCihaz) {\n const mevcut = this.secilenler();\n const yeni = mevcut.includes(cihaz.cihaz_kimlik)\n ? mevcut.filter(k => k !== cihaz.cihaz_kimlik)\n : [...mevcut, cihaz.cihaz_kimlik];\n this.secilenler.set(yeni);\n this._kaydet(yeni);\n }\n\n cikar(kimlik: string) {\n const yeni = this.secilenler().filter(k => k !== kimlik);\n this.secilenler.set(yeni);\n this._kaydet(yeni);\n }\n\n cihazIsmi(kimlik: string): string {\n return this.cihazlar().find(c => c.cihaz_kimlik === kimlik)?.cihaz_ismi || kimlik;\n }\n\n cihazDurumu(cihaz: BagliCihaz): string {\n const v = this.kartDurumMap.get(cihaz.cihaz_kimlik);\n if (v === true) return '💳 Kart okutuldu';\n if (v === false) return '⏳ Kart bekleniyor';\n return '📡 Bağlı';\n }\n\n baslikGuncelle(v: string) {\n this._ekGuncelle('baslik', v);\n }\n\n private _kaydet(liste: string[]) {\n this._ekGuncelle('secilenOkuyucular', liste);\n }\n\n /**\n * Gerçek alanları parametreler().ek içine yazar. `ek`, kart içeriğinin\n * (icerik.ek) doğrudan referansı olduğu için burada mutasyon yapmak,\n * kartın kaydedilen verisine de aynen yansır (bkz. kart-sahibi-edit.component.ts\n * ekGuncelle — { ...(p.ek ?? {}) } ile yeni obje kurmak bu referansı kopardığı\n * için değişiklikler ekranda görünse de DB'ye hiç yazılmıyordu).\n */\n private _ekGuncelle(alan: string, deger: any) {\n const params = this.parametreler() ?? {};\n const ek = params.ek ?? {};\n ek[alan] = deger;\n this.parametreler.set({ ...params, ek });\n this.cd.markForCheck();\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport { FirmadaPanelKartComponent } from './firmada-panel-kart.component';\nimport { FirmadaPanelEditComponent } from './firmada-panel-edit.component';\n\n@DinamikBilesen({\n id: 'hmi-firmada-panel',\n baslik: 'Firmada Panel',\n aciklama: 'Seçilen kart okuyucularında şu an firmada olan kişileri resim ve isim ile gösterir',\n ikon: 'team',\n kategori: 'hmi',\n etiketler: ['rfid', 'personel', 'firmada', 'panel', 'kart-okuyucu'],\n oncelik: 11,\n})\nclass HmiFirmadaPanelBilesen {\n paylasilmis_kart = FirmadaPanelKartComponent;\n paylas_kutusu = FirmadaPanelEditComponent;\n widget = FirmadaPanelKartComponent;\n widget_kucuk = FirmadaPanelKartComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, model, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { kutukGeo } from '@/src/app/shared/utils/param-deger.utils';\n\n@Component({\n selector: 'kutuk-stok-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ geo().enD }}\n \n \n \n {{ geo().yukD }}\n \n \n {{ geo().boyD }}\n \n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n Bu miktarın altına inince \"Uyarı\" rozeti gösterilir\n
\n
\n \n \n Bu miktarın altına inince \"Kritik\" rozeti gösterilir\n
\n
\n\n
\n
\n \n \n
\n
\n
\n `,\n styles: [`\n .ke { display:flex; flex-direction:column; gap:8px; }\n .ke-gorsel { display:flex; justify-content:center; overflow:hidden; border-radius:8px; border:1px solid var(--py-kenarlik,#f0f0f0); background:var(--py-arkaplan,#fff); }\n .ke-svg { display:block; width:100%; height:140px; }\n .ke-row { display:flex; gap:10px; }\n .ke-alan { display:flex; flex-direction:column; gap:2px; flex:1; padding:4px 0; }\n .ke-etiket { font-weight:500; font-size:12px; color:var(--py-metin-ucuncul, rgba(0,0,0,.45)); letter-spacing:-0.1px; }\n .ke-aciklama { font-size:11px; color:var(--py-metin-devre-disi, rgba(0,0,0,.25)); margin-top:1px; }\n `],\n})\nexport class KutukStokEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n\n p = computed(() => this.parametreler()?.ek || {});\n\n guncelle(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n params.ek[alan] = deger;\n this.parametreler.set({ ...params });\n this._geoTetik.set(Date.now());\n }\n\n _geoTetik = signal(0);\n geo = computed(() => {\n this._geoTetik();\n const ek = this.parametreler()?.ek || {};\n return kutukGeo(+(ek?.en || 0), +(ek?.boy || 0), +(ek?.yukseklik || 0));\n });\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\nimport {\n ChangeDetectionStrategy, Component, computed, effect,\n inject, input, model, signal, Type,\n} from '@angular/core';\nimport { CommonModule, NgComponentOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { paramDeger, kutukGeo } from '@/src/app/shared/utils/param-deger.utils';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { DinamikBilesenRegistry } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/dinamik-bilesen.registry';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { KutukStokEditComponent } from './kutuk-stok-edit.component';\n\ntype Durum = 'kritik' | 'uyari' | 'normal';\nconst DURUM_BILGI: Record = {\n kritik: { etiket: 'Kritik', renk: '#ef4444', rgb: '239,68,68' },\n uyari: { etiket: 'Uyarı', renk: '#f59e0b', rgb: '245,158,11' },\n normal: { etiket: 'Normal', renk: '#22c55e', rgb: '34,197,94' },\n};\n\ntype Tip = 'giris' | 'cikis' | 'sayim' | 'fire';\nconst TIP_BILGI: Record = {\n giris: { etiket: 'Giriş', simge: '⬆', renk: '#22c55e', isaret: '+' },\n cikis: { etiket: 'Çıkış', simge: '⬇', renk: '#ef4444', isaret: '−' },\n sayim: { etiket: 'Sayım', simge: '⚖', renk: '#3b82f6', isaret: '=' },\n fire: { etiket: 'Fire', simge: '⚠', renk: '#f59e0b', isaret: '−' },\n};\n\n// ---------------------------------------------------------------------------\n// Ana stok kartı — alt hareketleri dinamik bileşen (ngComponentOutlet) ile render eder\n// ---------------------------------------------------------------------------\n@Component({\n selector: 'kutuk-stok-kart',\n standalone: true,\n imports: [CommonModule, NgComponentOutlet],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n \n
\n 🪵 {{ d('isim') || 'İsimsiz Kütük' }}\n {{ DURUM_BILGI[durum()].etiket }}\n
\n\n \n @if (olculer().length) {\n
\n \n @for (o of olculer(); track o.etiket) {\n \n {{ o.simge }}\n {{ o.deger }}\n \n }\n \n
\n }\n\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n
\n {{ kalanStok() }} {{ d('birim') || 'adet' }}\n \n \n \n \n \n
\n
\n
kritik {{ d('kritikLimit') || '—' }} · uyarı {{ d('uyariLimit') || '—' }}
\n\n \n @if (altHareketler().length) {\n
Son Hareketler
\n
\n @for (altKart of altHareketler(); track altKart._id) {\n @if (altBilesen()) {\n \n \n }\n }\n
\n }\n
\n `,\n styles: [`\n .ksk { display:flex; flex-direction:column; gap:6px; padding:10px 12px;\n border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:10px; background:var(--py-arkaplan,#fff); }\n .ksk-ust { display:flex; align-items:center; justify-content:space-between; gap:8px; }\n .ksk-ad { font-size:13px; font-weight:700; color:var(--py-metin,#333); }\n .ksk-rozet { padding:2px 8px; border-radius:4px; font-size:10px; font-weight:700;\n text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }\n .ksk-gorsel { display:flex; justify-content:center; }\n .ksk-svg { display:block; width:100%; height:64px; }\n .ksk-miktar { font-size:20px; font-weight:800; color:var(--py-metin,#222); }\n .ksk-birim { font-size:11px; font-weight:500; color:var(--py-metin-ikincil,#888); }\n .ksk-bar { height:5px; border-radius:3px; background:rgba(0,0,0,.06); overflow:hidden; }\n .ksk-bar-ic { height:100%; border-radius:3px; transition:width .5s; }\n .ksk-limit-etiket { font-size:10px; color:var(--py-metin-ucuncul,#999); }\n .ksk-alt-baslik { font-size:10px; font-weight:700; text-transform:uppercase;\n letter-spacing:.06em; color:var(--py-metin-ucuncul,#999); margin-top:4px; }\n .ksk-alt-liste { display:flex; flex-direction:column; gap:4px; }\n .ksk-hizli { display:flex; align-items:center; justify-content:space-between; gap:8px; }\n .ksk-hizli-sag { display:flex; align-items:center; gap:4px; }\n .ksk-olculer { display:flex; flex-wrap:wrap; gap:4px; }\n .ksk-olcu { display:inline-flex; align-items:center; gap:4px; padding:2px 8px;\n font-size:11px; font-weight:500; color:var(--py-metin,#444);\n background:color-mix(in srgb, var(--oc,#64748b) 8%, transparent);\n border:1px solid color-mix(in srgb, var(--oc,#64748b) 25%, transparent);\n border-radius:999px; line-height:1.4; }\n .ksk-olcu b { font-weight:700; }\n .ksk-olcu-simge { font-size:11px; opacity:.85; }\n .ksk-hizli-adet { width:46px; padding:2px 4px; font-size:12px; text-align:center;\n border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px;\n background:var(--py-arkaplan,#fff); color:var(--py-metin,#333); }\n .ksk-hbtn { width:26px; height:26px; border:none; border-radius:8px; cursor:pointer;\n font-size:15px; font-weight:800; line-height:1; color:#fff;\n display:flex; align-items:center; justify-content:center;\n transition:filter .15s, transform .05s; }\n .ksk-hbtn:hover:not(:disabled) { filter:brightness(1.12); }\n .ksk-hbtn:active:not(:disabled) { transform:scale(.92); }\n .ksk-hbtn:disabled { opacity:.45; cursor:not-allowed; }\n .ksk-arti { background:#22c55e; }\n .ksk-eksi { background:#ef4444; }\n `],\n})\nexport class KutukStokKartComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n _hesap = input();\n\n constructor() {\n super();\n // Alt bileşen tipini bir kez yükle\n effect(() => {\n DinamikBilesenRegistry.goruntumAl('kutuk-stok-hareket', 'paylasilmis_kart_sade')\n .then(tip => this._altBilesen.set(tip));\n }, { allowSignalWrites: true });\n // Her kart görüntülendiğinde DB'den CANLI alt hareketler çekilir. Alt kartlar\n // silinse de üst kartta bayat/denormalize _hesap gösterilmesin — taze veri esas alınır.\n effect(() => {\n const kart = this.parametreler();\n const id = kart?._id || kart?.kart?._id;\n if (id) this._hesapCek(id);\n });\n }\n\n private _altBilesen = signal | null>(null);\n altBilesen = this._altBilesen.asReadonly();\n private _hesapYerel = signal(null);\n private _ekleIstek: FikoYTIstekKok | null = null;\n\n /** Hızlı ekle/çıkar kısayolu: miktar + kaydediliyor durumu */\n protected readonly Math = Math; // template'te Math.max için\n hizliMiktar = signal(1);\n _kaydediyor = signal(false);\n\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\n g = computed(() => kutukGeo(+(this.d('en') || 0), +(this.d('boy') || 0), +(this.d('yukseklik') || 0)));\n\n /** Ölçü çipleri: en / boy / yükseklik — yalnızca dolu olanlar, büyükten küçüğe sıralı */\n olculer = computed(() => {\n const birim = this.d('birim') || '';\n const sayi = (v: any) => {\n const n = +(v || 0);\n return n > 0 ? (Math.round(n * 100) / 100).toString() : '';\n };\n const liste = [\n { etiket: 'En', simge: '↔', n: +(this.d('en') || 0), deger: sayi(this.d('en')), renk: '#0ea5e9', birim },\n { etiket: 'Boy', simge: '📏', n: +(this.d('boy') || 0), deger: sayi(this.d('boy')), renk: '#8b5cf6', birim },\n { etiket: 'Yükseklik', simge: '⤒', n: +(this.d('yukseklik') || 0), deger: sayi(this.d('yukseklik')), renk: '#10b981', birim },\n ];\n return liste\n .filter(o => o.deger !== '')\n .sort((a, b) => b.n - a.n); // en büyük ölçü önce\n });\n\n /** _hesap'un birleşik görünümü: DB'den çekilen CANLI veri (silinenler dahil senkron)\n * birincil, denormalize _hesap yalnızca canlı veri gelene kadar geçici gösterilir. */\n hesapYerel = computed(() => {\n const p = this.parametreler();\n const gelen = p?.kart?._hesap ?? this._hesap() ?? p?._hesap ?? {};\n const canli = this._hesapYerel();\n if (canli != null) return canli; // canlı veri varsa esas al\n return gelen || {}; // canlı henüz gelmediyse denormalize yedek\n });\n\n /** Hızlı ekle/çıkar: giris/cikis alt hareket kartını DB'ye yazar ve canlı hesabı tazeler */\n async hizliHareket(tip: 'giris' | 'cikis') {\n const p = this.parametreler();\n const parentId = p?._id || p?.kart?._id;\n if (!parentId || this._kaydediyor()) return;\n const miktar = Math.max(1, +(this.hizliMiktar() || 0));\n this._kaydediyor.set(true);\n try {\n const aciklama = tip === 'giris' ? 'Hızlı ekleme (+)' : 'Hızlı çıkarma (−)';\n const sahip = (this.FikoYT as any)?.kimlik?.aktifKullaniciJson()?._id;\n const kartKimlik = this.FikoYT.fikoIdUret();\n const icerikKimlik = this.FikoYT.fikoIdUret();\n\n const yeniKart: any = {\n _id: kartKimlik, vt: 'FikoYT.sistem.hareketler', yol: 'FikoYT.sistem.hareketler.kalem',\n turu: 'KART', gizlilik: 'Herkese Açık', _uid: parentId, sahip, tarih: new Date(),\n veri: {\n solSimge: { baslik: tip === 'giris' ? '⬆' : '⬇', renkArka: tip === 'giris' ? '#22c55e' : '#ef4444', renkYazi: '#fff' },\n icerikler: [icerikKimlik],\n },\n };\n const yeniIcerik: any = {\n _id: icerikKimlik, _uid: kartKimlik, html: '', aciklama: '', sifre: null,\n ek: {\n turu: 'UYGULAMAICERIK', _secilenSetId: 'kutuk-stok.hareket', bilesen: 'kutuk-stok-hareket',\n parametreler: [\n { ismi: 'tip', degeri: tip },\n { ismi: 'miktar', degeri: miktar },\n { ismi: 'aciklama', degeri: aciklama },\n ],\n tip, miktar, aciklama,\n },\n };\n\n if (!this._ekleIstek) {\n this._ekleIstek = new FikoYTIstekKok({\n metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.ekle',\n onEkOlsun: true, depoModu: false, oncelik: 0,\n gecikmeliCevap: true, gecikmeliCevapSuresi: 500,\n });\n }\n const fdKart = new FormData(); fdKart.append('req_body', JSON.stringify(yeniKart));\n this._ekleIstek.parametreler = fdKart;\n await this._ekleIstek.isteSync();\n const fdIc = new FormData(); fdIc.append('req_body', JSON.stringify(yeniIcerik));\n this._ekleIstek.parametreler = fdIc;\n await this._ekleIstek.isteSync();\n\n // Canlı hesabı tazele (kalan stok + son hareketler anında güncellenir)\n this._hesapYerel.set(null);\n this._hesapCek(parentId);\n } catch (e) {\n console.warn('[KutukStok] Hızlı hareket kaydedilemedi:', parentId, e);\n } finally {\n this._kaydediyor.set(false);\n }\n }\n\n private kalanHesapYok(): boolean {\n const h = this.hesapYerel();\n return h?.kalanStok == null && h?.altHareketler == null;\n }\n\n kalanStok = computed(() => {\n const h = this.hesapYerel().kalanStok;\n return h != null ? Math.round(h * 100) / 100 : 0;\n });\n\n /** Alt hareket kartlarını prepipe'tan al (hesap.altHareketler) */\n altHareketler = computed(() => {\n const raw = this.hesapYerel().altHareketler ?? ([] as any[]);\n // Sıralı stok birikimini koruyarak sayımların fark kaydını araya ekle,\n // ancak fire/giriş zaten gerçek alt-kart olarak kaydedildiği için burada\n // yalnızca görsel fark satırı (DB'ye yazmadan) gösterilir:\n return raw;\n });\n\n /** Prepipe/persist _hesap gelmediyse DB'den taze aggregate ile kalan + son 5 hareketi çek */\n private async _hesapCek(kartId: string) {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = { aggregate: [\n { $match: { _id: kartId } },\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'kutuk-stok.hareket' } },\n { $sort: { _id: 1 } },\n { $project: {\n _id: '$ic._id',\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\n aciklama: { $ifNull: ['$ic.ek.aciklama', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'aciklama'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', ''] } } } ] },\n ek: '$ic.ek',\n } },\n ], as: '_alt' } },\n { $addFields: {\n kalanStok: {\n $reduce: {\n input: '$_alt', initialValue: 0,\n in: { $switch: { branches: [\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\n { case: { $in: ['$$this.tip', ['cikis', 'fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\n ], default: '$$value' } } },\n },\n altHareketler: { $slice: ['$_alt', -5] },\n } },\n { $project: { _alt: 0 } },\n ] };\n const cevap: any = await istek.isteSync();\n const hesap = cevap?.cevap?.sonuc?.[0];\n if (hesap && (hesap.kalanStok != null || hesap.altHareketler)) {\n this._hesapYerel.set({ kalanStok: hesap.kalanStok ?? 0, altHareketler: hesap.altHareketler ?? [] });\n }\n } catch {}\n }\n\n durum = computed(() => {\n const kritik = +(this.d('kritikLimit') || 0);\n const uyari = +(this.d('uyariLimit') || 0);\n const kalan = this.kalanStok();\n if (kritik && kalan <= kritik) return 'kritik';\n if (uyari && kalan <= uyari) return 'uyari';\n return 'normal';\n });\n\n DURUM_BILGI = DURUM_BILGI;\n renk = computed(() => DURUM_BILGI[this.durum()].renk);\n rgb = computed(() => DURUM_BILGI[this.durum()].rgb);\n\n barYuzde = computed(() => {\n const uyari = +(this.d('uyariLimit') || 0);\n const tavan = uyari > 0 ? uyari * 1.6 : Math.max(this.kalanStok(), 1);\n return Math.max(4, Math.min(100, (this.kalanStok() / tavan) * 100));\n });\n}\n\n// ---------------------------------------------------------------------------\n// kutuk-stok DinamikBilesen kaydı\n// prepipe: kalanStok hesabı + son 5 hareketin ek bilgisini altHareketler'e taşır\n// ---------------------------------------------------------------------------\n@DinamikBilesen({\n id: 'kutuk-stok',\n baslik: 'Kütük Stok',\n aciklama: 'Kütük stok kalemi ve kalan miktar takibi',\n ikon: 'inbox',\n kategori: 'kutuk-stok',\n})\nclass KutukStok {\n paylas_kutusu = KutukStokEditComponent;\n paylasilmis_kart = KutukStokKartComponent;\n paylasilmis_kart_sade = KutukStokKartComponent;\n\n hesaplamalar = {\n prepipe: [\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'kutuk-stok.hareket' } },\n { $sort: { _id: 1 } },\n { $project: {\n _id: '$ic._id',\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\n aciklama: { $ifNull: ['$ic.ek.aciklama', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'aciklama'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', ''] } } } ] },\n // ngComponentOutletInputs'a geçecek şekilde ek objesini koru\n ek: '$ic.ek',\n } },\n ], as: '_altHareket' } },\n { $addFields: {\n '_hesap.kalanStok': {\n $reduce: {\n input: '$_altHareket',\n initialValue: 0,\n in: { $switch: { branches: [\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\n { case: { $in: ['$$this.tip', ['cikis','fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\n ], default: '$$value' } },\n },\n },\n '_hesap.sonHareketTipi': { $ifNull: [{ $arrayElemAt: ['$_altHareket.tip', -1] }, null] },\n // Son 5 hareketi alt kart olarak taşı\n '_hesap.altHareketler': { $slice: ['$_altHareket', -5] },\n } },\n { $project: { _altHareket: 0 } },\n ],\n };\n}\n\n// ---------------------------------------------------------------------------\n// Hareket sade kartı\n// ---------------------------------------------------------------------------\n@Component({\n selector: 'kutuk-stok-hareket-kart-sade',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n {{ bilgi().simge }}\n {{ bilgi().etiket }}\n {{ miktarYazimi() }}\n @if (d('aciklama')) { {{ d('aciklama') }} }\n
\n `,\n styles: [`\n .khk { display:flex; align-items:center; gap:8px; padding:6px 10px;\n border-left:3px solid var(--tr,#94a3b8); border-radius:0 8px 8px 0;\n background:color-mix(in srgb, var(--tr) 6%, transparent); }\n .khk-ikon { font-size:16px; }\n .khk-tip { font-size:13px; font-weight:700; color:var(--tr,#333); text-transform:uppercase; letter-spacing:.5px; }\n .khk-miktar { font-size:13px; font-weight:700; font-family:monospace; color:var(--py-metin,#333); }\n .khk-aciklama { font-size:12px; color:var(--py-metin-ikincil,#666); margin-left:auto; }\n `],\n})\nexport class KutukStokHareketKartSadeComponent extends FikoYTKokBilesenComponent {\n parametreler = input();\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n d(alan: string): any { return paramDeger(this.p(), alan); }\n /** Kalan-stok hesabıyla (aggregate `$ic.ek.tip`) birebir aynı kaynaktan tip okunur:\n * önce düz `ek.tip`, yoksa fallback parametreler[]. Buna ek randım. */\n tip = computed(() => {\n const p = this.parametreler();\n const ek = p?.ek || {};\n const d = ek?.tip != null && ek?.tip !== '' ? ek.tip : paramDeger(ek, 'tip');\n return (d || 'giris') as Tip;\n });\n bilgi = computed(() => TIP_BILGI[this.tip()] || TIP_BILGI.giris);\n /** Miktar: çıkış/fire eksi, giriş artı, sayım işaretsiz gösterilir */\n miktarYazimi = computed(() => {\n const m = +(this.d('miktar') || 0);\n const t = this.tip();\n if (t === 'cikis' || t === 'fire') return `-${m}`;\n if (t === 'giris') return `+${m}`;\n return `${m}`; // sayim\n });\n}\n\n// ---------------------------------------------------------------------------\n// Hareket edit bileşeni (paylaş kutusu)\n// ---------------------------------------------------------------------------\n@Component({\n selector: 'kutuk-stok-hareket-edit',\n standalone: true,\n imports: [CommonModule, FormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
🔄 Hareket Tipi
\n
\n @for (t of tipler; track t) {\n \n }\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n `,\n styles: [`\n .khe { display:flex; flex-direction:column; gap:8px; padding:4px 0; }\n .khe-baslik { font-size:13px; font-weight:600; color:var(--py-metin-ucuncul,#999); }\n .khe-butonlar { display:flex; gap:4px; flex-wrap:wrap; }\n .khe-btn { padding:6px 12px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px;\n background:transparent; cursor:pointer; font-size:12px; font-weight:500;\n color:var(--py-metin-ikincil,#666); transition:all .15s;\n &:hover { border-color:var(--tr); color:var(--tr); } }\n .khe-aktif { border-color:var(--tr) !important; color:var(--tr) !important;\n background:color-mix(in srgb, var(--tr) 12%, transparent) !important; font-weight:700; }\n .khe-row { display:flex; gap:10px; }\n .khe-alan { display:flex; flex-direction:column; gap:2px; }\n .khe-etiket { font-weight:500; font-size:12px; color:var(--py-metin-ucuncul, rgba(0,0,0,.45)); }\n .khe-inp { padding:6px 8px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px;\n font-size:13px; background:var(--py-arkaplan,#fff); color:var(--py-metin,#333); }\n `],\n})\nexport class KutukStokHareketEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n tipler: Tip[] = ['giris', 'cikis', 'sayim', 'fire'];\n TIP_BILGI = TIP_BILGI;\n constructor() { super(); }\n p = computed(() => this.parametreler()?.ek || {});\n\n /** Değeri hem düz alana hem ek.parametreler[] içindeki ilgili parametreye yazar.\n * paramDeger(array öncelikli) ve Mongo lookup'lar ($ic.ek.tip) böylece tutarlı okur. */\n private parametreYaz(alan: string, deger: any) {\n const params = this.parametreler();\n if (!params?.ek) return;\n const ek = params.ek;\n ek[alan] = deger;\n if (Array.isArray(ek.parametreler)) {\n const mevcut = ek.parametreler.find((x: any) => x.ismi === alan);\n if (mevcut) mevcut.degeri = deger;\n }\n this.parametreler.set({ ...params });\n }\n\n sec(tip: Tip) { this.parametreYaz('tip', tip); }\n guncelle(alan: string, deger: any) { this.parametreYaz(alan, deger); }\n}\n\n// ---------------------------------------------------------------------------\n// kutuk-stok-hareket DinamikBilesen kaydı\n// ---------------------------------------------------------------------------\n@DinamikBilesen({\n id: 'kutuk-stok-hareket',\n baslik: 'Kütük Stok Hareketi',\n aciklama: 'Giriş / Çıkış / Sayım / Fire hareketi',\n ikon: 'swap',\n kategori: 'kutuk-stok',\n})\nclass KutukStokHareket {\n paylas_kutusu = KutukStokHareketEditComponent;\n paylasilmis_kart_sade = KutukStokHareketKartSadeComponent;\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, input, model, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\n\r\ntype Durum = 'kritik' | 'uyari' | 'normal';\r\nconst DURUM_BILGI: Record = {\r\n kritik: { etiket: 'Kritik', renk: '#ef4444', rgb: '239,68,68' },\r\n uyari: { etiket: 'Uyarı', renk: '#f59e0b', rgb: '245,158,11' },\r\n normal: { etiket: 'Normal', renk: '#22c55e', rgb: '34,197,94' },\r\n};\r\n\r\n// ---------------------------------------------------------------------------\r\n// Edit (paylaş kutusu): kütük-stok ile paylaşılmış kartları listeler,\r\n// seçilenler ek.seciliKutukler dizisine yazılır.\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'kutuk-stok-pano-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
🪵 Panoya eklenecek kütükleri seçin
\r\n \r\n @if (_yukleniyor()) {
Yükleniyor...
}\r\n @else if (!_tumKutukler().length) {
Kütük stok kartı bulunamadı. Önce kütük-stok ile kart paylaşın.
}\r\n @else {\r\n
\r\n @for (k of _filtreliKutukler(); track k._id) {\r\n \r\n }\r\n
\r\n
{{ _seciliSayi() }} kütük seçildi
\r\n }\r\n
\r\n `,\r\n styles: [`\r\n .kpe { display:flex; flex-direction:column; gap:8px; }\r\n .kpe-baslik { font-weight:600; font-size:12px; color:var(--py-metin,#333); }\r\n .kpe-bilgi { font-size:11px; color:var(--py-metin-ikincil,#888); }\r\n .kpe-liste { display:flex; flex-direction:column; gap:4px; max-height:240px; overflow:auto; }\r\n .kpe-kalem { display:flex; align-items:center; gap:8px; padding:5px 8px; border-radius:6px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); cursor:pointer; font-size:12px; }\r\n .kpe-kalem:hover { background:rgba(0,0,0,.03); }\r\n .kpe-secili { border-color:#22c55e; background:rgba(34,197,94,.07); }\r\n .kpe-ad { flex:1; color:var(--py-metin,#333); }\r\n .kpe-stok { font-weight:700; font-size:11px; color:var(--py-metin-ikincil,#666); }\r\n `],\r\n})\r\nexport class KutukStokPanoEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() {\r\n super();\r\n effect(() => { this._kutukleriCek(); }, { allowSignalWrites: true });\r\n }\r\n\r\n private _istek: FikoYTIstekKok | null = null;\r\n _tumKutukler = signal([]);\r\n _yukleniyor = signal(false);\r\n _filtre = signal('');\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n /** Seçili kütükleri ek.seciliKutukler dizisinde tutar */\r\n _seciliKutukler = computed(() => {\r\n const v = this.p()?.seciliKutukler;\r\n return Array.isArray(v) ? v : [];\r\n });\r\n _seciliSayi = computed(() => this._seciliKutukler().length);\r\n\r\n _filtreliKutukler = computed(() => {\r\n const f = (this._filtre() || '').toLocaleLowerCase('tr');\r\n if (!f) return this._tumKutukler();\r\n return this._tumKutukler().filter(k =>\r\n (k.isim || k.baslik || '').toLocaleLowerCase('tr').includes(f));\r\n });\r\n\r\n _seciliMi(id: string) { return this._seciliKutukler().includes(id); }\r\n\r\n _toggle(id: string) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n const mevcut = [...this._seciliKutukler()];\r\n const i = mevcut.indexOf(id);\r\n if (i >= 0) mevcut.splice(i, 1); else mevcut.push(id);\r\n params.ek.seciliKutukler = mevcut;\r\n this.parametreler.set({ ...params });\r\n }\r\n\r\n /** Kütük-stok seti ile paylaşılmış kartları canlı listede göster */\r\n private async _kutukleriCek() {\r\n this._yukleniyor.set(true);\r\n try {\r\n if (!this._istek) this._istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n this._istek.parametreler = { aggregate: [\r\n { $match: { turu: 'KART', silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'kutuk-stok' } },\r\n { $project: { _id: 1, isim: '$ic.ek.isim', baslik: '$veri.kurdela.baslik', birim: '$ic.ek.birim' } },\r\n { $sort: { _id: -1 } },\r\n ] };\r\n const cevap: any = await this._istek.isteSync();\r\n this._tumKutukler.set(cevap?.cevap?.sonuc ?? []);\r\n } catch (e) {\r\n console.warn('[KutukStokPano] Kütük listesi alınamadı:', e);\r\n } finally {\r\n this._yukleniyor.set(false);\r\n }\r\n }\r\n}\r\n\r\n\r\n// ---------------------------------------------------------------------------\r\n// Görüntü kartı: seçili kütüklerin stok durumunu grid (döşeme) olarak gösterir\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'kutuk-stok-pano-kart',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n @if (!_kutukler().length) {\r\n
🪵 Henüz kütük seçilmedi
\r\n } @else {\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n @if (_filtreli().length === 0) {\r\n
Bu filtrede kütük yok
\r\n } @else if (_tabloMi()) {\r\n \r\n \r\n \r\n \r\n @for (k of _filtreli(); track k._id) {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
KütükStokBirimLimitlerDurum
{{ k.isim || k.baslik || 'İsimsiz' }}{{ k._kalan }}{{ k.birim || 'adet' }}k: {{ k.kritikLimit ?? '—' }} · u: {{ k.uyariLimit ?? '—' }}{{ k._etiket }}
\r\n } @else {\r\n \r\n
\r\n @for (k of _filtreli(); track k._id) {\r\n
\r\n
\r\n {{ k.isim || k.baslik || 'İsimsiz' }}\r\n {{ k._etiket }}\r\n
\r\n
{{ k._kalan }} {{ k.birim || 'adet' }}
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n }\r\n
\r\n `,\r\n styles: [`\r\n .kpp { display:block; }\r\n .kpp-bos { padding:16px; text-align:center; font-size:12px; color:var(--py-metin-ikincil,#999);\r\n border:1px dashed var(--py-kenarlik,#e5e7eb); border-radius:8px; }\r\n .kpp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:8px; }\r\n .kpp-araclar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }\r\n .kpp-filtreler { display:flex; gap:4px; flex-wrap:wrap; }\r\n .kpp-fbtn { padding:3px 10px; font-size:11px; font-weight:600; cursor:pointer;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:999px;\r\n background:var(--py-arkaplan,#fff); color:var(--py-metin,#444); transition:background .15s; }\r\n .kpp-fbtn:hover { background:rgba(0,0,0,.04); }\r\n .kpp-fbtn.kpp-kritik.kpp-faktif { background:#ef4444; border-color:#ef4444; color:#fff; }\r\n .kpp-fbtn.kpp-bitmis.kpp-faktif { background:#f59e0b; border-color:#f59e0b; color:#fff; }\r\n .kpp-fbtn.kpp-faktif:not(.kpp-kritik):not(.kpp-bitmis) { background:#22c55e; border-color:#22c55e; color:#fff; }\r\n .kpp-gorunum { padding:3px 8px; font-size:13px; cursor:pointer; border-radius:6px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); background:var(--py-arkaplan,#fff); }\r\n .kpp-gorunum:hover { background:rgba(0,0,0,.04); }\r\n .kpp-table { width:100%; border-collapse:collapse; font-size:12px; }\r\n .kpp-table th { text-align:left; font-size:10px; font-weight:700; text-transform:uppercase;\r\n letter-spacing:.05em; color:var(--py-metin-ucuncul,#999); padding:4px 8px;\r\n border-bottom:1px solid var(--py-kenarlik,#e5e7eb); }\r\n .kpp-table td { padding:5px 8px; border-bottom:1px solid var(--py-kenarlik,#f0f0f0);\r\n color:var(--py-metin,#333); }\r\n .kpp-table tr:hover td { background:rgba(0,0,0,.02); }\r\n .kpp-t-ad { font-weight:700; }\r\n .kpp-t-stok { font-weight:800; font-family:monospace; font-size:13px; }\r\n .kpp-t-limit { font-size:11px; color:var(--py-metin-ikincil,#888); }\r\n .kpp-kutu { display:flex; flex-direction:column; gap:4px; padding:8px 10px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); border-left:3px solid var(--kc,#22c55e);\r\n border-radius:8px; background:var(--py-arkaplan,#fff); }\r\n .kpp-ust { display:flex; align-items:center; justify-content:space-between; gap:4px; }\r\n .kpp-ad { font-size:12px; font-weight:700; color:var(--py-metin,#333);\r\n overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\r\n .kpp-rozet { font-size:9px; font-weight:700; text-transform:uppercase; padding:1px 5px; border-radius:4px; white-space:nowrap; }\r\n .kpp-stok { font-size:18px; font-weight:800; color:var(--py-metin,#222); }\r\n .kpp-birim { font-size:10px; font-weight:500; color:var(--py-metin-ikincil,#888); }\r\n .kpp-bar { height:4px; border-radius:2px; background:rgba(0,0,0,.06); overflow:hidden; }\r\n .kpp-bar-ic { height:100%; border-radius:2px; transition:width .5s; }\r\n `],\r\n})\r\nexport class KutukStokPanoKartComponent extends FikoYTKokBilesenComponent {\r\n parametreler = input();\r\n constructor() {\r\n super();\r\n effect(() => {\r\n const ids = this._seciliIds();\r\n if (ids.length) this._stoklariCek(ids);\r\n });\r\n }\r\n\r\n private _istek: FikoYTIstekKok | null = null;\r\n private _stoklar = signal([]);\r\n\r\n _seciliIds = computed(() => {\r\n const v = this.parametreler()?.ek?.seciliKutukler;\r\n return Array.isArray(v) ? v : [];\r\n });\r\n\r\n _kutukler = computed(() => this._stoklar());\r\n\r\n /** Filtre + görünüm durumu */\r\n _filtre = signal<'tumu' | 'kritik' | 'bitmis'>('tumu');\r\n _tabloMi = signal(false);\r\n\r\n _sayilar = computed(() => {\r\n const l = this._kutukler();\r\n return {\r\n tumu: l.length,\r\n kritik: l.filter(k => k._etiket === 'Kritik').length,\r\n bitmis: l.filter(k => k._kalan <= 0).length,\r\n };\r\n });\r\n\r\n _filtreli = computed(() => {\r\n const f = this._filtre();\r\n const l = this._kutukler();\r\n if (f === 'kritik') return l.filter(k => k._etiket === 'Kritik');\r\n if (f === 'bitmis') return l.filter(k => k._kalan <= 0);\r\n return l;\r\n });\r\n\r\n\r\n /** Seçili her kütüğün canlı stok durumunu tek aggregate ile çeker */\r\n private async _stoklariCek(ids: string[]) {\r\n try {\r\n if (!this._istek) this._istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n this._istek.parametreler = { aggregate: [\r\n { $match: { _id: { $in: ids }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\r\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'kutuk-stok.hareket' } },\r\n { $project: {\r\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\r\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\r\n } },\r\n ], as: '_h' } },\r\n { $addFields: {\r\n _kalan: { $round: [{ $reduce: {\r\n input: '$_h', initialValue: 0,\r\n in: { $switch: { branches: [\r\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\r\n { case: { $in: ['$$this.tip', ['cikis', 'fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\r\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\r\n ], default: '$$value' } } },\r\n }, 0] },\r\n } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic2' } },\r\n { $unwind: { path: '$ic2', preserveNullAndEmptyArrays: true } },\r\n { $match: { $or: [ { ic2: null }, { 'ic2.ek._secilenSetId': 'kutuk-stok' } ] } },\r\n { $project: {\r\n _id: 1, isim: '$ic2.ek.isim', baslik: '$veri.kurdela.baslik',\r\n birim: '$ic2.ek.birim', uyariLimit: '$ic2.ek.uyariLimit', kritikLimit: '$ic2.ek.kritikLimit',\r\n _kalan: 1,\r\n } },\r\n ] };\r\n const cevap: any = await this._istek.isteSync();\r\n const liste: any[] = (cevap?.cevap?.sonuc ?? []).map((k: any) => {\r\n const kalan = +(k._kalan ?? 0);\r\n const kritik = +(k.kritikLimit || 0);\r\n const uyari = +(k.uyariLimit || 0);\r\n const durum: Durum = (kritik && kalan <= kritik) ? 'kritik' : (uyari && kalan <= uyari) ? 'uyari' : 'normal';\r\n const b = DURUM_BILGI[durum];\r\n const tavan = uyari > 0 ? uyari * 1.6 : Math.max(kalan, 1);\r\n return {\r\n ...k,\r\n _kalan: kalan,\r\n _etiket: b.etiket, _renk: b.renk, _rgb: b.rgb,\r\n _yuzde: Math.max(4, Math.min(100, (kalan / tavan) * 100)),\r\n };\r\n });\r\n // En düşük stok başa gelecek şekilde sırala\r\n liste.sort((a, b) => a._kalan - b._kalan);\r\n this._stoklar.set(liste);\r\n } catch (e) {\r\n console.warn('[KutukStokPano] Stok bilgisi alınamadı:', e);\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// kutuk-stok-pano DinamikBilesen kaydı\r\n// ---------------------------------------------------------------------------\r\n@DinamikBilesen({\r\n id: 'kutuk-stok-pano',\r\n baslik: 'Kütük Stok Panosu',\r\n aciklama: 'Seçilen kütüklerin stok durumunu grid olarak gösterir',\r\n ikon: 'grid',\r\n kategori: 'kutuk-stok',\r\n})\r\nclass KutukStokPano {\r\n paylas_kutusu = KutukStokPanoEditComponent;\r\n paylasilmis_kart = KutukStokPanoKartComponent;\r\n paylasilmis_kart_sade = KutukStokPanoKartComponent;\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { OzelAlanDuzenleyiciComponent } from '@service/fikoyt-ui/src/lib/ozel-alan/ozel-alan-duzenleyici.component';\nimport { IOzelAlan } from '@service/fikoyt-ui/src/lib/ozel-alan/ozel-alan.types';\n\n// ---------------------------------------------------------------------------\n// genel-stok edit (paylaş kutusu): kullanıcı isim/birim/limit girer ve\n// istediği kadar \"Özel Alan\" (ad: değer) ekleyip herhangi bir ürünü takip\n// edebilir.\n//\n// VERİ YAPISI:\n// parametreler() = { kart, icerik, ek }\n// Gerçek veri: params.icerik.ek (params.ek aynı verinin kopyası)\n// ek.parametreler[] = sistem tanım dizisi — [{ismi, baslik, turu, degeri}]\n// → isim/birim/limit/notlar buradan okunur/yazılır (degeri alanı)\n// ek.ozelAlanlar[] = kullanıcı dinamik alanları [{ad, deger}]\n// → buradan okunur/yazılır, ek.parametreler ile KARISTIRILMAMALI\n//\n// YAZMA KURALI: her zaman setEkGuncelle() ile deep-clone + üç kopya senkron\n// ---------------------------------------------------------------------------\n@Component({\n selector: 'genel-stok-edit',\n standalone: true,\n imports: [FormsModule, NzInputModule, NzButtonModule, NzIconModule, OzelAlanDuzenleyiciComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n Bu miktarın altına inince \"Uyarı\" rozeti gösterilir\n
\n
\n \n \n Bu miktarın altına inince \"Kritik\" rozeti gösterilir\n
\n
\n\n \n\n
\n
\n \n \n
\n
\n
\n `,\n styles: [`\n .ge { display:flex; flex-direction:column; gap:8px; }\n .ge-row { display:flex; gap:10px; }\n .ge-alan { display:flex; flex-direction:column; gap:2px; flex:1; padding:4px 0; }\n .ge-etiket { font-weight:500; font-size:12px; color:var(--py-metin-ucuncul, rgba(0,0,0,.45)); letter-spacing:-0.1px; }\n .ge-aciklama { font-size:11px; color:var(--py-metin-devre-disi, rgba(0,0,0,.25)); margin-top:1px; }\n\n `],\n})\nexport class GenelStokEditComponent extends FikoYTKokBilesenComponent {\n parametreler = model();\n constructor() { super(); }\n\n // ── Okuma ────────────────────────────────────────────────────────────────\n\n /** Aktif ek objesi */\n p = computed(() => this.parametreler()?.icerik?.ek || this.parametreler()?.ek || {});\n\n /** ek.parametreler[] dizisinden ismi'ye göre degeri döndürür */\n paramDeger(ismi: string): any {\n const liste: any[] = this.p()?.parametreler;\n if (!Array.isArray(liste)) return undefined;\n return liste.find(p => p.ismi === ismi)?.degeri;\n }\n\n /** Kullanıcı dinamik alanları: ek.ozelAlanlar[] — tür bazlı (metin/sayı/tarih/onay/seçim/renk) */\n ozelAlanlar = computed(() => {\n const v = this.p()?.ozelAlanlar;\n return Array.isArray(v) ? v : [];\n });\n\n // ── Yazma altyapısı ──────────────────────────────────────────────────────\n\n /**\n * Deep-clone + üç kopya senkron güncelleme.\n * Angular OnPush signal sistemi referans eşitliği (===) ile çalışır;\n * shallow spread ({ ...params }) iç objelerin referansını değiştirmez,\n * computed'lar tetiklenmez. JSON clone tüm referansları kırar.\n */\n private setEkGuncelle(params: any, fn: (ek: any) => void): any {\n const yeni = JSON.parse(JSON.stringify(params));\n const ek = yeni?.icerik?.ek ?? yeni?.ek;\n if (!ek) return yeni;\n fn(ek);\n if (yeni.icerik?.ek) yeni.icerik.ek = ek;\n if (yeni.ek) yeni.ek = ek;\n if (yeni.kart?.veri?.icerikler?.[0]?.ek) yeni.kart.veri.icerikler[0].ek = ek;\n return yeni;\n }\n\n // ── Parametre (isim/birim/limit/notlar) ──────────────────────────────────\n\n /**\n * ek.parametreler[i].degeri'ni günceller.\n * Parametre bulunamazsa sessizce geçer.\n */\n paramGuncelle(ismi: string, deger: any) {\n const params = this.parametreler();\n if (!params) return;\n this.parametreler.set(this.setEkGuncelle(params, ek => {\n if (!Array.isArray(ek.parametreler)) return;\n const p = ek.parametreler.find((x: any) => x.ismi === ismi);\n if (p) p.degeri = deger;\n }));\n this.CD.detectChanges();\n }\n\n // ── Özel Alanlar (ek.ozelAlanlar[]) ─────────────────────────────────────\n // ozel-alan-duzenleyici bileşeni her değişiklikte TAM yeni diziyi verir;\n // burada tek işimiz deep-clone + üç kopya senkron yazmak.\n\n ozelAlanlarKaydet(yeniListe: IOzelAlan[]) {\n const params = this.parametreler();\n if (!params) return;\n this.parametreler.set(this.setEkGuncelle(params, ek => {\n ek.ozelAlanlar = yeniListe;\n }));\n this.CD.detectChanges();\n }\n}\n","import { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\r\nimport {\r\n ChangeDetectionStrategy, Component, computed, effect,\r\n input, model, signal, Type,\r\n} from '@angular/core';\r\nimport { CommonModule, NgComponentOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { paramDeger } from '@/src/app/shared/utils/param-deger.utils';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { DinamikBilesenRegistry } from '@service/fikoyt-ui/src/lib/dinamik-bilesen/dinamik-bilesen.registry';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\nimport { GenelStokEditComponent } from './genel-stok-edit.component';\r\nimport { OzelAlanGoruntuleyiciComponent } from '@service/fikoyt-ui/src/lib/ozel-alan/ozel-alan-goruntuleyici.component';\r\nimport { IOzelAlan } from '@service/fikoyt-ui/src/lib/ozel-alan/ozel-alan.types';\r\n\r\ntype Durum = 'kritik' | 'uyari' | 'normal';\r\nconst DURUM_BILGI: Record = {\r\n kritik: { etiket: 'Kritik', renk: '#ef4444', rgb: '239,68,68' },\r\n uyari: { etiket: 'Uyarı', renk: '#f59e0b', rgb: '245,158,11' },\r\n normal: { etiket: 'Normal', renk: '#22c55e', rgb: '34,197,94' },\r\n};\r\n\r\ntype Tip = 'giris' | 'cikis' | 'sayim' | 'fire';\r\nconst TIP_BILGI: Record = {\r\n giris: { etiket: 'Giriş', simge: '⬆', renk: '#22c55e', isaret: '+' },\r\n cikis: { etiket: 'Çıkış', simge: '⬇', renk: '#ef4444', isaret: '−' },\r\n sayim: { etiket: 'Sayım', simge: '⚖', renk: '#3b82f6', isaret: '=' },\r\n fire: { etiket: 'Fire', simge: '⚠', renk: '#f59e0b', isaret: '−' },\r\n};\r\n\r\n// ---------------------------------------------------------------------------\r\n// genel-stok: kütük-stok.dinamik-bilesen.ts ile AYNI hareket/hesap desenini\r\n// kullanır ama kütüğe özel değildir — kullanıcı isim/birim/limit + istediği\r\n// kadar \"Özel Alan\" (ad:değer) tanımlayarak herhangi bir ürünü takip eder.\r\n// kutuk-stok dosyalarına dokunulmamıştır; tamamen ayrı id/bileşen setiyle\r\n// (genel-stok / genel-stok-hareket) kayıt olur.\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'genel-stok-kart',\r\n standalone: true,\r\n imports: [CommonModule, NgComponentOutlet, OzelAlanGoruntuleyiciComponent],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
\r\n 📦 {{ d('isim') || 'İsimsiz Ürün' }}\r\n {{ DURUM_BILGI[durum()].etiket }}\r\n
\r\n\r\n \r\n\r\n
\r\n {{ kalanStok() }} {{ d('birim') || 'adet' }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
kritik {{ d('kritikLimit') || '—' }} · uyarı {{ d('uyariLimit') || '—' }}
\r\n\r\n @if (altHareketler().length) {\r\n
Son Hareketler
\r\n
\r\n @for (altKart of altHareketler(); track altKart._id) {\r\n @if (altBilesen()) {\r\n \r\n \r\n }\r\n }\r\n
\r\n }\r\n
\r\n `,\r\n styles: [`\r\n .gsk { display:flex; flex-direction:column; gap:6px; padding:10px 12px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:10px; background:var(--py-arkaplan,#fff); }\r\n .gsk-ust { display:flex; align-items:center; justify-content:space-between; gap:8px; }\r\n .gsk-ad { font-size:13px; font-weight:700; color:var(--py-metin,#333); }\r\n .gsk-rozet { padding:2px 8px; border-radius:4px; font-size:10px; font-weight:700;\r\n text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }\r\n .gsk-miktar { font-size:20px; font-weight:800; color:var(--py-metin,#222); }\r\n .gsk-birim { font-size:11px; font-weight:500; color:var(--py-metin-ikincil,#888); }\r\n .gsk-bar { height:5px; border-radius:3px; background:rgba(0,0,0,.06); overflow:hidden; }\r\n .gsk-bar-ic { height:100%; border-radius:3px; transition:width .5s; }\r\n .gsk-limit-etiket { font-size:10px; color:var(--py-metin-ucuncul,#999); }\r\n .gsk-alt-baslik { font-size:10px; font-weight:700; text-transform:uppercase;\r\n letter-spacing:.06em; color:var(--py-metin-ucuncul,#999); margin-top:4px; }\r\n .gsk-alt-liste { display:flex; flex-direction:column; gap:4px; }\r\n .gsk-hizli { display:flex; align-items:center; justify-content:space-between; gap:8px; }\r\n .gsk-hizli-sag { display:flex; align-items:center; gap:4px; }\r\n .gsk-hizli-adet { width:46px; padding:2px 4px; font-size:12px; text-align:center;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px;\r\n background:var(--py-arkaplan,#fff); color:var(--py-metin,#333); }\r\n .gsk-hbtn { width:26px; height:26px; border:none; border-radius:8px; cursor:pointer;\r\n font-size:15px; font-weight:800; line-height:1; color:#fff;\r\n display:flex; align-items:center; justify-content:center;\r\n transition:filter .15s, transform .05s; }\r\n .gsk-hbtn:hover:not(:disabled) { filter:brightness(1.12); }\r\n .gsk-hbtn:active:not(:disabled) { transform:scale(.92); }\r\n .gsk-hbtn:disabled { opacity:.45; cursor:not-allowed; }\r\n .gsk-arti { background:#22c55e; }\r\n .gsk-eksi { background:#ef4444; }\r\n `],\r\n})\r\nexport class GenelStokKartComponent extends FikoYTKokBilesenComponent {\r\n parametreler = input();\r\n _hesap = input();\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n DinamikBilesenRegistry.goruntumAl('genel-stok-hareket', 'paylasilmis_kart_sade')\r\n .then(tip => this._altBilesen.set(tip));\r\n }, { allowSignalWrites: true });\r\n effect(() => {\r\n const kart = this.parametreler();\r\n const id = kart?._id || kart?.kart?._id;\r\n if (id) this._hesapCek(id);\r\n });\r\n }\r\n\r\n private _altBilesen = signal | null>(null);\r\n altBilesen = this._altBilesen.asReadonly();\r\n private _hesapYerel = signal(null);\r\n private _ekleIstek: FikoYTIstekKok | null = null;\r\n\r\n protected readonly Math = Math;\r\n hizliMiktar = signal(1);\r\n _kaydediyor = signal(false);\r\n\r\n d(ismi: string) { return paramDeger(this.parametreler()?.ek, ismi); }\r\n\r\n /** Kullanıcının serbestçe eklediği alanlar — sabit şema yok, tür bazlı (metin/sayı/tarih/onay/seçim/renk) */\r\n ozelAlanlar = computed(() => {\r\n const v = this.parametreler()?.ek?.ozelAlanlar;\r\n return Array.isArray(v) ? v.filter((a: any) => a?.ad) : [];\r\n });\r\n\r\n hesapYerel = computed(() => {\r\n const p = this.parametreler();\r\n const gelen = p?.kart?._hesap ?? this._hesap() ?? p?._hesap ?? {};\r\n const canli = this._hesapYerel();\r\n if (canli != null) return canli;\r\n return gelen || {};\r\n });\r\n\r\n async hizliHareket(tip: 'giris' | 'cikis') {\r\n const p = this.parametreler();\r\n const parentId = p?._id || p?.kart?._id;\r\n if (!parentId || this._kaydediyor()) return;\r\n const miktar = Math.max(1, +(this.hizliMiktar() || 0));\r\n this._kaydediyor.set(true);\r\n try {\r\n const aciklama = tip === 'giris' ? 'Hızlı ekleme (+)' : 'Hızlı çıkarma (−)';\r\n const sahip = (this.FikoYT as any)?.kimlik?.aktifKullaniciJson()?._id;\r\n const kartKimlik = this.FikoYT.fikoIdUret();\r\n const icerikKimlik = this.FikoYT.fikoIdUret();\r\n\r\n const yeniKart: any = {\r\n _id: kartKimlik, vt: 'FikoYT.sistem.hareketler', yol: 'FikoYT.sistem.hareketler.kalem',\r\n turu: 'KART', gizlilik: 'Herkese Açık', _uid: parentId, sahip, tarih: new Date(),\r\n veri: {\r\n solSimge: { baslik: tip === 'giris' ? '⬆' : '⬇', renkArka: tip === 'giris' ? '#22c55e' : '#ef4444', renkYazi: '#fff' },\r\n icerikler: [icerikKimlik],\r\n },\r\n };\r\n const yeniIcerik: any = {\r\n _id: icerikKimlik, _uid: kartKimlik, html: '', aciklama: '', sifre: null,\r\n ek: {\r\n turu: 'UYGULAMAICERIK', _secilenSetId: 'genel-stok.hareket', bilesen: 'genel-stok-hareket',\r\n parametreler: [\r\n { ismi: 'tip', degeri: tip },\r\n { ismi: 'miktar', degeri: miktar },\r\n { ismi: 'aciklama', degeri: aciklama },\r\n ],\r\n tip, miktar, aciklama,\r\n },\r\n };\r\n\r\n if (!this._ekleIstek) {\r\n this._ekleIstek = new FikoYTIstekKok({\r\n metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.ekle',\r\n onEkOlsun: true, depoModu: false, oncelik: 0,\r\n gecikmeliCevap: true, gecikmeliCevapSuresi: 500,\r\n });\r\n }\r\n const fdKart = new FormData(); fdKart.append('req_body', JSON.stringify(yeniKart));\r\n this._ekleIstek.parametreler = fdKart;\r\n await this._ekleIstek.isteSync();\r\n const fdIc = new FormData(); fdIc.append('req_body', JSON.stringify(yeniIcerik));\r\n this._ekleIstek.parametreler = fdIc;\r\n await this._ekleIstek.isteSync();\r\n\r\n this._hesapYerel.set(null);\r\n this._hesapCek(parentId);\r\n } catch (e) {\r\n console.warn('[GenelStok] Hızlı hareket kaydedilemedi:', parentId, e);\r\n } finally {\r\n this._kaydediyor.set(false);\r\n }\r\n }\r\n\r\n kalanStok = computed(() => {\r\n const h = this.hesapYerel().kalanStok;\r\n return h != null ? Math.round(h * 100) / 100 : 0;\r\n });\r\n\r\n altHareketler = computed(() => this.hesapYerel().altHareketler ?? []);\r\n\r\n /** Prepipe/persist _hesap gelmediyse DB'den taze aggregate ile kalan + son 5 hareketi çek */\r\n private async _hesapCek(kartId: string) {\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: { _id: kartId } },\r\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\r\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'genel-stok.hareket' } },\r\n { $sort: { _id: 1 } },\r\n { $project: {\r\n _id: '$ic._id',\r\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\r\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\r\n aciklama: { $ifNull: ['$ic.ek.aciklama', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'aciklama'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', ''] } } } ] },\r\n ek: '$ic.ek',\r\n } },\r\n ], as: '_alt' } },\r\n { $addFields: {\r\n kalanStok: {\r\n $reduce: {\r\n input: '$_alt', initialValue: 0,\r\n in: { $switch: { branches: [\r\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\r\n { case: { $in: ['$$this.tip', ['cikis', 'fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\r\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\r\n ], default: '$$value' } } },\r\n },\r\n altHareketler: { $slice: ['$_alt', -5] },\r\n } },\r\n { $project: { _alt: 0 } },\r\n ] };\r\n const cevap: any = await istek.isteSync();\r\n const hesap = cevap?.cevap?.sonuc?.[0];\r\n if (hesap && (hesap.kalanStok != null || hesap.altHareketler)) {\r\n this._hesapYerel.set({ kalanStok: hesap.kalanStok ?? 0, altHareketler: hesap.altHareketler ?? [] });\r\n }\r\n } catch {}\r\n }\r\n\r\n durum = computed(() => {\r\n const kritik = +(this.d('kritikLimit') || 0);\r\n const uyari = +(this.d('uyariLimit') || 0);\r\n const kalan = this.kalanStok();\r\n if (kritik && kalan <= kritik) return 'kritik';\r\n if (uyari && kalan <= uyari) return 'uyari';\r\n return 'normal';\r\n });\r\n\r\n DURUM_BILGI = DURUM_BILGI;\r\n renk = computed(() => DURUM_BILGI[this.durum()].renk);\r\n rgb = computed(() => DURUM_BILGI[this.durum()].rgb);\r\n\r\n barYuzde = computed(() => {\r\n const uyari = +(this.d('uyariLimit') || 0);\r\n const tavan = uyari > 0 ? uyari * 1.6 : Math.max(this.kalanStok(), 1);\r\n return Math.max(4, Math.min(100, (this.kalanStok() / tavan) * 100));\r\n });\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// genel-stok DinamikBilesen kaydı\r\n// ---------------------------------------------------------------------------\r\n@DinamikBilesen({\r\n id: 'genel-stok',\r\n baslik: 'Genel Stok',\r\n aciklama: 'Kullanıcı tanımlı özel alanlarla genel amaçlı stok kalemi ve kalan miktar takibi',\r\n ikon: 'appstore',\r\n kategori: 'genel-stok',\r\n})\r\nclass GenelStok {\r\n paylas_kutusu = GenelStokEditComponent;\r\n paylasilmis_kart = GenelStokKartComponent;\r\n paylasilmis_kart_sade = GenelStokKartComponent;\r\n\r\n hesaplamalar = {\r\n prepipe: [\r\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\r\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'genel-stok.hareket' } },\r\n { $sort: { _id: 1 } },\r\n { $project: {\r\n _id: '$ic._id',\r\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\r\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\r\n aciklama: { $ifNull: ['$ic.ek.aciklama', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'aciklama'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', ''] } } } ] },\r\n ek: '$ic.ek',\r\n } },\r\n ], as: '_altHareket' } },\r\n { $addFields: {\r\n '_hesap.kalanStok': {\r\n $reduce: {\r\n input: '$_altHareket',\r\n initialValue: 0,\r\n in: { $switch: { branches: [\r\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\r\n { case: { $in: ['$$this.tip', ['cikis','fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\r\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\r\n ], default: '$$value' } },\r\n },\r\n },\r\n '_hesap.sonHareketTipi': { $ifNull: [{ $arrayElemAt: ['$_altHareket.tip', -1] }, null] },\r\n '_hesap.altHareketler': { $slice: ['$_altHareket', -5] },\r\n } },\r\n { $project: { _altHareket: 0 } },\r\n ],\r\n };\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Hareket sade kartı\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'genel-stok-hareket-kart-sade',\r\n standalone: true,\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n {{ bilgi().simge }}\r\n {{ bilgi().etiket }}\r\n {{ miktarYazimi() }}\r\n @if (d('aciklama')) { {{ d('aciklama') }} }\r\n
\r\n `,\r\n styles: [`\r\n .gshk { display:flex; align-items:center; gap:8px; padding:6px 10px;\r\n border-left:3px solid var(--tr,#94a3b8); border-radius:0 8px 8px 0;\r\n background:color-mix(in srgb, var(--tr) 6%, transparent); }\r\n .gshk-ikon { font-size:16px; }\r\n .gshk-tip { font-size:13px; font-weight:700; color:var(--tr,#333); text-transform:uppercase; letter-spacing:.5px; }\r\n .gshk-miktar { font-size:13px; font-weight:700; font-family:monospace; color:var(--py-metin,#333); }\r\n .gshk-aciklama { font-size:12px; color:var(--py-metin-ikincil,#666); margin-left:auto; }\r\n `],\r\n})\r\nexport class GenelStokHareketKartSadeComponent extends FikoYTKokBilesenComponent {\r\n parametreler = input();\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n d(alan: string): any { return paramDeger(this.p(), alan); }\r\n tip = computed(() => {\r\n const p = this.parametreler();\r\n const ek = p?.ek || {};\r\n const d = ek?.tip != null && ek?.tip !== '' ? ek.tip : paramDeger(ek, 'tip');\r\n return (d || 'giris') as Tip;\r\n });\r\n bilgi = computed(() => TIP_BILGI[this.tip()] || TIP_BILGI.giris);\r\n miktarYazimi = computed(() => {\r\n const m = +(this.d('miktar') || 0);\r\n const t = this.tip();\r\n if (t === 'cikis' || t === 'fire') return `-${m}`;\r\n if (t === 'giris') return `+${m}`;\r\n return `${m}`;\r\n });\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Hareket edit bileşeni (paylaş kutusu)\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'genel-stok-hareket-edit',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
🔄 Hareket Tipi
\r\n
\r\n @for (t of tipler; track t) {\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 styles: [`\r\n .gshe { display:flex; flex-direction:column; gap:8px; padding:4px 0; }\r\n .gshe-baslik { font-size:13px; font-weight:600; color:var(--py-metin-ucuncul,#999); }\r\n .gshe-butonlar { display:flex; gap:4px; flex-wrap:wrap; }\r\n .gshe-btn { padding:6px 12px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px;\r\n background:transparent; cursor:pointer; font-size:12px; font-weight:500;\r\n color:var(--py-metin-ikincil,#666); transition:all .15s;\r\n &:hover { border-color:var(--tr); color:var(--tr); } }\r\n .gshe-aktif { border-color:var(--tr) !important; color:var(--tr) !important;\r\n background:color-mix(in srgb, var(--tr) 12%, transparent) !important; font-weight:700; }\r\n .gshe-row { display:flex; gap:10px; }\r\n .gshe-alan { display:flex; flex-direction:column; gap:2px; }\r\n .gshe-etiket { font-weight:500; font-size:12px; color:var(--py-metin-ucuncul, rgba(0,0,0,.45)); }\r\n .gshe-inp { padding:6px 8px; border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:6px;\r\n font-size:13px; background:var(--py-arkaplan,#fff); color:var(--py-metin,#333); }\r\n `],\r\n})\r\nexport class GenelStokHareketEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n tipler: Tip[] = ['giris', 'cikis', 'sayim', 'fire'];\r\n TIP_BILGI = TIP_BILGI;\r\n constructor() { super(); }\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n private parametreYaz(alan: string, deger: any) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n const ek = params.ek;\r\n ek[alan] = deger;\r\n if (Array.isArray(ek.parametreler)) {\r\n const mevcut = ek.parametreler.find((x: any) => x.ismi === alan);\r\n if (mevcut) mevcut.degeri = deger;\r\n }\r\n this.parametreler.set({ ...params });\r\n }\r\n\r\n sec(tip: Tip) { this.parametreYaz('tip', tip); }\r\n guncelle(alan: string, deger: any) { this.parametreYaz(alan, deger); }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// genel-stok-hareket DinamikBilesen kaydı\r\n// ---------------------------------------------------------------------------\r\n@DinamikBilesen({\r\n id: 'genel-stok-hareket',\r\n baslik: 'Genel Stok Hareketi',\r\n aciklama: 'Giriş / Çıkış / Sayım / Fire hareketi',\r\n ikon: 'swap',\r\n kategori: 'genel-stok',\r\n})\r\nclass GenelStokHareket {\r\n paylas_kutusu = GenelStokHareketEditComponent;\r\n paylasilmis_kart_sade = GenelStokHareketKartSadeComponent;\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, effect, input, model, signal } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { DinamikBilesen } from '@service/fikoyt-ui/decorators/dinamik-bilesen';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\n\r\ntype Durum = 'kritik' | 'uyari' | 'normal';\r\nconst DURUM_BILGI: Record = {\r\n kritik: { etiket: 'Kritik', renk: '#ef4444', rgb: '239,68,68' },\r\n uyari: { etiket: 'Uyarı', renk: '#f59e0b', rgb: '245,158,11' },\r\n normal: { etiket: 'Normal', renk: '#22c55e', rgb: '34,197,94' },\r\n};\r\n\r\n// ---------------------------------------------------------------------------\r\n// genel-stok-pano: kutuk-stok-pano.dinamik-bilesen.ts ile AYNI desen — sadece\r\n// 'kutuk-stok' yerine 'genel-stok' setId'sini hedefler. kutuk-stok-pano dosyasına\r\n// dokunulmamıştır; tamamen ayrı id ile (genel-stok-pano) kayıt olur.\r\n// ---------------------------------------------------------------------------\r\n\r\n// ---------------------------------------------------------------------------\r\n// Edit (paylaş kutusu): genel-stok ile paylaşılmış kartları listeler,\r\n// seçilenler ek.seciliUrunler dizisine yazılır.\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'genel-stok-pano-edit',\r\n standalone: true,\r\n imports: [FormsModule, NzInputModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n
📦 Panoya eklenecek ürünleri seçin
\r\n \r\n @if (_yukleniyor()) {
Yükleniyor...
}\r\n @else if (!_tumUrunler().length) {
Genel stok kartı bulunamadı. Önce genel-stok ile kart paylaşın.
}\r\n @else {\r\n
\r\n @for (u of _filtreliUrunler(); track u._id) {\r\n \r\n }\r\n
\r\n
{{ _seciliSayi() }} ürün seçildi
\r\n }\r\n
\r\n `,\r\n styles: [`\r\n .gpe { display:flex; flex-direction:column; gap:8px; }\r\n .gpe-baslik { font-weight:600; font-size:12px; color:var(--py-metin,#333); }\r\n .gpe-bilgi { font-size:11px; color:var(--py-metin-ikincil,#888); }\r\n .gpe-liste { display:flex; flex-direction:column; gap:4px; max-height:240px; overflow:auto; }\r\n .gpe-kalem { display:flex; align-items:center; gap:8px; padding:5px 8px; border-radius:6px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); cursor:pointer; font-size:12px; }\r\n .gpe-kalem:hover { background:rgba(0,0,0,.03); }\r\n .gpe-secili { border-color:#22c55e; background:rgba(34,197,94,.07); }\r\n .gpe-ad { flex:1; color:var(--py-metin,#333); }\r\n .gpe-stok { font-weight:700; font-size:11px; color:var(--py-metin-ikincil,#666); }\r\n `],\r\n})\r\nexport class GenelStokPanoEditComponent extends FikoYTKokBilesenComponent {\r\n parametreler = model();\r\n constructor() {\r\n super();\r\n effect(() => { this._urunleriCek(); }, { allowSignalWrites: true });\r\n }\r\n\r\n private _istek: FikoYTIstekKok | null = null;\r\n _tumUrunler = signal([]);\r\n _yukleniyor = signal(false);\r\n _filtre = signal('');\r\n\r\n p = computed(() => this.parametreler()?.ek || {});\r\n\r\n /** Seçili ürünleri ek.seciliUrunler dizisinde tutar */\r\n _seciliUrunler = computed(() => {\r\n const v = this.p()?.seciliUrunler;\r\n return Array.isArray(v) ? v : [];\r\n });\r\n _seciliSayi = computed(() => this._seciliUrunler().length);\r\n\r\n _filtreliUrunler = computed(() => {\r\n const f = (this._filtre() || '').toLocaleLowerCase('tr');\r\n if (!f) return this._tumUrunler();\r\n return this._tumUrunler().filter(u =>\r\n (u.isim || u.baslik || '').toLocaleLowerCase('tr').includes(f));\r\n });\r\n\r\n _secilimi(id: string) { return this._seciliUrunler().includes(id); }\r\n\r\n _toggle(id: string) {\r\n const params = this.parametreler();\r\n if (!params?.ek) return;\r\n const mevcut = [...this._seciliUrunler()];\r\n const i = mevcut.indexOf(id);\r\n if (i >= 0) mevcut.splice(i, 1); else mevcut.push(id);\r\n params.ek.seciliUrunler = mevcut;\r\n this.parametreler.set({ ...params });\r\n }\r\n\r\n /** genel-stok seti ile paylaşılmış kartları canlı listede göster */\r\n private async _urunleriCek() {\r\n this._yukleniyor.set(true);\r\n try {\r\n if (!this._istek) this._istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n this._istek.parametreler = { aggregate: [\r\n { $match: { turu: 'KART', silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'genel-stok' } },\r\n { $project: { _id: 1, isim: '$ic.ek.isim', baslik: '$veri.kurdela.baslik', birim: '$ic.ek.birim' } },\r\n { $sort: { _id: -1 } },\r\n ] };\r\n const cevap: any = await this._istek.isteSync();\r\n this._tumUrunler.set(cevap?.cevap?.sonuc ?? []);\r\n } catch (e) {\r\n console.warn('[GenelStokPano] Ürün listesi alınamadı:', e);\r\n } finally {\r\n this._yukleniyor.set(false);\r\n }\r\n }\r\n}\r\n\r\n\r\n// ---------------------------------------------------------------------------\r\n// Görüntü kartı: seçili ürünlerin stok durumunu grid (döşeme) olarak gösterir\r\n// ---------------------------------------------------------------------------\r\n@Component({\r\n selector: 'genel-stok-pano-kart',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n
\r\n @if (!_urunler().length) {\r\n
📦 Henüz ürün seçilmedi
\r\n } @else {\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n @if (_filtreli().length === 0) {\r\n
Bu filtrede ürün yok
\r\n } @else if (_tabloMi()) {\r\n \r\n \r\n \r\n \r\n @for (u of _filtreli(); track u._id) {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
ÜrünStokBirimLimitlerDurum
{{ u.isim || u.baslik || 'İsimsiz' }}{{ u._kalan }}{{ u.birim || 'adet' }}k: {{ u.kritikLimit ?? '—' }} · u: {{ u.uyariLimit ?? '—' }}{{ u._etiket }}
\r\n } @else {\r\n \r\n
\r\n @for (u of _filtreli(); track u._id) {\r\n
\r\n
\r\n {{ u.isim || u.baslik || 'İsimsiz' }}\r\n {{ u._etiket }}\r\n
\r\n
{{ u._kalan }} {{ u.birim || 'adet' }}
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n }\r\n
\r\n `,\r\n styles: [`\r\n .gpp { display:block; }\r\n .gpp-bos { padding:16px; text-align:center; font-size:12px; color:var(--py-metin-ikincil,#999);\r\n border:1px dashed var(--py-kenarlik,#e5e7eb); border-radius:8px; }\r\n .gpp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:8px; }\r\n .gpp-araclar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }\r\n .gpp-filtreler { display:flex; gap:4px; flex-wrap:wrap; }\r\n .gpp-fbtn { padding:3px 10px; font-size:11px; font-weight:600; cursor:pointer;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); border-radius:999px;\r\n background:var(--py-arkaplan,#fff); color:var(--py-metin,#444); transition:background .15s; }\r\n .gpp-fbtn:hover { background:rgba(0,0,0,.04); }\r\n .gpp-fbtn.gpp-kritik.gpp-faktif { background:#ef4444; border-color:#ef4444; color:#fff; }\r\n .gpp-fbtn.gpp-bitmis.gpp-faktif { background:#f59e0b; border-color:#f59e0b; color:#fff; }\r\n .gpp-fbtn.gpp-faktif:not(.gpp-kritik):not(.gpp-bitmis) { background:#22c55e; border-color:#22c55e; color:#fff; }\r\n .gpp-gorunum { padding:3px 8px; font-size:13px; cursor:pointer; border-radius:6px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); background:var(--py-arkaplan,#fff); }\r\n .gpp-gorunum:hover { background:rgba(0,0,0,.04); }\r\n .gpp-table { width:100%; border-collapse:collapse; font-size:12px; }\r\n .gpp-table th { text-align:left; font-size:10px; font-weight:700; text-transform:uppercase;\r\n letter-spacing:.05em; color:var(--py-metin-ucuncul,#999); padding:4px 8px;\r\n border-bottom:1px solid var(--py-kenarlik,#e5e7eb); }\r\n .gpp-table td { padding:5px 8px; border-bottom:1px solid var(--py-kenarlik,#f0f0f0);\r\n color:var(--py-metin,#333); }\r\n .gpp-table tr:hover td { background:rgba(0,0,0,.02); }\r\n .gpp-t-ad { font-weight:700; }\r\n .gpp-t-stok { font-weight:800; font-family:monospace; font-size:13px; }\r\n .gpp-t-limit { font-size:11px; color:var(--py-metin-ikincil,#888); }\r\n .gpp-kutu { display:flex; flex-direction:column; gap:4px; padding:8px 10px;\r\n border:1px solid var(--py-kenarlik,#e5e7eb); border-left:3px solid var(--kc,#22c55e);\r\n border-radius:8px; background:var(--py-arkaplan,#fff); }\r\n .gpp-ust { display:flex; align-items:center; justify-content:space-between; gap:4px; }\r\n .gpp-ad { font-size:12px; font-weight:700; color:var(--py-metin,#333);\r\n overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\r\n .gpp-rozet { font-size:9px; font-weight:700; text-transform:uppercase; padding:1px 5px; border-radius:4px; white-space:nowrap; }\r\n .gpp-stok { font-size:18px; font-weight:800; color:var(--py-metin,#222); }\r\n .gpp-birim { font-size:10px; font-weight:500; color:var(--py-metin-ikincil,#888); }\r\n .gpp-bar { height:4px; border-radius:2px; background:rgba(0,0,0,.06); overflow:hidden; }\r\n .gpp-bar-ic { height:100%; border-radius:2px; transition:width .5s; }\r\n `],\r\n})\r\nexport class GenelStokPanoKartComponent extends FikoYTKokBilesenComponent {\r\n parametreler = input();\r\n constructor() {\r\n super();\r\n effect(() => {\r\n const ids = this._seciliIds();\r\n if (ids.length) this._stoklariCek(ids);\r\n });\r\n }\r\n\r\n private _istek: FikoYTIstekKok | null = null;\r\n private _stoklar = signal([]);\r\n\r\n _seciliIds = computed(() => {\r\n const v = this.parametreler()?.ek?.seciliUrunler;\r\n return Array.isArray(v) ? v : [];\r\n });\r\n\r\n _urunler = computed(() => this._stoklar());\r\n\r\n /** Filtre + görünüm durumu */\r\n _filtre = signal<'tumu' | 'kritik' | 'bitmis'>('tumu');\r\n _tabloMi = signal(false);\r\n\r\n _sayilar = computed(() => {\r\n const l = this._urunler();\r\n return {\r\n tumu: l.length,\r\n kritik: l.filter(u => u._etiket === 'Kritik').length,\r\n bitmis: l.filter(u => u._kalan <= 0).length,\r\n };\r\n });\r\n\r\n _filtreli = computed(() => {\r\n const f = this._filtre();\r\n const l = this._urunler();\r\n if (f === 'kritik') return l.filter(u => u._etiket === 'Kritik');\r\n if (f === 'bitmis') return l.filter(u => u._kalan <= 0);\r\n return l;\r\n });\r\n\r\n\r\n /** Seçili her ürünün canlı stok durumunu tek aggregate ile çeker */\r\n private async _stoklariCek(ids: string[]) {\r\n try {\r\n if (!this._istek) this._istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n this._istek.parametreler = { aggregate: [\r\n { $match: { _id: { $in: ids }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\r\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'genel-stok.hareket' } },\r\n { $project: {\r\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\r\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\r\n } },\r\n ], as: '_h' } },\r\n { $addFields: {\r\n _kalan: { $round: [{ $reduce: {\r\n input: '$_h', initialValue: 0,\r\n in: { $switch: { branches: [\r\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\r\n { case: { $in: ['$$this.tip', ['cikis', 'fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\r\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\r\n ], default: '$$value' } } },\r\n }, 0] },\r\n } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic2' } },\r\n { $unwind: { path: '$ic2', preserveNullAndEmptyArrays: true } },\r\n { $match: { $or: [ { ic2: null }, { 'ic2.ek._secilenSetId': 'genel-stok' } ] } },\r\n { $project: {\r\n _id: 1, isim: '$ic2.ek.isim', baslik: '$veri.kurdela.baslik',\r\n birim: '$ic2.ek.birim', uyariLimit: '$ic2.ek.uyariLimit', kritikLimit: '$ic2.ek.kritikLimit',\r\n _kalan: 1,\r\n } },\r\n ] };\r\n const cevap: any = await this._istek.isteSync();\r\n const liste: any[] = (cevap?.cevap?.sonuc ?? []).map((u: any) => {\r\n const kalan = +(u._kalan ?? 0);\r\n const kritik = +(u.kritikLimit || 0);\r\n const uyari = +(u.uyariLimit || 0);\r\n const durum: Durum = (kritik && kalan <= kritik) ? 'kritik' : (uyari && kalan <= uyari) ? 'uyari' : 'normal';\r\n const b = DURUM_BILGI[durum];\r\n const tavan = uyari > 0 ? uyari * 1.6 : Math.max(kalan, 1);\r\n return {\r\n ...u,\r\n _kalan: kalan,\r\n _etiket: b.etiket, _renk: b.renk, _rgb: b.rgb,\r\n _yuzde: Math.max(4, Math.min(100, (kalan / tavan) * 100)),\r\n };\r\n });\r\n // En düşük stok başa gelecek şekilde sırala\r\n liste.sort((a, b) => a._kalan - b._kalan);\r\n this._stoklar.set(liste);\r\n } catch (e) {\r\n console.warn('[GenelStokPano] Stok bilgisi alınamadı:', e);\r\n }\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// genel-stok-pano DinamikBilesen kaydı\r\n// ---------------------------------------------------------------------------\r\n@DinamikBilesen({\r\n id: 'genel-stok-pano',\r\n baslik: 'Genel Stok Panosu',\r\n aciklama: 'Seçilen ürünlerin stok durumunu grid olarak gösterir',\r\n ikon: 'grid',\r\n kategori: 'genel-stok',\r\n})\r\nclass GenelStokPano {\r\n paylas_kutusu = GenelStokPanoEditComponent;\r\n paylasilmis_kart = GenelStokPanoKartComponent;\r\n paylasilmis_kart_sade = GenelStokPanoKartComponent;\r\n}\r\n","// Paylaşım feed'inde kart/alt-kart tiplerinin render edilebilmesi için\r\n// dinamik bileşen kayıtlarının side-effect import'ları (eski sistem main.ts karşılığı).\r\n// Bu modül paylasim remote'u tarafından ilk import edilir; decorator'lar\r\n// DinamikBilesenRegistry'ye kayıt olur.\r\nimport '../uyar-dokum/projeler/projeler.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/departman/departman.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/personel-db/personel.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/tedarikci.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/bakim-talebi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/satis/siparis/siparis.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/satis/teklif/teklif.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/satis/musteri/musteri.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/is-emri.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/kalite.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/uretim-sayac.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/vardiya-devir.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/makine-tanimi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/projeler/pages/basit-not/basit-not.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/durum-guncelleme/durum-guncelleme.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/gorev/gorev.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/bakim-talebi/alt-kartlar/maliyet-kalemi/maliyet-kalemi.dinamik-bilesen';\r\nimport '../uyar-dokum/projeler/alt-kartlar/proje-gorev/proje-gorev.dinamik-bilesen';\r\nimport '../uyar-dokum/projeler/alt-kartlar/proje-notu/proje-notu.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/uretim/kalite/alt-kartlar/kalite-olcum/kalite-olcum.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/satis/siparis/alt-kartlar/siparis-kalemi/siparis-kalemi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/vardiya-devir/alt-kartlar/vardiya-notu/vardiya-notu.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/adres-bilgisi/adres-bilgisi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/izin-kaydi/izin-kaydi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/personel-db/alt-kartlar/egitim-kaydi/egitim-kaydi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/departman/alt-kartlar/duyuru/duyuru.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/tedarikci/alt-kartlar/degerlendirme/degerlendirme.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/bakim-plani/bakim-plani.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/makine-tanimi/alt-kartlar/ariza-kaydi/ariza-kaydi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/yonetim/uretim/is-emri/alt-kartlar/uretim-kaydi/uretim-kaydi.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/satis/teklif/alt-kartlar/revizyon/revizyon.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/satis/musteri/alt-kartlar/gorusme-notu/gorusme-notu.dinamik-bilesen';\r\nimport '../hmi-pano/pano/pages/personel/pages/uretim/pages/uretim-sayac/alt-kartlar/durus-kaydi/durus-kaydi.dinamik-bilesen';\r\nimport '../hmi-pano/kart-okuyucu/kart-okuyucu.dinamik-bilesen';\r\nimport '../hmi-pano/kart-okuyucu/kart-sahibi/kart-sahibi.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-malzeme-tanimi.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-parca.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-kutuk.dinamik-bilesen';\r\nimport '../hmi-pano/proje-tanimi/proje-tanimi.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-cnc.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-andon.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-bakim.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-kalite.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-vardiya.dinamik-bilesen';\r\nimport '../hmi-pano/cam-isleme/cam-enerji.dinamik-bilesen';\r\nimport '../parca-takip/parca-takip.dinamik-bilesen';\r\nimport '../hmi-pano/firmada-panel/firmada-panel.dinamik-bilesen';\r\nimport '../kutuk-stok/kutuk-stok.dinamik-bilesen';\r\nimport '../kutuk-stok/kutuk-stok-pano.dinamik-bilesen';\r\nimport '../genel-stok/genel-stok.dinamik-bilesen';\r\nimport '../genel-stok/genel-stok-pano.dinamik-bilesen';\r\n"],"names":["_forTrack1","HmiLookupService","_forTrack0","DURUM_RENK","DURUM_ETIKET","DURUM_RGB","ONCELIK_ETIKET","DURUM_IKON","i1","ONCELIK_RENK","paramDeger","_c0","i2","i3","i4","i5","i6","ACILIYET_RENK","DURUM_ILERLEME","DURUM_MAP","SONUC_RENK","_forTrack2","KAT_RENK","KAT_RGB","SONUC_RGB","FikoYTKokBilesenComponent","FikoYTService","DURUMLAR","DURUM_BILGI","TIP_BILGI"],"mappings":"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"}