brmbar-cli: New command consolidate to finalize inventory check

This commit is contained in:
brmbar 2013-08-11 22:53:53 +02:00
parent 4f3bc87733
commit 617b466c77
2 changed files with 22 additions and 0 deletions

View file

@ -36,6 +36,9 @@ Usage: brmbar-cli.py COMMAND ARGS...
Launches interactive mode for performing inventory with barcode reader Launches interactive mode for performing inventory with barcode reader
changecash AMT changecash AMT
Fixes the cash and puts money difference into excess or deficit account Fixes the cash and puts money difference into excess or deficit account
consolidate
Wraps up inventory + cash recounting, transferring the excess and
deficit accounts balance to the profits account and resetting them
USER and ITEM may be barcodes or account ids. AMT may be USER and ITEM may be barcodes or account ids. AMT may be
both positive and negative amount (big difference to other both positive and negative amount (big difference to other
@ -191,6 +194,11 @@ elif sys.argv[1] == "changecash":
print("New Cash is : {}".format(shop.cash.balance_str())) print("New Cash is : {}".format(shop.cash.balance_str()))
else: else:
print ("No action needed amount is the same.") print ("No action needed amount is the same.")
elif sys.argv[1] == "consolidate":
if (len(sys.argv) != 2):
print ("Invalid number of parameters, check your parameters.")
else:
shop.consolidate()
else: else:

View file

@ -188,3 +188,17 @@ class Shop:
return True return True
else: else:
return False return False
def consolidate(self):
transaction = self._transaction(description = "BrmBar inventory consolidation")
excess_balance = self.excess.balance()
if excess_balance != 0:
print("Excess balance {} debited to profit".format(-excess_balance))
self.excess.debit(transaction, -excess_balance, "Excess balance added to profit.")
self.profits.debit(transaction, -excess_balance, "Excess balance added to profit.")
deficit_balance = self.deficit.balance()
if deficit_balance != 0:
print("Deficit balance {} credited to profit".format(deficit_balance))
self.deficit.credit(transaction, deficit_balance, "Deficit balance removed from profit.")
self.profits.credit(transaction, deficit_balance, "Deficit balance removed from profit.")
self.db.commit()