feat: create models and SQL schemas for stocktake remarks and inventory adjustments
This commit is contained in:
@ -26,6 +26,8 @@ class StocktakeDraft(db.Model):
|
|||||||
stock_qty = db.Column(db.Numeric(19, 4), default=0)
|
stock_qty = db.Column(db.Numeric(19, 4), default=0)
|
||||||
# 差异数量 (实盘 - 账面, 正=盘盈, 负=盘亏)
|
# 差异数量 (实盘 - 账面, 正=盘盈, 负=盘亏)
|
||||||
diff_qty = db.Column(db.Numeric(19, 4), default=0)
|
diff_qty = db.Column(db.Numeric(19, 4), default=0)
|
||||||
|
# 盘点备注(可选)
|
||||||
|
remark = db.Column(db.String(255), comment='盘点备注(可选)')
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
return {
|
return {
|
||||||
@ -38,5 +40,51 @@ class StocktakeDraft(db.Model):
|
|||||||
'source_table': self.source_table,
|
'source_table': self.source_table,
|
||||||
'stock_id': self.stock_id,
|
'stock_id': self.stock_id,
|
||||||
'stock_qty': float(self.stock_qty or 0),
|
'stock_qty': float(self.stock_qty or 0),
|
||||||
'diff_qty': float(self.diff_qty or 0)
|
'diff_qty': float(self.diff_qty or 0),
|
||||||
|
'remark': self.remark
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class StockAdjustment(db.Model):
|
||||||
|
"""
|
||||||
|
盘盈盘亏调整表
|
||||||
|
记录盘点后的库存调整业务
|
||||||
|
"""
|
||||||
|
__tablename__ = 'stock_adjustment'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
# 调整单号(ADJ-日期-流水)
|
||||||
|
order_no = db.Column(db.String(64), unique=True, index=True, comment='调整单号')
|
||||||
|
# 关联物料基础表ID
|
||||||
|
base_id = db.Column(db.Integer, index=True, comment='关联物料基础表ID')
|
||||||
|
# SKU
|
||||||
|
sku = db.Column(db.String(128), index=True, comment='SKU')
|
||||||
|
# 库位
|
||||||
|
warehouse_location = db.Column(db.String(128), comment='库位')
|
||||||
|
# 类型:盘盈 / 盘亏
|
||||||
|
adjust_type = db.Column(db.String(20), comment='类型:盘盈/盘亏')
|
||||||
|
# 调整数量(绝对值)
|
||||||
|
adjust_quantity = db.Column(db.Integer, nullable=False, comment='调整数量(绝对值)')
|
||||||
|
# 调整原因(必填)
|
||||||
|
reason = db.Column(db.String(255), nullable=False, comment='调整原因(必填)')
|
||||||
|
# 状态
|
||||||
|
status = db.Column(db.String(20), default='已完成', comment='状态')
|
||||||
|
# 经办人
|
||||||
|
operator = db.Column(db.String(64), comment='经办人')
|
||||||
|
# 创建时间
|
||||||
|
create_time = db.Column(db.DateTime, default=beijing_time)
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
return {
|
||||||
|
'id': self.id,
|
||||||
|
'order_no': self.order_no,
|
||||||
|
'base_id': self.base_id,
|
||||||
|
'sku': self.sku,
|
||||||
|
'warehouse_location': self.warehouse_location,
|
||||||
|
'adjust_type': self.adjust_type,
|
||||||
|
'adjust_quantity': self.adjust_quantity,
|
||||||
|
'reason': self.reason,
|
||||||
|
'status': self.status,
|
||||||
|
'operator': self.operator,
|
||||||
|
'create_time': self.create_time.strftime('%Y-%m-%d %H:%M:%S') if self.create_time else None
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user