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;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class OutAssistanceSearchQO extends SearchBaseQO {
|
||||
|
||||
|
|
@ -24,4 +27,12 @@ public class OutAssistanceSearchQO extends SearchBaseQO {
|
|||
* 供应商
|
||||
*/
|
||||
private String lifnr;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
private String matnr;
|
||||
|
||||
@JsonIgnore
|
||||
private List<Long> ids;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.qo.OutAssistanceSearchQO;
|
||||
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.service.IWmsOutAssistanceItemService;
|
||||
import com.nflg.wms.repository.service.IWmsOutAssistanceService;
|
||||
|
|
@ -26,6 +28,19 @@ public class WmsOutAssistanceServiceImpl extends ServiceImpl<WmsOutAssistanceMap
|
|||
|
||||
@Override
|
||||
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()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,17 @@
|
|||
SELECT *
|
||||
FROM wms_out_assistance
|
||||
<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!=''">
|
||||
AND "no" ilike CONCAT('%', #{request.no}, '%')
|
||||
</if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue