/// <summary> /// Genereaza situatia lunara pentru toti angajatii /// </summary> private void SituatieLunaraTotiAngajatii() { SiemensTM.Classes.SituatieAngajat situatieLunaraAng; //Modificat:Muntean Raluca Cristina - am adaugat ca parametru si id-ul angajatorului Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.CategorieId = -1; angajat.AngajatorId = GetAngajator(); DataSet ds = angajat.GetAllAngajati(); foreach (DataRow dr in ds.Tables[0].Rows) { //Modified: Cristina Raluca Muntean //se genereaza situatia lunara a unui angajat //se apeleaza aceasta metoda pentru ca in cazul in care nu a fost initializata luna, sa se faca si aceasta operatie situatieLunaraAng = new SiemensTM.Classes.SituatieAngajat(long.Parse(dr["AngajatID"].ToString())); situatieLunaraAng.GenerareSituatieLunaraAngajat(); } }
/// <summary> /// Genereaza situatia lunara /// </summary> private void GenerareaSituatieiLunare() { SiemensTM.Classes.SituatieAngajat situatieLunaraAng; switch (actionGenerareSituatieLunara) { case "generareSituatieLunaraAngajat": //Modified: Cristina Raluca Muntean //se genereaza situatia lunara a unui angajat //se apeleaza aceasta metoda pentru ca in cazul in care nu a fost initializata luna, sa se faca si aceasta operatie situatieLunaraAng = new SiemensTM.Classes.SituatieAngajat(this.GetAngajat()); situatieLunaraAng.GenerareSituatieLunaraAngajat(); //Oprescu Claudia //se face redirectare la pagina cu situatia unui angajat Response.Redirect("Salarii.aspx?Tab=Pontaj&Option=situatie_lunara"); break; case "generareSituatieLunaraTotiAngajatii": //Modificat:Muntean Raluca Cristina - am adaugat ca parametru si id-ul angajatorului Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.AngajatorId = GetAngajator(); angajat.CategorieId = -1; DataSet ds = angajat.GetAllAngajati(); foreach (DataRow dr in ds.Tables[0].Rows) { //Modified: Cristina Raluca Muntean //se genereaza situatia lunara a unui angajat //se apeleaza aceasta metoda pentru ca in cazul in care nu a fost initializata luna, sa se faca si aceasta operatie situatieLunaraAng = new SiemensTM.Classes.SituatieAngajat(long.Parse(dr["AngajatID"].ToString())); situatieLunaraAng.GenerareSituatieLunaraAngajat(); } break; default: break; } ((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("ActionGenerareSituatieLunaraValue")).Value = ""; }
/// <summary> /// Salveaza o lichidate /// </summary> private void btnSalveaza_Click() { /* * Modified: Cristina Raluca Muntean * Date: 10.09.2005 * Descriere: Modificarea consta in validarea datelor de intrare, a statusului angajatului(lichidat/nu este lichidat) * si a generarii situatiei lunare conform cu noile date corespunzatoare lichidarii. */ //Modificat: Oprescu Claudia //Descriere: Se face mai intai validarea datelor introduse si apoi daca angajatul nu este lichidat se face lichidarea lui // Daca este deja lichidat se face actualizare la datele lichidarii, adica se sterge cea veche si se adauga una noua int idAng = GetAngajat(); ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - start - Salveaza() - idAng: " + idAng.ToString()); try { Salaries.Data.LichidareStruct lichidare = new Salaries.Data.LichidareStruct(); Salaries.Business.Angajat angajat = new Salaries.Business.Angajat(); angajat.AngajatId = GetAngajat(); angajat.LoadAngajat(); lichidare.AngajatID = this.GetAngajat(); //variabila booleana care indica daca au fost completate toate campurile obligatorii bool fill = true; //variabila booleana care indica daca au fost completate corect campurile bool correct = true; //se verifica daca au fost completate campurile if (txtNrInregistrare.Text == "" || txtDataLichidare.Text == "" || txtDataInregistrare.Text == "") { fill = false; } try { lichidare.NrInregistrare = txtNrInregistrare.Text; lichidare.DataLichidare = Utilities.ConvertText2DateTime(txtDataLichidare.Text); lichidare.MotivDePlecareId = int.Parse(((System.Web.UI.HtmlControls.HtmlInputHidden)Page.FindControl("txtMotivDePlecareHidden")).Value); lichidare.NrArticol = txtNrArticol.Text; lichidare.AvansuriDecontare = decimal.Parse(txtAvansuriDecontare.Text); lichidare.Abonamente = decimal.Parse(txtAbonamente.Text); lichidare.TicheteMasa = decimal.Parse(txtTicheteMasa.Text); lichidare.EchipamentLucru = decimal.Parse(txtEchipamentLucru.Text); lichidare.Laptop = decimal.Parse(txtLaptop.Text); lichidare.TelServiciu = decimal.Parse(txtTelServiciu.Text); lichidare.ObiecteInventar = decimal.Parse(txtObiecteInventar.Text); lichidare.Carti = decimal.Parse(txtCarti.Text); lichidare.CD = decimal.Parse(txtCD.Text); lichidare.DataInregistrare = Utilities.ConvertText2DateTime(txtDataInregistrare.Text); if (txtLunaRetinere.Text == "") { lichidare.LunaRetinere = Utilities.ConvertText2DateTime("1.1.1753"); } else { lichidare.LunaRetinere = Utilities.ConvertText2DateTime(txtLunaRetinere.Text); } } catch (Exception) { //in cazul in care apare o eroare la conversie inseamna ca nu au fost completate corect campurile correct = false; } Salaries.Business.Luni luni = new Salaries.Business.Luni(this.GetAngajator()); Salaries.Data.LunaData lunaData = luni.GetLunaActiva(); //daca au fost completate toate campurile corect si data lichidarii se afla in luna activa se poate realiza efectiv lichidarea if (fill && correct) { if ((lunaData.Data.Month == DateTime.Parse(txtDataLichidare.Text).Date.Month&& lunaData.Data.Year == DateTime.Parse(txtDataLichidare.Text).Date.Year) || (DateTime.Parse(txtDataLichidare.Text).Date.Day == 1) && (DateTime.Parse(txtDataLichidare.Text).Date.Month == lunaData.Data.Month + 1) && (lunaData.Data.Year == DateTime.Parse(txtDataLichidare.Text).Date.Year) || (DateTime.Parse(txtDataLichidare.Text).Date.Day == 1) && (DateTime.Parse(txtDataLichidare.Text).Date.Month == 1) && (lunaData.Data.Month == 12) && (lunaData.Data.Year + 1 == DateTime.Parse(txtDataLichidare.Text).Date.Year)) { SiemensTM.Classes.IntervaleAngajat intervaleAngajat = new SiemensTM.Classes.IntervaleAngajat(lichidare.AngajatID); //sterge toate intervalele orare, inclusiv capetele de interval intervaleAngajat.DeleteIntervaleAngajatPerioada(lichidare.DataLichidare, DateTime.MaxValue, true); //initializeaza luna pentru angajatul in cauza intervaleAngajat.InitializeOreLucrateLunaAngajat(lunaData.Data, objAngajat.DataDeLa, lichidare.DataLichidare); //se genereaza situatia lunara a angajatului //Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat( lichidare.AngajatID ); //sla.GenerareSituatieLunaraAngajat( this.GetCurrentMonth(), this.GetAngajator()); //Adaugat: Oprescu Claudia //Descriere: Se verifica sa nu existe deja o lichidare pentru luna activa. // Daca exista atunci se actualizeaza acea inregistrare. // Daca nu exista se adauga o inregistrare noua. int lichidareID = new Salaries.Business.Lichidare().CheckIfLichidareCanBeAdded(lichidare.AngajatID, lichidare.DataLichidare); if (lichidareID == 0) { new Salaries.Business.Lichidare().AddLichidare(lichidare); } else { lichidare.LichidareID = lichidareID; new Salaries.Business.Lichidare().UpdateLichidare(lichidare); } //Modified: Cristina Raluca Muntean //se genereaza situatia lunara a angajatului SiemensTM.Classes.SituatieAngajat situatieLunaraAng = new SiemensTM.Classes.SituatieAngajat(this.GetAngajat()); //Added: Ionel Popa -> daca este lichidat in prima zi a lunii i se sterge situatia lunara Salaries.Business.Luni activeMonth = new Salaries.Business.Luni(this.GetAngajator(), lunaData.LunaId); if (activeMonth.Data == lichidare.DataLichidare) { Salaries.Business.SituatieLunaraAngajat sla = new Salaries.Business.SituatieLunaraAngajat(this.GetAngajat()); sla.DeleteSituatieAngajat(GetCurrentMonth(), this.GetAngajat()); } else { //Modificat: Oprescu Claudia //Descriere: Se apeleaza metoda pentru generarea situatiei lunare a angajatului // La generarea situatiei se calculeaza numarul de zile de concediu de odihna neefectuat si efectuat in avans situatieLunaraAng.GenerareSituatieLunaraAngajatLichidat(); } //javascript StringBuilder jScript = new StringBuilder(); jScript.Append("<script language=\"JavaScript\">"); jScript.Append("window.open('../Comunicari/comunicare.aspx?id=" + objAngajat.AngajatId + "',null,'status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes')"); jScript.Append("</script>"); AdaugaInSesiune(); Response.Write(jScript.ToString()); } else { //este afisat mesajul de eroare Response.Write("<script>alert( 'Data lichidarii angajatului trebuie sa faca parte din luna activa!' );</script>"); } } else { //in functie de eroare este afisat mesajul corespunzator if (!correct) { Response.Write("<script>alert( 'Datele introduse nu sunt corecte!' );</script>"); } if (!fill) { Response.Write("<script>alert( 'Trebuie sa completati toate datele!' );</script>"); } } } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - start - Salveaza() - idAng: " + idAng.ToString() + " - " + ex.Message); } ErrHandler.MyErrHandler.WriteError("LichidareAngajat.ascx - end - Salveaza() - idAng: " + idAng.ToString()); }