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 f5d83d01..27225b6b 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 @@ -495,7 +495,7 @@ public class ComponentOutboundController extends BaseController { buildZwm3a20DTO(zwm3a20DTO, scanCodesGroup, outboundItem); } - componentOutboundControllerService.confirmPda(outbound, outboundItems, records, zwm3a20DTO, inventories); + componentOutboundControllerService.confirmPda(outbound, outboundItems, records, zwm3a20DTO, inventories, false); return ApiResult.success(); } 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 30b5f45d..b8f33088 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 @@ -694,13 +694,12 @@ public class InProduceOrderController extends BaseController { } /** - * 无码收货和入库(PDA使用) + * 无码收货和入库 * @param requests 请求参数 */ @Transactional @PostMapping("receiveNoScanning") public ApiResult receiveNoScanning(@Valid @RequestBody @NotEmpty List requests) { - List records = new ArrayList<>(); List inventories = new ArrayList<>(); List input1 = new ArrayList<>(); List sernrs = new ArrayList<>(); @@ -738,25 +737,6 @@ public class InProduceOrderController extends BaseController { .throwMessage("物料" + orderItem.getMaterialNo() + "的无码收货数量与订单数量不一致"); item.getDatas().forEach(data -> { - records.add(new InMaterialScanRecord() - .setSource(4) - .setSourceId(order.getId()) - .setSourceItemId(orderItem.getId()) - .setTicketItemId(orderItem.getId()) - .setMaterialNo(orderItem.getMaterialNo()) - .setMaterialDesc(orderItem.getMaterialDesc()) - .setFactoryNo(orderItem.getFactoryNo()) - .setWarehouseNo(orderItem.getWarehouseNo()) - .setBinNo(StrUtil.blankToDefault(data.getBinNo(), "")) - .setContent("") - .setBatchNo(StrUtil.blankToDefault(data.getBatchNo(), "")) - .setSerialNo(StrUtil.blankToDefault(data.getSerialNo(), "")) - .setNum(data.getNum()) - .setUnit(orderItem.getUnit()) - .setUniqNo("NO_SCAN_" + IdUtil.getSnowflakeNextId()) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(Instant.now()) - ); inventories.add(new InventoryInDTO() .setMaterialNo(orderItem.getMaterialNo()) .setFactoryNo(orderItem.getFactoryNo()) @@ -798,7 +778,6 @@ public class InProduceOrderController extends BaseController { order.setUpdateBy(UserUtil.getUserName()); order.setUpdateTime(LocalDateTime.now()); produceOrderService.updateById(order); - inMaterialScanRecordRespository.saveAll(records); return ApiResult.success(); } 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 94ff743f..bfef3f6d 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 @@ -583,7 +583,6 @@ public class TransferCompanyController extends BaseController { transferCompanyTicketItemService.saveBatch(ticketItems); transferCompanyTicketService.save(ticket); submitSap(order, ticket, records, datas, ticketItems, Collections.emptyList()); - outMaterialScanRecordRespository.saveAll(records); return ApiResult.success(); } @@ -920,7 +919,7 @@ public class TransferCompanyController extends BaseController { } /** - * 无扫码入库(PDA使用) + * 无扫码入库 */ @Transactional @PostMapping("pda/submitForInNoScanning") @@ -928,16 +927,11 @@ public class TransferCompanyController extends BaseController { TransferCompanyTicketVO ticket = transferCompanyTicketService.getInfo(request.getId()); VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); - List outRecords = outMaterialScanRecordRespository.findByTicketId(ticket.getId()); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(outRecords)).throwMessage("未找到出库扫码记录"); List ticketItems = transferCompanyTicketItemService.getList(ticket.getId()); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(ticketItems)).throwMessage("出库单明细不存在"); Map ticketItemMap = ticketItems.stream() .collect(Collectors.toMap(TransferCompanyItemVO::getId, item -> item)); - Map outRecordMap = outRecords.stream() - .collect(Collectors.toMap(OutMaterialScanRecord::getTicketItemId, item -> item, (a, b) -> a)); - List records = new ArrayList<>(); List updateItems = new ArrayList<>(); for (NoScanningItemRequest item : request.getItems()) { @@ -955,9 +949,6 @@ public class TransferCompanyController extends BaseController { .reduce(BigDecimal.ZERO, BigDecimal::add); VUtil.trueThrowBusinessError(totalNum.compareTo(ticketItem.getNum()) != 0) .throwMessage("物料" + ticketItem.getMatnr() + "的无扫码入库数量与凭证数量不一致"); - - OutMaterialScanRecord outRecord = outRecordMap.get(ticketItem.getId()); - VUtil.trueThrowBusinessError(Objects.isNull(outRecord)).throwMessage("未找到出库扫码记录"); updateItems.add(new WmsTransferCompanyTicketItem() .setId(ticketItem.getId()) .setBinNos1(item.getDatas().stream() @@ -972,8 +963,9 @@ public class TransferCompanyController extends BaseController { String binNo = StrUtil.blankToDefault(data.getBinNo(), ""); records.add(new InMaterialScanRecord() .setSource(6) - .setSourceId(outRecord.getSourceId()) - .setSourceItemId(outRecord.getSourceItemId()) + .setSourceId(ticket.getId()) + .setSourceItemId(ticketItem.getOrderItemId()) + .setTicketId(ticket.getId()) .setTicketItemId(ticketItem.getId()) .setMaterialNo(ticketItem.getMatnr()) .setMaterialDesc(ticketItem.getMaktx()) @@ -987,7 +979,6 @@ public class TransferCompanyController extends BaseController { .setUnit(ticketItem.getMeins()) .setEbelp(ticketItem.getEbelp()) .setEbeln(ticket.getEbeln()) - .setRspos(outRecord.getRspos()) .setUniqNo("NO_SCAN_" + IdUtil.getSnowflakeNextId()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(Instant.now()) @@ -1012,7 +1003,6 @@ public class TransferCompanyController extends BaseController { .setNum(list.stream().map(InMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() ); - inMaterialScanRecordRespository.saveAll(records); OptRecordDTO optRecordDTO = new OptRecordDTO(); optRecordDTO.setOperationType((short) 1) .setOrderId(ticket.getTicketNo()); 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 1d0da57f..dc17bec7 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 @@ -615,7 +615,6 @@ public class TransferFactoryController extends BaseController { .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() ); - outMaterialScanRecordRespository.saveAll(records); return ApiResult.success(); } @@ -893,7 +892,7 @@ public class TransferFactoryController extends BaseController { } /** - * 无码入库(PDA使用) + * 无码入库 */ @Transactional @PostMapping("pda/submitForInNoScanning") @@ -901,8 +900,6 @@ public class TransferFactoryController extends BaseController { TransferFactoryTicketInfoVO ticket = transferFactoryTicketService.getInfo(request.getId()); VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); - List records1 = outMaterialScanRecordRespository.findByTicketId(ticket.getId()); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(records1)).throwMessage("未找到出库记录"); List ticketItems = transferFactoryTicketItemService.getList(ticket.getId()); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(ticketItems)).throwMessage("出库单明细不存在"); @@ -923,9 +920,6 @@ public class TransferFactoryController extends BaseController { .reduce(BigDecimal.ZERO, BigDecimal::add); VUtil.trueThrowBusinessError(totalNum.compareTo(ticketItem.getNum()) != 0) .throwMessage("物料" + ticketItem.getMatnr() + "的无码入库数量与出库数量不一致"); - - OutMaterialScanRecord outRecord = findOutRecord(records1, ticketItem); - VUtil.trueThrowBusinessError(Objects.isNull(outRecord)).throwMessage("未找到物料" + ticketItem.getMatnr() + "的出库记录"); matchedIds.add(item.getOrderItemId()); item.getDatas().forEach(data -> { @@ -934,18 +928,19 @@ public class TransferFactoryController extends BaseController { String binNo = StrUtil.blankToDefault(data.getBinNo(), ""); records.add(new InMaterialScanRecord() .setSource(5) - .setSourceId(outRecord.getSourceId()) - .setSourceItemId(outRecord.getSourceItemId()) - .setTicketItemId(outRecord.getTicketItemId()) - .setMaterialNo(outRecord.getMaterialNo()) - .setContent(outRecord.getContent()) + .setSourceId(ticket.getId()) + .setSourceItemId(ticketItem.getOrderItemId()) + .setTicketId(ticket.getId()) + .setTicketItemId(ticketItem.getId()) + .setMaterialNo(ticketItem.getMatnr()) + .setContent("") .setBatchNo(batchNo) .setSerialNo(serialNo) .setFactoryNo(ticket.getWerks()) .setWarehouseNo(request.getWarehouseNo()) .setBinNo(binNo) - .setUniqNo(outRecord.getUniqNo()) - .setRspos(outRecord.getRspos()) + .setUniqNo("NO_SCAN_" + IdUtil.getSnowflakeNextId()) + .setRspos(ticketItem.getRspos()) .setNum(data.getNum()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(Instant.now()) @@ -986,8 +981,8 @@ public class TransferFactoryController extends BaseController { .setWerks(ticket.getWerks()) .setLgort(request.getWarehouseNo())).toList() ) - .setT_list2(records1.stream() - .collect(Collectors.groupingBy(OutMaterialScanRecord::getKey6)) + .setT_list2(records.stream() + .collect(Collectors.groupingBy(InMaterialScanRecord::getKey2)) .values() .stream() .map(ls -> new ZWM00MB113LIST2QO() @@ -1011,7 +1006,6 @@ public class TransferFactoryController extends BaseController { .set(WmsTransferFactoryTicket::getState, 1) .eq(WmsTransferFactoryTicket::getId, ticket.getId()) .update(); - inMaterialScanRecordRespository.saveAll(records); return ApiResult.success(); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ComponentOutboundControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ComponentOutboundControllerService.java index f38a658e..58bd6c05 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ComponentOutboundControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ComponentOutboundControllerService.java @@ -52,12 +52,18 @@ public class ComponentOutboundControllerService { @Transactional public void confirmPda(WmsComponentOutbound outbound, List outboundItems, List records) { - confirmPda(outbound, outboundItems, records, null, null); + confirmPda(outbound, outboundItems, records, null, null, true); } @Transactional public void confirmPda(WmsComponentOutbound outbound, List outboundItems , List records, ZWM3A20DTO zwm3a20DTO, List inventories) { + confirmPda(outbound, outboundItems, records, zwm3a20DTO, inventories, true); + } + + @Transactional + public void confirmPda(WmsComponentOutbound outbound, List outboundItems + , List records, ZWM3A20DTO zwm3a20DTO, List inventories, boolean saveScanRecords) { outbound.setOutboundNo(basdeSerialNumberService.generateSerialNumber(5)); wmsComponentOutboundService.save(outbound); @@ -76,7 +82,9 @@ public class ComponentOutboundControllerService { .update(); wmsComponentPackingItemService.addOutQty(outbound.getPackingId()); - outMaterialScanRecordRespository.saveAll(records); + if (saveScanRecords) { + outMaterialScanRecordRespository.saveAll(records); + } if (Objects.nonNull(zwm3a20DTO)) { OptRecordDTO optRecordDTO = new OptRecordDTO();