/// <summary> /// Autor: Cristina Raluca Muntean /// Data: 28.12.2005 /// Descriere: Returneaza valorile salariilor indexate ale angajatilor. /// </summary> /// <param name="angajatorID">Id-ul angajatorului</param> /// <returns>Returneaza un DataSet care contine aceste date</returns> public DataSet CalculSalariiIndexate(int angajatorID) { Salaries.Business.Salariu salariiIdexate = new Salaries.Business.Salariu(); DataSet dsSalariiIndexate = salariiIdexate.CalculSalariiIndexate(angajatorID); return(dsSalariiIndexate); }
/// <summary> /// Verifica daca exista stat de plata pentru luna curenta /// </summary> /// <param name="LunaID">Id-ul lunii</param> /// <param name="AngajatorID">Id-ul angajatorului</param> /// <returns>Returneaza true daca exista statul de plata si false altfel</returns> public bool StatDePlataExists(int LunaID, int AngajatorID) { Salaries.Business.Salariu sal = new Salaries.Business.Salariu(); DataSet dsStatPlata = sal.StatPlata(LunaID, AngajatorID); //daca nu exista stat de plata returneaza false if (dsStatPlata.Tables[0].Rows.Count == 0) { return(false); } return(true); }
/// <summary> /// Afiseaza raportul /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAfiseaza_Click(object sender, System.EventArgs e) { try { Salaries.Business.Salariu salarii = new Salaries.Business.Salariu(); salarii.UpdateTemplate(this.HiddenMask.Value); } catch (Exception ex) { this.labelError.Text = ex.Message; } }
private void btnGenerati_Click(object sender, System.EventArgs e) { 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; // Valoarea indexata a venitului brut. float sumaMajorareSalariuBrut = 0; sumaMajorareSalariuBrut = float.Parse(objAngajat.SalariuBaza.ToString()) - salariu.CalculVenitBrutIndexat(); if (infoSituatieLunara.SituatieID != -1 && infoSituatieLunaraAnt.SituatieID != -1) { // Tipul comunicarii. Session["TipComunicare"] = "comunicare majorare.xml"; // Numarul comunicarii. Session["Numar"] = txtNrCom.Text; // Data inregistrarii comunicarii. Session["DataInregistrarii"] = txtDataInregistrarii.Text; // Salariul brut anterior. Session["SalariuBrutAnterior"] = infoSituatieLunaraAnt.SalariuBaza.ToString(); // Indemnizatie conducere anterioara. Session["IndemnizatieConducereAnterioara"] = infoSituatieLunaraAnt.IndemnizatieConducere.ToString(); // Suma cu care a fost majorat salariu de incadrare. Session["SumaMajorareSalariuBrut"] = sumaMajorareSalariuBrut.ToString(); // 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."; } else { lblEroare.Text = "Angajatul nu are situatii lunare generate!"; } }
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!"; } } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); try { Response.Write("<script> var listaMasuriID = '" + this.lstMasuri.ClientID + "'</script>"); Response.Write("<script> var listaMasuriSelectateID = '" + this.lstSelectedMasuri.ClientID + "'</script>"); Response.Write("<script> var SirID = '" + this.HiddenMask.ClientID + "'</script>"); settings = Salaries.Configuration.ModuleConfig.GetSettings(); UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString); Salaries.Business.Salariu salarii = new Salaries.Business.Salariu(); DataSet ds = salarii.GetCodareStatDePlata(); this.HiddenMask.Value = ds.Tables[0].Rows[0][0].ToString(); DataSet ds1 = salarii.GetCodareColoaneStatDePlata(); //se obtin etichetele pentru retinerile din luna curenta Salaries.Business.TypesOfRestraints tr = new Salaries.Business.TypesOfRestraints(); DataSet etichete = tr.GetLabels(int.Parse(this.GetCurrentMonth().ToString())); this.lstMasuri.Items.Clear(); this.lstSelectedMasuri.Items.Clear(); foreach (DataRow dc in ds1.Tables[0].Rows) { string numeColoana = ""; string cod = ""; //daca coloana care se afiseaza nu este o retinere atunci se preiau datele din tabelul CodareStatDePlataDetaliat if (dc["NumeColoana"].ToString().IndexOf("Retinere_") == -1) { numeColoana = dc["NumeColoana"].ToString(); cod = dc["Codare"].ToString(); } else { //daca coloana este o retinere atunci codul este preluat din CodareStatDePlataDetaliat //iar numele coloanei este luat din tabela sal_RetineriEtichete cod = tr.GetCodRetinere(dc["NumeColoana"].ToString()); for (int i = 0; i < etichete.Tables[0].Rows.Count; i++) { //numele retinerii trebuie sa coincida cu numele coloanei din tabela cu codificari if (dc["NumeColoana"].ToString() == etichete.Tables[0].Rows[i]["Nume"].ToString()) { numeColoana = etichete.Tables[0].Rows[i]["Eticheta"].ToString(); } } } //o retinere se adauga in lista numai daca este etichetata if (numeColoana != "") { if (this.HiddenMask.Value.IndexOf(cod) == -1) { ListItem listItem = new ListItem(numeColoana, cod); this.lstMasuri.Items.Add(listItem); } if (this.HiddenMask.Value.IndexOf(cod) != -1) { ListItem listItem = new ListItem(numeColoana, cod); this.lstSelectedMasuri.Items.Add(listItem); } } } this.rapStatPlata.ServerUrl = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(STRING_URL); this.rapStatPlata.SetQueryParameter("AngajatorID", this.GetAngajator().ToString()); this.rapStatPlata.SetQueryParameter("LunaID", this.GetCurrentMonth().ToString()); this.rapStatPlata.SetQueryParameter("FieldMask", this.HiddenMask.Value); } catch (Exception ex) { this.labelError.Text = ex.Message; } }
private void Page_Load(object sender, System.EventArgs e) { SeteazaCampuriInvizibile(); Salaries.Business.Luni l = new Salaries.Business.Luni(this.GetAngajator(), this.GetCurrentMonth()); this.SelectedDate = l.Data; if (IsPostBack) { //performIndexing = this.indexareCheckBox.Checked; performIndexing = !tdIndexare.Disabled && indexareCheckBox.Checked; } /* * Adaugat: Cristina Raluca Mutean * Data: 29.12.2005 * Descriere: Seteaza vizibil sau nu randul corespunzator controalelor legate de indexare * in functie de luna activa. */ /*if (( this.SelectedDate.Month == LUNA_INDEXARE_1 ) || ( this.SelectedDate.Month == LUNA_INDEXARE_2 )) * { * tdIndexare.Disabled = false; * indexareCheckBox.Checked = true; * } * else * { * tdIndexare.Disabled = true; * indexareCheckBox.Checked = false; * }*/ //daca este luna de executare a indexarii if ((this.SelectedDate.Month == LUNA_INDEXARE_1) || (this.SelectedDate.Month == LUNA_INDEXARE_2)) { //se calculeaza salariul indexat al unui angajat float venitBrutIndexat = 0; Salaries.Business.Angajat objAngajat = new Salaries.Business.Angajat(); Salaries.Business.Salariu salariu = new Salaries.Business.Salariu(); DataSet ds = objAngajat.GetAngajatIDAll(); if (ds.Tables[0].Rows.Count > 0) { salariu.AngajatID = int.Parse(ds.Tables[0].Rows[0]["AngajatId"].ToString()); objAngajat.AngajatId = int.Parse(ds.Tables[0].Rows[0]["AngajatId"].ToString()); objAngajat.LoadAngajat(); venitBrutIndexat = salariu.CalculVenitBrutIndexat(); } //daca nu a fost executata deja indexarea, adica salariu curent este egal cu cel indexat if (decimal.Parse(venitBrutIndexat.ToString()) != objAngajat.SalariuBaza) { //se seteaza campul pentru efectuarea indexarii ca fiind activ tdIndexare.Disabled = false; //indexareCheckBox.Checked = true; } //a fost deja executata o indexare, nu se va mai realiza alta indexare else { tdIndexare.Disabled = true; //indexareCheckBox.Checked = false; } indexareCheckBox.Checked = true; } //nu este luna de indexare else { tdIndexare.Disabled = true; indexareCheckBox.Checked = false; } }
/// <summary> /// Genereaza raportul /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGenereaza_Click(object sender, System.EventArgs e) { an = Convert.ToInt32(textBoxAn.Text); casaDeAsigurariID = Convert.ToInt32(drpCaseDeAsig.SelectedValue.ToString()); tipDeclaratie = Convert.ToInt32(drpTipDeclaratie.SelectedValue.ToString()); string path = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(importLogFolder) + "\\FisaFiscala.xml"; XmlTextReader reader = new XmlTextReader(path); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(reader); Salaries.Business.Salariu sal = new Salaries.Business.Salariu(); #region declaratie205 //duc datasetul cu reprezentantii legali - pentru declarant Salaries.Business.AdminAngajator adminAng = new Salaries.Business.AdminAngajator(); adminAng.AngajatorId = angajatorID; DataSet ds = adminAng.GetReprezLegali(); string numeDeclarant = "", prenumeDeclarant = "", functieDeclarant = ""; foreach (DataRow dr in ds.Tables[0].Rows) { // Numele si prenumele declarantului if (dr["NumeFunctie"].ToString().Equals("Contabil sef")) { numeDeclarant = dr["NumeReprez"].ToString(); prenumeDeclarant = dr["PrenumeReprez"].ToString(); functieDeclarant = dr["NumeFunctie"].ToString(); } } DataSet dsAngajator = adminAng.GetAngajatorInfoFiseFiscale(angajatorID); DataTable dtAngajator = dsAngajator.Tables[0]; //completez atributele nodului; XmlNode nodeDeclaratie = xmlDoc.GetElementsByTagName("declaratie205")[0]; nodeDeclaratie.Attributes["luna"].Value = "12"; nodeDeclaratie.Attributes["an"].Value = textBoxAn.Text.ToString(); nodeDeclaratie.Attributes["d_rec"].Value = drpTipDeclaratie.SelectedValue.ToString(); nodeDeclaratie.Attributes["nume_declar"].Value = numeDeclarant; nodeDeclaratie.Attributes["prenume_declar"].Value = prenumeDeclarant; nodeDeclaratie.Attributes["functie_declar"].Value = functieDeclarant; nodeDeclaratie.Attributes["cui"].Value = dtAngajator.Rows[0]["CUI_CNP"].ToString(); nodeDeclaratie.Attributes["den"].Value = dtAngajator.Rows[0]["Denumire"].ToString(); nodeDeclaratie.Attributes["adresa"].Value = dtAngajator.Rows[0]["Adresa"].ToString(); nodeDeclaratie.Attributes["telefon"].Value = dtAngajator.Rows[0]["Telefon"].ToString(); nodeDeclaratie.Attributes["fax"].Value = dtAngajator.Rows[0]["Fax"].ToString(); nodeDeclaratie.Attributes["mail"].Value = dtAngajator.Rows[0]["Email"].ToString(); #endregion #region beneficiar Salaries.Business.Declaratii decl = new Salaries.Business.Declaratii(lunaID, angajatorID); DataSet dsFiseFiscale = decl.GetDateFiseFiscale(an, casaDeAsigurariID); int nrAngajati = dsFiseFiscale.Tables[0].Rows.Count; DataTable dtFiseFiscale = dsFiseFiscale.Tables[0]; XmlNode nodeBenef = xmlDoc.GetElementsByTagName("benef")[0]; XmlNode parent = nodeBenef.ParentNode; foreach (DataRow dr in dsFiseFiscale.Tables[0].Rows) { XmlNode nodeBeneficiar = nodeBenef.CloneNode(true); nodeBeneficiar.Attributes["id_inreg"].Value = dr["AngajatId"].ToString(); nodeBeneficiar.Attributes["tip_venit1"].Value = "07"; nodeBeneficiar.Attributes["den1"].Value = dr["DENUMIRE"].ToString(); nodeBeneficiar.Attributes["cif1"].Value = dr["COD"].ToString(); nodeBeneficiar.Attributes["tip_salAB"].Value = "1"; nodeBeneficiar.Attributes["tip_plata"].Value = "2"; nodeBeneficiar.Attributes["tip_functie"].Value = dr["TIP"].ToString(); nodeBeneficiar.Attributes["vbrut"].Value = dr["VBRUT_13"].ToString(); nodeBeneficiar.Attributes["dedu_pers"].Value = dr["DEDU_13"].ToString(); nodeBeneficiar.Attributes["dedu_alte"].Value = dr["ALTDED_13"].ToString(); nodeBeneficiar.Attributes["baza1"].Value = dr["VENIT_13"].ToString(); nodeBeneficiar.Attributes["imp1"].Value = dr["IMPOZIT_13"].ToString(); parent.InsertAfter(nodeBeneficiar, nodeBenef); totBaza = totBaza + Convert.ToInt32(dtFiseFiscale.Rows[0]["VENIT_13"].ToString()); totImp = totImp + Convert.ToInt32(dtFiseFiscale.Rows[0]["IMPOZIT_13"].ToString()); } parent.RemoveChild(nodeBenef); #endregion #region sect_II XmlNode node = xmlDoc.GetElementsByTagName("sect_II")[0]; node.Attributes["tip_venit"].Value = "07"; node.Attributes["nrben"].Value = nrAngajati.ToString(); node.Attributes["Tcastig"].Value = "0"; node.Attributes["Tpierd"].Value = "0"; node.Attributes["Tbaza"].Value = totBaza.ToString(); node.Attributes["Timp"].Value = totImp.ToString(); int totalPlata = nrAngajati + totBaza + totImp; nodeDeclaratie.Attributes["totalPlata_A"].Value = totalPlata.ToString(); #endregion path = Salaries.Configuration.CryptographyClass.getSettingsWithoutDecode(importLogFolder) + "\\FisaFiscalaOut.xml"; //path = "C:\\Inetpub\\wwwroot\\hr\\InterfataSalarii\\Templates\\DecUnicaOut.xml"; xmlDoc.Save(path); path = this.Page.Request.Url.AbsoluteUri; path = path.Substring(0, path.LastIndexOf("/")); hyperLinkDeclaratie.NavigateUrl = path + "/Templates/FisaFiscalaOut.xml"; hyperLinkDeclaratie.Visible = true; }