package cn.iocoder.yudao.module.mes.service.qc.ncr; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.qc.ncr.vo.MesQcNcrPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.ncr.vo.MesQcNcrSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.ncr.MesQcNcrDO; import jakarta.validation.Valid; import java.util.Collection; import java.util.Map; /** * MES 不合格品处理单(NCR) Service 接口 * * @author 超级管理员 */ public interface MesQcNcrService { /** * 创建不合格品处理单 * * @param createReqVO 创建信息 * @return 编号 */ Long createNcr(@Valid MesQcNcrSaveReqVO createReqVO); /** * 更新不合格品处理单 * * @param updateReqVO 更新信息 */ void updateNcr(@Valid MesQcNcrSaveReqVO updateReqVO); /** * 删除不合格品处理单 * * @param id 编号 */ void deleteNcr(Long id); /** * 评审不合格品处理单 * * @param id 编号 * @param disposition 处置方式 * @param responsibleDeptId 责任部门ID * @param defectLevel 缺陷等级 * @param reviewOpinion 评审意见 */ void reviewNcr(Long id, Integer disposition, Long responsibleDeptId, Integer defectLevel, String reviewOpinion); /** * 执行不合格品处置 * * @param id 编号 * @param handlerUserId 处理人ID * @param handleResult 处理结果说明 */ void disposeNcr(Long id, Long handlerUserId, String handleResult); /** * 关闭不合格品处理单 * * @param id 编号 * @param closeOpinion 关闭意见 */ void closeNcr(Long id, String closeOpinion); /** * 校验不合格品处理单存在 * * @param id 编号 * @return 不合格品处理单 */ MesQcNcrDO validateNcrExists(Long id); /** * 获得不合格品处理单 * * @param id 编号 * @return 不合格品处理单 */ MesQcNcrDO getNcr(Long id); /** * 获得不合格品处理单分页 * * @param pageReqVO 分页查询 * @return 不合格品处理单分页 */ PageResult getNcrPage(MesQcNcrPageReqVO pageReqVO); /** * 批量获取不合格品处理单 Map * * @param ids 编号集合 * @return 不合格品处理单 Map */ Map getNcrMap(Collection ids); }