This commit is contained in:
admin
2026-01-15 10:56:05 +09:00
parent c753e89f49
commit 6c5e8593fb
6 changed files with 314 additions and 169 deletions

View File

@@ -38,7 +38,8 @@ class JournalEntryDeleteRequest(BaseModel):
def get_journal_entries(
from_date: date = None,
to_date: date = None,
keyword: str = None
keyword: str = None,
account_id: int = None
):
"""
仕訳一覧を検索して取得
@@ -73,6 +74,14 @@ def get_journal_entries(
sql += " AND je.description LIKE %s"
params.append(f"%{keyword}%")
if account_id:
sql += """ AND je.journal_entry_id IN (
SELECT DISTINCT journal_entry_id
FROM journal_lines
WHERE account_id = %s
)"""
params.append(account_id)
sql += """
GROUP BY je.journal_entry_id, je.entry_date, je.description, je.fiscal_year
ORDER BY je.entry_date DESC, je.journal_entry_id DESC
@@ -116,7 +125,9 @@ def get_journal_entry(journal_id: int):
a.account_code,
a.account_name,
jl.debit,
jl.credit
jl.credit,
jl.tax_rate,
jl.tax_direction
FROM journal_lines jl
JOIN accounts a ON jl.account_id = a.account_id
WHERE jl.journal_entry_id = %s
@@ -301,19 +312,35 @@ def create_journal_entry(req: JournalEntryRequest):
# 明細(税行を含む)
for line in all_lines:
# tax_directionの値を変換: paid->INPUT, received->OUTPUT, none->NONE
tax_dir_db = None
if line.tax_direction:
if line.tax_direction == 'paid':
tax_dir_db = 'INPUT'
elif line.tax_direction == 'received':
tax_dir_db = 'OUTPUT'
elif line.tax_direction == 'none':
tax_dir_db = 'NONE'
else:
tax_dir_db = line.tax_direction.upper()
cur.execute("""
INSERT INTO journal_lines (
journal_entry_id,
account_id,
debit,
credit
credit,
tax_rate,
tax_direction
)
VALUES (%s, %s, %s, %s)
VALUES (%s, %s, %s, %s, %s, %s)
""", (
entry_id,
line.account_id,
line.debit,
line.credit
line.credit,
line.tax_rate,
tax_dir_db
))
conn.commit()