Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -41,7 +41,7 @@ def init_sheets():
|
|
41 |
sheet.add_worksheet(title=PURCHASE_ORDERS_SHEET, rows="100", cols="20")
|
42 |
orders = sheet.worksheet(PURCHASE_ORDERS_SHEET)
|
43 |
orders.append_row([
|
44 |
-
'付款抬头', '合同号', '运编号', '车辆信息', '销售合同价', '采购价',
|
45 |
'费用名称', '费用金额', '采购款收款抬头', '采购款收款账号信息',
|
46 |
'业务员', '客户名称', '客户国家', '在途状态', '开票类型',
|
47 |
'收款状态', '审批状态', '退款说明', '备注', 'timestamp', '毛利'
|
@@ -66,24 +66,24 @@ def approve_order(order_id, approver_role):
|
|
66 |
try:
|
67 |
orders = sheet.worksheet(PURCHASE_ORDERS_SHEET)
|
68 |
order_records = orders.get_all_records()
|
69 |
-
order_records = sorted(order_records, key=lambda x: x['timestamp'], reverse=True)
|
70 |
-
order_indexes = [index for index, d in enumerate(order_records) if d["运编号"] == order_id]
|
71 |
|
72 |
-
if
|
|
|
|
|
73 |
return '订单未找到'
|
74 |
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
77 |
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
headers = list(order_records[0].keys())
|
84 |
-
orders.update_cell(order_index + 2, headers.index('审批状态') + 1, next_status) # 更新审批状态
|
85 |
-
orders.update_cell(order_index + 2, headers.index('timestamp') + 1,
|
86 |
-
datetime.now().strftime('%m/%d/%Y %H:%M')) # 更新时间戳
|
87 |
|
88 |
return '订单已批准'
|
89 |
except Exception as e:
|
@@ -145,6 +145,7 @@ def format_order(order):
|
|
145 |
<tr><th>付款抬头</th><td>{order['付款抬头']}</td></tr>
|
146 |
<tr><th>合同号</th><td>{order['合同号']}</td></tr>
|
147 |
<tr><th>运编号</th><td>{order['运编号']}</td></tr>
|
|
|
148 |
<tr><th>车辆信息</th><td>{order['车辆信息']}</td></tr>
|
149 |
<tr><th>销售合同价(FOB美元)</th><td>{order['销售合同价']}</td></tr>
|
150 |
<tr><th>采购价(人民币)</th><td>{order['采购价']}</td></tr>
|
@@ -215,6 +216,7 @@ with gr.Blocks() as app:
|
|
215 |
付款抬头 = gr.Textbox(label="付款抬头")
|
216 |
合同号 = gr.Textbox(label="合同号")
|
217 |
运编号 = gr.Textbox(label="运编号")
|
|
|
218 |
车辆信息 = gr.Textbox(label="车辆信息")
|
219 |
销售合同价 = gr.Textbox(label="销售合同价(FOB美元)")
|
220 |
采购价 = gr.Textbox(label="采购价(人民币)")
|
|
|
41 |
sheet.add_worksheet(title=PURCHASE_ORDERS_SHEET, rows="100", cols="20")
|
42 |
orders = sheet.worksheet(PURCHASE_ORDERS_SHEET)
|
43 |
orders.append_row([
|
44 |
+
'付款抬头', '合同号', '运编号', '采购编号','车辆信息', '销售合同价', '采购价',
|
45 |
'费用名称', '费用金额', '采购款收款抬头', '采购款收款账号信息',
|
46 |
'业务员', '客户名称', '客户国家', '在途状态', '开票类型',
|
47 |
'收款状态', '审批状态', '退款说明', '备注', 'timestamp', '毛利'
|
|
|
66 |
try:
|
67 |
orders = sheet.worksheet(PURCHASE_ORDERS_SHEET)
|
68 |
order_records = orders.get_all_records()
|
|
|
|
|
69 |
|
70 |
+
order_index = next((index for (index, d) in enumerate(order_records) if d["采购编号"] == order_id), None)
|
71 |
+
|
72 |
+
if order_index is None:
|
73 |
return '订单未找到'
|
74 |
|
75 |
+
current_status = order_records[order_index]['审批状态']
|
76 |
+
|
77 |
+
if (current_status == '待单证审批' and approver_role != '单证') or \
|
78 |
+
(current_status == '待财务审批' and approver_role != '财务') or \
|
79 |
+
(current_status == '待总经理审批' and approver_role != '总经理'):
|
80 |
+
return f'只有{current_status}角色可以批准当前订单'
|
81 |
|
82 |
+
next_status = get_next_approval_status(current_status)
|
83 |
+
headers = list(order_records[0].keys())
|
84 |
+
orders.update_cell(order_index + 2, headers.index('审批状态') + 1, next_status) # Update approval status
|
85 |
+
orders.update_cell(order_index + 2, headers.index('timestamp') + 1,
|
86 |
+
datetime.now().strftime('%Y-%m-%dT%H:%M')) # Update timestamp
|
|
|
|
|
|
|
|
|
87 |
|
88 |
return '订单已批准'
|
89 |
except Exception as e:
|
|
|
145 |
<tr><th>付款抬头</th><td>{order['付款抬头']}</td></tr>
|
146 |
<tr><th>合同号</th><td>{order['合同号']}</td></tr>
|
147 |
<tr><th>运编号</th><td>{order['运编号']}</td></tr>
|
148 |
+
<tr><th>采购编号</th><td>{order['采购编号']}</td></tr>
|
149 |
<tr><th>车辆信息</th><td>{order['车辆信息']}</td></tr>
|
150 |
<tr><th>销售合同价(FOB美元)</th><td>{order['销售合同价']}</td></tr>
|
151 |
<tr><th>采购价(人民币)</th><td>{order['采购价']}</td></tr>
|
|
|
216 |
付款抬头 = gr.Textbox(label="付款抬头")
|
217 |
合同号 = gr.Textbox(label="合同号")
|
218 |
运编号 = gr.Textbox(label="运编号")
|
219 |
+
采购编号 = gr.Textbox(label="采购编号")
|
220 |
车辆信息 = gr.Textbox(label="车辆信息")
|
221 |
销售合同价 = gr.Textbox(label="销售合同价(FOB美元)")
|
222 |
采购价 = gr.Textbox(label="采购价(人民币)")
|