private void inserisciInfragruppo(string idPrdFaseOrigine, bool nascondiAnnullate, bool nascondiCompletate, BaseUC ucPadre) { AnalisiOrdiniVenditaDS dsInfragruppo = new AnalisiOrdiniVenditaDS(); OrdiniVendita ov = new OrdiniVendita(); string idLancioD = ov.CaricaFasiInfragruppo(dsInfragruppo, idPrdFaseOrigine); if (string.IsNullOrEmpty(idLancioD)) { return; } List <AnalisiOrdiniVenditaDS.USR_PRD_FASIRow> fasiLancio = ov.OrdinaFasiLancio(dsInfragruppo, 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 infragruppo = new BaseUC(TipoControllo.Infragruppo, 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); foreach (AnalisiOrdiniVenditaDS.USR_PRD_MOVFASIRow odl in dsInfragruppo.USR_PRD_MOVFASI.Where(x => x.IDPRDFASE == fase.IDPRDFASE)) { string testata = string.Empty; AnalisiOrdiniVenditaDS.USR_CHECKQ_TRow cqt = dsInfragruppo.USR_CHECKQ_T.Where(x => x.IDPRDMOVFASE == odl.IDPRDMOVFASE).FirstOrDefault(); if (cqt != null) { testata = cqt.NUMCHECKQT; } ucPadre.AggiungiODL(TipoControllo.Infragruppo, 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(dsInfragruppo, cqt, ucPadre); } } } }
private void inserisciInfragruppo(string idPrdFaseOrigine, bool nascondiAnnullate, bool nascondiCompletate) { AnalisiOrdiniVenditaDS dsInfragruppo = new AnalisiOrdiniVenditaDS(); OrdiniVendita ov = new OrdiniVendita(); string idLancioD = ov.CaricaFasiInfragruppo(dsInfragruppo, idPrdFaseOrigine); if (string.IsNullOrEmpty(idLancioD)) { return; } List <AnalisiOrdiniVenditaDS.USR_PRD_FASIRow> fasiLancio = ov.OrdinaFasiLancio(dsInfragruppo, 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; } FaseModel faseInfragruppo = new FaseModel(); faseInfragruppo.Livello1 = string.Empty; faseInfragruppo.Livello2 = string.Format("{0} - {1}", fase.CODICECLIFO, ov.GetDescrizioneFase(_ds, fase.IDTABFAS)); faseInfragruppo.Livello3 = string.Empty; faseInfragruppo.Tipologia = Etichette.Infragruppo; faseInfragruppo.Modello = ov.GetModello(_ds, fase.IDMAGAZZ); faseInfragruppo.DataConsegna = string.Empty; faseInfragruppo.Quantita = fase.QTA.ToString(); faseInfragruppo.QuantitaDaTerminare = fase.QTADATER.ToString(); faseInfragruppo.QuantitaOK = fase.QTATER.ToString(); faseInfragruppo.QuantitaDifettosa = string.Empty; faseInfragruppo.QuantitaNonLavorata = string.Empty; faseInfragruppo.QuantitaAnnullata = fase.QTAANN.ToString(); fasi.Add(faseInfragruppo); foreach (AnalisiOrdiniVenditaDS.USR_PRD_MOVFASIRow odl in dsInfragruppo.USR_PRD_MOVFASI.Where(x => x.IDPRDFASE == fase.IDPRDFASE)) { string testata = string.Empty; AnalisiOrdiniVenditaDS.USR_CHECKQ_TRow cqt = dsInfragruppo.USR_CHECKQ_T.Where(x => x.IDPRDMOVFASE == odl.IDPRDMOVFASE).FirstOrDefault(); if (cqt != null) { testata = cqt.NUMCHECKQT; } FaseModel faseODL = new FaseModel(); faseODL.Livello1 = string.Empty; faseODL.Livello2 = odl.NUMMOVFASE; faseODL.Livello3 = string.Empty; faseODL.Tipologia = Etichette.InfragruppoODL; faseODL.Modello = ov.GetModello(_ds, fase.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à = testata; fasi.Add(faseODL); if (cqt != null) { inserisciSeguiti(dsInfragruppo, cqt); } } } }