feat(wms/move): 新增调拨记录的入场卷号和当前卷号筛选功能

1. 前端在移库操作和记录页面新增入场卷号和当前卷号查询字段,并添加清空按钮
2. 后端在WmsTransferOrderItemBo中新增enterCoilNo和currentCoilNo字段
3. 在WmsTransferOrderItemServiceImpl中实现根据入场/当前钢卷号查询钢卷ID并过滤移库记录的逻辑
4. 优化查询条件处理,当无匹配钢卷时返回空结果集
This commit is contained in:
2026-05-28 10:56:57 +08:00
parent 6de1bbfe0b
commit e4f1c8d2b1
4 changed files with 60 additions and 2 deletions

View File

@@ -2,12 +2,12 @@
<div class="record-container">
<!-- 常规筛选区, 通过调拨前库区和调拨后库区查询 -->
<el-form :model="queryParams" inline>
<!-- <el-form-item label="入场卷号">
<el-form-item label="入场卷号">
<el-input v-model="queryParams.enterCoilNo" placeholder="请输入入场卷号"></el-input>
</el-form-item>
<el-form-item label="当前卷号">
<el-input v-model="queryParams.currentCoilNo" placeholder="请输入当前卷号"></el-input>
</el-form-item> -->
</el-form-item>
<el-form-item label="调拨前库区">
<WarehouseSelect v-model="queryParams.warehouseIdBefore" placeholder="请选择调拨前库区">
</WarehouseSelect>
@@ -33,6 +33,7 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" plain @click="handleRegularSearch">查询</el-button>
<el-button type="success" icon="el-icon-check" plain @click="handleConfirmBatch">批量执行</el-button>
<el-button @click="handleReset">清空</el-button>
</el-form-item>
</el-form>
@@ -98,6 +99,8 @@ export default {
refreshLabel: false,
transferRemark: '',
queryParams: {
enterCoilNo: '',
currentCoilNo: '',
warehouseIdBefore: '',
warehouseIdAfter: '',
transferNo: '',
@@ -162,6 +165,19 @@ export default {
this.loading = false;
}
},
handleReset() {
this.queryParams = {
enterCoilNo: '',
currentCoilNo: '',
warehouseIdBefore: '',
warehouseIdAfter: '',
transferNo: '',
isTransferred: '0',
pageSize: 20,
pageNum: 1,
};
this.handleRegularSearch();
},
async handleRegularSearch() {
this.loading = true;
try {

View File

@@ -15,6 +15,12 @@
<!-- 常规筛选区, 通过调拨前库区和调拨后库区查询 -->
<el-form :model="queryParams" inline>
<el-form-item label="入场卷号">
<el-input v-model="queryParams.enterCoilNo" placeholder="请输入入场卷号"></el-input>
</el-form-item>
<el-form-item label="当前卷号">
<el-input v-model="queryParams.currentCoilNo" placeholder="请输入当前卷号"></el-input>
</el-form-item>
<el-form-item label="调拨前库区">
<WarehouseSelect v-model="queryParams.warehouseIdBefore" placeholder="请选择调拨前库区">
</WarehouseSelect>
@@ -39,6 +45,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleRegularSearch">查询</el-button>
<el-button @click="handleReset">清空</el-button>
</el-form-item>
</el-form>
@@ -94,6 +101,8 @@ export default {
enterCoilNo: '',
},
queryParams: {
enterCoilNo: '',
currentCoilNo: '',
warehouseIdBefore: '',
warehouseIdAfter: '',
transferNo: '',
@@ -158,6 +167,19 @@ export default {
this.loading = false;
}
},
handleReset() {
this.queryParams = {
enterCoilNo: '',
currentCoilNo: '',
warehouseIdBefore: '',
warehouseIdAfter: '',
transferNo: '',
isTransferred: '',
pageSize: 20,
pageNum: 1,
};
this.handleRegularSearch();
},
async handleRegularSearch() {
this.loading = true;
try {

View File

@@ -84,4 +84,10 @@ public class WmsTransferOrderItemBo extends BaseEntity {
// 重贴标签的备注
private String transferRemark;
/** 入场钢卷号 */
private String enterCoilNo;
/** 当前钢卷号 */
private String currentCoilNo;
}

View File

@@ -330,6 +330,20 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
lqw.eq(bo.getWarehouseIdBefore() != null, WmsTransferOrderItem::getWarehouseIdBefore, bo.getWarehouseIdBefore());
lqw.eq(bo.getWarehouseIdAfter() != null, WmsTransferOrderItem::getWarehouseIdAfter, bo.getWarehouseIdAfter());
lqw.eq(bo.getIsTransferred() != null, WmsTransferOrderItem::getIsTransferred, bo.getIsTransferred());
// 根据入场钢卷号/当前钢卷号查询钢卷ID作为过滤条件
if (StringUtils.isNotBlank(bo.getEnterCoilNo()) || StringUtils.isNotBlank(bo.getCurrentCoilNo())) {
LambdaQueryWrapper<WmsMaterialCoil> coilQuery = Wrappers.lambdaQuery();
coilQuery.eq(StringUtils.isNotBlank(bo.getEnterCoilNo()), WmsMaterialCoil::getEnterCoilNo, bo.getEnterCoilNo());
coilQuery.eq(StringUtils.isNotBlank(bo.getCurrentCoilNo()), WmsMaterialCoil::getCurrentCoilNo, bo.getCurrentCoilNo());
List<Long> matchedCoilIds = coilMapper.selectList(coilQuery).stream()
.map(WmsMaterialCoil::getCoilId)
.collect(Collectors.toList());
if (matchedCoilIds.isEmpty()) {
lqw.eq(WmsTransferOrderItem::getOrderItemId, -1L);
} else {
lqw.in(WmsTransferOrderItem::getCoilId, matchedCoilIds);
}
}
return lqw;
}