Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:55:46 +08:00
commit b710247ba7
27 changed files with 6516 additions and 0 deletions

View File

@@ -0,0 +1,103 @@
{
"接口名称": "工单列表",
"接口路径": "/openapi/domain/web/v1/route/med/open/v2/work_order/base/_list",
"请求方法": "POST",
"代码位置": "services/business.js line 59",
"请求参数": {
"page": {
"类型": "number",
"必填": false,
"默认": 1,
"说明": "页码"
},
"size": {
"类型": "number",
"必填": false,
"默认": 50,
"说明": "每页数量"
},
"workOrderCode": {
"类型": "string",
"必填": false,
"说明": "工单编号(模糊查询)"
},
"exactWorkOrderCode": {
"类型": "string",
"必填": false,
"说明": "工单编号(精确查询)"
},
"workOrderStatusList": {
"类型": "number[]",
"必填": false,
"说明": "工单业务状态列表"
},
"pauseFlag": {
"类型": "number",
"必填": false,
"说明": "是否暂停 0未暂停 1已暂停"
}
},
"响应结构": {
"code": "200 表示成功",
"message": "返回信息",
"data": {
"list": "工单数组",
"page": "当前页",
"total": "总条数"
}
},
"关键响应字段": {
"data.list[].workOrderId": "number - 工单ID必填用于查询任务和报工",
"data.list[].workOrderCode": "string - 工单编号(显示用)",
"data.list[].materialInfo": "object - 完整物料信息对象,包含 baseInfo、attribute、conversions、unit 等",
"data.list[].materialInfo.baseInfo.id": "number - 物料ID主产出物料ID",
"data.list[].materialInfo.baseInfo.name": "string - 物料名称(显示:加工物料名称)",
"data.list[].materialInfo.baseInfo.code": "string - 物料编码(显示:物料编号)",
"data.list[].materialInfo.baseInfo.specification": "string - 规格",
"data.list[].materialInfo.conversions[]": "array - 单位转换关系数组",
"data.list[].materialInfo.conversions[].fromUnitId": "number - 基本单位ID",
"data.list[].materialInfo.conversions[].fromUnitName": "string - 基本单位名称",
"data.list[].materialInfo.conversions[].toUnitId": "number - 转换单位ID",
"data.list[].materialInfo.conversions[].toUnitName": "string - 转换单位名称",
"data.list[].materialInfo.unit": "object - 物料单位信息",
"data.list[].materialInfo.unit.id": "number - 单位ID",
"data.list[].materialInfo.unit.code": "string - 单位编码",
"data.list[].materialInfo.unit.name": "string - 单位名称",
"data.list[].qualifiedHoldAmount": "BaseAmountDisplay对象 - 合格报工数(显示用)",
"data.list[].qualifiedHoldAmount.amount": "number - 合格数量",
"data.list[].qualifiedHoldAmount.amountDisplay": "string - 合格数量显示",
"data.list[].disqualifiedHoldAmount": "BaseAmountDisplay对象 - 不良报工数(显示用)",
"data.list[].disqualifiedHoldAmount.amount": "number - 不良数量",
"data.list[].totalHoldAmount": "BaseAmountDisplay对象 - 总报工数(显示用)",
"data.list[].totalHoldAmount.amount": "number - 总数量",
"data.list[].expectedAmount": "BaseAmountDisplay对象 - 预计生产数",
"data.list[].plannedAmount": "BaseAmountDisplay对象 - 计划生产数",
"data.list[].createdAt": "number - 创建时间戳",
"data.list[].updatedAt": "number - 更新时间戳",
"data.list[].plannedStartTime": "number - 计划开始时间戳",
"data.list[].plannedEndTime": "number - 计划完工时间戳",
"data.list[].pauseFlag": "number - 暂停状态 1:是 0:否",
"data.list[].workOrderStatus": "object - 工单状态",
"data.list[].workOrderStatus.code": "number - 状态码",
"data.list[].workOrderStatus.message": "string - 状态描述",
"data.list[].workOrderType": "object - 工单类型",
"data.list[].processRoute": "object - 工艺路线信息",
"data.list[].processRoute.id": "number - 工艺路线ID",
"data.list[].processRoute.code": "string - 工艺路线编码",
"data.list[].processRoute.name": "string - 工艺路线名称"
},
"BaseAmountDisplay 结构": {
"amount": "number - 数量",
"amountDisplay": "string - 显示文本(无科学计数法)",
"unitId": "number - 单位ID",
"unitCode": "string - 单位编码",
"unitName": "string - 单位名称"
},
"使用示例": "参见 services/business.js:28-141 的 getWorkOrderList 方法和 processWorkOrderListResponse 方法"
}

View File

@@ -0,0 +1,115 @@
{
"接口名称": "批量报工",
"接口路径": "/openapi/domain/web/v1/route/mfg/open/v1/progress_report/_progress_report",
"请求方法": "POST",
"代码位置": "services/business.js line 516",
"请求参数": {
"taskId": {
"类型": "number",
"必填": true,
"说明": "生产任务ID从生产任务列表获取"
},
"progressReportMaterial": {
"类型": "object",
"必填": true,
"说明": "报工物料对象(从报工物料列表获取)",
"结构": {
"lineId": "number - 物料行ID",
"materialId": "number - 物料ID",
"reportProcessId": "number - 报工工序ID"
}
},
"qcStatus": {
"类型": "number",
"必填": false,
"默认": 1,
"说明": "质量状态1合格 2让步合格 3代检 4不合格"
},
"reportType": {
"类型": "number",
"必填": false,
"默认": 2,
"说明": "报工方式1扫码报工-合格 2记录报工-合格 3扫码报工-不合格 4记录报工-不合格 5打码报工-合格 6打码报工-不合格)"
},
"progressReportItems": {
"类型": "array",
"必填": true,
"说明": "报工详情数组",
"结构": [{
"executorIds": "number[] - 执行人ID列表",
"progressReportMaterialItems": "array - 物料报工项",
"progressReportMaterialItems[].reportAmount": "number - 报工数量(必填)",
"progressReportMaterialItems[].reportUnitId": "number - 报工单位ID必填从 outputMaterialUnit.id 获取)",
"progressReportMaterialItems[].remark": "string - 备注(可选)"
}]
},
"storageLocationId": {
"类型": "number",
"必填": false,
"说明": "仓位ID当前预置为 1716848012872791"
},
"reportStartTime": {
"类型": "number",
"必填": false,
"说明": "报工开始时间(毫秒时间戳)"
},
"reportEndTime": {
"类型": "number",
"必填": false,
"说明": "报工结束时间(毫秒时间戳)"
},
"actualExecutorIds": {
"类型": "number[]",
"必填": false,
"说明": "实际执行人ID列表"
},
"actualEquipmentIds": {
"类型": "number[]",
"必填": false,
"说明": "设备ID列表"
},
"workHour": {
"类型": "number",
"必填": false,
"说明": "工时"
},
"workHourUnit": {
"类型": "number",
"必填": false,
"说明": "工时单位"
},
"qcDefectReasonIds": {
"类型": "number[]",
"必填": false,
"说明": "不良原因ID列表质量状态为不合格时"
}
},
"响应结构": {
"code": "200 表示成功",
"message": "返回信息",
"data": {
"messageTraceId": "string - 消息追踪ID",
"progressReportRecordIds": "number[] - 报工记录ID列表"
}
},
"关键说明": [
"必须先调用 getReportRequiredParams 获取 taskId、progressReportMaterial、reportUnitId 等必填参数",
"progressReportMaterial 对象的结构不可修改,必须从报工物料列表接口获取",
"reportUnitId 必须从报工物料列表的 outputMaterialUnit.id 获取",
"executorIds 必须从生产任务列表的 executorList[].id 获取"
],
"完整调用流程示例": {
"步骤1": "查询工单列表 -> 获取 workOrderId 和物料信息",
"步骤2": "查询生产任务 -> 获取 taskId 和 executorIds",
"步骤3": "查询报工物料 -> 获取 progressReportKey 和 reportUnitId",
"步骤4": "构建报工参数 -> 调用批量报工接口",
"步骤5": "查询报工记录 -> 显示最新报工信息"
},
"使用示例": "参见 services/business.js:406-482 的 buildReportRequestParams 方法和 submitReport 方法"
}

View File

@@ -0,0 +1,106 @@
{
"接口名称": "批量报工",
"接口路径": "/openapi/domain/web/v1/route/mfg/open/v1/progress_report/_progress_report",
"请求方法": "POST",
"代码位置": "services/business.js line 516",
"请求参数": {
"taskId": {
"类型": "number",
"必填": true,
"说明": "生产任务ID从生产任务列表获取"
},
"progressReportMaterial": {
"类型": "object",
"必填": true,
"说明": "报工物料对象(从报工物料列表获取)",
"结构": {
"lineId": "number - 物料行ID",
"materialId": "number - 物料ID",
"reportProcessId": "number - 报工工序ID"
}
},
"qcStatus": {
"类型": "number",
"必填": false,
"默认": 1,
"说明": "质量状态1合格 2让步合格 3代检 4不合格"
},
"reportType": {
"类型": "number",
"必填": false,
"默认": 2,
"说明": "报工方式1扫码报工-合格 2记录报工-合格 3扫码报工-不合格 4记录报工-不合格 5打码报工-合格 6打码报工-不合格)"
},
"progressReportItems": {
"类型": "array",
"必填": true,
"说明": "报工详情数组",
"结构": [{
"executorIds": "number[] - 执行人ID列表",
"progressReportMaterialItems": "array - 物料报工项",
"progressReportMaterialItems[].reportAmount": "number - 报工数量(必填)",
"progressReportMaterialItems[].reportUnitId": "number - 报工单位ID必填从 outputMaterialUnit.id 获取)",
"progressReportMaterialItems[].remark": "string - 备注(可选)"
}]
},
"storageLocationId": {
"类型": "number",
"必填": false,
"说明": "仓位ID当前预置为 1716848012872791"
},
"reportStartTime": {
"类型": "number",
"必填": false,
"说明": "报工开始时间(毫秒时间戳)"
},
"reportEndTime": {
"类型": "number",
"必填": false,
"说明": "报工结束时间(毫秒时间戳)"
},
"actualExecutorIds": {
"类型": "number[]",
"必填": false,
"说明": "实际执行人ID列表"
},
"actualEquipmentIds": {
"类型": "number[]",
"必填": false,
"说明": "设备ID列表"
},
"workHour": {
"类型": "number",
"必填": false,
"说明": "工时"
},
"workHourUnit": {
"类型": "number",
"必填": false,
"说明": "工时单位"
},
"qcDefectReasonIds": {
"类型": "number[]",
"必填": false,
"说明": "不良原因ID列表质量状态为不合格时"
}
},
"响应结构": {
"code": "200 表示成功",
"message": "返回信息",
"data": {
"messageTraceId": "string - 消息追踪ID",
"progressReportRecordIds": "number[] - 报工记录ID列表"
}
},
"关键说明": [
"必须先调用 getReportRequiredParams 获取 taskId、progressReportMaterial、reportUnitId 等必填参数",
"progressReportMaterial 对象的结构不可修改,必须从报工物料列表接口获取",
"reportUnitId 必须从报工物料列表的 outputMaterialUnit.id 获取"
],
"使用示例": "参见 services/business.js:406-482 的 buildReportRequestParams 方法和 submitReport 方法"
}

View File

@@ -0,0 +1,50 @@
{
"接口名称": "报工物料列表",
"接口路径": "/openapi/domain/web/v1/route/mfg/open/v1/progress_report/_list_progress_report_materials",
"请求方法": "POST",
"代码位置": "services/business.js line 324",
"请求参数": {
"taskId": {
"类型": "number",
"必填": true,
"说明": "生产任务ID"
}
},
"响应结构": {
"code": "200 表示成功",
"message": "返回信息",
"data": {
"outputMaterials": "产出物料数组",
"inputMaterials": "投入物料数组"
}
},
"关键响应字段 - outputMaterials[]": {
"materialInfo": "object - 物料信息,包含 baseInfoid、name、code 等)",
"materialInfo.baseInfo.id": "number - 物料ID主产出物料ID",
"materialInfo.baseInfo.name": "string - 物料名称(显示:加工物料名称)",
"materialInfo.baseInfo.code": "string - 物料编码(显示:物料编号)",
"materialInfo.baseInfo.specification": "string - 规格",
"outputMaterialUnit": "object - 报工单位信息(必填,用于报工)",
"outputMaterialUnit.id": "number - 单位ID报工时必需reportUnitId",
"outputMaterialUnit.code": "string - 单位编码",
"outputMaterialUnit.name": "string - 单位名称个、kg",
"mainFlag": "boolean - 是否为主产出物料(优先选择 mainFlag=true 的物料)",
"reportType": "array<number> - 可报工方式列表",
"warehousingFlag": "boolean - 是否入库",
"autoWarehousingFlag": "boolean - 是否自动入库",
"progressReportKey": "object - 报工关系信息(必填,用于构建报工参数)",
"progressReportKey.lineId": "number - 物料行ID报工时必需",
"progressReportKey.materialId": "number - 物料ID报工时必需",
"progressReportKey.reportProcessId": "number - 报工工序ID报工时必需",
"outputMaterialAmount": "object - 产出物料数量信息",
"outputMaterialAmount.amount": "number - 数量",
"outputMaterialAmount.amountDisplay": "string - 数量显示"
},
"使用场景": "用于获取报工必填参数,特别是 progressReportKey 和 outputMaterialUnit",
"使用示例": "参见 services/business.js:318-389 的 getReportRequiredParams 方法"
}

View File

@@ -0,0 +1,128 @@
{
"接口名称": "报工记录列表",
"接口路径": "/openapi/domain/web/v1/route/mfg/open/v1/progress_report/_list",
"请求方法": "POST",
"代码位置": "services/business.js line 718",
"请求参数": {
"page": {
"类型": "number",
"必填": false,
"默认": 1,
"说明": "页码"
},
"size": {
"类型": "number",
"必填": false,
"默认": 200,
"说明": "每页数量"
},
"taskIds": {
"类型": "number[]",
"必填": false,
"说明": "生产任务ID列表与 workOrderIdList 至少提供一个)"
},
"workOrderIdList": {
"类型": "number[]",
"必填": false,
"说明": "工单ID列表与 taskIds 至少提供一个)"
},
"reportTimeFrom": {
"类型": "number",
"必填": false,
"说明": "报工时间From(闭区间),毫秒时间戳"
},
"reportTimeTo": {
"类型": "number",
"必填": false,
"说明": "报工时间To(开区间),毫秒时间戳"
},
"sorter": {
"类型": "array",
"必填": false,
"默认": [{"field": "reportTime", "order": "desc"}],
"说明": "排序条件列表",
"结构": [{
"field": "string - 排序字段(如 reportTime、taskCode",
"order": "string - 排序规律asc 升序 / desc 降序,默认 asc"
}]
},
"processIdList": {
"类型": "number[]",
"必填": false,
"说明": "工序ID列表"
},
"executorIdList": {
"类型": "number[]",
"必填": false,
"说明": "可执行人ID列表"
},
"qcStatusList": {
"类型": "number[]",
"必填": false,
"说明": "质量状态列表"
}
},
"响应结构": {
"code": "200 表示成功",
"message": "返回信息",
"data": {
"list": "报工记录数组",
"page": "当前页",
"total": "总条数"
}
},
"关键响应字段 - list[]": {
"id": "number - 报工记录详情id",
"lineId": "number - 物料行id",
"reportRecordId": "number - 报工记录id",
"taskId": "number - 生产任务Id",
"taskCode": "string - 生产任务编号",
"workOrderId": "number - 工单Id",
"workOrderCode": "string - 工单编号(显示用)",
"processId": "number - 工序Id",
"processCode": "string - 工序编号",
"processName": "string - 工序名称",
"mainMaterialId": "number - 工单物料id",
"mainMaterialCode": "string - 工单物料编号",
"mainMaterialName": "string - 工单物料名称",
"materialInfo": "object - 报工物料信息",
"materialInfo.baseInfo.id": "number - 物料ID",
"materialInfo.baseInfo.name": "string - 物料名称",
"materialInfo.baseInfo.code": "string - 物料编码",
"reportBaseAmount": "object - 报工数量对象",
"reportBaseAmount.amount": "number - 报工数量(显示:报工数量 10个",
"reportBaseAmount.unit": "object - 单位信息",
"reportBaseAmount.unit.name": "string - 单位名称",
"reportBaseAmountDisplay": "object - 报工数量显示对象",
"reportBaseAmountDisplay.amount": "number - 报工数量",
"reportBaseAmountDisplay.amountDisplay": "string - 报工数量显示文本",
"reportBaseAmountDisplay.unitCode": "string - 单位编码",
"reportBaseAmountDisplay.unitId": "number - 单位ID",
"reportBaseAmountDisplay.unitName": "string - 单位名称",
"reportTime": "number - 报工时间,毫秒时间戳(显示:报工时间 2024-11-26 14:30",
"reporter": "object - 报工人员",
"reporter.id": "number - 报工人ID",
"reporter.name": "string - 报工人姓名",
"reporter.username": "string - 报工人用户名",
"producers": "array - 生产人员数组",
"producers[].id": "number - 生产人ID",
"producers[].name": "string - 生产人姓名",
"qcStatus": "object - 质量状态",
"qcStatus.code": "number - 质量状态码1:合格 4:不合格)",
"qcStatus.message": "string - 质量状态描述",
"workHourUnit": "object - 工时单位",
"startTime": "number - 报工开始时间,毫秒时间戳(可选)",
"endTime": "number - 报工结束时间,毫秒时间戳(可选)",
"workHour": "number - 工时(可选)",
"remark": "string - 备注(可选)",
"reportRecordCode": "string - 报工记录编号(可选)",
"createdAt": "number - 创建时间戳",
"updatedAt": "number - 更新时间戳"
},
"使用示例": "参见 services/business.js:643-752 的 getReportRecordsByTask 方法"
}

View File

@@ -0,0 +1,28 @@
# 接口文档
## 📋 概述
本文档详细说明了本项目涉及的所有接口调用情况。
## 🔄 接口调用流程
### 1. 页面初始化流程
```
页面加载 → url获取 code → 换取 access_token提供后续open接口调用
```
### 2. 选择工单
```
用户选择特定工单 → 选择后回显工单上的物料信息
```
### 3. 报工提交流程
```
用户填写报工数据 → 点击提交 → 构建批量报工请求参数 → 调用批量报工接口 → 清空表单
```
### 4. 查看报工记录(可选)
```
根据用户报工时使用的生产 taskId 或者 workOrderId → 构建报工记录的请求参数 → 调用报工记录的接口 → 渲染数据
```

View File

@@ -0,0 +1,61 @@
{
"接口名称": "生产任务列表",
"接口路径": "/openapi/domain/web/v1/route/mfg/open/v1/produce_task/_list",
"请求方法": "POST",
"代码位置": "services/business.js line 303",
"请求参数": {
"page": {
"类型": "number",
"必填": false,
"默认": 1,
"说明": "页码"
},
"size": {
"类型": "number",
"必填": false,
"默认": 10,
"说明": "每页数量"
},
"workOrderIdList": {
"类型": "number[]",
"必填": true,
"说明": "工单ID列表"
}
},
"响应结构": {
"code": "200 表示成功",
"message": "返回信息",
"data": {
"list": "生产任务数组",
"page": "当前页",
"total": "总条数"
}
},
"关键响应字段": {
"data.list[].taskId": "number - 生产任务ID必填用于报工",
"data.list[].taskCode": "string - 生产任务编号",
"data.list[].workOrderId": "number - 工单ID",
"data.list[].workOrderCode": "string - 工单编号",
"data.list[].executorList": "array - 执行人列表(报工时需要)",
"data.list[].executorList[].id": "number - 执行人ID",
"data.list[].executorList[].code": "string - 执行人编号",
"data.list[].executorList[].name": "string - 执行人姓名",
"data.list[].executorList[].username": "string - 用户名",
"data.list[].processId": "number - 工序ID",
"data.list[].processCode": "string - 工序编号",
"data.list[].processName": "string - 工序名称",
"data.list[].taskStatus": "object - 任务状态",
"data.list[].taskStatus.code": "number - 状态码",
"data.list[].taskStatus.message": "string - 状态描述",
"data.list[].materialInfo": "object - 主产出物料信息",
"data.list[].materialInfo.baseInfo.id": "number - 物料ID",
"data.list[].materialInfo.baseInfo.name": "string - 物料名称",
"data.list[].materialInfo.baseInfo.code": "string - 物料编码"
},
"使用场景": "用于获取工单下的生产任务信息,特别是获取 taskId 用于后续报工操作",
"使用示例": "参见 services/business.js:287-317 的 getReportRequiredParams 方法中的任务查询部分"
}