Prepare release

This commit is contained in:
Michael RICOIS 2014-10-31 15:19:35 +00:00
commit e03497ebef
7 changed files with 379 additions and 17 deletions

View File

@ -24,6 +24,7 @@ $tabTypeAsso=array(
'_666'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'FON','lib'=>'FONDATION/DISSOLUTION/ANNULATION'), '_666'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'FON','lib'=>'FONDATION/DISSOLUTION/ANNULATION'),
'_201'=>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION'), '_201'=>array('even'=>8079,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION'),
'_202'=>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/RECTIFICATIF'), '_202'=>array('even'=>8079,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/RECTIFICATIF'),
'_203'=>array('even'=>8079,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/MODIFICATION/ANNULATION'),
'_301'=>array('even'=>8090,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION'), '_301'=>array('even'=>8090,'type'=>'Insertion', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION'),
'_302'=>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/RECTIFICATIF'), '_302'=>array('even'=>8090,'type'=>'Rectificatif', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/RECTIFICATIF'),
'_303'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/ANNULATION'), '_303'=>array('even'=>8090,'type'=>'Suppression', 'forme'=>'ASL','lib'=>'ASL/DISSOLUTION/ANNULATION'),
@ -784,7 +785,7 @@ class MBodacc
' DU MANS'=>' LE MANS', ' DU MANS'=>' LE MANS',
' DU CREUSOT'=>' LE CREUSOT', ' DU CREUSOT'=>' LE CREUSOT',
' DU HAVRE'=>' LE HAVRE', ' DU HAVRE'=>' LE HAVRE',
' DU '=>' ', 'PUY'=>'PUY EN VELAY', ' DU '=>' ', 'PUY'=>'PUY EN VELAY', 'LE PUY EN VELAY'=>'PUY EN VELAY',
'ALÈS'=>'ALES', 'ALÈS'=>'ALES',
'.'=>' ', '.'=>' ',
) )
@ -822,6 +823,8 @@ class MBodacc
return $code; return $code;
elseif ( $dep==975 && $libelleDuTribunal=='TGI SAINT PIERRE') elseif ( $dep==975 && $libelleDuTribunal=='TGI SAINT PIERRE')
return $code; return $code;
elseif ( $dep==70 && $libelleDuTribunal=='TC VESOUL')
return $code;
elseif ( ($dep==95 || $dep==975) && elseif ( ($dep==95 || $dep==975) &&
($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE SAINT PIERRE ET MIQUELON' || $libelleDuTribunal=='TPI SAINT PIERRE ET MIQUELON') ($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE SAINT PIERRE ET MIQUELON' || $libelleDuTribunal=='TPI SAINT PIERRE ET MIQUELON')
@ -1048,6 +1051,12 @@ class MBodacc
} else } else
die("Cas non gérée pour cette structure de noms : '$noms'"); die("Cas non gérée pour cette structure de noms : '$noms'");
/** @todo Il manque le cas de repr par pour le STE ??? **/ /** @todo Il manque le cas de repr par pour le STE ??? **/
if (preg_match('/(en fonction le)|(modification le)/Ui', $nom)) {
echo "Je remplace le nom du dirigeant BODACC '$nom' par ";
$nom=preg_replace('/\s+en fonction le.*$/','', $nom);
$nom=preg_replace('/\s+modification le.*$/','', $nom);
echo "'$nom'".EOL;
}
$tabRet[]=array('fonction'=>$numFonction, 'rs'=>trim(str_replace(',','',$raisonSociale)), 'nom'=>$nom, 'prenom'=>$prenom, 'nomUsage'=>$usage, 'depart'=>$oldFonction); $tabRet[]=array('fonction'=>$numFonction, 'rs'=>trim(str_replace(',','',$raisonSociale)), 'nom'=>$nom, 'prenom'=>$prenom, 'nomUsage'=>$usage, 'depart'=>$oldFonction);
} }
} }

View File

@ -2266,9 +2266,8 @@ class MInsee
/** Informations INSEE **/ /** Informations INSEE **/
if ($siren>100) { if ($siren>100) {
$insee=$this->iDb->select( $insee = $this->iDb->select('insee.identite',
'insee.identite', 'ACTIF%10 AS ACTIF, actifEco%10 AS actifEco, NOM, NOM2, SIGLE, ENSEIGNE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, PAYS, DCREN, SIEGE, AUXILT, SAISONAT, CJ, CIVILITE, NBETAB, APE_ENT, APE_ETAB, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, TEL, FAX, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, DCRET, TEFF_ENT, ADR_DEP, ADR_COM, TCA, TCAEXP, EFF_ET, TEFF_ET, CODEVOIE, DATE_MAJ, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, MONOREG, REGIMP, MONOACT, DEFEN, DEFET, IDENTITE_PRE, insL1_NOMEN, insL2_COMP, insL3_CADR, insL4_VOIE, insL5_DISP, insL6_POST, insL7_ETRG, dateMajRNVP, insCATEGORIE, insIND_PUBLIPO, RPET, ARRONET, CTONET, DU, TU, UU, TCD, ZEMET, ESAANN, ESAAPEN, DREACTET, AMINTRET, DREACTEN, AMINTREN, NOMEN_LONG, CEDEX, EPCI, NOM_COM, NATETAB, PRODET, PRODEN',
'ACTIF%10 AS ACTIF, actifEco%10 AS actifEco, NOM, NOM2, SIGLE, ENSEIGNE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, PAYS, DCREN, SIEGE, AUXILT, SAISONAT, CJ, CIVILITE, NBETAB, APE_ENT, APE_ETAB, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, TEL, FAX, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, DCRET, TEFF_ENT, ADR_DEP, ADR_COM, TCA, TCAEXP, EFF_ET, TEFF_ET, CODEVOIE, DATE_MAJ, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, MONOREG, REGIMP, MONOACT, DEFEN, DEFET, IDENTITE_PRE',
"SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1",false,MYSQL_ASSOC); "SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1",false,MYSQL_ASSOC);
if (count($insee)>0) { if (count($insee)>0) {
$tabInsee=$insee[0]; $tabInsee=$insee[0];
@ -2277,6 +2276,12 @@ class MInsee
$tabInsee['RECME']=$tabNotice['insRECME']; $tabInsee['RECME']=$tabNotice['insRECME'];
// On force l'indicateur "actifEco" à 0 si l'établissement est juridiquement inactif // On force l'indicateur "actifEco" à 0 si l'établissement est juridiquement inactif
if ($tabInsee['ACTIF']*1==0) $tabInsee['actifEco']=0; if ($tabInsee['ACTIF']*1==0) $tabInsee['actifEco']=0;
if (trim($tabInsee['CODEVOIE'])=='') {
$codeCommune=$tabInsee['ADR_DEP'].sprintf("%03s",$tabInsee['ADR_COM']);
//echo $codeCommune.','.$tabInsee['ADR_TYPVOIE'].','.$tabInsee['ADR_LIBVOIE'].EOL;
$tabInsee['CODEVOIE']=$this->getCodeVoieRivoli($codeCommune, $tabInsee['ADR_TYPVOIE'], $tabInsee['ADR_LIBVOIE']);
//echo $tabInsee['CODEVOIE'].EOL;
}
} else { } else {
// Siren absent de l'Insee // Siren absent de l'Insee
$tabInsee = array( $tabInsee = array(
@ -2730,6 +2735,41 @@ class MInsee
'APRM'=>$tabInsee['APRM'], 'APRM'=>$tabInsee['APRM'],
'APRM_Lib'=>$this->getLibelleNafa($tabInsee['APRM']), 'APRM_Lib'=>$this->getLibelleNafa($tabInsee['APRM']),
'AutreSiret'=>$tabAssoc, 'AutreSiret'=>$tabAssoc,
'L1_NOMEN'=>$tabInsee['insL1_NOMEN'], // Nom ou raison sociale de l'entreprise pour l'adressage
'L2_COMP'=> $tabInsee['insL2_COMP'], // Complément de nom de l'entreprise pour l'adressage
'L3_CADR'=> $tabInsee['insL3_CADR'], // Complément d'adresse pour l.adressage
'L4_VOIE'=> $tabInsee['insL4_VOIE'], // Numéro et libellé dans la voie
'L5_DISP'=> $tabInsee['insL5_DISP'], // Distribution spéciale
'L6_POST'=> $tabInsee['insL6_POST'], // Ligne d'acheminement postal pour l'adressage
'L7_ETRG'=> $tabInsee['insL7_ETRG'], // Libellé du pays pour les adresses à l'étranger
'IND_PUBLIPO'=> $tabInsee['insIND_PUBLIPO'], // Indicateur du champ de publipostage
'dateMajRNVP'=>$tabInsee['dateMajRNVP'],
'RNVP_Niveau'=>0,
'RPET'=> $tabInsee['RPET'], //
'ARRONET'=> $tabInsee['ARRONET'], //
'CTONET'=> $tabInsee['CTONET'], //
'DU'=> $tabInsee['DU'], //
'TU'=> $tabInsee['TU'], //
'UU'=> $tabInsee['UU'], //
'TCD'=> $tabInsee['TCD'], //
'ZEMET'=> $tabInsee['ZEMET'], //
'ESAANN'=> $tabInsee['ESAANN'], //
'ESAAPEN'=> $tabInsee['ESAAPEN'], //
'DREACTET'=> $tabInsee['DREACTET'], //
'AMINTRET'=> $tabInsee['AMINTRET'], //
'DREACTEN'=> $tabInsee['DREACTEN'], //
'AMINTREN'=> $tabInsee['AMINTREN'], //
'CATEGORIE'=> $tabInsee['insCATEGORIE'], // Catégorie d'entreprise
'NOMEN_LONG'=> $tabInsee['NOMEN_LONG'], // Nom ou raison sociale de l'entreprise
'PRODET'=> $tabInsee['PRODET'],
'PRODEN'=> $tabInsee['PRODEN'],
'NATETAB'=> $tabInsee['NATETAB'],
'CEDEX'=> $tabInsee['CEDEX'],
'EPCI'=> $tabInsee['EPCI'],
// MODET, // MODET,
); );
@ -2940,6 +2980,8 @@ class MInsee
if ($tmp[0]['insCIVILITE']==1) $tabRet['dir1Genre']='M'; if ($tmp[0]['insCIVILITE']==1) $tabRet['dir1Genre']='M';
elseif ($tmp[0]['insCIVILITE']==2) $tabRet['dir1Genre']='F'; elseif ($tmp[0]['insCIVILITE']==2) $tabRet['dir1Genre']='F';
else $tabRet['dir1Genre']=''; else $tabRet['dir1Genre']='';
$entrep['sexe']=$tabRet['dir1Genre'];
unset($tmp); unset($tmp);
} }
@ -5635,6 +5677,16 @@ class MInsee
insEAEAPET, insEAESEC1T, insEAESEC2T, insEAEANN, insEAEAPEN, insEAESEC1N, insEAESEC2N, insEAESEC3N, insEAEAPET, insEAESEC1T, insEAESEC2T, insEAEANN, insEAEAPEN, insEAESEC1N, insEAESEC2N, insEAESEC3N,
insEAESEC4N, dateNotice', insEAESEC4N, dateNotice',
"insSIREN=$siren AND insNIC=$nic ORDER BY dateNotice DESC LIMIT 0,1", false, MYSQL_ASSOC); "insSIREN=$siren AND insNIC=$nic ORDER BY dateNotice DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($tabTmp)==0)
$tabTmp=$this->iDb->select('insee.insee_even',
"insSIREN, insNIC, insL4_VOIE, insL6_POST, insRPET, insDEPCOMEN, insRPEN, insARRONET, insCTONET, insTCD,
insZEMET, insDU, insTU, insUU, insAMINTRET, insAMINTREN, insVMAJ, insVMAJ1, insVMAJ2, insVMAJ3,
'' AS insRECME, '' AS insEAEANT, '' AS insEAEAPET, '' AS insEAESEC1T, '' AS insEAESEC2T,
insESAANN AS insEAEANN, insESAPEN AS insEAEAPEN, insESASEC1N AS insEAESEC1N, insESASEC2N AS insEAESEC2N,
insESASEC3N AS insEAESEC3N, insESASEC4N AS insEAESEC4N, dateInsert AS dateNotice",
"insSIREN=$siren AND insNIC=$nic ORDER BY dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
return $tabTmp[0]; return $tabTmp[0];
} }
@ -6480,6 +6532,34 @@ class MInsee
return 0; return 0;
} }
/**
*
* @param unknown $codeCommune
* @param unknown $adrTypVoie
* @param unknown $adrLibVoie
* @return string|Ambigous <string, multitype:>
*/
public function getCodeVoieRivoli($codeCommune, $adrTypVoie, $adrLibVoie)
{
$codeVoie='';
$adrLibVoie2=addslashes($adrLibVoie);
$tDeb=microtime(1);
$ret=$this->iDb->select('insee.fantoirVoi', "codComInsee, idVoieCom, cleRivoli, voieNature, voieLib, 1 AS score",
"codComInsee='$codeCommune' AND voieNature='$adrTypVoie' AND voieLib='$adrLibVoie2'",false, MYSQL_ASSOC);
$nbRet = count($ret);
if ($nbRet == 0) {
return ''; //'Aucune correspondance Rivoli'.EOL;
} else {
foreach($ret as $i=>$iRet) {
if ($iRet['voieNature'] == $adrTypVoie && $iRet['voieLib'] == $adrLibVoie) {
$codeVoie=$iRet['idVoieCom'];
break;
}
}
}
return $codeVoie;
}
/** /**
* Information de l'événement précédent associé * Information de l'événement précédent associé
* @param string $siren * @param string $siren

View File

@ -293,6 +293,225 @@ class MAmabis
fclose($fp); fclose($fp);
} }
/**
* @todo Corriger les adresses présentes dans CEDEXA (toutes les lignes)
* @todo Ligne 3, acheter HEXALIGNE3
*/
function normaliseAdresse($adrL1, $adrL2, $adrL3, $adrL4, $adrL5, $adrL6, $adrL7='', $norme=38) {
if ($norme<>32 && $norme<>38) {
return 'La norme doit être 32 ou 38 caractères (38 par défaut)'.EOL;
}
$iInsee=new MInsee();
$iDb=new WDB('villes');
$adrL=array();
$adrL[1]=$adrL1=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL1)))));
$adrL[2]=$adrL2=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL2)))));
$adrL[3]=$adrL3=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL3)))));
$adrL[4]=$adrL4=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL4)))));
$adrL[5]=$adrL5=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL5)))));
$adrL[6]=$adrL6=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL6)))));
$adrL[7]=$adrL7=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL7)))));
if ($adrL7<>'' || $adrL7<>'FRANCE' || $adrL7<>'MONACO')
$tabLen=$tabMaxLen=array();
$tabLen[1]=strlen($adrL1); if ($tabLen[1]>$norme) $tabMaxLen[]=1;
$tabLen[2]=strlen($adrL2); if ($tabLen[2]>$norme) $tabMaxLen[]=2;
$tabLen[3]=strlen($adrL3); if ($tabLen[3]>$norme) $tabMaxLen[]=3;
$tabLen[4]=strlen($adrL4); if ($tabLen[4]>$norme) $tabMaxLen[]=4;
$tabLen[5]=strlen($adrL5); if ($tabLen[5]>$norme) $tabMaxLen[]=5;
$tabLen[6]=strlen($adrL6); if ($tabLen[6]>$norme) $tabMaxLen[]=6;
$tabLen[7]=strlen($adrL7); if ($tabLen[7]>$norme) $tabMaxLen[]=7;
if (count($tabMaxLen)>0) {
//print_r($tabLen);
foreach($tabMaxLen as $j) {
echo "La ligne n°$j fait ".$tabLen[$j]." caractères : '".$adrL[$j]."'".EOL;
}
if ($j>1) die("Une des lignes fait plus de $norme caractères !".EOL);
return "Une des lignes fait plus de $norme caractères !".EOL;
}
$L1=$adrL1;
$L2=$adrL2;
// Ligne 3, acheter HEXALIGNE3
$L3=$adrL3;
// Ligne 5 et 7 par défaut
$L7=$adrL7;
$L5=$adrL5;
// Ligne 6 : CP + Localité
$idAdr56=false;
$tabAdr56k=$tabAdr56L=array();
$cp=substr(trim($adrL6),0,5);
$cp2=substr($cp,0,2);
$ville=trim(strtr(substr($adrL6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
$ret=$iDb->select( 'hexaviaVilles',
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) AS score",
"(MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) OR MATCH (codePostal, libCom38) AGAINST ('$cp2 $ville' IN NATURAL LANGUAGE MODE)) /*OR codePostal='$cp' AND libCom$norme='$ville'*/",false, MYSQL_ASSOC);
$nbRet=count($ret);
if ($nbRet==0) return 'Aucune correspondance CP VILLE'.EOL;
else {
foreach($ret as $i=>$iRet) {
//echo "je compare '$cp' avec '".$iRet['codePostal']."' et '$ville' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].")".EOL;
if (($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2) && ($iRet["libCom$norme"]==$ville || preg_replace('/ 0/', ' ',$iRet["libCom$norme"])==$ville) || (strpos($iRet["libCom$norme"],$ville)>0 && $nbRet==1)) {
$idAdr56=$iRet['idAdr56'];
$dateMajHexavia=$iRet["dateMaj$norme"];
$hexaViaComCod=$iRet['codeInseeCom'];
$hexaViaComLib=$iRet["libCom$norme"];
$hexaViaCP=$iRet['codePostal'];
$L5=$iRet["libLigne5n$norme"];
$L6=$iRet['codePostal'].' '.$iRet["libLigne6n$norme"];
$L7='';
$tabAdr56k[]=$idAdr56;
$tabAdr56L['_'.$idAdr56]=array('L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
//break;
}
}
if (!$idAdr56) {
//print_r($ret);
//die('Plusieurs correspondances CP VILLE'.EOL);
return 'Plusieurs correspondances CP VILLE'.EOL;
}
}
/*if (count($ret)>1) {
print_r($ret);
die('Plusieurs correspondances CP VILLE'.EOL);
return 'Plusieurs correspondances CP VILLE'.EOL;
}
elseif (count($ret)==1) {
$ret=$ret[0];
$idAdr56=$ret['idAdr56'];
$L5=$ret["libLigne5n$norme"];
$L6=$ret['codePostal'].' '.$ret["libLigne6n$norme"];
$L7='';
}*/
// Ligne 4 :
$matriculeHexavia=false;
if(preg_match('/(^(\d{0,4})\s?([a-z]{0,1}))\s(.*)$/i', $adrL4, $matches)) {
$numVoieRep=$matches[1];
$numVoie=$matches[2];
$indRep=$matches[3];
$libVoie=$matches[4];
$libVoie5=substr($libVoie,0,5);
$tabAdr=$iInsee->structureVoie($libVoie);
$typeVoie=@$tabAdr['typeVoie'];
preg_match('/([a-z\d]{1,20})$/i', $libVoie, $matches2);
$derMot=$matches2[1];
$derMot5=substr($derMot,0,5);
//print_r($matches);
//die($derMot);
//foreach($tabAdr56 as $k=>$tabAdr56) //=array('idAdr56'=>$idAdr56,'L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
$strAdr56=implode("','", $tabAdr56k);
$ret=$iDb->select( 'hexaviaVoies',
"idAdr56, codeVoie, derElemVoie, libVoie$norme, typeVoie, descLibVoie, indStand$norme, indScind, indHomo, codePostal, codeRoudis, codeMaj$norme, dateMaj$norme
numImpMin, numImpMinExt, numImpMax, numImpMaxExt, numPairMin, numPairMinExt, numPairMax, numPairMaxExt, MATCH (libVoie38) AGAINST ('$libVoie' IN NATURAL LANGUAGE MODE) AS score",
// "idAdr56='$idAdr56' AND (MATCH (libVoie38) AGAINST ('$libVoie' IN NATURAL LANGUAGE MODE) OR libVoie38 LIKE '$libVoie5%' OR derElemVoie LIKE '$libVoie5%')/*AND typeVoie='$typeVoie' AND derElemVoie='$derMot'*/",false, MYSQL_ASSOC);
"idAdr56 IN ('$strAdr56') AND (MATCH (libVoie38) AGAINST ('$libVoie' IN NATURAL LANGUAGE MODE) OR libVoie38 LIKE '$libVoie5%' OR derElemVoie LIKE '$libVoie5%')/*AND typeVoie='$typeVoie' AND derElemVoie='$derMot'*/",false, MYSQL_ASSOC);
$nbRet=count($ret);
if ($nbRet==0) {
// Vérifier si la commune à des voies normées 98816
$ret=$iDb->select( 'hexaviaVoies', "codeVoie", "idAdr56 IN('$strAdr56')",false, MYSQL_ASSOC);
$nbVoiesCom=count($ret);
if (count($ret)==0) {
return "Aucune Voie recensée dans cette commune ('$strAdr56') !".EOL;
}
return "Aucune correspondance Voie pour '$adrL4', '$libVoie' ($nbVoiesCom voies dans la commune #$idAdr56)".EOL;
}
else {
foreach($ret as $i=>$iRet) {
//echo "je compare '$libVoie' avec '".$iRet["libVoie$norme"]."'".EOL;
if ($iRet["libVoie$norme"]==$libVoie || $iRet['derElemVoie']==$derMot || /*substr($iRet["libVoie$norme"],0,5)==$libVoie5 || */substr($iRet['derElemVoie'],0,5)==$derMot5) {
$tabAdr=$iInsee->structureVoie($libVoie);
if ($tabAdr['typeVoie']<>$iRet['typeVoie'] && $nbRet>1) continue;
$idAdr56=$iRet['idAdr56'];
$L4=preg_replace('/\s+/', ' ', trim($numVoie.' '.$indRep.' '.$iRet["libVoie$norme"]));
$L4=preg_replace('/^0+/','',$L4);
$hexaViaVoie=$iRet["libVoie$norme"];
if (strlen($L4)>$norme) return "Taille de la ligne 4 générée en sortie plus longue que $norme !".EOL;
$matriculeHexavia=$iRet['codeVoie'];
$codeRoudis=$iRet['codeRoudis'];
$L5=$tabAdr56L['_'.$idAdr56]['L5'];
$L6=$tabAdr56L['_'.$idAdr56]['L6'];
$L7=$tabAdr56L['_'.$idAdr56]['L7'];
break;
}
}
if (!$matriculeHexavia) {
//print_r($ret);
// die("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".EOL);
return 'Plusieurs correspondances Voies'.EOL;
}
}
}
/*
if (count($ret)==0) {
// Vérifier si la commune à des voies normées 98816
$ret=$iDb->select( 'hexaviaVoies', "codeVoie", "idAdr56='$idAdr56'",false, MYSQL_ASSOC);
if (count($ret)==0) {
return 'Aucune Voie recensée dans cette commune !'.EOL;
}
return 'Aucune correspondance Voie'.EOL;
}
elseif (count($ret)>1) {
print_r($ret);
$tabAdr=$iInsee->structureVoie($libVoie);
print_r($tabAdr);
return 'Plusieurs correspondances Voies'.EOL;
}
elseif (count($ret)==1) {
$ret=$ret[0];
$L4=preg_replace('/\s+/', ' ', trim($numVoie.' '.$indRep.' '.$ret["libVoie$norme"]));
if (strlen($L4)>$norme) return "Taille de la ligne 4 générée en sortie plus longue que $norme !".EOL;
$matriculeHexavia=$ret['codeVoie'];
$codeRoudis=$ret['codeRoudis'];
}
}
*/
$tabAdr=array(
'L1'=>$L1,
'L2'=>$L2,
'L3'=>$L3,
'L4'=>$L4,
'L5'=>$L5,
'L6'=>$L6,
'L7'=>$L7,
'HexaviaDateRef'=>$dateMajHexavia,
'HexaviaComCod'=>$hexaViaComCod,
'HexaviaComLib'=>$hexaViaComLib,
'HexaviaCP'=>$hexaViaCP,
'HexaVia56'=>$idAdr56,
'HexaViaVoie'=>$hexaViaVoie,
'HexaViaMat'=>$matriculeHexavia,
'RoudisId'=>$codeRoudis);
return $tabAdr;
/*
if ($adresseNum=='' && $adresseBtq=='' && $adresseVoie=='' && $adresseRue=='' && $cp=='' && $ville=='')
return false;
$tabAdr=$this->structureVoie($adresseNum.' '.$adresseBtq.' '.$adresseVoie.' '.$adresseRue);
$num=$tabAdr['num']*1;
if ($num==0) return false;
$indRep=trim($tabAdr['indRep']);
$typeVoie=trim($tabAdr['typeVoie']);
$libVoie=trim(substr($tabAdr['libVoie'],-5));
$strAdrActive='';
if ($active) {
$strAdrActive.=" AND (enActif=1 OR etActif=1) AND nbEntrep>30 AND pasEntrepDom=0 AND siren>1000 ";
}
$tabTmp=$this->iDb->select('tabAdrDom',
'id, siren, nic, enActif, etActif, procol, nom, nom2, sigle, enseigne, adrNum, adrBtq, adrTypVoie, adrLibVoie, ville, cp, adrComp, adrDistSp, cj, apen, apet, nbEntrep, dateInsert, dateUpdate',
"adrNum=$num AND adrBtq='$indRep' AND adrTypVoie LIKE '%$typeVoie%' AND adrLibVoie LIKE '%$libVoie%' AND cp=$cp $strAdrActive GROUP BY siren ORDER BY enActif DESC, nbEntrep DESC", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
return $tabTmp;
}
*/
return false;
}
} }
?> ?>

View File

@ -3694,6 +3694,8 @@ function getListeActes($siren) {
'mode_diffusion' => implode(',',$tabVecteurs), 'mode_diffusion' => implode(',',$tabVecteurs),
'decision_nature' => utf8_decode($acte_nature), 'decision_nature' => utf8_decode($acte_nature),
'decision_libelle' => utf8_decode($acte_decision), 'decision_libelle' => utf8_decode($acte_decision),
'actif' => 1,
'dateInsert' => date('YmdHis'),
); );
@$iDb->insert('greffes_actes', $tabInsert); @$iDb->insert('greffes_actes', $tabInsert);
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::Debug getListeActes($siren)", print_r($tabInsert,true).mysql_error()) ; //@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes::Debug getListeActes($siren)", print_r($tabInsert,true).mysql_error()) ;

View File

@ -287,6 +287,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
if (preg_match('/<div><p style="color\:red;"><strong>(.*)<\/strong><\/p>/Uis', $body, $matches)) if (preg_match('/<div><p style="color\:red;"><strong>(.*)<\/strong><\/p>/Uis', $body, $matches))
$tabMarque['infoMarque']=trim(utf8_decode($matches[1])); $tabMarque['infoMarque']=trim(utf8_decode($matches[1]));
if (preg_match('/<strong>Date de dépôt \/ Enregistrement<\/strong>(.*)<\/p>/Uis', $body, $matches))
$tabMarque['dateDepot']=trim(utf8_decode(strtr($matches[1],array(' '=>' ',':'=>' '))));
if (preg_match("/<div class=\"images\"><p><u><strong>(.*)<\/strong><\/u><\/p><img src='Typo3_INPI_Marques\/getImg\?doc=(.*)' alt='(.*)' class='null'\/><\/div>/Uis", $body, $matches)) { if (preg_match("/<div class=\"images\"><p><u><strong>(.*)<\/strong><\/u><\/p><img src='Typo3_INPI_Marques\/getImg\?doc=(.*)' alt='(.*)' class='null'\/><\/div>/Uis", $body, $matches)) {
$tabMarque['periMarque']=trim(utf8_decode($matches[1])); $tabMarque['periMarque']=trim(utf8_decode($matches[1]));
$tabMarque['idObjetImg']=trim($matches[2]); $tabMarque['idObjetImg']=trim($matches[2]);
@ -298,13 +301,40 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
if ($page['code']==200) { if ($page['code']==200) {
$ext=trim('.'.strtr(preg_replace('/^image\//','',preg_replace('/;.*/','',$page['header']['Content-Type'])),array('?'=>''))); $ext=trim('.'.strtr(preg_replace('/^image\//','',preg_replace('/;.*/','',$page['header']['Content-Type'])),array('?'=>'')));
//die("'".DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext."'"); //die("'".DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext."'");
$fp=@fopen(DOC_WEB_LOCAL.'marques/'.$tabMarque['numeroMarque'].$ext, 'a'); // Gestion des dossiers
$annee=substr($tabMarque['dateDepot'],0,4);
$dateDepotYMD=str_replace('-','',$tabMarque['dateDepot']);
$dossierCible=DOC_WEB_LOCAL."marques/$annee/$dateDepotYMD/";
@mkdir(DOC_WEB_LOCAL."marques/$annee");
@mkdir($dossierCible);
// Gestion de l'image
$fp=@fopen($dossierCible.$tabMarque['numeroMarque'].$ext, 'a');
/* echo $dossierCible.$tabMarque['numeroMarque'].$ext;
echo "\t".filesize($dossierCible.$tabMarque['numeroMarque'].$ext).' octets';*/
@fwrite($fp, $page['body']); @fwrite($fp, $page['body']);
@fclose($fp); @fclose($fp);
} $tabMarque['fileName']=$tabMarque['numeroMarque'].$ext;
//die();
if ($tabMarque['nomMarque']=='' || $tabMarque['nomMarque']=='&nbsp;')
$tabMarque['typeMarque']='Figurative';
else
$tabMarque['typeMarque']='Semi-Figurative';
/*
Une marque verbale
composée d'un ou plusieurs termes qui peuvent s'écrire ou se prononcer,
c'est à dire par exemple un nom de naissance ou patronymique (par exemple : Guy Degrenne), une dénomination arbitraire créée de toutes pièces (par exemple : Yoplait) , un mot détourné de son sens, un slogan (par exemple : Parce que vous le valez bien)
Une marque semi-figurative
marque associant un terme verbal et un visuel.
Elle peut également être qualifiée de marque complexe.
Une marque figurative
marque composée uniquement d’un visuel, c’est à dire un signe qui ne s'adresse qu’à l’œil (par exemple : le crocodile Lacoste)
*/
} }
} }
} else
$tabMarque['typeMarque']='Verbale';
if (preg_match('/<p><strong>Produits et services<\/strong><\/p>(.*)<\/ul><\/p>/Uis', $body, $matches)) { if (preg_match('/<p><strong>Produits et services<\/strong><\/p>(.*)<\/ul><\/p>/Uis', $body, $matches)) {
$tabClasses=array(); $tabClasses=array();
@ -400,8 +430,17 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
//die(); //die();
$ret=$this->iDb->insert('marques', $tabInsert); $ret=$this->iDb->insert('marques', $tabInsert);
if (!$ret && mysql_errno()<>1062) { if (!$ret && mysql_errno()<>1062) {
echo "Erreur 'marques' : ".mysql_error().EOL; //echo "Erreur INSERT 'marques' : ".mysql_error().EOL;
die(); //die();
} elseif (mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
if (!$this->iDb->update('marques', $tabInsert, "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false)) {
//echo "Erreur UPDATE 'marques' : ".mysql_error().EOL;
//die();
}
$ret=$this->iDb->select('marques', 'id', "numeroMarque='".$tabMarque['numeroMarque']."' AND rayonMarque='".$tabMarque['rayonMarque']."'", false, MYSQL_ASSOC);
$ret=$ret[0]['id'];
$updateTodo=true;
} }
// Insertion du détail des classes // Insertion du détail des classes
@ -418,6 +457,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
print_r($tabInsert); print_r($tabInsert);
print_r($tabMarque['classes']); print_r($tabMarque['classes']);
die("Erreur 'marques_classes' : ".mysql_error().EOL); die("Erreur 'marques_classes' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
} }
} }
@ -435,6 +477,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
print_r($tabInsert); print_r($tabInsert);
print_r($tabMarque['pays']); print_r($tabMarque['pays']);
die("Erreur 'marques_pays' : ".mysql_error().EOL); die("Erreur 'marques_pays' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('marques_pays', $tabInsert, "id=$ret AND id2=$i", false);
} }
} }
@ -452,6 +497,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
print_r($tabInsert); print_r($tabInsert);
print_r($tabMarque['priorite']); print_r($tabMarque['priorite']);
die("Erreur 'marques_priorite' : ".mysql_error().EOL); die("Erreur 'marques_priorite' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('marques_priorite', $tabInsert, "id=$ret AND id2=$i", false);
} }
} }
@ -467,6 +515,9 @@ une erreur sur cette notice">Signalez une erreur sur cette notice</a></p>
print_r($tabInsert); print_r($tabInsert);
print_r($tabMarque['historique']); print_r($tabMarque['historique']);
die("Erreur 'marques_histo' : ".mysql_error().EOL); die("Erreur 'marques_histo' : ".mysql_error().EOL);
} elseif ($updateTodo && mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$this->iDb->update('marques_classes', $tabInsert, "id=$ret AND id2=$i", false);
} }
} }

View File

@ -2001,7 +2001,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$numBil = $i = 0; $numBil = $i = 0;
foreach ($tabBilan as $item) foreach ($tabBilan as $item)
{ {
$i++;
if ($item['CONSOLIDE']=='S') if ($item['CONSOLIDE']=='S')
{ {
$tabTmp=$mBil->bilanSimplifie2Normal($item); $tabTmp=$mBil->bilanSimplifie2Normal($item);
@ -2194,6 +2193,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
elseif ($noteSolvabilite==$noteSolvabilitePre) $tendance='Stable'; elseif ($noteSolvabilite==$noteSolvabilitePre) $tendance='Stable';
else $tendance='Baissière'; else $tendance='Baissière';
} }
$i++;
} }
// Cas de présence unique de bilan Banque ou Assurance qui ne sont pas géré financièrement // Cas de présence unique de bilan Banque ou Assurance qui ne sont pas géré financièrement