package cn.iocoder.yudao.module.mdm.service.item;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemBatchConfigDO;
|
import cn.iocoder.yudao.module.mdm.dal.mysql.item.MdmItemBatchConfigMapper;
|
import jakarta.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.validation.annotation.Validated;
|
|
import java.util.List;
|
|
/**
|
* MDM 物料批次配置 Service 实现类
|
*
|
* @author 芋道源码
|
*/
|
@Service
|
@Validated
|
public class MdmItemBatchConfigServiceImpl implements MdmItemBatchConfigService {
|
|
@Resource
|
private MdmItemBatchConfigMapper itemBatchConfigMapper;
|
|
@Override
|
public MdmItemBatchConfigDO getItemBatchConfigByItemId(Long itemId) {
|
List<MdmItemBatchConfigDO> list = itemBatchConfigMapper.selectList(MdmItemBatchConfigDO::getItemId, itemId);
|
return CollUtil.getFirst(list);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public Long saveItemBatchConfig(MdmItemBatchConfigDO config) {
|
// 清空不需要的字段(只保留必要的7个字段)
|
config.setClientFlag(false);
|
config.setSalesOrderCodeFlag(false);
|
config.setWorkOrderFlag(false);
|
config.setTaskFlag(false);
|
config.setWorkstationFlag(false);
|
config.setToolFlag(false);
|
config.setMoldFlag(false);
|
|
// 查询已有配置
|
MdmItemBatchConfigDO existing = getItemBatchConfigByItemId(config.getItemId());
|
if (existing != null) {
|
// 更新
|
config.setId(existing.getId());
|
itemBatchConfigMapper.updateById(config);
|
return existing.getId();
|
}
|
// 新增
|
itemBatchConfigMapper.insert(config);
|
return config.getId();
|
}
|
|
@Override
|
public void deleteItemBatchConfigByItemId(Long itemId) {
|
itemBatchConfigMapper.delete(MdmItemBatchConfigDO::getItemId, itemId);
|
}
|
|
}
|