feat(wms): 新增动态关联查询功能并优化钢卷列表接口

- 在 WmsMaterialCoilMapper 中新增 selectVoListWithDynamicJoin 方法
- 修改 selectVoPagePlus SQL 查询逻辑,移除冗余字段
- 实现根据物品类型联查原材料或产品信息
- 更新 WmsMaterialCoilServiceImpl 中 queryList 方法调用新接口
- 优化 WmsMaterialCoilVo 字段注释及 Excel 导出配置- 移除部分不必要的 @ExcelProperty 注解
- 新增 itemName 和 itemCode 字段用于显示物品名称和编号- 调整字段注释说明 dataType 数据类型含义- 修复仓库变更判断逻辑中的空指针风险
This commit is contained in:
2025-10-30 14:59:46 +08:00
parent 824ce738a9
commit ca301a4c18
4 changed files with 54 additions and 37 deletions

View File

@@ -24,7 +24,6 @@ public class WmsMaterialCoilVo {
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long coilId;
/**
@@ -53,7 +52,7 @@ public class WmsMaterialCoilVo {
private Integer dataType;
/**
* 所在库区ID
所在库区ID 联查当前库区和物品id 复卷好去掉 dataType数据类型是1当前 0就是历史 物品类型row_me 原材料 product产品
*/
@ExcelProperty(value = "所在库区ID")
private Long warehouseId;
@@ -61,13 +60,11 @@ public class WmsMaterialCoilVo {
/**
* 下一库区ID
*/
@ExcelProperty(value = "下一库区ID")
private Long nextWarehouseId;
/**
* 关联二维码ID
*/
@ExcelProperty(value = "关联二维码ID")
private Long qrcodeRecordId;
/**
@@ -86,7 +83,6 @@ public class WmsMaterialCoilVo {
/**
* 父卷号
*/
@ExcelProperty(value = "父卷号")
private String parentCoilNos;
/**
@@ -98,7 +94,6 @@ public class WmsMaterialCoilVo {
/**
* 物品ID
*/
@ExcelProperty(value = "物品ID")
private Long itemId;
/**
@@ -163,6 +158,7 @@ public class WmsMaterialCoilVo {
/**
* 库区名称(用于统计查询)
*/
@ExcelProperty(value = "库区名称")
private String warehouseName;
/**
@@ -180,8 +176,10 @@ public class WmsMaterialCoilVo {
*/
private BigDecimal totalNetWeight;
@ExcelProperty(value = "物品名称")
private String itemName;
@ExcelProperty(value = "物品编号")
private String itemCode;
}

View File

@@ -39,5 +39,7 @@ public interface WmsMaterialCoilMapper extends BaseMapperPlus<WmsMaterialCoilMap
List<Map<String, Object>> getDistributionByItemType(@Param("itemType") String itemType, @Param("itemId") Long itemId);
Page<WmsMaterialCoilVo> selectVoPagePlus(Page<Object> build,@Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
List<WmsMaterialCoilVo> selectVoListWithDynamicJoin(@Param("ew")QueryWrapper<WmsMaterialCoil> lqw);
}

View File

@@ -181,10 +181,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
@Override
public List<WmsMaterialCoilVo> queryList(WmsMaterialCoilBo bo) {
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapperPlus(bo);
Page<Object> build = new PageQuery().build();
build.setSize(Long.MAX_VALUE);
Page<WmsMaterialCoilVo> wmsMaterialCoilVoPage = baseMapper.selectVoPagePlus(build, lqw);
return wmsMaterialCoilVoPage.getRecords();
return baseMapper.selectVoListWithDynamicJoin(lqw);
}
/**
@@ -364,9 +361,9 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
}
// 判断warehouseId是否发生变化
boolean warehouseChanged = bo.getWarehouseId() != null &&
boolean warehouseChanged = bo.getWarehouseId() != null &&
!bo.getWarehouseId().equals(oldCoil.getWarehouseId());
Long qrcodeRecordId;
if (warehouseChanged) {
// 如果库区发生变化,生成新的二维码