From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaveController.java | 293 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 160 insertions(+), 133 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..1fac7fe 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,133 +1,160 @@
-package com.zy.asrs.wms.asrs.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-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;
-import com.zy.asrs.wms.common.domain.KeyValVo;
-import com.zy.asrs.wms.common.domain.PageParam;
-import com.zy.asrs.wms.asrs.entity.Wave;
-import com.zy.asrs.wms.asrs.service.WaveService;
-import com.zy.asrs.wms.system.controller.BaseController;
-import com.zy.asrs.wms.utils.ExcelUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-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;
-
-@RestController
-@RequestMapping("/api")
-public class WaveController extends BaseController {
-
- @Autowired
- 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());
- }
-
- List<TaskDetl> taskDetls = taskDetlService.list(new LambdaQueryWrapper<TaskDetl>().in(TaskDetl::getOrderId, orderDetlIds));
- if (taskDetls.isEmpty()) {
- record.setGenerateTask(false);
- }else {
- record.setGenerateTask(true);
- }
- }
- return R.ok().add(page);
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:list')")
- @PostMapping("/wave/list")
- public R list(@RequestBody Map<String, Object> map) {
- return R.ok().add(waveService.list());
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:list')")
- @GetMapping("/wave/{id}")
- public R get(@PathVariable("id") Long id) {
- return R.ok().add(waveService.getById(id));
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:list')")
- @GetMapping("/wave/list/{id}")
- public R getList(@PathVariable("id") Long id) {
- List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, id));
- return R.ok().add(waveDetls);
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:save')")
- @OperationLog("娣诲姞娉㈡绠$悊")
- @PostMapping("/wave/save")
- public R save(@RequestBody Wave wave) {
- if (!waveService.save(wave)) {
- return R.error("娣诲姞澶辫触");
- }
- return R.ok("娣诲姞鎴愬姛");
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:update')")
- @OperationLog("淇敼娉㈡绠$悊")
- @PostMapping("/wave/update")
- public R update(@RequestBody Wave wave) {
- if (!waveService.updateById(wave)) {
- return R.error("淇敼澶辫触");
- }
- return R.ok("淇敼鎴愬姛");
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:remove')")
- @OperationLog("鍒犻櫎娉㈡绠$悊")
- @PostMapping("/wave/remove/{ids}")
- public R remove(@PathVariable Long[] ids) {
- if (!waveService.removeByIds(Arrays.asList(ids))) {
- return R.error("鍒犻櫎澶辫触");
- }
- return R.ok("鍒犻櫎鎴愬姛");
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:list')")
- @PostMapping("/wave/query")
- public R query(@RequestParam(required = false) String condition) {
- List<KeyValVo> vos = new ArrayList<>();
- LambdaQueryWrapper<Wave> wrapper = new LambdaQueryWrapper<>();
- if (!Cools.isEmpty(condition)) {
- wrapper.like(Wave::getId, condition);
- }
- waveService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
- item -> vos.add(new KeyValVo(item.getId(), item.getId()))
- );
- return R.ok().add(vos);
- }
-
- @PreAuthorize("hasAuthority('asrs:wave:list')")
- @PostMapping("/wave/export")
- public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
- ExcelUtil.build(ExcelUtil.create(waveService.list(), Wave.class), response);
- }
-
-}
+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.WaveDetl;
+import com.zy.asrs.wms.asrs.service.WaveDetlService;
+import com.zy.asrs.wms.common.annotation.OperationLog;
+import com.zy.asrs.wms.common.domain.BaseParam;
+import com.zy.asrs.wms.common.domain.KeyValVo;
+import com.zy.asrs.wms.common.domain.PageParam;
+import com.zy.asrs.wms.asrs.entity.Wave;
+import com.zy.asrs.wms.asrs.service.WaveService;
+import com.zy.asrs.wms.system.controller.BaseController;
+import com.zy.asrs.wms.utils.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
+@RestController
+@RequestMapping("/api")
+public class WaveController extends BaseController {
+
+ @Autowired
+ private WaveService waveService;
+ @Autowired
+ private WaveDetlService waveDetlService;
+
+ @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);
+
+ 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);
+
+ }
+
+ wrapper.orderByDesc("create_time");
+ PageParam<Wave, BaseParam> page = waveService.page(pageParam, wrapper);
+ return R.ok().add(page);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:list')")
+ @PostMapping("/wave/list")
+ public R list(@RequestBody Map<String, Object> map) {
+ return R.ok().add(waveService.list());
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:list')")
+ @GetMapping("/wave/{id}")
+ public R get(@PathVariable("id") Long id) {
+ return R.ok().add(waveService.getById(id));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:list')")
+ @GetMapping("/wave/list/{id}")
+ public R getList(@PathVariable("id") Long id) {
+ List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, id));
+ return R.ok().add(waveDetls);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:save')")
+ @OperationLog("娣诲姞娉㈡绠$悊")
+ @PostMapping("/wave/save")
+ public R save(@RequestBody Wave wave) {
+ if (!waveService.save(wave)) {
+ return R.error("娣诲姞澶辫触");
+ }
+ return R.ok("娣诲姞鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:update')")
+ @OperationLog("淇敼娉㈡绠$悊")
+ @PostMapping("/wave/update")
+ public R update(@RequestBody Wave wave) {
+ if (!waveService.updateById(wave)) {
+ return R.error("淇敼澶辫触");
+ }
+ return R.ok("淇敼鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:remove')")
+ @OperationLog("鍒犻櫎娉㈡绠$悊")
+ @PostMapping("/wave/remove/{ids}")
+ public R remove(@PathVariable Long[] ids) {
+ if (!waveService.removeByIds(Arrays.asList(ids))) {
+ return R.error("鍒犻櫎澶辫触");
+ }
+ return R.ok("鍒犻櫎鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:list')")
+ @PostMapping("/wave/query")
+ public R query(@RequestParam(required = false) String condition) {
+ List<KeyValVo> vos = new ArrayList<>();
+ LambdaQueryWrapper<Wave> wrapper = new LambdaQueryWrapper<>();
+ if (!Cools.isEmpty(condition)) {
+ wrapper.like(Wave::getId, condition);
+ }
+ waveService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
+ item -> vos.add(new KeyValVo(item.getId(), item.getId()))
+ );
+ return R.ok().add(vos);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:wave:list')")
+ @PostMapping("/wave/export")
+ public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+ ExcelUtil.build(ExcelUtil.create(waveService.list(), Wave.class), response);
+ }
+
+}
--
Gitblit v1.9.1