// Dislocazione dei Dipendenti all'Estero public ActionResult Dislocazione(string codicesede = "", string V_UTENTE = "", string V_DATA = "", string V_UFFICIO = "") { ViewBag.ListaDislocazioneDipEstero = new List <SelectListItem>(); List <DipEsteroModel> lcm = new List <DipEsteroModel>(); List <SelectListItem> lr = new List <SelectListItem>(); List <Stp_Dislocazione_dipendenti> lsd = new List <Stp_Dislocazione_dipendenti>(); List <Stp_Dislocazione_dipendenti> model = new List <Stp_Dislocazione_dipendenti>(); lcm = Dipendenti.GetAllSedi().ToList(); if (lcm != null && lcm.Any()) { foreach (var item in lcm) { SelectListItem r = new SelectListItem() { Text = item.descrizione, Value = item.codicesede }; lr.Add(r); } if (codicesede == string.Empty) { //lr.First().Selected = true; lr.First().Value = ""; codicesede = lr.First().Value; } else { var lvr = lr.Where(a => a.Value == codicesede); if (lvr != null && lvr.Count() > 0) { var r = lvr.First(); r.Selected = true; } } ViewBag.ListaDislocazioneDipEstero = lr; } // Chiamata alla pagina Visual Basic -- Stampa_Elenco_Trasferimenti() //StampeISE.frmStampe xx = new frmStampe(); //xx.Stampa_Consuntivo_Costi_x_Coan("E135A054B1", "01/03/2017", "01/03/2018", "fantomas"); //StampeISE.Class1 xx = new Class1(); //xx.Stampa_Elenco_Trasferimenti(); using (var cn = new OracleConnection(ConfigurationManager.ConnectionStrings["DBISESTOR"].ConnectionString)) { OracleCommand cmd1 = new OracleCommand(); cmd1.Connection = cn; cmd1.CommandText = "ISE_STAMPA_ELENCO_TRASF"; cmd1.CommandType = System.Data.CommandType.StoredProcedure; cmd1.Parameters.Add("@V_UTENTE", OracleDbType.Varchar2, 50).Value = V_UTENTE; cmd1.Parameters.Add("@V_DATA", OracleDbType.Varchar2, 50).Value = V_DATA; cmd1.Parameters.Add("@V_UFFICIO", OracleDbType.Varchar2, 50).Value = codicesede; cn.Open(); cmd1.ExecuteNonQuery(); //String Sql = "Select distinct SEDE, VALUTA, MATRICOLA, NOMINATIVO, DT_TRASFERIMENTO, QUALIFICA, CONIUGE, FIGLI, ISEP, CONTRIBUTO, USO, ISEP + CONTRIBUTO + USO TOTALE From ISE_STP_ELENCOTRASFERIMENTI, SEDIESTERE WHERE SEDIESTERE.SED_COD_SEDE = '" + codicesede + "' AND ISE_STP_ELENCOTRASFERIMENTI.SEDE = SEDIESTERE.SED_DESCRIZIONE Order By SEDE, NOMINATIVO"; String Sql = "Select SEDE,VALUTA, "; Sql += "MATRICOLA, "; Sql += "NOMINATIVO, "; Sql += "DT_TRASFERIMENTO, "; Sql += "QUALIFICA, "; Sql += "CONIUGE, "; Sql += "FIGLI, "; Sql += "ISEP, "; Sql += "CONTRIBUTO, "; Sql += "USO, "; Sql += "ISEP +CONTRIBUTO + USO TOTALE "; Sql += "From ISE_STP_ELENCOTRASFERIMENTI "; Sql += "Where UTENTE = '" + V_UTENTE + "' "; Sql += "Order By SEDE, NOMINATIVO"; using (OracleCommand cmd = new OracleCommand()) { cmd.Connection = cn; cmd.CommandText = Sql; //cmd.Parameters.Add("codsede", codicesede); //cmd.Connection.Open(); using (OracleDataReader rdr = cmd.ExecuteReader()) { if (rdr.HasRows) { while (rdr.Read()) { var details = new Stp_Dislocazione_dipendenti(); details.sede = rdr["SEDE"].ToString(); details.valuta = rdr["VALUTA"].ToString(); details.matricola = rdr["MATRICOLA"].ToString(); details.nominativo = rdr["NOMINATIVO"].ToString(); details.dataTrasferimento = Convert.ToDateTime(rdr["DT_TRASFERIMENTO"]).ToString("dd/MM/yyyy"); details.qualifica = rdr["QUALIFICA"].ToString(); details.coniuge = rdr["CONIUGE"].ToString(); details.figli = rdr["FIGLI"].ToString(); details.isep = rdr["ISEP"].ToString(); details.contributo = rdr["CONTRIBUTO"].ToString(); details.uso = rdr["USO"].ToString(); details.totale = rdr["TOTALE"].ToString(); model.Add(details); } } } } return(PartialView("DislocazioneDipEstero", model)); } }
public ActionResult StoriaDipendente(string matricola = "") { ViewBag.ListaCategorie = new List <SelectListItem>(); List <CategoryModel> lcm = new List <CategoryModel>(); List <SelectListItem> lr = new List <SelectListItem>(); List <Stp_Storia_Dipendente> lsd = new List <Stp_Storia_Dipendente>(); List <Stp_Storia_Dipendente> model = new List <Stp_Storia_Dipendente>(); lcm = Dipendenti.GetAllDipendenti().ToList(); if (lcm != null && lcm.Any()) { foreach (var item in lcm) { SelectListItem r = new SelectListItem() { Text = item.nominativo, Value = item.matricola }; lr.Add(r); } if (matricola == string.Empty) { lr.First().Selected = true; matricola = lr.First().Value; } else { var lvr = lr.Where(a => a.Value == matricola); if (lvr != null && lvr.Count() > 0) { var r = lvr.First(); r.Selected = true; } } ViewBag.ListaCategorie = lr; } //return PartialView("StoriaDipendente", lsd); using (var cn = new OracleConnection(ConfigurationManager.ConnectionStrings["DBISESTOR"].ConnectionString)) { //String Sql = "SELECT DECODE (rec,1, z.livello, '') livello, DECODE(rec, 1, z.TIPO_MOVIMENTO, '') tipo_movimento, DECODE(rec, 1, z.IES_DT_DECORRENZA, '') data_decorrenza, DECODE(rec, 1, z.IES_DT_LETTERA, '') data_lettera, DECODE(rec, 1, z.COEFFICIENTE_DI_SEDE, '') coef_sede, DECODE(rec, 1, z.IES_PERC_DISAGIO, '') perc_disagio, DECODE(rec, 1, z.IES_PERC_ABBATTIMENTO, '') perc_spettante, DECODE(rec, 1, z.IES_PERC_CONIUGE, '') perc_Coniuge, DECODE(rec, 1, z.IES_PENSIONE, '') pensione, DECODE(rec, 1, z.IES_FIGLI, '') n_figli, DECODE(rec, 1, z.CAMBIO, '') TFR, z.descr, z.indennita, z.IES_COD_TIPO_MOVIMENTO ord2, z.IES_PROG_MOVIMENTO ord3, z.IES_DT_DECORRENZA ord1 FROM (SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, SED_DESCRIZIONE AS SEDE, VAL_DESCRIZIONE AS VALUTA,IBS_DESCRIZIONE AS LIVELLO, TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, IES_DT_DECORRENZA, IES_DT_LETTERA, ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, IES_PERC_DISAGIO, IES_PERC_ABBATTIMENTO, IES_PERC_CONIUGE, IES_PENSIONE, IES_FIGLI, ABS(IES_CAMBIO) AS CAMBIO, '1-Base ' descr, IES_INDEN_BASE AS Indennita, IES_COD_TIPO_MOVIMENTO, IES_PROG_MOVIMENTO, AND_COGNOME || ' '|| AND_NOME NOMINATIVO, 1 rec FROM INDESTERA, TIPOMOVIMENTO, SEDIESTERE, VALUTE, INDENNITABASE, ANADIPE WHERE IES_COD_SEDE = SED_COD_SEDE AND IES_COD_VALUTA = VAL_COD_VALUTA AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO AND IES_MATRICOLA = AND_MATRICOLA AND IES_MATRICOLA = 3192 AND IES_FLAG_RICALCOLATO IS NULL UNION SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, SED_DESCRIZIONE AS SEDE, VAL_DESCRIZIONE AS VALUTA, IBS_DESCRIZIONE AS LIVELLO, TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, IES_DT_DECORRENZA, IES_DT_LETTERA, ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, IES_PERC_DISAGIO, IES_PERC_ABBATTIMENTO, IES_PERC_CONIUGE, IES_PENSIONE, IES_FIGLI, ABS(IES_CAMBIO) AS CAMBIO, '2-Pers. ' descr, DECODE(IES_FLAG_VALUTA, 'E', IES_INDEN_PERS * IES_CAMBIO, IES_INDEN_PERS / IES_CAMBIO) AS Indennita, IES_COD_TIPO_MOVIMENTO, IES_PROG_MOVIMENTO, AND_COGNOME || ' ' || AND_NOME NOMINATIVO, 2 rec FROM INDESTERA, TIPOMOVIMENTO, SEDIESTERE, VALUTE, INDENNITABASE, ANADIPE WHERE IES_COD_SEDE = SED_COD_SEDE AND IES_COD_VALUTA = VAL_COD_VALUTA AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO AND IES_MATRICOLA = AND_MATRICOLA AND IES_MATRICOLA = 3192 AND IES_FLAG_RICALCOLATO IS NULL UNION SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, SED_DESCRIZIONE AS SEDE, VAL_DESCRIZIONE AS VALUTA, IBS_DESCRIZIONE AS LIVELLO, TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, IES_DT_DECORRENZA, IES_DT_LETTERA, ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, IES_PERC_DISAGIO, IES_PERC_ABBATTIMENTO, IES_PERC_CONIUGE, IES_PENSIONE, IES_FIGLI, ABS(IES_CAMBIO) AS CAMBIO, '4-Sist/Rien. ' descr, IES_INDEN_SIS_RIE AS Indennita, IES_COD_TIPO_MOVIMENTO, IES_PROG_MOVIMENTO, AND_COGNOME || ' ' || AND_NOME NOMINATIVO, 4 rec FROM INDESTERA, TIPOMOVIMENTO, SEDIESTERE, VALUTE, INDENNITABASE, ANADIPE WHERE IES_COD_SEDE = SED_COD_SEDE AND IES_COD_VALUTA = VAL_COD_VALUTA AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO AND IES_MATRICOLA = AND_MATRICOLA AND IES_MATRICOLA = 3192 AND IES_FLAG_RICALCOLATO IS NULL UNION SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, SED_DESCRIZIONE AS SEDE, VAL_DESCRIZIONE AS VALUTA, IBS_DESCRIZIONE AS LIVELLO, TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, IES_DT_DECORRENZA, IES_DT_LETTERA, ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, IES_PERC_DISAGIO, IES_PERC_ABBATTIMENTO, IES_PERC_CONIUGE,IES_PENSIONE, IES_FIGLI, ABS(IES_CAMBIO) AS CAMBIO, '3-Anticipo ' descr, IES_ANTICIPO AS Indennita, IES_COD_TIPO_MOVIMENTO, IES_PROG_MOVIMENTO, AND_COGNOME || ' ' || AND_NOME NOMINATIVO, 3 rec FROM INDESTERA, TIPOMOVIMENTO, SEDIESTERE, VALUTE, INDENNITABASE, ANADIPE WHERE IES_COD_SEDE = SED_COD_SEDE AND IES_COD_VALUTA = VAL_COD_VALUTA AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO AND IES_MATRICOLA = AND_MATRICOLA AND IES_MATRICOLA = 3192 AND IES_FLAG_RICALCOLATO IS NULL UNION SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, SED_DESCRIZIONE AS SEDE, VAL_DESCRIZIONE AS VALUTA, IBS_DESCRIZIONE AS LIVELLO, TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, IES_DT_DECORRENZA, IES_DT_LETTERA, ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, IES_PERC_DISAGIO, IES_PERC_ABBATTIMENTO, IES_PERC_CONIUGE, IES_PENSIONE, IES_FIGLI, ABS(IES_CAMBIO) AS CAMBIO, '5-Sist.Netta ' descr, DECODE(IES_FLAG_VALUTA, 'E', IES_INDEN_SIS_RIE_NETTA * IES_CAMBIO, IES_INDEN_SIS_RIE_NETTA / IES_CAMBIO) AS Indennita, IES_COD_TIPO_MOVIMENTO, IES_PROG_MOVIMENTO, AND_COGNOME || ' ' || AND_NOME NOMINATIVO, 5 rec FROM INDESTERA, TIPOMOVIMENTO, SEDIESTERE, VALUTE, INDENNITABASE, ANADIPE WHERE IES_COD_SEDE = SED_COD_SEDE AND IES_COD_VALUTA = VAL_COD_VALUTA AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO AND IES_MATRICOLA = AND_MATRICOLA AND IES_MATRICOLA = 3192 AND IES_FLAG_RICALCOLATO IS NULL ) z ORDER BY z.IES_DT_DECORRENZA, z.IES_COD_TIPO_MOVIMENTO, z.IES_PROG_MOVIMENTO, z.descr"; #region Query gigius String Sql = "SELECT DECODE (rec,1, z.nominativo, '') nominativo, "; Sql += "DECODE (rec,1, z.ies_matricola, '') matricola, "; Sql += "DECODE (rec,1, z.livello, '') livello, "; Sql += "DECODE(rec, 1, z.TIPO_MOVIMENTO, '') tipo_movimento, "; Sql += "DECODE(rec, 1, z.IES_DT_DECORRENZA, '') data_decorrenza, "; Sql += "DECODE(rec, 1, z.IES_DT_LETTERA, '') data_lettera, "; Sql += "DECODE(rec, 1, z.COEFFICIENTE_DI_SEDE, '') coef_sede, "; Sql += "DECODE(rec, 1, z.IES_PERC_DISAGIO, '') perc_disagio, "; Sql += "DECODE(rec, 1, z.IES_PERC_ABBATTIMENTO, '') perc_spettante, "; Sql += "DECODE(rec, 1, z.IES_PERC_CONIUGE, '') perc_Coniuge, "; Sql += "DECODE(rec, 1, z.IES_PENSIONE, '') pensione, "; Sql += "DECODE(rec, 1, z.IES_FIGLI, '') n_figli, "; Sql += "DECODE(rec, 1, z.CAMBIO, '') TFR, "; Sql += "z.descr, "; Sql += "ROUND(z.indennita,2) indennita, "; Sql += "z.IES_COD_TIPO_MOVIMENTO ord2, "; Sql += "z.IES_PROG_MOVIMENTO ord3, "; Sql += "z.IES_DT_DECORRENZA ord1 "; Sql += "FROM "; Sql += "(SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, "; Sql += "SED_DESCRIZIONE AS SEDE, "; Sql += "VAL_DESCRIZIONE AS VALUTA, "; Sql += "IBS_DESCRIZIONE AS LIVELLO, "; Sql += "TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, "; Sql += "IES_DT_DECORRENZA, "; Sql += "IES_DT_LETTERA, "; Sql += "ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, "; Sql += "IES_PERC_DISAGIO, "; Sql += "IES_PERC_ABBATTIMENTO, "; Sql += "IES_PERC_CONIUGE, "; Sql += "IES_PENSIONE, "; Sql += "IES_FIGLI, "; Sql += "ABS(IES_CAMBIO) AS CAMBIO, "; Sql += "'1-Base ' descr, "; Sql += "IES_INDEN_BASE AS Indennita, "; Sql += "IES_COD_TIPO_MOVIMENTO, "; Sql += "IES_PROG_MOVIMENTO, "; Sql += "IES_MATRICOLA, "; Sql += "AND_COGNOME "; Sql += "|| ' ' "; Sql += "|| AND_NOME NOMINATIVO, "; Sql += "1 rec "; Sql += "FROM INDESTERA, "; Sql += "TIPOMOVIMENTO, "; Sql += "SEDIESTERE, "; Sql += "VALUTE, "; Sql += "INDENNITABASE, "; Sql += "ANADIPE "; Sql += "WHERE IES_COD_SEDE = SED_COD_SEDE "; Sql += "AND IES_COD_VALUTA = VAL_COD_VALUTA "; Sql += "AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA "; Sql += "AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO "; Sql += "AND IES_MATRICOLA = AND_MATRICOLA "; //Sql += "AND IES_MATRICOLA = " + matricola + " "; Sql += "AND IES_MATRICOLA = :matr "; Sql += "AND IES_FLAG_RICALCOLATO IS NULL "; Sql += "UNION "; Sql += "SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, "; Sql += "SED_DESCRIZIONE AS SEDE, "; Sql += "VAL_DESCRIZIONE AS VALUTA, "; Sql += "IBS_DESCRIZIONE AS LIVELLO, "; Sql += "TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, "; Sql += "IES_DT_DECORRENZA, "; Sql += "IES_DT_LETTERA, "; Sql += "ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, "; Sql += "IES_PERC_DISAGIO, "; Sql += "IES_PERC_ABBATTIMENTO, "; Sql += "IES_PERC_CONIUGE, "; Sql += "IES_PENSIONE, "; Sql += "IES_FIGLI, "; Sql += "ABS(IES_CAMBIO) AS CAMBIO, "; Sql += "'2-Pers. ' descr, "; Sql += "DECODE(IES_FLAG_VALUTA, 'E', IES_INDEN_PERS * IES_CAMBIO, IES_INDEN_PERS / IES_CAMBIO) AS Indennita, "; Sql += "IES_COD_TIPO_MOVIMENTO, "; Sql += "IES_PROG_MOVIMENTO, "; Sql += "IES_MATRICOLA, "; Sql += "AND_COGNOME "; Sql += "|| ' ' "; Sql += "|| AND_NOME NOMINATIVO, "; Sql += "2 rec "; Sql += "FROM INDESTERA, "; Sql += "TIPOMOVIMENTO, "; Sql += "SEDIESTERE, "; Sql += "VALUTE, "; Sql += "INDENNITABASE, "; Sql += "ANADIPE "; Sql += "WHERE IES_COD_SEDE = SED_COD_SEDE "; Sql += "AND IES_COD_VALUTA = VAL_COD_VALUTA "; Sql += "AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA "; Sql += "AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO "; Sql += "AND IES_MATRICOLA = AND_MATRICOLA "; //Sql += "AND IES_MATRICOLA = " + matricola + " "; Sql += "AND IES_MATRICOLA = :matr "; Sql += "AND IES_FLAG_RICALCOLATO IS NULL "; Sql += "UNION "; Sql += "SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, "; Sql += "SED_DESCRIZIONE AS SEDE, "; Sql += "VAL_DESCRIZIONE AS VALUTA, "; Sql += "IBS_DESCRIZIONE AS LIVELLO, "; Sql += "TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, "; Sql += "IES_DT_DECORRENZA, "; Sql += "IES_DT_LETTERA, "; Sql += "ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, "; Sql += "IES_PERC_DISAGIO, "; Sql += "IES_PERC_ABBATTIMENTO, "; Sql += "IES_PERC_CONIUGE, "; Sql += "IES_PENSIONE, "; Sql += "IES_FIGLI, "; Sql += "ABS(IES_CAMBIO) AS CAMBIO, "; Sql += "'4-Sist/Rien. ' descr, "; Sql += "IES_INDEN_SIS_RIE AS Indennita, "; Sql += "IES_COD_TIPO_MOVIMENTO, "; Sql += "IES_PROG_MOVIMENTO, "; Sql += "IES_MATRICOLA, "; Sql += "AND_COGNOME "; Sql += "|| ' ' "; Sql += "|| AND_NOME NOMINATIVO, "; Sql += "4 rec "; Sql += "FROM INDESTERA, "; Sql += "TIPOMOVIMENTO, "; Sql += "SEDIESTERE, "; Sql += "VALUTE, "; Sql += "INDENNITABASE, "; Sql += "ANADIPE "; Sql += "WHERE IES_COD_SEDE = SED_COD_SEDE "; Sql += "AND IES_COD_VALUTA = VAL_COD_VALUTA "; Sql += "AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA "; Sql += "AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO "; Sql += "AND IES_MATRICOLA = AND_MATRICOLA "; //Sql += "AND IES_MATRICOLA = " + matricola + " "; Sql += "AND IES_MATRICOLA = :matr "; Sql += "AND IES_FLAG_RICALCOLATO IS NULL "; Sql += "UNION "; Sql += "SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, "; Sql += "SED_DESCRIZIONE AS SEDE, "; Sql += "VAL_DESCRIZIONE AS VALUTA, "; Sql += "IBS_DESCRIZIONE AS LIVELLO, "; Sql += "TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, "; Sql += "IES_DT_DECORRENZA, "; Sql += "IES_DT_LETTERA, "; Sql += "ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, "; Sql += "IES_PERC_DISAGIO, "; Sql += "IES_PERC_ABBATTIMENTO, "; Sql += "IES_PERC_CONIUGE, "; Sql += "IES_PENSIONE, "; Sql += "IES_FIGLI, "; Sql += "ABS(IES_CAMBIO) AS CAMBIO, "; Sql += "'3-Anticipo ' descr, "; Sql += "IES_ANTICIPO AS Indennita, "; Sql += "IES_COD_TIPO_MOVIMENTO, "; Sql += "IES_PROG_MOVIMENTO, "; Sql += "IES_MATRICOLA, "; Sql += "AND_COGNOME "; Sql += "|| ' ' "; Sql += "|| AND_NOME NOMINATIVO, "; Sql += "3 rec "; Sql += "FROM INDESTERA, "; Sql += "TIPOMOVIMENTO, "; Sql += "SEDIESTERE, "; Sql += "VALUTE, "; Sql += "INDENNITABASE, "; Sql += "ANADIPE "; Sql += "WHERE IES_COD_SEDE = SED_COD_SEDE "; Sql += "AND IES_COD_VALUTA = VAL_COD_VALUTA "; Sql += "AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA "; Sql += "AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO "; Sql += "AND IES_MATRICOLA = AND_MATRICOLA "; //Sql += "AND IES_MATRICOLA = " + matricola + " "; Sql += "AND IES_MATRICOLA = :matr "; Sql += "AND IES_FLAG_RICALCOLATO IS NULL "; Sql += "UNION "; Sql += "SELECT DISTINCT IES_PROG_TRASFERIMENTO AS TIPOLOGIA_TRASFERIMENTO, "; Sql += "SED_DESCRIZIONE AS SEDE, "; Sql += "VAL_DESCRIZIONE AS VALUTA, "; Sql += "IBS_DESCRIZIONE AS LIVELLO, "; Sql += "TMO_DESCRIZIONE_MOVIMENTO AS TIPO_MOVIMENTO, "; Sql += "IES_DT_DECORRENZA, "; Sql += "IES_DT_LETTERA, "; Sql += "ABS(IES_COEFFICIENTE_SEDE) AS COEFFICIENTE_DI_SEDE, "; Sql += "IES_PERC_DISAGIO, "; Sql += "IES_PERC_ABBATTIMENTO, "; Sql += "IES_PERC_CONIUGE, "; Sql += "IES_PENSIONE, "; Sql += "IES_FIGLI, "; Sql += "ABS(IES_CAMBIO) AS CAMBIO, "; Sql += "'5-Sist.Netta ' descr, "; Sql += "DECODE(IES_FLAG_VALUTA, 'E', IES_INDEN_SIS_RIE_NETTA * IES_CAMBIO, IES_INDEN_SIS_RIE_NETTA / IES_CAMBIO) AS Indennita, "; Sql += "IES_COD_TIPO_MOVIMENTO, "; Sql += "IES_PROG_MOVIMENTO, "; Sql += "IES_MATRICOLA, "; Sql += "AND_COGNOME "; Sql += "|| ' ' "; Sql += "|| AND_NOME NOMINATIVO, "; Sql += "5 rec "; Sql += "FROM INDESTERA, "; Sql += "TIPOMOVIMENTO, "; Sql += "SEDIESTERE, "; Sql += "VALUTE, "; Sql += "INDENNITABASE, "; Sql += "ANADIPE "; Sql += "WHERE IES_COD_SEDE = SED_COD_SEDE "; Sql += "AND IES_COD_VALUTA = VAL_COD_VALUTA "; Sql += "AND IES_COD_QUALIFICA = IBS_COD_QUALIFICA "; Sql += "AND IES_COD_TIPO_MOVIMENTO = TMO_COD_TIPO_MOVIMENTO "; Sql += "AND IES_MATRICOLA = AND_MATRICOLA "; //Sql += "AND IES_MATRICOLA = " + matricola + " "; Sql += "AND IES_MATRICOLA = :matr "; Sql += "AND IES_FLAG_RICALCOLATO IS NULL "; Sql += ") z "; Sql += "ORDER BY z.nominativo, "; Sql += "z.ies_matricola, "; Sql += "z.IES_DT_DECORRENZA, "; Sql += "z.IES_COD_TIPO_MOVIMENTO, "; Sql += "z.IES_PROG_MOVIMENTO, "; Sql += "z.descr "; #endregion using (OracleCommand cmd = new OracleCommand()) { cmd.Connection = cn; cmd.CommandText = Sql; cmd.Parameters.Add("matr", matricola); cmd.Connection.Open(); using (OracleDataReader rdr = cmd.ExecuteReader()) { if (rdr.HasRows) { while (rdr.Read()) { var details = new Stp_Storia_Dipendente(); details.NOMINATIVO = rdr["NOMINATIVO"].ToString(); details.MATRICOLA = rdr["MATRICOLA"].ToString(); details.LIVELLO = rdr["LIVELLO"].ToString(); details.TIPO_MOVIMENTO = rdr["TIPO_MOVIMENTO"].ToString(); details.DATA_DECORRENZA = rdr["DATA_DECORRENZA"] == DBNull.Value ? null : Convert.ToDateTime(rdr["DATA_DECORRENZA"]).ToString("dd/MM/yyyy"); //details.DATA_DECORRENZA = Convert.ToDateTime(rdr["DATA_DECORRENZA"]).ToString("dd/MM/yyyy"); //details.DATA_DECORRENZA = rdr["DATA_DECORRENZA"].ToString(); //details.DATA_LETTERA = rdr["DATA_LETTERA"].ToString(); details.DATA_LETTERA = rdr["DATA_LETTERA"] == DBNull.Value ? null : Convert.ToDateTime(rdr["DATA_LETTERA"]).ToString("dd/MM/yyyy"); //details.DATA_LETTERA = Convert.ToDateTime(rdr["DATA_LETTERA"]).ToString("dd/MM/yyyy"); details.COEF_SEDE = rdr["COEF_SEDE"].ToString(); details.PERC_DISAGIO = rdr["PERC_DISAGIO"].ToString(); details.PERC_SPETTANTE = rdr["PERC_SPETTANTE"].ToString(); details.PERC_CONIUGE = rdr["PERC_CONIUGE"].ToString(); details.PENSIONE = rdr["PENSIONE"].ToString(); details.N_FIGLI = rdr["N_FIGLI"].ToString(); details.TFR = rdr["TFR"].ToString(); details.DESCR = rdr["DESCR"].ToString(); details.INDENNITA = rdr["INDENNITA"].ToString(); details.ORD1 = rdr["ord1"].ToString(); details.ORD2 = rdr["ord2"].ToString(); details.ORD3 = rdr["ord3"].ToString(); model.Add(details); } } } } return(PartialView("StoriaDipendente", model)); } }
// Presenze Livelli in servizio all' Estero public ActionResult PresenzeLivelli(string codicequalifica = "", string V_DATA = "", string V_DATA1 = "") { // Combo Qualifiche //Select Distinct IBS_DESCRIZIONE From INDENNITABASE Order By IBS_DESCRIZIONE ViewBag.ListaDipendentiEsteroLivello = new List <SelectListItem>(); List <DipEsteroLivelloModel> lcm = new List <DipEsteroLivelloModel>(); List <SelectListItem> lr = new List <SelectListItem>(); List <Stp_Presenze_Livelli> lsd = new List <Stp_Presenze_Livelli>(); List <Stp_Presenze_Livelli> model = new List <Stp_Presenze_Livelli>(); lcm = Dipendenti.GetAllQualifiche().ToList(); if (lcm != null && lcm.Any()) { foreach (var item in lcm) { SelectListItem r = new SelectListItem() { Text = item.qualifica, Value = item.codicequalifica }; lr.Add(r); } if (codicequalifica == string.Empty) { //lr.First().Selected = true; lr.First().Value = ""; codicequalifica = lr.First().Value; } else { var lvr = lr.Where(a => a.Value == codicequalifica); if (lvr != null && lvr.Count() > 0) { var r = lvr.First(); r.Selected = true; } } ViewBag.ListaDipendentiEsteroLivello = lr; } using (var cn = new OracleConnection(ConfigurationManager.ConnectionStrings["DBISESTOR"].ConnectionString)) { // Insert into ISE_STP_LIVELLIESTERI //String Sql = "Select distinct CODQUALIFICA, QUALIFICA, NOMINATIVO, MATRICOLA, SEDE, DT_TRASFERIMENTO, DT_RIENTRO, DT_DECORRENZA From ISE_STP_LIVELLIESTERI Order By QUALIFICA, NOMINATIVO"; //string Data_Oracle = VDATA; if (V_DATA == "") { V_DATA = "01/01/" + DateTime.Now.Year; } String Sql = "Select Distinct IES_COD_QUALIFICA, "; Sql += "IBS_DESCRIZIONE, "; Sql += "IES_MATRICOLA, "; Sql += "IES_DT_DECORRENZA, "; Sql += "AND_COGNOME || ' ' || AND_NOME NOMINATIVO, "; Sql += "SED_DESCRIZIONE, "; Sql += "IES_DT_TRASFERIMENTO, "; Sql += "TRA_DT_FIN_TRASFERIMENTO, "; Sql += "IES_PROG_TRASFERIMENTO, "; Sql += "IES_PROG_MOVIMENTO "; Sql += "From INDESTERA T1, "; Sql += "SEDIESTERE, "; Sql += "INDENNITABASE, "; Sql += "ANADIPE, "; Sql += "TRASFERIMENTO, "; Sql += "(Select A.IES_MATRICOLA MATR, Max(A.IES_DT_DECORRENZA) DATAM "; Sql += "From INDESTERA A, INDESTERA B "; Sql += "Where A.IES_MATRICOLA = B.IES_MATRICOLA "; Sql += "And A.IES_PROG_TRASFERIMENTO = B.IES_PROG_TRASFERIMENTO "; Sql += "And A.IES_DT_DECORRENZA <= To_Date ('" + V_DATA + "', 'DD-MM-YYYY') "; Sql += "GROUP BY A.IES_MATRICOLA) MAXDATA "; Sql += "Where(IES_DT_TRASFERIMENTO <= To_Date ('" + V_DATA1 + "','DD-MM-YYYY')) "; Sql += "And (TRA_DT_FIN_TRASFERIMENTO Is Null Or "; Sql += "To_Date (TRA_DT_FIN_TRASFERIMENTO) > "; Sql += "To_Date( '" + V_DATA + "', 'DD-MM-YYYY')) "; Sql += "And MAXDATA.MATR(+) = IES_MATRICOLA "; Sql += "And (IES_DT_DECORRENZA > To_Date('" + V_DATA + "', 'DD-MM-YYYY') Or "; Sql += "IES_DT_DECORRENZA = MAXDATA.DATAM) "; Sql += "And IES_FLAG_RICALCOLATO Is Null "; Sql += "And IES_COD_QUALIFICA = IBS_COD_QUALIFICA "; Sql += "And IES_MATRICOLA = AND_MATRICOLA "; Sql += "And IES_COD_SEDE = SED_COD_SEDE "; Sql += "And IES_MATRICOLA = TRA_MATRICOLA "; Sql += "And IES_PROG_TRASFERIMENTO = TRA_PROG_TRASFERIMENTO "; if (codicequalifica != "") { Sql += "And IES_COD_QUALIFICA = :codqualifica "; } //Sql += "And IBS_DESCRIZIONE = 'DIRIGENTE' "; Sql += "Order By IES_MATRICOLA, "; Sql += "IES_PROG_TRASFERIMENTO Desc, "; Sql += "IES_DT_DECORRENZA Desc, "; Sql += "IES_PROG_MOVIMENTO Desc "; using (OracleCommand cmd = new OracleCommand()) { cmd.Connection = cn; cmd.CommandText = Sql; cmd.Parameters.Add("codqualifica", codicequalifica); cmd.Connection.Open(); using (OracleDataReader rdr = cmd.ExecuteReader()) { if (rdr.HasRows) { while (rdr.Read()) { var details = new Stp_Presenze_Livelli(); details.codQualifica = rdr["IES_COD_QUALIFICA"].ToString(); details.qualifica = rdr["IBS_DESCRIZIONE"].ToString(); details.nominativo = rdr["NOMINATIVO"].ToString(); details.matricola = rdr["IES_MATRICOLA"].ToString(); details.sede = rdr["SED_DESCRIZIONE"].ToString(); //details.dt_Trasferimento = Convert.ToDateTime(rdr["IES_DT_TRASFERIMENTO"]).ToString("dd/MM/yyyy"); details.dt_Trasferimento = rdr["IES_DT_TRASFERIMENTO"] == DBNull.Value ? null : Convert.ToDateTime(rdr["IES_DT_TRASFERIMENTO"]).ToString("dd/MM/yyyy"); //details.dt_Rientro = Convert.ToDateTime(rdr["TRA_DT_FIN_TRASFERIMENTO"]).ToString("dd/MM/yyyy"); details.dt_Rientro = rdr["TRA_DT_FIN_TRASFERIMENTO"] == DBNull.Value ? null : Convert.ToDateTime(rdr["TRA_DT_FIN_TRASFERIMENTO"]).ToString("dd/MM/yyyy"); //details.dt_Decorrenza = Convert.ToDateTime(rdr["IES_DT_DECORRENZA"]).ToString("dd/MM/yyyy"); details.dt_Decorrenza = rdr["IES_DT_DECORRENZA"] == DBNull.Value ? null : Convert.ToDateTime(rdr["IES_DT_DECORRENZA"]).ToString("dd/MM/yyyy"); details.progr_trasferimento = rdr["IES_PROG_TRASFERIMENTO"].ToString(); details.progr_movimento = rdr["IES_PROG_MOVIMENTO"].ToString(); model.Add(details); } } } } return(PartialView("PresenzeLivelli", model)); } }