基于金碟云星空实现硬件ECN校验
制造业的同仁都能意识到,ECN变更不成功的风险,对于最终产品的品质影响很大,有时候是致命的,但是对于普通企业来说,想要完全杜绝ECN错误似乎很难,不管多少人力介入把关,最终也很难完全杜绝。
所以,我就尝试用Python制作一个工具,用于ECN的系统复检,希望能帮助到有需要的人。
欢迎关注,相关开发陆续更新中
复检流程及数据关系
复检程序主要分为两大类:
1.系统的变更单是否生效,实际数据跟需要变更的数据进行复核;
2.原始需要表格与系统实际数据进行复核;
通过如上两者的比较,基本可以确定ECN变更完整性。
大致关系,如下图:
核心技术点介绍
1、打通软件访问金碟的逻辑,主要通过金碟Webapi接口,访问不同的表单,从而获取系统数据。
首先我们需要拿到访问ERP的账号的相关单据的权限,并且明确数据格式。
ERP相关数据如下:
“acctid”:“”,
“username”:“”,
“password”:“”,
“lcid”:
以上是读取ERP数据的关键。
def getERPData(FormId, FieldKeys, columns, FilterValue):
post_data = {"data": json.dumps({
"FormId": FormId, # 表名
"FieldKeys": FieldKeys,
# 我这里就取两个字段
"FilterString": FilterValue,
"OrderString": "",
"StartRow": 0,
"Limit": 100000,
"TopRowCount": 100000
})}
response = requests.post(url=viewall_url, data=post_data, cookies=login())
data = json.loads(response.text)
ExcelData = DataFrame(data=data, columns=columns)
如上函数,再添加不同表单的参数,既可返回对应的数据表,由于每家的系统参数不一样,就不针对每张表进行介绍。
2、本地数据标准化;
在实际数据处理中,数据的标准性很重要,这直接影响到执行效率和核检的结果,所以制定标准的文件是首要任务,这样才能保证工作的顺利进行,也预防后期工程师众多导致的非标,影响实际复检结果。
如下数据,一定要求标准,表格如下:
生产单号 | BOM版本号 | 子项物料编码 | 分子用量 | 分母用量 | 位置号 |
---|---|---|---|---|---|
PO_001 | BOMV1.0 | 1.01.001.05 | 5 | 1 | U2,U3 U4,U5 U6 |
PO_001 | BOMV1.1 | 1.01.001.05 | 1 | 1 | D2 |
PO_001 | BOMV1.2 | 1.01.001.05 | 2 | 1 | C2,C4 |
根据上表中的生产单核和BOM版本号,基本就可以判定复检的类型,支持如下类型的复检:
1、生产单号变更复检;
2、工程变更单的复检;
3、同时检测生产单号和工程变更单;