alpha_full/_include/_fonctions/getIdprdFromRef.php
2026-04-06 22:58:51 +02:00

119 lines
4.3 KiB
PHP
Executable File

<?php
// $nomFicAppelant = basename(__FILE__);
function testCond ( $tabCode ) {
$test =-1;
$continueR=0;
global $idPdo;
global $usrSiteMsg;
global $qte;
global $idPrd;
global $conditionsRemplies;
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:blue; text-align:left;">Condition ' .$tabCode. ' </span> => ';}
if ($tabCode!="" && $tabCode!="-") {
// ---------------------------------------------------
// Recup des parametres de la condition numR
// ---------------------------------------------------
$reqSelect = "SELECT codeR, operateurR, seuilR from rConditions where numR=" .$tabCode. " ;";
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>reqSelect = ' .$reqSelect. '';}
$resConn="";
try{
$resConn=$idPdo->query($reqSelect);
if ($resConn) {
$test='';
$tabresultR= $resConn->fetch(PDO::FETCH_ASSOC) ;
$codeR=$tabresultR['codeR'];
$operateurR=$tabresultR['operateurR'];
$seuilR=$tabresultR['seuilR'];
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<span style="color:blue">' .$codeR. ' ' .$operateurR. ' ' .$seuilR . '</span>'; }
}
}
catch (PDOException $e) {
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' PDOException = ' .$e->getMessage(). ' reqSelect = ' .$reqSelect ; }
}
if ($conditionsRemplies==1) {
// ---------------------------------------------------
// Si la condtion est refPrd trouver le idPrd
// ---------------------------------------------------
$test = strpos ( $codeR, "refPrd" );
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:green"> test si refPrd => ' .$test. '</span>';}
if ($test>-1) {
$critere = "refPrd='" .$seuilR. "'";
$reqSelect = "SELECT idPrd FROM `produits` WHERE " .$critere. ";";
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' | reqSelect = ' .$reqSelect. '';}
$resConn="";
try{
$resConn=$idPdo->query($reqSelect);
if ($resConn) {
$test='';
while($tabresultR=$resConn->fetch(PDO::FETCH_ASSOC)) {
$test=$tabresultR['idPrd'];
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' | nouveau idPrd [test]: ' .$test;}
}
// ---------------------------------------------------
// Vérifier si la condition s'applique : idPrd = idPrd cherché (test)
// ---------------------------------------------------
if ($test!='') {
if ($idPrd==$test) {$conditionsRemplies = 1;}
}
else {
$conditionsRemplies = -1;
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .=' | tabC1 pas de refPrd trouvé en base : ' .$critere;}
}
}
}
catch (PDOException $e) {
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>PDOException ' .$e. ' reqSelect = ' .$reqSelect ; }
}
}
}
// ---------------------------------------------------
// si continuer et la condition est quantité, faire le test selon le seuil
// ---------------------------------------------------
if ($conditionsRemplies==1) {
$test = strpos ( $codeR, "qte" );
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br><span style="color:black"> test si qte => ' .$test. '</span>'; }
if ($test>-1) {
// ---------------------------------------------------
// Vérifier si la condition s'applique
// ---------------------------------------------------
switch ($operateurR) {
case '<':
if ($qte<$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
break;
case '<=':
if ($qte<=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
break;
case '=':
if ($qte=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
break;
case '>':
if ($qte>$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
break;
case '>=':
if ($qte>=$seuilR ) $conditionsRemplies=1; else $conditionsRemplies=-1;
break;
default :
if (isset($debug[2]) && $debug[2] == '1' ) $debugMsg .='<br>pas de case quantité matchée !';
break;
}
}
}
}
if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .='<br>conditionsRemplies apres => ' .$conditionsRemplies. '';}
}
?>