package cn.iocoder.yudao.module.mes.service.pd.processparam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pd.processparam.vo.MesPdProcessParamPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.pd.processparam.vo.MesPdProcessParamSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pd.processparam.MesPdProcessParamDO; import cn.iocoder.yudao.module.mes.dal.mysql.pd.processparam.MesPdProcessParamMapper; import cn.iocoder.yudao.module.mes.enums.md.autocode.MesMdAutoCodeRuleCodeEnum; import cn.iocoder.yudao.module.mes.service.md.autocode.MesMdAutoCodeRecordService; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.Collection; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; /** * MES 工艺参数 Service 实现类 * * @author 芋道源码 */ @Service @Validated public class MesPdProcessParamServiceImpl implements MesPdProcessParamService { @Resource private MesPdProcessParamMapper processParamMapper; @Resource @Lazy private MesMdAutoCodeRecordService autoCodeRecordService; @Override public Long createProcessParam(MesPdProcessParamSaveReqVO createReqVO) { // 生成参数编码 String paramCode = autoCodeRecordService.generateAutoCode( MesMdAutoCodeRuleCodeEnum.PD_PROCESS_PARAM_CODE.getCode()); // 插入 MesPdProcessParamDO processParam = BeanUtils.toBean(createReqVO, MesPdProcessParamDO.class); processParam.setParamCode(paramCode); processParamMapper.insert(processParam); return processParam.getId(); } @Override public void updateProcessParam(MesPdProcessParamSaveReqVO updateReqVO) { // 校验存在 validateProcessParamExists(updateReqVO.getId()); // 更新 MesPdProcessParamDO updateObj = BeanUtils.toBean(updateReqVO, MesPdProcessParamDO.class); processParamMapper.updateById(updateObj); } @Override public void deleteProcessParam(Long id) { // 校验存在 validateProcessParamExists(id); // 删除 processParamMapper.deleteById(id); } @Override public MesPdProcessParamDO validateProcessParamExists(Long id) { MesPdProcessParamDO processParam = processParamMapper.selectById(id); if (processParam == null) { throw exception(PD_PROCESS_PARAM_NOT_EXISTS); } return processParam; } @Override public MesPdProcessParamDO getProcessParam(Long id) { return processParamMapper.selectById(id); } @Override public PageResult getProcessParamPage(MesPdProcessParamPageReqVO pageReqVO) { return processParamMapper.selectPage(pageReqVO); } @Override public List getProcessParamList(Collection ids) { return processParamMapper.selectBatchIds(ids); } }