
#!/bin/sh
# File	: proc_autoinvoice.sh
# By	: MaartenDeBoper.nl, 190110
# Subject	: Script to process (automatic) invoicing
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
BASEDIR="${HOME}/autoinvoice"
YRMON="`date +%Y-%m`"
LOG="${BASEDIR}/log/${PGM}-${YRMON}.log"

MAILTO="maarten@agrarix.nl"

DATADIR="${BASEDIR}/data/"
CUSTOMER="bakkerij-vanbreemen"
CSV="${DATADIR}/${CUSTOMER}.csv"

touch ${TMP}

# Init invoice
echo "<HTML>" >> ${TMP}


# 1st part (with # <vars>)
NAME=""
ADDR1=""
ADDR2=""
SUBJECT=""
HEADER=""
FOOTER=""
cat ${CSV}|grep ^#| while read LINE
do
#  echo ${LINE}
  if [ "${HEADER}" = "" ]; then
    HEADER=`echo ${LINE}|grep 'HEADER='|cut -d\= -f2`
    echo "  <H1> ${HEADER} </H1>" >> ${TMP}
    echo "  <P>" >> ${TMP}
    echo "  <H2> Factuur </H2>" >> ${TMP}
    echo "  <P>" >> ${TMP}
  fi
  if [ "${NAME}" = "" ]; then
    NAME=`echo ${LINE}|grep 'NAME='|cut -d\= -f2`
  fi
  if [ "${ADDR1}" = "" ]; then
    ADDR1=`echo ${LINE}|grep 'ADDRESS1='|cut -d\= -f2`
  fi
  if [ "${ADDR2}" = "" ]; then
    ADDR2=`echo ${LINE}|grep 'ADDRESS2='|cut -d\= -f2`
  fi
  if [ "${SUBJECT}" = "" ]; then
    SUBJECT=`echo ${LINE}|grep 'SUBJECT='|cut -d\= -f2`
  fi
  if [ "${NAME}" != "" ] && [ "${ADDR1}" != "" ] && [ "${ADDR2}" != "" ]; then
    echo "${NAME},${ADDR1},${ADDR2},${SUBJECT},${HEADER} ..."
    echo "  <P>" >> ${TMP}
    echo "  ${NAME} <BR>" >> ${TMP}
    echo "  ${ADDR1} <BR>" >> ${TMP}
    echo "  ${ADDR2} <BR>" >> ${TMP}
    NAME=""
  fi
done  # cat LINE

# 2nd part; the invoice lines

echo "  <P>" >> ${TMP}

echo "  <TABLE border=1> " >> ${TMP}
echo "  <TR> " >> ${TMP}
  echo "    <TD>Product</TD> <TD>Omschrijving</TD> <TD>Periode</TD> <TD>Bedrag</TD> " |tee -a ${TMP}
echo "  </TR> " >> ${TMP}

TOTAL=0
cat ${CSV}|grep -v ^#| while read LINE
do
  echo "    <TR>" >> ${TMP}
  
  echo "LINE=${LINE}"

# #Product;Omschrijving;Periode;Bedrag;
  PROD=`echo ${LINE}|grep -v ^#|awk -F\; '{print $1}'`
  OMSCHR=`echo ${LINE}|grep -v ^#|awk -F\; '{print $2}'`
  PERIODE=`echo ${LINE}|grep -v ^#|awk -F\; '{print $3}'`
  BEDRAG=`echo ${LINE}|grep -v ^#|awk -F\; '{print $4}'`
  echo "    <TD>${PROD}</TD> <TD>${OMSCHR}</TD> <TD>${PERIODE}</TD> <TD>${BEDRAG} euro</TD> " |tee -a ${TMP}
  TOTAL=`expr ${TOTAL} + ${BEDRAG}`
  echo ${TOTAL} > ${TMP}.ttl

  echo "    </TR>" >> ${TMP}
done  # cat LINE
echo "    <TR>" >> ${TMP}
TOTAL=`cat ${TMP}.ttl`
rm ${TMP}.ttl
echo "    <TD>Totaal</TD> <TD> </TD> <TD> </TD> <TD>${TOTAL} euro</TD> " |tee -a ${TMP}
echo "    </TR>" >> ${TMP}
echo "  </TABLE> " >> ${TMP}

if [ "${FOOTER}" = "" ]; then
  FOOTER=`grep ^# ${CSV}|grep 'FOOTER='|cut -d\= -f2`
  echo "  <H6> <CENTER> ${FOOTER} </CENTER> </H6>" >> ${TMP}
fi
echo "</HTML>" >> ${TMP}

if [ -s ${TMP} ]; then
  cat ${TMP}| mailx --append="Content-type: text/html" -s "(auto) invoice" ${MAILTO}
  echo "  Mailed to ${MAILTO}" |tee -a ${LOG}
fi


rm ${TMP}
exit 0

