From 072d4614240c8ae13c8bd764a9f0f01f18c20cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 2 Jun 2026 18:07:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(controller):=20=E6=B7=BB=E5=8A=A0=E6=97=A0?= =?UTF-8?q?=E7=A0=81=E6=93=8D=E4=BD=9C=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=BB=93=E5=BA=93=E7=BC=96=E5=8F=B7=E4=BC=A0=E9=80=92?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在多个控制器中添加 getListForNoScan 接口用于获取可无码操作的物料列表 - 新增 NoScanItemVO 数据传输对象用于无码操作的物料信息 - 修复多处仓库编号 warehouseNo 参数传递错误的问题 - 统一在控制器中引入 ApiMark 注解用于接口标记 - 优化无码出入库流程中的仓库编号使用逻辑 - 移除 NormalPGIController 中重复的 ApiMark 注解 - 完善无码操作相关的数据验证和业务逻辑处理 --- .../ComponentOutboundController.java | 31 ++++++++- .../InCostCenterBackController.java | 35 +++++++++-- .../controller/InProduceBackController.java | 33 +++++++++- .../controller/InProduceOrderController.java | 48 ++++++++++---- .../InProduceOrderSurplusController.java | 28 +++++++++ .../admin/controller/NormalPGIController.java | 22 +++---- .../controller/OutAssistanceController.java | 38 +++++++++-- .../controller/OutCostCenterController.java | 38 +++++++++-- .../controller/OutProduceController.java | 38 +++++++++-- .../controller/OutPurchaseController.java | 31 ++++++++- .../controller/TransferCompanyController.java | 61 ++++++++++++++++-- .../controller/TransferFactoryController.java | 63 +++++++++++++++++-- .../pojo/request/NoScanningItemRequest.java | 6 ++ .../admin/pojo/request/NoScanningRequest.java | 6 -- .../nflg/wms/common/pojo/vo/NoScanItemVO.java | 5 ++ 15 files changed, 422 insertions(+), 61 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java index 27225b6b..e6a7a458 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java @@ -24,11 +24,13 @@ import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.vo.ComponentOutboundEditVO; import com.nflg.wms.common.pojo.vo.ComponentOutboundItemVO; import com.nflg.wms.common.pojo.vo.ComponentOutboundVO; +import com.nflg.wms.common.pojo.vo.NoScanItemVO; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; @@ -402,6 +404,33 @@ public class ComponentOutboundController extends BaseController { return ApiResult.success(); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsComponentPacking order = wmscomponentPackingService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = wmsComponentPackingItemService.lambdaQuery() + .eq(WmsComponentPackingItem::getPackingId, orderId) + .list(); + items.removeIf(item -> item.getOutQty().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getIdnrk())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(String.valueOf(item.getPosnr())) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getIdnrk()) + .setMaterialDesc(item.getOjtxb()) + .setWarehouseNo(item.getLgort()) + .setNum(item.getOutQty()) + ) + .toList() + ); + } + /** * 无码确认出库单 * @param request 无码确认出库参数 @@ -440,7 +469,7 @@ public class ComponentOutboundController extends BaseController { VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(packingItem.getIdnrk())) .throwMessage("物料" + packingItem.getIdnrk() + "已生成二维码,不允许无码出库"); - WmsComponentOutboundItem outboundItem = setWmsComponentOutboundItem(packing, packingItem, outbound, request.getWarehouseNo()); + WmsComponentOutboundItem outboundItem = setWmsComponentOutboundItem(packing, packingItem, outbound, item.getWarehouseNo()); outboundItems.add(outboundItem); BigDecimal totalNum = item.getDatas().stream() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java index e270b724..7da67a50 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java @@ -31,6 +31,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -202,6 +203,32 @@ public class InCostCenterBackController extends BaseController { ); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsInCostcenterBack order = inCostcenterBackService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = inCostcenterBackItemService.lambdaQuery() + .eq(WmsInCostcenterBackItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getRspos()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx()) + .setWarehouseNo(order.getLgort()) + .setNum(item.getLeft())) + .toList() + ); + } + /** * 无码入库 */ @@ -220,7 +247,7 @@ public class InCostCenterBackController extends BaseController { .setId(IdUtil.getSnowflakeNextId()) .setNo(serialNumberControllerService.generateSerialNumber(11)) .setOrderId(order.getId()) - .setLgort(request.getWarehouseNo()) + .setLgort(request.getItems().get(0).getWarehouseNo()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); List datas = inCostcenterBackItemService.getList(order.getId()); @@ -255,19 +282,19 @@ public class InCostCenterBackController extends BaseController { .setResbRspos(item.getRspos()) .setResbMatnr(item.getMatnr()) .setMaktx(item.getMaktx()) - .setResbLgort(request.getWarehouseNo()) + .setResbLgort(ri.getWarehouseNo()) .setResbWerks(order.getWerks()) .setResbMeins(item.getMeins()) .setErfmg(num) ); ri.getDatas().forEach(data -> { - String key9 = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getWerks() + "|" + request.getWarehouseNo() + "|" + data.getBinNo(); + String key9 = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getWerks() + "|" + ri.getWarehouseNo() + "|" + data.getBinNo(); inventoryMap.merge(key9, new InventoryInDTO() .setMaterialNo(item.getMatnr()) .setBatchNo(data.getBatchNo()) .setSerialNo(data.getSerialNo()) .setFactoryNo(order.getWerks()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ri.getWarehouseNo()) .setBinLocation(data.getBinNo()) .setNum(data.getNum()), (e, i) -> e.setNum(e.getNum().add(i.getNum()))); }); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java index fe69dd36..be4dc1ac 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java @@ -30,6 +30,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -211,6 +212,32 @@ public class InProduceBackController extends BaseController { ); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsInProduceBack order = inProduceBackService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = inProduceBackItemService.lambdaQuery() + .eq(WmsInProduceBackItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getSqsl().subtract(item.getNum()).compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getRspos()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx2()) + .setWarehouseNo(order.getLgort2()) + .setNum(item.getSqsl().subtract(item.getNum()))) + .toList() + ); + } + /** * 无码入库 */ @@ -257,13 +284,13 @@ public class InProduceBackController extends BaseController { .setNum(num); ticketItems.add(ti); ri.getDatas().forEach(data -> { - String key9 = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getDwerk() + "|" + request.getWarehouseNo() + "|" + data.getBinNo(); + String key9 = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getDwerk() + "|" + ri.getWarehouseNo() + "|" + data.getBinNo(); inventoryMap.merge(key9, new InventoryInDTO() .setMaterialNo(item.getMatnr()) .setBatchNo(data.getBatchNo()) .setSerialNo(data.getSerialNo()) .setFactoryNo(order.getDwerk()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ri.getWarehouseNo()) .setBinLocation(data.getBinNo()) .setNum(data.getNum()), (e, i) -> e.setNum(e.getNum().add(i.getNum()))); String key7 = item.getMatnr() + "|" + data.getBatchNo(); @@ -273,7 +300,7 @@ public class InProduceBackController extends BaseController { .setMatnr(item.getMatnr()) .setMaktx(item.getMaktx2()) .setWerks(order.getDwerk()) - .setLgort(request.getWarehouseNo()) + .setLgort(ri.getWarehouseNo()) .setMenge(data.getNum()) .setMenge_T(item.getEnmng()) .setMeins(item.getMeins()), (e, i) -> { e.setMenge(e.getMenge().add(i.getMenge())); return e; }); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java index 4708ca6c..f2175031 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java @@ -24,15 +24,14 @@ import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.vo.InProduceOrderItemVO; import com.nflg.wms.common.pojo.vo.InProduceOrderMaterialVO; import com.nflg.wms.common.pojo.vo.InProduceOrderVO; +import com.nflg.wms.common.pojo.vo.NoScanItemVO; import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.NumberUtil; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; -import com.nflg.wms.repository.entity.WmsBom; -import com.nflg.wms.repository.entity.WmsInProduceOrder; -import com.nflg.wms.repository.entity.WmsInProduceOrderItem; -import com.nflg.wms.repository.entity.WmsQrCodeMaster; +import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -419,6 +418,33 @@ public class InProduceOrderController extends BaseController { return ApiResult.success(vo); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsInProduceOrder order = produceOrderService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = produceOrderItemService.lambdaQuery() + .eq(WmsInProduceOrderItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getNum().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMaterialNo())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo("") + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMaterialNo()) + .setMaterialDesc(item.getMaterialDesc()) + .setWarehouseNo(item.getWarehouseNo()) + .setNum(item.getNum()) + ) + .toList() + ); + } + /** * 无码入库 */ @@ -451,35 +477,35 @@ public class InProduceOrderController extends BaseController { VUtil.trueThrowBusinessError(item.getNum().compareTo(num) != 0) .throwMessage("物料" + item.getMaterialNo() + "的收货数量与入库数量不一致"); item.setNum(BigDecimal.ZERO); - if (!StrUtil.equals(item.getWarehouseNo(), request.getWarehouseNo())) { + if (!StrUtil.equals(item.getWarehouseNo(), ri.getWarehouseNo())) { warehouseNoChange.put(item.getId(), item.getWarehouseNo()); - item.setWarehouseNo(request.getWarehouseNo()); + item.setWarehouseNo(ri.getWarehouseNo()); if (item.getParentId() > 0) { InProduceOrderItemVO pit = list.stream() .filter(l -> Objects.equals(l.getId(), item.getParentId())) .findFirst().get(); warehouseNoChange.put(pit.getId(), pit.getWarehouseNo()); - pit.setWarehouseNo(request.getWarehouseNo()); + pit.setWarehouseNo(ri.getWarehouseNo()); } } ri.getDatas().forEach(data -> { if (Objects.equals(item.getParentId(), 0L)) { - String key9 = item.getMaterialNo() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + item.getFactoryNo() + "|" + request.getWarehouseNo() + "|" + data.getBinNo(); + String key9 = item.getMaterialNo() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + item.getFactoryNo() + "|" + ri.getWarehouseNo() + "|" + data.getBinNo(); inventoryMap.merge(key9, new InventoryInDTO() .setMaterialNo(item.getMaterialNo()) .setBatchNo(data.getBatchNo()) .setSerialNo(data.getSerialNo()) .setFactoryNo(item.getFactoryNo()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ri.getWarehouseNo()) .setBinLocation(data.getBinNo()) .setNum(data.getNum()), (e, i) -> e.setNum(e.getNum().add(i.getNum()))); } - String key8 = data.getBatchNo() + "|" + item.getFactoryNo() + "|" + item.getUnit() + "|" + request.getWarehouseNo(); + String key8 = data.getBatchNo() + "|" + item.getFactoryNo() + "|" + item.getUnit() + "|" + ri.getWarehouseNo(); input1Map.merge(key8, new Zwm00Mb107QO() .setPWERK(item.getFactoryNo()) .setPSMNG(data.getNum()) .setAMEIN(item.getUnit()) - .setLGORT(request.getWarehouseNo()) + .setLGORT(ri.getWarehouseNo()) .setCHARG(data.getBatchNo()), (e, i) -> { e.setPSMNG(e.getPSMNG().add(i.getPSMNG())); return e; }); if (StrUtil.isNotBlank(data.getSerialNo())) { sernrs.add(data.getSerialNo()); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java index c95d434c..a10591af 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java @@ -31,6 +31,7 @@ import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -476,6 +477,33 @@ public class InProduceOrderSurplusController extends BaseController { return ApiResult.success(); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsInProduceOrder order = produceOrderService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = produceOrderItemService.lambdaQuery() + .eq(WmsInProduceOrderItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getNum().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMaterialNo())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo("") + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMaterialNo()) + .setMaterialDesc(item.getMaterialDesc()) + .setWarehouseNo(item.getWarehouseNo()) + .setNum(item.getNum()) + ) + .toList() + ); + } + /** * 无码收货和入库 * @param requests 请求参数 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index f4cae594..91aaddb0 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -192,7 +192,6 @@ public class NormalPGIController extends BaseController { * @param orderId 订单ID */ @GetMapping("getListForNoScan") - @ApiMark(moduleName = "送货单管理", apiName = "获取可无码收货单项列表") public ApiResult> getListForNoScan(@RequestParam Long orderId) { List items = wmsSrmOrderItemService.lambdaQuery() .eq(WmsSrmOrderItem::getOrderId, orderId) @@ -206,6 +205,7 @@ public class NormalPGIController extends BaseController { .setOrderItemId(item.getId()) .setMaterialNo(item.getItemCode()) .setMaterialDesc(item.getItemName()) + .setWarehouseNo("") .setNum(item.getDeliveryQty().subtract(item.getReceiptQty()))) .toList() ); @@ -306,7 +306,7 @@ public class NormalPGIController extends BaseController { .setCreateUserName(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()) .setReceiptNum(totalQty) - .setReceivedWarehouse(request.getWarehouseNo()) + .setReceivedWarehouse(item.getWarehouseNo()) .setStorageLocation(materialInfoInOrder.getBinNos()) .setInQty(BigDecimal.ZERO) .setNoteNum(order.getNoteNum()) @@ -389,7 +389,7 @@ public class NormalPGIController extends BaseController { String codeContent = item.getMaterialNo() + "&" + orderItem.getPoNum() + "&" + orderItem.getPoLineNumber() + "&" + orderItem.getLineNumber() + "&" + order.getNoteNum() + "&" + order.getIuCode() + "&" + order.getSupplierNum() + "&" + data.getNum() - + "&" + materialInfoInOrder.getMeins() + "&" + request.getWarehouseNo() + "&" + batchNo + + "&" + materialInfoInOrder.getMeins() + "&" + item.getWarehouseNo() + "&" + batchNo + "&" + serialNo + "&" + LocalDateTime.now(); String codeId = DigestUtil.md5Hex(codeContent); allCodeIds.add(codeId); @@ -419,7 +419,7 @@ public class NormalPGIController extends BaseController { .setCreateUserName(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()) .setReceiptNum(totalQty) - .setReceivedWarehouse(request.getWarehouseNo()) + .setReceivedWarehouse(item.getWarehouseNo()) .setStorageLocation(materialInfoInOrder.getBinNos()) .setInQty(BigDecimal.ZERO) .setNoteNum(order.getNoteNum()) @@ -440,7 +440,7 @@ public class NormalPGIController extends BaseController { String codeContent = item.getMaterialNo() + "&" + orderItem.getPoNum() + "&" + orderItem.getPoLineNumber() + "&" + orderItem.getLineNumber() + "&" + order.getNoteNum() + "&" + order.getIuCode() + "&" + order.getSupplierNum() + "&" + data.getNum() - + "&" + materialInfoInOrder.getMeins() + "&" + request.getWarehouseNo() + "&" + batchNo + + "&" + materialInfoInOrder.getMeins() + "&" + item.getWarehouseNo() + "&" + batchNo + "&" + serialNo + "&" + LocalDateTime.now(); String codeId = DigestUtil.md5Hex(codeContent); allCodeIds.add(codeId); @@ -466,7 +466,7 @@ public class NormalPGIController extends BaseController { .setCreateUserName(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()) .setReceiptNum(totalQty) - .setReceivedWarehouse(request.getWarehouseNo()) + .setReceivedWarehouse(item.getWarehouseNo()) .setStorageLocation("") .setInQty(totalQty) .setNoteNum(order.getNoteNum()) @@ -490,7 +490,7 @@ public class NormalPGIController extends BaseController { String codeContent = item.getMaterialNo() + "&" + orderItem.getPoNum() + "&" + orderItem.getPoLineNumber() + "&" + orderItem.getLineNumber() + "&" + order.getNoteNum() + "&" + order.getIuCode() + "&" + order.getSupplierNum() + "&" + data.getNum() - + "&" + materialInfoInOrder.getMeins() + "&" + request.getWarehouseNo() + "&" + batchNo + + "&" + materialInfoInOrder.getMeins() + "&" + item.getWarehouseNo() + "&" + batchNo + "&" + serialNo + "&" + LocalDateTime.now(); String codeId = DigestUtil.md5Hex(codeContent); allCodeIds.add(codeId); @@ -511,7 +511,7 @@ public class NormalPGIController extends BaseController { && inv.getBatchNo().equals(batchNo) && inv.getSerialNo().equals(serialNo) && inv.getFactoryNo().equals(order.getIuCode()) - && inv.getWarehouseNo().equals(request.getWarehouseNo()) + && inv.getWarehouseNo().equals(item.getWarehouseNo()) && StrUtil.equals(inv.getBinLocation(), binNo)) .findFirst() .orElse(null); @@ -519,7 +519,7 @@ public class NormalPGIController extends BaseController { inventoryDTO = new InventoryInDTO() .setMaterialNo(item.getMaterialNo()) .setFactoryNo(order.getIuCode()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(item.getWarehouseNo()) .setBinLocation(binNo) .setBatchNo(batchNo) .setSerialNo(serialNo) @@ -549,7 +549,7 @@ public class NormalPGIController extends BaseController { && dto1.getMeins().equals(materialInfoInOrder.getMeins()) && dto1.getCHARG().equals(batchNo) && dto1.getWERKS().equals(order.getIuCode()) - && dto1.getLGORT().equals(request.getWarehouseNo())) + && dto1.getLGORT().equals(item.getWarehouseNo())) .findFirst() .orElse(null); if (Objects.isNull(item1Dto)) { @@ -560,7 +560,7 @@ public class NormalPGIController extends BaseController { .setMEINS(materialInfoInOrder.getMeins()) .setCHARG(batchNo) .setWERKS(order.getIuCode()) - .setLGORT(request.getWarehouseNo()) + .setLGORT(item.getWarehouseNo()) .setKZKRI("")); } else { item1Dto.setERFMG(item1Dto.getERFMG().add(data.getNum())); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java index 59d8a172..98d01540 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java @@ -33,6 +33,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -279,6 +280,33 @@ public class OutAssistanceController extends BaseController { ); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsOutAssistance order = outAssistanceService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = outAssistanceItemService.lambdaQuery() + .eq(WmsOutAssistanceItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr1())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getEbelp()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr1()) + .setMaterialDesc(item.getMaktx1()) + .setWarehouseNo(order.getLgort1()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -289,14 +317,14 @@ public class OutAssistanceController extends BaseController { VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); request.getItems() .forEach(data -> - VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(data.getMaterialNo(),order.getWerks(),request.getWarehouseNo())) + VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(data.getMaterialNo(),order.getWerks(),data.getWarehouseNo())) .throwMessage("物料" + data.getMaterialNo() + "不支持无码出库") ); WmsOutAssistanceTicket ticket = new WmsOutAssistanceTicket() .setId(IdUtil.getSnowflakeNextId()) .setNo(serialNumberControllerService.generateSerialNumber(17)) .setOrderId(order.getId()) - .setLgort(request.getWarehouseNo()) + .setLgort(request.getItems().get(0).getWarehouseNo()) .setFinish(true) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); @@ -325,13 +353,13 @@ public class OutAssistanceController extends BaseController { .setNum(num); ticketItems.add(ti); ri.getDatas().forEach(data -> { - String key = item.getMatnr1() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getWerks() + "|" + request.getWarehouseNo(); + String key = item.getMatnr1() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getWerks() + "|" + ri.getWarehouseNo(); inventoryOutMap.merge(key, new InventoryOutDTO() .setMaterialNo(item.getMatnr1()) .setBatchNo(data.getBatchNo()) .setSerialNo(data.getSerialNo()) .setFactoryNo(order.getWerks()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ri.getWarehouseNo()) .setBinLocation(data.getBinNo()) .setNum(data.getNum()), (e, i) -> e.setNum(e.getNum().add(i.getNum()))); String key7 = item.getMatnr1() + "|" + data.getBatchNo(); @@ -343,7 +371,7 @@ public class OutAssistanceController extends BaseController { .setBdmng(item.getErfmg()) .setWerks(order.getWerks()) .setCharg(data.getBatchNo()) - .setLgort(request.getWarehouseNo()) + .setLgort(ri.getWarehouseNo()) .setMaktx(item.getMaktx()) .setEbeln(order.getEbeln()) .setMeins(item.getMeins()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java index 7bae7e21..84428187 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java @@ -33,6 +33,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -281,6 +282,33 @@ public class OutCostCenterController extends BaseController { ); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsOutCostcenter order = outCostcenterService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = outCostcenterItemService.lambdaQuery() + .eq(WmsOutCostcenterItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getRspos()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx()) + .setWarehouseNo(item.getLgort()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -291,14 +319,14 @@ public class OutCostCenterController extends BaseController { VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); request.getItems() .forEach(data -> - VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(data.getMaterialNo(), order.getWerks(), request.getWarehouseNo())) + VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(data.getMaterialNo(), order.getWerks(), data.getWarehouseNo())) .throwMessage("物料" + data.getMaterialNo() + "不支持无码出库") ); WmsOutCostcenterTicket ticket = new WmsOutCostcenterTicket() .setId(IdUtil.getSnowflakeNextId()) .setNo(serialNumberControllerService.generateSerialNumber(15)) .setOrderId(order.getId()) - .setLgort(request.getWarehouseNo()) + .setLgort(request.getItems().get(0).getWarehouseNo()) .setFinish(true) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); @@ -327,13 +355,13 @@ public class OutCostCenterController extends BaseController { .setNum(num); ticketItems.add(ti); ri.getDatas().forEach(data -> { - String key = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getWerks() + "|" + request.getWarehouseNo(); + String key = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getWerks() + "|" + ri.getWarehouseNo(); inventoryOutMap.merge(key, new InventoryOutDTO() .setMaterialNo(item.getMatnr()) .setBatchNo(data.getBatchNo()) .setSerialNo(data.getSerialNo()) .setFactoryNo(order.getWerks()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ri.getWarehouseNo()) .setBinLocation(data.getBinNo()) .setNum(data.getNum()), (e, i) -> e.setNum(e.getNum().add(i.getNum()))); String key7 = item.getMatnr() + "|" + data.getBatchNo(); @@ -344,7 +372,7 @@ public class OutCostCenterController extends BaseController { .setResbMatnr(item.getMatnr()) .setMaktx(item.getMaktx()) .setResbWerks(order.getWerks()) - .setResbLgort(request.getWarehouseNo()) + .setResbLgort(ri.getWarehouseNo()) .setResbMeins(item.getMeins()) .setQty(data.getNum()) .setResbErfmg(item.getBdmng()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index 25ddfddd..744e10bf 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -37,6 +37,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -408,6 +409,33 @@ public class OutProduceController extends BaseController { ); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsOutProduce order = outProduceService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = outProduceItemService.lambdaQuery() + .eq(WmsOutProduceItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getSqsl().subtract(item.getNum()).compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getRspos()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx2()) + .setWarehouseNo(order.getLgort2()) + .setNum(item.getSqsl().subtract(item.getNum())) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -418,14 +446,14 @@ public class OutProduceController extends BaseController { VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); request.getItems() .forEach(data -> - VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(data.getMaterialNo(),order.getDwerk(),request.getWarehouseNo())) + VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(data.getMaterialNo(),order.getDwerk(),data.getWarehouseNo())) .throwMessage("物料" + data.getMaterialNo() + "不支持无码出库") ); WmsOutProduceTicket ticket = new WmsOutProduceTicket() .setId(IdUtil.getSnowflakeNextId()) .setNo(serialNumberControllerService.generateSerialNumber(21)) .setProduceId(order.getId()) - .setLgort(request.getWarehouseNo()) + .setLgort(request.getItems().get(0).getWarehouseNo()) .setFinish(true) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); @@ -458,13 +486,13 @@ public class OutProduceController extends BaseController { .setNum(num); ticketItems.add(ti); ri.getDatas().forEach(data -> { - String key = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getDwerk() + "|" + request.getWarehouseNo(); + String key = item.getMatnr() + "|" + data.getBatchNo() + "|" + data.getSerialNo() + "|" + order.getDwerk() + "|" + ri.getWarehouseNo(); inventoryOutMap.merge(key, new InventoryOutDTO() .setMaterialNo(item.getMatnr()) .setBatchNo(data.getBatchNo()) .setSerialNo(data.getSerialNo()) .setFactoryNo(order.getDwerk()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ri.getWarehouseNo()) .setBinLocation(data.getBinNo()) .setNum(data.getNum()), (e, i) -> e.setNum(e.getNum().add(i.getNum()))); String key7 = item.getMatnr() + "|" + data.getBatchNo(); @@ -474,7 +502,7 @@ public class OutProduceController extends BaseController { .setMatnr(item.getMatnr()) .setMaktx(item.getMaktx2()) .setWerks(order.getDwerk()) - .setLgort(request.getWarehouseNo()) + .setLgort(ri.getWarehouseNo()) .setMenge(data.getNum()) .setMenge_t(BigDecimal.ZERO) .setMeins(item.getMeins()), (e, i) -> { e.setMenge(e.getMenge().add(i.getMenge())); return e; }); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java index 460dcd46..7847bd4d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java @@ -22,6 +22,7 @@ import com.nflg.wms.common.pojo.dto.ZWM3A06Input1DTO; import com.nflg.wms.common.pojo.dto.ZWM3A06Input2DTO; import com.nflg.wms.common.pojo.qo.OutPurchaseSearchQO; import com.nflg.wms.common.pojo.qo.QRCodeQO; +import com.nflg.wms.common.pojo.vo.NoScanItemVO; import com.nflg.wms.common.pojo.vo.OutPurchaseVO; import com.nflg.wms.common.pojo.vo.ZWM3A05ItemVO; import com.nflg.wms.common.pojo.vo.ZWM3A05VO; @@ -30,6 +31,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; @@ -138,6 +140,33 @@ public class OutPurchaseController extends BaseController { return ApiResult.success(vo); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsReturnRequest order = returnRequestService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = returnRequestItemService.lambdaQuery() + .eq(WmsReturnRequestItem::getApplicationId, orderId) + .list(); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMaterialCode())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getPoLineNumber()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMaterialCode()) + .setMaterialDesc(item.getMaterialDescription()) + .setWarehouseNo(item.getStorageLocation()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -156,7 +185,7 @@ public class OutPurchaseController extends BaseController { request.getItems().forEach(ri -> { WmsReturnRequestItem rrItem = returnRequestItemService.getById(ri.getOrderItemId()); VUtil.trueThrowBusinessError(Objects.isNull(rrItem)).throwMessage("申请单项无效:" + ri.getOrderItemId()); - VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(rrItem.getMaterialCode(), rrItem.getFactoryCode(), request.getWarehouseNo())) + VUtil.trueThrowBusinessError(noScanningBaseControllerService.quantityConsistencyCheck(rrItem.getMaterialCode(), rrItem.getFactoryCode(), ri.getWarehouseNo())) .throwMessage("物料" + rrItem.getMaterialCode() + "不支持无码出库"); VUtil.trueThrowBusinessError(rrItem.getLeft().compareTo(BigDecimal.ZERO) <= 0) .throwMessage("物料" + ri.getMaterialNo() + "已全部退库"); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index 6cf72a8d..e495902a 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -38,6 +38,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -489,6 +490,33 @@ public class TransferCompanyController extends BaseController { return ApiResult.success(); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScanOut") + public ApiResult> getListForNoScanOut(@RequestParam Long orderId) { + WmsTransferCompany order = transferCompanyService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = transferCompanyItemService.lambdaQuery() + .eq(WmsTransferCompanyItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getEbelp()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx()) + .setWarehouseNo(item.getLgpro()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无扫码出库 */ @@ -560,7 +588,7 @@ public class TransferCompanyController extends BaseController { .setUniqNo("") .setQiTao(false) .setFactoryNo(order.getReswk()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(item.getWarehouseNo()) .setNum(data.getNum()) .setEbelp(orderItem.getEbelp()) .setEbeln(order.getEbeln()) @@ -918,6 +946,31 @@ public class TransferCompanyController extends BaseController { return ApiResult.success(); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScanIn") + public ApiResult> getListForNoScanIn(@RequestParam Long orderId) { + WmsTransferCompanyTicket order = transferCompanyTicketService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = transferCompanyTicketItemService.getList(orderId); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getEbelp()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx()) + .setWarehouseNo(item.getLgpbe1()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无扫码入库 */ @@ -970,7 +1023,7 @@ public class TransferCompanyController extends BaseController { .setMaterialNo(ticketItem.getMatnr()) .setMaterialDesc(ticketItem.getMaktx()) .setFactoryNo(ticket.getWerks()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(item.getWarehouseNo()) .setBinNo(binNo) .setContent("") .setBatchNo(batchNo) @@ -1017,7 +1070,7 @@ public class TransferCompanyController extends BaseController { .map(ls -> new ZWM3A17Item1DTO() .setMATNR(ls.get(0).getMaterialNo()) .setCHARG(ls.get(0).getBatchNo()) - .setLGORT(request.getWarehouseNo()) + .setLGORT(ls.get(0).getWarehouseNo()) .setERFMG(ls.stream().map(InMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) .setWERKS(ticket.getWerks()) .setEBELP(ls.get(0).getEbelp()) @@ -1041,7 +1094,7 @@ public class TransferCompanyController extends BaseController { .set(WmsTransferCompanyTicket::getDocYear, vos.getKey().getValue()) .set(WmsTransferCompanyTicket::getUpdateBy, UserUtil.getUserName()) .set(WmsTransferCompanyTicket::getUpdateTime, LocalDateTime.now()) - .set(WmsTransferCompanyTicket::getLgort1, request.getWarehouseNo()) + .set(WmsTransferCompanyTicket::getLgort1, request.getItems().get(0).getWarehouseNo()) .set(WmsTransferCompanyTicket::getState, 1) .eq(WmsTransferCompanyTicket::getId, ticket.getId()) .update(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java index cedf459b..4a8fde16 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java @@ -36,6 +36,7 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; +import com.nflg.wms.starter.annotation.ApiMark; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @@ -515,6 +516,33 @@ public class TransferFactoryController extends BaseController { return ApiResult.success(); } + /** + * 获取可无码发货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScanOut") + public ApiResult> getListForNoScanOut(@RequestParam Long orderId) { + WmsTransferFactory order = transferFactoryService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = transferFactoryItemService.lambdaQuery() + .eq(WmsTransferFactoryItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getRspos()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx()) + .setWarehouseNo(order.getLgort()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -533,7 +561,7 @@ public class TransferFactoryController extends BaseController { WmsTransferFactoryTicket ticket = new WmsTransferFactoryTicket() .setId(IdUtil.getSnowflakeNextId()) .setNo(serialNumberControllerService.generateSerialNumber(19)) - .setLgort(request.getWarehouseNo()) + .setLgort(request.getItems().get(0).getWarehouseNo()) .setOrderId(order.getId()) .setFinish(true) .setCreateBy(UserUtil.getUserName()) @@ -581,7 +609,7 @@ public class TransferFactoryController extends BaseController { .setUniqNo("NO_SCAN_" + IdUtil.getSnowflakeNextId()) .setQiTao(false) .setFactoryNo(order.getWerks()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(item.getWarehouseNo()) .setBinNo(binNo) .setNum(data.getNum()) .setCreateBy(UserUtil.getUserName()) @@ -891,6 +919,31 @@ public class TransferFactoryController extends BaseController { return ApiResult.success(); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScanIn") + public ApiResult> getListForNoScanIn(@RequestParam Long orderId) { + TransferFactoryTicketInfoVO order = transferFactoryTicketService.getInfo(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + List items = transferFactoryTicketItemService.getList(orderId); + items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getRspos()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx()) + .setWarehouseNo(item.getUmlgo()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码入库 */ @@ -937,7 +990,7 @@ public class TransferFactoryController extends BaseController { .setBatchNo(batchNo) .setSerialNo(serialNo) .setFactoryNo(ticket.getWerks()) - .setWarehouseNo(request.getWarehouseNo()) + .setWarehouseNo(ticketItem.getUmlgo()) .setBinNo(binNo) .setUniqNo("NO_SCAN_" + IdUtil.getSnowflakeNextId()) .setRspos(ticketItem.getRspos()) @@ -979,7 +1032,7 @@ public class TransferFactoryController extends BaseController { .setErfmg(item.getNum()) .setMeins(item.getMeins()) .setWerks(ticket.getWerks()) - .setLgort(request.getWarehouseNo())).toList() + .setLgort(item.getUmlgo())).toList() ) .setT_list2(records.stream() .collect(Collectors.groupingBy(InMaterialScanRecord::getKey2)) @@ -1002,7 +1055,7 @@ public class TransferFactoryController extends BaseController { .set(WmsTransferFactoryTicket::getDocYear, vo.getEMjahr()) .set(WmsTransferFactoryTicket::getUpdateBy, UserUtil.getUserName()) .set(WmsTransferFactoryTicket::getUpdateTime, LocalDateTime.now()) - .set(WmsTransferFactoryTicket::getLgort1, request.getWarehouseNo()) + .set(WmsTransferFactoryTicket::getLgort1, request.getItems().get(0).getWarehouseNo()) .set(WmsTransferFactoryTicket::getState, 1) .eq(WmsTransferFactoryTicket::getId, ticket.getId()) .update(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningItemRequest.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningItemRequest.java index 7f99944c..6c06a289 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningItemRequest.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningItemRequest.java @@ -26,6 +26,12 @@ public class NoScanningItemRequest { @NotBlank private String materialNo; + /** + * 库存地点编号 + */ + @NotBlank + private String warehouseNo; + /** * 明细列表 */ diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java index 43747dfb..774ec8a3 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java @@ -19,12 +19,6 @@ public class NoScanningRequest { @NotNull private Long id; - /** - * 库存地点编号 - */ - @NotBlank - private String warehouseNo; - @Valid @NotEmpty private List items; diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java index 38457347..4371394b 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java @@ -29,6 +29,11 @@ public class NoScanItemVO { */ private String materialDesc; + /** + * 库存地点编号 + */ + private String warehouseNo; + /** * 数量 */