예제 #1
0
파일: Mamul.cs 프로젝트: isdMehmet/LKERP
        public double HamKalanMiktarGetir(int hamId)
        {
            if (this.YeniMamulKumas == null)
            {
                return(0);
            }

            double hamMiktar   = PartiHamKumaslari == null ? 0 : PartiHamKumaslari.Where(c => c.Id == hamId).Sum(c => c.Metre);
            double mamulMiktar = MamulKumaslar.Where(c => c.HamId == hamId && c.Durum == "Mamul").Sum(t => t.Metre);

            return(Math.Round(hamMiktar - mamulMiktar));
        }
예제 #2
0
파일: Mamul.cs 프로젝트: isdMehmet/LKERP
        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);
        }