Files
klp-oa/klp-wms/src/main/java/com/klp/service/impl/WmsBomItemServiceImpl.java
2025-07-29 14:26:23 +08:00

113 lines
3.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsBomItemBo;
import com.klp.domain.vo.WmsBomItemVo;
import com.klp.domain.WmsBomItem;
import com.klp.mapper.WmsBomItemMapper;
import com.klp.service.IWmsBomItemService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* BOM 明细存放属性值Service业务层处理
*
* @author Joshi
* @date 2025-07-29
*/
@RequiredArgsConstructor
@Service
public class WmsBomItemServiceImpl implements IWmsBomItemService {
private final WmsBomItemMapper baseMapper;
/**
* 查询BOM 明细,存放属性–值
*/
@Override
public WmsBomItemVo queryById(Long itemId){
return baseMapper.selectVoById(itemId);
}
/**
* 查询BOM 明细,存放属性–值列表
*/
@Override
public TableDataInfo<WmsBomItemVo> queryPageList(WmsBomItemBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsBomItem> lqw = buildQueryWrapper(bo);
Page<WmsBomItemVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询BOM 明细,存放属性–值列表
*/
@Override
public List<WmsBomItemVo> queryList(WmsBomItemBo bo) {
LambdaQueryWrapper<WmsBomItem> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsBomItem> buildQueryWrapper(WmsBomItemBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsBomItem> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getAttrKey()), WmsBomItem::getAttrKey, bo.getAttrKey());
lqw.eq(StringUtils.isNotBlank(bo.getAttrValue()), WmsBomItem::getAttrValue, bo.getAttrValue());
lqw.eq(bo.getIsEnabled() != null, WmsBomItem::getIsEnabled, bo.getIsEnabled());
lqw.eq(bo.getBomId() != null, WmsBomItem::getBomId, bo.getBomId());
return lqw;
}
/**
* 新增BOM 明细,存放属性–值
*/
@Override
public Boolean insertByBo(WmsBomItemBo bo) {
WmsBomItem add = BeanUtil.toBean(bo, WmsBomItem.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setItemId(add.getItemId());
}
return flag;
}
/**
* 修改BOM 明细,存放属性–值
*/
@Override
public Boolean updateByBo(WmsBomItemBo bo) {
WmsBomItem update = BeanUtil.toBean(bo, WmsBomItem.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsBomItem entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除BOM 明细,存放属性–值
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}