feat: add TransBorrow.get_borrowed_quantity method
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
This commit is contained in:
@ -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'
|
||||||
|
|||||||
Reference in New Issue
Block a user