feat: add TransBorrow.get_borrowed_quantity method

Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
This commit is contained in:
dxc
2026-02-28 11:43:10 +08:00
parent d78ef22251
commit cc33108e88

View File

@ -1,5 +1,6 @@
from app.extensions import db from app.extensions import db
from datetime import datetime from datetime import datetime
from sqlalchemy import func
class TransBorrow(db.Model): class TransBorrow(db.Model):
@ -46,6 +47,19 @@ class TransBorrow(db.Model):
'remark': self.remark, 'remark': self.remark,
} }
@classmethod
def get_borrowed_quantity(cls, source_table, stock_id):
"""
获取指定库存记录source_table 和 stock_id的借出未还数量总和。
返回浮点数,若无借出记录则返回 0.0。
"""
result = db.session.query(func.sum(cls.quantity)).filter(
cls.source_table == source_table,
cls.stock_id == stock_id,
cls.is_returned == False
).scalar()
return float(result) if result is not None else 0.0
class TransRepair(db.Model): class TransRepair(db.Model):
__tablename__ = 'trans_repair' __tablename__ = 'trans_repair'