# AOI 接口文档 ## 基本信息 - 基础路径:`/api/SpiAoi`(示例完整地址:`http://192.168.1.251:10054/api/SpiAoi`) - 请求与响应格式:`application/json; charset=utf-8` ## 统一返回模型(ResponseResult) - `status`:整数,`0` 表示成功,`1` 表示失败 - `message`:字符串,返回说明或错误信息 - `data`:对象,业务数据载体 - `TotalCount`:整数,仅分页接口使用,表示总记录数 ### Aoi数据说明 设备与产线: - `machineName`:字符串,可空。检测机台名称。 - `lineDisplayName`:字符串,可空。产线显示名称。 缺陷计数(均为整数,必须 ≥0): - `offsetCount`:偏位数量(器件贴装偏移)。 - `missingCount`:缺件数量(器件缺失)。 - `reverseCount`:反向数量(器件极性/方向反装)。 - `liftedCount`:翘起数量(器件一端或整体翘起)。 - `floatHighCount`:浮高数量(器件高度超差)。 - `tombstoneCount`:立碑数量(片式器件一端竖起)。 - `flipCount`:翻转数量(器件翻面/翻身)。 - `wrongPartCount`:错件数量(型号/规格错误)。 - `leadLiftCount`:翘脚数量(引脚未贴伏)。 - `coldJointCount`:虚焊数量(冷焊/假焊)。 - `noSolderCount`:空焊数量(焊料缺失)。 - `insufficientSolderCount`:少锡数量(焊料不足)。 - `excessSolderCount`:多锡数量(焊料过量)。 - `bridgeCount`:连锡数量(焊锡桥连)。 - `copperExposureCount`:漏铜数量(焊盘/线路铜箔外露)。 - `spikeCount`:拉尖数量(锡料拉尖)。 - `foreignMatterCount`:异物数量(污染/颗粒)。 - `glueOverflowCount`:溢胶数量(胶水外溢)。 - `pinOffsetCount`:引脚偏位数量(引脚未对中)。 产线统计(除比率外为整数,必须 ≥0): - `inputBoards`:投入板数(进入检测的板数量)。 - `okBoards`:OK 板数(检测为 OK 的板数量)。 - `passBoards`:通过板数(最终判定通过的板数量)。 - `passRate`:小数,单位百分比。合格率,例如 `98.00` 表示 98%。 - `defectBoards`:不良板数(最终判定不良的板数量)。 - `defectRate`:小数,单位百分比。不良率。 - `defectPpm`:整数,单位 PPM。不良数(百万分率)。 - `defectPoints`:不良点数(缺陷点合计)。 - `measuredPoints`:实测点数(实际完成检测的点数)。 - `pendingPoints`:待测点数(未完成检测的点数)。 返回字段示例: - `headerId`:数据库生成的 ID - `createdAt`:创建时间 - `updatedAt`:更新时间 --- ## 接口列表 以下两个接口覆盖单笔与批量入库场景,均使用 POST。 ### 1. UploadAoiHeader — 上传 AOI Header(单笔) - 路径:`POST /api/SpiAoi/UploadAoiHeader` - 描述:插入一条 AOI Header 记录,条码重复时返回错误。 - 请求示例 ```json { "testDate": "2025-10-10", "testTime": "14:33:21", "testResult": "0;0;0:1", "surface": "T", "totalPoints": 500, "actualDefects": 3, "equipmentModel": "SPI-9000", "workOrder": "WO20251010-01", "productModel": "MODEL-ABC", "boardBarcode": "BC123456789", "smtGroup": "A1", "lineName": "SMT-01" } ``` - 成功响应 ```json { "status": 0, "message": "OK", "data": { "headerId": 12001, "message": "AOI header upload succeeded" }, "TotalCount": 0 } ``` ### 2. UploadAoiHeaderBatch — 批量上传 AOI Header - 路径:`POST /api/SpiAoi/UploadAoiHeaderBatch` - 描述:一次插入多条 Header 记录;若任何一条校验或插入失败,整批回滚。 - 请求示例 ```json [ { "testDate": "2025-10-10", "testTime": "14:33:21", "testResult": "0;0;0:1", "surface": "T", "boardBarcode": "BC123456789" }, { "testDate": "2025-10-10", "testTime": "14:34:00", "testResult": "0;0;0:1", "surface": "B", "boardBarcode": "BC123456790" } ] ``` - 成功响应 ```json { "status": 0, "message": "OK", "data": { "headerIds": [12001, 12002], "message": "AOI header batch upload succeeded" }, "TotalCount": 0 } ``` ## 调用建议 - 严格按照字段类型与长度构造数据;数值类字段建议使用整型或保留合适小数位。 - 出现错误时先查看 `message`,再结合消息中心记录和服务端日志定位问题。 - 建议在批量调用前自行去重条码或关键字段,减少回滚概率。