/** * @name operationAttenteFerme($pTypePaiement) * @return array(OperationDetailVO) ou false en erreur * @desc Retourne l'ensemble des opérations des fermes non pointées */ public static function operationAttenteFerme($pTypePaiement) { // Initialisation du Logger $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS); $lLogger->setMask(Log::MAX(LOG_LEVEL)); $lRequete = "SELECT " . FermeManager::CHAMP_FERME_ID . "," . FermeManager::CHAMP_FERME_NUMERO . "," . FermeManager::CHAMP_FERME_NOM . "," . CompteManager::CHAMP_COMPTE_LABEL . "," . CompteManager::CHAMP_COMPTE_SOLDE . "," . OperationManager::CHAMP_OPERATION_MONTANT . "," . OperationManager::CHAMP_OPERATION_TYPE_PAIEMENT . "," . OperationManager::CHAMP_OPERATION_DATE . "," . OperationManager::CHAMP_OPERATION_LIBELLE . "," . OperationManager::CHAMP_OPERATION_ID . "," . OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_CHCP_ID . "," . OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_VALEUR . "," . OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ID_REMISE_CHEQUE . ',' . RemiseChequeManager::CHAMP_REMISECHEQUE_NUMERO . "\n\t\tFROM " . OperationManager::TABLE_OPERATION . "\n\t\tJOIN " . CompteManager::TABLE_COMPTE . " ON " . CompteManager::CHAMP_COMPTE_ID . " = " . OperationManager::CHAMP_OPERATION_ID_COMPTE . "\n\t\tJOIN " . FermeManager::TABLE_FERME . " ON " . FermeManager::CHAMP_FERME_ID_COMPTE . " = " . OperationManager::CHAMP_OPERATION_ID_COMPTE . "\n\t\tLEFT JOIN " . OperationChampComplementaireManager::TABLE_OPERATIONCHAMPCOMPLEMENTAIRE . "\n\t\t\tON " . OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_OPE_ID . " = " . OperationManager::CHAMP_OPERATION_ID . "\n\t\tLEFT JOIN " . OperationRemiseChequeManager::TABLE_OPERATIONREMISECHEQUE . " \n\t\t\tON " . OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ID_OPERATION . " = " . OperationManager::CHAMP_OPERATION_ID . "\n\t\t\tAND " . OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ETAT . " = 0\n\t\tLEFT JOIN " . RemiseChequeManager::TABLE_REMISECHEQUE . "\n\t\t\tON " . OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ID_REMISE_CHEQUE . " = " . RemiseChequeManager::CHAMP_REMISECHEQUE_ID . "\n\t\tWHERE " . OperationManager::CHAMP_OPERATION_TYPE . " = 0\n\t\t\tAND " . OperationManager::CHAMP_OPERATION_TYPE_PAIEMENT . " in (1,2)\n\t\t\tAND " . OperationManager::CHAMP_OPERATION_TYPE_PAIEMENT . " = '" . StringUtils::securiser($pTypePaiement) . "'\n\t\tORDER BY " . OperationManager::CHAMP_OPERATION_DATE . ";"; $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG); // Maj des logs $lSql = Dbutils::executerRequete($lRequete); $lListeOperationAttente = array(); if (mysql_num_rows($lSql) > 0) { $lOpeId = NULL; $lChampComplementaire = array(); while ($lLigne = mysql_fetch_assoc($lSql)) { if ($lOpeId != $lLigne[OperationManager::CHAMP_OPERATION_ID]) { if (!is_null($lOpeId)) { $lOperationAttente->setOpeTypePaiementChampComplementaire($lChampComplementaire); $lListeOperationAttente[$lOpeId] = $lOperationAttente; } $lOpeId = $lLigne[OperationManager::CHAMP_OPERATION_ID]; $lOperationAttente = OperationManager::remplirOperationAttenteFermeEntete($lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[FermeManager::CHAMP_FERME_NUMERO], $lLigne[FermeManager::CHAMP_FERME_NOM], $lLigne[CompteManager::CHAMP_COMPTE_LABEL], $lLigne[CompteManager::CHAMP_COMPTE_SOLDE], $lLigne[OperationManager::CHAMP_OPERATION_MONTANT], $lLigne[OperationManager::CHAMP_OPERATION_TYPE_PAIEMENT], $lLigne[OperationManager::CHAMP_OPERATION_DATE], $lLigne[OperationManager::CHAMP_OPERATION_LIBELLE], $lLigne[OperationManager::CHAMP_OPERATION_ID], $lLigne[OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ID_REMISE_CHEQUE], $lLigne[RemiseChequeManager::CHAMP_REMISECHEQUE_NUMERO]); } if (!is_null($lLigne[OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_CHCP_ID])) { $lChampComplementaire[$lLigne[OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_CHCP_ID]] = OperationManager::remplirOperationDetail(NULL, NULL, NULL, NULL, NULL, $lLigne[OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_CHCP_ID], NULL, NULL, NULL, $lLigne[OperationManager::CHAMP_OPERATION_ID], $lLigne[OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_VALEUR]); } } $lOperationAttente->setOpeTypePaiementChampComplementaire($lChampComplementaire); $lListeOperationAttente[$lOpeId] = $lOperationAttente; } else { $lListeOperationAttente[0] = new OperationAttenteFermeVO(); } return $lListeOperationAttente; }