コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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();
            }
        }