Bonjour,
Nous travaillons avec les numéros de semaine pour définir nos délais, est-ce faisable ? Peut-on me donner un bout de code me permettant d'avancer la dessus ?
Comme vous le voyez sur le screen, j'ai ajouté la colonne Délai souhaité dans le dashboard.
A ce jour, on à donc la date du délai qui est souhaité par le demandeur (choisi via le calendrier).
J'aimerais qu'au lieu de la date, le numéro de semaine soit affiché (en fonction de la date bien évidemment).
Merci de votre aide
Cdt
TBR
[RÉSOLU]Numéro de semaine au lieu de la date du jour
bonjour,
il y à déjà les numéros de semaine dans le planning.
pourriez-vous préciser votre question
cordialement
il y à déjà les numéros de semaine dans le planning.
pourriez-vous préciser votre question
cordialement
OS:Linuxgestsup4.15.0-213-generic#224-
MariaDB:10.4.31-MariaDB-1:10.4.31+maria~ubu1804(base:bsup5245.5Mo)
PHP:8.2.6(/etc/php/8.2/apache2/php.ini)
GestSup:3.2.52(28967tickets/1677utilisateurs/23équipements)
MariaDB:10.4.31-MariaDB-1:10.4.31+maria~ubu1804(base:bsup5245.5Mo)
PHP:8.2.6(/etc/php/8.2/apache2/php.ini)
GestSup:3.2.52(28967tickets/1677utilisateurs/23équipements)
J'ai modifié mon post initial pour plus de clarté. J'espère que l'on pourra m'aider cela rendrait GestSup parfait pour notre utilisationfabrice a écrit :bonjour,
il y à déjà les numéros de semaine dans le planning.
pourriez-vous préciser votre question
cordialement
Bien cordialement
- GestSup 3.2.0
- Windows Server 2016
- Apache 2.4.41
- PHP 7.3.12
- MariaDB 10.4.10
- Windows Server 2016
- Apache 2.4.41
- PHP 7.3.12
- MariaDB 10.4.10
bonjour,
voici ce que j'ai trouvé pour votre problème.
il faut ajouté cela dans le code PHP
cordialement
voici ce que j'ai trouvé pour votre problème.
il faut ajouté cela dans le code PHP
cordialement
MySQL possède un grand nombre de fonctions pour gérer les dates et le temps. Il est possible de récupérer le numéro calendaire d’une semaine avec la fonction week. Dimanche 5 avril nous étions semaine 14. La fonction week nous le confirme:
mysql> SELECT week('2009-04-05');
+--------------------+
| week('2009-04-05') |
+--------------------+
| 14 |
+--------------------+
Lundi 6 avril, nouvelle semaine, on passe donc à la semaine 15:
mysql> SELECT week('2009-04-06');
+--------------------+
| week('2009-04-06') |
+--------------------+
| 14 |
+--------------------+
Souci !!! Le résultat n’est pas celui espéré (14 au lieu de 15). En fait la fonction week prend un deuxième paramètre optionnel, qui permet de « régler la précision » (compter sur 53 ou 54 semaines, commencer la semaine un dimanche ou un lundi…) bref elle est complète et complexe…
Le réglage usuel est de mettre le deuxième paramètre à 3 ! ou alors d’utiliser la fonction WEEKOFYEAR.
mysql> SELECT weekofyear('2009-04-05');
+--------------------------+
| weekofyear('2009-04-05') |
+--------------------------+
| 14 |
+--------------------------+
mysql> SELECT weekofyear('2009-04-06');
+--------------------------+
| weekofyear('2009-04-06') |
+--------------------------+
| 15 |
+--------------------------+
OS:Linuxgestsup4.15.0-213-generic#224-
MariaDB:10.4.31-MariaDB-1:10.4.31+maria~ubu1804(base:bsup5245.5Mo)
PHP:8.2.6(/etc/php/8.2/apache2/php.ini)
GestSup:3.2.52(28967tickets/1677utilisateurs/23équipements)
MariaDB:10.4.31-MariaDB-1:10.4.31+maria~ubu1804(base:bsup5245.5Mo)
PHP:8.2.6(/etc/php/8.2/apache2/php.ini)
GestSup:3.2.52(28967tickets/1677utilisateurs/23équipements)
Bonjour,
Merci pour l'aide.
J'ai fait appel à mon collègue pour créer les fonctions qui vont bien, on arrive au résultat voulu.
Je partage donc le code que je ne peux pas vraiment expliquer vu mes compétences en dev ..
Lignes 103 à 112 :
Ligne 155 à 177 : Recherche
Lignes 466 à 480, ajout de la colonne Délai souhaité
Lignes 593 à 595, ajout de la ligne de filtre
Lignes 728 à 730 : pour afficher les infos dans la colonne Délai souhaité (dans le tableau)
Fonctions :
Pour résumer :
- Ajout d'une colonne Délai souhaité entre la date de la demande et l'état du ticket
- Si date de délai (date d'estimation de la résolution) 0000-00-00 on affiche "Pas de délai"
- Si délai il y a, la fonction converti la date correspondante en numéro de semaine
- On peut également filtrer par numéro de semaine dans la ligne de filtre
Si des améliorations sont a apporter, je suis preneur, en attendant cela fonctionne, cela correspond à notre manière de travailler.
Cdt
TBR
Merci pour l'aide.
J'ai fait appel à mon collègue pour créer les fonctions qui vont bien, on arrive au résultat voulu.
Je partage donc le code que je ne peux pas vraiment expliquer vu mes compétences en dev ..
Lignes 103 à 112 :
Code : Tout sélectionner
if($_POST['date_hope']=='')
{
$date_hope_deb = "0000-00-00";
$date_hope_fin = "9999-99-99";
}
else
{
$date_hope_deb = date_debut_semaine($_POST['date_hope']);
$date_hope_fin = date('Y/m/d',strtotime('+6 days',strtotime(date_debut_semaine($_POST['date_hope']))));
}
Code : Tout sélectionner
if ($keywords)
{
include "./searchengine.php";
} else {
$from="
FROM tincidents, tstates
WHERE
tincidents.state=tstates.id
AND tincidents.user LIKE '$_POST[user]'
AND tincidents.u_group LIKE '$_GET[u_group]'
AND tincidents.technician LIKE '$_POST[technician]'
AND tincidents.t_group LIKE '$_GET[t_group]'
AND tincidents.techread LIKE '$_GET[techread]'
AND tincidents.disable='0'
AND (tincidents.category LIKE '$_POST[category]')
AND tincidents.subcat LIKE '$_POST[subcat]'
AND tincidents.id LIKE '$_POST[ticket]'
AND tincidents.user LIKE '$_POST[userid]'
AND tincidents.date_create LIKE '$_POST[date]%'
AND tincidents.state LIKE '$_POST[fstate]'
AND tincidents.title LIKE '%$_POST[title]%'
AND tincidents.date_hope >= '$date_hope_deb' and tincidents.date_hope <= '$date_hope_fin'
";
}
Code : Tout sélectionner
<th <?php if ($_GET['order']=='date_hope') echo 'class="active"'; ?> >
<center>
<a title="Délai souhaité" href="<?php echo $url; ?>&order=date_hope&way=<?php echo $arrow_way; ?>">
Délai souhaité
<?php
//Display arrows
if ($_GET['order']=='date_hope'){
if ($_GET['way']=='ASC') {echo ' <i class="icon-sort-up"></i>';}
if ($_GET['way']=='DESC') {echo ' <i class="icon-sort-down"></i>';}
}
?>
</a>
</center>
</th>
Code : Tout sélectionner
<td align=center>
<input name="date_hope" size="4" onchange="submit();" type="text" value="<?php if ($_POST['date_hope']!='%')echo $_POST['date_hope']; ?>" />
</td>
Code : Tout sélectionner
<td onclick=\"document.location='./index.php?page=ticket&id=$row[id]&state=$_GET[state]&userid=$_GET[userid]&category=$_GET[category]&subcat=$_GET[subcat]&viewid=$_GET[viewid]'\"><center><a class=\"td\" href=\"./index.php?page=ticket&id=$row[id]&state=$_GET[state]&userid=$_GET[userid]&category=$_GET[category]&subcat=$_GET[subcat]&viewid=$_GET[viewid]\">".dateFR2WeekNum($date_hope)."</a></center>
</td>
Code : Tout sélectionner
function dateFR2WeekNum($date)
{
list($year, $month, $day) = explode('-', $date);
if ($year==0000) {
$weekNum = "Pas de délai";
}
else
{
$weekNum = (date('W', mktime(0, 0, 0, $month, $day, $year)) * 1);
}
return $weekNum;
}
function date_debut_semaine($week) {
$week = sprintf('%02d',$week);
$start = strtotime('2014'.'W'.$week);
return date('Y-m-d', strtotime('Monday',$start));
- Ajout d'une colonne Délai souhaité entre la date de la demande et l'état du ticket
- Si date de délai (date d'estimation de la résolution) 0000-00-00 on affiche "Pas de délai"
- Si délai il y a, la fonction converti la date correspondante en numéro de semaine
- On peut également filtrer par numéro de semaine dans la ligne de filtre
Si des améliorations sont a apporter, je suis preneur, en attendant cela fonctionne, cela correspond à notre manière de travailler.
Cdt
TBR
- GestSup 3.2.0
- Windows Server 2016
- Apache 2.4.41
- PHP 7.3.12
- MariaDB 10.4.10
- Windows Server 2016
- Apache 2.4.41
- PHP 7.3.12
- MariaDB 10.4.10