Ajout du service Extraction (structure)
This commit is contained in:
parent
e5f13726b0
commit
cb3493627e
@ -0,0 +1,3 @@
|
||||
[0.1]
|
||||
actif = true;
|
||||
defaut = true;
|
6
library/WsScore/Extraction/v0.1/Extraction.ini
Normal file
6
library/WsScore/Extraction/v0.1/Extraction.ini
Normal file
@ -0,0 +1,6 @@
|
||||
Type[] = "InfoEntete"
|
||||
Type[] = "Dico"
|
||||
Type[] = "Etat"
|
||||
Type[] = "ListeCommandes"
|
||||
Type[] = "Commande"
|
||||
Type[] = "CommandesCriteres"
|
140
library/WsScore/Extraction/v0.1/Extraction.php
Normal file
140
library/WsScore/Extraction/v0.1/Extraction.php
Normal file
@ -0,0 +1,140 @@
|
||||
<?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
|
||||
*/
|
||||
}
|
||||
}
|
152
library/WsScore/Extraction/v0.1/Types.php
Normal file
152
library/WsScore/Extraction/v0.1/Types.php
Normal file
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
class InfoEntete
|
||||
{
|
||||
/**
|
||||
* Nom de la colonne d'entete
|
||||
* @var string
|
||||
*/
|
||||
public $lib;
|
||||
|
||||
/**
|
||||
* Définir si la colonne est une clé
|
||||
* siren / siret / nic
|
||||
* @var string
|
||||
*/
|
||||
public $cle = null;
|
||||
}
|
||||
|
||||
class Dico
|
||||
{
|
||||
/**
|
||||
* Catégorie de la variable
|
||||
* @var string
|
||||
*/
|
||||
public $categorie;
|
||||
|
||||
/**
|
||||
* Clé de la variable
|
||||
* @var string
|
||||
*/
|
||||
public $cle;
|
||||
|
||||
/**
|
||||
* Libellé de la variable
|
||||
* @var string
|
||||
*/
|
||||
public $lib;
|
||||
}
|
||||
|
||||
|
||||
class Etat
|
||||
{
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var string
|
||||
*/
|
||||
public $numCommande;
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var boolean
|
||||
*/
|
||||
public $valid;
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var integer
|
||||
*/
|
||||
public $nbLigneTotal;
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var integer
|
||||
*/
|
||||
public $nbLigneTraite;
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var string
|
||||
*/
|
||||
public $dateAjout;
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var string
|
||||
*/
|
||||
public $dateStart;
|
||||
|
||||
/**
|
||||
* Enter description here ...
|
||||
* @var string
|
||||
*/
|
||||
public $dateStop;
|
||||
}
|
||||
|
||||
class CommandesCriteres
|
||||
{
|
||||
/**
|
||||
* Type de recherche : <br/>
|
||||
* - Numéro de commande : num
|
||||
* - Référence : ref
|
||||
* - Date : date
|
||||
* @var string
|
||||
*/
|
||||
public $searchType = '';
|
||||
|
||||
/**
|
||||
* Critères pour la recherche de commande
|
||||
* Par date AAAAMM ou AAAAMMJJ-AAAAMMJJ
|
||||
* @var string
|
||||
*/
|
||||
public $search = '';
|
||||
}
|
||||
|
||||
class ListeCommandes
|
||||
{
|
||||
/**
|
||||
* Liste des commandes
|
||||
* @var Commande[]
|
||||
*/
|
||||
public $list;
|
||||
|
||||
/**
|
||||
* Nombre de commandes retournées
|
||||
* @var integer
|
||||
*/
|
||||
public $nb;
|
||||
|
||||
/**
|
||||
* Nombre total de commandes
|
||||
* @var integer
|
||||
*/
|
||||
public $nbTotal;
|
||||
}
|
||||
|
||||
class Commande
|
||||
{
|
||||
/**
|
||||
* Numéro de commande
|
||||
* @var string
|
||||
*/
|
||||
public $numCommande;
|
||||
|
||||
/**
|
||||
* Référence spécifié lors de la commande
|
||||
* @var string
|
||||
*/
|
||||
public $reference;
|
||||
|
||||
/**
|
||||
* Date de la commande
|
||||
* @var string
|
||||
*/
|
||||
public $date;
|
||||
|
||||
/**
|
||||
* Etat de la commande : Invalide, En attente, En cours, En erreur, Terminé
|
||||
* @var string
|
||||
*/
|
||||
public $etat;
|
||||
}
|
||||
|
||||
|
@ -8,3 +8,7 @@ idClient = 1;
|
||||
[gestion]
|
||||
actif = true;
|
||||
idClient = 1;
|
||||
|
||||
[extraction]
|
||||
actif = true;
|
||||
idClient = 1;
|
Loading…
x
Reference in New Issue
Block a user