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/OutController.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 55 insertions(+), 5 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java index 7532179..e8f5c1b 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OutController.java @@ -1,11 +1,18 @@ package com.zy.asrs.wms.asrs.controller; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.framework.common.R; +import com.zy.asrs.framework.exception.CoolException; +import com.zy.asrs.wms.asrs.entity.Order; +import com.zy.asrs.wms.asrs.entity.WaveDetl; import com.zy.asrs.wms.asrs.entity.dto.MergePreviewDto; import com.zy.asrs.wms.asrs.entity.dto.MergePreviewResultDto; import com.zy.asrs.wms.asrs.entity.dto.OrderOutBatchPreviewDto; import com.zy.asrs.wms.asrs.entity.param.*; import com.zy.asrs.wms.asrs.manage.OutManage; +import com.zy.asrs.wms.asrs.service.OrderService; +import com.zy.asrs.wms.asrs.service.WaveDetlService; import com.zy.asrs.wms.common.annotation.OperationLog; import com.zy.asrs.wms.system.controller.BaseController; import org.springframework.beans.factory.annotation.Autowired; @@ -15,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; @@ -24,6 +32,10 @@ @Autowired private OutManage outManage; + @Autowired + private OrderService orderService; + @Autowired + private WaveDetlService waveDetlService; /** * 鍑哄簱 @@ -68,19 +80,57 @@ return R.ok().add(dtos); } - @PostMapping("/out/orderOut/merge") - @OperationLog("鍚堝苟璁㈠崟鍑哄簱") + @PostMapping("/out/orderOut/wave/preview") + @OperationLog("棰勮娉㈡鍑哄簱") + @Transactional + public R orderOutWavePreview(@RequestBody OrderOutWavePreviewParam param) { + if (param == null) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖"); + } + + Long waveId = param.getWaveId(); + if (waveId == null) { + throw new CoolException("娉㈡涓嶈兘涓虹┖"); + } + + List<Long> orderIds = new ArrayList<>(); + List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, waveId)); + for (Order order : orders) { + orderIds.add(order.getId()); + } + + List<MergePreviewDto> dtos = new ArrayList<>(); + List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, waveId)); + for (WaveDetl waveDetl : waveDetls) { + MergePreviewDto dto = new MergePreviewDto(); + dtos.add(dto); + + double anfme = waveDetl.getAnfme() - waveDetl.getWorkQty(); + dto.setMatnr(waveDetl.getMatnr()); + dto.setBatch(waveDetl.getBatch()); + dto.setAnfme(anfme); + dto.setOrderIds(orderIds); + dto.setFieldParams(JSON.parseArray(waveDetl.getFieldParams(), FieldParam.class)); + dto.setFieldParamsEncode(waveDetl.getFieldParams()); + } + + List<MergePreviewResultDto> resultDtos = outManage.orderOutMergeLocPreview(dtos); + return R.ok().add(resultDtos); + } + + @PostMapping("/out/orderOut/merge/wave") + @OperationLog("娉㈡鍚堝苟璁㈠崟鍑哄簱") @Transactional public R orderOutMerge(@RequestBody OrderOutMergeParamDto param) { - outManage.orderOutMerge(param); + outManage.orderOutMergeWave(param); return R.ok(); } @PostMapping("/out/wave/generate") @OperationLog("鐢熸垚娉㈡") @Transactional - public R generateWave(@RequestBody List<Long> orderIds) { - outManage.generateWave(orderIds); + public R generateWave(@RequestBody GenerateWaveParam param) { + outManage.generateWave(param); return R.ok(); } -- Gitblit v1.9.1