feat(wms): 添加产品和原料规格字段支持
- 在 WmsProduct 和 WmsRawMaterial 实体类中新增 specification 字段- 在对应的 BO 和 VO 类中同步增加 specification 属性- 更新查询构造器,支持根据规格进行模糊匹配 - 调整默认属性配置中的规格值格式 -优化分页查询逻辑,确保 BOM信息正确填充
This commit is contained in:
@@ -92,5 +92,8 @@ public class WmsProduct extends BaseEntity {
|
||||
*/
|
||||
private String type;
|
||||
|
||||
//规格
|
||||
private String specification;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -126,11 +126,14 @@ public class WmsRawMaterial extends BaseEntity {
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
private Long bomId;
|
||||
|
||||
//规格
|
||||
private String specification;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -93,5 +93,8 @@ public class WmsProductBo extends BaseEntity {
|
||||
private Long bomId;
|
||||
//产品类型
|
||||
private String type;
|
||||
|
||||
//规格
|
||||
private String specification;
|
||||
}
|
||||
|
||||
|
||||
@@ -150,5 +150,7 @@ public class WmsRawMaterialBo extends BaseEntity {
|
||||
*/
|
||||
private Long bomId;
|
||||
|
||||
//规格
|
||||
private String specification;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,5 +123,8 @@ public class WmsProductVo {
|
||||
*/
|
||||
private List<WmsBomItemVo> bomItems;
|
||||
|
||||
|
||||
//规格
|
||||
private String specification;
|
||||
}
|
||||
|
||||
|
||||
@@ -218,5 +218,8 @@ public class WmsRawMaterialVo {
|
||||
* BOM明细信息
|
||||
*/
|
||||
private List<WmsBomItemVo> bomItems;
|
||||
|
||||
//规格
|
||||
private String specification;
|
||||
}
|
||||
|
||||
|
||||
@@ -69,10 +69,10 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -101,6 +101,8 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
||||
lqw.eq(bo.getIsEnabled() != null, WmsProduct::getIsEnabled, bo.getIsEnabled());
|
||||
lqw.eq(bo.getBomId() != null, WmsProduct::getBomId, bo.getBomId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getType()), WmsProduct::getType, bo.getType());
|
||||
//规格模糊匹配
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSpecification()), WmsProduct::getSpecification, bo.getSpecification());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@@ -143,14 +145,14 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
||||
if ("产品".equals(type)) {
|
||||
// 产品默认属性(根据截图)
|
||||
defaultAttrs = Arrays.asList(
|
||||
new String[]{"规格", "1250 * 0.6"},
|
||||
new String[]{"规格", "0.6 * 1250"},
|
||||
new String[]{"材质", "SPCC"},
|
||||
new String[]{"表面处理", "涂油"}
|
||||
);
|
||||
} else {
|
||||
// 原料默认属性(根据截图)
|
||||
defaultAttrs = Arrays.asList(
|
||||
new String[]{"规格", "1265 * 4"},
|
||||
new String[]{"规格", "4 * 1265"},
|
||||
new String[]{"材质", "Q195L"},
|
||||
new String[]{"厂家", "天铁"}
|
||||
);
|
||||
@@ -184,7 +186,7 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
||||
if (productList == null || productList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for (WmsProductVo vo : productList) {
|
||||
if (vo.getBomId() != null) {
|
||||
// 查询BOM明细
|
||||
|
||||
@@ -83,10 +83,10 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -211,6 +211,8 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionResult()), WmsRawMaterial::getInspectionResult, bo.getInspectionResult());
|
||||
lqw.eq(bo.getIsEnabled() != null, WmsRawMaterial::getIsEnabled, bo.getIsEnabled());
|
||||
lqw.eq(bo.getBomId() != null, WmsRawMaterial::getBomId, bo.getBomId());
|
||||
//规格模糊匹配
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSpecification()), WmsRawMaterial::getSpecification, bo.getSpecification());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@@ -253,14 +255,14 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
if ("产品".equals(type)) {
|
||||
// 产品默认属性(根据截图)
|
||||
defaultAttrs = Arrays.asList(
|
||||
new String[]{"规格", "1250 * 0.6"},
|
||||
new String[]{"规格", "0.6 * 1250"},
|
||||
new String[]{"材质", "SPCC"},
|
||||
new String[]{"表面处理", "涂油"}
|
||||
);
|
||||
} else {
|
||||
// 原料默认属性(根据截图)
|
||||
defaultAttrs = Arrays.asList(
|
||||
new String[]{"规格", "1265 * 4"},
|
||||
new String[]{"规格", "4 * 1265"},
|
||||
new String[]{"材质", "Q195L"},
|
||||
new String[]{"厂家", "天铁"}
|
||||
);
|
||||
@@ -294,7 +296,7 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
if (rawMaterialList == null || rawMaterialList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for (WmsRawMaterialVo vo : rawMaterialList) {
|
||||
if (vo.getBomId() != null) {
|
||||
// 查询BOM明细
|
||||
|
||||
Reference in New Issue
Block a user