#!/bin/sh

.  /cygdrive/f/Pabx/bin/Definitions	# A ADAPTER

SqlQuery "truncate table spooledfiles;"

find $DATA -type f -name "TAX*.DAT" -printf "%f\n" | sort > $TMPFILES/files.csv

chmod a+rw $TMPFILES/files.csv

SuperQuery "copy spooledfiles from '$PGTMPFILES/files.csv';"

SqlQuery "delete from spooledfiles where filename in (select args from journal j where j.type_trt = 'IMPORT' and spooledfiles.filename = j.args and j.ret_code = 0);"

SuperQuery "copy spooledfiles to '$PGTMPFILES/files.csv';"

TOTAL=`cat $TMPFILES/files.csv | wc -l`
N=1

cat $TMPFILES/files.csv | while read file
do
   echo -n "Importing $file ($N/$TOTAL)"
   N=`expr $N + 1`


   SIGNATURE=`zcat $DATA/$file | head -1`

   TID=`SqlQuery "select id from meta_tabledesc where signature = '$SIGNATURE';"`

   CREATE=NO
   if [ "$TID" = "" ]
   then
      SqlQuery "insert into meta_tabledesc values ( DEFAULT, '$SIGNATURE' );"

      TID=`SqlQuery "select last_value from meta_tabledesc_id_seq;"`
      CREATE=YES
   fi

   TABLE="taxdata_$TID"

   zcat $DATA/$file | $BIN/tax2sql -t $TID -o $TMPFILES/tdesc -d $file 

   STATUS="$?"

   if [ "$STATUS" != "0" ]
   then
      echo " ECHEC !"
      LogJournal 'IMPORT' "$file" "ECHEC Importation dans $TABLE" "$STATUS"
      continue
   fi

   echo -n " => $TABLE"

   if [ "$CREATE" = "YES" ]
   then
      echo -n " [new]"
      cat $TMPFILES/tdesc.sql | $PSQL -U $PGUSER $PGDB  > /dev/null 2>&1
   fi

   cat $TMPFILES/tdesc.data | sed "s/ *' */'/g" | sed "s/''/NULL/g" | $PSQL -U $PGUSER $PGDB  > /dev/null 2>&1

   echo " Done !"

   LogJournal 'IMPORT' "$file" "Importation dans $TABLE" 0

   SqlQuery "vacuum analyze $TABLE;"
done

