/// <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);
        }
예제 #2
0
        /// <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;
     }
 }
예제 #4
0
        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!";
            }
        }
예제 #5
0
        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;
        }