protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { // Luna curenta. Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva(); if (!IsPostBack) { // Este setata data la care se face plata drepturilor salariale. txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString(); } this.raportDeclaratiaA12.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); // Sunt setati parametrii raportului. // ID-ul angajatorului pentru care se genereaza declaratia. this.raportDeclaratiaA12.SetQueryParameter("AngajatorID", this.GetAngajator().ToString()); // Id-ul lunii pentru care se genereaza declaratia. this.raportDeclaratiaA12.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString()); // Data platii drepturilor salariale. this.raportDeclaratiaA12.SetQueryParameter("DataPlataSalariu", txtDataPlatii.Text); // Numarul de pagini ale declaratiei A11. this.raportDeclaratiaA12.SetQueryParameter("NumarFileAnexa11", txtNrFileAnexa11.Text); } catch (Exception) { labelError.Text = "Pentru a putea genera declaratia trebuie sa fie disponibile toate datele necesare!"; } }
/// <summary> /// Este realizata redeschiderea lunii precedente lunii active. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks> /// Autor: Cristina Muntean /// Data: 13.12.2006 /// </remarks> private void btnRedeschidereLuna_Click(object sender, System.EventArgs e) { int redeschidereValida; Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); // Se poate efectua o redeschidere de luna numai daca exista cel putin doua luni in sistem. if (luni.GetLuni().Tables[0].Rows.Count > 1) { // Este efectiata redeschiderea de luna. redeschidereValida = luni.RedeschidereLunaPrecedenta(); BindComboLstLuni(luni); this.SetCurrentMonth(int.Parse(this.lstLuni.SelectedValue)); this.CalculSalarii.Attributes["onclick"] = "CancelValidation();return -1;"; if (redeschidereValida != 0) { Response.Write("<script>alert('Va rugam sa repetati actiunea!')</script>"); } else { Response.Write("<script>alert('Redeschiderea a fost realizata cu succes!')</script>"); } } else { Response.Write("<script>alert('Luna activa este ultima luna din sistem! Nu se poate efectua o redeschidere de luna!')</script>"); } }
private void Page_Load(object sender, System.EventArgs e) { Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); if (!IsPostBack) { BindComboLstLuni(luni); if (!this.CurrentMonthInSession()) { if (lunaData.LunaId != -1) { this.lstLuni.SelectedValue = lunaData.LunaId.ToString(); } this.SetCurrentMonth(int.Parse(this.lstLuni.SelectedValue)); } else { this.lstLuni.SelectedValue = this.GetCurrentMonth().ToString(); } } this.SetCurrentMonth(int.Parse(this.lstLuni.SelectedValue)); //this.CalculSalarii.Attributes["onclick"]="CancelValidation();return -1;"; this.CalculSalarii.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca doriti sa efectuati calculul salarial?');"); this.InchideLunaActiva.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca doriti sa inchideti luna activa?');"); this.btnRedeschidereLuna.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca doriti sa redeschideti luna anterioara?');"); }
/// <summary> /// Daca pagina de administrare a fost deschisa din AddAngajat cream functia care va face refresh la combo-ul cu categorii /// </summary> private void CreateRefreshFunctionForAddAngajat() { string outStr = ""; //cream scriptul care va contine functia de refresh //ne bazam pe faptul ca se cunoaste numele selectului care contine categorii //initial se sterg toate intrarile din combo outStr += "<script> \r\n function RefreshAddAngajatPage() \r\n" + "{ \r\n" + "window.opener.DeleteCategoriiCombo(); \r\n" + " FillCategoriiCombo(); \r\n" + "} \r\n"; //acum se creeaza functie care adauga categoriile din recordset //se foloseste o functie din AddAngajat ... FillTitluCombo Salaries.Business.Luni luni = new Salaries.Business.Luni(Convert.ToInt32(Session["AngajatorID"])); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); DataSet objAdminCategoriiAngajati = new Salaries.Business.CategoriiAngajat().GetCategoriiAngajat(lunaData.LunaId); outStr += " function FillCategoriiCombo() \r\n" + "{ \r\n"; foreach (DataRow dataRow in objAdminCategoriiAngajati.Tables[0].Rows) { outStr += "window.opener.FillCategorieCombo('" + dataRow["Denumire"].ToString() + "'," + dataRow["CategorieID"].ToString() + ");"; } outStr += "} \r\n" + "</script>"; Response.Write(outStr); }
/// <summary> /// Procedura verifica daca data este dupa luna activa /// </summary> /// <param name="data">Data verificata</param> /// <returns>Returneaza true daca e dupa luna activa si false altfel</returns> private bool DataDupaLunaCurenta( DateTime data ) { Luni l = new Luni( this.GetAngajator()); Salaries.Data.LunaData ld = l.GetLunaActiva(); DateTime dataUltimaZiLunaActiva = ld.Data.AddMonths( 1 ); return dataUltimaZiLunaActiva<=data; }
/// <summary> /// Procedura modifica datele unei luni /// </summary> /// <param name="Data">Data lunii</param> /// <param name="Activ">Specifica daca luna este activa sau nu</param> /// <param name="ProcentInflatie">Procentul de inflatie al lunii</param> /// <returns>Returneaza true daca s-a facut modificarea si false altfel</returns> public int ModifLuna(DateTime Data, bool Activ, float ProcentInflatie) { Salaries.Data.LunaData ld = new Salaries.Data.LunaData(); ld.Data = Data; ld.Activ = Activ; ld.ProcentInflatie = ProcentInflatie; return(new Salaries.Data.Luni(this.settings.ConnectionString).UpdateLuna(ld)); }
/// <summary> /// Procedura selecteaza datele unei luni /// </summary> /// <param name="id">Id-ul lunii</param> private void LoadLunaInflID(int id) { Data.Luni luni = new Data.Luni(settings.ConnectionString); Salaries.Data.LunaData detalii = luni.GetDetalii(id); this.data = detalii.Data; this.activ = detalii.Activ; this.procentInfl = detalii.ProcentInflatie; }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { labelError.Text = ""; DataSet dsAngajatiLichidati = new DataSet(); int angajatorId = this.GetAngajator(); Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.AngajatorId = angajatorId; // Luna curenta. Salaries.Business.Luni luna = new Salaries.Business.Luni(angajatorId); Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva(); if (drpAngajatiLichidati.SelectedValue != "") { idAngajat = Int32.Parse(drpAngajatiLichidati.SelectedValue); } else { idAngajat = 0; } //if (!IsPostBack) //{ // Lista caselor de asigurari ale unui angajator. dsAngajatiLichidati = angajat.GetAllAngajatiLichidati(this.GetCurrentMonth()); drpAngajatiLichidati.DataSource = dsAngajatiLichidati; drpAngajatiLichidati.DataTextField = "NumeIntreg"; drpAngajatiLichidati.DataValueField = "AngajatId"; drpAngajatiLichidati.DataBind(); //} bool exista = false; foreach (DataRow dr in dsAngajatiLichidati.Tables[0].Rows) { if (Int32.Parse(dr["AngajatId"].ToString()) == idAngajat) { exista = true; } } if (idAngajat != 0 && exista) { drpAngajatiLichidati.SelectedValue = idAngajat.ToString(); } this.raportDateLichidare.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); // Sunt setati parametrii raportului. // ID-ul angajatorului pentru care se genereaza raportul. this.raportDateLichidare.SetQueryParameter("AngajatorID", angajatorId.ToString()); // Id-ul angajatului pentru care se genereaza raportul. this.raportDateLichidare.SetQueryParameter("AngajatID", drpAngajatiLichidati.SelectedItem.Value); } catch (Exception) { labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!"; } }
/// <summary> /// Salveaza datele unei categorii salariale /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSalveaza_Click(object sender, System.EventArgs e) { try { Salaries.Data.CategorieData categorieData = new Salaries.Data.CategorieData(); Salaries.Business.Luni luni = new Salaries.Business.Luni(Convert.ToInt32(Session["AngajatorID"])); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); categorieData.Denumire = this.lblDenumire.Text; categorieData.Descriere = this.txtDescriere.Text; categorieData.DPB = (chkPrimesteDPB.Checked) ? decimal.Parse(this.txtDPB.Text) : 0; categorieData.ScturieAsigSanAngajator = this.chkScutireAsigSanAngajator.Checked; categorieData.ScutireAsigSanAngajat = this.chkScutireAsigSanAngajat.Checked; categorieData.ScutireCASAngajat = this.chkScutireCASAngajat.Checked; categorieData.ScutireCASAngajator = this.chkScutireCASAngajator.Checked; categorieData.ScutireImpozit = this.chkScutireImpozit.Checked; categorieData.ScutireSomajAngajat = this.chkScutireSomajAngajat.Checked; categorieData.ScutireSomajAngajator = this.chkScutireSomajAngajator.Checked; categorieData.LunaId = lunaData.LunaId; categorieData.CategorieId = int.Parse(txtCategorieID.Text); categorieData.PrimesteDPB = this.chkPrimesteDPB.Checked; if (new Salaries.Business.CategoriiAngajat().CheckIfCategoriiAngajatCanBeAdded(categorieData.CategorieId, categorieData.LunaId, categorieData.Denumire, categorieData.Descriere, categorieData.DPB, categorieData.ScutireImpozit, categorieData.ScutireCASAngajat, categorieData.ScutireCASAngajator, categorieData.ScutireSomajAngajat, categorieData.ScutireSomajAngajator, categorieData.ScutireAsigSanAngajat, categorieData.ScturieAsigSanAngajator, categorieData.PrimesteDPB)) { if (txtCategorieID.Text == "0") { new Salaries.Business.CategoriiAngajat().InsertCategorie(categorieData); } else { new Salaries.Business.CategoriiAngajat().UpdateCategorie(categorieData); } } else { Response.Write("<script> alert('Mai exista o categorie cu aceste date!'); </script>"); } ListCategorii(); CreateRefreshFunctionForAddAngajat(); } catch (Exception ex) { litError.Text = "The following error occurred x: <br>"; litError.Text += ex.Message; } }
/// <summary> /// Evenimentul aparut la incarcarea paginii. /// </summary> /// <param name="sender">obiectul care a declansat evenimentul</param> /// <param name="e">argumentele evenimentului</param> private void Page_Load(object sender, System.EventArgs e) { //Adaugat: Oprescu Claudia //Data: 09.02.2007 //Descriere: Daca nu exista angajati in baza de date, o parte din optiunile din meniul Pontaj vor fi ascunse. // Daca nu exista angajati se va ascunde si meniul Rapoarte. // Daca nu exista conturi pentru angajati, se va ascunde optiunea Fisier Multicache // Daca este autentificare windows, atunci modulul pentru gestiunea utilizatorilor nu se va afisa. existaAngajati = true; existaConturi = true; //daca se genereaza meniul pentru modulul de salarii, trebuie sa se verifice daca exista angajati in baza de date sau nu if (numeXmlSursa == "../Navigare/Salarii_Navigare.xml") { //se creaza o lista in care se vor pune angajatii selectati DropDownList angajatDDL = new DropDownList(); Salaries.Configuration.ModuleSettings settings = Salaries.Configuration.ModuleConfig.GetSettings(); UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString); //se determina id-ul angajatorului curent Salaries.Business.AdminAngajator angajator = new Salaries.Business.AdminAngajator(); int angajatorID = int.Parse(angajator.LoadInfoAngajatori().Tables[0].Rows[0]["AngajatorID"].ToString()); //se determina id-ul lunii curente Salaries.Business.Luni luna = new Salaries.Business.Luni(angajatorID); Salaries.Data.LunaData ld = luna.GetLunaActiva(); int lunaId = ld.LunaId; //se selecteaza angajatii existenti in baza de date utilDb.CreateAngajatiSelectBoxPeLuna(angajatDDL, angajatorID, lunaId); //daca nu exista angajati in lista, se vor ascunde o serie de optiuni din meniul aplicatiei if (angajatDDL.Items.Count == 0) { existaAngajati = false; } Salaries.Business.ConturiAngajator conturi = new Salaries.Business.ConturiAngajator(); conturi.AngajatorId = angajatorID; //daca nu exista conturi pentru angajati, se va ascunde optiunea Fisier multicache if (conturi.GetMonedaConturiAngajati().Tables[0].Rows.Count == 0) { existaConturi = false; } } // se construieste script-ul ce va permite navigarea prin meniu scriptNavigare = ScriptMeniu("MenuContainer"); }
private void Page_Load(object sender, System.EventArgs e) { string script_text = "<script>var ctrlID = \"" + this.ClientID + "\"</script>"; Response.Write(script_text); //id-ul angajatorului this.AngajatorID = this.GetAngajator(); //luna activa a angajatorului Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); //id-ul lunii active int lunaActivaID = lunaData.LunaId; if (!IsPostBack) { string procInflatie = luni.GetDetalii(lunaActivaID).ProcentInflatie.ToString(); txtProcentInflatie.Text = procInflatie; string[] textTabs = { "Lista luni pe anul curent", "Modificare procent inflatie" }; Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "../", true); //anii din baza de date pentru care sunt calculate salariile DataSet dsAni = luni.GetAniSal_Salarii(); if (dsAni.Tables[0].Rows.Count != 0) { //populeaza dropdownlist-ul foreach (DataRow row in dsAni.Tables["Ani"].Rows) { ListItem NewItem = new ListItem(); NewItem.Text = row["An"].ToString(); drpAni.Items.Add(NewItem); } } else { ListItem NewItem = new ListItem(); NewItem.Text = luni.GetLunaActiva().Data.Year.ToString(); drpAni.Items.Add(NewItem); } } else { string[] textTabs = { "Lista luni pentru anul selectat", "Modificare procent inflatie" }; Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "../", true); } }
private void Page_Load(object sender, System.EventArgs e) { #region variabile javascript string script_text = "<script>var ctrlID = \"" + this.UniqueID + "\"</script>"; Response.Write(script_text); Response.Write("<script>var DateStartID = '" + this.DateStart.ClientID + "';</script>"); Response.Write("<script>var DateEndID = '" + this.DateEnd.ClientID + "';</script>"); Response.Write("<script>var ddlTipuriRetineriClient = '" + this.ddlTipuriRetineri.ClientID + "';</script>"); Response.Write("<script>var txtDenumireRetinereClient = '" + this.txtRetinere.ClientID + "';</script>"); Response.Write("<script>var txtDataStartClient = '" + this.txtDataStart.ClientID + "';</script>"); Response.Write("<script>var txtDataEndClient = '" + this.txtDataEnd.ClientID + "';</script>"); Response.Write("<script>var txtValoareClient = '" + this.txtValoare.ClientID + "';</script>"); Response.Write("<script>var chkAlertaClient = '" + this.chkAlerta.ClientID + "';</script>"); Response.Write("<script>var txtRetinereIdClient = '" + this.txtRetinereID.ClientID + "';</script>"); #endregion string[] textTabs = { "Lista retineri angajat", "Adauga retinere angajat" }; LoadRetineriAngajat(); SiemensTM.utils.Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "../", true); Response.Write("<script> var TipUtilizator = ''; </script>"); #region angajat, luna activa Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat(); objAngajat.AngajatId = AngajatID; objAngajat.LoadAngajat(); Salaries.Business.Luni luni = new Salaries.Business.Luni(objAngajat.AngajatorId); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); lunaID = lunaData.LunaId; dataStartLunaActiva = lunaData.Data; #endregion Response.Write("<script> LunaActivaDataStart = '" + dataStartLunaActiva.ToString("dd.MM.yyyy") + "'</script>"); actiuneRetinere = ((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("txtActiuneRetinere")).Value; if (IsPostBack) { TransferDateRetinereLaClient(); HandleActions(); } else { LoadTipuriRetineri(); TransferDateRetinereLaClient(); } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); if (lunaData.LunaId != -1) { bool enabled = this.GetCurrentMonth() == lunaData.LunaId; this.btnAdaugaProcentInfl.Enabled = enabled; this.tableTabs.Enabled = enabled; } this.LoadInflatieList(); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { // Conturile angajatorului. Salaries.Business.ConturiAngajator conturiAngajator = new Salaries.Business.ConturiAngajator(); DataSet dsConturiActive = new DataSet(); // Luna curenta. Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva(); if (!IsPostBack) { // Conturile active ale angajatorului. conturiAngajator.AngajatorId = this.GetAngajator(); dsConturiActive = conturiAngajator.GetConturiBancareActiveAngajator(); drpContAngajator.DataSource = dsConturiActive; drpContAngajator.DataTextField = "NumarContIBAN"; drpContAngajator.DataValueField = "ContID"; drpContAngajator.DataBind(); // Este setata data la care se face plata. txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString(); } this.raportDeclaratieA1.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); // Sunt setati parametrii raportului. // ID-ul angajatorului pentru care se genereaza declaratia pentru sanatate. this.raportDeclaratieA1.SetQueryParameter("AngajatorID", this.GetAngajator().ToString()); // Id-ul lunii pentru care se genereaza declaratia pentru sanatate. this.raportDeclaratieA1.SetQueryParameter("LunaID_1", this.GetCurrentMonth().ToString()); // ID-ul contului angajatorului. this.raportDeclaratieA1.SetQueryParameter("ContID", drpContAngajator.SelectedItem.Value); // Numarul de file ale anexei 2. this.raportDeclaratieA1.SetQueryParameter("NrFileAnexa2", txtNrFleAnexa2.Text); // Data platii drepturilor salariale. this.raportDeclaratieA1.SetQueryParameter("DataPlataSalarii", txtDataPlatii.Text); } catch (Exception) { labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!"; } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); Salaries.Data.LunaData ldActiva = new Salaries.Business.Luni(this.GetAngajator()).GetLunaActiva(); // Verificam daca luna selectata este activa if (ldActiva.LunaId != GetCurrentMonth()) { Response.Write("<script>var IsCurrentMonthActive = 0;</script>"); } else { Response.Write("<script>var IsCurrentMonthActive = 1;</script>"); } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { DataSet dsAngajati = new DataSet(); Salaries.Business.Angajat angajati = new Salaries.Business.Angajat(); // Luna curenta. Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva(); if (!IsPostBack) { // Lista angajatilor firmei pentru care se genereaza declaratia pentru sanatate. angajati.AngajatorId = GetAngajator(); dsAngajati = angajati.GetAllAngajatiDinLuna(this.GetCurrentMonth()); drpReprezentantLegal.DataSource = dsAngajati; drpReprezentantLegal.DataTextField = "NumeIntreg"; drpReprezentantLegal.DataValueField = "AngajatID"; drpReprezentantLegal.DataBind(); // Este setata data platii drepturilor salariale. txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString(); } this.raportSanatate.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); // Sunt setati parametrii raportului. // ID-ul angajatorului pentru care se genereaza declaratia. this.raportSanatate.SetQueryParameter("AngajatorID", this.GetAngajator().ToString()); // Id-ul lunii pentru care se genereaza declaratia. this.raportSanatate.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString()); // ID-ul reprezentantului legal al firmei. this.raportSanatate.SetQueryParameter("ReprezentantLegalID", drpReprezentantLegal.SelectedItem.Value); // Suma restanta. this.raportSanatate.SetQueryParameter("Restanta", txtSumaRestanta.Text); // Data platii drepturilor salariale. this.raportSanatate.SetQueryParameter("DataPlataSalarii", txtDataPlatii.Text); } catch (Exception) { labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!"; } }
/// <summary> /// Este inchisa luna si este efectuat calculul final al salariilor /// </summary> public void InchideLunaActiva() { Salaries.Data.LunaData lunaActiva = this.GetLunaActiva(); //sunt calculate salariile angajtior this.CalculSalariiAngajati(lunaActiva.LunaId); lunaActiva.Activ = false; this.ModifLuna(lunaActiva); Salaries.Data.LunaData dlNext = new Salaries.Data.LunaData(); dlNext.Activ = true; dlNext.Data = lunaActiva.Data.AddMonths(1); dlNext.LunaId = -1; dlNext.AngajatorId = lunaActiva.AngajatorId; dlNext.ProcentInflatie = 0; this.AddLuna(dlNext); this.CopySetariSalarii_Luna(lunaActiva.LunaId, this.GetLunaActiva().LunaId); }
private void Page_Load(object sender, System.EventArgs e) { Utilities.CreateTableHeader(tableRetineriHeader, "Angajatii carora le expira diferite retineri in acesta luna", "", "normal"); int angajatorId = int.Parse(Session["AngajatorId"].ToString()); Salaries.Business.Luni luni = new Salaries.Business.Luni(angajatorId); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); if (!IsPostBack) { Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat(); DataSet ds = objAngajat.GetAngajatiExpiraRetineri(lunaData.LunaId); Session["SortBy"] = ""; Ind = 1; Session["DataSource_Retineri"] = ds; listDataGridAngajati.DataSource = ds; listDataGridAngajati.DataBind(); } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { DataSet dsCaseDeAsig = new DataSet(); Salaries.Business.AdminAngajator angajator = new Salaries.Business.AdminAngajator(); angajator.AngajatorId = this.GetAngajator(); // Luna curenta. Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva(); if (!IsPostBack) { // Lista caselor de asigurari ale unui angajator. dsCaseDeAsig = angajator.GetCaseDeAsigurari(); drpCaseDeAsig.DataSource = dsCaseDeAsig; drpCaseDeAsig.DataTextField = "Denumire"; drpCaseDeAsig.DataValueField = "Denumire"; drpCaseDeAsig.DataBind(); } this.raportSanatate.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); // Sunt setati parametrii raportului. // ID-ul angajatorului pentru care se genereaza declaratia. this.raportSanatate.SetQueryParameter("AngajatorID", this.GetAngajator().ToString()); // Id-ul lunii pentru care se genereaza declaratia. this.raportSanatate.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString()); // Punctul de lucru. this.raportSanatate.SetQueryParameter("DenumireCasaDeAsigurari", drpCaseDeAsig.SelectedItem.Value); this.raportSanatate.SetQueryParameter("ReprezentantLegalID", "-1"); } catch (Exception) { labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!"; } }
private void Page_Load(object sender, System.EventArgs e) { //Modificat: Cristina Muntean ... se permite modificarea pontajului numai daca luna selectata de //utilizator este luna activa a angajatorului sau daca exista situatie lunara pentru angajatul selectat //luna selectata de utilizator int lunaCurentaID = int.Parse(this.Session[SiemensHR.InterfataSalarii.Classes.Definitions.LunaCurentaKey].ToString()); //id-ul angajatului selectat in dropdownlist int angajatID = this.GetAngajat(); Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat(); objAngajat.AngajatId = angajatID; objAngajat.LoadAngajat(); //luna activa a angajatorului Salaries.Business.Luni luna = new Salaries.Business.Luni(objAngajat.AngajatorId); Salaries.Data.LunaData lunaData = luna.GetLunaActiva(); //se obtine situatie lunara a angajatului Salaries.Business.SituatieLunaraAngajat situatieLunaraAng = new Salaries.Business.SituatieLunaraAngajat(objAngajat.AngajatId); Salaries.Data.InfoSituatieLunara infoSituatieLunara = situatieLunaraAng.GetSituatieLunaraAngajat(objAngajat.AngajatId, lunaData.LunaId); //daca luna selectata de utilizator nu este luna activa sau daca nu exista o situatie lunara pentru angajatul selectat //atunci se permite doar vizualizarea pontajului,altfel se permite si modificarea acestuia if ((lunaCurentaID != lunaData.LunaId) || (infoSituatieLunara.SituatieID == -1)) { //HtmlTableCell IntervaleContainer este ascunsa IntervaleContainer.Style.Add("display", "none"); } else { //HtmlTableCell IntervaleContainer este facuta vizibila IntervaleContainer.Style.Add("display", ""); } ClientSelectedDate1 = (System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("ClientSelectedDate"); this.DoQuickLogin(this.GetAngajat()); }
private void Page_Load(object sender, System.EventArgs e) { if (objAngajat.IsLichidat) { btnGenerati.Enabled = false; txtNrCom.Enabled = false; txtDataInregistrarii.Enabled = false; lblEroare.Text = "Angajatul selectat este lichidat!"; } // Este aflata luna activa luni = new Salaries.Business.Luni(objAngajat.AngajatorId); lunaData = luni.GetLunaActiva(); // DataSet-ul cu numele tuturor angajatilor. objAngajat.CategorieId = -1; Salaries.Business.AdminAngajator adminAng = new Salaries.Business.AdminAngajator(); adminAng.AngajatorId = Int32.Parse(Session["AngajatorId"].ToString()); DataSet ds = adminAng.GetReprezLegali(); foreach (DataRow dr in ds.Tables[0].Rows) { // Numele managerului general. if (dr["NumeFunctie"].ToString().Equals("Manager general")) { txtManagerGeneral.Text = dr["NumeReprez"].ToString() + " " + dr["PrenumeReprez"].ToString(); } // Numele directorului economic. if (dr["NumeFunctie"].ToString().Equals("Director economic")) { txtDirectorEconomic.Text = dr["NumeReprez"].ToString() + " " + dr["PrenumeReprez"].ToString(); } } Utilities.CreateTableHeader(Table2, "Comunicare indexare si majorare drepturi banesti pentru luna " + " " + lunaData.Data.Month.ToString() + " / " + lunaData.Data.Year.ToString(), "", "normal"); }
/// <summary> /// Se initializeaza datele specifice paginii /// </summary> private void Page_Load(object sender, System.EventArgs e) { string script_text = "<script>var ctrlID = \"" + this.ClientID + "\"</script>"; Response.Write(script_text); litError.Text = ""; btnEdit.Style.Add("display", "none"); txtSerieID.Style.Add("display", "none"); settings = Salaries.Configuration.ModuleConfig.GetSettings(); UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString); Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); lunaActiva = luni.GetLunaActiva(); BindComboLstLunaSerie(luni); BindPunctLucru(); if (!IsPostBack) { this.btnSalveaza.Enabled = true; } }
private void Page_Load(object sender, System.EventArgs e) { string script_text = "<script>var ctrlID = \"" + this.UniqueID + "\"</script>"; Response.Write(script_text); Response.Write("<script>var DateStartID = '" + this.DateStart.ClientID + "';</script>"); Response.Write("<script>var DateEndID = '" + this.DateEnd.ClientID + "';</script>"); Response.Write("<script>var txtDataStartID = '" + this.txtDataStart.ClientID + "';</script>"); Response.Write("<script>var txtDataEndID = '" + this.txtDataEnd.ClientID + "';</script>"); this.txtDataStart.Attributes["onblur"] = " if (document.getElementById(txtDataStartID).value!='') {getIntervalIntreruperi('" + this.ClientID + "').DataStartChanged();" + "document.getElementById(DateStartID).value=document.getElementById(txtDataStartID).value;" + "if (!isDate(document.getElementById(txtDataStartID).value)) { alert('Data de inceput nu este corecta!'); document.getElementById(txtDataStartID).value='';} }"; this.txtDataEnd.Attributes["onblur"] = " if (document.getElementById(txtDataEndID).value!='') {getIntervalIntreruperi('" + this.ClientID + "').DataEndIntrerupereChanged(); " + "document.getElementById(DateEndID).value=document.getElementById(txtDataEndID).value;" + "if (!isDate(document.getElementById(txtDataEndID).value)) { alert('Data de sfarsit nu este corecta!'); document.getElementById(txtDataEndID).value='';} }"; this.txtObservatii.Attributes["onblur"] = "getIntervalIntreruperi('" + this.ClientID + "').ObservatiiIntreruperiChanged()"; string[] textTabs = { "Istoric intreruperi CIM", "Adauga intrerupere CIM" }; LoadIstoricSuspendariCIM(); SiemensTM.utils.Utilities.CreateHeaderWithTabs(tableTabs, textTabs, "", true); Response.Write("<script> var TipUtilizator = ''; </script>"); Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat(); objAngajat.AngajatId = AngajatID; objAngajat.LoadAngajat(); Salaries.Business.Luni luni = new Salaries.Business.Luni(objAngajat.AngajatorId); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); dataStartLunaActiva = lunaData.Data; Response.Write("<script>LunaActivaDataStart = '" + dataStartLunaActiva.ToString("dd.MM.yyyy") + "'</script>"); btnStergeDate.Attributes.Add("onclick", "return CheckDelete('Sunteti sigur ca vreti sa stergeti intreruperea?');"); }
/// <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); } } } } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { // Conturile angajatorului. Salaries.Business.ConturiAngajator conturiAngajator = new Salaries.Business.ConturiAngajator(); DataSet dsConturiActive = new DataSet(); // Monezile in care au angajatii deschise conturi. DataSet dsMonede = new DataSet(); // Luna curenta. Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaCurenta = luna.GetLunaActiva(); if (!IsPostBack) { // Conturile active ale angajatorului. conturiAngajator.AngajatorId = this.GetAngajator(); dsConturiActive = conturiAngajator.GetConturiBancareActiveAngajator(); drpContAngajator.DataSource = dsConturiActive; drpContAngajator.DataTextField = "NumarContIBAN"; drpContAngajator.DataValueField = "ContID"; drpContAngajator.DataBind(); // Monezile in care au angajatii deschise conturi dsMonede = conturiAngajator.GetMonedaConturiAngajati(); drpMonedaCont.DataSource = dsMonede; drpMonedaCont.DataTextField = "Moneda"; drpMonedaCont.DataValueField = "Moneda"; drpMonedaCont.DataBind(); // Luna pentru care se face plata. switch (lunaCurenta.Data.Month) { case 1: txtLunaAn.Text = "ian."; break; case 2: txtLunaAn.Text = "feb."; break; case 3: txtLunaAn.Text = "martie"; break; case 4: txtLunaAn.Text = "apr."; break; case 5: txtLunaAn.Text = "mai"; break; case 6: txtLunaAn.Text = "iun."; break; case 7: txtLunaAn.Text = "iul."; break; case 8: txtLunaAn.Text = "aug."; break; case 9: txtLunaAn.Text = "sept."; break; case 10: txtLunaAn.Text = "oct."; break; case 11: txtLunaAn.Text = "noi."; break; case 12: txtLunaAn.Text = "dec."; break; } txtLunaAn.Text += lunaCurenta.Data.Year.ToString(); // Este setata data la care se face plata. txtDataPlatii.Text = lunaCurenta.Data.ToShortDateString(); } this.raportFisierMulticache.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); // Sunt setati parametrii raportului. // ID-ul angajatorului pentru care se genereaza fisierul multicache this.raportFisierMulticache.SetQueryParameter("AngajatorID", this.GetAngajator().ToString()); // Id-ul lunii pentru care se genereaza fisierul multicache. this.raportFisierMulticache.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString()); // ID-ul contului angajatorului. this.raportFisierMulticache.SetQueryParameter("ContID", drpContAngajator.SelectedItem.Value); // Moneda in care sunt deschise conturile angajatilor. this.raportFisierMulticache.SetQueryParameter("Moneda", drpMonedaCont.SelectedItem.Text); // Luna si anul la care se face plata. this.raportFisierMulticache.SetQueryParameter("LunaAn", txtLunaAn.Text); // Data platii. this.raportFisierMulticache.SetQueryParameter("Data", txtDataPlatii.Text); // Tipul platii. this.raportFisierMulticache.SetQueryParameter("TipPlata", txtTipulPlatii.Text); } catch (Exception) { labelError.Text = "Pentru a putea genera raportul trebuie sa fie disponibile toate datele necesare!"; } }
/// <summary> /// Procedura adauga o luna /// </summary> /// <param name="ld">Obiectul adaugat</param> /// <returns>Returneaza true daca s-a facut adaugarea si false altfel</returns> public int AddLuna(Salaries.Data.LunaData ld) { return(this.AddLuna(ld.Data, ld.Activ, ld.ProcentInflatie, ld.AngajatorId)); }
/// <summary> /// Procedura modifica datele unei luni /// </summary> /// <param name="ld">Obiectul modificat</param> /// <returns>Returneaza true daca s-a facut modificarea si false altfel</returns> public int ModifLuna(Salaries.Data.LunaData ld) { return(new Salaries.Data.Luni(this.settings.ConnectionString).UpdateLuna(ld)); }
private void btnGenerati_Click(object sender, System.EventArgs e) { // Date luna anterioara. Salaries.Data.LunaData lunaAnterioara = luni.GetDetaliiByData(lunaData.Data.AddMonths(-1)); // Situatia lunara a angajatului. Salaries.Business.SituatieLunaraAngajat situatieLunara = new Salaries.Business.SituatieLunaraAngajat(objAngajat.AngajatId); // Situatia lunara din luna curenta. Salaries.Data.InfoSituatieLunara infoSituatieLunara = situatieLunara.GetSituatieLunaraAngajat(objAngajat.AngajatId, lunaData.LunaId); // Situatia lunara de pe luna precedenta. Salaries.Data.InfoSituatieLunara infoSituatieLunaraAnt = situatieLunara.GetSituatieLunaraAngajat(objAngajat.AngajatId, lunaAnterioara.LunaId); Salaries.Business.Salariu salariu = new Salaries.Business.Salariu(); salariu.AngajatID = objAngajat.AngajatId; // true, daca este luna incheie un trimestru, false altfel bool lnSfDeTrim = false; // Suma cu care a fost majorat salariul angajatului. float sumaMajorare = 0; // Valoarea indexata a venitului brut. float venitBrutIndexat = 0; int lunaCurenta = int.Parse(luni.GetLunaActiva().Data.Month.ToString()); switch (lunaCurenta) { case LUNA_INDEXARE_1: lnSfDeTrim = true; break; case LUNA_INDEXARE_2: lnSfDeTrim = true; break; } venitBrutIndexat = salariu.CalculVenitBrutIndexat(); /* * Se verifica daca este cazul sa se genereze o astfel de comunicare. * Anul este impartit in patru trimestre(lunile 1-3,4-6,7-9,10-12) * Indexarea se reflecta in salariul din ultima luna a trimestrului. Cum * salariul primit in luna activa este de pe luna anterioara, indexarea * trebuie sa fie facuta in fiecare din lunile 1,4,7 si 10.Se verifica, de asemenea, * daca angajatul a lucrat cel putin o luna pe trimestrul anterior. */ if ((lnSfDeTrim) && (venitBrutIndexat != 0)) { // Sunt introduse in sesiune datele referitoare la comunicare. // Tipul comunicarii. Session["TipComunicare"] = "comunicare indexare.xml"; // Numarul comunicarii. Session["Numar"] = txtNrCom.Text; // Data inregistrarii comunicarii. Session["DataInregistrarii"] = txtDataInregistrarii.Text; // Procentul inflatiei. Session["ProcentIndexare"] = (salariu.CalculProcentIndexareAngajat() - 1) * 100; // Este calculata valoarea majorarii. sumaMajorare = (infoSituatieLunara.IndemnizatieConducere - infoSituatieLunaraAnt.IndemnizatieConducere) + (infoSituatieLunara.SalariuBaza - salariu.CalculVenitBrutIndexat()); // Valoare majorare. Session["SumaMajorare"] = sumaMajorare; // Numele managerului general. Session["ManagerGeneral"] = txtManagerGeneral.Text; // Numele directorului economic. Session["DirectorEconomic"] = txtDirectorEconomic.Text; Response.Redirect("Comunicari/comunicare.aspx?id=" + objAngajat.AngajatId); lblEroare.Text = "Comunicarea a fost generata."; } // Altfel este afisat un mesaj de eroare. else { if (!lnSfDeTrim) { lblEroare.Text = "Pe aceasta luna nu trebuie generata o astfel de comunicare!"; } if (venitBrutIndexat == 0) { lblEroare.Text = "Acestui angajat nu trebuie sa ii fie indexat salariul!"; } } }
/// <summary> /// Sunt calculate salariile din luna activa, inainte sa fie inchisa luna(este facut un calcul intermediar) /// </summary> public void SalariiLunaActiva() { Salaries.Data.LunaData lunaActiva = this.GetLunaActiva(); this.CalculIntermediarSalariiAngajati(lunaActiva.LunaId); }
/// <summary> /// Initializeaza luna /// </summary> private void InitializareLunaClick() { ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - start - click_initializareLuna()"); // Va contine salariile indexate ale angajatilor. DataSet dsSalariiIndexate = new DataSet(); Salaries.Business.Luni luna = new Salaries.Business.Luni(this.GetAngajator()); ArrayList categs = new ArrayList(); /* * Adaugat: Oprescu Claudia * Data: 24.04.2007 * Descriere: Daca exista angajati carora le-a expirat contractul de munca, nu se permite initializarea lunii pentru care trebuie facuta indexarea */ if (performIndexing && ((this.SelectedDate.Month == 4) || (this.SelectedDate.Month == 10))) { Salaries.Business.Angajat angajati = new Salaries.Business.Angajat(); Salaries.Business.IstoricSchimbareDateAngajat dataPosibilaIndexare = new Salaries.Business.IstoricSchimbareDateAngajat(); dataPosibilaIndexare.DataStart = luna.GetLunaActiva().Data; while (dataPosibilaIndexare.DataEsteZiSarbatoare()) { dataPosibilaIndexare.DataStart = dataPosibilaIndexare.DataStart.AddDays(1); } DataSet dsAngajatiExpiraContract = angajati.GetAngajatiExpiraContractLunaCurenta(dataPosibilaIndexare.DataStart); if (dsAngajatiExpiraContract.Tables[0].Rows.Count != 0) { Response.Write("<script> alert('Exista angajati carora le-a expirat contractul de munca, adica data de sfarsit a contractului este mai mica decat prima zi lucratoare a lunii curente. \\nPentru a vizualiza acesti angajati, accesati modulul Home al aplicatiei. \\nVa rugam actualizati data de sfarsit a contractului pentru acesti angajati pentru a se putea efectua indexarea. \\nVa multumim!'); </script>"); return; } } InitializeOreLucrateLunaAngajati(); if (this.lstCategorii.SelectedIndex == 0) { for (int i = 1; i < this.lstCategorii.Items.Count; i++) { categs.Add(int.Parse(this.lstCategorii.Items[i].Value)); } } else { categs.Add(this.lstCategorii.SelectedValue); } /* * Adaugat: Muntean Raluca Cristina * Data: 29.12.2005 * Descriere:Sunt calculate salariile indexate ale angajatilor * si introduce schimbarea in baza de date. * * Modificat: * - Ionel Popa - 18.12.2006: indexarea se face o data la sase luni: aprilie si octombrie */ if (performIndexing && ((this.SelectedDate.Month == 4) || (this.SelectedDate.Month == 10))) { ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - indexare"); //a fost exectuata indexare si campul pentru specificarea indexarii este inactiv tdIndexare.Disabled = true; indexareCheckBox.Checked = true; ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - calcul salarii indexate"); dsSalariiIndexate = luna.CalculSalariiIndexate(this.GetAngajator()); ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - calcul salarii indexate"); Salaries.Business.Angajat ang = new Salaries.Business.Angajat(); Salaries.Business.IstoricSchimbareDateAngajat isda; Salaries.Data.LunaData lunaActiva = luna.GetLunaActiva(); string dataLunaActiva = lunaActiva.Data.ToShortDateString(); //Se creaza noul interval de schimbari: //Va contine ca data de start inceputul lunii si ca data de sfarsit DataTime.MaxValue Salaries.Business.IstoricSchimbareDateAngajat intsch = new Salaries.Business.IstoricSchimbareDateAngajat(); intsch.DataEnd = DateTime.MaxValue; intsch.DataStart = DateTime.Parse(dataLunaActiva); //se stabileste data de inceput a schimbarii //daca este o zi de sarbatoare, se va lua data urmatoare while (intsch.DataEsteZiSarbatoare()) { intsch.DataStart = intsch.DataStart.AddDays(1); } Salaries.Business.IstoricSchimbareDateAngajat interv; //Un angajat poate avea cel putin un interval care se termina inaintea datei de inceput a intervalului de schimbare //In acest caz retinem acest interval //Salaries.Business.IstoricSchimbareDateAngajat possibleLastInterval; ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - schimbare date angajat(sal indexat)"); foreach (DataRow angajatRow in dsSalariiIndexate.Tables[0].Rows) { ang.AngajatId = long.Parse(angajatRow["AngajatID"].ToString()); ang.LoadAngajat(); //Se initializeaza schimbarile angajatului isda = new Salaries.Business.IstoricSchimbareDateAngajat(); isda.AngajatId = ang.AngajatId; isda.DataStart = intsch.DataStart; intsch.AngajatId = ang.AngajatId; if (!ang.IsLichidat) { interv = new Salaries.Business.IstoricSchimbareDateAngajat(); DataSet existaCapat = new DataSet(); //Se verifica daca data de angajare este diferita de inceputul intervalului de schimbare //In cazul in care sunt egale ... nu se face indexarea /*if(ang.DataDeLa != intsch.DataStart) * { * //Se extrage intervalul precedent intervalului de schimbare * isda.DataStart = intsch.DataStart.AddDays( -1 ); * interv = isda.GetIntervalSchimbareByDataInside(); * //In cazul in care angajatul a fost angajat pe o perioada determinata e posibil sa nu existe un interval care sa includa aceasta data * if( interv.ProgramLucru == -1) * { * interv = isda.GetLastIntervalSchimbare(); * //Se seteaza doar DataEnd pentru ca aceasta e necesara mai jos in InsertCapatIntervalSchimbareAngajat/UpdateCapatIntervalSchimbareAngajat * interv.DataStart = intsch.DataStart.AddDays( -1 ); * //Initializam si acest interval * possibleLastInterval = isda.GetLastIntervalSchimbare(); * possibleLastInterval.DataStart = intsch.DataStart.AddDays( -1 ); * isda.CategorieId = interv.CategorieId; * possibleLastInterval.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva(); * } * else * { * isda.CategorieId = interv.CategorieId; * interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva(); * //Initializam si acest interval * isda.DataStart = intsch.DataStart.AddDays( -1 ); * possibleLastInterval = isda.GetIntervalSchimbareByDataInside(); * isda.CategorieId = interv.CategorieId; * possibleLastInterval.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva(); * } * * * //Se verifica daca data de start a intervalului de schimbare este capat de interval * //Aceasta verificare este necesara pentru ca intervalele sa fie continue * //De ex: in cazul in care exista un capat mai mic decat capatul de start al intervalului de schimbare acesta este actualizat cu capatul de start al intervalului de schimbare * //!!Prin actiunea de mai jos se seteaza ca si capat de interval ultima zi a lunii precedente * isda.DataStart = intsch.DataStart.AddDays( -1 ); * existaCapat = isda.GetCapatIntervalAngajatZi(); * if ( existaCapat == null || existaCapat.Tables[ 0 ].Rows.Count == 0 ) * { * //Daca nu exista un capat de interval acesta va fi inserat * interv.InsertCapatIntervalSchimbareAngajat(); * } * else * { * //Daca exista un capat de interval acesta este actualizat * interv.IntervalAngajatId = int.Parse( existaCapat.Tables[ 0 ].Rows[ 0 ][ "IntervalAngajatID" ].ToString()); * interv.UpdateCapatIntervalSchimbareAngajat(); * } * * //Se actulizeaza salariul de baza cu cel indexat * intsch.SalariuBaza = decimal.Parse( angajatRow["SalariuIndexat"].ToString() ); * //Se insereaza schimbarea pentru angajatul curent * intsch.InsertSchimbareSalariuBaza(); * * //Se seteaza ca si capat de interval inceputul lunii active * isda.DataStart = intsch.DataStart; * interv = isda.GetIntervalSchimbareByDataInside(); * if( interv.ProgramLucru == -1) * { * interv = possibleLastInterval; * interv.DataStart = DateTime.Parse(dataLunaActiva ); * } * interv.SalariuBaza = intsch.SalariuBaza; * isda.CategorieId = interv.CategorieId; * interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva(); * * isda.DataStart = intsch.DataStart; * existaCapat = isda.GetCapatIntervalAngajatZi(); * if( existaCapat == null || existaCapat.Tables[ 0 ].Rows.Count == 0 ) * { * interv.InsertCapatIntervalSchimbareAngajat(); * } * else * { * interv.IntervalAngajatId = int.Parse( existaCapat.Tables[ 0 ].Rows[ 0 ][ "IntervalAngajatID" ].ToString()); * interv.UpdateCapatIntervalSchimbareAngajat(); * } * }*/ //Se verifica daca data de angajare este diferita de inceputul intervalului de schimbare //In cazul in care sunt egale ... nu se face indexarea if (ang.DataDeLa != intsch.DataStart) { //Se extrage intervalul precedent intervalului de schimbare isda.DataStart = intsch.DataStart.AddDays(-1); //daca este o zi de sarbatoare, se va trece la ziua anterioara pana se va gasi o zi care nu este sarbatoare while (isda.DataEsteZiSarbatoare()) { isda.DataStart = isda.DataStart.AddDays(-1); } interv = isda.GetIntervalSchimbareByDataInside(); isda.CategorieId = interv.CategorieId; interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva(); //Se verifica daca data de start a intervalului de schimbare este capat de interval //Aceasta verificare este necesara pentru ca intervalele sa fie continue //De ex: in cazul in care exista un capat mai mic decat capatul de start al intervalului de schimbare acesta este actualizat cu capatul de start al intervalului de schimbare //!!Prin actiunea de mai jos se seteaza ca si capat de interval ultima zi a lunii precedente isda.DataStart = intsch.DataStart.AddDays(-1); //daca este o zi de sarbatoare, se va trece la ziua anterioara pana se va gasi o zi care nu este sarbatoare while (isda.DataEsteZiSarbatoare()) { isda.DataStart = isda.DataStart.AddDays(-1); } existaCapat = isda.GetCapatIntervalAngajatZi( ); if (existaCapat == null || existaCapat.Tables[0].Rows.Count == 0) { //Daca nu exista un capat de interval acesta va fi inserat interv.InsertCapatIntervalSchimbareAngajat(); } else { //Daca exista un capat de interval acesta este actualizat interv.IntervalAngajatId = int.Parse(existaCapat.Tables[0].Rows[0]["IntervalAngajatID"].ToString()); interv.UpdateCapatIntervalSchimbareAngajat(); } } //Se actulizeaza salariul de baza cu cel indexat intsch.SalariuBaza = decimal.Parse(angajatRow["SalariuIndexat"].ToString()); //Se insereaza schimbarea pentru angajatul curent intsch.InsertSchimbareSalariuBaza(); //Se seteaza ca si capat de interval inceputul lunii active isda.DataStart = intsch.DataStart; interv = isda.GetIntervalSchimbareByDataInside(); interv.SalariuBaza = intsch.SalariuBaza; isda.CategorieId = interv.CategorieId; interv.CategorieId = isda.GetCategorieCorspunzatoareDinLunaActiva(); isda.DataStart = intsch.DataStart; existaCapat = isda.GetCapatIntervalAngajatZi(); if (existaCapat == null || existaCapat.Tables[0].Rows.Count == 0) { interv.InsertCapatIntervalSchimbareAngajat(); } else { interv.IntervalAngajatId = int.Parse(existaCapat.Tables[0].Rows[0]["IntervalAngajatID"].ToString()); interv.UpdateCapatIntervalSchimbareAngajat(); } } } ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - schimbare date angajat(sal indexat)"); ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - indexare"); } ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - adaugarea etichetelor asociate retinerilor"); //Adaugat: Oprescu Claudia //Descriere: La initializarea fiecarei luni se adauga etichetele asociate acesteia Salaries.Business.TypesOfRestraints tr = new Salaries.Business.TypesOfRestraints(); tr.InsertLabel(this.GetCurrentMonth()); //Descriere: Pentru fiecare angajat se adauga valori pentru retinerea din luna nou adaugata Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); DataSet angajatiID = angajat.GetAngajatIDAll(); foreach (DataRow dr in angajatiID.Tables[0].Rows) { long AngajatID = long.Parse(dr["AngajatID"].ToString()); Salaries.Business.TipuriRetineriValori trv = new Salaries.Business.TipuriRetineriValori(); trv.InsertRetineriValori(this.GetCurrentMonth(), AngajatID); } ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - adaugarea etichetelor asociate retinerilor"); ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - start - generare situatii lunare"); for (int i = 0; i < categs.Count; i++) { int CategorieID = int.Parse(categs[i].ToString()); DataSet CategorieAngajati = new Salaries.Business.CategoriiAngajat().GetCategorieAngajati(CategorieID); foreach (DataRow dr in CategorieAngajati.Tables[0].Rows) { long AngajatID = long.Parse(dr["AngajatID"].ToString()); Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(AngajatID); sla.GenerareSituatieLunaraAngajat(this.GetCurrentMonth(), this.GetAngajator()); //se adauga valorile retinerilor pentru un angajat dintr-o luna //Salaries.Business.TipuriRetineriValori().InsertRetineriValori(this.GetCurrentMonth(), this.GetAngajator()); Salaries.Data.InfoSituatieLunara isl = sla.GetSituatieLunaraAngajat(AngajatID, this.GetCurrentMonth()); //Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(AngajatID); Salaries.Data.InfoSituatieLunara x = new Salaries.Data.InfoSituatieLunara(); x.SituatieID = -1; x.AngajatID = AngajatID; x.LunaID = this.GetCurrentMonth(); x.NrZileLuna = isl.NrZileLuna; x.NrOreConcediuBoala = isl.NrOreConcediuBoala; x.NrOreConcediuOdihna = isl.NrOreConcediuOdihna; x.NrOreEvenimDeoseb = isl.NrOreEvenimDeoseb; x.NrOreInvoire = isl.NrOreInvoire; x.NrOreObligatiiCetatenesti = isl.NrOreObligatiiCetatenesti; x.NrOreAbsenteNemotivate = isl.NrOreAbsenteNemotivate; x.NrOreConcediuFaraPlata = isl.NrOreConcediuFaraPlata; x.NrOreLucrate = isl.NrOreLucrate; //x.NrOreSup100Proc = isl.NrOreSup100Proc; //x.NrOreSup50Proc = isl.NrOreSup50Proc; x.NrOreSup100Proc = int.Parse(this.txtNrOreSup100Proc.Text); x.NrOreSup50Proc = int.Parse(this.txtNrOreSup50Proc.Text); x.PrimeSpeciale = decimal.Parse(this.txtPrimeSpeciale.Text); x.SporActivitatiSup = decimal.Parse(this.txtSporActivitatiSup.Text); x.EmergencyService = decimal.Parse(this.txtEmergencyService.Text); x.AlteDrepturi = decimal.Parse(this.txtAlteDrepturi.Text); x.AlteDrepturiNet = decimal.Parse(this.txtAlteDrepturiNet.Text); x.Avans = decimal.Parse(this.txtAvans.Text); x.PrimaProiect = decimal.Parse(this.txtPrimaProiect.Text); //se calculeaza suma pe care trebuie sa o plateasca cei scutiti de contributia la sanatate int lunaID = this.GetCurrentMonth(); x.RetinereSanatate = 0; x.CategorieID = CategorieID; sla.AddSituatieLunaraAngajat(x, true); //distribuie orele suplimentare //ore 100% lunaID = this.GetCurrentMonth(); Salaries.Business.Luni l = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData ld = l.GetDetalii(lunaID); int tipIntervalID = new SiemensTM.Classes.IntervaleAngajat(AngajatID).GetTipIntervalIDByName(Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[1]);; int valEroare = new SiemensTM.Classes.IntervaleAngajat(AngajatID).DistribuieOreSuplimentareTip(ld.Data, tipIntervalID, x.NrOreSup50Proc, 0, 0); /*if ( valEroare == 1 ) * { * Response.Write( "<script>alert( 'Numarul de ore suplimentare 100% depaseste numarul de ore disponibile!' );</script>" ); * }*/ //ore 200% tipIntervalID = new SiemensTM.Classes.IntervaleAngajat(AngajatID).GetTipIntervalIDByName(Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[2]);; valEroare = new SiemensTM.Classes.IntervaleAngajat(AngajatID).DistribuieOreSuplimentareTip(ld.Data, tipIntervalID, x.NrOreSup100Proc, 0, 1); //Reportare sla.ReporteazaDiferentaCorectiTichete(lunaID); sla.GenerareSituatieLunaraAngajat(this.GetCurrentMonth(), this.GetAngajator()); /*if ( valEroare == 1 ) * { * Response.Write( "<script>alert( 'Numarul de ore suplimentare 200% depaseste numarul de ore disponibile!' );</script>" ); * }*/ } } ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - click_initializareLuna() - end - generare situatii lunare"); ErrHandler.MyErrHandler.WriteError("InitializareLuna.ascx - end - click_initializareLuna()"); }