From 20cec70cdcca8c2419a17e0304d12d5360af6065 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 25 九月 2024 14:48:27 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 49 insertions(+), 1 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java index 06b68e4..749f66f 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java @@ -1,6 +1,7 @@ package com.zy.asrs.wms.asrs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; @@ -35,7 +36,54 @@ public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); PageParam<Wave, BaseParam> pageParam = new PageParam<>(baseParam, Wave.class); - PageParam<Wave, BaseParam> page = waveService.page(pageParam, pageParam.buildWrapper(true)); + + QueryWrapper<Wave> wrapper = new QueryWrapper<>(); + + String condition = map.getOrDefault("condition", "").toString(); + if (!Cools.isEmpty(condition)) { + wrapper.and(wrapper1 -> { + wrapper1.or().like("wave_no", condition); + wrapper1.or().like("memo", condition); + }); + } + + Object paramObj = map.get("_param"); + if(paramObj != null) { + Map param = (Map) paramObj; + Object waveNoObj = param.get("waveNo"); + Object matnrObj = param.get("matnr"); + Object batchObj = param.get("batch"); + + LambdaQueryWrapper<WaveDetl> waveDetlWrapper = new LambdaQueryWrapper<>(); + + if(!Cools.isEmpty(waveNoObj)) { + waveDetlWrapper.like(WaveDetl::getWaveNo, waveNoObj); + } + + if(!Cools.isEmpty(matnrObj)) { + waveDetlWrapper.like(WaveDetl::getMatnr, matnrObj); + } + + if(!Cools.isEmpty(batchObj)) { + waveDetlWrapper.like(WaveDetl::getBatch, batchObj); + } + + List<WaveDetl> waveDetls = waveDetlService.list(waveDetlWrapper); + ArrayList<Long> waveIds = new ArrayList<>(); + for (WaveDetl waveDetl : waveDetls) { + if(!waveIds.contains(waveDetl.getWaveId())) { + waveIds.add(waveDetl.getWaveId()); + } + } + + if (waveIds.isEmpty()) { + waveIds.add(-1L); + } + wrapper.in("id", waveIds); + + } + + PageParam<Wave, BaseParam> page = waveService.page(pageParam, wrapper); return R.ok().add(page); } -- Gitblit v1.9.1