From 58312e1c2399ebc5c92f013fbcbe07ae5e5ef0e4 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Mon, 1 Jun 2026 17:37:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E7=A0=81=E6=94=B6=E8=B4=A7-=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A2=E5=8D=95=E5=89=AF=E4=BA=A7=E5=93=81(?= =?UTF-8?q?=E6=8B=86=E8=A7=A3)=E5=8A=9F=E8=83=BD=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InProduceOrderController.java | 173 ------------------ 1 file changed, 173 deletions(-) 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 b8f33088..70b2ac3e 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 @@ -6,13 +6,9 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.nflg.wms.admin.pojo.dto.PdfPageDTO; -import com.nflg.wms.admin.pojo.request.NoScanningItemDataRequest; -import com.nflg.wms.admin.pojo.request.NoScanningItemRequest; -import com.nflg.wms.admin.pojo.request.NoScanningRequest; import com.nflg.wms.admin.repository.InMaterialScanRecordRespository; import com.nflg.wms.admin.service.BasdeSerialNumberControllerService; import com.nflg.wms.admin.service.BinService; -import com.nflg.wms.admin.service.NoScanningBaseControllerService; import com.nflg.wms.admin.service.SapService; import com.nflg.wms.admin.util.*; import com.nflg.wms.common.constant.BarCodeProcessStage; @@ -124,9 +120,6 @@ public class InProduceOrderController extends BaseController { @Resource private IOptRecordService optRecordService; - @Resource - private NoScanningBaseControllerService noScanningBaseControllerService; - /** * 从SAP查询生产订单信息 * @param no 生产订单号 @@ -229,67 +222,6 @@ public class InProduceOrderController extends BaseController { return ApiResult.success(order.getId()); } - /** - * 无码保存 - * @param request 请求参数 - */ - @Transactional - @PostMapping("saveNoScanning") - public ApiResult saveNoScanning(@Valid @RequestBody InProduceOrderGenerateMaterialsQO request) { - return ApiResult.success(saveNoScanningOrder(request)); - } - - private Long saveNoScanningOrder(InProduceOrderGenerateMaterialsQO request) { - WmsInProduceOrder order = new WmsInProduceOrder() - .setId(IdUtil.getSnowflakeNextId()) - .setDataType(request.getDataType()) - .setNo(serialNumberControllerService.generateSerialNumber(8)) - .setOrderNo(request.getAufnr()) - .setList(request.getList()) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(LocalDateTime.now()); - produceOrderService.save(order); - String date = DateTimeUtil.format(LocalDate.now(), "yyMMdd"); - stringRedisTemplate.opsForValue().setIfAbsent("index:batchNo:" + date, "0", 24 - LocalDateTime.now().getHour(), TimeUnit.HOURS); - String index = StrUtil.padPre(String.valueOf(stringRedisTemplate.opsForValue().increment("index:batchNo:" + date)), 4, "0"); - WmsInProduceOrderItem parent = new WmsInProduceOrderItem() - .setId(IdUtil.getSnowflakeNextId()) - .setOrderId(order.getId()) - .setParentId(0L) - .setNum(request.getNum()) - .setMaterialNo(request.getMatnr()) - .setMaterialDesc(request.getMaktx()) - .setUnit(request.getMeins()) - .setFactoryNo(request.getPwerk()) - .setWarehouseNo(request.getLgort()) - .setOrderNum(request.getPsmng()) - .setBatchNo(date + index) - .setSernr(request.getSernr()); - produceOrderItemService.save(parent); - if (request.getList()) { - List children = bomService.getChildren(request.getMatnr()); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(children)).throwMessage("请先添加齐套物料"); - List items = children.stream() - .map(it -> new WmsInProduceOrderItem() - .setId(IdUtil.getSnowflakeNextId()) - .setOrderId(order.getId()) - .setParentId(parent.getId()) - .setNum(it.getNum()) - .setMaterialNo(it.getNo()) - .setMaterialDesc(it.getDescribe()) - .setUnit(request.getMeins()) - .setFactoryNo(request.getPwerk()) - .setWarehouseNo(request.getLgort()) - .setOrderNum(request.getPsmng()) - .setBatchNo(parent.getBatchNo()) - .setSernr(request.getSernr()) - ) - .toList(); - produceOrderItemService.saveBatch(items); - } - return order.getId(); - } - /** * 搜索 * @param request 搜索参数 @@ -693,111 +625,6 @@ public class InProduceOrderController extends BaseController { return ApiResult.success(); } - /** - * 无码收货和入库 - * @param requests 请求参数 - */ - @Transactional - @PostMapping("receiveNoScanning") - public ApiResult receiveNoScanning(@Valid @RequestBody @NotEmpty List requests) { - List inventories = new ArrayList<>(); - List input1 = new ArrayList<>(); - List sernrs = new ArrayList<>(); - Set orderIds = new HashSet<>(); - - for (NoScanningRequest request : requests) { - WmsInProduceOrder order = produceOrderService.getById(request.getId()); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); - VUtil.trueThrowBusinessError(!Objects.equals(order.getState(), (short) 0)) - .throwMessage("该订单非待收货状态"); - - List orderItems = produceOrderItemService.lambdaQuery() - .eq(WmsInProduceOrderItem::getOrderId, order.getId()) - .list(); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orderItems)).throwMessage("订单项不存在"); - Map orderItemMap = orderItems.stream() - .collect(Collectors.toMap(WmsInProduceOrderItem::getId, item -> item)); - orderIds.add(order.getId()); - VUtil.trueThrowBusinessError(orderIds.size() != 1).throwMessage("请一次只提交同一个订单的无码收货"); - - for (NoScanningItemRequest item : request.getItems()) { - WmsInProduceOrderItem orderItem = orderItemMap.get(item.getOrderItemId()); - VUtil.trueThrowBusinessError(Objects.isNull(orderItem)).throwMessage("订单项不存在"); - VUtil.trueThrowBusinessError(!StrUtil.equals(item.getMaterialNo(), orderItem.getMaterialNo())) - .throwMessage("订单项与物料不匹配:" + item.getMaterialNo()); - VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(orderItem.getMaterialNo())) - .throwMessage("物料" + orderItem.getMaterialNo() + "已生成二维码,不允许无码收货"); - - BigDecimal totalNum = item.getDatas().stream() - .peek(data -> VUtil.trueThrowBusinessError(Objects.isNull(data.getNum()) || data.getNum().compareTo(BigDecimal.ZERO) <= 0) - .throwMessage("物料" + orderItem.getMaterialNo() + "的无码收货数量必须大于0")) - .map(NoScanningItemDataRequest::getNum) - .reduce(BigDecimal.ZERO, BigDecimal::add); - VUtil.trueThrowBusinessError(totalNum.compareTo(orderItem.getNum()) != 0) - .throwMessage("物料" + orderItem.getMaterialNo() + "的无码收货数量与订单数量不一致"); - - item.getDatas().forEach(data -> { - inventories.add(new InventoryInDTO() - .setMaterialNo(orderItem.getMaterialNo()) - .setFactoryNo(orderItem.getFactoryNo()) - .setWarehouseNo(orderItem.getWarehouseNo()) - .setBatchNo(StrUtil.blankToDefault(data.getBatchNo(), "")) - .setSerialNo(StrUtil.blankToDefault(data.getSerialNo(), "")) - .setBinLocation(StrUtil.blankToDefault(data.getBinNo(), "")) - .setNum(data.getNum()) - ); - }); - } - - input1.addAll(orderItems.stream() - .filter(it -> Objects.equals(it.getParentId(), 0L)) - .map(it -> new Zwm00Mb107QO() - .setPWERK(it.getFactoryNo()) - .setPSMNG(it.getNum()) - .setAMEIN(it.getUnit()) - .setLGORT(it.getWarehouseNo()) - .setCHARG(it.getBatchNo())) - .toList()); - sernrs.addAll(orderItems.stream() - .filter(it -> Objects.equals(it.getParentId(), 0L)) - .map(WmsInProduceOrderItem::getSernr) - .toList()); - } - - inventoryService.in(mergeInventories(inventories)); - WmsInProduceOrder order = produceOrderService.getById(requests.get(0).getId()); - OptRecordDTO optRecordDTO = new OptRecordDTO(); - optRecordDTO.setOperationType((short) 1) - .setOrderId(order.getNo()); - optRecordService.add(optRecordDTO); - - Zwm00Mb107DTO dto = sapService.zwm00_mb107(order.getOrderNo(), UserUtil.getUserName(), input1, sernrs); - order.setMblnr(dto.getE_MBLNR()); - order.setMjahr(dto.getE_MJAHR()); - order.setState((short) 1); - order.setUpdateBy(UserUtil.getUserName()); - order.setUpdateTime(LocalDateTime.now()); - produceOrderService.updateById(order); - return ApiResult.success(); - } - - private List mergeInventories(List inventories) { - return inventories.stream() - .collect(Collectors.groupingBy(InventoryInDTO::getKey)) - .values() - .stream() - .map(items -> new InventoryInDTO() - .setMaterialNo(items.get(0).getMaterialNo()) - .setFactoryNo(items.get(0).getFactoryNo()) - .setWarehouseNo(items.get(0).getWarehouseNo()) - .setBatchNo(items.get(0).getBatchNo()) - .setSerialNo(items.get(0).getSerialNo()) - .setBinLocation(items.get(0).getBinLocation()) - .setNum(items.stream().map(InventoryInDTO::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) - ) - .toList(); - } - // private void syncStorage(InProduceOrderItemVO it, Collection binNos) { // if (CollectionUtil.isEmpty(binNos)) // return;