Files
KCGL/inventory-backend/app/models/transaction.py
2026-02-06 17:11:47 +08:00

53 lines
2.0 KiB
Python

from app.extensions import db
from datetime import datetime
class TransBorrow(db.Model):
__tablename__ = 'trans_borrow'
id = db.Column(db.Integer, primary_key=True)
borrow_no = db.Column(db.String(100))
sku = db.Column(db.String(100))
source_table = db.Column(db.String(50))
stock_id = db.Column(db.Integer)
barcode = db.Column(db.String(100))
quantity = db.Column(db.Numeric(19, 4))
# 借出信息
borrower_name = db.Column(db.String(100))
borrow_time = db.Column(db.DateTime, default=datetime.now)
borrow_signature = db.Column(db.Text) # 借用人签字
expected_return_time = db.Column(db.DateTime)
# 归还信息
is_returned = db.Column(db.Boolean, default=False)
return_time = db.Column(db.DateTime)
return_operator = db.Column(db.String(100)) # 库管
return_signature = db.Column(db.Text) # 库管签字
return_location = db.Column(db.String(100)) # 归还库位
status = db.Column(db.String(20), default='borrowed')
remark = db.Column(db.Text)
def to_dict(self):
return {
'id': self.id,
'borrow_no': self.borrow_no,
'sku': self.sku,
'barcode': self.barcode,
'quantity': float(self.quantity) if self.quantity else 0,
'borrower_name': self.borrower_name,
'borrow_time': self.borrow_time.strftime('%Y-%m-%d %H:%M') if self.borrow_time else '',
'borrow_signature': self.borrow_signature,
'expected_return_time': self.expected_return_time.strftime(
'%Y-%m-%d %H:%M') if self.expected_return_time else '',
'is_returned': self.is_returned,
'return_time': self.return_time.strftime('%Y-%m-%d %H:%M') if self.return_time else '',
'return_operator': self.return_operator,
'return_signature': self.return_signature,
'return_location': self.return_location,
'status': self.status,
'remark': self.remark
}