EricGEGE commited on
Commit
65bf148
·
verified ·
1 Parent(s): cc9c82a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -15
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 not order_indexes:
 
 
73
  return '订单未找到'
74
 
75
- for order_index in order_indexes:
76
- current_status = order_records[order_index]['审批状态']
 
 
 
 
77
 
78
- if (current_status == '待单证审批' and approver_role == '单证') or \
79
- (current_status == '待财务审批' and approver_role == '财务') or \
80
- (current_status == '待总经理审批' and approver_role == '总经理'):
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) # 更新审批状态
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="采购价(人民币)")