public JsonResult PrelevaMesiAnniElab(string search)
        {
            List <Select2Model> ls2 = new List <Select2Model>();
            List <MeseAnnoElaborazioneModel> lmaem = new List <MeseAnnoElaborazioneModel>();

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    lmaem = dte.PrelevaAnniMesiElaborati().ToList();

                    foreach (var mae in lmaem)
                    {
                        Select2Model s2 = new Select2Model()
                        {
                            id   = mae.idMeseAnnoElab.ToString(),
                            text = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mae.mese) + "-" + mae.anno.ToString(),
                        };

                        ls2.Add(s2);
                    }
                }

                if (search != null && search != string.Empty)
                {
                    ls2 = ls2.Where(a => a.text.ToUpper().Contains(search.ToUpper())).ToList();
                }
            }
            catch (Exception ex)
            {
                return(Json(new { results = new List <Select2Model>(), err = ex.Message }));
            }

            return(Json(new { results = ls2, err = "" }));
        }
        public ActionResult SelezionaMeseAnno(int mese = 0, int anno = 0)
        {
            var rMeseAnno = new List <SelectListItem>();
            List <MeseAnnoElaborazioneModel> lmaem = new List <MeseAnnoElaborazioneModel>();

            try
            {
                if (anno == 0)
                {
                    anno = DateTime.Now.Year;
                }

                if (mese == 0)
                {
                    mese = DateTime.Now.Month;
                }

                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    lmaem = dte.PrelevaAnniMesiElaborati().ToList();

                    foreach (var item in lmaem)
                    {
                        rMeseAnno.Add(new SelectListItem()
                        {
                            Text  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)item.mese) + "-" + item.anno.ToString(),
                            Value = item.idMeseAnnoElab.ToString()
                        });
                    }

                    if (rMeseAnno.Exists(a => a.Text == CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mese) + "-" + anno.ToString()))
                    {
                        foreach (var item in rMeseAnno)
                        {
                            if (item.Text == CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mese) + "-" + anno.ToString())
                            {
                                item.Selected = true;
                            }
                        }
                    }
                    else
                    {
                        rMeseAnno.First().Selected = true;
                    }
                }

                ViewData["ElencoMesiAnniElaborati"]  = rMeseAnno;
                ViewData["ElencoMesiAnniElaborati1"] = rMeseAnno;
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView());
        }
 public void MeseAnnoElaborazioneTest()
 {
     try
     {
         using (ModelDBISE db = new ModelDBISE())
         {
             using (CalcoloMeseAnnoElaborazione mae = new CalcoloMeseAnnoElaborazione(db))
             {
                 var lmae = mae.Mae;
             }
         }
     }
     catch (Exception ex)
     {
         Assert.Fail(ex.Message);
     }
 }
Exemple #4
0
        public IList <RiepilogoVociModel> GetRiepilogoVoci(decimal idTrasferimento)
        {
            List <RiepilogoVociModel> lrvm = new List <RiepilogoVociModel>();

            List <MeseAnnoElaborazioneModel> lmaem = new List <MeseAnnoElaborazioneModel>();

            using (ModelDBISE db = new ModelDBISE())
            {
                db.Database.BeginTransaction();

                try
                {
                    var t             = db.TRASFERIMENTO.Find(idTrasferimento);
                    var trasferimento = db.TRASFERIMENTO.Find(idTrasferimento);

                    if (t != null && t.IDTRASFERIMENTO > 0)
                    {
                        //var ps = t.PRIMASITEMAZIONE;
                        //var ind = t.INDENNITA;
                        //var tep = t.TEPARTENZA;
                        //var ter = t.TERIENTRO;

                        DateTime DataLimiteRiepilogoVoci = Convert.ToDateTime(System.Configuration.ConfigurationManager.AppSettings["DataLimiteRiepilogoVoci"]);

                        decimal idMeseAnnoElaborazioneLimite = 0;
                        using (CalcoloMeseAnnoElaborazione cmem = new CalcoloMeseAnnoElaborazione(db))
                        {
                            lmaem = cmem.Mae.Where(a =>
                                                   a.mese >= Convert.ToDecimal(DataLimiteRiepilogoVoci.Month) &&
                                                   a.anno >= Convert.ToDecimal(DataLimiteRiepilogoVoci.Year))
                                    .OrderBy(a => a.idMeseAnnoElab)
                                    .ToList();
                            if (lmaem?.Any() ?? false)
                            {
                                idMeseAnnoElaborazioneLimite = lmaem.First().idMeseAnnoElab;
                            }
                        }

                        var lTeorici =
                            trasferimento.TEORICI.Where(
                                a =>
                                a.ANNULLATO == false &&
                                a.ELABORATO == true &&
                                a.IDMESEANNOELAB >= idMeseAnnoElaborazioneLimite)
                            .OrderBy(a => a.ANNORIFERIMENTO)
                            .ThenBy(a => a.MESERIFERIMENTO)
                            .ToList();

                        if (lTeorici?.Any() ?? false)
                        {
                            foreach (var teorico in lTeorici)
                            {
                                RiepilogoVociModel rv = GetRiepilogoVociByID(teorico.IDTEORICI, db);

                                #region commento
                                //var idMeseAnnoElaborato = teorico.MESEANNOELABORAZIONE.IDMESEANNOELAB;
                                //var tm = teorico.TIPOMOVIMENTO;
                                //var voce = teorico.VOCI;
                                //var tl = teorico.VOCI.TIPOLIQUIDAZIONE;
                                //var tv = teorico.VOCI.TIPOVOCE;

                                //RiepilogoVociModel rv = new RiepilogoVociModel()
                                //{
                                //    idTeorici = teorico.IDTEORICI,
                                //    idMeseAnnoElaborato = teorico.MESEANNOELABORAZIONE.IDMESEANNOELAB,
                                //    dataOperazione = teorico.DATAOPERAZIONE,
                                //    importo = teorico.IMPORTO,
                                //    descrizione = teorico.VOCI.DESCRIZIONE,
                                //    TipoMovimento = new TipoMovimentoModel()
                                //    {
                                //        idTipoMovimento = tm.IDTIPOMOVIMENTO,
                                //        TipoMovimento = tm.TIPOMOVIMENTO1,
                                //        DescMovimento = tm.DESCMOVIMENTO
                                //    },
                                //    TipoLiquidazione = new TipoLiquidazioneModel()
                                //    {
                                //        idTipoLiquidazione = tl.IDTIPOLIQUIDAZIONE,
                                //        descrizione = tl.DESCRIZIONE
                                //    },
                                //    TipoVoce = new TipoVoceModel()
                                //    {
                                //        idTipoVoce = tv.IDTIPOVOCE,
                                //        descrizione = tv.DESCRIZIONE
                                //    },
                                //    Voci = new VociModel()
                                //    {
                                //        idVoci = voce.IDVOCI,
                                //        codiceVoce = voce.CODICEVOCE,
                                //        descrizione = voce.DESCRIZIONE,
                                //        TipoLiquidazione = new TipoLiquidazioneModel()
                                //        {
                                //            idTipoLiquidazione = tl.IDTIPOLIQUIDAZIONE,
                                //            descrizione = tl.DESCRIZIONE
                                //        },
                                //        TipoVoce = new TipoVoceModel()
                                //        {
                                //            idTipoVoce = tv.IDTIPOVOCE,
                                //            descrizione = tv.DESCRIZIONE
                                //        }
                                //    },
                                //    meseRiferimento = teorico.MESERIFERIMENTO,
                                //    annoRiferimento = teorico.ANNORIFERIMENTO,
                                //    annomeseRiferimento = teorico.ANNORIFERIMENTO + teorico.MESERIFERIMENTO,
                                //    MeseAnnoElaborato = teorico.MESEANNOELABORAZIONE.MESE.ToString().PadLeft(2, Convert.ToChar("0")) + "-" + teorico.MESEANNOELABORAZIONE.ANNO.ToString(),
                                //    GiornoMeseAnnoElaborato=Convert.ToDateTime("01/"+ teorico.MESEANNOELABORAZIONE.MESE.ToString()+"/"+ teorico.MESEANNOELABORAZIONE.ANNO.ToString()),
                                //    giorni = 0,
                                //    Importo = teorico.IMPORTO,
                                //    Elaborato = teorico.ELABORATO
                                //};
                                #endregion

                                lrvm.Add(rv);
                            }
                        }
                    }

                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
            }

            return(lrvm);
        }
Exemple #5
0
        public IList <RptRiepiloghiIseMensileModel> GetRiepiloghiIseMensile(decimal idElabIni, decimal idElabFin, decimal MeseDa, decimal AnnoDa, decimal MeseA, decimal AnnoA, ModelDBISE db)

        {
            List <RptRiepiloghiIseMensileModel> rim = new List <RptRiepiloghiIseMensileModel>();

            List <TRASFERIMENTO> lt = new List <TRASFERIMENTO>();

            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()));

            lt = 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 lt)
            {
                var d = t.DIPENDENTI;

                var uf = t.UFFICI;

                #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 annoMeseInizio = Convert.ToDecimal(AnnoDa.ToString() + MeseDa.ToString().PadLeft(2, (char)'0'));
                    var annoMeseFine   = Convert.ToDecimal(AnnoA.ToString() + MeseA.ToString().PadLeft(2, (char)'0'));

                    #region lista teorici per livello (tutte le indennita interessate)
                    var lteorici = t.TEORICI.Where(a =>
                                                   a.ANNULLATO == false &&
                                                   a.ELABORATO == true &&
                                                   a.INSERIMENTOMANUALE == false &&
                                                   (
                                                       a.IDVOCI == (decimal)EnumVociContabili.Ind_Prima_Sist_IPS ||
                                                       a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera ||
                                                       a.IDVOCI == (decimal)EnumVociContabili.Ind_Richiamo_IRI
                                                   ) &&
                                                   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)
                                   .GroupBy(a => new { a.ANNORIFERIMENTO, a.MESERIFERIMENTO })
                                   .ToList();
                    #endregion

                    #region cicla i gruppi di anno/mese rif teorici
                    foreach (var teorici in lteorici)
                    {
                        decimal prima_sistemazione_anticipo  = 0;
                        decimal prima_sistemazione_saldo     = 0;
                        decimal prima_sistemazione_unica_sol = 0;
                        decimal indennita = 0;
                        decimal richiamo  = 0;

                        MESEANNOELABORAZIONE meseannoElab = new MESEANNOELABORAZIONE();
                        string  strMeseAnnoElab           = "";
                        string  strMeseAnnoRif            = "";
                        decimal numMeseRiferimento        = 0;
                        decimal numMeseElaborazione       = 0;

                        #region cicla le singole righe di teorici
                        foreach (var teorici_row in teorici)
                        {
                            if (teorici_row.IDVOCI == (decimal)EnumVociContabili.Ind_Prima_Sist_IPS &&
                                teorici_row.ELABINDSISTEMAZIONE?.IDLIVELLO == livdip.IDLIVELLO &&
                                teorici_row.ELABINDSISTEMAZIONE.ANTICIPO)
                            {
                                prima_sistemazione_anticipo = teorici_row.IMPORTO;
                            }

                            if (teorici_row.IDVOCI == (decimal)EnumVociContabili.Ind_Prima_Sist_IPS &&
                                teorici_row.ELABINDSISTEMAZIONE?.IDLIVELLO == livdip.IDLIVELLO &&
                                (teorici_row.ELABINDSISTEMAZIONE.SALDO || teorici_row.ELABINDSISTEMAZIONE.CONGUAGLIO))
                            {
                                prima_sistemazione_saldo = teorici_row.IMPORTO;
                            }

                            if (teorici_row.IDVOCI == (decimal)EnumVociContabili.Ind_Prima_Sist_IPS &&
                                teorici_row.ELABINDSISTEMAZIONE?.IDLIVELLO == livdip.IDLIVELLO &&
                                teorici_row.ELABINDSISTEMAZIONE.UNICASOLUZIONE)
                            {
                                prima_sistemazione_unica_sol = teorici_row.IMPORTO;
                            }

                            if (teorici_row.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera &&
                                teorici_row.DIRETTO == false &&
                                teorici_row.ELABINDENNITA.Any(b => b.IDLIVELLO == livdip.IDLIVELLO))
                            {
                                indennita = teorici_row.IMPORTO;
                            }

                            if (teorici_row.IDVOCI == (decimal)EnumVociContabili.Ind_Richiamo_IRI &&
                                teorici_row.ELABINDRICHIAMO?.IDLIVELLO == livdip.IDLIVELLO)

                            {
                                richiamo = teorici_row.IMPORTO;
                            }

                            meseannoElab = db.MESEANNOELABORAZIONE.Find(teorici_row.IDMESEANNOELAB);
                            using (dtElaborazioni dte = new dtElaborazioni())
                            {
                                strMeseAnnoElab = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseannoElab.MESE) + " " + meseannoElab.ANNO.ToString();
                                strMeseAnnoRif  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)teorici_row.MESERIFERIMENTO) + " " + teorici_row.ANNORIFERIMENTO.ToString();
                            }
                            numMeseRiferimento  = Convert.ToDecimal(teorici_row.ANNORIFERIMENTO.ToString() + teorici_row.MESERIFERIMENTO.ToString().ToString().PadLeft(2, (char)'0'));
                            numMeseElaborazione = Convert.ToDecimal(meseannoElab.ANNO.ToString() + meseannoElab.MESE.ToString().PadLeft(2, (char)'0'));
                        }

                        RptRiepiloghiIseMensileModel rptisem = new RptRiepiloghiIseMensileModel()
                        {
                            nominativo   = d.COGNOME + " " + d.NOME + " (" + d.MATRICOLA + ")",
                            qualifica    = livdip.LIVELLI.LIVELLO,
                            ufficio      = uf.DESCRIZIONEUFFICIO,
                            riferimento  = strMeseAnnoRif,
                            elaborazione = strMeseAnnoElab,
                            prima_sistemazione_anticipo    = prima_sistemazione_anticipo,
                            prima_sistemazione_saldo       = prima_sistemazione_saldo,
                            prima_sistemazione_unica_soluz = prima_sistemazione_unica_sol,
                            richiamo            = richiamo,
                            indennita_personale = indennita,
                            numannomeseelab     = numMeseElaborazione,
                            numannomeserif      = numMeseRiferimento
                        };
                        rim.Add(rptisem);
                        #endregion
                    }
                    #endregion
                }
                #endregion
            }

            return(rim);
        }
        public ActionResult RptRiepilogoLivello(decimal idMeseAnnoDa, decimal idMeseAnnoA)
        {
            List <RptRiepilogoLivelloModel> lrpt = new List <RptRiepilogoLivelloModel>();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    var     annoMeseElabDa = db.MESEANNOELABORAZIONE.Find(idMeseAnnoDa);
                    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(idMeseAnnoA);
                    decimal annoMeseA     = Convert.ToDecimal(annoMeseElabA.ANNO.ToString() + annoMeseElabA.MESE.ToString().PadLeft(2, Convert.ToChar("0")));
                    decimal annoA         = annoMeseElabA.ANNO;
                    decimal meseA         = annoMeseElabA.MESE;

                    using (dtRiepilogoLivello dtrl = new dtRiepilogoLivello())
                    {
                        lrpt = dtrl.GetRiepilogoLivello(meseDa, annoDa, meseA, annoA, db);
                    }


                    string strMeseAnnoDa = "";
                    string strMeseAnnoA  = "";

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        strMeseAnnoDa = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseDa) + " " + annoDa.ToString();
                        strMeseAnnoA  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseA) + " " + annoA.ToString();
                    }

                    string strDataOdierna = DateTime.Now.ToShortDateString();

                    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/RptRiepilogoLivello.rdlc";
                    reportViewer.LocalReport.DataSources.Clear();
                    reportViewer.LocalReport.Refresh();

                    ReportParameter[] parameterValues = new ReportParameter[]
                    {
                        new ReportParameter("paramMeseAnnoDa", strMeseAnnoDa),
                        new ReportParameter("paramMeseAnnoA", strMeseAnnoA),
                        new ReportParameter("paramDataOdierna", strDataOdierna)
                    };

                    reportViewer.LocalReport.SetParameters(parameterValues);
                    ReportDataSource _rsource = new ReportDataSource("dsRiepilogoLivello", 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());
        }
        public IList <TrasportoEffettiModel> GetTrasportoEffetti(decimal dtIni, decimal dtFin, decimal annoDa, decimal meseDa, decimal annoA, decimal meseA, ModelDBISE db)
        {
            string strMeseDa = meseDa.ToString().PadLeft(2, Convert.ToChar("0"));
            string strMeseA  = meseA.ToString().PadLeft(2, Convert.ToChar("0"));

            DateTime dtIni1 = Convert.ToDateTime("01/" + strMeseDa + "/" + annoDa.ToString());
            DateTime dtFin1 = Utility.GetDtFineMese(Convert.ToDateTime("01/" + strMeseA + "/" + annoA.ToString()));

            List <TrasportoEffettiModel> rim = new List <TrasportoEffettiModel>();

            var lTeorici =
                db.TEORICI.Where(
                    a =>
                    a.ANNULLATO == false &&
                    a.ELABORATO == true &&
                    a.IDMESEANNOELAB >= dtIni &&
                    a.IDMESEANNOELAB <= dtFin &&
                    a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe &&
                    a.VOCI.IDTIPOVOCE == (decimal)EnumTipoVoce.Software &&
                    a.VOCI.IDVOCI == (decimal)EnumVociCedolino.Trasp_Mass_Partenza_Rientro_162_131).ToList();


            foreach (var Teorici in lTeorici)
            {
                var tr = Teorici.TRASFERIMENTO;
                var d  = tr.DIPENDENTI;

                var uf   = tr.UFFICI;
                var tm   = Teorici.TIPOMOVIMENTO;
                var voce = Teorici.VOCI;
                var tl   = Teorici.VOCI.TIPOLIQUIDAZIONE;
                var tv   = Teorici.VOCI.TIPOVOCE;

                var meseannoElab    = db.MESEANNOELABORAZIONE.Find(Teorici.IDMESEANNOELAB);
                var strMeseAnnoElab = "";
                var strMeseAnnoRif  = "";
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    strMeseAnnoElab = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseannoElab.MESE) + " " + meseannoElab.ANNO.ToString();
                    strMeseAnnoRif  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)Teorici.MESERIFERIMENTO) + " " + Teorici.ANNORIFERIMENTO.ToString();
                }
                decimal numMeseRiferimento  = Convert.ToDecimal(Teorici.ANNORIFERIMENTO.ToString() + Teorici.MESERIFERIMENTO.ToString().ToString().PadLeft(2, (char)'0'));
                decimal numMeseElaborazione = Convert.ToDecimal(meseannoElab.ANNO.ToString() + meseannoElab.MESE.ToString().PadLeft(2, (char)'0'));


                TrasportoEffettiModel ldvm = new TrasportoEffettiModel()
                {
                    matricola           = d.MATRICOLA,
                    Nominativo          = d.COGNOME + " " + d.NOME,
                    Ufficio             = uf.DESCRIZIONEUFFICIO,
                    Importo             = Teorici.IMPORTO,
                    MeseElaborazione    = strMeseAnnoElab,
                    MeseRiferimento     = strMeseAnnoRif,
                    numMeseElaborazione = numMeseElaborazione,
                    numMeseRiferimento  = numMeseRiferimento
                };

                rim.Add(ldvm);
            }



            //if (lTeorici?.Any() ?? false)
            //{

            //    foreach (var t in lTeorici)
            //    {

            //            //var dip = new DIPENDENTI();

            //            //if (t.ELABTRASPEFFETTI?.IDELABTRASPEFFETTI > 0)
            //            //{
            //            //    if (t.ELABTRASPEFFETTI?.IDTEPARTENZA > 0)
            //            //    {
            //            //        dip = t.ELABTRASPEFFETTI.TEPARTENZA.TRASFERIMENTO.DIPENDENTI;
            //            //    }
            //            //    else if (t.ELABTRASPEFFETTI?.IDTERIENTRO > 0)
            //            //    {
            //            //        dip = t.ELABTRASPEFFETTI.TERIENTRO.TRASFERIMENTO.DIPENDENTI;
            //            //    }
            //            //}


            //            var tr = t.ELABTRASPEFFETTI.TEPARTENZA.TRASFERIMENTO;
            //            var dip = tr.TEPARTENZA.TRASFERIMENTO;
            //            var dipendenti = tr.TEPARTENZA.TRASFERIMENTO.DIPENDENTI;

            //            var uf = dip.UFFICI;
            //            var tm = t.TIPOMOVIMENTO;
            //            var voce = t.VOCI;
            //            var tl = t.VOCI.TIPOLIQUIDAZIONE;
            //            var tv = t.VOCI.TIPOVOCE;

            //            TrasportoEffettiModel ldvm = new TrasportoEffettiModel()
            //            {
            //                idTeorici = t.IDTEORICI,
            //                Nominativo = dipendenti.COGNOME + " " + dipendenti.NOME + " (" + dipendenti.MATRICOLA + ")",
            //                Ufficio = uf.DESCRIZIONEUFFICIO + " (" + uf.CODICEUFFICIO + ")",
            //                TipoMovimento = new TipoMovimentoModel()
            //                {
            //                    idTipoMovimento = tm.IDTIPOMOVIMENTO,
            //                    TipoMovimento = tm.TIPOMOVIMENTO1,
            //                    DescMovimento = tm.DESCMOVIMENTO
            //                },
            //                Voci = new VociModel()
            //                {
            //                    idVoci = voce.IDVOCI,
            //                    codiceVoce = voce.CODICEVOCE,
            //                    descrizione = voce.DESCRIZIONE,
            //                    TipoLiquidazione = new TipoLiquidazioneModel()
            //                    {
            //                        idTipoLiquidazione = tl.IDTIPOLIQUIDAZIONE,
            //                        descrizione = tl.DESCRIZIONE
            //                    },
            //                    TipoVoce = new TipoVoceModel()
            //                    {
            //                        idTipoVoce = tv.IDTIPOVOCE,
            //                        descrizione = tv.DESCRIZIONE
            //                    }
            //                },
            //                meseRiferimento = t.MESERIFERIMENTO,
            //                annoRiferimento = t.ANNORIFERIMENTO,
            //                Importo = t.IMPORTO,
            //                Elaborato = t.ELABORATO
            //            };

            //            rim.Add(ldvm);

            //    }


            //    foreach (var t in lTeorici)
            //    {

            //        var tr = t.ELABTRASPEFFETTI.TERIENTRO.TRASFERIMENTO;

            //        var dip = tr.TERIENTRO.TRASFERIMENTO;
            //        var dipendenti = tr.TERIENTRO.TRASFERIMENTO.DIPENDENTI;

            //        var uf = dip.UFFICI;
            //        var tm = t.TIPOMOVIMENTO;
            //        var voce = t.VOCI;
            //        var tl = t.VOCI.TIPOLIQUIDAZIONE;
            //        var tv = t.VOCI.TIPOVOCE;

            //        TrasportoEffettiModel ldvm = new TrasportoEffettiModel()
            //        {
            //            idTeorici = t.IDTEORICI,
            //            Nominativo = dipendenti.COGNOME + " " + dipendenti.NOME + " (" + dipendenti.MATRICOLA + ")",
            //            Ufficio = uf.DESCRIZIONEUFFICIO + " (" + uf.CODICEUFFICIO + ")",
            //            TipoMovimento = new TipoMovimentoModel()
            //            {
            //                idTipoMovimento = tm.IDTIPOMOVIMENTO,
            //                TipoMovimento = tm.TIPOMOVIMENTO1,
            //                DescMovimento = tm.DESCMOVIMENTO
            //            },
            //            Voci = new VociModel()
            //            {
            //                idVoci = voce.IDVOCI,
            //                codiceVoce = voce.CODICEVOCE,
            //                descrizione = voce.DESCRIZIONE,
            //                TipoLiquidazione = new TipoLiquidazioneModel()
            //                {
            //                    idTipoLiquidazione = tl.IDTIPOLIQUIDAZIONE,
            //                    descrizione = tl.DESCRIZIONE
            //                },
            //                TipoVoce = new TipoVoceModel()
            //                {
            //                    idTipoVoce = tv.IDTIPOVOCE,
            //                    descrizione = tv.DESCRIZIONE
            //                }
            //            },
            //            meseRiferimento = t.MESERIFERIMENTO,
            //            annoRiferimento = t.ANNORIFERIMENTO,
            //            Importo = t.IMPORTO,
            //            Elaborato = t.ELABORATO
            //        };

            //        rim.Add(ldvm);

            //    }

            //}

            return(rim);
        }
        public List <RptRiepiloghiMaggAbitazioneModel> GetRiepiloghiMaggAbitazione(decimal idElabIni, decimal idElabFin, decimal annoDa, decimal meseDa, decimal annoA, decimal meseA, ModelDBISE db)
        {
            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()));

            List <RptRiepiloghiMaggAbitazioneModel> rim   = new List <RptRiepiloghiMaggAbitazioneModel>();
            RptRiepiloghiMaggAbitazioneModel        rmabm = new RptRiepiloghiMaggAbitazioneModel();

            var lteorici_mab =
                db.TEORICI.Where(
                    a =>
                    a.ANNULLATO == false &&
                    a.ELABORATO == true &&
                    a.IDMESEANNOELAB >= idElabIni &&
                    a.IDMESEANNOELAB <= idElabFin &&
                    a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                    a.IDVOCI == (decimal)EnumVociContabili.MAB)
                //a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera)
                .ToList();


            foreach (var teorici_mab in lteorici_mab)
            {
                decimal canone        = 0;
                decimal percApplicata = 0;
                decimal tfr           = 0;
                decimal importo_mab   = 0;
                string  valuta        = "";

                var lteorici_ise = db.TEORICI.Where(a =>
                                                    a.ANNULLATO == false &&
                                                    a.ELABORATO == true &&
                                                    //a.IDMESEANNOELAB == teorici_ise.IDMESEANNOELAB &&
                                                    a.MESERIFERIMENTO == teorici_mab.MESERIFERIMENTO &&
                                                    a.ANNORIFERIMENTO == teorici_mab.ANNORIFERIMENTO &&
                                                    a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                                                    a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera)
                                   .ToList();
                decimal importo_ind_pers = 0;

                if (lteorici_ise?.Any() ?? false)
                {
                    var teorici_ise = lteorici_ise.First();
                    //legge dati ise
                    importo_ind_pers = teorici_ise.IMPORTO;
                }

                var lelabmab = teorici_mab.ELABMAB.Where(a => a.ANNULLATO == false && a.DAL >= dtIni && a.AL <= dtFin).ToList();
                if (lelabmab?.Any() ?? false)
                {
                    var elabmab = lelabmab.First();
                    canone        = elabmab.CANONELOCAZIONE;
                    percApplicata = elabmab.PERCMAB;
                    tfr           = elabmab.TASSOFISSORAGGUAGLIO;
                    using (dtValute dtv = new dtValute())
                    {
                        valuta = dtv.GetValuta(elabmab.IDVALUTA).descrizioneValuta;
                    }
                }
                importo_mab = teorici_mab.IMPORTO;

                var tr = teorici_mab.TRASFERIMENTO;
                var d  = tr.DIPENDENTI;

                var uf = tr.UFFICI;
                //var tm = teorici_ise.TIPOMOVIMENTO;
                //var voce = teorici_ise.VOCI;
                //var tl = teorici_ise.VOCI.TIPOLIQUIDAZIONE;
                //var tv = teorici_ise.VOCI.TIPOVOCE;

                var meseannoElab    = db.MESEANNOELABORAZIONE.Find(teorici_mab.IDMESEANNOELAB);
                var strMeseAnnoElab = "";
                var strMeseAnnoRif  = "";
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    strMeseAnnoElab = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseannoElab.MESE) + " " + meseannoElab.ANNO.ToString();
                    strMeseAnnoRif  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)teorici_mab.MESERIFERIMENTO) + " " + teorici_mab.ANNORIFERIMENTO.ToString();
                }
                decimal numMeseRiferimento  = Convert.ToDecimal(teorici_mab.ANNORIFERIMENTO.ToString() + teorici_mab.MESERIFERIMENTO.ToString().ToString().PadLeft(2, (char)'0'));
                decimal numMeseElaborazione = Convert.ToDecimal(meseannoElab.ANNO.ToString() + meseannoElab.MESE.ToString().PadLeft(2, (char)'0'));

                //var lindennita =db.TEORICI.Where(a =>
                //                a.ANNULLATO == false &&
                //                a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera &&
                //                a.DIRETTO == false &&
                //                a.ELABORATO == true &&
                //                a.INSERIMENTOMANUALE == false &&
                //                a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                //                a.ANNORIFERIMENTO == teorici.ANNORIFERIMENTO &&
                //                a.MESERIFERIMENTO == teorici.MESERIFERIMENTO &&
                //                a.IDMESEANNOELAB==teorici.IDMESEANNOELAB)
                //            .ToList();


                RptRiepiloghiMaggAbitazioneModel ldvm = new RptRiepiloghiMaggAbitazioneModel()
                {
                    Nominativo          = d.COGNOME + " " + d.NOME,
                    Ufficio             = uf.DESCRIZIONEUFFICIO,
                    Matricola           = d.MATRICOLA.ToString(),
                    MeseElaborazione    = strMeseAnnoElab,
                    MeseRiferimento     = strMeseAnnoRif,
                    Canone              = canone,
                    percApplicata       = percApplicata,
                    importo_mab         = importo_mab,
                    importo_ind_pers    = importo_ind_pers,
                    numMeseElaborazione = numMeseElaborazione,
                    numMeseRiferimento  = numMeseRiferimento,
                    tfr    = tfr,
                    Valuta = valuta
                };

                rim.Add(ldvm);
            }

            return(rim);
        }
Exemple #9
0
        public ActionResult RptTrasportoEffetti(decimal dtIni, decimal dtFin)
        {
            List <TrasportoEffettiModel>    rim = new List <TrasportoEffettiModel>();
            List <RptTrasportoEffettiModel> rpt = new List <RptTrasportoEffettiModel>();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    var     annoMeseElabDa = db.MESEANNOELABORAZIONE.Find(dtIni);
                    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(dtFin);
                    decimal annoMeseA     = Convert.ToDecimal(annoMeseElabA.ANNO.ToString() + annoMeseElabA.MESE.ToString().PadLeft(2, Convert.ToChar("0")));
                    decimal annoA         = annoMeseElabA.ANNO;
                    decimal meseA         = annoMeseElabA.MESE;


                    using (dtReportTrasportoEffetti dtR = new dtReportTrasportoEffetti())
                    {
                        rim = dtR.GetTrasportoEffetti(dtIni, dtFin, annoDa, meseDa, annoA, meseA, db).ToList();
                    }


                    string strMeseAnnoDa = "";
                    string strMeseAnnoA  = "";
                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        strMeseAnnoDa = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseDa) + " " + annoDa.ToString();
                        strMeseAnnoA  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseA) + " " + annoA.ToString();
                    }


                    if (rim?.Any() ?? false)
                    {
                        foreach (var lm in rim)
                        {
                            RptTrasportoEffettiModel rptds = new RptTrasportoEffettiModel()
                            {
                                matricola           = lm.matricola,
                                Nominativo          = lm.Nominativo,
                                Importo             = lm.Importo,
                                sede                = lm.Ufficio,
                                MeseElaborazione    = lm.MeseElaborazione,
                                MeseRiferimento     = lm.MeseRiferimento,
                                numMeseElaborazione = lm.numMeseElaborazione,
                                numMeseRiferimento  = lm.numMeseRiferimento
                            };

                            rpt.Add(rptds);
                        }
                    }

                    var     annoMeseElab = db.MESEANNOELABORAZIONE.Find(dtIni);
                    decimal annoMese     = Convert.ToDecimal(annoMeseElab.ANNO.ToString() + annoMeseElab.MESE.ToString().PadLeft(2, Convert.ToChar("0")));

                    var     annoMeseElab1 = db.MESEANNOELABORAZIONE.Find(dtFin);
                    decimal annoMese1     = Convert.ToDecimal(annoMeseElab1.ANNO.ToString() + annoMeseElab1.MESE.ToString().PadLeft(2, Convert.ToChar("0")));

                    string strDataOdierna = DateTime.Now.ToShortDateString();

                    ReportViewer reportViewer = new ReportViewer();

                    reportViewer.ProcessingMode      = ProcessingMode.Local;
                    reportViewer.SizeToReportContent = true;
                    reportViewer.Width  = Unit.Percentage(100);
                    reportViewer.Height = Unit.Percentage(100);

                    var datasource = new ReportDataSource("DataSetTrasportoEffetti");

                    reportViewer.Visible        = true;
                    reportViewer.ProcessingMode = ProcessingMode.Local;

                    reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"\Areas\Statistiche\RPT\RptTrasportoEffetti.rdlc";
                    reportViewer.LocalReport.DataSources.Clear();

                    reportViewer.LocalReport.DataSources.Add(datasource);
                    reportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSetTrasportoEffetti", rpt));
                    reportViewer.LocalReport.Refresh();

                    ReportParameter[] parameterValues = new ReportParameter[]
                    {
                        new ReportParameter("Dal", strMeseAnnoDa),
                        new ReportParameter("Al", strMeseAnnoA),
                        new ReportParameter("DataOdierna", strDataOdierna)
                    };
                    reportViewer.LocalReport.SetParameters(parameterValues);

                    ViewBag.ReportViewer = reportViewer;
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView("RptTrasportoEffetti"));
        }
        // GET: Statistiche/OpDipEsteroNew
        public ActionResult Index()
        {
            var r = new List <SelectListItem>();

            var rMeseAnno = new List <SelectListItem>();
            List <MeseAnnoElaborazioneModel> lmaem = new List <MeseAnnoElaborazioneModel>();

            try
            {
                int anno = DateTime.Now.Year;
                int mese = DateTime.Now.Month;

                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtUffici dtu = new dtUffici())
                    {
                        var lu = dtu.GetUffici();

                        if (lu != null && lu.Count > 0)
                        {
                            r = (from u in lu
                                 select new SelectListItem()
                            {
                                Text = u.descUfficio,
                                Value = u.idUfficio.ToString()
                            }).ToList();

                            r.Insert(0, new SelectListItem()
                            {
                                Text = "(TUTTI)", Value = "0"
                            });
                            r.First().Selected = true;
                        }
                        ViewBag.ElencoUffici = r;
                    }

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        lmaem = dte.PrelevaAnniMesiElaborati().ToList();

                        foreach (var item in lmaem)
                        {
                            rMeseAnno.Add(new SelectListItem()
                            {
                                Text  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)item.mese) + "-" + item.anno.ToString(),
                                Value = item.idMeseAnnoElab.ToString()
                            });
                        }

                        if (rMeseAnno.Exists(a => a.Text == CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mese) + "-" + anno.ToString()))
                        {
                            foreach (var item in rMeseAnno)
                            {
                                if (item.Text == CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mese) + "-" + anno.ToString())
                                {
                                    item.Selected = true;
                                }
                            }
                        }
                        else
                        {
                            rMeseAnno.First().Selected = true;
                        }
                    }

                    ViewData["listMesiAnniElaboratiDa"] = rMeseAnno;
                    ViewData["listMesiAnniElaboratiA"]  = rMeseAnno;
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView());
        }
        // GET: Statistiche/OpDipEsteroNew
        public ActionResult Index()
        {
            var r         = new List <SelectListItem>();
            var rMeseAnno = new List <SelectListItem>();
            List <MeseAnnoElaborazioneModel> lmaem = new List <MeseAnnoElaborazioneModel>();

            try
            {
                int anno = DateTime.Now.Year;
                int mese = DateTime.Now.Month;

                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtCostiCoan dtcc = new dtCostiCoan())
                    {
                        var ltcm = dtcc.GetElencoCoan(db);

                        if (ltcm != null && ltcm.Count > 0)
                        {
                            r = (from tcm in ltcm
                                 select new SelectListItem()
                            {
                                Text = tcm.codiceCoan,
                                Value = tcm.idElencoCoan
                            }).ToList();

                            r.First().Selected = true;
                        }
                        ViewBag.ElencoCoanList = r;
                    }

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        lmaem = dte.PrelevaAnniMesiElaborati().ToList();

                        foreach (var item in lmaem)
                        {
                            rMeseAnno.Add(new SelectListItem()
                            {
                                Text  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)item.mese) + "-" + item.anno.ToString(),
                                Value = item.idMeseAnnoElab.ToString()
                            });
                        }

                        if (rMeseAnno.Exists(a => a.Text == CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mese) + "-" + anno.ToString()))
                        {
                            foreach (var item in rMeseAnno)
                            {
                                if (item.Text == CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)mese) + "-" + anno.ToString())
                                {
                                    item.Selected = true;
                                }
                            }
                        }
                        else
                        {
                            rMeseAnno.First().Selected = true;
                        }
                    }

                    ViewData["listMesiAnniElaboratiDa"] = rMeseAnno;
                    ViewData["listMesiAnniElaboratiA"]  = rMeseAnno;
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView());
        }
        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());
        }