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..a7cf28b1 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,34 @@ 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()) + .setFactoryNo(order.getFactoryNo()) + .setWarehouseNo(item.getLgort()) + .setNum(item.getOutQty()) + ) + .toList() + ); + } + /** * 无码确认出库单 * @param request 无码确认出库参数 @@ -440,7 +470,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..98e434f1 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,33 @@ 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()) + .setFactoryNo(order.getWerks()) + .setWarehouseNo(order.getLgort()) + .setNum(item.getLeft())) + .toList() + ); + } + /** * 无码入库 */ @@ -220,7 +248,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 +283,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..fb116ba8 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,33 @@ 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()) + .setFactoryNo(order.getDwerk()) + .setWarehouseNo(order.getLgort2()) + .setNum(item.getSqsl().subtract(item.getNum()))) + .toList() + ); + } + /** * 无码入库 */ @@ -257,13 +285,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 +301,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..390d8598 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,34 @@ 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()) + .setFactoryNo(item.getFactoryNo()) + .setWarehouseNo(item.getWarehouseNo()) + .setNum(item.getNum()) + ) + .toList() + ); + } + /** * 无码入库 */ @@ -451,35 +478,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..bdb14140 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,34 @@ 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()) + .setFactoryNo(item.getFactoryNo()) + .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..cd483c19 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,8 +192,9 @@ public class NormalPGIController extends BaseController { * @param orderId 订单ID */ @GetMapping("getListForNoScan") - @ApiMark(moduleName = "送货单管理", apiName = "获取可无码收货单项列表") public ApiResult> getListForNoScan(@RequestParam Long orderId) { + WmsSrmOrder order = wmsSrmOrderService.getById(orderId); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在"); List items = wmsSrmOrderItemService.lambdaQuery() .eq(WmsSrmOrderItem::getOrderId, orderId) .list(); @@ -201,12 +202,18 @@ public class NormalPGIController extends BaseController { || noScanningBaseControllerService.existsQrCode(item.getItemCode())); return ApiResult.success( items.stream() - .map(item -> new NoScanItemVO() - .setRowNo(item.getLineNumber()) - .setOrderItemId(item.getId()) - .setMaterialNo(item.getItemCode()) - .setMaterialDesc(item.getItemName()) - .setNum(item.getDeliveryQty().subtract(item.getReceiptQty()))) + .map(item -> { + SAPSyncParamsDTO syncParamsDTO = sapCommonService.getMaterialInfoInOrder(item.getPoNum(), + order.getSupplierNum(), item.getItemCode(), item.getPoLineNumber()); + return new NoScanItemVO() + .setRowNo(item.getLineNumber()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getItemCode()) + .setMaterialDesc(item.getItemName()) + .setFactoryNo(order.getIuCode()) + .setWarehouseNo(syncParamsDTO.getWarehouseNo()) + .setNum(item.getDeliveryQty().subtract(item.getReceiptQty())); + }) .toList() ); } @@ -306,7 +313,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 +396,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 +426,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 +447,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 +473,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 +497,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 +518,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 +526,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 +556,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 +567,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())); @@ -1188,7 +1195,7 @@ public class NormalPGIController extends BaseController { content.setReceiveType("BY_DELIVERY"); content.setLineVOList(new ArrayList<>()); dto.setContent(content); - dto.setCode("SCAN_RCV_RECEIVE_TO_SRM"); + dto.setCode("WMS_RCV_RECEIVE_TO_SRM"); qcDto.setPushDto(dto); } srmPushDto = qcDto.getPushDto(); 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..bf56cde6 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; @@ -97,6 +98,7 @@ public class OutAssistanceController extends BaseController { @Resource private IOptRecordService optRecordService; + @Resource private IWmsOutProduceService outProduceService; @@ -279,6 +281,34 @@ 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()) + .setFactoryNo(order.getWerks()) + .setWarehouseNo(order.getLgort1()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -289,14 +319,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 +355,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 +373,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..cc647795 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,34 @@ 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()) + .setFactoryNo(order.getWerks()) + .setWarehouseNo(item.getLgort()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -291,14 +320,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 +356,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 +373,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..70455970 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,34 @@ 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()) + .setFactoryNo(order.getDwerk()) + .setWarehouseNo(order.getLgort2()) + .setNum(item.getSqsl().subtract(item.getNum())) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -418,14 +447,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 +487,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 +503,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..8861d481 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,34 @@ 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()) + .setFactoryNo(item.getFactoryCode()) + .setWarehouseNo(item.getStorageLocation()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -156,7 +186,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/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 7e525486..d2519cde 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -452,9 +452,9 @@ public class StructuralPackageOrderController extends BaseController { // 获取托盘号:如果物料项有关联的托盘,则使用托盘号;否则为空 if (item.getTrayId() != null) { WmsStructuralPackageOrderTray tray = trays.stream() - .filter(t -> t.getId().equals(item.getTrayId())) - .findFirst() - .orElse(null); + .filter(t -> t.getId().equals(item.getTrayId())) + .findFirst() + .orElse(null); if (tray != null) { ivo.setNo(tray.getNo()); } else { @@ -519,6 +519,7 @@ public class StructuralPackageOrderController extends BaseController { /** * 获取托盘零件列表 + * * @param id 订单id */ @GetMapping("getItems") 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..4017f177 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,34 @@ 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()) + .setFactoryNo(order.getReswk()) + .setWarehouseNo(item.getLgpro()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无扫码出库 */ @@ -560,7 +589,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 +947,32 @@ 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()) + .setFactoryNo(item.getWerks()) + .setWarehouseNo(item.getLgpbe1()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无扫码入库 */ @@ -970,7 +1025,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 +1072,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 +1096,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..d418b32c 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,34 @@ 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()) + .setFactoryNo(order.getWerks()) + .setWarehouseNo(order.getLgort()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码出库 */ @@ -533,7 +562,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 +610,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 +920,32 @@ 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()) + .setFactoryNo(order.getWerks()) + .setWarehouseNo(item.getUmlgo()) + .setNum(item.getLeft()) + ) + .toList() + ); + } + /** * 无码入库 */ @@ -937,7 +992,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 +1034,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 +1057,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..c635acb5 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,16 @@ public class NoScanItemVO { */ private String materialDesc; + /** + * 工厂编号 + */ + private String factoryNo; + + /** + * 库存地点编号 + */ + private String warehouseNo; + /** * 数量 */