| | |
| | | */ |
| | | void updateProducedQuantity(Long id, BigDecimal incrQuantity); |
| | | |
| | | /** |
| | | * 检查销售订单的所有 MPS 是否已完成生产 |
| | | * |
| | | * 完成条件: |
| | | * 1. 已生产数量 >= 计划数量 |
| | | * 2. 所有报工单状态为 FINISHED(确保质检完成) |
| | | * |
| | | * @param saleOrderId 销售订单ID |
| | | * @return true=全部完成,false=未全部完成 |
| | | */ |
| | | Boolean checkSaleOrderProductionFinished(Long saleOrderId); |
| | | |
| | | /** |
| | | * 根据工单ID获取 MPS |
| | | * |
| | | * @param workOrderId 工单ID |
| | | * @return MPS |
| | | */ |
| | | MesProMpsDO getMpsByWorkOrderId(Long workOrderId); |
| | | |
| | | /** |
| | | * 检查并自动完成 MPS |
| | | * |
| | | * 如果 MPS 满足完成条件(已生产数量 >= 计划数量 且 所有报工已完成), |
| | | * 则自动将 MPS 状态更新为已完成 |
| | | * |
| | | * @param mpsId MPS 编号 |
| | | * @return true=已完成或本次自动完成,false=未完成 |
| | | */ |
| | | Boolean checkAndFinishMps(Long mpsId); |
| | | |
| | | } |