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 CaricaAnagrafica() { using (PrioritaBusiness bPriorita = new PrioritaBusiness()) { bPriorita.FillCLIFO(_dsAnagrafica); bPriorita.FillREPARTI(_dsAnagrafica); bPriorita.FillSEGNALATORI(_dsAnagrafica); bPriorita.FillTABFAS(_dsAnagrafica); } }
private void bgwBIL_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; try { List <string> IDPRDMOVFASES = _dsPriorita.USR_PRD_MOVFASI.Select(x => x.IDPRDMOVFASE).Distinct().ToList(); using (PrioritaBusiness bPriorita = new PrioritaBusiness()) { bPriorita.FillUSR_VENDITET(_dsPriorita, IDPRDMOVFASES); } if (worker.CancellationPending == true) { e.Cancel = true; return; } DataTable dtGriglia = _dsGriglieODL.Tables[_nomeTabellaGrigliaODL]; foreach (DataRow riga in dtGriglia.Rows) { string IDPRDMOVFASE = riga[(int)Colonne.IDPRDMOVFASE].ToString(); StringBuilder BIL = new StringBuilder(); List <PrioritaDS.USR_VENDITETRow> vendite = _dsPriorita.USR_VENDITET.Where(x => x.IDPRDMOVFASE == IDPRDMOVFASE).ToList(); if (worker.CancellationPending == true) { e.Cancel = true; break; } if (vendite.Count > 0) { foreach (PrioritaDS.USR_VENDITETRow vendita in vendite) { string str = string.Format("{0} del {1}, ", vendita.NUMDOC, vendita.DATDOC.ToShortDateString()); BIL.Append(str); } } riga[(int)Colonne.BIL] = BIL.Length == 0 ? string.Empty : BIL.ToString().Substring(0, BIL.Length - 2); } } catch (Exception ex) { ExceptionFrm form = new ExceptionFrm(ex); form.ShowDialog(); } }
private void dgvScadenze_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) { if (_disabilitaCancellazione) { return; } int rowIndex = dgvODL.SelectedCells[0].RowIndex; string IDPRDMOVFASE = dgvODL.Rows[rowIndex].Cells[(int)Colonne.IDPRDMOVFASE].Value as string; using (PrioritaBusiness bPriorita = new PrioritaBusiness()) { bPriorita.UpdateRW_SCADENZE(_dsPriorita); } int numeroRighe = _dsPriorita.RW_SCADENZE.Where(x => x.IDPRDMOVFASE == IDPRDMOVFASE).Count(); AggiornaColoreRiga(rowIndex, numeroRighe > 0); }
private void btnInserisciScadenza_Click(object sender, EventArgs e) { if (dgvODL.SelectedCells.Count == 0) { MessageBox.Show("Selezionare un ODL", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (nmQuantita.Value == 0) { MessageBox.Show("La quantità non può essere 0", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int rowIndex = dgvODL.SelectedCells[0].RowIndex; decimal quantitaDaTerminare = (decimal)dgvODL.Rows[rowIndex].Cells[(int)Colonne.QUANTITADATERMINARE].Value; if (quantitaDaTerminare == 0) { MessageBox.Show("La quantità da terminare dell'ODL è 0. Non ci sono articoli da pianificare.", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } string IDPRDMOVFASE = dgvODL.Rows[rowIndex].Cells[(int)Colonne.IDPRDMOVFASE].Value as string; decimal qtaODL = (decimal)dgvODL.Rows[rowIndex].Cells[(int)Colonne.QUANTITA].Value; using (PrioritaBusiness bPriorita = new PrioritaBusiness()) { if (VerificaCreazioneNuovaScadenza(qtaODL, IDPRDMOVFASE)) { dgvScadenze.DataSource = null; PrioritaDS.RW_SCADENZERow nuovaScadenza = _dsPriorita.RW_SCADENZE.NewRW_SCADENZERow(); nuovaScadenza.IDSCADENZA = bPriorita.GetID(); nuovaScadenza.IDPRDMOVFASE = IDPRDMOVFASE; nuovaScadenza.DATA = EstraiSoloData(dtScadenza.Value); nuovaScadenza.QTA = nmQuantita.Value; _dsPriorita.RW_SCADENZE.AddRW_SCADENZERow(nuovaScadenza); } bPriorita.UpdateRW_SCADENZE(_dsPriorita); _dsPriorita.AcceptChanges(); AssociaScadenze(IDPRDMOVFASE); } AggiornaColoreRiga(rowIndex, dgvScadenze.Rows.Count > 0); }
private void dgvODL_CellClick(object sender, DataGridViewCellEventArgs e) { _disabilitaCancellazione = true; ResetCampiScadenza(); if (e.RowIndex == -1) { return; } try { string IDLANCIOD = dgvODL.Rows[e.RowIndex].Cells[(int)Colonne.IDLANCIOD].Value as string; string IDPRDFASE = dgvODL.Rows[e.RowIndex].Cells[(int)Colonne.IDPRDFASE].Value as string; string IDPRDMOVFASE = dgvODL.Rows[e.RowIndex].Cells[(int)Colonne.IDPRDMOVFASE].Value as string; string IDMAGAZZ = dgvODL.Rows[e.RowIndex].Cells[(int)Colonne.IDMAGAZZ].Value as string; using (PrioritaBusiness bPriorita = new PrioritaBusiness()) { _dsPriorita.USR_PRD_FLUSSO_MOVFASI.Clear(); bPriorita.FillUSR_PRD_FLUSSO_MOVFASI(_dsPriorita, IDPRDMOVFASE); PopolaDSGrigliaTermini(); dgvTermini.DataSource = _dsGriglieODL; dgvTermini.DataMember = _nomeTabellaGrigliaTermini; AssociaScadenze(IDPRDMOVFASE); } } catch (Exception ex) { ExceptionFrm form = new ExceptionFrm(ex); form.ShowDialog(); } finally { _disabilitaCancellazione = false; } }
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; } }