#!/bin/bash

cd /opt/euro-beta

ENABLED=`systools/get_eurodb_config_val FoodCostSyncEnabled`
if [ ! "$ENABLED" ] || [ "$ENABLED" -eq 0 ]; then exit 0; fi

function running_on_master()
{
  INIFILE1=customdb.ini
  INIFILE=eurodb.ini
  MYIP=`/sbin/ifconfig eth0 | awk '/inet (addr:)?[0-9]/ { print gensub("^.*inet (addr:)?([0-9.]*) .*","\\\\2",1) }'` 
  HOST=`cat $INIFILE1 $INIFILE 2>/dev/null | awk '/Host=/ {print gensub("^.*Host=","",1); exit 0 }'`

  [ ! "$HOST" -o "$HOST" = 127.0.0.1 -o "$HOST" = localhost -o "$HOST" = "$MYIP" ]
}

running_on_master || exit

MAINTAIN_TIME=100

TIME=`date +%Y-%m-%dT%H:%M:%S`
P="data_export/foodcost/tmp"
MOVETO="data_export/foodcost"
mkdir -p $P $MOVETO >/dev/null 2>&1
rm -f $P/*
find $MOVETO -ctime $MAINTAIN_TIME -exec rm {} \;


VAR="FoodCostLastId"
LAST_ORDER_ID=`systools/get_eurodb_config_val $VAR`
if [ -z "$LAST_ORDER_ID" ] 
then
  LAST_ORDER_ID=0
fi
LAST_ORDER_ID=`echo -n "$LAST_ORDER_ID" | sed 's/[^0-9]//g'`

DEPTFILE="$P/${TIME}_dept.csv"
PLUFILE="$P/${TIME}_plu.csv"
SALEFILE="$P/${TIME}_movements.csv"

MYSQL="mysql -ueuro3g -peuro3g eurotest" # --skip-column-names


echo "SELECT dept_id, dept_descr AS name FROM department ORDER BY dept_id" | $MYSQL > $DEPTFILE

cat <<EOF | $MYSQL > $PLUFILE
SELECT newplu.plucode AS plucode, newplu.descr AS descr, newplu.dept AS dept_id, price.uprice AS price, vat.vat_val AS vat
FROM newplu
LEFT JOIN department ON department.dept_id=newplu.dept
LEFT JOIN vat ON vat.id=department.vat_id
LEFT JOIN price ON price.plu_id=newplu.plu_id AND price.price_id=1
ORDER BY newplu.plucode
EOF

cat <<EOF | $MYSQL > $SALEFILE
SELECT 
  objednavka_test.order_id, 
  REPLACE(accounts_test.account_close + INTERVAL 55 DAY, ' ', 'T') AS date,
  objednavka_test.plu_id AS plucode, 
  objednavka_test.user_descr AS descr, 
  objednavka_test.order_qty AS quantity, 
  objednavka_test.order_price AS price, 
  objednavka_test.vat_rate AS vat
FROM objednavka_test
LEFT JOIN accounts_test ON accounts_test.account_id=objednavka_test.account_id
WHERE order_id>$LAST_ORDER_ID
ORDER BY order_id
EOF

if [ `cat $SALEFILE | wc -l` -gt 1 ]
then
  systools/set_eurodb_config_val $VAR int `tail -1 $SALEFILE | cut -f 1`
  mv $P/* $MOVETO
  rm -f $P/*
fi


# aby se to poslalo v pristi minute
systools/set_eurodb_config_val "FoodCostLastTry" int 0
sleep 1
systools/set_eurodb_config_val "FoodCostLastTry" int 0

