diff --git a/fetch_fio_fine.sh b/fetch_fio_fine.sh index 2bc623b..f65ed21 100644 --- a/fetch_fio_fine.sh +++ b/fetch_fio_fine.sh @@ -313,10 +313,63 @@ merge_acc() { } +# +# Gets the first year of the account statement. +# $1 - account number +# $2 - year +first_acc_year_part() { + accno="$1" + ls "${BANK_DIR_PARTS}/" \ + | grep "^$accno" \ + | grep "$2-[0-9][0-9].csv$" \ + | sort \ + | head -n 1 +} + +# +# Gets the last year of the account statement. +# $1 - account number +# $2 - year +last_acc_year_part() { + accno="$1" + ls "${BANK_DIR_PARTS}/" \ + | grep "^$accno" \ + | grep "$2-[0-9][0-9].csv$" \ + | sort -r \ + | head -n 1 +} + +# +# Dynamic part +# $1 - account number +# $2 - year +make_acc_year_header() { + first="`first_acc_year_part $1 $2`" + last="`last_acc_year_part $1 $2`" + firstfname="$BANK_DIR_PARTS/$first" + lastfname="$BANK_DIR_PARTS/$last" + make_acc_header_static "$firstfname" + get_header_field "$firstfname" openingBalance + get_header_field "$lastfname" closingBalance + get_header_field "$firstfname" dateStart + get_header_field "$lastfname" dateEnd + get_header_field "$firstfname" idFrom + get_header_field "$lastfname" idTo +} + +# +# Single year merged +# $1 - account number +# $2 - year +merge_acc_year() { + make_acc_year_header "$1" "$2" + echo "TODO" +} + # Current year and month CYEAR=`date +%Y` CMONTH=`date +%m|sed s/^0//` -MONTHLIMIT=3 +MONTHLIMIT=2 # Mark log "$0" ======== started ======== @@ -349,7 +402,7 @@ while read accnt ; do fi # Iterate over the months - monthsleft=$MONTHLIMIT + monthsleft=0 # $MONTHLIMIT currentmonth=$CMONTH currentyear=$CYEAR while [ $monthsleft -gt 0 ] ; do @@ -375,11 +428,15 @@ while read accnt ; do done # Merge the account - log "Merging $ACCNO" - #merge_acc "$ACCNO" >"$BANK_DIR/$ACCNO.csv.tmp" + for year in `seq $currentyear $CYEAR` ; do + log "Merging $ACCNO $year" + merge_acc_year "$ACCNO" "$year" >"$BANK_DIR/$ACCNO-$year.csv" + done + log "FINAL Merging $ACCNO" + #;merge_acc "$ACCNO" >"$BANK_DIR/$ACCNO.csv.tmp" log "Renaming $ACCNO" #if [ -r "$BANK_DIR/$ACCNO.csv" ] ; then - #cp "$BANK_DIR/$ACCNO.csv" "$BANK_DIR/$ACCNO.csv.old" + #cp "$BANK_DIR/$ACCNO.csv" "$BANK_DIR/$ACCNO.csv.old" #fi #mv "$BANK_DIR/$ACCNO.csv.tmp" "$BANK_DIR/$ACCNO.csv" done < "$APIKEYS_FILE"