Per-year header merging.

This commit is contained in:
Dominik Pantůček 2023-07-29 16:33:01 +02:00
parent 32924054b7
commit 1d0ab4e2d3

View file

@ -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"