140 lines
3.3 KiB
PHP
140 lines
3.3 KiB
PHP
|
<?php
|
||
|
require_once 'WsScore/WsScore.php';
|
||
|
require_once realpath(dirname(__FILE__)).'/Types.php';
|
||
|
|
||
|
class Extraction extends WsScore
|
||
|
{
|
||
|
|
||
|
/*
|
||
|
Table SQL pour gérér la queue
|
||
|
=============================
|
||
|
Numéro de commande
|
||
|
reference
|
||
|
enteteIn
|
||
|
format json, xml, file
|
||
|
dataIn
|
||
|
enteteOut
|
||
|
isValid => 0
|
||
|
error
|
||
|
dateAdded
|
||
|
dateStart
|
||
|
nbLigne => nombre de ligne dans le fichier
|
||
|
nbLigneT => nombre de ligne traités
|
||
|
dateStop
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Enregistrement d'une commande avec ces paramètres
|
||
|
* @param InfoEntete[] $infoEntete
|
||
|
* Liste des colonnes qui seront fournis, il est nécessaire d'identifier la ou les colonnes clés SIREN/SIRET/NIC
|
||
|
* @param string[] $infoEnrichissement
|
||
|
* Liste des clés, dans l'ordre, provenant du dictionnaire pour la génération du fichier d'enrichissement
|
||
|
* @param string $data
|
||
|
* Tableau des données
|
||
|
* @param string $format
|
||
|
* Format du tableau de données json/
|
||
|
* @param string $reference
|
||
|
* @return string
|
||
|
*/
|
||
|
public function setCommande($infoEntete = null, $infoEnrichissement = null, $data = null, $format = 'json', $reference = '')
|
||
|
{
|
||
|
return $numCommande;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retourne les clés possibles et leurs libellés pour le fichier d'enrichissement
|
||
|
* @param string $categorie
|
||
|
* @param string $cle
|
||
|
* @return Dico[]
|
||
|
*/
|
||
|
public function getDataDico($categorie = null, $cle = null)
|
||
|
{
|
||
|
/*
|
||
|
Dictionnaire de données - getDataDico
|
||
|
=======================
|
||
|
Catégorie Clé Libellé Commentaires bdd.table
|
||
|
Identite siren Siren de l'entreprise
|
||
|
*/
|
||
|
$output = array();
|
||
|
$dico = new Dico();
|
||
|
|
||
|
return $output;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Validation préalable de la commande
|
||
|
* @param string $numCommande
|
||
|
* @param string $type algorithme, existe
|
||
|
* @param boolean $rejet Si true alors création d'un fichier uniquement des rejets
|
||
|
* @return string chaine vide ou chemin vers fichier de rejet
|
||
|
*/
|
||
|
public function getValidation($numCommande, $type = 'algorithme', $rejet = false)
|
||
|
{
|
||
|
/*
|
||
|
Validation SIREN/SIRET - getValidation
|
||
|
======================
|
||
|
Vérifier les SIREN/SIRET/SIREN+NIC
|
||
|
Numéro de commande
|
||
|
|
||
|
Validité suivant algorithme ? Présence dans la base (attention ressources) ?
|
||
|
|
||
|
enrichir le nic si vide (prendre le siege)
|
||
|
|
||
|
rejet = false/true
|
||
|
|
||
|
Renvoyer le fichier original avec les lignes en erreur
|
||
|
ou Renvoyer seulement les lignes en erreur
|
||
|
|
||
|
Seulement pour validation, alors on marque comme complete
|
||
|
|
||
|
|
||
|
|
||
|
Créer le fichier pour l'extraction et place le marqueur de démarrage
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retourne l'état de la commande à tout instant
|
||
|
* @param string $numCommande
|
||
|
* @return Etat
|
||
|
*/
|
||
|
public function getEtat($numCommande)
|
||
|
{
|
||
|
$etat = new Etat();
|
||
|
//Lecture de la base de données
|
||
|
|
||
|
|
||
|
|
||
|
return $etat;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Liste des commmandes
|
||
|
* @param CommandesCriteres $criteres
|
||
|
* @param integer $position
|
||
|
* @return ListeCommandes
|
||
|
*/
|
||
|
public function getCommandes($criteres, $position = 0)
|
||
|
{
|
||
|
/*
|
||
|
Liste des commandes
|
||
|
Toutes
|
||
|
Par numCommande
|
||
|
Par réference
|
||
|
Par date (intervalle)
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Enter description here ...
|
||
|
* @param string $numCommande
|
||
|
*/
|
||
|
public function getFichierEnrichit($numCommande)
|
||
|
{
|
||
|
/*
|
||
|
L'enrichissement est réalisé par l'intermédiaire d'une tache cron
|
||
|
Récuperer le fichier (chemin) par le numéro de commande
|
||
|
Retourne url ou erreur
|
||
|
*/
|
||
|
}
|
||
|
}
|