public static List <FaseOrdineProduzione> EstraiListaFaseOrdineProduzione(string codiceOrdineProduzione) { OrdiniProduzioneDS ds = new OrdiniProduzioneDS(); using (OrdiniProduzioneBusiness bOrdineProduzione = new OrdiniProduzioneBusiness()) { bOrdineProduzione.FillFasiOrdiniProduzione(ds, codiceOrdineProduzione); bOrdineProduzione.FillVersamentiFasiOrdiniProduzione(ds, codiceOrdineProduzione); } List <FaseOrdineProduzione> fasi = new List <FaseOrdineProduzione>(); foreach (OrdiniProduzioneDS.FasiOrdiniProduzioneRow riga in ds.FasiOrdiniProduzione) { FaseOrdineProduzione fase = CreaFaseOrdineProduzione(riga); OrdiniProduzioneDS.VersamentiFasiOrdiniProduzioneRow versamento = ds.VersamentiFasiOrdiniProduzione.Where(x => x.Operation_No_ == fase.Operazione).FirstOrDefault(); if (versamento != null) { fase.DataVersamento = versamento.Document_Date.ToShortDateString(); if (fase.WIP) { fase.QuantitaOutput = versamento.Invoiced_Quantity; } else { fase.QuantitaOutput = versamento.Output_Quantity; } } fasi.Add(fase); } return(fasi); }
private static OrdineProduzione CreaOrdineProduzione(OrdiniProduzioneDS.ArticoliOrdiniProduzioneRow riga) { if (riga == null) { return(null); } OrdineProduzione oProduzioneand = new OrdineProduzione(); oProduzioneand.Status = riga.Status; oProduzioneand.Operazione = riga.Line_No_; oProduzioneand.CodiceOrdineProduzione = riga.Prod__Order_No_; oProduzioneand.Anagrafica = riga.Item_No_; oProduzioneand.Descrizione = riga.Description; oProduzioneand.Magazzino = riga.Location_Code; oProduzioneand.Collocazione = riga.Bin_Code; oProduzioneand.Quantita = Decimal.Round(riga.Quantity, 2, MidpointRounding.AwayFromZero); oProduzioneand.QuantitaFinita = Decimal.Round(riga.Finished_Quantity, 2, MidpointRounding.AwayFromZero); oProduzioneand.QuantitaResidua = Decimal.Round(riga.Remaining_Quantity, 2, MidpointRounding.AwayFromZero); oProduzioneand.QuantitaScarti = Decimal.Round(riga.Scrap__, 2, MidpointRounding.AwayFromZero); oProduzioneand.DataInizio = riga.Starting_Date; oProduzioneand.OraInizio = riga.Starting_Time; oProduzioneand.DataFine = riga.Ending_Date; oProduzioneand.OraFine = riga.Ending_Time; oProduzioneand.Articolo = riga.Routing_No_; oProduzioneand.Avanzamento = Avanzamento.InTempo; oProduzioneand.Fasi = FaseOrdineProduzione.EstraiListaFaseOrdineProduzione(riga.Prod__Order_No_); return(oProduzioneand); }
private static FaseOrdineProduzione CreaFaseOrdineProduzione(OrdiniProduzioneDS.FasiOrdiniProduzioneRow riga) { if (riga == null) { return(null); } FaseOrdineProduzione oProduzioneand = new FaseOrdineProduzione(); oProduzioneand.OrdineProduzione = riga.Prod__Order_No_; oProduzioneand.Operazione = riga.Operation_No_; oProduzioneand.AreaProduzione = riga.Work_Center_No_; oProduzioneand.DescrizioneAreaProduzione = riga.Description; oProduzioneand.Setup = riga.Setup_Time; oProduzioneand.Run = riga.Run_Time; oProduzioneand.Wait = riga.Wait_Time; oProduzioneand.Move = Decimal.Round(riga.Move_Time, 2, MidpointRounding.AwayFromZero); oProduzioneand.Lotto = riga.Lot_Size;// Decimal.Round(riga.Finished_Quantity, 2, MidpointRounding.AwayFromZero); oProduzioneand.SetupUM = riga.Setup_Time_Unit_of_Meas__Code; oProduzioneand.RunUM = riga.Run_Time_Unit_of_Meas__Code; oProduzioneand.WaitUM = riga.Wait_Time_Unit_of_Meas__Code; oProduzioneand.MoveUM = riga.Move_Time_Unit_of_Meas__Code; oProduzioneand.Task = riga.Standard_Task_Code; oProduzioneand.OraInizio = riga.Starting_Time; oProduzioneand.DataFine = riga.Ending_Date; oProduzioneand.OraFine = riga.Ending_Time; oProduzioneand.Ciclo = riga.Routing_No_; oProduzioneand.QuantitaInput = riga.Input_Quantity; oProduzioneand.WIP = riga.WIP_Item == 0; oProduzioneand.QuantitaOutput = 0; oProduzioneand.DataVersamento = string.Empty; oProduzioneand.Avanzamento = Avanzamento.InTempo; return(oProduzioneand); }