From 848318ef00bf0fe8a99db61c3db7485297abc037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 23 Jul 2025 16:21:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/wms/admin/AdminApplication.java | 2 +- ... => StructuralPackageOrderController.java} | 95 +++++++++++-------- .../wms/admin/runner/RedisDataInitRunner.java | 4 +- .../resources/template/StructuralPackage.html | 2 +- .../main/resources/template/qrcode/dp.html | 2 +- .../main/resources/template/qrcode/qitao.html | 2 +- .../resources/template/qrcode/spitem.html | 2 +- .../main/resources/template/qrcode/tray.html | 2 +- .../com/nflg/wms/common/pojo/vo/TrayVO.java | 2 + ...er.java => WmsStructuralPackageOrder.java} | 4 +- ...ava => WmsStructuralPackageOrderTray.java} | 10 +- ...=> WmsStructuralPackageOrderTrayItem.java} | 4 +- ...a => WmsStructuralPackageOrderMapper.java} | 4 +- ...StructuralPackageOrderTrayItemMapper.java} | 4 +- ... WmsStructuralPackageOrderTrayMapper.java} | 4 +- ...=> IWmsStructuralPackageOrderService.java} | 6 +- ...tructuralPackageOrderTrayItemService.java} | 6 +- ...WmsStructuralPackageOrderTrayService.java} | 6 +- ...WmsStructuralPackageOrderServiceImpl.java} | 34 +++---- ...turalPackageOrderTrayItemServiceImpl.java} | 16 ++-- ...tructuralPackageOrderTrayServiceImpl.java} | 16 ++-- ...ml => WmsStructuralPackageOrderMapper.xml} | 10 +- ...sStructuralPackageOrderTrayItemMapper.xml} | 12 +-- ...> WmsStructuralPackageOrderTrayMapper.xml} | 20 ++-- 24 files changed, 144 insertions(+), 125 deletions(-) rename nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/{StructuralPackageDeliverOrderController.java => StructuralPackageOrderController.java} (84%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/{WmsDeliverStructuralPackageOrder.java => WmsStructuralPackageOrder.java} (92%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/{WmsDeliverStructuralPackageOrderTray.java => WmsStructuralPackageOrderTray.java} (79%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/{WmsDeliverStructuralPackageOrderTrayItem.java => WmsStructuralPackageOrderTrayItem.java} (90%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/{WmsDeliverStructuralPackageOrderMapper.java => WmsStructuralPackageOrderMapper.java} (83%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/{WmsDeliverStructuralPackageOrderTrayItemMapper.java => WmsStructuralPackageOrderTrayItemMapper.java} (73%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/{WmsDeliverStructuralPackageOrderTrayMapper.java => WmsStructuralPackageOrderTrayMapper.java} (85%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/{IWmsDeliverStructuralPackageOrderService.java => IWmsStructuralPackageOrderService.java} (81%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/{IWmsDeliverStructuralPackageOrderTrayItemService.java => IWmsStructuralPackageOrderTrayItemService.java} (73%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/{IWmsDeliverStructuralPackageOrderTrayService.java => IWmsStructuralPackageOrderTrayService.java} (81%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/{WmsDeliverStructuralPackageOrderServiceImpl.java => WmsStructuralPackageOrderServiceImpl.java} (62%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/{WmsDeliverStructuralPackageOrderTrayItemServiceImpl.java => WmsStructuralPackageOrderTrayItemServiceImpl.java} (52%) rename nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/{WmsDeliverStructuralPackageOrderTrayServiceImpl.java => WmsStructuralPackageOrderTrayServiceImpl.java} (67%) rename nflg-wms-repository/src/main/resources/mapper/{WmsDeliverStructuralPackageOrderMapper.xml => WmsStructuralPackageOrderMapper.xml} (92%) rename nflg-wms-repository/src/main/resources/mapper/{WmsDeliverStructuralPackageOrderTrayItemMapper.xml => WmsStructuralPackageOrderTrayItemMapper.xml} (61%) rename nflg-wms-repository/src/main/resources/mapper/{WmsDeliverStructuralPackageOrderTrayMapper.xml => WmsStructuralPackageOrderTrayMapper.xml} (85%) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java index e2f6fb9e..19337f11 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java @@ -22,7 +22,7 @@ public class AdminApplication { // SapService sapService= SpringUtil.getBean(SapService.class); // log.info(JSONUtil.toJsonStr(sapService.searchOrder("0000101808"))); -// log.info(JSONUtil.toJsonStr(sapService.getMaterialInfoInOrder("S202507220002","0000101097","2100053760"))); +// log.info(JSONUtil.toJsonStr(sapService.getMaterialInfoInOrder("7500188009","0000101808","2100053760"))); } } \ No newline at end of file diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageDeliverOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java similarity index 84% rename from nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageDeliverOrderController.java rename to nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 3349390c..9e466186 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageDeliverOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -25,12 +25,12 @@ import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; -import com.nflg.wms.repository.entity.WmsDeliverStructuralPackageOrder; -import com.nflg.wms.repository.entity.WmsDeliverStructuralPackageOrderTray; -import com.nflg.wms.repository.entity.WmsDeliverStructuralPackageOrderTrayItem; -import com.nflg.wms.repository.service.IWmsDeliverStructuralPackageOrderService; -import com.nflg.wms.repository.service.IWmsDeliverStructuralPackageOrderTrayItemService; -import com.nflg.wms.repository.service.IWmsDeliverStructuralPackageOrderTrayService; +import com.nflg.wms.repository.entity.WmsStructuralPackageOrder; +import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTray; +import com.nflg.wms.repository.entity.WmsStructuralPackageOrderTrayItem; +import com.nflg.wms.repository.service.IWmsStructuralPackageOrderService; +import com.nflg.wms.repository.service.IWmsStructuralPackageOrderTrayItemService; +import com.nflg.wms.repository.service.IWmsStructuralPackageOrderTrayService; import com.nflg.wms.repository.service.IWmsStructuralPackageService; import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.service.FileUploadService; @@ -62,19 +62,19 @@ import java.util.stream.Collectors; */ @RestController @RequestMapping("/deliver/order/package") -public class StructuralPackageDeliverOrderController extends BaseController { +public class StructuralPackageOrderController extends BaseController { @Resource private IWmsStructuralPackageService structuralPackageService; @Resource - private IWmsDeliverStructuralPackageOrderService deliverStructuralPackageOrderService; + private IWmsStructuralPackageOrderService deliverStructuralPackageOrderService; @Resource - private IWmsDeliverStructuralPackageOrderTrayService deliverStructuralPackageOrderTrayService; + private IWmsStructuralPackageOrderTrayService deliverStructuralPackageOrderTrayService; @Resource - private IWmsDeliverStructuralPackageOrderTrayItemService deliverStructuralPackageOrderTrayItemService; + private IWmsStructuralPackageOrderTrayItemService deliverStructuralPackageOrderTrayItemService; @Resource private SapService sapService; @@ -161,11 +161,11 @@ public class StructuralPackageDeliverOrderController extends BaseController { List ids = request.getItems().stream().map(PackageDeliverOrderSaveItemQO::getId).filter(Objects::nonNull).toList(); if (CollectionUtil.isNotEmpty(ids)) { VUtil.trueThrowBusinessError(deliverStructuralPackageOrderService.lambdaQuery() - .select(WmsDeliverStructuralPackageOrder::getOrderNo) - .in(WmsDeliverStructuralPackageOrder::getId, ids) + .select(WmsStructuralPackageOrder::getOrderNo) + .in(WmsStructuralPackageOrder::getId, ids) .list() .stream() - .map(WmsDeliverStructuralPackageOrder::getOrderNo) + .map(WmsStructuralPackageOrder::getOrderNo) .collect(Collectors.toSet()) .size() > 1) .throwMessage("单据号不一致"); @@ -174,21 +174,21 @@ public class StructuralPackageDeliverOrderController extends BaseController { orderNo = getDeliverNormalOrderNo(); } request.getItems().forEach(orderQO -> { - WmsDeliverStructuralPackageOrder order = Convert.convert(WmsDeliverStructuralPackageOrder.class, orderQO); + WmsStructuralPackageOrder order = Convert.convert(WmsStructuralPackageOrder.class, orderQO); order.setOrderNo(orderNo); deliverStructuralPackageOrderService.addOrUpdate(order); GenerateTrayVO trayVO = generateTray(orderQO.getPackageId(), orderQO.getNum()); if (Objects.nonNull(orderQO.getId())) { - WmsDeliverStructuralPackageOrder o = deliverStructuralPackageOrderService.getById(orderQO.getId()); + WmsStructuralPackageOrder o = deliverStructuralPackageOrderService.getById(orderQO.getId()); VUtil.trueThrowBusinessError(Objects.isNull(o)).throwMessage("订单不存在"); VUtil.trueThrowBusinessError(deliverStructuralPackageOrderTrayService.lambdaQuery() - .eq(WmsDeliverStructuralPackageOrderTray::getOrderId, order.getId()) - .ne(WmsDeliverStructuralPackageOrderTray::getState, 0) + .eq(WmsStructuralPackageOrderTray::getOrderId, order.getId()) + .ne(WmsStructuralPackageOrderTray::getState, 0) .exists()) .throwMessage("修改失败,该订单有托盘已打包"); } deliverStructuralPackageOrderTrayService.deleteByOrderId(order.getId()); - List trays = trayVO.getTrays().stream().map(it -> new WmsDeliverStructuralPackageOrderTray() + List trays = trayVO.getTrays().stream().map(it -> new WmsStructuralPackageOrderTray() .setId(IdUtil.getSnowflakeNextId()) .setOrderId(order.getId()) .setNo(it.getNo()) @@ -196,11 +196,11 @@ public class StructuralPackageDeliverOrderController extends BaseController { .setNum(BigDecimal.ZERO) .setStation(it.getStation()) .setTray(it.getTray())).toList(); - List items = new ArrayList<>(); + List items = new ArrayList<>(); trays.forEach(tray -> { List itemVOS = trayVO.getItems().stream().filter(it -> StrUtil.equals(it.getNo(), tray.getNo())).toList(); items.addAll(itemVOS.stream().map(it -> { - WmsDeliverStructuralPackageOrderTrayItem item = Convert.convert(WmsDeliverStructuralPackageOrderTrayItem.class, it); + WmsStructuralPackageOrderTrayItem item = Convert.convert(WmsStructuralPackageOrderTrayItem.class, it); item.setOrderId(order.getId()); item.setTrayId(tray.getId()); tray.setNum(tray.getNum().add(item.getPlanNum().multiply(BigDecimal.valueOf(order.getNum())))); @@ -251,8 +251,9 @@ public class StructuralPackageDeliverOrderController extends BaseController { DeliverStructuralPackageOrderVO orderVO = deliverStructuralPackageOrderService.getInfo(id); VUtil.trueThrowBusinessError(Objects.isNull(orderVO)).throwMessage("数据不存在"); GenerateTrayVO vo = new GenerateTrayVO(); - List trays = deliverStructuralPackageOrderTrayService.getList(id); + List trays = deliverStructuralPackageOrderTrayService.getList(id); vo.setTrays(trays.stream().map(tray -> new TrayVO() + .setId(tray.getId()) .setTray(tray.getTray()) .setNo(tray.getNo()) .setState(tray.getState()) @@ -260,9 +261,13 @@ public class StructuralPackageDeliverOrderController extends BaseController { .setMaterialNo(orderVO.getPackageNo()) .setMaterialDesc(orderVO.getPackageDesc())).toList() ); - List items = deliverStructuralPackageOrderTrayItemService.getList(id); - vo.setItems(items.stream().map(item -> Convert.convert(TrayItemVO.class, item)).toList()); - SAPMaterialInfoInOrderDTO dto=sapService.getMaterialInfoInOrder(orderVO.getOrderNo(), orderVO.getSupplierCode(), orderVO.getPackageNo()); + List items = deliverStructuralPackageOrderTrayItemService.getList(id); + vo.setItems(items.stream().map(item -> { + TrayItemVO ivo=Convert.convert(TrayItemVO.class, item); + ivo.setNo(trays.stream().filter(tray -> Objects.equals(tray.getId(), item.getTrayId())).findFirst().get().getNo()); + return ivo; + }).toList()); + SAPMaterialInfoInOrderDTO dto=sapService.getMaterialInfoInOrder(orderVO.getExternalOrderNo(), orderVO.getSupplierCode(), orderVO.getPackageNo()); if (Objects.nonNull(dto)){ vo.setMaxNum(dto.getTransportNum()); } @@ -450,16 +455,16 @@ public class StructuralPackageDeliverOrderController extends BaseController { @Transactional @PostMapping("packTray") public ApiResult packTray(@Valid @RequestBody @NotNull PackTrayQO request) { - WmsDeliverStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsDeliverStructuralPackageOrderTray::getNo, request.getTrayNo()).one(); + WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在"); VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包"); VUtil.trueThrowBusinessError(tray.getNum().compareTo(BigDecimal.valueOf(request.getQrCodes().size())) == 0).throwMessage("打包数量不足"); VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaUpdate() - .set(WmsDeliverStructuralPackageOrderTray::getState, OrderState.Packaged.getState()) - .set(WmsDeliverStructuralPackageOrderTray::getPackBy, UserUtil.getUserName()) - .set(WmsDeliverStructuralPackageOrderTray::getPackTime, LocalDateTime.now()) - .eq(WmsDeliverStructuralPackageOrderTray::getState, OrderState.Unpackaged.getState()) - .eq(WmsDeliverStructuralPackageOrderTray::getTray, request.getTrayNo()) + .set(WmsStructuralPackageOrderTray::getState, OrderState.Packaged.getState()) + .set(WmsStructuralPackageOrderTray::getPackBy, UserUtil.getUserName()) + .set(WmsStructuralPackageOrderTray::getPackTime, LocalDateTime.now()) + .eq(WmsStructuralPackageOrderTray::getState, OrderState.Unpackaged.getState()) + .eq(WmsStructuralPackageOrderTray::getTray, request.getTrayNo()) .update()).throwMessage("打包失败,请重试"); packageMaterialScanRecordRepository.saveAll(request.getQrCodes().stream().map(qrCode -> { List qrContents = StrUtil.split(qrCode, "^"); @@ -479,15 +484,27 @@ public class StructuralPackageDeliverOrderController extends BaseController { return ApiResult.success(); } -// /** -// * 退回到 -// * @param id -// * @return -// */ -// @GetMapping("getTrayInfoByNo") -// public ApiResult trayBack(@Valid @RequestParam @NotNull Long id) { -// -// } + /** + * 退回到未打包 + * @param id 托盘id + */ + @GetMapping("backToUnpackaged") + public ApiResult backToUnpackaged(@Valid @RequestParam @NotNull Long id) { + WmsStructuralPackageOrderTray tray=deliverStructuralPackageOrderTrayService.getById(id); + VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("数据不存在"); + VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Packaged.getState())) + .throwMessage("托盘状态不正确"); + VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaUpdate() + .set(WmsStructuralPackageOrderTray::getState, OrderState.Unpackaged.getState()) + .set(WmsStructuralPackageOrderTray::getPackBy, null) + .set(WmsStructuralPackageOrderTray::getPackTime, null) + .eq(WmsStructuralPackageOrderTray::getId, id) + .eq(WmsStructuralPackageOrderTray::getState, OrderState.Packaged.getState()) + .update()).throwMessage("退回到未打包失败,请重试"); + return ApiResult.success(); + } + + /** * 根据送货单号查询订单信息 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/runner/RedisDataInitRunner.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/runner/RedisDataInitRunner.java index 5d5c74e2..ed90ddd8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/runner/RedisDataInitRunner.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/runner/RedisDataInitRunner.java @@ -2,7 +2,7 @@ package com.nflg.wms.admin.runner; import cn.hutool.core.util.StrUtil; import com.nflg.wms.common.util.DateTimeUtil; -import com.nflg.wms.repository.service.IWmsDeliverStructuralPackageOrderTrayService; +import com.nflg.wms.repository.service.IWmsStructuralPackageOrderTrayService; import com.nflg.wms.repository.service.IWmsStructuralPackageService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -24,7 +24,7 @@ public class RedisDataInitRunner implements ApplicationRunner { private IWmsStructuralPackageService structuralPackageService; @Resource - private IWmsDeliverStructuralPackageOrderTrayService deliverStructuralPackageOrderTrayService; + private IWmsStructuralPackageOrderTrayService deliverStructuralPackageOrderTrayService; @Resource private StringRedisTemplate stringRedisTemplate; diff --git a/nflg-wms-admin/src/main/resources/template/StructuralPackage.html b/nflg-wms-admin/src/main/resources/template/StructuralPackage.html index e1246b1e..c798b368 100644 --- a/nflg-wms-admin/src/main/resources/template/StructuralPackage.html +++ b/nflg-wms-admin/src/main/resources/template/StructuralPackage.html @@ -5,7 +5,7 @@ - NFLG + 钢构包