Esempio n. 1
0
        private void VerificaRispettoScadenza()
        {
            PrioritaDS ds = new PrioritaDS();

            using (PrioritaBusiness bPriorita = new PrioritaBusiness())
            {
                bPriorita.FillRW_SCADENZE(ds, DateTime.Today.AddDays(-8), DateTime.Today);
                bPriorita.FillUSR_PRD_FLUSSO_MOVFASI_By_RW_SCADENZE(ds, DateTime.Today.AddDays(-8), DateTime.Today);

                List <string> IDPRDMOVFASI = ds.RW_SCADENZE.Select(x => x.IDPRDMOVFASE).Distinct().ToList();

                foreach (string IDPRDMOVFASE in IDPRDMOVFASI)
                {
                    List <PrioritaDS.RW_SCADENZERow>            scadenze = ds.RW_SCADENZE.Where(x => x.IDPRDMOVFASE == IDPRDMOVFASE && x.DATA <= DateTime.Today).OrderBy(x => x.DATA).ToList();
                    List <PrioritaDS.USR_PRD_FLUSSO_MOVFASIRow> termini  = ds.USR_PRD_FLUSSO_MOVFASI.Where(x => x.IDPRDMOVFASE == IDPRDMOVFASE && x.IDPRDCAUFASE == "0000000008").OrderBy(x => x.DATAFLUSSOMOVFASE).ToList();

                    foreach (PrioritaDS.RW_SCADENZERow scadenza in scadenze)
                    {
                        decimal quantitainScadenza = scadenze.Where(x => x.DATA <= scadenza.DATA).Sum(x => x.QTA);
                        decimal lavoroEseguito     = termini.Where(x => x.DATAFLUSSOMOVFASE <= scadenza.DATA).Sum(x => x.QTAFLUSSO);

                        if (lavoroEseguito < quantitainScadenza)
                        {
                            scadenza.SCADUTO = 1;
                        }
                        else
                        {
                            scadenza.SCADUTO = 0;
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        private void btnTrova_Click(object sender, EventArgs e)
        {
            if (bgwBIL.IsBusy)
            {
                MessageBox.Show("Attività di recupero BIL in corso, impossibile interrompere adesso. Aspetta che l'attività sia stata annullata e riprova", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                CancellaBackgroundWorker();
                return;
            }

            Cursor.Current      = Cursors.WaitCursor;
            statusBarLabel.Text = "Ricerca in corso...";
            try
            {
                _dsGriglieODL.Tables[_nomeTabellaGrigliaODL].Clear();
                string codiceSegnalatore = string.Empty;
                string idTabFas          = string.Empty;
                string codiceReparto     = GetCodiceReparto();
                if (ddlSegnalatore.SelectedIndex != -1)
                {
                    codiceSegnalatore = ddlSegnalatore.SelectedItem as string;
                    if (_dsAnagrafica.SEGNALATORI.Any(x => x.RAGIONESOC == codiceSegnalatore))
                    {
                        codiceSegnalatore = _dsAnagrafica.SEGNALATORI.Where(x => x.RAGIONESOC == codiceSegnalatore).Select(x => x.CODICE).FirstOrDefault();
                    }
                }

                if (ddlFase.SelectedIndex != -1)
                {
                    idTabFas = ddlFase.SelectedItem as string;
                    if (_dsAnagrafica.TABFAS.Any(x => x.DESTABFAS == idTabFas))
                    {
                        idTabFas = _dsAnagrafica.TABFAS.Where(x => x.DESTABFAS == idTabFas).Select(x => x.IDTABFAS).FirstOrDefault();
                    }
                }

                _dsPriorita = new PrioritaDS();
                using (PrioritaBusiness bPriorita = new PrioritaBusiness())
                {
                    bPriorita.FillUSR_PRD_MOVFASI_Aperti(_dsPriorita, codiceSegnalatore, codiceReparto, idTabFas, txtArticolo.Text.ToUpper());
                    if (!chkSoloAperti.Checked)
                    {
                        bPriorita.FillUSR_PRD_MOVFASI_Chiusi(_dsPriorita, codiceSegnalatore, codiceReparto, idTabFas, txtArticolo.Text.ToUpper(), 7);
                    }

                    List <string> articoli = _dsPriorita.USR_PRD_MOVFASI.Select(x => x.IDMAGAZZ).Distinct().ToList();
                    bPriorita.FillMAGAZZ(_dsAnagrafica, articoli);

                    List <string> IDPRDFASE = _dsPriorita.USR_PRD_MOVFASI.Select(x => x.IDPRDFASE).Distinct().ToList();
                    bPriorita.FillUSR_PRD_FASI(_dsPriorita, IDPRDFASE);

                    List <string> IDLANCIOD = _dsPriorita.USR_PRD_FASI.Select(x => x.IDLANCIOD).Distinct().ToList();
                    bPriorita.FillUSR_PRD_LANCIOD(_dsPriorita, IDLANCIOD);

                    List <string> IDPRDMOVFASE = _dsPriorita.USR_PRD_MOVFASI.Select(x => x.IDPRDMOVFASE).Distinct().ToList();
                    bPriorita.FillRW_SCADENZE(_dsPriorita, IDPRDMOVFASE);
                    //IDPRDMOVFASE = _dsPriorita.USR_PRD_MOVFASI.Select(x => x.IDPRDMOVFASE).Distinct().ToList();
                    //bPriorita.FillUSR_VENDITET(_dsPriorita, IDPRDMOVFASE);

                    PopolaDSGrigliaODL();
                    bgwBIL.RunWorkerAsync();
                    statusBarLabel.Text = "Recupero BIL in corso...";
                }
            }
            catch (Exception ex)
            {
                ExceptionFrm form = new ExceptionFrm(ex);
                form.ShowDialog();
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }