Exemplo n.º 1
0
        public JsonResult VerificaPresenzaDatiLiquidazioneDiretta(decimal idAnnoMeseElaborato, bool Elab = false)
        {
            List <LiquidazioniDiretteViewModel> lLd = new List <LiquidazioniDiretteViewModel>();

            bool verDati = false;

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    lLd = dte.PrelevaLiquidazioniDirette(idAnnoMeseElaborato).Where(a => a.Elaborato == Elab).ToList();

                    if (lLd?.Any() ?? false)
                    {
                        verDati = true;
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { verDati = verDati, err = ex.Message }));
            }

            return(Json(new { verDati = verDati, err = "" }));
        }
Exemplo n.º 2
0
        public JsonResult GestionePulsanteCalcola(List <decimal> lDipendenti, decimal idAnnoMeseElab)
        {
            bool gpDaCalcolare = false;
            bool gpMeseChiuso  = false;

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        if (lDipendenti?.Any() ?? false)
                        {
                            gpDaCalcolare = dte.VerificaElaborazioneDipendenti(lDipendenti, idAnnoMeseElab, db);
                        }

                        gpMeseChiuso = dte.VerificaChiusuraPeriodoElab(idAnnoMeseElab, db);
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { gpDaCalcolare = gpDaCalcolare, gpMeseChiuso = gpMeseChiuso, err = ex.Message }));
            }

            return(Json(new { gpDaCalcolare = gpDaCalcolare, gpMeseChiuso = gpMeseChiuso, err = "" }));
        }
        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());
        }
Exemplo n.º 5
0
        public JsonResult InserisciVoce(AutomatismoVociManualiModel avmm)
        {
            AUTOMATISMOVOCIMANUALI avm = new AUTOMATISMOVOCIMANUALI();
            DIPENDENTI             d   = new DIPENDENTI();
            VOCI v = new VOCI();

            try
            {
                if (avmm != null)
                {
                    if (avmm.idDipendente <= 0 || avmm.IdVoce <= 0 || avmm.Importo == 0 || avmm.AnnoDa <= 0 || avmm.MeseDa <= 0 || avmm.AnnoA <= 0 || avmm.MeseA <= 0)
                    {
                        throw new Exception("I campi con asterisco sono obbligatori.");
                    }
                    else
                    {
                        using (ModelDBISE db = new ModelDBISE())
                        {
                            using (dtElaborazioni dte = new dtElaborazioni())
                            {
                                avm = dte.InserimentoVociManuali(avmm, db);
                                d   = avm.TRASFERIMENTO.DIPENDENTI;
                                v   = db.VOCI.Find(avmm.IdVoce);
                            }

                            return
                                (Json(
                                     new
                            {
                                err = "",
                                msg =
                                    "Inserimento della voce " + v.DESCRIZIONE + " con importo " +
                                    avmm.Importo + " per il dipendente " + d.COGNOME + " " + d.NOME + " (" +
                                    d.MATRICOLA + ") è avvenuto con successo."
                            }));
                        }
                    }
                }
                else
                {
                    throw new Exception("I campi con asterisco sono obbligatori.");
                }
            }
            catch (Exception ex)
            {
                return(Json(new { err = ex.Message, msg = "" }));
            }
        }
Exemplo n.º 6
0
        public JsonResult VerificaFlussiDirettiDaInviare(decimal idAnnoMeseElaborato)
        {
            bool vfd = false;

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    vfd = dte.VerificaLiquidazioniDiretteDaInviare(idAnnoMeseElaborato);
                }
            }
            catch (Exception ex)
            {
                return(Json(new { vfd = false, err = ex.Message }));
            }
            return(Json(new { vfd = vfd, err = "" }));
        }
Exemplo n.º 7
0
        public JsonResult VerificaDipendentiCalcolati(decimal idMeseAnnoElab)
        {
            bool ret = false;

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    ret = dte.VerificaElencoDipElab(idMeseAnnoElab);
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Calcolati = ret, err = ex.Message }));
            }

            return(Json(new { Calcolati = ret, err = "" }));
        }
Exemplo n.º 8
0
        public ActionResult DipendentiDaElaborare(decimal idMeseAnnoElaborato)
        {
            List <ElencoDipendentiDaCalcolareModel> ledcm = new List <ElencoDipendentiDaCalcolareModel>();

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    ledcm = dte.PrelevaDipendentiDaElaborare(idMeseAnnoElaborato).ToList();
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView(ledcm));
        }
Exemplo n.º 9
0
        public void InviaAnticipoPrimaSistemazioneContabilitaTest()
        {
            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    db.Database.BeginTransaction();

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        dte.InviaAnticipoPrimaSistemazioneContabilita(261, db);
                    }

                    db.Database.CurrentTransaction.Rollback();
                }
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
Exemplo n.º 10
0
        public JsonResult GestionePulsanteInvioFlussiMensili(decimal idAnnoMeseElab)
        {
            bool periodoChiuso = false;

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        periodoChiuso = dte.VerificaChiusuraPeriodoElab(idAnnoMeseElab, db);
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { pc = periodoChiuso, err = ex.Message }));
            }

            return(Json(new { pc = periodoChiuso, err = "" }));
        }
Exemplo n.º 11
0
        public ActionResult CalcolaElaborazioneMensile(List <int> dipendenti, decimal idAnnoMeseElaborato)
        {
            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    if (dipendenti?.Any() ?? false)
                    {
                        dte.Elaborazione(dipendenti, idAnnoMeseElaborato);
                    }
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(RedirectToAction("DatiLiquidazioneMensile", "Elaborazioni", new { idAnnoMeseElaborato = idAnnoMeseElaborato }));
        }
Exemplo n.º 12
0
        public ActionResult ElencoVociManuali(decimal idAnnoMeseElab)
        {
            List <ElencoVociManualiViewModel> levm = new List <ElencoVociManualiViewModel>();

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    levm = dte.PrelevaLeVociManualiDaElaborare(idAnnoMeseElab).ToList();
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }


            return(PartialView(levm));
        }
Exemplo n.º 13
0
        public ActionResult DatiLiquidazioniDiretteInviate(decimal idAnnoMeseElaborato)
        {
            List <LiquidazioniDiretteViewModel> lLd = new List <LiquidazioniDiretteViewModel>();

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    lLd = dte.PrelevaLiquidazioniDirette(idAnnoMeseElaborato).Where(a => a.Elaborato == true).ToList();
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            ViewData["idAnnoMeseElaborato"] = idAnnoMeseElaborato;

            return(PartialView(lLd));
        }
Exemplo n.º 14
0
        public ActionResult DatiLiquidazioneMensile(decimal idAnnoMeseElaborato)
        {
            List <LiquidazioneMensileViewModel> lLm = new List <LiquidazioneMensileViewModel>();

            try
            {
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    lLm = dte.PrelevaLiquidazioniMensili(idAnnoMeseElaborato).ToList();
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            ViewData["idAnnoMeseElaborato"] = idAnnoMeseElaborato;

            return(PartialView(lLm));
        }
Exemplo n.º 15
0
        public JsonResult InviaFlussiDirettiOA(decimal idAnnoMeseElaborato, List <decimal> Teorici)
        {
            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    db.Database.BeginTransaction();

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        try
                        {
                            Teorici = Teorici.OrderBy(a => a).ToList();
                            foreach (decimal teorico in Teorici)
                            {
                                dte.InviaFlussiDirettiContabilita(idAnnoMeseElaborato, teorico, db);
                            }

                            db.Database.CurrentTransaction.Commit();
                        }
                        catch (Exception ex)
                        {
                            db.Database.CurrentTransaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { msg = "", err = ex.Message }));
            }

            return(Json(new { msg = "I flussi diretti sono stati inviati.", err = "" }));

            //return RedirectToAction("DatiLiquidazioniDirette", "Elaborazioni", new { idAnnoMeseElaborato = idAnnoMeseElaborato });
        }
Exemplo n.º 16
0
        public void AttivaRichiestaAnticipi(decimal idAttivitaAnticipi)
        {
            using (ModelDBISE db = new ModelDBISE())
            {
                db.Database.BeginTransaction();

                try
                {
                    var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi);
                    if (aa?.IDATTIVITAANTICIPI > 0)
                    {
                        if (aa.NOTIFICARICHIESTA == true)
                        {
                            aa.ATTIVARICHIESTA     = true;
                            aa.DATAATTIVARICHIESTA = DateTime.Now;
                            aa.DATAAGGIORNAMENTO   = DateTime.Now;

                            int i = db.SaveChanges();

                            if (i <= 0)
                            {
                                throw new Exception("Errore: Impossibile completare l'attivazione anticipo.");
                            }
                            else
                            {
                                using (dtElaborazioni dte = new dtElaborazioni())
                                {
                                    dte.InviaAnticipoPrimaSistemazione(idAttivitaAnticipi, db);
                                }

                                Utility.SetLogAttivita(EnumAttivitaCrud.Modifica,
                                                       "Attivazione anticipi.", "ATTIVITAANTICIPI", db,
                                                       aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, aa.IDATTIVITAANTICIPI);
                                using (dtCalendarioEventi dtce = new dtCalendarioEventi())
                                {
                                    dtce.ModificaInCompletatoCalendarioEvento(aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, EnumFunzioniEventi.RichiestaAnticipi, db);
                                }

                                //using (dtDipendenti dtd = new dtDipendenti())
                                //{
                                using (dtTrasferimento dtt = new dtTrasferimento())
                                {
                                    using (dtUffici dtu = new dtUffici())
                                    {
                                        var t = dtt.GetTrasferimentoByIdPrimaSistemazione(aa.IDPRIMASISTEMAZIONE);

                                        if (t?.idTrasferimento > 0)
                                        {
                                            //var dip = dtd.GetDipendenteByID(t.idDipendente);
                                            var uff = dtu.GetUffici(t.idUfficio);


                                            EmailTrasferimento.EmailAttiva(aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO,
                                                                           Resources.msgEmail.OggettoAttivaRichiestaAnticipi,
                                                                           string.Format(Resources.msgEmail.MessaggioAttivaRichiestaAnticipi, uff.descUfficio + " (" + uff.codiceUfficio + ")", t.dataPartenza.ToShortDateString()),
                                                                           db);
                                        }
                                    }
                                }
                                //}
                                //this.EmailAttivaRichiestaAnticipi(aa.IDATTIVITAANTICIPI, db);
                            }
                        }
                    }

                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
            }
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
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"));
        }
Exemplo n.º 20
0
        // 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());
        }
Exemplo n.º 21
0
        // 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());
        }
Exemplo n.º 22
0
        public JsonResult InviaFlussiMensili(decimal idAnnoMeseElaborato)
        {
            List <DIPENDENTI> lDip = new List <DIPENDENTI>();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    //var te =
                    //    db.TEORICI.Where(a => a.ANNULLATO == false && a.ELABINDSISTEMAZIONE.IDLIVELLO == 1).ToList();


                    db.Database.BeginTransaction();

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        try
                        {
                            List <decimal> lTeorici = new List <decimal>();


                            #region Lettura dati Prima sistemazione
                            List <decimal> lt1 = (from t in db.TEORICI
                                                  where t.ANNULLATO == false &&
                                                  t.IDMESEANNOELAB == idAnnoMeseElaborato &&
                                                  t.ELABINDSISTEMAZIONE.ANNULLATO == false &&
                                                  (t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Sistemazione_Lorda_086_380 ||
                                                   t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Sistemazione_Richiamo_Netto_086_383 ||
                                                   t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Detrazione_086_384 ||
                                                   t.VOCI.IDVOCI == (decimal)EnumVociContabili.Ind_Prima_Sist_IPS) &&
                                                  t.DIRETTO == false && t.INSERIMENTOMANUALE == false
                                                  select t.IDTEORICI).ToList();

                            if (lt1?.Any() ?? false)
                            {
                                lTeorici.AddRange(lt1);
                            }
                            #endregion

                            #region Lettura dati indennità sede estera
                            List <decimal> lt2 = (from t in db.TEORICI
                                                  where t.ANNULLATO == false && t.INSERIMENTOMANUALE == false &&
                                                  t.IDMESEANNOELAB == idAnnoMeseElaborato &&
                                                  t.ELABINDENNITA.Any(b => b.ANNULLATO == false) &&
                                                  t.DIRETTO == false &&
                                                  t.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                                                  t.VOCI.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera
                                                  select t.IDTEORICI).ToList();


                            if (lt2?.Any() ?? false)
                            {
                                lTeorici.AddRange(lt2);
                            }
                            #endregion


                            #region Lettura dei dati trasporto effetti
                            List <decimal> lt3 = (from t in db.TEORICI
                                                  where t.ANNULLATO == false && t.INSERIMENTOMANUALE == false &&
                                                  t.IDMESEANNOELAB == idAnnoMeseElaborato &&
                                                  t.ELABTRASPEFFETTI.ANNULLATO == false &&
                                                  t.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe &&
                                                  t.VOCI.IDTIPOVOCE == (decimal)EnumTipoVoce.Software &&
                                                  t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Trasp_Mass_Partenza_Rientro_162_131 &&
                                                  t.DIRETTO == false
                                                  select t.IDTEORICI).ToList();


                            if (lt3?.Any() ?? false)
                            {
                                lTeorici.AddRange(lt3);
                            }
                            #endregion

                            #region Lettura dei dati MAB
                            List <decimal> lt4 = (from a in db.TEORICI
                                                  where a.ANNULLATO == false && a.INSERIMENTOMANUALE == false &&
                                                  a.IDMESEANNOELAB == idAnnoMeseElaborato &&
                                                  a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                                                  a.VOCI.IDVOCI == (decimal)EnumVociContabili.MAB &&
                                                  a.DIRETTO == false &&
                                                  a.ELABMAB.Any(b => b.ANNULLATO == false)
                                                  select a.IDTEORICI).ToList();

                            if (lt4?.Any() ?? false)
                            {
                                lTeorici.AddRange(lt4);
                            }
                            #endregion

                            #region Lettura dati voci manuali

                            List <decimal> lt5 = (from a in db.TEORICI
                                                  where a.ANNULLATO == false && a.INSERIMENTOMANUALE == true &&
                                                  a.IDMESEANNOELAB == idAnnoMeseElaborato &&
                                                  (a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Paghe ||
                                                   a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità) &&
                                                  a.DIRETTO == false &&
                                                  a.ELABORATO == false
                                                  select a.IDTEORICI).ToList();

                            if (lt5?.Any() ?? false)
                            {
                                lTeorici.AddRange(lt5);
                            }
                            #endregion

                            #region Lettura dati Richiamo
                            List <decimal> lt6 = (from t in db.TEORICI
                                                  where t.ANNULLATO == false &&
                                                  t.IDMESEANNOELAB == idAnnoMeseElaborato &&
                                                  t.ELABINDRICHIAMO.ANNULLATO == false &&
                                                  (t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Rientro_Lordo_086_381 ||
                                                   t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Sistemazione_Richiamo_Netto_086_383 ||
                                                   t.VOCI.IDVOCI == (decimal)EnumVociCedolino.Detrazione_086_384 ||
                                                   t.VOCI.IDVOCI == (decimal)EnumVociContabili.Ind_Richiamo_IRI) &&
                                                  t.DIRETTO == false && t.INSERIMENTOMANUALE == false
                                                  select t.IDTEORICI).ToList();

                            if (lt6?.Any() ?? false)
                            {
                                lTeorici.AddRange(lt6);
                            }
                            #endregion

                            lTeorici = lTeorici.OrderBy(a => a).ToList();

                            List <ElencoDipendentiDaCalcolareModel> ledcm = new List <ElencoDipendentiDaCalcolareModel>();

                            ledcm = dte.PrelevaDipendentiDaElaborare(idAnnoMeseElaborato).ToList();
                            if (ledcm?.Any() ?? false)
                            {
                                lDip = dte.EstrapolaDipendentiDaTeorici(lTeorici, db).ToList();

                                foreach (var edcm in ledcm)
                                {
                                    if (!lDip?.Any(a => a.IDDIPENDENTE == edcm.idDipendente) ?? false)
                                    {
                                        throw new Exception("Prima di inviare i flussi è necessario effettuare l'elaborazione di tutti i dipendenti interessati al calcolo mensile.");
                                    }
                                }

                                foreach (decimal teorico in lTeorici)
                                {
                                    using (ModelDBISE db2 = new ModelDBISE())
                                    {
                                        var dip = dte.EstrapolaDipendenteDaTeorico(teorico, db2);

                                        if (!dip.ELABORAZIONI?.Any(a => a.IDMESEANNOELAB == idAnnoMeseElaborato) ?? false)
                                        {
                                            dte.InviaFlussiMensiliCedoCont(idAnnoMeseElaborato, teorico, db2);
                                        }
                                    }
                                }

                                using (dtInvioFileFTP dtFile = new dtInvioFileFTP())
                                {
                                    dtFile.FlUpload(lTeorici);
                                }

                                using (dtDipendenti dtd = new dtDipendenti())
                                {
                                    foreach (var dip in lDip)
                                    {
                                        dte.SetPeriodoElaborazioniDipendente(dip.IDDIPENDENTE, idAnnoMeseElaborato, db);
                                        dtd.SetLastMeseElabDataInizioRicalcoli(dip.IDDIPENDENTE, idAnnoMeseElaborato, db, true);
                                    }
                                }
                                dte.ChiudiPeridoElaborazione(idAnnoMeseElaborato, db);
                                dte.EliminaTeoriciAnnullati(3);
                            }

                            db.Database.CurrentTransaction.Commit();
                        }
                        catch (Exception ex)
                        {
                            db.Database.CurrentTransaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { msg = "", err = ex.Message }));
            }

            return(Json(new { msg = "I flussi mensili sono stati inviati.", err = "" }));
        }
Exemplo n.º 23
0
        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());
        }
Exemplo n.º 24
0
        public ActionResult ReportLiquidazioniDirette(decimal idAnnoMeseElaborato, bool Elab = false)
        {
            List <LiquidazioniDiretteViewModel> lLd = new List <LiquidazioniDiretteViewModel>();
            string Elaborato = "Liquidazioni dirette da elaborare";

            try
            {
                if (Elab)
                {
                    Elaborato = "Liquidazioni dirette elaborate";
                }


                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    lLd = dte.PrelevaLiquidazioniDirette(idAnnoMeseElaborato).Where(a => a.Elaborato == Elab).ToList();
                }

                if (lLd?.Any() ?? false)
                {
                    using (ModelDBISE db = new ModelDBISE())
                    {
                        var annoMeseElab = db.MESEANNOELABORAZIONE.Find(idAnnoMeseElaborato);

                        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) + @"/Report/Elaborazioni/rptLiquidazioniDirette.rdlc";
                        reportViewer.LocalReport.DataSources.Clear();
                        reportViewer.LocalReport.Refresh();

                        ReportParameter[] parameterValues = new ReportParameter[]
                        {
                            new ReportParameter("rptParMeseAnnoElab", ("Mese/Anno elaborazione: " + Utility.MeseAnnoTesto((int)annoMeseElab.MESE, (int)annoMeseElab.ANNO)).ToString()),
                            new ReportParameter("rptParElaborato", Elaborato),
                        };

                        List <LiquidazioniDiretteRpt> lldrpt = new List <LiquidazioniDiretteRpt>();

                        foreach (var ld in lLd)
                        {
                            LiquidazioniDiretteRpt ldrpt = new LiquidazioniDiretteRpt()
                            {
                                IdTeorico       = ld.idTeorici,
                                Nominativo      = ld.Nominativo,
                                DescrizioneVoce = ld.Voci.descrizione,
                                CodiceVoce      = ld.Voci.codiceVoce,
                                Importo         = ld.Importo,
                                Data            = ld.Data,
                            };

                            lldrpt.Add(ldrpt);
                        }

                        reportViewer.LocalReport.SetParameters(parameterValues);

                        ReportDataSource _rsource = new ReportDataSource("DataSet1", lldrpt);

                        reportViewer.LocalReport.DataSources.Add(_rsource);

                        reportViewer.LocalReport.Refresh();

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

            return(PartialView());
        }
Exemplo n.º 25
0
        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());
        }
Exemplo n.º 26
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);
        }
Exemplo n.º 27
0
        public ActionResult ReportLiquidazioniMensili(decimal idAnnoMeseElaborato, List <decimal> Teorici)
        {
            //ViewData["annoMeseElab"] = annoMeseElab;


            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    var annoMeseElab = db.MESEANNOELABORAZIONE.Find(idAnnoMeseElaborato);


                    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) + @"/Report/Elaborazioni/rptLiquidazioniMensili.rdlc";
                    reportViewer.LocalReport.DataSources.Clear();
                    reportViewer.LocalReport.Refresh();

                    ReportParameter[] parameterValues = new ReportParameter[]
                    {
                        new ReportParameter("parAnnoMeseElab",
                                            ("Mese/Anno elaborazione: " +
                                             Utility.MeseAnnoTesto((int)annoMeseElab.MESE, (int)annoMeseElab.ANNO)).ToString())
                    };

                    List <LiquidazioneMensileViewModel> lLm    = new List <LiquidazioneMensileViewModel>();
                    List <LiquidazioneMensileElabRpt>   lrptds = new List <LiquidazioneMensileElabRpt>();

                    using (dtElaborazioni dte = new dtElaborazioni())
                    {
                        //lLm = dte.PrelevaLiquidazioniMensili(idAnnoMeseElaborato).ToList();
                        lLm = dte.PrelevaLiquidazioniMensili(Teorici).OrderBy(a => a.Nominativo).ThenBy(a => a.Voci.descrizione).ThenBy(a => a.TipoMovimento.DescMovimento).ThenBy(a => a.annoRiferimento).ThenBy(a => a.meseRiferimento).ToList();
                    }

                    if (lLm?.Any() ?? false)
                    {
                        foreach (var lm in lLm)
                        {
                            LiquidazioneMensileElabRpt rptds = new LiquidazioneMensileElabRpt()
                            {
                                IdTeorici       = lm.idTeorici,
                                DescrizioneVoce = lm.Voci.descrizione,
                                Nominativo      = lm.Nominativo,
                                DataRiferimento = Utility.MeseAnnoTesto((int)lm.meseRiferimento, (int)lm.annoRiferimento),
                                Movimento       = lm.TipoMovimento.DescMovimento,
                                Liquidazione    = lm.Voci.TipoLiquidazione.descrizione,
                                Voce            = lm.Voci.codiceVoce,
                                Inserimento     = lm.tipoInserimento.ToString(),
                                Importo         = lm.Importo,
                                Inviato         = lm.Elaborato,
                                Anno            = (int)lm.annoRiferimento,
                                Mese            = (int)lm.meseRiferimento
                            };

                            lrptds.Add(rptds);
                        }
                    }

                    lrptds = lrptds.OrderBy(a => a.Anno).ThenBy(a => a.Mese).ToList();

                    reportViewer.LocalReport.SetParameters(parameterValues);

                    ReportDataSource _rsource = new ReportDataSource("DataSet1", lrptds);

                    reportViewer.LocalReport.DataSources.Add(_rsource);

                    reportViewer.LocalReport.Refresh();

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


            return(PartialView());
        }