/// <summary> /// Calculeaza salarii pentru luna activa /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CalculSalarii_Click(object sender, System.EventArgs e) { string a = Session["ModificaSituatie"].ToString(); string b = a; //daca s-a facut modificare de situatile lunare nu se apeleaza algoritmul de calcul salarii //si se face redirectare la pagina cu situatia lunara a angajatului if (Session["ModificaSituatie"].ToString() == "") { Salaries.Business.NomenclatorConcediiMedicale concedii = new Salaries.Business.NomenclatorConcediiMedicale(); DataSet ds = concedii.GetConcediiMedicale(); if (ds.Tables[0].Rows.Count > 0) { //generam situatia lunara pentru toti angajatii SituatieLunaraTotiAngajatii(); //calculam salariile angajatilor new Salaries.Business.Luni(this.GetAngajator()).SalariiLunaActiva(); //generam situatia lunara pentru angajatorul activ //operatia se executa dupa calculul salariilor pentru ca situatia angajatorului se bazeaza pe contributiile individuala ale angajatilor try { SituatieLunaraAngajator(); } catch {} } else { Response.Write("<script> alert('Nomenclatorul pentru criterii de acordare a concediului medical este gol. \\nNu se poate efectua calculul salarial. Va rugam specificati valori pentru acest criteriu!'); </script>"); } } else { //se face redirectare la pagina cu situatia lunara a angajatului Session["ModificaSituatie"] = ""; Response.Redirect("Salarii.aspx?Tab=Pontaj&Option=situatie_lunara"); } }
/// <summary> /// Inchide luna activa /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void InchideLunaActiva_Click(object sender, System.EventArgs e) { //Modificat: Oprescu Claudia //Data: 20.02.2007 //Descriere: Se efectueaza o serie de verificari inainte de inchiderea lunii. // Nomencalatorul cu criterii de acordare a concediului medical nu poate fi gol. // In nomenclator trebuie sa existe un interval corespunzator numarului de angajati. // Procentul de inflatie nu poate fi zero. // Variabilele de salarizare trebuie sa aiba valori diferite de zero. Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); Salaries.Business.NomenclatorConcediiMedicale concedii = new Salaries.Business.NomenclatorConcediiMedicale(); DataSet ds = concedii.GetConcediiMedicale(); //daca nomenclatorul cu concedii medicale nu are nici un concediu medical se va afisa un mesaj de avertizare if (ds.Tables[0].Rows.Count == 0) { Response.Write("<script> alert('Nomenclatorul pentru criterii de acordare a concediului medical este gol. \\nNu se poate efectua inchiderea de luna. Va rugam specificati valori pentru acest criteriu!'); </script>"); } //daca exista date in nomenclator else { //trebuie sa existe un interval corespunzator numarului de angajati din firma //daca nu exista nici un interval utilizatorul va primi un mesaj de avertizare Salaries.Business.PontajAngajat pontaj = new Salaries.Business.PontajAngajat(-1); if (pontaj.GetNrZileConcediuBoalaPlatiteFirma(this.GetAngajator()) == 0) { Response.Write("<script> alert('Nomenclatorul pentru criterii de acordare a concediului medical nu contine un interval corespunzator numarului de angajati. \\nNu se poate efectua inchiderea de luna. Va rugam specificati valori corecte pentru acest criteriu!'); </script>"); } //daca exista un interval corespunzator in nomenclator else { //se verifica procentul de inflatie care nu poate fi zero //daca procentul are valoarea zero utilizatorul va primi un mesaj de avertizare Salaries.Business.VariabileGlobaleValori variabila = new Salaries.Business.VariabileGlobaleValori(); if (!variabila.VerificaProcentInflatie(lunaData.LunaId)) { Response.Write("<script> alert('Procentul de inflatie al acestei luni este zero. \\nNu se poate efectua inchiderea de luna. Va rugam modificati acest procent!'); </script>"); } //daca si proncetul de inflatie este corect else { //se verifica variabilele de salarizare care nu trebuie sa aiba valoarea zero //daca exista o variabila cu valoarea zero, utilizatorul va primi un mesaj de avertizare //if (!VerificaVariabileSalarizare(lunaData.LunaId)) if (false) { Response.Write("<script> alert('Pentru aceasta luna exista variabile de salarizare cu valoarea zero. \\nNu se poate efectua inchiderea de luna. Va rugam modificati aceste valori!'); </script>"); } //daca si variabilele de salarizare sunt corecte, atunci se va efectua inchiderea de luna else { //Modificat: Oprescu Claudia //Data: 08.03.2007 //Descriere: Nu se mai sterg intervalele angajatului din pontaj //StergeToateIntervaleleOrareSetateDeleted(); SituatieLunaraTotiAngajatii(); //MODIFIED: Ionel Popa ... 16.08.2005 //DESCRIPTION: Angajatii carora le expira contractul in luna curenta NU trebuie dezactivati automat la inchiderea lunii //SetareExpirareContractLunaInactiv(); new Salaries.Business.Luni(this.GetAngajator()).InchideLunaActiva(); //generam situatia lunara pentru angajatorul activ //operatia se executa dupa calculul salariilor pentru ca situatia angajatorului se bazeaza pe contributiile individuala ale angajatilor SituatieLunaraAngajator(); lunaData = luni.GetLunaActiva(); luni.FillZileLuna(lunaData.Data.Month, lunaData.Data.Year); this.SetCurrentMonth(lunaData.LunaId); Response.Redirect("Salarii.aspx?Tab=Pontaj&Option=initializare_luna", true); } } } } }