package cn.iocoder.yudao.module.erp.service.product.mapping; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.erp.controller.admin.mapping.vo.ErpMesWarehouseMappingCreateReqVO; import cn.iocoder.yudao.module.erp.controller.admin.mapping.vo.ErpMesWarehouseMappingPageReqVO; import cn.iocoder.yudao.module.erp.controller.admin.mapping.vo.ErpMesWarehouseMappingUpdateReqVO; import cn.iocoder.yudao.module.erp.convert.mapping.ErpMesWarehouseMappingConvert; import cn.iocoder.yudao.module.erp.dal.dataobject.mapping.ErpMesWarehouseMappingDO; import cn.iocoder.yudao.module.erp.dal.mysql.mapping.ErpMesWarehouseMappingMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.*; /** * ERP仓库与MES仓库映射 Service 实现类 */ @Service @Validated public class ErpMesWarehouseMappingServiceImpl implements ErpMesWarehouseMappingService { @Resource private ErpMesWarehouseMappingMapper mappingMapper; @Override public Long createMapping(ErpMesWarehouseMappingCreateReqVO createReqVO) { // 校验ERP仓库是否已存在映射 ErpMesWarehouseMappingDO existing = mappingMapper.selectByErpWarehouseId(createReqVO.getErpWarehouseId()); if (existing != null) { throw exception(WAREHOUSE_MAPPING_EXISTS); } ErpMesWarehouseMappingDO mapping = ErpMesWarehouseMappingConvert.INSTANCE.convert(createReqVO); mapping.setStatus(1); // 默认启用 mappingMapper.insert(mapping); return mapping.getId(); } @Override public void updateMapping(ErpMesWarehouseMappingUpdateReqVO updateReqVO) { // 校验存在 validateMappingExists(updateReqVO.getId()); ErpMesWarehouseMappingDO mapping = ErpMesWarehouseMappingConvert.INSTANCE.convert(updateReqVO); mappingMapper.updateById(mapping); } @Override public void deleteMapping(Long id) { // 校验存在 validateMappingExists(id); mappingMapper.deleteById(id); } private void validateMappingExists(Long id) { if (mappingMapper.selectById(id) == null) { throw exception(WAREHOUSE_MAPPING_NOT_EXISTS); } } @Override public ErpMesWarehouseMappingDO getMapping(Long id) { return mappingMapper.selectById(id); } @Override public PageResult getMappingPage(ErpMesWarehouseMappingPageReqVO pageReqVO) { return mappingMapper.selectPage(pageReqVO); } }