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; } } } } }
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; } }