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)); }
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); }