输出程序
时间: 2023-12-18 08:02:52 浏览: 11
好的,以下是一个简单的 Python 程序,可以实现自动搭建 BOM 的功能:
```python
import sqlite3
def build_bom(ref):
# 连接数据库
conn = sqlite3.connect('bom.db')
cursor = conn.cursor()
# 查询 REF 的 BOM 结构
cursor.execute("SELECT * FROM bom WHERE ref=?", (ref,))
bom = cursor.fetchall()
# 遍历 BOM 结构,构建搭建清单
parts = {}
for item in bom:
part_no = item[1]
part_qty = item[2]
# 检查零部件是否已经在清单中
if part_no in parts:
parts[part_no] += part_qty
else:
# 查询零部件库,获取零部件信息
cursor.execute("SELECT * FROM parts WHERE part_no=?", (part_no,))
part_info = cursor.fetchone()
# 将零部件加入清单中
parts[part_no] = part_qty
parts[part_no + '_desc'] = part_info[1]
parts[part_no + '_price'] = part_info[2]
# 关闭数据库连接
conn.close()
# 输出搭建清单
total_cost = 0
print('BOM for REF:', ref)
print('------------------------')
for part_no, part_qty in parts.items():
if '_desc' in part_no:
continue
part_desc = parts[part_no + '_desc']
part_price = parts[part_no + '_price']
part_cost = part_qty * part_price
total_cost += part_cost
print('{} x {} - {} - ${:.2f}'.format(part_qty, part_no, part_desc, part_cost))
print('------------------------')
print('Total Cost: ${:.2f}'.format(total_cost))
# 测试程序
build_bom('REF001')
```
该程序使用 SQLite 数据库存储 BOM 和零部件信息,可以根据需要进行扩展和修改。在程序中,我们首先连接数据库,然后查询 REF 的 BOM 结构,遍历 BOM 结构,查询每个零部件的信息,构建搭建清单,最后输出搭建清单和总体成本。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)