From e9a95d2829611d9757f5a5ca44f492d1491b1e33 Mon Sep 17 00:00:00 2001 From: Adrien RENARD Date: Wed, 7 Feb 2024 00:44:54 +0100 Subject: [PATCH] =?UTF-8?q?Debug=20nb=5Fpaniers=5Flivres=20dans=20function?= =?UTF-8?q?=20getLivraisonPaniersEligibles=20Ignore=20la=20livraison=20en?= =?UTF-8?q?=20cours=20de=20modification=20dans=20la=20fonction=20getLivrai?= =?UTF-8?q?sonLastQuinzGroupeAtDate=20Debug=20function=20getNbLivraisonFor?= =?UTF-8?q?ContratAtDate=20Ajout=20garde=20fou=20modifications=20=20groupe?= =?UTF-8?q?/date/quinz=5Fgroupe=20edition=20livraisons=20Debug=20modalForm?= =?UTF-8?q?Livraison=5FgetPanierCompoLegumes=20en=20cas=20de=20legume=20nu?= =?UTF-8?q?ll=20Suppression=20de=20l'automatisation=20du=20rafraichissemen?= =?UTF-8?q?t=20automatique=20du=20prochain=20groupe=20de=20quinzaine=20dan?= =?UTF-8?q?s=20le=20formulaire=20livraison=20Suppression=20des=20warnings?= =?UTF-8?q?=20dans=20les=20listes=20de=20contrats=20archiv=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- functions/functions_livraisons.php | 11 ++-- public_html_admin/js/livraisons.js | 58 ++++++++++++------- public_html_admin/livraisons.php | 4 +- .../contrats/contrats_list_builder.tpl | 2 +- .../templates/livraisons/livraison_form.tpl | 18 ++++-- 5 files changed, 60 insertions(+), 33 deletions(-) diff --git a/functions/functions_livraisons.php b/functions/functions_livraisons.php index d33fef6..cf0bd5e 100644 --- a/functions/functions_livraisons.php +++ b/functions/functions_livraisons.php @@ -75,14 +75,15 @@ function getLivraisonsList($order='id',$sens='ASC', $groupe=0, $archive=0, $limi return $list; } -function getLivraisonLastQuinzGroupeAtDate($groupe, $date) { +function getLivraisonLastQuinzGroupeAtDate($groupe, $date, $ignore=0) { $grp = NULL; $sql = "SELECT ".LIVRAISONS_TABLE.".`quinz_groupe` FROM ".LIVRAISONS_TABLE ." WHERE ".LIVRAISONS_TABLE.".del=0" ." AND ".LIVRAISONS_TABLE.".paniers_groupe=".intval($groupe) - ." AND ".LIVRAISONS_TABLE.".date<='".$date."'" - ." ORDER BY ".LIVRAISONS_TABLE.".date DESC LIMIT 0,1"; + ." AND ".LIVRAISONS_TABLE.".date<='".$date."'"; + if((int)$ignore>0) $sql .= " AND ".LIVRAISONS_TABLE.".ref!=".intval($ignore); + $sql .= " ORDER BY ".LIVRAISONS_TABLE.".date DESC LIMIT 0,1"; $r = $GLOBALS['db_admin']['man']->select($sql); @@ -351,7 +352,7 @@ function getLivraisonPaniersEligibles($paniers_groupe, $date, $quinz_groupe, $pa if(!$r['erreur']) { foreach($r['datas'] as $i) { - $i["nb_paniers_livres"] = getNbLivraisonForContratAtDate($i['ref'], $date) + intval($i["np_paniers_distrib_avt_saisie"]); + $i["nb_paniers_livres"] = getNbLivraisonForContratAtDate($i['contrat_ref'], $date) + intval($i["np_paniers_distrib_avt_saisie"]); $i["nb_paniers_restants"] = intval($i["nb_paniers"])-$i["nb_paniers_livres"]; $i["frequence_print"] = CONTRATS_FREQUENCES[$i["frequence"]]; if($i["frequence"] == "quinz") $i["frequence_print"] .= " (groupe ".$i["quinz_groupe"].")"; @@ -430,7 +431,7 @@ function getNbLivraisonForContratAtDate($contrat, $date) { $GLOBALS['errors'][] = "Une erreur est survenue durant la récupération du nombre de livraison du contrat dans le base de données !".$er; } - return $i; + return $nb; } diff --git a/public_html_admin/js/livraisons.js b/public_html_admin/js/livraisons.js index 44b9501..c6d09d1 100644 --- a/public_html_admin/js/livraisons.js +++ b/public_html_admin/js/livraisons.js @@ -283,18 +283,38 @@ function modalFormLivraison_init(modal) { modal.find("select[name=paniers_groupe]").change(function(e) { $(this).blur(); modalFormLivraison_loadPaniers(modal, []); - modalFormLivraison_loadNextGroupe(modal); }); modal.find("input[name=date]").on("blur change", function(e) { modalFormLivraison_loadPaniers(modal, []); - modalFormLivraison_loadNextGroupe(modal); }); modal.find("input[name=date]").keydown(function(e) { if(e.keyCode==13) { e.preventDefault(); $(this).blur(); } }) modal.find("select[name=quinz_groupe]").change(function(e) { $(this).blur(); modalFormLivraison_loadPaniers(modal, []); }); - + modal.find("button.btnLoadNextQuinzGroup").click(function(e) { + e.preventDefault(); $(this).blur(); + $datas = { + 'action' : 'last_quinz_groupe', + 'groupe' : modal.find("select[name=paniers_groupe]").val(), + 'date' : modal.find("input[name=date]").val() + }; + edit_id = parseInt(modal.attr("edit_id")); + if(edit_id>0) $datas.ignore = edit_id; + $.post(livraisonsConf.baseURL, $datas, function(result) { + $grp = "A"; + if(result == "A") $grp = "B"; + else if(result != "B") return; + modal.find("select[name=quinz_groupe]").val($grp); + modalFormLivraison_loadPaniers(modal, []); + }).fail(function() { alert("ERREUR SERVEUR (modal form livraison - get next groupe)"); }); + }); + + modal.find("button.btnLivraisonEnableEditField").click(function(e) { + e.preventDefault(); $(this).blur(); + $(this).parent().find(".form-control, .btnLoadNextQuinzGroup").each( function(n,e) { $(this).prop("disabled", !$(this).prop("disabled")); }); + }); + // TAB PANIERS modal.find("thead.paniersList td.status").click(function(e) { var allChecked = true; @@ -306,14 +326,19 @@ function modalFormLivraison_init(modal) { modalFormLivraison_clear(modal); } -function modalFormLivraison_loadDatas(modal,id) { +function modalFormLivraison_loadDatas(modal,id,copy) { $.post(livraisonsConf.baseURL, { 'ref' : id, 'action' : 'getDatas' }, function(jsonTxt) { var datas = JSON.parse(jsonTxt); - + modal.find("select[name=paniers_groupe]").val(datas.paniers_groupe_ref); modal.find("input[name=date]").val(datas.date); modal.find("select[name=quinz_groupe]").val(datas.quinz_groupe); + if(copy!==true) { + modal.find("div.tabGeneral .form-control, .btnLoadNextQuinzGroup").prop("disabled", true); + modal.find("button.btnLivraisonEnableEditField").removeClass("hide"); + } + modalFormLivraison_loadPaniers(modal, datas.paniers_contrats); modalFormLivraison_udpateCompo(modal, datas.legumes); @@ -331,26 +356,15 @@ function modalFormLivraison_clear(modal) { modal.find("input[name=date]").val(getTodayDate("yyyy-mm-dd")); modal.find("select[name=quinz_groupe]").val("A"); + modal.find("div.tabGeneral .form-control, .btnLoadNextQuinzGroup").prop("disabled", false); + modal.find("button.btnLivraisonEnableEditField").addClass("hide"); + modalFormLivraison_clearPaniers(modal); modalFormLivraison_clearCompo(modal); } // LIVRAISON - PANIERS -function modalFormLivraison_loadNextGroupe(modal) { - $datas = { - 'action' : 'last_quinz_groupe', - 'groupe' : modal.find("select[name=paniers_groupe]").val(), - 'date' : modal.find("input[name=date]").val() - }; - $.post(livraisonsConf.baseURL, $datas, function(result) { - $grp = "A"; - if(result == "A") $grp = "B"; - else if(result != "B") return; - modal.find("select[name=quinz_groupe]").val($grp); - }).fail(function() { alert("ERREUR SERVEUR (modal form livraison - get next groupe)"); }); -} - function modalFormLivraison_loadPaniers(modal, paniers) { datas = { 'action' : 'paniers_eligibles', @@ -826,7 +840,7 @@ function modalFormLivraison_getPanierCompoLegumes(modal, ref) { var legumes = []; table.find("tr.legume").each(function(n,e) { datas = modalFormLivraison_getPanierCompoLegumeDatas($(this)); - if(typeof(datas) == "object") legumes.push(datas); + if(typeof(datas) == "object" && datas!=null) legumes.push(datas); }); return legumes; @@ -836,7 +850,7 @@ function modalFormLivraison_getPanierCompoLegumeDatas(tr) { ref = parseInt( tr.attr('ref') ); if(ref>0) { tdNom = tr.find("td.nom"); - return { + datas = { 'ref' : ref, 'nom' : tdNom.html(), 'tarif_ref' : parseInt( tdNom.attr("tarif_ref") ), @@ -844,6 +858,8 @@ function modalFormLivraison_getPanierCompoLegumeDatas(tr) { 'tarif_unite' : tdNom.attr("tarif_unite"), 'quantite' : parseFloat( tr.find("td.quantite").html() ) } + if(datas.tarif_ref>0 && datas.quantite>0) return datas; + return null; } return null; } diff --git a/public_html_admin/livraisons.php b/public_html_admin/livraisons.php index 5d23b19..10de32c 100644 --- a/public_html_admin/livraisons.php +++ b/public_html_admin/livraisons.php @@ -159,7 +159,9 @@ switch($action) { if(!isset($_REQUEST['date'])) die("NO DATE"); $date = checkDateFormat($_REQUEST['date'], "mysql_date"); if(is_null($date)) die("WRONG DATE"); - die( strval( getLivraisonLastQuinzGroupeAtDate(intval($_REQUEST['groupe']), $date) ) ); + $ignore = 0; + if(isset($_REQUEST['ignore']) && (int)$_REQUEST['ignore']>0) $ignore = intval($_REQUEST['ignore']); + die( strval( getLivraisonLastQuinzGroupeAtDate(intval($_REQUEST['groupe']), $date, $ignore) ) ); } break; // PANIERS ELIGIBLES case "paniers_eligibles": { diff --git a/public_html_admin/templates/contrats/contrats_list_builder.tpl b/public_html_admin/templates/contrats/contrats_list_builder.tpl index a4ea128..81d3a24 100644 --- a/public_html_admin/templates/contrats/contrats_list_builder.tpl +++ b/public_html_admin/templates/contrats/contrats_list_builder.tpl @@ -1,5 +1,5 @@ {foreach from=$list item=i} - + {$i.ref} {$i.client_prenom} {$i.client_nom} {$i.groupe_nom} diff --git a/public_html_admin/templates/livraisons/livraison_form.tpl b/public_html_admin/templates/livraisons/livraison_form.tpl index 5737bb5..bbc3c0f 100644 --- a/public_html_admin/templates/livraisons/livraison_form.tpl +++ b/public_html_admin/templates/livraisons/livraison_form.tpl @@ -10,19 +10,27 @@
+
+
- - + + +
+ + + + +