refactor: simplify stocktake flow without DB schema changes and remove invalid field queries
This commit is contained in:
@ -5,7 +5,7 @@ from datetime import datetime
|
||||
class StocktakeDraft(db.Model):
|
||||
"""
|
||||
盘点草稿表
|
||||
支持多轮盘点,保留历史记录
|
||||
临时工作台,盘点时使用,会话结束后清空
|
||||
"""
|
||||
__tablename__ = 'stocktake_draft'
|
||||
|
||||
@ -16,25 +16,16 @@ class StocktakeDraft(db.Model):
|
||||
# 实际盘点数量
|
||||
quantity = db.Column(db.Numeric(19, 4), default=1)
|
||||
scan_time = db.Column(db.DateTime, default=beijing_time)
|
||||
|
||||
# ★ 新增: 盘点会话标识 (用于区分不同批次的盘点)
|
||||
# 盘点会话标识 (用于区分不同批次的盘点)
|
||||
session_id = db.Column(db.String(100))
|
||||
# ★ 新增: 是否已结束盘点
|
||||
is_finished = db.Column(db.Boolean, default=False)
|
||||
# ★ 新增: 盘点结束时间
|
||||
finish_time = db.Column(db.DateTime)
|
||||
# ★ 新增: 是否已处理差异 (手动平账)
|
||||
is_processed = db.Column(db.Boolean, default=False)
|
||||
# ★ 新增: 处理时间
|
||||
processed_time = db.Column(db.DateTime)
|
||||
# ★ 新增: 差异数量 (实盘 - 账面, 正=盘盈, 负=盘亏)
|
||||
diff_qty = db.Column(db.Numeric(19, 4), default=0)
|
||||
# ★ 新增: 账面库存数量
|
||||
stock_qty = db.Column(db.Numeric(19, 4), default=0)
|
||||
# ★ 新增: 关联的库存类型 (stock_buy/stock_semi/stock_product)
|
||||
# 关联的库存类型 (stock_buy/stock_semi/stock_product)
|
||||
source_table = db.Column(db.String(50))
|
||||
# ★ 新增: 关联的库存ID
|
||||
# 关联的库存ID
|
||||
stock_id = db.Column(db.Integer)
|
||||
# 账面库存数量 (记录盘点时的账面数量)
|
||||
stock_qty = db.Column(db.Numeric(19, 4), default=0)
|
||||
# 差异数量 (实盘 - 账面, 正=盘盈, 负=盘亏)
|
||||
diff_qty = db.Column(db.Numeric(19, 4), default=0)
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
@ -44,12 +35,8 @@ class StocktakeDraft(db.Model):
|
||||
'quantity': float(self.quantity or 1),
|
||||
'scan_time': self.scan_time.strftime('%Y-%m-%d %H:%M:%S') if self.scan_time else None,
|
||||
'session_id': self.session_id,
|
||||
'is_finished': self.is_finished,
|
||||
'finish_time': self.finish_time.strftime('%Y-%m-%d %H:%M:%S') if self.finish_time else None,
|
||||
'is_processed': self.is_processed,
|
||||
'processed_time': self.processed_time.strftime('%Y-%m-%d %H:%M:%S') if self.processed_time else None,
|
||||
'diff_qty': float(self.diff_qty or 0),
|
||||
'stock_qty': float(self.stock_qty or 0),
|
||||
'source_table': self.source_table,
|
||||
'stock_id': self.stock_id
|
||||
'stock_id': self.stock_id,
|
||||
'stock_qty': float(self.stock_qty or 0),
|
||||
'diff_qty': float(self.diff_qty or 0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user