Fix issue : récupération du bilan
This commit is contained in:
parent
a3372d2dd3
commit
49969bf6e2
@ -426,7 +426,8 @@ class Metier_Partenaires_MBilans
|
||||
}
|
||||
|
||||
$classWDate = new WDate();
|
||||
$millesimeDB = $classWDate->dateT('d/m/Y', 'Ymd', $millesime);
|
||||
$clotureDate = new Zend_Date($millesime, 'dd/MM/yyyy');
|
||||
$clotureDateSql = $clotureDate->toString('yyyyMMdd');
|
||||
if ($accesPartenaire) {
|
||||
// On ne veut pas de bilans "Téléchargés" directement sur Internet
|
||||
$strSansBilansWeb=' AND partenaire<>7 ';
|
||||
@ -438,7 +439,7 @@ class Metier_Partenaires_MBilans
|
||||
|
||||
$ret = $this->iDb->select('jo.bilans',
|
||||
'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert',
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB' $strSansBilansWeb", false, MYSQL_ASSOC);
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$clotureDateSql' $strSansBilansWeb", false, MYSQL_ASSOC);
|
||||
|
||||
if ( $accesPartenaire ) {
|
||||
$iGreffe = new Metier_Partenaires_MGreffes($this->iDb);
|
||||
@ -480,10 +481,12 @@ class Metier_Partenaires_MBilans
|
||||
'partenaire' => $tabBilan['SOURCE'],
|
||||
);
|
||||
if (!$this->iDb->insert('jo.bilans', $tabInsert, true)) {
|
||||
$this->iDb->update('jo.bilans', $tabInsert, "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB'");
|
||||
$this->iDb->update('jo.bilans', $tabInsert, "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$clotureDateSql'");
|
||||
}
|
||||
|
||||
$ret = $this->iDb->select('jo.bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$millesimeDB'", true);
|
||||
$ret = $this->iDb->select('jo.bilans',
|
||||
'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert',
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$clotureDateSql'", true);
|
||||
if (count($ret) > 0) {
|
||||
$bilan = $ret[0];
|
||||
}
|
||||
@ -491,14 +494,14 @@ class Metier_Partenaires_MBilans
|
||||
}
|
||||
}
|
||||
|
||||
// --- Selection du premier bilan
|
||||
if (count($ret) > 0) {
|
||||
$bilan = $ret[0];
|
||||
}
|
||||
|
||||
$tabBilan = $tabBilanPre = $bilanPre = array();
|
||||
|
||||
if ($bilan !== null)
|
||||
{
|
||||
if ($bilan !== null) {
|
||||
$tabBilan['SIREN'] = $this->siren;
|
||||
$tabBilan['DATE_FRAICHE_BILAN'] = $bilan['dateProvPartenaire']; // SSAAMMJJ
|
||||
$tabBilan['DATE_CLOTURE'] = $bilan['dateExercice']; // SSAAMMJJ
|
||||
@ -514,7 +517,7 @@ class Metier_Partenaires_MBilans
|
||||
$tabBilan['DATE_BILAN_SD'] = $bilan['dateInsert'];
|
||||
$tabBilan['TOP_CONFIDENTIEL'] = $bilan['confidentiel'];
|
||||
|
||||
// Devise et Unité
|
||||
// --- Devise et Unité
|
||||
if ($bilan['monnaie']=='EUR') $monnaie='€'; else $monnaie=$bilan['monnaie'];
|
||||
switch (strtoupper($bilan['unite'])) {
|
||||
case 'K': $unite='K'; break;
|
||||
@ -550,8 +553,7 @@ class Metier_Partenaires_MBilans
|
||||
}
|
||||
|
||||
/** Calcul des valeures NET si l'information est absente en base **/
|
||||
if ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C')
|
||||
{
|
||||
if ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C') {
|
||||
if (!isset($tabBilan['AA2']) && isset($tabBilan['AA'])) $tabBilan['AA2']=$tabBilan['AA'];
|
||||
if (!isset($tabBilan['AC1']) && (isset($tabBilan['AB'])||isset($tabBilan['AC']))) $tabBilan['AC1']=$tabBilan['AB']-$tabBilan['AC'];
|
||||
if (!isset($tabBilan['AE1']) && (isset($tabBilan['AD'])||isset($tabBilan['AE']))) $tabBilan['AE1']=$tabBilan['AD']-$tabBilan['AE'];
|
||||
@ -592,8 +594,7 @@ class Metier_Partenaires_MBilans
|
||||
|
||||
if (!isset($tabBilan['1A1']) && (isset($tabBilan['CO'])||isset($tabBilan['1A']))) $tabBilan['1A1']=$tabBilan['CO']-$tabBilan['1A'];
|
||||
}
|
||||
elseif ($tabBilan['CONSOLIDE']=='S')
|
||||
{
|
||||
elseif ($tabBilan['CONSOLIDE']=='S') {
|
||||
//if (!isset($tabBilan['AC1']) && (isset($tabBilan['AB'])||isset($tabBilan['AC']))) $tabBilan['AC1']=$tabBilan['AB']-$tabBilan['AC'];
|
||||
if (!isset($tabBilan['013']) && (isset($tabBilan['010'])||isset($tabBilan['012']))) $tabBilan['013']=$tabBilan['010']-$tabBilan['012'];
|
||||
if (!isset($tabBilan['017']) && (isset($tabBilan['014'])||isset($tabBilan['016']))) $tabBilan['017']=$tabBilan['014']-$tabBilan['016'];
|
||||
@ -613,15 +614,22 @@ class Metier_Partenaires_MBilans
|
||||
if (!isset($tabBilan['113']) && (isset($tabBilan['110'])||isset($tabBilan['112']))) $tabBilan['113']=$tabBilan['110']-$tabBilan['112'];
|
||||
}
|
||||
|
||||
/** Y a t'il suffisament d'informations sur le bilan précédent **/
|
||||
// Bilan précédent existe ?
|
||||
if ( $bilan['dateExercicePre']*1==0 || $bilan['dureeExercicePre']*1==0
|
||||
|| ( ($tabBilan['FL1']*1==0 || $tabBilan['EE1']*1==0) && ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C') ) // Réel Normal ou Consolidé
|
||||
|| ( ($tabBilan['NA3']*1==0 || $tabBilan['NP3']*1==0) && ($tabBilan['CONSOLIDE']=='A' || $tabBilan['CONSOLIDE']=='B') ) // Banque ou Assurance
|
||||
|| ( ($tabBilan['N15']*1==0 || $tabBilan['N32']*1==0) && $tabBilan['CONSOLIDE']=='S' ) // Réel Simplifié
|
||||
) {
|
||||
|
||||
/** Il n'y a aucune information sur le bilan précédent **/
|
||||
$ret=$this->iDb->select('jo.bilans', 'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes', "siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice<'$millesimeDB' ORDER BY dateExercice DESC LIMIT 0,1", true);
|
||||
$cloturePreDate = $clotureDate->subMonth($bilan['dureeExercice']);
|
||||
$cloturePreDateSql = $cloturePreDate->toString('yyyyMMdd');
|
||||
|
||||
// --- Recherche des infos du bilan précédent
|
||||
$ret = $this->iDb->select('jo.bilans',
|
||||
'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes',
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$cloturePreDateSql' ORDER BY dateExercice DESC LIMIT 0,1", true);
|
||||
if (count($ret) > 0) {
|
||||
|
||||
$bilanPre=$ret[0];
|
||||
$tabBilan['DATE_CLOTURE_PRE'] = $bilanPre['dateExercice']; // SSAAMMJJ
|
||||
$tabBilan['DUREE_MOIS_PRE'] = $bilanPre['dureeExercice'];
|
||||
@ -645,11 +653,11 @@ class Metier_Partenaires_MBilans
|
||||
$tabTmp2=explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1])) {
|
||||
if ( ($unite=='K' || $unite=='M') && !in_array($tabTmp2[0], array(
|
||||
'YP', 'YP1', '376', // Effectifs 2033 et 2050
|
||||
'M2G', 'M2H', // Autres effectifs
|
||||
'ZK', 'ZK1', // Taux
|
||||
'IJ', 'JG', 'JH', 'JJ', 'ZR', // pour holding/ste mere
|
||||
'XP' // Numero de centre de gestion agréé
|
||||
'YP', 'YP1', '376', // Effectifs 2033 et 2050
|
||||
'M2G', 'M2H', // Autres effectifs
|
||||
'ZK', 'ZK1', // Taux
|
||||
'IJ', 'JG', 'JH', 'JJ', 'ZR', // pour holding/ste mere
|
||||
'XP' // Numero de centre de gestion agréé
|
||||
) ) ) {
|
||||
if ($unite=='K') {
|
||||
$tabBilanPre[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
@ -662,9 +670,8 @@ class Metier_Partenaires_MBilans
|
||||
}
|
||||
}
|
||||
|
||||
/** Calcul des valeures NET N-1 si l'information est absente du bilan N-1 en base **/
|
||||
if ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C')
|
||||
{
|
||||
// --- Calcul des valeures NET N-1 si l'information est absente du bilan N-1 en base
|
||||
if ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C') {
|
||||
if (!isset($tabBilanPre['AA2']) && isset($tabBilanPre['AA'])) $tabBilanPre['AA2']=$tabBilanPre['AA'];
|
||||
if (!isset($tabBilanPre['AC1']) && (isset($tabBilanPre['AB'])||isset($tabBilanPre['AC']))) $tabBilanPre['AC1']=$tabBilanPre['AB']-$tabBilanPre['AC'];
|
||||
if (!isset($tabBilanPre['AE1']) && (isset($tabBilanPre['AD'])||isset($tabBilanPre['AE']))) $tabBilanPre['AE1']=$tabBilanPre['AD']-$tabBilanPre['AE'];
|
||||
@ -852,10 +859,8 @@ class Metier_Partenaires_MBilans
|
||||
if (!isset($tabBilan['A21']) && isset($tabBilanPre['A2'])) $tabBilan['A21']=$tabBilanPre['A2'];
|
||||
if (!isset($tabBilan['A31']) && isset($tabBilanPre['A3'])) $tabBilan['A31']=$tabBilanPre['A3'];
|
||||
if (!isset($tabBilan['A41']) && isset($tabBilanPre['A4'])) $tabBilan['A41']=$tabBilanPre['A4'];
|
||||
|
||||
}
|
||||
elseif ($tabBilan['CONSOLIDE']=='S')
|
||||
{
|
||||
elseif ($tabBilan['CONSOLIDE']=='S') {
|
||||
// Calcul des chiffres net N-1 si absent 2033
|
||||
if (!isset($tabBilanPre['013']) && (isset($tabBilanPre['010']) || isset($tabBilanPre['012']))) $tabBilanPre['013']=$tabBilanPre['010']-$tabBilanPre['012'];
|
||||
if (!isset($tabBilanPre['017']) && (isset($tabBilanPre['014']) || isset($tabBilanPre['016']))) $tabBilanPre['017']=$tabBilanPre['014']-$tabBilanPre['016'];
|
||||
@ -938,8 +943,7 @@ class Metier_Partenaires_MBilans
|
||||
if (!isset($tabBilan['N58']) && isset($tabBilanPre['306'])) $tabBilan['N58']=$tabBilanPre['306'];
|
||||
if (!isset($tabBilan['N59']) && isset($tabBilanPre['310'])) $tabBilan['N59']=$tabBilanPre['310'];
|
||||
}
|
||||
elseif ($tabBilan['CONSOLIDE']=='A' || $tabBilan['CONSOLIDE']=='B')
|
||||
{
|
||||
elseif ($tabBilan['CONSOLIDE']=='A' || $tabBilan['CONSOLIDE']=='B') {
|
||||
// BANQUES
|
||||
if (!isset($tabBilan['NA1']) && isset($tabBilanPre['AA1'])) $tabBilan['NA1']=$tabBilanPre['AA1'];
|
||||
if (!isset($tabBilan['NA2']) && isset($tabBilanPre['AA2'])) $tabBilan['NA2']=$tabBilanPre['AA2'];
|
||||
@ -959,6 +963,7 @@ class Metier_Partenaires_MBilans
|
||||
// ASSURANCE
|
||||
if (!isset($tabBilan['NR4']) && isset($tabBilanPre['AR4'])) $tabBilan['AR4']=$tabBilanPre['AR4'];
|
||||
}
|
||||
} // --- Fin traitement bilan précédent
|
||||
}
|
||||
|
||||
//Put Result in memory
|
||||
|
Loading…
Reference in New Issue
Block a user