| | |
| | | package cn.iocoder.yudao.module.mes.service.pro.feedback; |
| | | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo.MesProFeedbackPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo.MesProFeedbackSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo.*; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.feedback.MesProFeedbackDO; |
| | | import jakarta.validation.Valid; |
| | | |
| | |
| | | /** |
| | | * MES 生产报工 Service 接口 |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | public interface MesProFeedbackService { |
| | | |
| | |
| | | /** |
| | | * 提交报工(草稿 → 审批中) |
| | | * |
| | | * @param id 编号 |
| | | * @param reqVO 提交请求 |
| | | */ |
| | | void submitFeedback(Long id); |
| | | void submitFeedback(@Valid MesProFeedbackSubmitReqVO reqVO); |
| | | |
| | | /** |
| | | * 驳回报工(审批中 → 草稿) |
| | |
| | | * <ol> |
| | | * <li>校验报工单状态和数量</li> |
| | | * <li>生成物料消耗单,扣减线边库物料</li> |
| | | * <li>根据工序配置(关键工序 & 是否需要检验)分情况处理: |
| | | * <ul> |
| | | * <li><b>关键工序 + 需要检验</b>:生成产出单(质量状态=待检验),报工单状态 → 待检验,等待质检完成回调</li> |
| | | * <li><b>关键工序 + 无需检验</b>:生成产出单(按合格/不合格拆行),执行产品入库,更新任务/工单已生产数量,报工单状态 → 已完成</li> |
| | | * <li><b>非关键工序</b>:不生成产出单,不更新任务/工单数量,报工单状态 → 已完成</li> |
| | | * </ul> |
| | | * </li> |
| | | * <li>生成待检产出,累计生产数量;人工质检完成后回写质量数量并处理入库</li> |
| | | * </ol> |
| | | * |
| | | * @param id 报工单编号 |
| | | * @param reqVO 审批请求(含报工单编号及可选批次属性) |
| | | * @return true=已完成, false=待检验(需等质检回调) |
| | | */ |
| | | boolean approveFeedback(Long id); |
| | | boolean approveFeedback(@Valid MesProFeedbackApproveReqVO reqVO); |
| | | |
| | | /** |
| | | * 检查报工审批前是否需要填写批次属性 |
| | | * |
| | | * @param feedbackId 报工单编号 |
| | | * @return 批次需求检查结果 |
| | | */ |
| | | MesProFeedbackBatchCheckRespVO checkBatchRequirements(Long feedbackId); |
| | | |
| | | /** |
| | | * 处理 BPM 审批结果 |
| | | * |
| | | * @param id 报工单ID |
| | | * @param bpmResult 审批结果状态 |
| | | */ |
| | | void handleBpmProcessResult(Long id, Integer bpmResult,String reason); |
| | | |
| | | /** |
| | | * IPQC 完成后回调:完成报工单并更新任务/工单进度 |
| | | * |
| | | * <p>由 IPQC 检验完成时调用,将报工单状态从待检验改为已完成, |
| | | * 并根据检验结果回写合格/不合格/废品数量,同时更新任务/工单的已生产数量。 |
| | | * 并根据检验结果回写合格/不合格/废品数量;已生产数量在报工审批时累计。 |
| | | * |
| | | * @param feedbackId 报工记录 ID |
| | | * @param sourceLineId 来源产出行 ID(用于直接定位待检行) |
| | |
| | | BigDecimal qualifiedQty, BigDecimal unqualifiedQty, |
| | | BigDecimal laborScrapQty, BigDecimal materialScrapQty, BigDecimal otherScrapQty); |
| | | |
| | | /** |
| | | * 快速报工(创建并提交,跳过草稿状态) |
| | | * |
| | | * @param reqVO 快速报工请求 |
| | | * @return 报工结果 |
| | | */ |
| | | MesProFeedbackQuickCreateRespVO quickCreateFeedback(@Valid MesProFeedbackQuickCreateReqVO reqVO); |
| | | |
| | | /** |
| | | * 批量报工(批量创建并提交报工单) |
| | | * |
| | | * @param reqVO 批量报工请求 |
| | | * @return 批量报工结果 |
| | | */ |
| | | MesProFeedbackBatchCreateRespVO batchCreateFeedback(@Valid MesProFeedbackBatchCreateReqVO reqVO); |
| | | |
| | | } |
| | | |