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 }