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 = "" })); }
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()); }
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 = "" })); } }
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 = "" })); }
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 = "" })); }
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)); }
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); } }
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 = "" })); }
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 })); }
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)); }
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)); }
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)); }
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 }); }
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; } } }
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); }
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 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 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 = "" })); }
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 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()); }
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()); }
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 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()); }