Ajout méthode commandeEnquete, issue #0000379

This commit is contained in:
Michael RICOIS 2010-11-24 13:53:15 +00:00
parent a05ac039aa
commit e32b0d8c50
3 changed files with 158 additions and 105 deletions

View File

@ -66,4 +66,6 @@ Type.64 = "GeoCode"
Type.65 = "ListeUtilisateursReturn" Type.65 = "ListeUtilisateursReturn"
Type.66 = "Utilisateur" Type.66 = "Utilisateur"
Type.67 = "RatiosReturn" Type.67 = "RatiosReturn"
Type.68 = "RatiosResult" Type.68 = "RatiosResult"
Type.69 = "CommandeEnqueteReturn"
Type.70 = "CommandeEnquete"

View File

@ -1049,3 +1049,22 @@ class RatiosResult
public $RatiosSecteur; public $RatiosSecteur;
} }
class CommandeEnqueteReturn
{
/** @var ErrorType */
public $error;
/** @var CommandeEnquete */
public $result;
}
class CommandeEnquete
{
/** @var string */
public $siren;
/** @var string */
public $emailCommande;
/** @var string */
public $dateCommande;
/** @var string */
public $refCmde;
}

View File

@ -2606,44 +2606,52 @@ class WsInterne
return array('error'=>array('errnum'=>0, 'errmsg'=>''), 'results'=>$tabRet); return array('error'=>array('errnum'=>0, 'errmsg'=>''), 'results'=>$tabRet);
} }
/** Commande d'une enquête sur une entreprise en France ou à l'Internationale /**
** @param string $siren * Commande d'une enquête sur une entreprise en France ou à l'Internationale
** @param array $infoEnq * @param string $siren
** @param array $infoDemande * @param array $infoEnq
* @param array $infoDemande
* @return CommandeEnqueteReturn
**/ **/
protected function commandeEnquete($siren, $infoEnq=array(), $infoDemande=array()) { public function commandeEnquete($siren, $infoEnq=array(), $infoDemande=array())
{
//Authentification
if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR']))
{
throw new SoapFault('900','Identifiant ou mot de passe incorrect !');
exit;
}
//Initialisation
$error = new ErrorType();
global $iDbCrm; $mail = trim($infoDemande['Email']);
global $tabInfoUser; if ($mail=='') $mail = $this->tabInfoUser['email'];
$mail=trim($infoDemande['Email']); $tabInsert = array(
if ($mail=='') $mail=$tabInfoUser['email']; 'idUser' => $this->tabInfoUser['id'],
'source'=> 'intersud', // 'greffes', 'asso', 'graydon'
$tabInsert=array('idUser'=> $tabInfoUser['id'], 'login'=> $this->tabInfoUser['login'],
'source'=> 'intersud', // 'greffes', 'asso', 'graydon' 'emailCommande'=> $mail,
'login'=> $tabInfoUser['login'], 'siren'=> $siren,
'emailCommande'=> $mail, 'refDocument'=> serialize($infoDemande),
'siren'=> $siren, 'refCommande'=> serialize($infoEnq),
'refDocument'=> serialize($infoDemande), 'dateCommande'=> DATETIME,
'refCommande'=> serialize($infoEnq), );
'dateCommande'=> DATETIME,
// 'idClient'=> $tabInfoUser['idClient'],
);
debugLog('I',"commande d'enquete sur $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__); debugLog('I',"commande d'enquete sur $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
$messageInfo=print_r($infoEnq, 1).EOL.print_r($infoDemande,1).EOL; $messageInfo=print_r($infoEnq, 1).EOL.print_r($infoDemande,1).EOL;
$idClient=$tabInfoUser['idClient']; $idClient = $this->tabInfoUser['idClient'];
$rep=$iDbCrm->select('clients', ' nom, racineLogin, InterSudLogin, InterSudPass', "id='$idClient'", false, MYSQL_ASSOC); $rep = $iDbCrm->select('clients', ' nom, racineLogin, InterSudLogin, InterSudPass', "id='$idClient'", false, MYSQL_ASSOC);
$login=trim($rep[0]['InterSudLogin']); $login = trim($rep[0]['InterSudLogin']);
$pass =trim($rep[0]['InterSudPass']); $pass = trim($rep[0]['InterSudPass']);
$nomClient=trim(strtoupper($rep[0]['nom'])); $nomClient = trim(strtoupper($rep[0]['nom']));
$strInfoCommande ="NOM et Prénom du client demandeur : ".$infoDemande['Identite'].EOL; $strInfoCommande ="NOM et Prénom du client demandeur : ".$infoDemande['Identite'].EOL;
$strInfoCommande.="Email du client demandeur : $mail".EOL; $strInfoCommande.="Email du client demandeur : $mail".EOL;
$strInfoCommande.="Tel/Fax du demandeur : ".$infoDemande['Tel'].' / '.$infoDemande['Fax'].EOL; $strInfoCommande.="Tel/Fax du demandeur : ".$infoDemande['Tel'].' / '.$infoDemande['Fax'].EOL;
$strInfoCommande.="Profil du demandeur : ".trim($infoDemande['Profil'].' '.$infoDemande['ProfilAutre']).EOL; $strInfoCommande.="Profil du demandeur : ".trim($infoDemande['Profil'].' '.$infoDemande['ProfilAutre']).EOL;
$typeEnqLog='enqueteDemNF'; $typeEnqLog='enqueteDemNF';
if ($login=='' || $login=='') { if ($login=='') {
/** Il ne s'agit pas d'un client final, on anonymise la commande **/ /** Il ne s'agit pas d'un client final, on anonymise la commande **/
$login='YLENA'; // Demandes en test $login='YLENA'; // Demandes en test
$pass='WYLFE'; $pass='WYLFE';
@ -2656,10 +2664,8 @@ class WsInterne
} }
$url='http://www.intersud.fr/espace_client/espace_client.php'; $url='http://www.intersud.fr/espace_client/espace_client.php';
$cookie=$referer=''; $cookie = $referer = '';
$tabPost=array('login'=>$login, $tabPost = array('login'=>$login, 'pwd'=>$pass);
'pwd'=>$pass,
);
$tdeb=microtime(true); $tdeb=microtime(true);
$page=getUrl($url, $cookie, $tabPost, $referer, false, '', '', 7); $page=getUrl($url, $cookie, $tabPost, $referer, false, '', '', 7);
$tfin=microtime(true); $tfin=microtime(true);
@ -2676,7 +2682,7 @@ class WsInterne
$referer=$url; $referer=$url;
$body=$page['body']; $body=$page['body'];
$fp=@fopen("/var/www/html/ws2/intersud.log", "a"); $fp=@fopen(LOG_PATH."intersud.log", "a");
@fwrite($fp, print_r($page,true)); @fwrite($fp, print_r($page,true));
@fclose($fp); @fclose($fp);
$tabInterSud=array(); $tabInterSud=array();
@ -2692,32 +2698,32 @@ class WsInterne
$tabInterSud[$field]=$tmp[0]; $tabInterSud[$field]=$tmp[0];
} }
} }
$fp=@fopen("/var/www/html/ws2/intersud.log", "a"); $fp=@fopen(LOG_PATH."intersud.log", "a");
@fwrite($fp, print_r($matches,true)); @fwrite($fp, print_r($matches,true));
@fwrite($fp, print_r($tabInterSud,true)); @fwrite($fp, print_r($tabInterSud,true));
@fclose($fp); @fclose($fp);
$ret = $iDbCrm->insert('commandes', $tabInsert, true);
$comment = "Référence de la commande chez Scores et Décisions : i$ret - ".
DATETIME."\n".
"Date et heure de la commande : ".date('d/m/Y - H:i')."\n".
"Origine de la commande : $nomClient".
"$strInfoCommande"."\n\n".
$ret=$iDbCrm->insert('commandes', $tabInsert, true); "CA : ".$infoEnq['Precisions']['MontantCA']."\n".
$comment="Référence de la commande chez Scores et Décisions : i$ret - ".DATETIME." "Motif de la demande : ".trim($infoEnq['Precisions']['Motif'].' '.$infoEnq['Precisions']['Autre'])."\n".
Date et heure de la commande : ".date('d/m/Y - H:i')." "Type de la demande : ".$infoEnq['Precisions']['Type']."\n".
Origine de la commande : $nomClient "Anciennete de la relation : ".$infoEnq['Anciennete'].' '.$infoEnq['AncienneteDuree']."\n".
$strInfoCommande "Observations : ".$infoEnq['Observation'].EOL;
CA : ".$infoEnq['Precisions']['MontantCA']." if ($infoEnq['ImpayeesChoix']<>'non')
Motif de la demande : ".trim($infoEnq['Precisions']['Motif'].' '.$infoEnq['Precisions']['Autre'])." $comment.="Impayé(s) : ".$infoEnq['Impayees']['Nombre']." impayé(s) pour un montant de ".$infoEnq['Impayees']['Montant']." en date du ".$infoEnq['Impayees']['Date'].EOL;
Type de la demande : ".$infoEnq['Precisions']['Type']."
Anciennete de la relation : ".$infoEnq['Anciennete'].' '.$infoEnq['AncienneteDuree']."
Observations : ".$infoEnq['Observation'].EOL;
if ($infoEnq['ImpayeesChoix']<>'non') if ($infoEnq['RetardPaiementChoix']<>'non')
$comment.="Impayé(s) : ".$infoEnq['Impayees']['Nombre']." impayé(s) pour un montant de ".$infoEnq['Impayees']['Montant']." en date du ".$infoEnq['Impayees']['Date'].EOL; $comment.="Retard(s) de paiement : ".$infoEnq['RetardPaiement']['Nombre']." retard(s) pour un montant de ".$infoEnq['RetardPaiement']['Montant']." en date du ".$infoEnq['RetardPaiement']['Date'].EOL;
if ($infoEnq['RetardPaiementChoix']<>'non') if ($infoEnq['LitigeChoix']<>'non')
$comment.="Retard(s) de paiement : ".$infoEnq['RetardPaiement']['Nombre']." retard(s) pour un montant de ".$infoEnq['RetardPaiement']['Montant']." en date du ".$infoEnq['RetardPaiement']['Date'].EOL; $comment.="Présence de litige(s) : ".$infoEnq['Litige']['Precisions'].EOL;
if ($infoEnq['LitigeChoix']<>'non')
$comment.="Présence de litige(s) : ".$infoEnq['Litige']['Precisions'].EOL;
$enqType=0; $enqType=0;
$enqDelai=7; $enqDelai=7;
@ -2732,46 +2738,47 @@ if ($infoEnq['LitigeChoix']<>'non')
/** Ajout du RIB si communiqué **/ /** Ajout du RIB si communiqué **/
if (@trim(implode(' ', $infoEnq['Entrep']['Rib']))<>'') if (@trim(implode(' ', $infoEnq['Entrep']['Rib']))<>'')
$iDbCrm->insert('banques', array( 'siren'=>$siren, $iDbCrm->insert('banques', array(
'libBanqueGuichet'=>'', 'siren'=>$siren,
'precis'=>1, 'libBanqueGuichet'=>'',
'codeBanque'=>$infoEnq['Entrep']['Rib']['Banque'], 'precis'=>1,
'codeGuichet'=>$infoEnq['Entrep']['Rib']['Guichet'], 'codeBanque'=>$infoEnq['Entrep']['Rib']['Banque'],
'numCompte'=>$infoEnq['Entrep']['Rib']['Compte'].$infoEnq['Entrep']['Rib']['Cle'], 'codeGuichet'=>$infoEnq['Entrep']['Rib']['Guichet'],
'dateSource'=>DATETIME, 'numCompte'=>$infoEnq['Entrep']['Rib']['Compte'].$infoEnq['Entrep']['Rib']['Cle'],
'dateSource'=>DATETIME,
), true);
), true); $tabIdentite = $this->iInsee->getIdentiteLight($siren);
$tabPost = array(
$tabIdentite=$this->iInsee->getIdentiteLight($siren); 'soc'=>$tabIdentite['Nom'],
$tabPost=array( 'soc'=>$tabIdentite['Nom'], 'cible_enk'=>9, // 9
'cible_enk'=>9, // 9 'siret'=>$siren,
'siret'=>$siren, 'acti'=>'',
'acti'=>'', 'soc_exp'=>$tabInterSud['soc_exp'],
'soc_exp'=>$tabInterSud['soc_exp'], 'type_enk'=>$enqType, // 0=Premier, 1=Gold, 2=Distrimat, 3=Star, 4=Avis bancaire, 5=Autre
'type_enk'=>$enqType, // 0=Premier, 1=Gold, 2=Distrimat, 3=Star, 4=Avis bancaire, 5=Autre 'nom_diri'=>'',
'nom_diri'=>'', 'adr'=>$tabIdentite['Adresse'],
'adr'=>$tabIdentite['Adresse'], 'ref_exp'=>$tabInterSud['ref_exp'],
'ref_exp'=>$tabInterSud['ref_exp'], 'autre_type_enk'=>'', // Texte libre
'autre_type_enk'=>'', // Texte libre 'adr2'=>$tabIdentite['Adresse2'],
'adr2'=>$tabIdentite['Adresse2'], 'delai_enk'=>$enqDelai, // 6=24h, 7=72h, 8=+de5jours
'delai_enk'=>$enqDelai, // 6=24h, 7=72h, 8=+de5jours 'ville'=>$tabIdentite['Ville'],
'ville'=>$tabIdentite['Ville'], 'cp'=>$tabIdentite['CP'],
'cp'=>$tabIdentite['CP'], 'pays'=>'', // International ?
'pays'=>'', // International ? 'nom_exp'=>$tabInterSud['nom_exp'],
'nom_exp'=>$tabInterSud['nom_exp'], 'tel'=>$tabIdentite['Tel'],
'tel'=>$tabIdentite['Tel'], 'port'=>$infoEnq['Entrep']['AutreTel'],
'port'=>$infoEnq['Entrep']['AutreTel'], 'tel_exp'=>$tabInterSud['tel_exp'],
'tel_exp'=>$tabInterSud['tel_exp'], 'bank'=>trim(implode(' ', $infoEnq['Entrep']['Rib'])),
'bank'=>trim(implode(' ', $infoEnq['Entrep']['Rib'])), 'int_enk'=>$tabInterSud['int_enk'], // International ?
'int_enk'=>$tabInterSud['int_enk'], // International ? 'encours'=>$infoEnq['Encours'],
'encours'=>$infoEnq['Encours'], 'nb_ech'=>$infoEnq['NbEcheances'],
'nb_ech'=>$infoEnq['NbEcheances'], 'delai2_enk'=>$tabInterSud['delai2_enk'], // International ?
'delai2_enk'=>$tabInterSud['delai2_enk'], // International ? 'email_exp'=>$tabInterSud['email_exp'],
'email_exp'=>$tabInterSud['email_exp'], 'cred'=>'',
'cred'=>'', 'comment'=>urlencode($comment),
'comment'=>urlencode($comment), 'val_ret'=>1,
'val_ret'=>1, );
);
$url='http://intersud.fr/espace_client/demande_enquete.php'; $url='http://intersud.fr/espace_client/demande_enquete.php';
$tdeb=microtime(true); $tdeb=microtime(true);
$page=getUrl($url, $cookie, $tabPost, $referer, false, '', '', 7); $page=getUrl($url, $cookie, $tabPost, $referer, false, '', '', 7);
@ -2780,16 +2787,26 @@ if ($infoEnq['LitigeChoix']<>'non')
$referer=$url; $referer=$url;
$body=$page['body']; $body=$page['body'];
$tabRet=array( 'siren'=> $siren, $tabRet=array(
'emailCommande'=> $mail, 'siren'=> $siren,
'dateCommande'=> DATETIME, 'emailCommande'=> $mail,
'refCmde'=> 'i'.$ret, 'dateCommande'=> DATETIME,
); 'refCmde'=> 'i'.$ret,
//$strInfoCommande $mail );
$result = new CommandeEnquete();
$result->siren = $siren;
$result->emailCommande = $mail;
$result->dateCommande = DATETIME;
$result->refCmd = 'i'.$ret;
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Commande d'enquete sur $siren", $comment.EOL.EOL.'---------------------------------'.EOL.$messageInfo); @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Commande d'enquete sur $siren", $comment.EOL.EOL.'---------------------------------'.EOL.$messageInfo);
@sendMail('production@scores-decisions.com', $mail, "Votre demande d'enquete sur ".$tabIdentite['Nom']." ($siren)", "Votre demande d'enquête sur la société ".$tabIdentite['Nom']." a été prise en compte sous la référence i$ret - ".DATETIME); @sendMail('production@scores-decisions.com', $mail, "Votre demande d'enquete sur ".$tabIdentite['Nom']." ($siren)", "Votre demande d'enquête sur la société ".$tabIdentite['Nom']." a été prise en compte sous la référence i$ret - ".DATETIME);
wsLog($typeEnqLog, $siren, 'i'.$ret.'-'.DATETIME); wsLog($typeEnqLog, $siren, 'i'.$ret.'-'.DATETIME);
return array('error'=>array('errnum'=>0, 'errmsg'=>''), 'results'=>$tabRet);
$output = new CommandeEnqueteReturn();
$output->error = $error;
$output->result = $result;
return $output;
} }
/** /**
@ -3327,19 +3344,34 @@ if ($infoEnq['LitigeChoix']<>'non')
} }
/** /**
*
* rechercheHisto * rechercheHisto
* @param unknown_type $recherche * @param string $recherche
* @param unknown_type $annee * @param string $annee
* @param unknown_type $typeBod * @param string $typeBod
* @param unknown_type $deb * @param int $deb
* @param unknown_type $nbRep * @param int $nbRep
* @param unknown_type $maxRep * @param int $maxRep
* @param unknown_type $pertinence * @param bool $pertinence
*/ */
protected function rechercheHisto($recherche, $annee='', $typeBod='', $deb=0, $nbRep=20, $maxRep=200, $pertinence=false) protected function rechercheHisto($recherche, $annee='', $typeBod='', $deb=0, $nbRep=20, $maxRep=200, $pertinence=false)
{ {
include_once(FWK_PATH.'sphinx/recherche2.php'); //Authentification
if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR']))
{
throw new SoapFault('900','Identifiant ou mot de passe incorrect !');
exit;
}
//Initialisation
$error = new ErrorType();
if (empty($annee)) $annee = '';
if (empty($typeBod)) $typeBod = '';
if (empty($deb)) $deb = 0;
if (empty($nbRep)) $nbRep = 20;
if (empty($maxRep)) $maxRep = 200;
if (empty($annee)) $pertinence = false;
require_once 'framework/sphinx/recherche2.php';
debugLog('I',"rechercheHisto de $recherche ($annee) (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__); debugLog('I',"rechercheHisto de $recherche ($annee) (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
$tabFiltresAnnee=array(); $tabFiltresAnnee=array();