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

@ -67,3 +67,5 @@ Type.65 = "ListeUtilisateursReturn"
Type.66 = "Utilisateur"
Type.67 = "RatiosReturn"
Type.68 = "RatiosResult"
Type.69 = "CommandeEnqueteReturn"
Type.70 = "CommandeEnquete"

View File

@ -1049,3 +1049,22 @@ class RatiosResult
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);
}
/** Commande d'une enquête sur une entreprise en France ou à l'Internationale
** @param string $siren
** @param array $infoEnq
** @param array $infoDemande
/**
* Commande d'une enquête sur une entreprise en France ou à l'Internationale
* @param string $siren
* @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;
global $tabInfoUser;
$mail = trim($infoDemande['Email']);
if ($mail=='') $mail = $this->tabInfoUser['email'];
$mail=trim($infoDemande['Email']);
if ($mail=='') $mail=$tabInfoUser['email'];
$tabInsert=array('idUser'=> $tabInfoUser['id'],
$tabInsert = array(
'idUser' => $this->tabInfoUser['id'],
'source'=> 'intersud', // 'greffes', 'asso', 'graydon'
'login'=> $tabInfoUser['login'],
'login'=> $this->tabInfoUser['login'],
'emailCommande'=> $mail,
'siren'=> $siren,
'refDocument'=> serialize($infoDemande),
'refCommande'=> serialize($infoEnq),
'dateCommande'=> DATETIME,
// 'idClient'=> $tabInfoUser['idClient'],
);
debugLog('I',"commande d'enquete sur $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
$messageInfo=print_r($infoEnq, 1).EOL.print_r($infoDemande,1).EOL;
$idClient=$tabInfoUser['idClient'];
$rep=$iDbCrm->select('clients', ' nom, racineLogin, InterSudLogin, InterSudPass', "id='$idClient'", false, MYSQL_ASSOC);
$login=trim($rep[0]['InterSudLogin']);
$pass =trim($rep[0]['InterSudPass']);
$nomClient=trim(strtoupper($rep[0]['nom']));
$idClient = $this->tabInfoUser['idClient'];
$rep = $iDbCrm->select('clients', ' nom, racineLogin, InterSudLogin, InterSudPass', "id='$idClient'", false, MYSQL_ASSOC);
$login = trim($rep[0]['InterSudLogin']);
$pass = trim($rep[0]['InterSudPass']);
$nomClient = trim(strtoupper($rep[0]['nom']));
$strInfoCommande ="NOM et Prénom du client demandeur : ".$infoDemande['Identite'].EOL;
$strInfoCommande.="Email du client demandeur : $mail".EOL;
$strInfoCommande.="Tel/Fax du demandeur : ".$infoDemande['Tel'].' / '.$infoDemande['Fax'].EOL;
$strInfoCommande.="Profil du demandeur : ".trim($infoDemande['Profil'].' '.$infoDemande['ProfilAutre']).EOL;
$typeEnqLog='enqueteDemNF';
if ($login=='' || $login=='') {
if ($login=='') {
/** Il ne s'agit pas d'un client final, on anonymise la commande **/
$login='YLENA'; // Demandes en test
$pass='WYLFE';
@ -2656,10 +2664,8 @@ class WsInterne
}
$url='http://www.intersud.fr/espace_client/espace_client.php';
$cookie=$referer='';
$tabPost=array('login'=>$login,
'pwd'=>$pass,
);
$cookie = $referer = '';
$tabPost = array('login'=>$login, 'pwd'=>$pass);
$tdeb=microtime(true);
$page=getUrl($url, $cookie, $tabPost, $referer, false, '', '', 7);
$tfin=microtime(true);
@ -2676,7 +2682,7 @@ class WsInterne
$referer=$url;
$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));
@fclose($fp);
$tabInterSud=array();
@ -2692,31 +2698,31 @@ class WsInterne
$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($tabInterSud,true));
@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);
$comment="Référence de la commande chez Scores et Décisions : i$ret - ".DATETIME."
Date et heure de la commande : ".date('d/m/Y - H:i')."
Origine de la commande : $nomClient
$strInfoCommande
"CA : ".$infoEnq['Precisions']['MontantCA']."\n".
"Motif de la demande : ".trim($infoEnq['Precisions']['Motif'].' '.$infoEnq['Precisions']['Autre'])."\n".
"Type de la demande : ".$infoEnq['Precisions']['Type']."\n".
"Anciennete de la relation : ".$infoEnq['Anciennete'].' '.$infoEnq['AncienneteDuree']."\n".
"Observations : ".$infoEnq['Observation'].EOL;
CA : ".$infoEnq['Precisions']['MontantCA']."
Motif de la demande : ".trim($infoEnq['Precisions']['Motif'].' '.$infoEnq['Precisions']['Autre'])."
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['ImpayeesChoix']<>'non')
$comment.="Impayé(s) : ".$infoEnq['Impayees']['Nombre']." impayé(s) pour un montant de ".$infoEnq['Impayees']['Montant']." en date du ".$infoEnq['Impayees']['Date'].EOL;
if ($infoEnq['RetardPaiementChoix']<>'non')
if ($infoEnq['RetardPaiementChoix']<>'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;
if ($infoEnq['LitigeChoix']<>'non')
if ($infoEnq['LitigeChoix']<>'non')
$comment.="Présence de litige(s) : ".$infoEnq['Litige']['Precisions'].EOL;
$enqType=0;
@ -2732,18 +2738,19 @@ if ($infoEnq['LitigeChoix']<>'non')
/** Ajout du RIB si communiqué **/
if (@trim(implode(' ', $infoEnq['Entrep']['Rib']))<>'')
$iDbCrm->insert('banques', array( 'siren'=>$siren,
$iDbCrm->insert('banques', array(
'siren'=>$siren,
'libBanqueGuichet'=>'',
'precis'=>1,
'codeBanque'=>$infoEnq['Entrep']['Rib']['Banque'],
'codeGuichet'=>$infoEnq['Entrep']['Rib']['Guichet'],
'numCompte'=>$infoEnq['Entrep']['Rib']['Compte'].$infoEnq['Entrep']['Rib']['Cle'],
'dateSource'=>DATETIME,
), true);
$tabIdentite=$this->iInsee->getIdentiteLight($siren);
$tabPost=array( 'soc'=>$tabIdentite['Nom'],
$tabIdentite = $this->iInsee->getIdentiteLight($siren);
$tabPost = array(
'soc'=>$tabIdentite['Nom'],
'cible_enk'=>9, // 9
'siret'=>$siren,
'acti'=>'',
@ -2780,16 +2787,26 @@ if ($infoEnq['LitigeChoix']<>'non')
$referer=$url;
$body=$page['body'];
$tabRet=array( 'siren'=> $siren,
$tabRet=array(
'siren'=> $siren,
'emailCommande'=> $mail,
'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', $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);
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
* @param unknown_type $recherche
* @param unknown_type $annee
* @param unknown_type $typeBod
* @param unknown_type $deb
* @param unknown_type $nbRep
* @param unknown_type $maxRep
* @param unknown_type $pertinence
* @param string $recherche
* @param string $annee
* @param string $typeBod
* @param int $deb
* @param int $nbRep
* @param int $maxRep
* @param bool $pertinence
*/
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__);
$tabFiltresAnnee=array();