feat(wms): 新增产品和原材料BOM信息查询功能
- 在IWmsProductService接口中新增queryPageListWithBom方法 - 在IWmsRawMaterialService接口中新增queryPageListWithBom方法 - 在WmsProductController中新增listWithBom接口 - 在WmsRawMaterialController中新增listWithBom接口 - 在WmsProductServiceImpl中实现queryPageListWithBom及fillBomInfo逻辑 - 在WmsRawMaterialServiceImpl中实现queryPageListWithBom及fillBomInfo逻辑 - 在WmsProductVo和WmsRawMaterialVo中新增bomItems字段用于存储BOM明细信息
This commit is contained in:
@@ -30,6 +30,7 @@ import com.klp.service.IWmsBomService;
|
||||
import com.klp.service.IWmsBomItemService;
|
||||
import com.klp.domain.bo.WmsBomBo;
|
||||
import com.klp.domain.bo.WmsBomItemBo;
|
||||
import com.klp.domain.vo.WmsBomItemVo;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@@ -75,6 +76,20 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询原材料列表(带BOM信息)
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<WmsRawMaterialVo> queryPageListWithBom(WmsRawMaterialBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<WmsRawMaterial> lqw = buildQueryWrapper(bo);
|
||||
Page<WmsRawMaterialVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
|
||||
// 填充BOM信息
|
||||
fillBomInfo(result.getRecords());
|
||||
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询原材料列表
|
||||
*/
|
||||
@@ -272,6 +287,25 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充BOM信息
|
||||
*/
|
||||
private void fillBomInfo(List<WmsRawMaterialVo> rawMaterialList) {
|
||||
if (rawMaterialList == null || rawMaterialList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (WmsRawMaterialVo vo : rawMaterialList) {
|
||||
if (vo.getBomId() != null) {
|
||||
// 查询BOM明细
|
||||
WmsBomItemBo bomItemBo = new WmsBomItemBo();
|
||||
bomItemBo.setBomId(vo.getBomId());
|
||||
List<WmsBomItemVo> bomItems = wmsBomItemService.queryList(bomItemBo);
|
||||
vo.setBomItems(bomItems);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user