private void inserisciSeguiti(AnalisiOrdiniVenditaDS ds, AnalisiOrdiniVenditaDS.USR_CHECKQ_TRow cqt) { OrdiniVendita ov = new OrdiniVendita(); AnalisiOrdiniVenditaDS dsSeguiti = new AnalisiOrdiniVenditaDS(); List <AnalisiOrdiniVenditaDS.USR_CHECKQ_SRow> seguiti = ov.GetSeguito(ds, cqt.IDCHECKQT); foreach (AnalisiOrdiniVenditaDS.USR_CHECKQ_SRow seguito in seguiti) { FaseModel faseSeguito = new FaseModel(); faseSeguito.Livello1 = string.Empty; faseSeguito.Livello2 = cqt.IsNUMCHECKQTNull() ? string.Empty : cqt.NUMCHECKQT; faseSeguito.Livello3 = ov.GetDescrizioneSeguito(_ds, seguito.IDSEGUITOCHECKQ); faseSeguito.Tipologia = Etichette.Seguito; faseSeguito.Modello = ov.GetModello(_ds, cqt.IDMAGAZZ); faseSeguito.DataConsegna = string.Empty; faseSeguito.Quantita = string.Empty; faseSeguito.QuantitaDaTerminare = string.Empty; faseSeguito.QuantitaOK = string.Empty; faseSeguito.QuantitaDifettosa = string.Empty; faseSeguito.QuantitaNonLavorata = string.Empty; faseSeguito.QuantitaAnnullata = string.Empty; fasi.Add(faseSeguito); if (!seguito.IsIDPRDMOVFASENull()) { AnalisiOrdiniVenditaDS.USR_PRD_MOVFASIRow odl = ov.GetODL(ds, seguito.IDPRDMOVFASE); FaseModel faseODL = new FaseModel(); faseODL.Livello1 = string.Empty; faseODL.Livello2 = odl.NUMMOVFASE; faseODL.Livello3 = string.Empty; faseODL.Tipologia = Etichette.SeguitoODL; faseODL.Modello = ov.GetModello(_ds, odl.IDMAGAZZ); faseODL.DataConsegna = odl.DATAFINE.ToShortDateString(); faseODL.Quantita = odl.QTA.ToString(); faseODL.QuantitaDaTerminare = odl.QTADATER.ToString(); faseODL.QuantitaOK = odl.QTATER_OK.ToString(); faseODL.QuantitaDifettosa = odl.QTATER_DF.ToString(); faseODL.QuantitaNonLavorata = odl.QTATER_NL.ToString(); faseODL.QuantitaAnnullata = odl.QTAANN.ToString(); faseODL.ControlloQualità = string.Empty; fasi.Add(faseODL); } if (!seguito.IsIDLANCIODNull()) { ov.CaricaLancio(dsSeguiti, seguito.IDLANCIOD); foreach (AnalisiOrdiniVenditaDS.USR_PRD_FASIRow fase in dsSeguiti.USR_PRD_FASI.Where(x => x.IDLANCIOD == seguito.IDLANCIOD).OrderBy(x => x.SEQFASE)) { if (dsSeguiti.USR_PRD_MOVFASI.Where(x => x.IDPRDFASE == fase.IDPRDFASE).Count() > 0) { foreach (AnalisiOrdiniVenditaDS.USR_PRD_MOVFASIRow odl in dsSeguiti.USR_PRD_MOVFASI.Where(x => x.IDPRDFASE == fase.IDPRDFASE)) { string faseStr = string.Format("{0} - {1} {2}", fase.CODICECLIFO, ov.GetDescrizioneFase(_ds, fase.IDTABFAS), odl.NUMMOVFASE); FaseModel faseODL = new FaseModel(); faseODL.Livello1 = string.Empty; faseODL.Livello3 = faseStr; faseODL.Livello2 = string.Empty; faseODL.Tipologia = Etichette.ControlloQualita; faseODL.Modello = ov.GetModello(_ds, odl.IDMAGAZZ); faseODL.DataConsegna = odl.DATAFINE.ToShortDateString(); faseODL.Quantita = odl.QTA.ToString(); faseODL.QuantitaDaTerminare = odl.QTADATER.ToString(); faseODL.QuantitaOK = odl.QTATER_OK.ToString(); faseODL.QuantitaDifettosa = odl.QTATER_DF.ToString(); faseODL.QuantitaNonLavorata = odl.QTATER_NL.ToString(); faseODL.QuantitaAnnullata = odl.QTAANN.ToString(); faseODL.ControlloQualità = string.Empty; fasi.Add(faseODL); } } else { string faseStr = string.Format("{0} - {1}", fase.CODICECLIFO, ov.GetDescrizioneFase(_ds, fase.IDTABFAS)); FaseModel faseODL = new FaseModel(); faseODL.Livello1 = string.Empty; faseODL.Livello3 = faseStr; faseODL.Livello2 = string.Empty; faseODL.Tipologia = Etichette.ControlloQualita; faseODL.Modello = ov.GetModello(_ds, fase.IDMAGAZZ); faseODL.DataConsegna = string.Empty; faseODL.Quantita = fase.QTA.ToString(); faseODL.QuantitaDaTerminare = fase.QTADATER.ToString(); faseODL.QuantitaOK = fase.QTATER.ToString(); faseODL.QuantitaDifettosa = string.Empty; faseODL.QuantitaNonLavorata = string.Empty; faseODL.QuantitaAnnullata = fase.QTAANN.ToString(); faseODL.ControlloQualità = string.Empty; fasi.Add(faseODL); } } } // pannello.Controls.Add(suc); } }
private void caricaCommessa(bool nascondiAnnullate, bool nascondiCompletate) { try { SuspendLayout(); pannello.Controls.Clear(); // AnalisiOrdiniVenditaDS.OC_APERTIRow dettaglio = _ds.OC_APERTI.Where(x => x.IDVENDITED == idVendited).FirstOrDefault(); if (Dettaglio == null) { MessageBox.Show("Impossibile trovare i dati di dettaglio", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error); } string idVendited = Dettaglio.IDVENDITED; aggiungiCommessa(Dettaglio); OrdiniVendita ov = new OrdiniVendita(); ov.FillAccantonatoEsistenzaPerOrigine(_ds, idVendited, (decimal)OrigineAccantonato.OrdineCliente); if (_ds.USR_ACCTO_ESI.Count > 0) { foreach (AnalisiOrdiniVenditaDS.USR_ACCTO_ESIRow esistenza in _ds.USR_ACCTO_ESI) { aggiungiAccantonatoEsistenza(esistenza); } } List <AnalisiOrdiniVenditaDS.USR_ACCTO_CON_DOCRow> documentiAccantonato = new List <AnalisiOrdiniVenditaDS.USR_ACCTO_CON_DOCRow>(); ov.FillAccantonatoConsegnaPerOrigine(_ds, idVendited, (decimal)OrigineAccantonato.OrdineCliente); if (_ds.USR_ACCTO_CON.Count > 0) { foreach (AnalisiOrdiniVenditaDS.USR_ACCTO_CONRow consegna in _ds.USR_ACCTO_CON) { AccantonatoConsegnaUC uc = new AccantonatoConsegnaUC(); uc.Modello = ov.GetModello(_ds, consegna.IDMAGAZZ_ORI); uc.Destinazione = string.Format("{0} {1}", ov.GetMagazzino(_ds, consegna.IDMAGAZZ_DEST), consegna.IsCODICECLIFO_DESTNull() ? string.Empty : consegna.CODICECLIFO_DEST); uc.QuantitaOrigine = consegna.QUANTITA_ORI.ToString(); uc.QuantitaDestinazione = consegna.QUANTITA_DEST.ToString(); uc.DataConsegna = consegna.DATACONSEGNA_DEST.ToShortDateString(); foreach (AnalisiOrdiniVenditaDS.USR_ACCTO_CON_DOCRow documento in _ds.USR_ACCTO_CON_DOC.Where(x => x.IDACCTOCON == consegna.IDACCTOCON)) { uc.AggiungiDocumento(documento.DESTINAZIONE, ov.GetNumeroDocumento(_ds, documento.DESTINAZIONE, documento.IDDESTINAZIONE), documento.QUANTITA_DOC.ToString(), documento.QUANTITA_DOC_ARR.ToString()); documentiAccantonato.Add(documento); } pannello.Controls.Add(uc); } } foreach (AnalisiOrdiniVenditaDS.USR_ACCTO_CON_DOCRow documento in documentiAccantonato) { if (documento.DESTINAZIONE == (decimal)DestinazioneAccantonato.FaseDiCommessa) { AnalisiOrdiniVenditaDS.USR_PRD_FASIRow faseDestinazione = ov.GetFase(_ds, documento.IDDESTINAZIONE); List <AnalisiOrdiniVenditaDS.USR_PRD_FASIRow> fasiLancio = ov.OrdinaFasiLancio(_ds, faseDestinazione.IDLANCIOD); foreach (AnalisiOrdiniVenditaDS.USR_PRD_FASIRow fase in fasiLancio) { if (nascondiAnnullate && fase.QTA == fase.QTAANN && fase.QTATER == 0) { continue; } if (nascondiCompletate && fase.QTA == fase.QTATER && fase.QTADATER == 0) { continue; } BaseUC uc = new BaseUC(TipoControllo.Fase, ov.GetModello(_ds, fase.IDMAGAZZ), string.Format("{0} - {1}", fase.CODICECLIFO, ov.GetDescrizioneFase(_ds, fase.IDTABFAS)), string.Empty, fase.QTA, fase.QTADATER, fase.QTATER, 0, 0, fase.QTAANN, string.Empty); pannello.Controls.Add(uc); foreach (AnalisiOrdiniVenditaDS.USR_PRD_MATERow materiale in _ds.USR_PRD_MATE.Where(x => x.IDPRDFASE == fase.IDPRDFASE)) { uc.AggiungiMateriale(ov.GetModello(_ds, materiale.IDMAGAZZ), materiale.FABBIACCECOM, materiale.FABBIACCOCOM, materiale.FABBITOTCOM); } if (fase.CODICECLIFO.Trim() == "02350") { inserisciInfragruppo(fase.IDPRDFASE, nascondiAnnullate, nascondiCompletate, uc); } else { foreach (AnalisiOrdiniVenditaDS.USR_PRD_MOVFASIRow odl in _ds.USR_PRD_MOVFASI.Where(x => x.IDPRDFASE == fase.IDPRDFASE)) { string testata = string.Empty; AnalisiOrdiniVenditaDS.USR_CHECKQ_TRow cqt = _ds.USR_CHECKQ_T.Where(x => x.IDPRDMOVFASE == odl.IDPRDMOVFASE).FirstOrDefault(); if (cqt != null) { testata = cqt.NUMCHECKQT; } uc.AggiungiODL(TipoControllo.Fase, odl.NUMMOVFASE, odl.DATAFINE.ToShortDateString(), odl.QTA, odl.QTADATER, odl.QTATER_OK, odl.QTATER_DF, odl.QTATER_NL, odl.QTAANN, testata); if (cqt != null) { inserisciSeguiti(_ds, cqt, uc); } } } } } } } finally { ResumeLayout(); } }