feat(wms): 返回补充的信息
This commit is contained in:
@@ -33,7 +33,9 @@ import com.klp.service.IWmsWarehouseService;
|
||||
import com.klp.service.IWmsActualWarehouseService;
|
||||
import com.klp.service.IWmsRawMaterialService;
|
||||
import com.klp.service.IWmsBomItemService;
|
||||
import com.klp.service.IWmsProductService;
|
||||
import com.klp.domain.vo.WmsActualWarehouseVo;
|
||||
import com.klp.domain.vo.WmsProductVo;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import java.util.List;
|
||||
@@ -63,6 +65,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
private final IWmsActualWarehouseService actualWarehouseService;
|
||||
private final IWmsRawMaterialService rawMaterialService;
|
||||
private final IWmsBomItemService bomItemService;
|
||||
private final IWmsProductService productService;
|
||||
|
||||
/**
|
||||
* 查询钢卷物料表
|
||||
@@ -126,13 +129,13 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
|
||||
// 查询产品信息(当itemType为product时)
|
||||
if ("product".equals(vo.getItemType()) && vo.getItemId() != null) {
|
||||
// 产品和原材料的查询逻辑相同,都通过itemId查询
|
||||
WmsRawMaterialVo rawMaterial = rawMaterialService.queryById(vo.getItemId());
|
||||
WmsProductVo product = productService.queryById(vo.getItemId());
|
||||
vo.setProduct(product);
|
||||
|
||||
// 查询原材料对应的BOM信息(通过bomId查询BomItem列表)
|
||||
if (rawMaterial != null && rawMaterial.getBomId() != null) {
|
||||
// 查询产品对应的BOM信息(通过bomId查询BomItem列表)
|
||||
if (product != null && product.getBomId() != null) {
|
||||
WmsBomItemBo bomItemBo = new WmsBomItemBo();
|
||||
bomItemBo.setBomId(rawMaterial.getBomId());
|
||||
bomItemBo.setBomId(product.getBomId());
|
||||
List<WmsBomItemVo> bomItemList = bomItemService.queryList(bomItemBo);
|
||||
vo.setBomItemList(bomItemList);
|
||||
}
|
||||
@@ -146,6 +149,12 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
public TableDataInfo<WmsMaterialCoilVo> queryPageList(WmsMaterialCoilBo bo, PageQuery pageQuery) {
|
||||
QueryWrapper<WmsMaterialCoil> qw = buildQueryWrapperPlus(bo);
|
||||
Page<WmsMaterialCoilVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), qw);
|
||||
|
||||
// 填充每个记录的产品或原材料对象
|
||||
for (WmsMaterialCoilVo vo : result.getRecords()) {
|
||||
fillItemObject(vo);
|
||||
}
|
||||
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -200,7 +209,51 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
@Override
|
||||
public List<WmsMaterialCoilVo> queryList(WmsMaterialCoilBo bo) {
|
||||
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapperPlus(bo);
|
||||
return baseMapper.selectVoListWithDynamicJoin(lqw);
|
||||
List<WmsMaterialCoilVo> list = baseMapper.selectVoListWithDynamicJoin(lqw);
|
||||
|
||||
// 填充每个记录的产品或原材料对象
|
||||
for (WmsMaterialCoilVo vo : list) {
|
||||
fillItemObject(vo);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充物品对象(产品或原材料)
|
||||
*/
|
||||
private void fillItemObject(WmsMaterialCoilVo vo) {
|
||||
if (vo.getItemId() == null || vo.getItemType() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 查询原材料信息
|
||||
if ("raw_material".equals(vo.getItemType())) {
|
||||
WmsRawMaterialVo rawMaterial = rawMaterialService.queryById(vo.getItemId());
|
||||
vo.setRawMaterial(rawMaterial);
|
||||
|
||||
// 查询原材料对应的BOM信息
|
||||
if (rawMaterial != null && rawMaterial.getBomId() != null) {
|
||||
WmsBomItemBo bomItemBo = new WmsBomItemBo();
|
||||
bomItemBo.setBomId(rawMaterial.getBomId());
|
||||
List<WmsBomItemVo> bomItemList = bomItemService.queryList(bomItemBo);
|
||||
vo.setBomItemList(bomItemList);
|
||||
}
|
||||
}
|
||||
|
||||
// 查询产品信息
|
||||
if ("product".equals(vo.getItemType())) {
|
||||
WmsProductVo product = productService.queryById(vo.getItemId());
|
||||
vo.setProduct(product);
|
||||
|
||||
// 查询产品对应的BOM信息
|
||||
if (product != null && product.getBomId() != null) {
|
||||
WmsBomItemBo bomItemBo = new WmsBomItemBo();
|
||||
bomItemBo.setBomId(product.getBomId());
|
||||
List<WmsBomItemVo> bomItemList = bomItemService.queryList(bomItemBo);
|
||||
vo.setBomItemList(bomItemList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user