半成品图像上传初实现,支持多图,检测报告的图片以及链接上传
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
# app/models/inbound/semi.py
|
||||
from app.extensions import db
|
||||
import json
|
||||
|
||||
|
||||
class StockSemi(db.Model):
|
||||
@ -41,11 +42,17 @@ class StockSemi(db.Model):
|
||||
production_time_range = db.Column(db.String(255))
|
||||
|
||||
quality_status = db.Column(db.String(50))
|
||||
|
||||
# [修改] 质量报告 (存储 JSON 字符串: 图片列表 + 链接)
|
||||
quality_report_link = db.Column(db.Text)
|
||||
|
||||
# [新增] 到货图片 (存储 JSON 字符串)
|
||||
arrival_photo = db.Column(db.Text)
|
||||
|
||||
detail_link = db.Column(db.Text)
|
||||
remark = db.Column(db.Text)
|
||||
|
||||
# [新增] 全局打印流水号 (请务必确保数据库已添加此列)
|
||||
# [新增] 全局打印流水号
|
||||
global_print_id = db.Column(db.Integer)
|
||||
|
||||
# 关系定义
|
||||
@ -56,6 +63,18 @@ class StockSemi(db.Model):
|
||||
man_val = float(self.manual_cost or 0)
|
||||
unit_total = raw_val + man_val
|
||||
|
||||
# 辅助解析函数:将数据库存储的 JSON 字符串转为 List
|
||||
def parse_img_list(json_str):
|
||||
if not json_str:
|
||||
return []
|
||||
try:
|
||||
# 兼容旧数据:如果不是 JSON 格式(比如是单个 URL),则包装成 list
|
||||
if not json_str.startswith('['):
|
||||
return [json_str]
|
||||
return json.loads(json_str)
|
||||
except:
|
||||
return []
|
||||
|
||||
return {
|
||||
'id': self.id,
|
||||
'base_id': self.base_id,
|
||||
@ -86,14 +105,19 @@ class StockSemi(db.Model):
|
||||
'raw_material_cost': raw_val,
|
||||
'manual_cost': man_val,
|
||||
'unit_total_cost': unit_total,
|
||||
'total_price': float(self.total_price or 0),
|
||||
|
||||
'production_manager': self.production_manager,
|
||||
'production_time_range': self.production_time_range,
|
||||
|
||||
'production_start_time': str(self.production_start_time) if self.production_start_time else '',
|
||||
'production_end_time': str(self.production_end_time) if self.production_end_time else '',
|
||||
|
||||
'quality_status': self.quality_status,
|
||||
'quality_report_link': self.quality_report_link,
|
||||
|
||||
# [修改] 解析 JSON 字符串为数组返回给前端
|
||||
'quality_report_link': parse_img_list(self.quality_report_link),
|
||||
'arrival_photo': parse_img_list(self.arrival_photo),
|
||||
|
||||
'detail_link': self.detail_link,
|
||||
'remark': self.remark,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user