public RptCostiCoanModel SetCostiCoan(int matricola, string cognome, string nome, string descLivello, string ufficio, decimal idVoci, decimal importo, ModelDBISE db) { try { using (dtStatistiche dts = new dtStatistiche()) { RptCostiCoanModel rptccm = new RptCostiCoanModel() { Matricola = matricola, Nominativo = cognome + " " + nome, Livello = descLivello, Ufficio = ufficio, Descrizione = dts.GetDescrizioneVoci(idVoci, db), Importo = importo }; return(rptccm); } } catch (Exception ex) { throw ex; } }
public RptSpeseAvvicendamentoNewModel SetSpeseAvvicendamento( int matricola, string cognome, string nome, string descLivello, string ufficio, decimal idVoci, string dataPartenza, decimal importo, ModelDBISE db) { try { using (dtStatistiche dts = new dtStatistiche()) { RptSpeseAvvicendamentoNewModel rptsam = new RptSpeseAvvicendamentoNewModel() { Matricola = matricola, Nominativo = cognome + " " + nome, Livello = descLivello, Ufficio = ufficio, DataPartenza = dataPartenza, Descrizione = dts.GetDescrizioneVoci(idVoci, db), Importo = importo }; return(rptsam); } } catch (Exception ex) { throw ex; } }
public List <RptRiepilogoGeneraleModel> GetRiepilogoGenerale(decimal MeseDa, decimal AnnoDa, decimal MeseA, decimal AnnoA, ModelDBISE db) { try { List <RptRiepilogoGeneraleModel> lrptrgm = new List <RptRiepilogoGeneraleModel>(); using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtStatistiche dts = new dtStatistiche()) { string strMeseDa = MeseDa.ToString().PadLeft(2, Convert.ToChar("0")); string strMeseA = MeseA.ToString().PadLeft(2, Convert.ToChar("0")); DateTime dtIni = Convert.ToDateTime("01/" + strMeseDa + "/" + AnnoDa.ToString()); DateTime dtFin = Utility.GetDtFineMese(Convert.ToDateTime("01/" + strMeseA + "/" + AnnoA.ToString())); var annoMeseInizio = Convert.ToDecimal(AnnoDa.ToString() + MeseDa.ToString().PadLeft(2, (char)'0')); var annoMeseFine = Convert.ToDecimal(AnnoA.ToString() + MeseA.ToString().PadLeft(2, (char)'0')); var ltrasf = db.TRASFERIMENTO .Where(a => a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare && a.DATARIENTRO >= dtIni && a.DATAPARTENZA <= dtFin && a.INDENNITA.LIVELLIDIPENDENTI .Any(b => b.ANNULLATO == false && b.DATAFINEVALIDITA >= dtIni && b.DATAINIZIOVALIDITA <= dtFin)) .ToList(); var ndip = ltrasf.GroupBy(a => a.IDDIPENDENTE).Count(); var nuff = ltrasf.GroupBy(a => a.IDUFFICIO).Count(); #region ALTRE SPESE #endregion #region INDENNITA var idVoci = (decimal)EnumVociContabili.Ind_Sede_Estera; var lteorici = db.TEORICI.Where(a => a.ELABINDENNITA.Any(b => b.ANNULLATO == false) && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) .ToList(); var lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine ); decimal importo_indennita = lteorici2.Sum(a => a.IMPORTO); #endregion #region MAB idVoci = (decimal)EnumVociContabili.MAB; lteorici = db.TEORICI.Where(a => a.ELABMAB.Any(b => b.ANNULLATO == false) && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_mab = lteorici2.Sum(a => a.IMPORTO); #endregion #region PRIMA SISTEMAZIONE idVoci = (decimal)EnumVociCedolino.Sistemazione_Lorda_086_380; lteorici = db.TEORICI.Where(a => a.ELABINDSISTEMAZIONE.ANNULLATO == false && a.ANNULLATO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_primasistemazione = lteorici2.Sum(a => a.IMPORTO); #endregion #region RICHIAMO idVoci = (decimal)EnumVociContabili.Ind_Richiamo_IRI; lteorici = db.TEORICI.Where(a => a.ELABINDRICHIAMO.ANNULLATO == false && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_richiamo = lteorici2.Sum(a => a.IMPORTO); #endregion #region TRASPORTO EFFETTI idVoci = (decimal)EnumVociCedolino.Trasp_Mass_Partenza_Rientro_162_131; lteorici = db.TEORICI.Where(a => a.ELABTRASPEFFETTI.ANNULLATO == false && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_TE = lteorici2.Sum(a => a.IMPORTO); #endregion RptRiepilogoGeneraleModel rptrgm = new RptRiepilogoGeneraleModel() { numUffici = nuff, numDipendenti = ndip, IndPersonale = importo_indennita, IndRichiamo = importo_richiamo, IndMAB = importo_mab, IndTE = importo_TE, IndPS = importo_primasistemazione }; lrptrgm.Add(rptrgm); } } return(lrptrgm); } catch (Exception ex) { throw ex; } }
public List <RptCostiCoanModel> GetCostiCoan(decimal MeseDa, decimal AnnoDa, decimal MeseA, decimal AnnoA, string codiceCoan, ModelDBISE db) { try { List <RptCostiCoanModel> lrptccm = new List <RptCostiCoanModel>(); using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtStatistiche dts = new dtStatistiche()) { List <TRASFERIMENTO> lt = new List <TRASFERIMENTO>(); List <TEORICI> lteorici = new List <TEORICI>(); string strMeseDa = MeseDa.ToString().PadLeft(2, Convert.ToChar("0")); string strMeseA = MeseA.ToString().PadLeft(2, Convert.ToChar("0")); DateTime dtIni = Convert.ToDateTime("01/" + strMeseDa + "/" + AnnoDa.ToString()); DateTime dtFin = Utility.GetDtFineMese(Convert.ToDateTime("01/" + strMeseA + "/" + AnnoA.ToString())); string strCoan = codiceCoan; #region Elenco Trasferimenti nel range in base al coan if (codiceCoan.Length < 10) { lt = db.TRASFERIMENTO.Where(a => a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare && a.DATARIENTRO >= dtIni && a.DATAPARTENZA <= dtFin && a.IDTIPOCOAN == (decimal)EnumTipologiaCoan.Servizi_Istituzionali) .ToList(); } else { lt = db.TRASFERIMENTO.Where(a => a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare && a.DATARIENTRO >= dtIni && a.DATAPARTENZA <= dtFin && a.COAN == strCoan && a.IDTIPOCOAN == (decimal)EnumTipologiaCoan.Servizi_Promozionali) .ToList(); } #endregion #region ciclo trasferimenti foreach (var t in lt) { var d = t.DIPENDENTI; var nome = d.NOME; var cognome = d.COGNOME; var matricola = d.MATRICOLA; var ufficio = t.UFFICI.DESCRIZIONEUFFICIO; decimal idVoci = 0; if (matricola == 3367) { var a = 0; } #region elenco livelli x trasferimento var llivdip = t.INDENNITA.LIVELLIDIPENDENTI.Where(a => a.ANNULLATO == false && a.DATAFINEVALIDITA >= dtIni && a.DATAINIZIOVALIDITA <= dtFin ) .ToList(); #endregion #region ciclo livelli foreach (var livdip in llivdip) { var liv = livdip.LIVELLI; var annoMeseInizio = Convert.ToDecimal(AnnoDa.ToString() + MeseDa.ToString().PadLeft(2, (char)'0')); var annoMeseFine = Convert.ToDecimal(AnnoA.ToString() + MeseA.ToString().PadLeft(2, (char)'0')); #region INDENNITA idVoci = (decimal)EnumVociContabili.Ind_Sede_Estera; lteorici = t.TEORICI.Where(a => a.ELABINDENNITA.Any(b => b.IDLIVELLO == livdip.IDLIVELLO) && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine) .OrderBy(a => a.ANNORIFERIMENTO) .ThenBy(a => a.MESERIFERIMENTO).ToList(); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptCostiCoanModel rptccm = SetCostiCoan(matricola, cognome, nome, descLivello, ufficio, idVoci, importo, db); lrptccm.Add(rptccm); } #endregion #region MAB idVoci = (decimal)EnumVociContabili.MAB; lteorici = t.TEORICI.Where(a => a.ELABMAB.Any(b => b.IDLIVELLO == livdip.IDLIVELLO) && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine) .OrderBy(a => a.ANNORIFERIMENTO) .ThenBy(a => a.MESERIFERIMENTO).ToList(); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptCostiCoanModel rptccm = SetCostiCoan(matricola, cognome, nome, descLivello, ufficio, idVoci, importo, db); lrptccm.Add(rptccm); } #endregion #region PRIMA SISTEMAZIONE idVoci = (decimal)EnumVociCedolino.Sistemazione_Lorda_086_380; lteorici = t.TEORICI.Where(a => a.ELABINDSISTEMAZIONE?.IDLIVELLO == livdip.IDLIVELLO && a.ANNULLATO == false && //a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine) .OrderBy(a => a.ANNORIFERIMENTO) .ThenBy(a => a.MESERIFERIMENTO).ToList(); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptCostiCoanModel rptccm = SetCostiCoan(matricola, cognome, nome, descLivello, ufficio, idVoci, importo, db); lrptccm.Add(rptccm); } #endregion #region RICHIAMO idVoci = (decimal)EnumVociContabili.Ind_Richiamo_IRI; lteorici = t.TEORICI.Where(a => a.ELABINDRICHIAMO?.IDLIVELLO == livdip.IDLIVELLO && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine) .OrderBy(a => a.ANNORIFERIMENTO) .ThenBy(a => a.MESERIFERIMENTO).ToList(); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptCostiCoanModel rptccm = SetCostiCoan(matricola, cognome, nome, descLivello, ufficio, idVoci, importo, db); lrptccm.Add(rptccm); } #endregion #region TRASPORTO EFFETTI idVoci = (decimal)EnumVociCedolino.Trasp_Mass_Partenza_Rientro_162_131; lteorici = t.TEORICI.Where(a => a.ELABTRASPEFFETTI?.IDLIVELLO == livdip.IDLIVELLO && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine) .OrderBy(a => a.ANNORIFERIMENTO) .ThenBy(a => a.MESERIFERIMENTO).ToList(); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptCostiCoanModel rptccm = SetCostiCoan(matricola, cognome, nome, descLivello, ufficio, idVoci, importo, db); lrptccm.Add(rptccm); } #endregion } #endregion } #endregion } } return(lrptccm); } catch (Exception ex) { throw ex; } }
public List <RptRiepilogoLivelloModel> GetRiepilogoLivello(decimal MeseDa, decimal AnnoDa, decimal MeseA, decimal AnnoA, ModelDBISE db) { try { List <RptRiepilogoLivelloModel> lrptrlm = new List <RptRiepilogoLivelloModel>(); using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtStatistiche dts = new dtStatistiche()) { //List<TRASFERIMENTO> lt = new List<TRASFERIMENTO>(); //List<TEORICI> lteorici = new List<TEORICI>(); string strMeseDa = MeseDa.ToString().PadLeft(2, Convert.ToChar("0")); string strMeseA = MeseA.ToString().PadLeft(2, Convert.ToChar("0")); DateTime dtIni = Convert.ToDateTime("01/" + strMeseDa + "/" + AnnoDa.ToString()); DateTime dtFin = Utility.GetDtFineMese(Convert.ToDateTime("01/" + strMeseA + "/" + AnnoA.ToString())); var annoMeseInizio = Convert.ToDecimal(AnnoDa.ToString() + MeseDa.ToString().PadLeft(2, (char)'0')); var annoMeseFine = Convert.ToDecimal(AnnoA.ToString() + MeseA.ToString().PadLeft(2, (char)'0')); #region COMMENTO //#region Test query //var lTrasf = db.TRASFERIMENTO.Where(a => (a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare) && // a.DATARIENTRO >= dtIni && // a.DATAPARTENZA <= dtFin).ToList(); //foreach (var t in lTrasf) //{ // //var lLiv = db.LIVELLI.Where(a => a.LIVELLIDIPENDENTI.Any(b => b.IDDIPENDENTE == t.IDDIPENDENTE && // // b.ANNULLATO == false && // // b.DATAFINEVALIDITA >= dtIni && // // b.DATAINIZIOVALIDITA <= dtFin)).ToList(); // var livdip = t.INDENNITA.LIVELLIDIPENDENTI.Where(a => a.ANNULLATO == false && // a.DATAFINEVALIDITA >= dtIni && // a.DATAINIZIOVALIDITA <= dtFin).ToList(); // foreach (var ld in livdip) // { // var livello = ld.LIVELLI; // var desc = livello.LIVELLO; // } // //var nUff = db.UFFICI.Where(a => a.TRASFERIMENTO.Any(b => (b.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && // // b.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare) && // // b.INDENNITA.LIVELLIDIPENDENTI.Any(c => c.ANNULLATO == false && // // c.DATAFINEVALIDITA >= dtIni && // // c.DATAINIZIOVALIDITA <= dtFin))).Count(); //} //#endregion //conta uffici //#region Elenco Trasferimenti nel range //var ltrasf = db.TRASFERIMENTO.Where(a => // a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && // a.DATARIENTRO >= dtIni && a.DATAPARTENZA <= dtFin) // //.GroupBy(a=>a.IDUFFICIO) // .ToList(); //#endregion //var sommaUff = 0; #endregion //#region elenco livelli ////var llivdip = db.LIVELLIDIPENDENTI.Where(a => a.ANNULLATO == false && //// a.DATAFINEVALIDITA >= dtIni && //// a.DATAINIZIOVALIDITA <= dtFin) //// .ToList(); //#endregion ////var ll = db.LIVELLI.ToList(); var ll = db.LIVELLI.ToList(); foreach (var l in ll) { var datilivello = l.LIVELLIDIPENDENTI.Where(a => a.ANNULLATO == false && a.DATAFINEVALIDITA >= dtIni && a.DATAINIZIOVALIDITA <= dtFin && a.IDLIVELLO == l.IDLIVELLO && a.DIPENDENTI.TRASFERIMENTO .Any(b => b.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && b.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare && b.DATARIENTRO >= dtIni && b.DATAPARTENZA <= dtFin)).ToList(); //var lTrasf2 = db.TRASFERIMENTO.Where(a => a.INDENNITA.LIVELLIDIPENDENTI.Any(b => b.ANNULLATO == false && // b.DATAFINEVALIDITA >= dtIni && // b.DATAINIZIOVALIDITA <= dtFin && // b.IDLIVELLO == l.IDLIVELLO)).ToList(); //int nUff = lTrasf2.Count(); if (datilivello?.Any() ?? false) { var ltrasf = db.TRASFERIMENTO .Where(a => a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Da_Attivare && a.DATARIENTRO >= dtIni && a.DATAPARTENZA <= dtFin && a.INDENNITA.LIVELLIDIPENDENTI .Any(b => b.ANNULLATO == false && b.DATAFINEVALIDITA >= dtIni && b.DATAINIZIOVALIDITA <= dtFin && b.IDLIVELLO == l.IDLIVELLO)).ToList(); var ndip = ltrasf.GroupBy(a => a.IDDIPENDENTE).Count(); var nuff = ltrasf.GroupBy(a => a.IDUFFICIO).Count(); #region ALTRE SPESE #endregion #region INDENNITA var idVoci = (decimal)EnumVociContabili.Ind_Sede_Estera; var lteorici = db.TEORICI.Where(a => a.ELABINDENNITA.Any(b => b.IDLIVELLO == l.IDLIVELLO && b.ANNULLATO == false) && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) .ToList(); var lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine ); decimal importo_indennita = lteorici2.Sum(a => a.IMPORTO); #endregion #region MAB idVoci = (decimal)EnumVociContabili.MAB; lteorici = db.TEORICI.Where(a => a.ELABMAB.Any(b => b.IDLIVELLO == l.IDLIVELLO && b.ANNULLATO == false) && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_mab = lteorici2.Sum(a => a.IMPORTO); #endregion #region PRIMA SISTEMAZIONE idVoci = (decimal)EnumVociCedolino.Sistemazione_Lorda_086_380; lteorici = db.TEORICI.Where(a => a.ELABINDSISTEMAZIONE.IDLIVELLO == l.IDLIVELLO && a.ELABINDSISTEMAZIONE.ANNULLATO == false && a.ANNULLATO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_primasistemazione = lteorici2.Sum(a => a.IMPORTO); #endregion #region RICHIAMO idVoci = (decimal)EnumVociContabili.Ind_Richiamo_IRI; lteorici = db.TEORICI.Where(a => a.ELABINDRICHIAMO.IDLIVELLO == l.IDLIVELLO && a.ELABINDRICHIAMO.ANNULLATO == false && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_richiamo = lteorici2.Sum(a => a.IMPORTO); #endregion #region TRASPORTO EFFETTI idVoci = (decimal)EnumVociCedolino.Trasp_Mass_Partenza_Rientro_162_131; lteorici = db.TEORICI.Where(a => a.ELABTRASPEFFETTI.IDLIVELLO == l.IDLIVELLO && a.ELABTRASPEFFETTI.ANNULLATO == false && a.ANNULLATO == false && a.DIRETTO == false && a.ELABORATO == true && a.INSERIMENTOMANUALE == false && a.IDVOCI == idVoci && a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe) .ToList(); lteorici2 = lteorici.Where(a => Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio && Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() + a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine); decimal importo_TE = lteorici2.Sum(a => a.IMPORTO); #endregion RptRiepilogoLivelloModel rptrlm = new RptRiepilogoLivelloModel() { Livello = l.LIVELLO, descLivello = (l.LIVELLO == "D") ? "DIRIGENTE" : l.LIVELLO, numDipendenti = ndip, numUffici = nuff, IndPersonale = importo_indennita, IndRichiamo = importo_richiamo, IndMAB = importo_mab, IndTE = importo_TE, IndPS = importo_primasistemazione }; lrptrlm.Add(rptrlm); } } } } return(lrptrlm); } catch (Exception ex) { throw ex; } }
public List <RptSpeseAvvicendamentoNewModel> GetSpeseAvvicendamento(decimal MeseDa, decimal AnnoDa, decimal MeseA, decimal AnnoA, ModelDBISE db) { try { List <RptSpeseAvvicendamentoNewModel> lrptsam = new List <RptSpeseAvvicendamentoNewModel>(); using (dtTrasferimento dtt = new dtTrasferimento()) { using (dtStatistiche dts = new dtStatistiche()) { List <TRASFERIMENTO> lt = new List <TRASFERIMENTO>(); List <TEORICI> lteorici = new List <TEORICI>(); string strMeseDa = MeseDa.ToString().PadLeft(2, Convert.ToChar("0")); string strMeseA = MeseA.ToString().PadLeft(2, Convert.ToChar("0")); DateTime dtIni = Convert.ToDateTime("01/" + strMeseDa + "/" + AnnoDa.ToString()); DateTime dtFin = Utility.GetDtFineMese(Convert.ToDateTime("01/" + strMeseA + "/" + AnnoA.ToString())); #region Elenco Trasferimenti nel range lt = db.TRASFERIMENTO.Where(a => a.IDSTATOTRASFERIMENTO != (decimal)EnumStatoTraferimento.Annullato && a.DATARIENTRO >= dtIni && a.DATAPARTENZA <= dtFin) .ToList(); #endregion #region ciclo trasferimenti foreach (var t in lt) { var d = t.DIPENDENTI; var nome = d.NOME; var cognome = d.COGNOME; var matricola = d.MATRICOLA; var ufficio = t.UFFICI.CODICEUFFICIO + " " + t.UFFICI.DESCRIZIONEUFFICIO; string dataPartenza = t.DATAPARTENZA.ToShortDateString(); decimal idVoci = 0; decimal idTipoLiquidazione = 0; #region elenco livelli x trasferimento var llivdip = t.INDENNITA.LIVELLIDIPENDENTI .Where(a => a.ANNULLATO == false && a.DATAFINEVALIDITA >= dtIni && a.DATAINIZIOVALIDITA <= dtFin) .ToList(); #endregion #region ciclo livelli foreach (var livdip in llivdip) { var liv = livdip.LIVELLI; var annoMeseInizio = Convert.ToDecimal(AnnoDa.ToString() + MeseDa.ToString().PadLeft(2, (char)'0')); var annoMeseFine = Convert.ToDecimal(AnnoA.ToString() + MeseA.ToString().PadLeft(2, (char)'0')); #region PRIMA SISTEMAZIONE idVoci = (decimal)EnumVociCedolino.Sistemazione_Lorda_086_380; idTipoLiquidazione = (decimal)EnumTipoLiquidazione.Paghe; lteorici = dts.GetIndennitaPS(t, livdip.IDLIVELLO, idVoci, idTipoLiquidazione, annoMeseInizio, annoMeseFine, db); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptSpeseAvvicendamentoNewModel rptsam = SetSpeseAvvicendamento(matricola, cognome, nome, descLivello, ufficio, idVoci, dataPartenza, importo, db); lrptsam.Add(rptsam); } #endregion #region TRASPORTO EFFETTI PARTENZA idVoci = (decimal)EnumVociCedolino.Trasp_Mass_Partenza_Rientro_162_131; idTipoLiquidazione = (decimal)EnumTipoLiquidazione.Paghe; lteorici = dts.GetIndennitaTEP(t, livdip.IDLIVELLO, idVoci, idTipoLiquidazione, annoMeseInizio, annoMeseFine, db); if (lteorici?.Any() ?? false) { var importo = lteorici.Sum(a => a.IMPORTO); var descLivello = livdip.LIVELLI.LIVELLO; RptSpeseAvvicendamentoNewModel rptsam = SetSpeseAvvicendamento(matricola, cognome, nome, descLivello, ufficio, idVoci, dataPartenza, importo, db); lrptsam.Add(rptsam); } #endregion } #endregion } #endregion } } return(lrptsam); } catch (Exception ex) { throw ex; } }
public ActionResult RptCostiCoan(decimal meseAnnoDa, decimal meseAnnoA, string codiceCoan) { List <RptCostiCoanModel> lrpt = new List <RptCostiCoanModel>(); try { using (ModelDBISE db = new ModelDBISE()) { var annoMeseElabDa = db.MESEANNOELABORAZIONE.Find(meseAnnoDa); decimal annoMeseDa = Convert.ToDecimal(annoMeseElabDa.ANNO.ToString() + annoMeseElabDa.MESE.ToString().PadLeft(2, Convert.ToChar("0"))); decimal annoDa = annoMeseElabDa.ANNO; decimal meseDa = annoMeseElabDa.MESE; var annoMeseElabA = db.MESEANNOELABORAZIONE.Find(meseAnnoA); decimal annoMeseA = Convert.ToDecimal(annoMeseElabA.ANNO.ToString() + annoMeseElabA.MESE.ToString().PadLeft(2, Convert.ToChar("0"))); decimal annoA = annoMeseElabA.ANNO; decimal meseA = annoMeseElabA.MESE; using (dtCostiCoan dtc = new dtCostiCoan()) { lrpt = dtc.GetCostiCoan(meseDa, annoDa, meseA, annoA, codiceCoan, db).OrderBy(a => a.Nominativo).ToList();; } using (dtStatistiche dts = new dtStatistiche()) { if (codiceCoan.Length < 10) { codiceCoan = dts.GetDescrizioneCoan(EnumTipologiaCoan.Servizi_Istituzionali, db); } } string strMeseAnnoDa = ""; string strMeseAnnoA = ""; string strTotaleImporto = lrpt.Sum(a => a.Importo).ToString("#,##0.##"); string strDataOdierna = DateTime.Now.ToShortDateString(); using (dtElaborazioni dte = new dtElaborazioni()) { strMeseAnnoDa = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseDa) + " " + annoDa.ToString(); strMeseAnnoA = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseA) + " " + annoA.ToString(); } ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.SizeToReportContent = true; reportViewer.Width = Unit.Percentage(100); reportViewer.Height = Unit.Percentage(100); reportViewer.Visible = true; reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"/Areas/Statistiche/RPT/RptCostiCoan.rdlc"; reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.Refresh(); ReportParameter[] parameterValues = new ReportParameter[] { new ReportParameter("paramMeseAnnoDa", strMeseAnnoDa), new ReportParameter("paramMeseAnnoA", strMeseAnnoA), new ReportParameter("paramCoan", codiceCoan), new ReportParameter("paramTotaleImporto", strTotaleImporto), new ReportParameter("paramDataOdierna", strDataOdierna) }; reportViewer.LocalReport.SetParameters(parameterValues); ReportDataSource _rsource = new ReportDataSource("dsCostiCoan", lrpt); reportViewer.LocalReport.DataSources.Add(_rsource); reportViewer.LocalReport.Refresh(); ViewBag.ReportViewer = reportViewer; } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } return(PartialView()); }