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:
@@ -46,6 +46,14 @@ public class WmsProductController extends BaseController {
|
|||||||
return iWmsProductService.queryPageList(bo, pageQuery);
|
return iWmsProductService.queryPageList(bo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询产品列表(带BOM信息)
|
||||||
|
*/
|
||||||
|
@GetMapping("/listWithBom")
|
||||||
|
public TableDataInfo<WmsProductVo> listWithBom(WmsProductBo bo, PageQuery pageQuery) {
|
||||||
|
return iWmsProductService.queryPageListWithBom(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出产品列表
|
* 导出产品列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -45,6 +45,14 @@ public class WmsRawMaterialController extends BaseController {
|
|||||||
return iWmsRawMaterialService.queryPageList(bo, pageQuery);
|
return iWmsRawMaterialService.queryPageList(bo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询原材料列表(带BOM信息)
|
||||||
|
*/
|
||||||
|
@GetMapping("/listWithBom")
|
||||||
|
public TableDataInfo<WmsRawMaterialVo> listWithBom(WmsRawMaterialBo bo, PageQuery pageQuery) {
|
||||||
|
return iWmsRawMaterialService.queryPageListWithBom(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出原材料列表
|
* 导出原材料列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.klp.domain.vo;
|
package com.klp.domain.vo;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import com.klp.common.annotation.ExcelDictFormat;
|
import com.klp.common.annotation.ExcelDictFormat;
|
||||||
@@ -116,5 +118,10 @@ public class WmsProductVo {
|
|||||||
@ExcelProperty(value = "类型")
|
@ExcelProperty(value = "类型")
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BOM明细信息
|
||||||
|
*/
|
||||||
|
private List<WmsBomItemVo> bomItems;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.klp.domain.vo;
|
package com.klp.domain.vo;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import com.klp.common.annotation.ExcelDictFormat;
|
import com.klp.common.annotation.ExcelDictFormat;
|
||||||
@@ -211,5 +213,10 @@ public class WmsRawMaterialVo {
|
|||||||
@ExcelProperty(value = "在途量")
|
@ExcelProperty(value = "在途量")
|
||||||
private BigDecimal onTheWay;
|
private BigDecimal onTheWay;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BOM明细信息
|
||||||
|
*/
|
||||||
|
private List<WmsBomItemVo> bomItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,5 +48,10 @@ public interface IWmsProductService {
|
|||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询产品列表(带BOM信息)
|
||||||
|
*/
|
||||||
|
TableDataInfo<WmsProductVo> queryPageListWithBom(WmsProductBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
DashboardOverviewVO getDashboardOverview();
|
DashboardOverviewVO getDashboardOverview();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,4 +51,9 @@ public interface IWmsRawMaterialService {
|
|||||||
* 查询原材料列表(含需求、库存、在途信息)
|
* 查询原材料列表(含需求、库存、在途信息)
|
||||||
*/
|
*/
|
||||||
TableDataInfo<WmsRawMaterialVo> queryPageListWithDemand(WmsRawMaterialBo bo, PageQuery pageQuery);
|
TableDataInfo<WmsRawMaterialVo> queryPageListWithDemand(WmsRawMaterialBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询原材料列表(带BOM信息)
|
||||||
|
*/
|
||||||
|
TableDataInfo<WmsRawMaterialVo> queryPageListWithBom(WmsRawMaterialBo bo, PageQuery pageQuery);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.klp.service.IWmsBomService;
|
|||||||
import com.klp.service.IWmsBomItemService;
|
import com.klp.service.IWmsBomItemService;
|
||||||
import com.klp.domain.bo.WmsBomBo;
|
import com.klp.domain.bo.WmsBomBo;
|
||||||
import com.klp.domain.bo.WmsBomItemBo;
|
import com.klp.domain.bo.WmsBomItemBo;
|
||||||
|
import com.klp.domain.vo.WmsBomItemVo;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -61,6 +62,20 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
|||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询产品列表(带BOM信息)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<WmsProductVo> queryPageListWithBom(WmsProductBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<WmsProduct> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<WmsProductVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
|
||||||
|
// 填充BOM信息
|
||||||
|
fillBomInfo(result.getRecords());
|
||||||
|
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询产品列表
|
* 查询产品列表
|
||||||
*/
|
*/
|
||||||
@@ -162,6 +177,25 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
|||||||
return baseMapper.updateById(update) > 0;
|
return baseMapper.updateById(update) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 填充BOM信息
|
||||||
|
*/
|
||||||
|
private void fillBomInfo(List<WmsProductVo> productList) {
|
||||||
|
if (productList == null || productList.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (WmsProductVo vo : productList) {
|
||||||
|
if (vo.getBomId() != null) {
|
||||||
|
// 查询BOM明细
|
||||||
|
WmsBomItemBo bomItemBo = new WmsBomItemBo();
|
||||||
|
bomItemBo.setBomId(vo.getBomId());
|
||||||
|
List<WmsBomItemVo> bomItems = wmsBomItemService.queryList(bomItemBo);
|
||||||
|
vo.setBomItems(bomItems);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.klp.service.IWmsBomService;
|
|||||||
import com.klp.service.IWmsBomItemService;
|
import com.klp.service.IWmsBomItemService;
|
||||||
import com.klp.domain.bo.WmsBomBo;
|
import com.klp.domain.bo.WmsBomBo;
|
||||||
import com.klp.domain.bo.WmsBomItemBo;
|
import com.klp.domain.bo.WmsBomItemBo;
|
||||||
|
import com.klp.domain.vo.WmsBomItemVo;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@@ -75,6 +76,20 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
|||||||
return TableDataInfo.build(result);
|
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;
|
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