Example #1
0
        public void BoyahaneProcessSec(vPartiProcessleri partiProcess)
        {
            vBoyahaneProcess process = null;

            if (partiProcess != null)
            {
                process = db.GetGeneric <vBoyahaneProcess>(c => c.PartiId == partiProcess.PartiId && c.ProcessId == partiProcess.ProcessId && c.Sira == partiProcess.Sira).LastOrDefault();
            }
            if (process != null)
            {
                _SecilenProcess = process;
            }
            else if (partiProcess != null)
            {
                _SecilenProcess = new vBoyahaneProcess()
                {
                    PartiId   = partiProcess.PartiId,
                    ProcessId = partiProcess.ProcessId,
                    Sira      = partiProcess.Sira
                };
            }
            else if (partiProcess == null)
            {
                _SecilenProcess = new vBoyahaneProcess();
            }
        }
Example #2
0
        //Gökhan 16.05.2014
        public DateTime TarihiGetir(string partiNo)
        {
            vBoyahaneProcess instance = db.GetGeneric <vBoyahaneProcess>(c => c.PartiNo == partiNo && c.CikisSaat.HasValue == false).LastOrDefault();

            if (instance == null)
            {
                return(DateTime.Now);
            }
            else
            {
                return(instance.Saat);
            }
        }
Example #3
0
        //Gökhan 16.05.2014
        public string SureyiHesapla(string partiNo)
        {
            vBoyahaneProcess instance = db.GetGeneric <vBoyahaneProcess>(c => c.PartiNo == partiNo && c.CikisTarih.HasValue == false).LastOrDefault();

            if (instance != null)
            {
                TimeSpan ts = DateTime.Now - instance.Saat;
                return(ts.ToString());
            }
            else
            {
                return(null);
            }
        }
Example #4
0
        public static bool ProcessSil(vBoyahaneProcess silinecek)
        {
            DBEvents db = new DBEvents();

            if (db.DeleteGeneric <tblBoyahaneProcess>(silinecek.ViewToTbl()))
            {
                if (silinecek.ReProcess.HasValue && silinecek.ReProcess.Value) //silinecek process reprocess ise parti duruma göre tekrar set edilmelidir.
                {
                    List <tblBoyahaneProcess> list = db.GetGeneric <tblBoyahaneProcess>(c => c.ReProcess == true);
                    if (list == null || list.Count == 0)
                    {
                        tblPartiler parti = db.GetGeneric <tblPartiler>(c => c.Id == silinecek.PartiId).FirstOrDefault();
                        parti.ReProcessVarMi = false;
                        db.UpdateGeneric <tblPartiler>(parti);
                    }
                }

                return(true);
            }

            return(false);
        }
Example #5
0
        //Gökhan 16.05.2014
        public bool BesDakikaOlduMu(string partiNo, string processKodu)
        {
            vBoyahaneProcess instance = new vBoyahaneProcess();

            instance = db.GetGeneric <vBoyahaneProcess>(c => c.PartiNo == partiNo && c.ProcessKodu == processKodu && c.CikisTarih.HasValue == false && c.Durdu != true).LastOrDefault();
            if (instance != null)
            {
                TimeSpan ts = new TimeSpan();
                ts = DateTime.Now - instance.Saat;
                if (ts.Minutes >= 5)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Example #6
0
        public bool BarkodOkut(string barkod)
        {
            vMamuleHazirPartiler okutulan = db.GetGeneric <vMamuleHazirPartiler>(c => c.PartiNo == barkod).FirstOrDefault();

            Partisi = okutulan;

            if (okutulan == null || okutulan.ProcessId != 60)
            {
                // paketleme prosesi okutulmuşsa normal mamul barkod alınır durum sütunundaki ayracı 'Mamul'dür.
                // Paketleme prosesi okutulmamış ve fason proses okutulmuş ise _FasonamiGidecek değişkeni true olur
                // ve kumaş kesme esnasında bu değişken kontrol edilerek mamul barkodun Durum sütunundaki ayracı 'Fason' olarak işaretlenir.
                vBoyahaneProcess paketleme = db.GetGeneric <vBoyahaneProcess>(c => c.PartiNo == barkod && c.ProcessId == 60).FirstOrDefault();
                if (paketleme == null)
                {
                    vBoyahaneProcess fasonProcess = db.GetGeneric <vBoyahaneProcess>(c => c.PartiNo == barkod).OrderByDescending(c => c.Sira).FirstOrDefault();

                    if (fasonProcess.FasonMu == false)
                    {
                        FasonamiGidecek = false;
                        throw new Exception("Paketleme prosesi okutulmamış..!");
                    }
                    else if (fasonProcess.FasonMu == true)
                    {
                        vMamulKumaslar kumaslar = db.GetGeneric <vMamulKumaslar>(c => c.PartiNo == barkod && c.Durum == "Fason").FirstOrDefault();
                        if (kumaslar == null)
                        {
                            FasonamiGidecek = true;
                        }
                        else
                        {
                            FasonamiGidecek = false;
                            throw new Exception("Fasondan kumaş gelmiş. Şimdi paketleme processini okutun!");
                        }
                    }
                }
            }

            if (okutulan == null)
            {
                YeniMamulKumas = null;
                throw new Exception("Partilenmiş barkod bulunamadı..!");
            }

            YeniMamulKumas.TipId        = okutulan.TipId;
            YeniMamulKumas.TipNo        = okutulan.TipNo;
            YeniMamulKumas.RenkNo       = okutulan.RenkNo;
            YeniMamulKumas.TopMetre     = okutulan.TopMetre;
            YeniMamulKumas.DyeBatchNo   = barkod;
            YeniMamulKumas.RefRenkAdi   = okutulan.RefRenkAdi;
            YeniMamulKumas.RefRenkNo    = okutulan.RefRenkNo;
            YeniMamulKumas.RefTipNo     = okutulan.RefTipNo;
            YeniMamulKumas.SozlesmeNo   = okutulan.SozlesmeNo;
            YeniMamulKumas.SevkiyatNotu = (db.GetGeneric <vPartiler>(f => f.PartiNo == okutulan.PartiNo).FirstOrDefault()).BoyaNotu;


            if (okutulan.RePartiMi)
            {
                RePartiKumaslari = db.GetGenericWithSQLQuery <vReProcessBarkodlari>("execute dbo.spRePartiBarkodlariGetir " + okutulan.PartiId.ToString(), new string[0]);
            }
            else
            {
                PartiHamKumaslari = db.GetGeneric <vHamKumaslar>(c => c.PartiId == okutulan.PartiId);
            }

            MamulKumaslar = db.GetGeneric <vMamulKumaslar>(c => c.PartiId == okutulan.PartiId);

            if ((okutulan.RePartiMi == false) && (PartiHamKumaslari == null || PartiHamKumaslari.Count == 0))
            {
                throw new Exception("Partide ham kumaş yok.\n\nBarkod okutulamaz..!");
            }
            if (MamulKumaslar == null)
            {
                MamulKumaslar = new List <vMamulKumaslar>();
            }

            YeniMamulKumas = new vMamulKumaslar()
            {
                MusteriId    = okutulan.MusteriId,
                MusteriKodu  = okutulan.MusteriKodu,
                MusteriAdi   = okutulan.MusteriAdi,
                PartiId      = okutulan.PartiId,
                PartiNo      = okutulan.PartiNo.ToString(),
                SozlesmeNo   = okutulan.SozlesmeNo,
                ToplamKalan  = Math.Round((PartiHamKumaslari == null ? 0 : PartiHamKumaslari.Sum(c => c.Metre)) - MamulKumaslar.Sum(c => c.Metre), 2),
                Tarih        = DateTime.Today,
                TopMetre     = okutulan.TopMetre,
                Finish       = okutulan.FinishNo,
                TipId        = okutulan.TipId,
                TipNo        = okutulan.TipNo,
                RenkNo       = okutulan.RenkNo,
                RenkVaryant  = okutulan.RenkVaryant,
                TipVaryant   = okutulan.TipVaryant,
                DyeBatchNo   = barkod,
                RefRenkAdi   = okutulan.RefRenkAdi,
                RefRenkNo    = okutulan.RefRenkNo,
                RefTipNo     = okutulan.RefTipNo,
                SevkiyatNotu = (db.GetGeneric <vPartiler>(f => f.PartiNo == okutulan.PartiNo).FirstOrDefault()).BoyaNotu
            };

            return(true);
        }
Example #7
0
        //Gökhan 16.05.2014
        public bool ProcessKaydet(vPartiProcessleri partiProcess, string btn, string comment, double metre)
        {
            if (PartiProcessleri.Exists(c => c.ProcessId == _SecilenProcess.ProcessId))
            {
                if (btn == "Bitir")
                {
                    if (SecilenProcess.Metre < Parti.PartiMetre * 0.90)
                    {
                        throw new Exception("Az kumaş açılmış..!");
                    }

                    if (SecilenProcess.Metre > Parti.PartiMetre * 1.10)
                    {
                        throw new Exception("Fazla kumaş açılmış..!");
                    }
                }

                vBoyahaneProcess sonOkutulan = db.GetGeneric <vBoyahaneProcess>(c => c.PartiId == this.Parti.Id && c.Silindi == false).OrderBy(e => e.Sira).LastOrDefault();

                if (sonOkutulan != null)
                {
                    //25.06.15 Mehmet
                    //Fasona sevk edildi mi kontrolü yapılacak.
                    bool FasonaSevkEdilmisMi = Mamul.FasonaSevkEdilmisMi(Parti.Id);

                    if (sonOkutulan.FasonMu && FasonaSevkEdilmisMi == false)
                    {
                        throw new Exception("Fason gönderime hazır.\n\nMamul kaliteye geçmelisiniz..!");
                    }

                    if (DateTime.Now.TimeOfDay.Subtract(sonOkutulan.Saat.TimeOfDay) < new TimeSpan(0, 15, 0)) //process okutma hızı kontrolü
                    {
                        if (CabukOkutmaIsaretle() == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!\nHiZ");
                        }
                    }

                    tblBoyahaneProcess cikisiOkutulmayan = db.GetGeneric <tblBoyahaneProcess>(c => c.PartiId == this.Parti.Id && c.CikisTarih.HasValue == false && c.Silindi == false && c.Id != _SecilenProcess.Id).FirstOrDefault();
                    tblBoyahaneProcess durmusVarMi       = db.GetGeneric <tblBoyahaneProcess>(c => c.PartiId == this.Parti.Id && c.CikisTarih.HasValue == false && c.Durdu == true).FirstOrDefault();
                    if (cikisiOkutulmayan != null)
                    {
                        if (cikisiOkutulmayan.ProcessId != this._SecilenProcess.ProcessId)
                        {
                            throw new Exception("Devam eden Process var.\n\nEklenemez..!");
                        }
                    }

                    int ind = PartiProcessleri.FindIndex(c => c.Sira == sonOkutulan.Sira && c.ProcessId == sonOkutulan.ProcessId);
                    if (PartiProcessleri.Count() != (ind + 1))
                    {
                        if (PartiProcessleri[ind + 1].Sira < partiProcess.Sira)
                        {
                            throw new Exception("Daha önceki process okutulmamış.\n\nEklenemez...!");
                        }
                    }
                }
                else
                {
                    if (this.PartiProcessleri[0].ProcessId != this._SecilenProcess.ProcessId)
                    {
                        throw new Exception("Daha önceki process okutulmamış.\n\nEklenemez..!");
                    }
                }
            }
            else
            {
                throw new Exception("Process bulunamadı..!");
            }

            tblBoyahaneProcess tblProcess = _SecilenProcess.ViewToTbl();

            tblProcess.PartiId = Parti.Id;
            int tempControl = -1;

            if (tblProcess.Id == 0)
            {
                tblProcess.Tarih = DateTime.Today;
                tblProcess.Saat  = DateTime.Now;
            }
            else
            {
                tblBoyahaneProcess iptalEdilecek;
                try
                {
                    iptalEdilecek = db.GetGeneric <tblBoyahaneProcess>(c => c.PartiId == this.Parti.Id).OrderBy(e => e.Id).Last();
                    if (iptalEdilecek.CikisTarih.HasValue != false)
                    {
                        iptalEdilecek = null;
                    }
                }
                catch (Exception)
                {
                    iptalEdilecek = null;
                }
                tblBoyahaneProcess cikisiOkutulmayan = db.GetGeneric <tblBoyahaneProcess>(c => c.PartiId == this.Parti.Id && c.CikisTarih.HasValue == false && c.Durdu != true).OrderBy(e => e.Sira).LastOrDefault();
                tblBoyahaneProcess ikinciBaslami     = db.GetGeneric <tblBoyahaneProcess>(c => c.PartiId == this.Parti.Id && c.CikisTarih.HasValue == false && c.Durdu != false).OrderBy(e => e.Sira).LastOrDefault();

                if (btn == "Başla")
                {
                    if (cikisiOkutulmayan == null)
                    {
                        tblProcess.Id         = 0;
                        tblProcess.CikisTarih = null;
                        tblProcess.CikisSaat  = null;
                        tblProcess.Tarih      = DateTime.Today;
                        tblProcess.Saat       = DateTime.Now;
                        tblProcess.Durdu      = false;
                        tblProcess.Silindi    = false;
                        tblProcess.Aciklama   = null;
                        tblProcess.ArizaId    = null;
                        tempControl           = 0;
                    }
                    else
                    {
                        if (ikinciBaslami != null)
                        {
                            tblProcess.CikisTarih = DateTime.Today;
                            tblProcess.CikisSaat  = DateTime.Now;
                            tblProcess.Durdu      = true;
                            tempControl           = 3;
                        }
                        else
                        {
                            throw new Exception("Devam eden process var!...");
                        }
                    }
                }
                else if (btn == "Bitir")
                {
                    if (cikisiOkutulmayan != null)
                    {
                        if (ikinciBaslami == null)
                        {
                            tblProcess            = cikisiOkutulmayan;
                            tempControl           = 2;
                            tblProcess.CikisTarih = DateTime.Today;
                            tblProcess.CikisSaat  = DateTime.Now;
                            tblProcess.Durdu      = false;
                        }
                        else
                        {
                            throw new Exception("Devam eden process var!...");
                        }
                    }
                    else
                    {
                        throw new Exception("Başlatılmış process yok!...");
                    }
                }
                else if (btn == "Dur")
                {
                    if (cikisiOkutulmayan != null)
                    {
                        if (ikinciBaslami == null)
                        {
                            tblProcess.Id         = 0;
                            tblProcess.CikisTarih = null;
                            tblProcess.CikisSaat  = null;
                            tblProcess.Tarih      = DateTime.Today;
                            tblProcess.Saat       = DateTime.Now;
                            tblProcess.Durdu      = true;
                            tblProcess.ArizaId    = Convert.ToInt32(comment.Substring(0, comment.IndexOf("?")));
                            if ((comment.Length - comment.IndexOf("?") > 1))
                            {
                                tblProcess.Aciklama = comment.Substring(comment.IndexOf("?") + 1, (comment.Length - comment.IndexOf("?") - 1));
                            }
                            else
                            {
                                tblProcess.Aciklama = null;
                            }
                            tblProcess.Silindi = false;
                            tempControl        = 1;
                        }
                        else
                        {
                            throw new Exception("Durdurulmuş işlem var!...");
                        }
                    }
                    else
                    {
                        throw new Exception("Başlatılmış process yok!...");
                    }
                }
                else if (btn == "Iptal")
                {
                    if (iptalEdilecek != null)
                    {
                        tblProcess            = iptalEdilecek;
                        tempControl           = 3;
                        tblProcess.Silindi    = true;
                        tblProcess.CikisTarih = DateTime.Today;
                        tblProcess.CikisSaat  = DateTime.Now;
                    }
                    else
                    {
                        throw new Exception("İptal edilebilecek process yok!...");
                    }
                }
                else if (btn == "Not")
                {
                    tblProcess.Aciklama = comment;
                    tempControl         = 4;
                }
            }

            tblProcess.Sira  = partiProcess.Sira;
            tblProcess.Metre = metre; //txtmetre alanından geliyor.
            if (btn == "Başla")
            {
                if (tblProcess.Id == 0)
                {
                    tblProcess.Durdu   = false;
                    tblProcess.Silindi = false;
                    if (tblProcess.Id == 0)
                    {
                        if (tblProcess.ProcessId == 60)
                        {
                            tblProcess.CikisSaat  = DateTime.Now;
                            tblProcess.CikisTarih = DateTime.Now;
                        }
                        if (db.SaveGeneric <tblBoyahaneProcess>(tblProcess) == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                        }
                    }
                    if (tblProcess.Id != 0)
                    {
                        if (db.UpdateGeneric <tblBoyahaneProcess>(tblProcess) == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                        }
                    }
                }
                else
                {
                    if (tempControl == 0)
                    {
                        if (db.SaveGeneric <tblBoyahaneProcess>(tblProcess) == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                        }
                    }
                    else
                    {
                        if (db.UpdateGeneric <tblBoyahaneProcess>(tblProcess) == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                        }
                    }
                }
            }
            else if (btn == "Dur")
            {
                if (tempControl == 1)
                {
                    if (db.SaveGeneric <tblBoyahaneProcess>(tblProcess) == false)
                    {
                        throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                    }
                }
                else
                {
                    throw new Exception("Başlamamış Processi duraklatamazsın..!");
                }
            }
            else if (btn == "Bitir")
            {
                if (tempControl == 2)
                {
                    if (BesDakikaOlduMu(tblProcess.PartiId, tblProcess.ProcessId))
                    {
                        if (db.UpdateGeneric <tblBoyahaneProcess>(tblProcess) == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                        }
                    }
                    else
                    {
                        throw new Exception("5 dakika dolmadan process bitirilemez..!");
                    }
                }
                else
                {
                    throw new Exception("Önce Processi başlatmalısınız..!");
                }
            }
            else if (btn == "Iptal")
            {
                if (tempControl == 3)
                {
                    if (db.UpdateGeneric <tblBoyahaneProcess>(tblProcess) == false)
                    {
                        throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                    }
                }
                else
                {
                    throw new Exception("İptal edilecek Process bulunamadı..!");
                }
            }
            else
            {
                if (tempControl == 4)
                {
                    if (db.UpdateGeneric <tblBoyahaneProcess>(tblProcess) == false)
                    {
                        throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                    }
                }
                else
                {
                    throw new Exception("not edilecek Process bulunamadı..!");
                }
            }

            return(true);
        }
Example #8
0
        public bool ProcessKaydet(vPartiProcessleri partiProcess)
        {
            if (PartiProcessleri.Exists(c => c.ProcessId == _SecilenProcess.ProcessId))
            {
                //List<tblBoyahaneProcess> listBoyahane = db.GetGeneric<tblBoyahaneProcess>(c => c.PartiId == Parti.Id);

                if (SecilenProcess.Metre < Parti.PartiMetre * 0.90)
                {
                    throw new Exception("Az kumaş açılmış..!");
                }

                if (SecilenProcess.Metre > Parti.PartiMetre * 1.10)
                {
                    throw new Exception("Fazla kumaş açılmış..!");
                }

                vBoyahaneProcess sonOkutulan = db.GetGeneric <vBoyahaneProcess>(c => c.PartiId == this.Parti.Id).OrderBy(e => e.Sira).LastOrDefault();

                if (sonOkutulan != null)
                {
                    if (sonOkutulan.FasonMu)
                    {
                        throw new Exception("Fason gönderime hazır.\n\nMamul kaliteye geçmelisiniz..!");
                    }

                    if (DateTime.Now.TimeOfDay.Subtract(sonOkutulan.Saat.TimeOfDay) < new TimeSpan(0, 15, 0)) //process okutma hızı kontrolü
                    {
                        if (CabukOkutmaIsaretle() == false)
                        {
                            throw new Exception("Hata oluştu.\n\nKaydedilemedi..!\nHiZ");
                        }
                    }

                    tblBoyahaneProcess cikisiOkutulmayan = db.GetGeneric <tblBoyahaneProcess>(c => c.PartiId == this.Parti.Id && c.CikisTarih.HasValue == false && c.Id != _SecilenProcess.Id).FirstOrDefault();
                    if (cikisiOkutulmayan != null)
                    {
                        throw new Exception("Önceki process'in çıkış okutması yapılmamış.\n\nEklenemez..!");
                    }

                    int ind = PartiProcessleri.FindIndex(c => c.Sira == sonOkutulan.Sira && c.ProcessId == sonOkutulan.ProcessId);
                    if (PartiProcessleri[ind + 1].Sira < partiProcess.Sira)
                    {
                        throw new Exception("Daha önceki process okutulmamış.\n\nEklenemez..!");
                    }

                    if (ReProcessIsaretle() == false)
                    {
                        throw new Exception("Hata oluştu.\n\nKaydedilemedi..!\nReP");
                    }
                }
                else
                {
                    if (this.PartiProcessleri[0].ProcessId != this._SecilenProcess.ProcessId)
                    {
                        throw new Exception("Daha önceki process okutulmamış.\n\nEklenemez..!");
                    }
                }
            }
            else
            {
                throw new Exception("Process bulunamadı..!");
            }

            tblBoyahaneProcess tblProcess = _SecilenProcess.ViewToTbl();

            tblProcess.PartiId = Parti.Id;
            if (tblProcess.Id == 0)
            {
                tblProcess.Tarih = DateTime.Today;
                tblProcess.Saat  = DateTime.Now;
            }
            else
            {
                if (tblProcess.CikisTarih.HasValue == false)
                {
                    tblProcess.CikisTarih = DateTime.Today;
                    tblProcess.CikisSaat  = DateTime.Now;
                }
                else
                {
                    tblProcess.Id         = 0;
                    tblProcess.CikisTarih = null;
                    tblProcess.CikisSaat  = null;
                    tblProcess.Tarih      = DateTime.Today;
                    tblProcess.Saat       = DateTime.Now;
                }
            }
            tblProcess.Sira = partiProcess.Sira;

            if (tblProcess.Id == 0)
            {
                if (db.SaveGeneric <tblBoyahaneProcess>(tblProcess) == false)
                {
                    throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                }
            }
            if (tblProcess.Id != 0)
            {
                if (db.UpdateGeneric <tblBoyahaneProcess>(tblProcess) == false)
                {
                    throw new Exception("Hata oluştu.\n\nKaydedilemedi..!");
                }
            }

            return(true);
        }