选型错误是项目失败的主因。对于金属制品企业,档案软件的核心是管理从原材料、生产批次到成品出货的全链路数据追溯。
在接触任何软件前,先用表格明确需求。以下是一个基础需求清单,请根据你的企业情况增删。
| 需求类别 | 具体功能点 | 是否必需 |
|---|---|---|
| 物料档案 | 支持钢材牌号(如Q235、304)、规格、炉号、批次、重量、力学性能报告(PDF/图片)上传与关联 | 是 |
| 工艺档案 | 管理下料、焊接、热处理、表面处理(如镀锌、喷塑)的工艺卡片、参数记录、操作员信息 | 是 |
| 质量档案 | 记录探伤报告(UT/RT)、尺寸检验记录、涂层厚度检测报告,并与生产批次绑定 | 是 |
| 设备档案 | 关键设备(如激光切割机、折弯机、焊机)的保养记录、点检表、维修历史 | 是 |
| 追溯查询 | 通过成品编号反向追溯所用原材料批次、所有工序记录、检验报告 | 是 |
| 报表输出 | 一键生成物料履历表、质量证明书(MTC/COC)等格式文档 | 是 |
根据IT能力和预算决定:
决策要点:询问供应商是否提供标准API接口(用于未来与ERP、MES集成)和数据库结构文档(为二次开发做准备)。
我们选择开源ERP Odoo作为基础进行演示,因其模块化、可扩展性强,社区版免费。我们将在Ubuntu 20.04 LTS系统上部署。
通过SSH连接到你的服务器,执行以下命令:
1. 更新系统并安装必要工具
sudo apt update && sudo apt upgrade -y
sudo apt install git python3-pip build-essential wget python3-dev libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less -y
2. 安装PostgreSQL数据库
sudo apt install postgresql postgresql-client -y
3. 创建数据库用户(将‘odoo’和‘your_password’替换为你的信息)
sudo su - postgres -c "createuser -s odoo"
sudo su - postgres -c "psql -c \"ALTER USER odoo WITH PASSWORD 'your_strong_password_here';\""
4. 安装wkhtmltopdf(用于报表打印)
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb
继续执行命令:
1. 创建odoo系统用户并切换到该用户
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
2. 使用odoo用户克隆源码(这里使用稳定版本15.0)
sudo su - odoo -s /bin/bash
git clone https://github.com/odoo/odoo.git --depth 1 --branch 15.0 /opt/odoo/odoo-source
3. 创建虚拟环境并安装Python依赖
cd /opt/odoo
python3 -m venv odoo-venv
source odoo-venv/bin/activate
pip3 install wheel
pip3 install -r odoo-source/requirements.txt
deactivate
exit 退出odoo用户,回到root或sudo用户
4. 创建Odoo配置文件
sudo nano /etc/odoo.conf
将以下配置完整粘贴到/etc/odoo.conf文件中,并根据注释修改:
[options]
admin_passwd = your_master_admin_password 设置主控密码
db_host = False
db_port = False
db_user = odoo
db_password = your_strong_password_here 与之前设置的数据库密码一致
addons_path = /opt/odoo/odoo-source/addons
logfile = /var/log/odoo/odoo.log
log_level = warn
保存并退出(按Ctrl+X,然后按Y,再按Enter)。
1. 创建日志目录
sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo
2. 创建系统服务文件
sudo nano /etc/systemd/system/odoo.service
将以下内容粘贴到服务文件中:
[Unit]
Description=Odoo 15
After=postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo-source/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
保存后,启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable odoo
sudo systemctl start odoo
sudo systemctl status odoo 检查状态,应显示“active (running)”
现在,在浏览器访问 http://你的服务器IP地址:8069,你将看到Odoo的数据库创建页面。
创建数据库并登录后,进入Odoo应用界面。
点击“应用”,搜索并安装以下核心模块:
步骤1:创建原材料产品类别。 进入“库存 → 配置 → 产品 → 产品类别”,创建如“板材”、“型材”、“焊材”、“辅料”等类别。
步骤2:创建产品(物料)档案。 进入“库存 → 产品 → 产品”,点击“创建”。

步骤3:关联技术文档。 在产品的“详情”页面,使用“文档”应用功能,直接上传该物料对应的技术标准PDF、材料证书等文件。
步骤1:创建生产工序。 进入“制造 → 配置 → 工序”,创建“激光下料”、“折弯”、“焊接”、“打磨”、“喷粉”等工序。
步骤2:配置质量控制点。 进入“质量 → 配置 → 控制点”。
步骤3:执行生产与检验。 创建生产订单(MO)时,系统会自动根据BOM(物料清单)关联原材料批次。工人在每道工序完成后,通过平板或电脑终端,在“制造”应用里登记该工序的完成情况,并在“质量”应用里触发对应的控制点检验,录入实测数据或上传报告。所有数据自动关联至该生产订单和最终产品序列号。
Odoo的标准功能可能无法完全满足金属行业的特殊报表格式,需要进行定制。
在服务器上,以odoo用户身份创建自定义模块目录:
sudo su - odoo
cd /opt/odoo
mkdir -p custom-addons
cd custom-addons
mkdir metal_traceability
cd metal_traceability
创建模块声明文件 __manifest__.py:
{
'name': 'Metal Product Traceability',
'version': '1.0',
'summary': 'Enhanced traceability and report for metal manufacturing.',
'category': 'Manufacturing',
'author': 'Your Company',
'website': '',
'depends': ['mrp', 'stock', 'quality'],
'data': [
'views/mrp_production_views.xml',
'reports/material_certificate_report.xml',
],
'installable': True,
'application': True,
'auto_install': False,
}
创建模块图标文件 __init__.py(可以为空)。
创建文件 views/mrp_production_views.xml:
mrp.production.form.inherit
mrp.production
创建文件 models/mrp_production.py:
from odoo import models, fields, api
class MrpProduction(models.Model):
_inherit = 'mrp.production'
def action_open_traceability(self):
此方法收集当前生产订单的所有相关信息
1. 获取原材料批次
raw_material_moves = self.move_raw_ids.mapped('move_line_ids.lot_id')
2. 获取所有工序的质量检验结果
quality_checks = self.check_ids
3. 组织数据,这里可以跳转到一个自定义的网页视图展示
为简化,我们先打印到日志
_logger.info(f"Trace for MO {self.name}: Raw Lots: {raw_material_moves.mapped('name')}")
(实际开发中,此处应返回一个窗口动作,打开一个包含所有追溯信息的树形或表单视图)
return True
同时需要在 models/__init__.py 中导入此模型文件。
退出odoo用户,编辑Odoo配置文件,将自定义模块路径加入:
sudo nano /etc/odoo.conf
找到addons_path一行,修改为(注意用逗号分隔):
addons_path = /opt/odoo/odoo-source/addons,/opt/odoo/custom-addons
保存后,重启Odoo服务:
sudo systemctl restart odoo
在Odoo后台的“应用”中,刷新本地模块列表,搜索并安装你刚刚创建的“Metal Product Traceability”模块。
至此,一个具备基础档案管理、生产质量数据采集、并支持关键功能二次开发的金属制品企业档案系统已部署完成。后续你可以基于此框架,继续开发符合你企业标准的“质量证明书PDF自动生成”等高级功能。