From 78d23dda6856853e603b109bbda999b7e1b770e5 Mon Sep 17 00:00:00 2001 From: cherif Date: Mon, 28 Aug 2023 13:41:29 +0200 Subject: [PATCH] 28/08/23 - 13h30 --- src/components/Employes.js | 482 ++++++++++++++++++++++++++++++++++--- 1 file changed, 455 insertions(+), 27 deletions(-) diff --git a/src/components/Employes.js b/src/components/Employes.js index d8744b4..d514b73 100644 --- a/src/components/Employes.js +++ b/src/components/Employes.js @@ -123,7 +123,7 @@ const Employes = (props) => { trigger={ @@ -215,13 +215,13 @@ const Employes = (props) => {
{' '} - En confirmant cette opération, la fonction sera définitivement supprimé.
+ En confirmant cette opération, la fonction sera définitivement supprimée.
@@ -322,10 +322,14 @@ const Employes = (props) => { } + const [Add_new_affectation, setAdd_new_affectation] = useState(); + const [selected_affectation_id, set_selected_affectation_id] = useState(); function handleClick_edit_affectation_From_Line(selected_row_id) { + setSelectionModel_affectations([]); setdisplay_affectation("1"); + setAdd_new_affectation("") var line = JSON.parse(rows_affectations[selected_row_id]); @@ -353,6 +357,21 @@ const Employes = (props) => { } + function handleClick_delete(event, cellValues) { + + var local_rh_id = cellValues.row._id; + + Delete_Employee(local_rh_id); + } + + + function handleClick_delete_affection(event, cellValues) { + + var local_affectation_id = cellValues.row._id; + + Delete_affection(selected_id, local_affectation_id); + } + const [p_detail_nom, setp_detail_nom] = useState(); @@ -426,8 +445,8 @@ const Employes = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === "true") { - console.log(" In Get_Employee_Data res.data.status = " + res.data.status); - console.log(" In Get_Employee_Data res.data.message r_class = " + res.data.message); + //console.log(" In Get_Employee_Data res.data.status = " + res.data.status); + //console.log(" In Get_Employee_Data res.data.message r_class = " + res.data.message); setGetAttendee_api("true"); setGetAttendee_result(res.data.message); @@ -767,8 +786,8 @@ const Employes = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { - //console.log(" In Get_Given_Employee_Affectation res.data.status = " + res.data.status); - //console.log(" In Get_Given_Employee_Affectation res.data.message r_class = " + res.data.message); + console.log(" In Get_Given_Employee_Affectation res.data.status = " + res.data.status); + console.log(" In Get_Given_Employee_Affectation res.data.message r_class = " + res.data.message); setGet_Given_Employee_Affectation_api("true"); @@ -888,7 +907,7 @@ const Employes = (props) => { //console.log(" In Get_Employee_Related_Target_Collection_Data res.data.message r_class = " + res.data.message); setGet_Employee_Related_Target_Collection_Data_api("true"); setGet_Employee_Related_Target_Collection_Data_result(res.data.message); - setrows_affectations(res.data.message); + } else { setGet_Employee_Related_Target_Collection_Data_api("false"); @@ -1480,6 +1499,89 @@ const Employes = (props) => { } + const [Delete_Employee_api, setDelete_Employee_api] = useState(); + const [Delete_Employee_message, setDelete_Employee_message] = useState(); + const [Delete_Employee_result, setDelete_Employee_result] = useState(); + function Delete_Employee(local_rh_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", local_rh_id); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Ressource_Humaine/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Employee res.data.status = " + res.data.status); + //console.log(" In Delete_Employee res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setDelete_Employee_api("true"); + setDelete_Employee_result(res.data.message); + clean_all_filters(); + alert(" L'employé a été correctement supprimé.") + } + else { + setDelete_Employee_api("false"); + setDelete_Employee_message(res.data.message); + alert(res.data.message); + + } + + }).catch((error) => { + + console.log('Delete_Employee : Not good man :( Delete_Employee = ' + error); + setDelete_Employee_api("false"); + alert(" Impossible de supprimer l'employee"); + }) + } + + + const [Delete_affection_api, setDelete_affection_api] = useState(); + const [Delete_affection_message, setDelete_affection_message] = useState(); + const [Delete_affection_result, setDelete_affection_result] = useState(); + function Delete_affection(local_rh_id, local_affectation_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("rh_id", local_rh_id); + form.append("_id", local_affectation_id); + + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Affectation_Ressource_Humaine_Poste/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Delete_affection res.data.status = " + res.data.status); + //console.log(" In Delete_affection res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setDelete_affection_api("true"); + setDelete_affection_result(res.data.message); + Getall_Employee_Affectation(local_rh_id); + alert(" La fonction a été correctement supprimée.") + } + else { + setDelete_affection_api("false"); + setDelete_affection_message(res.data.message); + alert(res.data.message); + + } + + }).catch((error) => { + + console.log('Delete_affection : Not good man :( Delete_affection = ' + error); + setDelete_affection_api("false"); + alert(" Impossible de supprimer la fonction"); + }) + } + + const [isimgclassdeleted, setisimgclassdeleted] = useState(""); const [isimgclassdeleted_message, setisimgclassdeleted_message] = useState(""); const [isimgclassSaved, setisimgclassSaved] = useState(""); @@ -1488,8 +1590,9 @@ const Employes = (props) => { const [userimgclassprofil, setuserimgclassprofil] = useState(); const [userimgclassprofilchanged, setuserimgclassprofilchanged] = useState(""); - const myRef_head = useRef(null) - const myRef_affectation = useRef(null) + const myRef_head = useRef(null); + const myRef_affectation = useRef(null); + const myRef_new_affectation = useRef(null); const hiddenFileInput_session = React.useRef(null); const [Employee_data_changed, setEmployee_data_changed] = useState(); @@ -1766,6 +1869,7 @@ const Employes = (props) => { const [p_affect_date_du, setp_affect_date_du] = useState(); const [p_affect_date_au, setp_affect_date_au] = useState(); const [p_affect_cible, setp_affect_cible] = useState(); + const [p_affect_cible_nom, setp_affect_cible_nom] = useState(); const [edite_affectation_form, setedite_affectation_form] = useState(); const [p_affect_comment, setp_affect_comment] = useState(); @@ -1773,6 +1877,33 @@ const Employes = (props) => { const [p_related_target_collection_id, setp_related_target_collection_id] = useState(); + function clean_affectation_fields() { + setp_affect_poste(); + setp_affect_date_du(); + setp_affect_date_au(); + setp_affect_cible(); + setp_affect_cible_nom(); + setp_affect_comment(); + } + + + const [p_one_affect_poste, setp_one_affect_poste] = useState(); + const [p_one_affect_date_du, setp_one_affect_date_du] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_one_affect_date_au, setp_one_affect_date_au] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_one_affect_cible, setp_one_affect_cible] = useState(); + const [p_one_affect_cible_nom, setp_one_affect_cible_nom] = useState(); + const [p_one_affect_comment, setp_one_affect_comment] = useState(); + + function clean_nouvelle_affectation_fields() { + setp_one_affect_poste(); + setp_one_affect_date_du(); + setp_one_affect_date_au(); + setp_one_affect_cible(); + setp_one_affect_cible_nom(); + setp_one_affect_comment(); + } + + const [Affectation_data_changed, setAffectation_data_changed] = useState(); @@ -1864,6 +1995,25 @@ const Employes = (props) => { } + + function Fermer_Affectation_Fields() { + clean_affectation_fields(); + setedite_affectation_form(); + setdisplay_affectation(); + setSelectionModel_affectations([]); + } + + function Fermer_nouvelle_Affectation_Fields() { + clean_nouvelle_affectation_fields(); + setedite_affectation_form(); + setdisplay_affectation(); + setAdd_new_affectation(); + setSelectionModel_affectations([]); + } + + + + const [Update_One_Affectation_Data_api, setUpdate_One_Affectation_Data_api] = useState(); const [Update_One_Affectation_Data_message, setUpdate_One_Affectation_Data_message] = useState(); const [Update_One_Affectation_Data_result, setUpdate_One_Affectation_Data_result] = useState(); @@ -1885,14 +2035,14 @@ const Employes = (props) => { } if (p_affect_date_du) - form.append("date_du", format(p_affect_date_du, 'dd/MM/yyyy')); + form.append("date_du", p_affect_date_du); else { alert(" Vous devez definir une date de debut pour cette affectation"); return; } if (p_affect_date_au) - form.append("date_au", format(p_affect_date_au, 'dd/MM/yyyy')); + form.append("date_au", p_affect_date_au); else form.append("date_au", ""); @@ -1927,11 +2077,11 @@ const Employes = (props) => { setUpdate_One_Affectation_Data_api("true"); setUpdate_One_Affectation_Data_result(res.data.message); - Get_Given_Employee_Affectation(selected_affectation_id); - Disable_Detail_Affectation_Fields(); setAffectation_data_changed(""); setedite_affectation_form(""); + Getall_Employee_Affectation(selected_id); + setSelectionModel_affectations([]); alert(" La mise à jour été correctement faite."); @@ -1949,7 +2099,7 @@ const Employes = (props) => { console.log('UpdateStagiaireData : Not good man :( Update_One_Affectation_Data = ' + error); setUpdate_One_Affectation_Data_api("false"); - alert(" Impossible de mettre à jour l'employé"); + alert(" Impossible de mettre à jour l'affectation"); }) } @@ -1963,6 +2113,108 @@ const Employes = (props) => { }; + function add_one_affectation_block() { + + setdisplay_affectation(""); + setAdd_new_affectation("1"); + + if (myRef_new_affectation.current) { + myRef_new_affectation.current.scrollIntoView({ behavior: "smooth" }); + } + } + + + const [Add_one_affectation_api, setAdd_one_affectation_api] = useState(); + const [Add_one_affectation_message, setAdd_one_affectation_message] = useState(); + const [Add_one_affectation_result, setAdd_one_affectation_result] = useState(); + function Add_one_affectation() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("rh_id", selected_id); + + if (p_one_affect_poste) + form.append("poste", p_one_affect_poste); + else { + alert(" Vous devez definir une poste pour cette affectation"); + return; + } + + if (p_one_affect_date_du) + form.append("date_du", p_one_affect_date_du); + else { + alert(" Vous devez definir une date de debut pour cette affectation"); + return; + } + + + if (p_one_affect_date_au) + form.append("date_au", p_one_affect_date_au ); + else + form.append("date_au", ""); + + + if (p_one_affect_comment) + form.append("comment", p_one_affect_comment); + else + form.append("comment", ""); + + + if (p_one_affect_cible) + form.append("related_target_collection", p_one_affect_cible); + else + form.append("related_target_collection", ""); + + if (p_one_affect_cible_nom) + form.append("related_target_collection_id", p_one_affect_cible_nom); + else + form.append("related_target_collection_id", ""); + + + console.log(" Add_one_affectation affectation form == ", form); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Affectation_Ressource_Humaine_Poste/"; + + axios.post(myurl, form).then(res => { + console.log(" In Add_one_affectation res.data.status = " + res.data.status); + console.log(" In Add_one_affectation res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setAdd_one_affectation_api("true"); + setAdd_one_affectation_result(res.data.message); + + Disable_Detail_Affectation_Fields(); + setAffectation_data_changed(""); + setedite_affectation_form(""); + setAdd_new_affectation(""); + Getall_Employee_Affectation(selected_id); + setSelectionModel_affectations([]); + alert(" L'affectation a été ajoutée."); + + if (myRef_affectation) + myRef_affectation.current.scrollIntoView({ behavior: "smooth" }); + + } + else { + setAdd_one_affectation_api("false"); + setAdd_one_affectation_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + + console.log('UpdateStagiaireData : Not good man :( Add_one_affectation = ' + error); + setAdd_one_affectation_api("false"); + alert(" Impossible d'ajouter l'affectation"); + + }) + } + + return (
{
-
+
  {
+
+ +
+ + + +
+ +
+
+ + {String(display_affectation) === "1" &&
@@ -3620,7 +3888,11 @@ const Employes = (props) => {
} - {String(edite_affectation_form) === "1" &&
Cible
+ {String(edite_affectation_form) === "1" &&
Cible edit
+ + + p_affect_cible = {p_affect_cible}
+ { setp_affect_cible(e.target.value); setAffectation_data_changed("1"); }} + > - Formation    - Session de formation   + Formation    + Session de formation   Aucun   @@ -3719,7 +3992,7 @@ const Employes = (props) => { id="affect_date_du" selected={new Date(moment(p_affect_date_du, "DD/MM/YYYY HH:mm:ss"))} onChange={(date) => { - setp_affect_date_du(date); + setp_affect_date_du(format(date, 'dd/MM/yyyy')); setAffectation_data_changed("1"); } } @@ -3755,7 +4028,7 @@ const Employes = (props) => { id="affect_date_au" selected={new Date(moment(p_affect_date_au, "DD/MM/YYYY HH:mm:ss"))} onChange={(date) => { - setp_affect_date_au(date); + setp_affect_date_au(format(date, 'dd/MM/yyyy')); setAffectation_data_changed("1"); } } @@ -3789,14 +4062,23 @@ const Employes = (props) => {
}
+
+ + {String(edite_affectation_form) !== "1" &&
+ + + +
} - {String(edite_affectation_form) !== "1" &&
+ {String(edite_affectation_form) !== "1" &&
- + -
} +
} +
 
@@ -3804,6 +4086,152 @@ const Employes = (props) => {
} + + {String(Add_new_affectation) === "1" &&
+ + +
+
+
Poste Occupé
+ { + setp_one_affect_poste(e.target.value); + + }} + + /> + +
+ +
Cible
+ { + setp_one_affect_cible(e.target.value); + }} + + > + Formation    + Session de formation   + Aucun   + + + +
+ +
Cible Nom
+ { + setp_one_affect_cible_nom(e.target.value); + }} + > + + {Get_Employee_Related_Target_Collection_Data_result && + Get_Employee_Related_Target_Collection_Data_result.filter((local_mymanager) => JSON.parse(local_mymanager).related_target_collection === p_one_affect_cible).map((mymanager) => ( + + {JSON.parse(mymanager).related_target_collection_id_nom}   + + + ))} + + + + +
+ + + +
Date du
+ + { + setp_one_affect_date_du(format(date, 'dd/MM/yyyy')); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale='fr-FR' + /> + +
+ + +
Date au
+ { + setp_one_affect_date_au(format(date, 'dd/MM/yyyy') ); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale='fr-FR' + /> + +
+
+
+   +
+ +
+ +
+ + + +
+ +
+ +
+
+ +
+   +
+
+ +
} +
} {String(submenu) === "droit_acces" &&