# Dies ist das beruehmte Skript fuer Bruus Willes-in-Excel fuer Oracle
# Aufruf mit Personalnummer und Monat in der Form mm.yyyy
# Status: not tested
PERSNR=$1
MONAT=01.$2
CSV_FILE=monatsabrechnung.csv
DB=ox_entw

if [ "$DEBUGSQL" = -e ]
then
	SET_DEBUGSQL="set echo on"
    	DEBUGSQLFILE=/tmp/debug_monatsabrechnung_sql.out
else
	SET_DEBUGSQL=""
		DEBUGSQLFILE=/dev/null
		DEBUGSQL=""
fi

DBMONEY=, export DBMONEY

DBDATE=DMY4. export DBDATE

sqlplus $DB - <$DEBUGSQLFILE
-- Hier das SQL Statement, um die Stundendaten zu entladen
spool $CSV_FILE
set colsep ";"
set heading off
set feedback off
set pagesize 0
set linesize 2048
set trimspool on

$SET_DEBUGSQL
select
projektnummer, bemerkungstext, datumstart,
TO_CHAR(zeitstart, 'HH24:MI'),
datumende, TO_CHAR(zeitende, 'HH24:MI'), aufwand_in_std,
CAST(datumende as timestamp) - CAST(datumstart as timestamp) +
CAST(zeitende as timestamp) - cast(zeitstart as timestamp) dauer,
stundentyp
from
zeiterfassung
where
-- datumstart between '$MONAT' and TO_DATE('$MONAT', '%d.%m.%Y') + 1 UNITS MONTH - 1 UNITS DAY and
datumstart between to_date( '$MONAT', 'DD.MM.YYYY' ) AND
add_months( to_date( '$MONAT', 'DD.MM.YYYY' ), 1 ) - 1 AND
personalnummer = $PERSNR
order by datumstart, zeitstart, zeitende, stundentyp;
EOF

MONAT=$2

# Jetzt noch ein netter Text fuer Bruus
{ date; cat; } <<EOF >textfile
Sehr geehrter Herr Bruus

hier ist meine Stundenabrechnung für Monat $MONAT.

Mit freundlichen Grüßen
Ihre Personalnummer $PERSNR
EOF

# Verschicken ...
mpack -s "Stundenabrechnung fuer Personalnummer: $PERSNR" \
-d textfile $CSV_FILE chef@firma.de

# ... und aufraeumen (bloss keine Spuren hinterlassen ;-) )
rm -f textfile $CSV_FILE