feat(out-assistance): 添加物料号搜索和ID过滤功能
- 在OutAssistanceSearchQO中新增matnr物料号字段和ids列表字段 - 添加@JsonIgnore注解忽略ids字段的序列化 - 在WmsOutAssistanceMapper.xml中实现ids条件查询逻辑 - 当ids为空时设置条件为false,非空时进行in查询 - 在WmsOutAssistanceServiceImpl中实现物料号搜索功能 - 通过物料号关联查询对应的订单ID列表进行过滤 - 使用StrUtil工具类进行字符串非空判断
This commit is contained in:
parent
fb1fb9e265
commit
29b9cad2d0
|
|
@ -1,7 +1,10 @@
|
||||||
package com.nflg.wms.common.pojo.qo;
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class OutAssistanceSearchQO extends SearchBaseQO {
|
public class OutAssistanceSearchQO extends SearchBaseQO {
|
||||||
|
|
||||||
|
|
@ -24,4 +27,12 @@ public class OutAssistanceSearchQO extends SearchBaseQO {
|
||||||
* 供应商
|
* 供应商
|
||||||
*/
|
*/
|
||||||
private String lifnr;
|
private String lifnr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物料号
|
||||||
|
*/
|
||||||
|
private String matnr;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private List<Long> ids;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
package com.nflg.wms.repository.service.impl;
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.wms.common.pojo.qo.OutAssistanceSearchQO;
|
import com.nflg.wms.common.pojo.qo.OutAssistanceSearchQO;
|
||||||
import com.nflg.wms.repository.entity.WmsOutAssistance;
|
import com.nflg.wms.repository.entity.WmsOutAssistance;
|
||||||
|
import com.nflg.wms.repository.entity.WmsOutAssistanceItem;
|
||||||
import com.nflg.wms.repository.mapper.WmsOutAssistanceMapper;
|
import com.nflg.wms.repository.mapper.WmsOutAssistanceMapper;
|
||||||
import com.nflg.wms.repository.service.IWmsOutAssistanceItemService;
|
import com.nflg.wms.repository.service.IWmsOutAssistanceItemService;
|
||||||
import com.nflg.wms.repository.service.IWmsOutAssistanceService;
|
import com.nflg.wms.repository.service.IWmsOutAssistanceService;
|
||||||
|
|
@ -26,6 +28,19 @@ public class WmsOutAssistanceServiceImpl extends ServiceImpl<WmsOutAssistanceMap
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<WmsOutAssistance> search(OutAssistanceSearchQO request) {
|
public IPage<WmsOutAssistance> search(OutAssistanceSearchQO request) {
|
||||||
|
if (StrUtil.isNotBlank(request.getMatnr())) {
|
||||||
|
request.setIds(
|
||||||
|
wmsOutAssistanceItemService.lambdaQuery()
|
||||||
|
.like(WmsOutAssistanceItem::getMatnr, request.getMatnr())
|
||||||
|
.or()
|
||||||
|
.like(WmsOutAssistanceItem::getMatnr1, request.getMatnr())
|
||||||
|
.list()
|
||||||
|
.stream()
|
||||||
|
.map(WmsOutAssistanceItem::getOrderId)
|
||||||
|
.toList()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
|
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,17 @@
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM wms_out_assistance
|
FROM wms_out_assistance
|
||||||
<where>
|
<where>
|
||||||
|
<if test="request.ids != null">
|
||||||
|
<if test="request.ids.isEmpty()">
|
||||||
|
and 1=2
|
||||||
|
</if>
|
||||||
|
<if test="!request.ids.isEmpty()">
|
||||||
|
and id in
|
||||||
|
<foreach item="item" collection="request.ids" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
<if test="request.no != null and request.no!=''">
|
<if test="request.no != null and request.no!=''">
|
||||||
AND "no" ilike CONCAT('%', #{request.no}, '%')
|
AND "no" ilike CONCAT('%', #{request.no}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue