| | |
| | | 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 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") |
| | |
| | | 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); |
| | | } |
| | | |