Files
boc/landvex-admin-backend/app/routers/__pycache__/economy.cpython-39.pyc
T

65 lines
7.8 KiB
Plaintext
Raw Normal View History

a
_ÂHj¥'ã @dZddlmZmZmZmZddlmZddlm Z m
Z
ddl m Z m Z ddl
mZddlmZddlmZmZmZmZmZdd lmZed
d gd Ze d
¡deeƒeeƒfe
eeedœddƒZe d
¡ddeeƒeeƒfeeee
ee
eeedœddƒZe d¡eeƒeeƒfeeedœddƒZ e d¡dddddeeƒeeƒfe
ee
e e
e eeeedœddƒZ!e d¡deeƒeeƒfee ee"eee
eeedœ dd „ƒZ#e d!¡eeƒeeƒfeed"œd#d$„ƒZ$e d!¡dddd%deeƒeeƒfeee
ee
ee
eee
eeed&œ d'd(„ƒZ%e d)¡deeƒeeƒfe
e eed*œd+d,„ƒZ&e d-¡eeƒeeƒfe e eed.œd/d0„ƒZ'dS)1zi
Economy/Ledger Management Module
Handles accounts, transactions, bank accounts, and financial reporting
é)Ú APIRouterÚDependsÚ
HTTPExceptionÚstatus)ÚSession)ÚListÚOptional)ÚdatetimeÚdate)ÚDecimal)Úget_db)ÚAccountÚ TransactionÚ BankAccountÚ AccountTypeÚUser)Úget_current_userz/economyÚeconomy)ÚprefixÚtagsz /accountsN)Ú account_typeÚdbÚ current_usercÃs>| t¡}|r| tj|k¡}| ¡}dd|Dƒ| ¡dœS)z*List all accounts with optional filtering.c
Ss>g|]6}|j|j|j|jj|jr*t|jƒnd|j|jdœqS)r)ÚidÚaccount_numberÚnameÚtypeÚbalanceÚcurrencyÚ is_active) rrrrÚvaluerÚfloatrr©Ú.0Úr%úL/home/bernt/.openclaw/workspace/landvex-admin-backend/app/routers/economy.pyÚ
<listcomp>s
øùz!list_accounts.<locals>.<listcomp>)ÚaccountsÚtotal)Úqueryr
ÚfilterrÚallÚcount)rrrr*r(r%r%r&Ú
list_accountss

ö ór.)rrrÚ parent_idÚ descriptionrrcÃs:t|||||d}| |¡| ¡| |¡d|jdœS)zCreate a new account.)rrrr/r0Úcreated)rÚ
account_id)r
ÚaddÚcommitÚrefreshr)rrrr/r0rrÚaccountr%r%r&Úcreate_account.s û

r7z/accounts/{account_id})r2rrc Ãs`| t¡ tj|k¡ ¡}|s*tddd|j|j|j|jj |j
rLt |j
ƒnd|j |j
|jdœS)zGet account details.é”zAccount not found©Ú status_codeÚdetailr)rrrrrrr0r)r*r
r+rÚfirstrrrrr rr!rr0r)r2rrr6r%r%r&Ú get_accountEs ør=z
/transactionséd)r2Ú
start_dateÚend_dateÚskipÚlimitrrc Ãsˆ| t¡}|r(| tj|ktj|kB¡}|r<| tj|k¡}|rP| tj|k¡}| tj ¡¡ |¡  |¡ 
¡}dd|Dƒ|  ¡dœS)z!List transactions with filtering.c SsRg|]J}|j|j|jr |j ¡nd|j|jr6t|jƒnd|j|j|j |j
dœ qS)Nr) rÚtransaction_idr
r0ÚamountÚdebit_account_idÚcredit_account_idrÚ reference) rrCr
Ú isoformatr0rDr!rErFrrG)r#Útr%r%r&r'ts ö÷z%list_transactions.<locals>.<listcomp>)Ú transactionsr)) r*rr+rErFr
Úorder_byÚdescÚoffsetrBr,r-) r2r?r@rArBrrr*rJr%r%r&Úlist_transactions\s"
ÿÿ  ôñrN) rCr
r0rDrErFrGrrc
Ã| t¡ tj|k¡ ¡} | t¡ tj|k¡ ¡}
| r<|
sHtdddt|||tt|ƒƒ||||jd} | j tt|ƒƒ7_ |
j tt|ƒƒ8_ | 
| ¡|  ¡|  | ¡d| jdœS)z4Create a new transaction (double-entry bookkeeping).r8zOne or both accounts not foundr9)rCr
r0rDrErFrGÚ
created_byr1)rrC)
r*r
r+rr<rrr Ústrrr3r4r5) rCr
r0rDrErFrGrrZ
debit_accountZcredit_accountÚ transactionr%r%r&Úcreate_transaction…s( 
ø 

rRz/bank-accounts)rrcÃs | t¡ ¡}ddd|DƒiS)zList all bank accounts.r(c
SsHg|]@}|j|j|j|j|j|j|j|jr4t|jƒnd|j |j
dœ
qS)r)