#!/bin/bash
#
#	IMPORT ART TASIAUX VERS PRESTASHOP
#	==================================
#
#	ATTENTION: Pour import des article par API
#		   voir addart.php
#
#	 Titre des colonnes: voir import exemple dans PS
#
#	Pour l'import dans PS:
#
#           - Type import: produits..
#           - Reprendre le(s) fichier(s) dans "Historique".
#             Ne pas utiliser la recherche de fichier.
#           - Cocher "ISO-8859-1"
#           - Forcer identifiant (oui si on ne veut pas
#             auto-increment mais utiliser les ID du csv).
#           - Sauivant ... (ne pas passer 1 ligne car
#             pas de titre des colonnes).
#           - Apres import -> Pref - Rech -> re-index.

FIL="xxx.csv"
EXP="/var/www/html/cyber-relais/html/gestion/import"

clear
echo ""
echo "EXPORTATION ARTICLES GICA VERS PRESTASHOP"
echo "========================================="
echo ""
echo ""

#
# Effacer ancienne importation.
#

if test -d "$EXP"
then
  LST=`find $EXP -name "*.csv" | wc -l`
  if test "$LST" != "0"
  then
    DIR=`pwd`
    cd $EXP
    echo "Liste des fichiers dans zone import:"
    echo ""
    N=0
    for f in *.csv
    do
      echo -e "$f\t\c";
      N=`expr $N + 1`
      if test $N = "4" 
      then
	echo ""
	N=0
      fi
    done
    echo ""
    echo ""
    echo -e "<ENTER> pour effacer: \c"
    read reply
    rm -f *.csv
    cd $DIR
  fi
else 
  echo ""
  echo "No dir $EXP."
  echo ""
  exit
fi 

echo ""
echo "Traitement ..."

query="select a.cod,a.pve,a.pad,a.dis,p.cod,p.cid,p.mid,p.nom,p.ref,p.res,p.des,p.img"
query="$query from art as a, artps as p "
query="$query where a.cod=p.cod and p.pid>' ' and not (a.sta='F' or a.sta='S') order by p.pid"
#query="$query LIMIT 1";

mysql -h 10.1.3.41 --password=euro81 tasiaux -e "$query" > /tmp/xx$$.csv 2>/dev/null
cat /tmp/xx$$.csv | sed -e 's/;/\//g' | sed -e 's/"//g' |  awk -F '\t' '
BEGIN {

  # ID du premier produit injecte.
  idp=100000;

  nbc=9;
  # Colonnes du csv
  z[0]="%d";		# ID produit
  z[1]="1";		# Actif
  z[2]="%s";		# Nom ($8)
  z[3]="%d";		# Categorie ($6)
  z[4]="%.2f";		# Prix vente HTVA ($2)
  z[5]="1";		# Code taxe (1=21%).
  z[6]="%.2f";		# P.Achat ($3)
  z[7]="0";		# Solde
  z[8]="0";		# Remise
  z[9]="0";		# Reduction
  z[10]="";		# Debut solde
  z[11]="";		# Fin solde
  z[12]="%s";		# reference ($1)
  z[13]="%s";		# Ref fournisseur ($9).
  z[14]="";		# Fournisseur.
  z[15]="";		# Fabriquant (marque)
  z[16]="";		# EAN13
  z[17]="";		# UPC
  z[18]="";		# Eco taxe
  z[19]="0";		# Largeur
  z[20]="0";		# Hauteur
  z[21]="0";		# Profondeur
  z[22]="0";		# poids
  z[23]="%d";		# Stock ($4)
  z[24]="0";		# Sto mini
  z[25]="";		# Visibilite
  z[26]="";		# Frais port
  z[27]="";		# Unite
  z[28]="";		# Prix unitaire
  z[29]="%s";		# Resume ($10)
  z[30]="%s";		# Description ($11)
  z[31]="";		# Mots clefs
  z[32]="";		# Balise titre
  z[33]="";		# Meta Mots clefs
  z[34]="";		# Meta description
  z[35]="P%d";		# URL simplifiee
  z[36]="En stock";	# Texte si en stock
  z[37]="Sur commande";	# Texte si en commande
  z[38]="1";		# Dispo si en cde
  z[39]="";		# Date Dispo
  z[40]="";		# Date Creation produit
  z[41]="1";		# Afficher prix
  z[42]="%s";		# URL des images (ID). ($12)
  z[43]="1";		# Supprimer les images existantes.
  z[44]="";		# Caracteristiques
  z[45]="0";		# Article web uniquement
  z[46]="new";		# Etat
  z[47]="0";		# Personnalisable
  z[48]="0";		# Fichiers telechargeables
  z[49]="0";		# Champs texte
  z[50]="2";		# Action si rupture stock
  z[51]="0";		# ID boutique
  z[52]="0";		# Gestion stock avancee
  z[53]="0";		# En fct du stock
  z[54]="0";		# entrepot.
  e=55;
  # Format a partir des colonnes
  f="";
  for (i=0 ; i<e; i++) {
    f=sprintf("%s%s",f,z[i]);
    if (i==e-1) f=sprintf("%s%s",f,"\r\n");
    else f=sprintf("%s%s",f,";");
  }
  first=1;
}
{
  if (first) {
    first=0;
    next;
  }
  nom=$8;
  c=$6;
  img=$12;
  printf(f,idp,nom,c,$2,$3,$1,$9,$4,$10,$11,idp,img);
  idp++;
}
' > $FIL

rm -f /tmp/xx$$.csv
split -100000 $FIL GICA_art_
echo ""
echo "Fichiers generes dans $EXP"
echo ""
N=0
for f in GICA_art_*
do
  chmod a+rw $f
  mv $f $EXP/$f.csv
  echo -e "$f.csv\t\c";
  N=`expr $N + 1`
  if test $N = "4" 
  then
    echo ""
    N=0
  fi
done
echo ""
echo ""
echo "Termine."
