EricGEGE commited on
Commit
a888490
·
verified ·
1 Parent(s): f4a0306

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -1
app.py CHANGED
@@ -407,6 +407,59 @@ def submit_order2(
407
  session.close()
408
  return "操作有误: {}".format(e)
409
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
410
  def format_order(order):
411
  try:
412
  return f"""
@@ -420,7 +473,7 @@ def format_order(order):
420
  <tr><th>销售合同价(FOB美元)</th><td>{order['销售合同价']}</td></tr>
421
  <tr><th>采购价(人民币)</th><td>{order['采购价']}</td></tr>
422
  <tr><th>费用名称</th><td>{order['费用名称']}</td></tr>
423
- <tr><th>费用金额</th><td>{order['费用金额']}</td></tr>
424
  <tr><th>采购款收款抬头</th><td>{order['采购款收款抬头']}</td></tr>
425
  <tr><th>采购款收款账号信息</th><td>{order['采购款收款账号信息']}</td></tr>
426
  <tr><th>业务员</th><td>{order['业务员']}</td></tr>
 
407
  session.close()
408
  return "操作有误: {}".format(e)
409
 
410
+ def num_to_chinese_upper(num_str):
411
+ """将数字转换为中文大写金额"""
412
+ try:
413
+ num = float(num_str)
414
+ if num <= 0:
415
+ return "零元整"
416
+
417
+ # 中文数字
418
+ chinese_nums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
419
+ # 单位
420
+ units = ['', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿']
421
+
422
+ # 处理整数部分
423
+ int_part = int(num)
424
+ int_str = ''
425
+
426
+ if int_part == 0:
427
+ int_str = '零'
428
+ else:
429
+ i = 0
430
+ while int_part > 0:
431
+ digit = int_part % 10
432
+ if digit != 0:
433
+ int_str = chinese_nums[digit] + units[i] + int_str
434
+ elif i == 4 or i == 8: # 万位或亿位
435
+ int_str = units[i] + int_str
436
+ elif int_str and int_str[0] != '零':
437
+ int_str = '零' + int_str
438
+ int_part //= 10
439
+ i += 1
440
+
441
+ # 处理小数部分
442
+ decimal_part = round((num - int(num)) * 100)
443
+ decimal_str = ''
444
+
445
+ if decimal_part == 0:
446
+ decimal_str = '整'
447
+ else:
448
+ jiao = decimal_part // 10
449
+ fen = decimal_part % 10
450
+
451
+ if jiao > 0:
452
+ decimal_str += chinese_nums[jiao] + '角'
453
+ elif fen > 0:
454
+ decimal_str += '零'
455
+
456
+ if fen > 0:
457
+ decimal_str += chinese_nums[fen] + '分'
458
+
459
+ return int_str + '元' + decimal_str
460
+ except:
461
+ return num_str # 如果转换失败,返回原始字符串
462
+
463
  def format_order(order):
464
  try:
465
  return f"""
 
473
  <tr><th>销售合同价(FOB美元)</th><td>{order['销售合同价']}</td></tr>
474
  <tr><th>采购价(人民币)</th><td>{order['采购价']}</td></tr>
475
  <tr><th>费用名称</th><td>{order['费用名称']}</td></tr>
476
+ <tr><th>费用金额</th><td>{order['费用金额']} ({fee_amount_chinese})</td></tr>
477
  <tr><th>采购款收款抬头</th><td>{order['采购款收款抬头']}</td></tr>
478
  <tr><th>采购款收款账号信息</th><td>{order['采购款收款账号信息']}</td></tr>
479
  <tr><th>业务员</th><td>{order['业务员']}</td></tr>