# 待报工台账 ## 背景 排产后需要一个"待报工台账":展示已排产但尚未报工完的任务,核心指标 **待报工数量 = 排产数量 − 已报工数量**。数据源为生产任务(`mes_pro_task`),任务级汇总视图。 ## 涉及页面 - 新增菜单/页面:待报工台账(生产管理下) - 复用生产任务列表的关联展示(工单/产品/工序/工位/客户) ## API | 方法 | 路径 | 说明 | |------|------|------| | GET | /mes/pro/task/pending-feedback-page | 待报工台账分页(进行中且仍有待报工量的任务)| ### 请求参数(Query,复用 MesProTaskPageReqVO) | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | pageNo | Integer | 是 | 页码 | | pageSize | Integer | 是 | 每页条数 | | code | String | 否 | 任务编码(模糊)| | name | String | 否 | 任务名称(模糊)| | workOrderId | Long | 否 | 生产工单编号 | | routeId | Long | 否 | 工艺路线编号 | | processId | Long | 否 | 工序编号 | | workstationId | Long | 否 | 工作站编号 | | createTime | LocalDateTime[] | 否 | 创建时间区间 | > `status`/`statuses` 参数在此接口被忽略:后端强制 `status=进行中(0)`,且过滤 `待报工数量 > 0`。 ### 响应(MesProTaskRespVO,关键字段) | 字段 | 类型 | 说明 | |------|------|------| | id | Long | 任务编号 | | code | String | 任务编码 | | name | String | 任务名称 | | workOrderCode / workOrderName | String | 工单编码/名称 | | itemCode / itemName / itemSpecification | String | 产品编码/名称/规格 | | unitMeasureName | String | 计量单位 | | processName | String | 工序名称 | | workstationCode / workstationName | String | 工位编码/名称 | | clientName | String | 客户名称 | | quantity | BigDecimal | 排产数量 | | producedQuantity | BigDecimal | 已报工数量(已审批累加)| | qualifyQuantity | BigDecimal | 合格品数量 | | unqualifyQuantity | BigDecimal | 不良品数量 | | **pendingQuantity** | BigDecimal | **待报工数量 = 排产 − 已报工** | | **feedbackRate** | BigDecimal | **报工完成率(%) = 已报工 / 排产 × 100** | | startTime / endTime | LocalDateTime | 排产开始/结束时间 | | requestDate | LocalDateTime | 需求日期 | | status | Integer | 任务状态(此处恒为 0=进行中)| **响应示例:** ```json { "code": 0, "data": { "list": [ { "id": 101, "code": "PT202507130001", "name": "电路板【100】个", "workOrderCode": "WO-001", "itemName": "电路板", "processName": "注塑", "workstationName": "注塑工作站", "quantity": 100.00, "producedQuantity": 30.00, "qualifyQuantity": 29.00, "unqualifyQuantity": 1.00, "pendingQuantity": 70.00, "feedbackRate": 30.00, "status": 0 } ], "total": 1 } } ``` ## 前端修改点 ### 1. 表格列建议 ```html ``` ### 2. 查询表单 ```html ``` ### 3. API 调用 ```js // api/mes/pro/task.js export function getPendingFeedbackPage(params) { return request({ url: '/mes/pro/task/pending-feedback-page', method: 'get', params }) } ``` ```js // 页面 list 方法 getList() { this.loading = true getPendingFeedbackPage(this.queryParams).then(res => { this.list = res.data.list this.total = res.data.total }).finally(() => this.loading = false) } ``` ## 注意事项 - 台账只显示 **进行中 + 仍有待报工量** 的任务:已报满(待报工=0)或已完工/已取消的任务不出现。 - 想看"所有进行中任务(含已报满未关单)"用 `/mes/pro/task/page?status=0`。 - `producedQuantity` 只含**已审批通过**的报工;草稿/审批中/待检验的报工未回写,台账看不到这部分在途报工量。 - 该接口复用任务分页权限 `mes:pro-task:query`,如需独立权限可新增按钮权限码。