From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 14 二月 2025 10:08:32 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java | 68 +++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 21 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 c7944ed..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,12 +1,11 @@ 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; -import com.zy.asrs.wms.asrs.entity.TaskDetl; import com.zy.asrs.wms.asrs.entity.WaveDetl; -import com.zy.asrs.wms.asrs.service.TaskDetlService; import com.zy.asrs.wms.asrs.service.WaveDetlService; import com.zy.asrs.wms.common.annotation.OperationLog; import com.zy.asrs.wms.common.domain.BaseParam; @@ -21,10 +20,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController @RequestMapping("/api") @@ -34,30 +30,60 @@ private WaveService waveService; @Autowired private WaveDetlService waveDetlService; - @Autowired - private TaskDetlService taskDetlService; @PreAuthorize("hasAuthority('asrs:wave:list')") @PostMapping("/wave/page") 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)); - List<Wave> records = page.getRecords(); - for (Wave record : records) { - ArrayList<Long> orderDetlIds = new ArrayList<>(); - for (WaveDetl waveDetl : record.getWaveDetlList()) { - orderDetlIds.add(waveDetl.getOrderId()); - } + QueryWrapper<Wave> wrapper = new QueryWrapper<>(); - List<TaskDetl> taskDetls = taskDetlService.list(new LambdaQueryWrapper<TaskDetl>().in(TaskDetl::getOrderId, orderDetlIds)); - if (taskDetls.isEmpty()) { - record.setGenerateTask(false); - }else { - record.setGenerateTask(true); - } + 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