From 41275bcb646dcb69151d84b8b1c1c4e836397a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 21 Oct 2025 11:26:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=80=E4=BA=9B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InCostCenterBackController.java | 1 + .../wms/admin/controller/ModelController.java | 9 ++++ .../controller/OutAssistanceController.java | 5 +- .../controller/OutCostCenterController.java | 2 +- .../admin/controller/StorageController.java | 9 ++++ .../StructuralPackageController.java | 4 +- .../StructuralPackageOrderController.java | 10 ++-- .../controller/TransferCompanyController.java | 4 +- .../controller/TransferFactoryController.java | 15 +++++- .../admin/controller/WarehouseController.java | 9 ++++ .../admin/controller/WorkbenchController.java | 9 ++++ .../admin/service/BomControllerService.java | 26 +++++---- .../service/MaterialControllerService.java | 14 +++-- .../admin/service/ModelControllerService.java | 4 ++ .../nflg/wms/admin/service/SapService.java | 11 ++-- .../service/StorageControllerService.java | 4 ++ .../StructuralPackageControllerService.java | 49 +++++++++++------ .../service/WarehouseControllerService.java | 4 ++ .../service/WorkbenchControllerService.java | 4 ++ .../resources/template/转储入库单.html | 2 +- .../main/resources/template/转储单.html | 4 +- .../com/nflg/wms/common/pojo/qo/BinAddQO.java | 3 +- .../nflg/wms/common/pojo/qo/InSubmitQO.java | 2 + .../pojo/qo/InventoryCheckTaskScanQO.java | 4 +- .../common/pojo/qo/OutProduceSubmitQO.java | 2 +- .../common/pojo/qo/SearchDeliverOrderQO.java | 5 ++ .../nflg/wms/common/pojo/qo/StorageAddQO.java | 3 +- .../wms/common/pojo/qo/TransferOrderQO.java | 2 - .../nflg/wms/common/pojo/vo/MaterialVO.java | 10 ++++ .../common/pojo/vo/TransferCompanyItemVO.java | 38 ++++++++----- .../common/pojo/vo/TransferFactoryItemVO.java | 43 ++++++++++----- .../wms/repository/entity/WmsMaterial.java | 13 +++++ .../repository/mapper/WmsStorageMapper.java | 2 + .../mapper/WmsTransferCompanyItemMapper.java | 4 ++ .../mapper/WmsTransferFactoryItemMapper.java | 4 ++ .../repository/mapper/WmsWarehouseMapper.java | 2 + .../service/IWmsStorageService.java | 2 + .../IWmsTransferCompanyItemService.java | 7 +-- .../IWmsTransferFactoryItemService.java | 7 +-- .../service/IWmsWarehouseService.java | 2 + .../service/impl/WmsBomServiceImpl.java | 49 +++++++++++------ .../service/impl/WmsSrmOrderServiceImpl.java | 1 + .../service/impl/WmsStorageServiceImpl.java | 5 ++ ...cturalPackageOrderTrayItemServiceImpl.java | 5 +- .../WmsTransferCompanyItemServiceImpl.java | 6 +++ .../WmsTransferFactoryItemServiceImpl.java | 6 +++ .../service/impl/WmsWarehouseServiceImpl.java | 5 ++ .../WmsInCostcenterBackTicketMapper.xml | 13 ++--- .../mapper/WmsInProduceBackTicketMapper.xml | 4 +- .../WmsInventoryBarcodePrintingMapper.xml | 4 +- .../resources/mapper/WmsMaterialMapper.xml | 54 +++++++++++-------- .../resources/mapper/WmsStorageMapper.xml | 10 ++++ .../mapper/WmsTransferCompanyItemMapper.xml | 6 +++ .../mapper/WmsTransferFactoryItemMapper.xml | 6 +++ .../resources/mapper/WmsWarehouseMapper.xml | 7 +++ .../processor/MaterialZipImportProcessor.java | 2 +- 56 files changed, 403 insertions(+), 134 deletions(-) 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 d66387de..d04e349a 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 @@ -217,6 +217,7 @@ public class InCostCenterBackController extends BaseController { .setId(IdUtil.getSnowflakeNextId()) .setTicketId(ticket.getId()) .setOrderItemId(item.getId()) + .setLgpbe(request.getLgort()) .setLgpbe(StrUtil.join(",", it.getBinNos())) .setNum(BigDecimal.ZERO); ticketItems.add(ti); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ModelController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ModelController.java index 73667c5e..fd7c4ae6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ModelController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ModelController.java @@ -77,6 +77,15 @@ public class ModelController extends BaseController { return ApiResult.success(modelControllerService.search(request)); } + /** + * 获取机型详情 + * @param id 机型id + */ + @GetMapping("getInfo") + public ApiResult getInfo(@Valid @RequestParam @NotNull Long id) { + return ApiResult.success(modelControllerService.getInfo(id)); + } + /** * 获取机型列表 */ 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 9fa6dfeb..83339ab4 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 @@ -242,13 +242,15 @@ public class OutAssistanceController extends BaseController { .setUniqNo(qrCodeContent.getUniqNo()) .setFactoryNo(order.getWerks()) .setWarehouseNo(order.getLgort1()) + .setUnit(item.getMeins()) .setNum(qrNum) + .setEbeln(order.getEbeln()) + .setEbelp(item.getEbelp()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(Instant.now()) ); }); outAssistanceItemService.updateBatchById(datas); - outMaterialScanRecordRespository.saveAll(records); outAssistanceTicketItemService.saveBatch(ticketItems); inventoryService.out(records.stream() .collect(Collectors.groupingBy(OutMaterialScanRecord::getKey)) @@ -288,6 +290,7 @@ public class OutAssistanceController extends BaseController { ticket.setMatDoc(dto.getMatDoc()); ticket.setDocYear(dto.getDocYear()); outAssistanceTicketService.save(ticket); + outMaterialScanRecordRespository.saveAll(records); return ApiResult.success(); } 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 2174d783..4c2a1beb 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 @@ -241,7 +241,6 @@ public class OutCostCenterController extends BaseController { ); }); outCostcenterItemService.updateBatchById(datas); - outMaterialScanRecordRespository.saveAll(records); outCostcenterTicketItemService.saveBatch(ticketItems); inventoryService.out(records.stream() .collect(Collectors.groupingBy(OutMaterialScanRecord::getKey)) @@ -286,6 +285,7 @@ public class OutCostCenterController extends BaseController { .set(WmsOutCostcenter::getSapError, "") .eq(WmsOutCostcenter::getId, order.getId()) .update(); + outMaterialScanRecordRespository.saveAll(records); return ApiResult.success(); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StorageController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StorageController.java index 3a9282a8..4b973917 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StorageController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StorageController.java @@ -76,6 +76,15 @@ public class StorageController extends BaseController { return ApiResult.success(storageControllerService.search(request)); } + /** + * 获取详情 + * @param id 存储id + */ + @GetMapping("getInfo") + public ApiResult getInfo(@Valid @RequestParam @NotNull Long id) { + return ApiResult.success(storageControllerService.getInfo(id)); + } + /** * 导入 * @param file 文件 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageController.java index 01825154..d5896934 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageController.java @@ -94,10 +94,10 @@ public class StructuralPackageController extends BaseController { } /** - * 导出零件清单 + * 导出零件清单,packageId为空时导出模板 */ @GetMapping("exportMaterials") - public void exportMaterials(HttpServletResponse response,@Valid @RequestParam @NotNull Long packageId) throws Exception { + public void exportMaterials(HttpServletResponse response, @Valid @RequestParam(required = false) Long packageId) throws Exception { packageControllerService.exportMaterials(response,packageId); } 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 6ffe88b8..ea599aca 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 @@ -186,20 +186,22 @@ public class StructuralPackageOrderController extends BaseController { .setTotalWeight(BigDecimal.ZERO); trays.add(tray); } + BigDecimal itemNum = material.getNum(); items.add(new TrayItemVO() .setNo(tray.getNo()) .setMaterialNo(material.getNo()) .setMaterialDesc(material.getName()) .setVersion(material.getVersion()) .setWeight(material.getWeight()) - .setPlanNum(material.getNum().multiply(orderNum)) - .setShipmentNum(material.getNum().multiply(num)) + .setPlanNum(itemNum.multiply(orderNum)) + .setShipmentNum(itemNum.multiply(num)) .setImage(material.getImage()) .setDrawingNo(material.getDrawingNo()) ); if (Objects.nonNull(material.getWeight())) { - tray.setTotalWeight(tray.getTotalWeight().add(material.getWeight())); - totalWeight = totalWeight.add(material.getWeight()); + BigDecimal itemWeight = itemNum.multiply(material.getWeight()); + tray.setTotalWeight(tray.getTotalWeight().add(itemWeight)); + totalWeight = totalWeight.add(itemWeight); } } return new GenerateTrayVO().setTrays(trays).setItems(items).setTotalWeight(totalWeight); 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 34351ebe..aa38902f 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 @@ -176,7 +176,7 @@ public class TransferCompanyController extends BaseController { WmsTransferCompany order = transferCompanyService.getById(id); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); TransferCompanyInfoVO vo = Convert.convert(TransferCompanyInfoVO.class, order); - vo.setItems(Convert.toList(TransferCompanyItemVO.class, transferCompanyItemService.getList(id))); + vo.setItems(Convert.toList(TransferCompanyItemVO.class, transferCompanyItemService.getVOList(id))); return ApiResult.success(vo); } @@ -378,6 +378,7 @@ public class TransferCompanyController extends BaseController { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(records1)).throwMessage("未找到出库扫码记录"); List records = new ArrayList<>(); records1.forEach(record -> { + InSubmitItemQO itemQo = qo.getItems().stream().filter(item -> Objects.equals(item.getId(), record.getTicketItemId())).findFirst().orElse(null); records.add(new InMaterialScanRecord() .setSource(6) .setSourceId(record.getSourceId()) @@ -389,6 +390,7 @@ public class TransferCompanyController extends BaseController { .setSerialNo(record.getSerialNo()) .setFactoryNo(ticket.getWerks()) .setWarehouseNo(qo.getLgort1()) + .setBinNos(Objects.isNull(itemQo) ? Collections.emptyList() : StrUtil.split(itemQo.getBinNos(), "/")) .setUniqNo(record.getUniqNo()) .setRspos(record.getRspos()) .setNum(record.getNum()) 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 f611297e..a782d5a1 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 @@ -173,7 +173,7 @@ public class TransferFactoryController extends BaseController { WmsTransferFactory order = transferFactoryService.getById(id); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); TransferFactoryInfoVO vo = Convert.convert(TransferFactoryInfoVO.class, order); - vo.setItems(Convert.toList(TransferFactoryItemVO.class, transferFactoryItemService.getList(id))); + vo.setItems(Convert.toList(TransferFactoryItemVO.class, transferFactoryItemService.getVOList(id))); return ApiResult.success(vo); } @@ -360,6 +360,12 @@ public class TransferFactoryController extends BaseController { .setSerialNo(record.getSerialNo()) .setFactoryNo(ticket.getWerks()) .setWarehouseNo(qo.getLgort1()) + .setBinNos(StrUtil.split(qo.getItems() + .stream() + .filter(it -> Objects.equals(it.getId(), record.getTicketItemId())) + .findFirst() + .orElse(new InSubmitItemQO()) + .getBinNos(), "/")) .setUniqNo(record.getUniqNo()) .setRspos(record.getRspos()) .setNum(record.getNum()) @@ -367,6 +373,11 @@ public class TransferFactoryController extends BaseController { .setCreateTime(Instant.now()) ); }); + transferFactoryTicketItemService.updateBatchById(qo.getItems().stream().map(it -> + new WmsTransferFactoryTicketItem() + .setId(it.getId()) + .setBinNos1(it.getBinNos()) + ).toList()); inventoryService.in(records.stream() .collect(Collectors.groupingBy(InMaterialScanRecord::getKey)) .values() @@ -379,7 +390,6 @@ public class TransferFactoryController extends BaseController { .setNum(list.stream().map(InMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() ); - inMaterialScanRecordRespository.saveAll(records); List ticketItems = transferFactoryTicketItemService.getList(ticket.getId()); ZWM00MB113DTO vo = sapService.zwm00_mb113(new ZWM00MB113QO() .setIRsnum(ticket.getRsnum()) @@ -413,6 +423,7 @@ 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/controller/WarehouseController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WarehouseController.java index 7b222cf5..a64e7738 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WarehouseController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WarehouseController.java @@ -86,6 +86,15 @@ public class WarehouseController extends BaseController { return ApiResult.success(warehouseControllerService.search(request)); } + /** + * 获取仓库详情 + * @param id 仓库id + */ + @GetMapping("getInfo") + public ApiResult getInfo(@Valid @RequestParam @NotNull Long id) { + return ApiResult.success(warehouseControllerService.getInfo(id)); + } + /** * 导入仓库 * @param file 文件 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WorkbenchController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WorkbenchController.java index 6239d1c7..df5e0050 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WorkbenchController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/WorkbenchController.java @@ -76,6 +76,15 @@ public class WorkbenchController extends BaseController { return ApiResult.success(workbenchControllerService.search(request)); } + /** + * 获取机台详情 + * @param id 机台id + */ + @GetMapping("getInfo") + public ApiResult getInfo(@Valid @RequestParam @NotNull Long id) { + return ApiResult.success(workbenchControllerService.getInfo(id)); + } + /** * 导入机台 * @param file 文件 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java index b62d1fa6..01cddfed 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java @@ -141,17 +141,23 @@ public class BomControllerService { if (Objects.isNull(pm)) { sb.append("父级物料编号无效"); } else { - WmsBom pb = bomService.lambdaQuery().eq(WmsBom::getParentId, 0L).eq(WmsBom::getNo, dto.getParentNo()).one(); + WmsBom pb = bomForSave.stream() + .filter(it -> Objects.equals(it.getId(), 0L) && StrUtil.equals(it.getNo(), dto.getParentNo())) + .findFirst() + .orElse(null); if (Objects.isNull(pb)) { - pb = new WmsBom() - .setId(IdUtil.getSnowflakeNextId()) - .setNo(dto.getParentNo()) - .setDrawingNo(pm.getDrawingNo()) - .setDescribe(pm.getMaterialDesc()) - .setNum(BigDecimal.ONE) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(LocalDateTime.now()); - bomForSave.add(pb); + pb = bomService.lambdaQuery().eq(WmsBom::getParentId, 0L).eq(WmsBom::getNo, dto.getParentNo()).one(); + if (Objects.isNull(pb)) { + pb = new WmsBom() + .setId(IdUtil.getSnowflakeNextId()) + .setNo(dto.getParentNo()) + .setDrawingNo(pm.getDrawingNo()) + .setDescribe(pm.getMaterialDesc()) + .setNum(BigDecimal.ONE) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()); + bomForSave.add(pb); + } } bom.setParentId(pb.getId()); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java index 0d586cdf..17940c27 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/MaterialControllerService.java @@ -72,6 +72,9 @@ public class MaterialControllerService { private PowerJobClient powerJobClient; public void add(@Valid MaterialAddQO request) { + WmsMaterial old = materialService.getCurrent(request.getNo()); + VUtil.trueThrowBusinessError(Objects.nonNull(old) && !old.getComplete()) + .throwMessage("该物料存在草稿版本"); WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request); wmsMaterial.setCreateBy(UserUtil.getUserName()); wmsMaterial.setCreateTime(LocalDateTime.now()); @@ -82,7 +85,7 @@ public class MaterialControllerService { WmsMaterial old = materialService.getById(request.getId()); VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("数据不存在!"); WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request); - if (StrUtil.isNotBlank(old.getImage()) && Objects.nonNull(old.getWeight())) { + if (old.getComplete()) { wmsMaterial.setVersion(old.getVersion() + 1); wmsMaterial.setCreateBy(UserUtil.getUserName()); wmsMaterial.setCreateTime(LocalDateTime.now()); @@ -159,7 +162,7 @@ public class MaterialControllerService { pics.add(name); } else { WmsMaterial wmsMaterial = materialService.getCurrent(materialNo); - if (Objects.isNull(wmsMaterial) || StrUtil.isNotBlank(wmsMaterial.getImage())) + if (Objects.isNull(wmsMaterial) || wmsMaterial.getComplete()) { wmsMaterial = new WmsMaterial() .setId(null) @@ -261,9 +264,14 @@ public class MaterialControllerService { sb.append("SAP料号无效;"); } else { MaterialVO currentMaterial = dbMaterials.stream().filter(m -> StrUtil.equals(m.getNo(), dto.getNo())).findFirst().orElse(null); - if (Objects.isNull(currentMaterial) || (StrUtil.isNotBlank(currentMaterial.getImage()) && Objects.nonNull(currentMaterial.getWeight()))) { + if (Objects.isNull(currentMaterial) || currentMaterial.getComplete()) { material.setCreateBy(UserUtil.getUserName()); material.setCreateTime(LocalDateTime.now()); + if (Objects.isNull(currentMaterial)) { + material.setVersion(1); + } else { + material.setVersion(currentMaterial.getVersion() + 1); + } forAdd.add(material); } else { material.setId(currentMaterial.getId()); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ModelControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ModelControllerService.java index 8243e3a1..8443e4d6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ModelControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/ModelControllerService.java @@ -166,4 +166,8 @@ public class ModelControllerService { .addSheet(new ListSheet<>(datas)) .writeTo(response.getOutputStream()); } + + public WmsModel getInfo(Long id) { + return modelService.getById(id); + } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java index 9d762b5f..bf23fa2b 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java @@ -934,8 +934,10 @@ public class SapService { * @return AllocationOrderDTO对象列表,包含查询到的转储清单信息 */ public List zwm3a15(AllocationOrderQO query) { - // 参数校验:检查查询对象和物料明细是否为空 - VUtil.trueThrowBusinessError(Objects.isNull(query)).throwMessage("查询内容不可以为空"); + VUtil.trueThrowBusinessError(StrUtil.isBlank(query.getEbeln()) + && (StrUtil.isBlank(query.getWerks()) || Objects.isNull(query.getEndDate()))) + .throwMessage("单号为空时,工厂和需求日期不能为空"); + // 构造函数调用所需的输入参数 Map parameters = new HashMap<>(); parameters.put("I_WERKS", query.getWerks()); @@ -973,8 +975,9 @@ public class SapService { * @return 调拨订单DTO列表,包含查询到的调拨清单信息 */ public List zwm3a16(TransferOrderQO query) { - // 参数校验:检查查询对象和物料明细是否为空 - VUtil.trueThrowBusinessError(Objects.isNull(query)).throwMessage("查询内容不可以为空"); + VUtil.trueThrowBusinessError(StrUtil.isBlank(query.getRsnum()) + && (StrUtil.isBlank(query.getWerks()) || Objects.isNull(query.getEndDate()))) + .throwMessage("单号为空时,工厂和需求日期不能为空"); // 构造函数调用所需的输入参数 Map parameters = new HashMap<>(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java index 24497e72..df165085 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java @@ -224,4 +224,8 @@ public class StorageControllerService { .addSheet(new ListSheet<>(datas)) .writeTo(response.getOutputStream()); } + + public StorageVO getInfo(Long id) { + return storageService.getInfo(id); + } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java index 9fc9f410..22c8023d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java @@ -178,23 +178,37 @@ public class StructuralPackageControllerService { } public void exportMaterials(HttpServletResponse response, Long packageId) throws IOException { - PackageVO vo = packageService.getInfo(packageId); - List datas = vo.getMaterialList().stream().map(info -> Convert.convert(PackageMaterialExcelExportDTO.class, info)).collect(Collectors.toList()); - response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); - response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(vo.getNo() + "零件清单导出.xlsx", StandardCharsets.UTF_8)); - if (CollectionUtil.isEmpty(datas)) { - datas.add(new PackageMaterialExcelExportDTO() - .setNo("(必填)零件编码") - .setName("(必填)零件名称") - .setStation("(必填)工位序号") - .setTray("(必填)托盘序号") - .setWeight(BigDecimal.ZERO) - .setNum(BigDecimal.ZERO) - .setVersion("(必填)图纸版本")); + if (Objects.isNull(packageId)) { + new Workbook() + .addSheet(new ListSheet<>(List.of(new PackageMaterialExcelExportDTO() + .setNo("(必填)零件编码") + .setName("(必填)零件名称") + .setStation("(必填)工位序号") + .setTray("(必填)托盘序号") + .setWeight(BigDecimal.ZERO) + .setNum(BigDecimal.ZERO) + .setVersion("(必填)图纸版本")))) + .writeTo(response.getOutputStream()); + } else { + PackageVO vo = packageService.getInfo(packageId); + VUtil.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("无效的钢构件"); + List datas = vo.getMaterialList().stream().map(info -> Convert.convert(PackageMaterialExcelExportDTO.class, info)).collect(Collectors.toList()); + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(vo.getNo() + "零件清单导出.xlsx", StandardCharsets.UTF_8)); + if (CollectionUtil.isEmpty(datas)) { + datas.add(new PackageMaterialExcelExportDTO() + .setNo("(必填)零件编码") + .setName("(必填)零件名称") + .setStation("(必填)工位序号") + .setTray("(必填)托盘序号") + .setWeight(BigDecimal.ZERO) + .setNum(BigDecimal.ZERO) + .setVersion("(必填)图纸版本")); + } + new Workbook() + .addSheet(new ListSheet<>(datas)) + .writeTo(response.getOutputStream()); } - new Workbook() - .addSheet(new ListSheet<>(datas)) - .writeTo(response.getOutputStream()); } @Transactional @@ -267,6 +281,8 @@ public class StructuralPackageControllerService { materialDTO.setVersion(Integer.valueOf(dto.getVersion())); } dto.setError(sb.toString()); + materialDTO.setCreateBy(UserUtil.getUserName()); + materialDTO.setCreateTime(DateTimeUtil.format(LocalDateTime.now())); materialDTOS.add(materialDTO); } if (data.stream().noneMatch(it -> StrUtil.isNotBlank(it.getError()))) { @@ -387,6 +403,7 @@ public class StructuralPackageControllerService { } }); VUtil.trueThrowBusinessError(!sb.isEmpty()).throwMessage("数据校验失败:" + sb); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(materials)).throwMessage("零件不能为空"); packageInfo.setWeight(materials.stream() .map(m -> m.getWeight().multiply(m.getNum())) .reduce(BigDecimal.ZERO, BigDecimal::add)); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WarehouseControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WarehouseControllerService.java index 045de30e..f0ac5248 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WarehouseControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WarehouseControllerService.java @@ -347,4 +347,8 @@ public class WarehouseControllerService { } return "共同步" + list.size() + "条数据"; } + + public WarehouseVO getInfo(Long id) { + return warehouseService.getInfo(id); + } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WorkbenchControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WorkbenchControllerService.java index a823c083..66b5a954 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WorkbenchControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/WorkbenchControllerService.java @@ -159,4 +159,8 @@ public class WorkbenchControllerService { .addSheet(new ListSheet<>(datas)) .writeTo(response.getOutputStream()); } + + public WmsWorkbench getInfo(Long id) { + return workbenchService.getById(id); + } } diff --git a/nflg-wms-admin/src/main/resources/template/转储入库单.html b/nflg-wms-admin/src/main/resources/template/转储入库单.html index 2abfc01b..bc9cee2c 100644 --- a/nflg-wms-admin/src/main/resources/template/转储入库单.html +++ b/nflg-wms-admin/src/main/resources/template/转储入库单.html @@ -184,7 +184,7 @@ 不锈钢304非金属联件和紧固件等 PC - 12.00 + 12.00 1030 0081 XL2D diff --git a/nflg-wms-admin/src/main/resources/template/转储单.html b/nflg-wms-admin/src/main/resources/template/转储单.html index 6e125d91..b6440205 100644 --- a/nflg-wms-admin/src/main/resources/template/转储单.html +++ b/nflg-wms-admin/src/main/resources/template/转储单.html @@ -183,10 +183,10 @@ 非金属联件和紧固件等 M6 DIN 982 不锈钢304 PC - 12.00 + 12.00 JGHW-01-0 JGHW-01-0 - 555.00 + 555.00 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BinAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BinAddQO.java index 8bdc8894..356a9a37 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BinAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BinAddQO.java @@ -1,6 +1,7 @@ package com.nflg.wms.common.pojo.qo; import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; @Data @@ -26,7 +27,7 @@ public class BinAddQO { /** * 是否启用 */ - @NotBlank + @NotNull private Boolean enable; /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InSubmitQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InSubmitQO.java index cdd0caad..d081130a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InSubmitQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InSubmitQO.java @@ -2,6 +2,7 @@ package com.nflg.wms.common.pojo.qo; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; import java.util.List; @@ -22,5 +23,6 @@ public class InSubmitQO { private String lgort1; @Valid + @NotEmpty private List items; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventoryCheckTaskScanQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventoryCheckTaskScanQO.java index 64e58357..71f39369 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventoryCheckTaskScanQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventoryCheckTaskScanQO.java @@ -1,6 +1,6 @@ package com.nflg.wms.common.pojo.qo; -import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -15,6 +15,6 @@ public class InventoryCheckTaskScanQO { /** * 二维码内容 */ - @NotBlank + @NotEmpty private List qrCode; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java index 58eb6969..14104d28 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java @@ -16,7 +16,7 @@ public class OutProduceSubmitQO { /** * 仓库编号 */ -// @NotBlank + @NotBlank private String lgort; /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SearchDeliverOrderQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SearchDeliverOrderQO.java index 1bcf1f9a..7734cfde 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SearchDeliverOrderQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SearchDeliverOrderQO.java @@ -9,4 +9,9 @@ public class SearchDeliverOrderQO extends SearchBaseQO { * 送货单号 */ private String orderNo; + + /** + * 完成状态 + */ + private Boolean completed; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StorageAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StorageAddQO.java index 38cd1549..c95beade 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StorageAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StorageAddQO.java @@ -1,6 +1,5 @@ package com.nflg.wms.common.pojo.qo; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -15,7 +14,7 @@ public class StorageAddQO { /** * 物料id */ - @NotBlank + @NotNull private Long materialId; /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/TransferOrderQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/TransferOrderQO.java index c34758ae..ca142e26 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/TransferOrderQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/TransferOrderQO.java @@ -1,7 +1,6 @@ package com.nflg.wms.common.pojo.qo; import com.fasterxml.jackson.annotation.JsonIgnore; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.experimental.Accessors; @@ -15,7 +14,6 @@ import java.util.Objects; public class TransferOrderQO extends PageQO { //工厂 - @NotBlank private String werks; //未过账 选中为X,否则为空 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java index f5450aae..38fb9ac8 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/MaterialVO.java @@ -5,6 +5,7 @@ import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.Objects; @Data public class MaterialVO { @@ -86,4 +87,13 @@ public class MaterialVO { } return image.substring(image.lastIndexOf(".")); } + + /** + * 是否完成 + */ + private Boolean complete; + + public Boolean getComplete() { + return StrUtil.isNotBlank(getImage()) && Objects.nonNull(getWeight()); + } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java index 5b88cc98..c7960834 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyItemVO.java @@ -81,25 +81,25 @@ public class TransferCompanyItemVO { */ private String lgpro; - /** - * 转出库存数量 - */ - private BigDecimal labst; +// /** +// * 转出库存数量 +// */ +// private BigDecimal labst; - /** - * 申请数量 - */ - private BigDecimal sqsl; +// /** +// * 申请数量 +// */ +// private BigDecimal sqsl; /** * 未发数量 */ private BigDecimal sqsl2; - /** - * 实发数量 - */ - private BigDecimal wamng; +// /** +// * 实发数量 +// */ +// private BigDecimal wamng; /** * 转出库位 @@ -126,6 +126,20 @@ public class TransferCompanyItemVO { */ private BigDecimal num; + /** + * 已出库数量 + */ + private BigDecimal outNum; + + public BigDecimal getOutNum() { + return num.subtract(left); + } + + /** + * 已入库数量 + */ + private BigDecimal inNum; + /** * 转入工厂 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java index fa553f1d..ec025ff2 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryItemVO.java @@ -61,15 +61,15 @@ public class TransferFactoryItemVO { */ private BigDecimal bdmng; - /** - * 未过帐数量 - */ - private BigDecimal bdmng1; +// /** +// * 未过帐数量 +// */ +// private BigDecimal bdmng1; - /** - * 总过帐数量 - */ - private BigDecimal enmng; +// /** +// * 总过帐数量 +// */ +// private BigDecimal enmng; /** * 项目文本 @@ -91,10 +91,10 @@ public class TransferFactoryItemVO { */ private String mjahr; - /** - * 过帐数量 - */ - private BigDecimal menge; +// /** +// * 过帐数量 +// */ +// private BigDecimal menge; /** * 凭证中的过帐日期 @@ -106,6 +106,25 @@ public class TransferFactoryItemVO { */ private BigDecimal num; + /** + * 剩余数量 + */ + private BigDecimal left; + + /** + * 已出库数量 + */ + private BigDecimal outNum; + + public BigDecimal getOutNum() { + return num.subtract(left); + } + + /** + * 已入库数量 + */ + private BigDecimal inNum; + /** * 调出仓 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java index 82a15a1f..e474e568 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsMaterial.java @@ -1,6 +1,8 @@ package com.nflg.wms.repository.entity; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Getter; import lombok.Setter; @@ -10,6 +12,7 @@ import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.Objects; /** *

@@ -104,4 +107,14 @@ public class WmsMaterial implements Serializable { * 打包要求 */ private String requirement; + + /** + * 是否完成 + */ + @TableField(exist = false) + private Boolean complete; + + public Boolean getComplete() { + return StrUtil.isNotBlank(getImage()) && Objects.nonNull(getWeight()); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStorageMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStorageMapper.java index dc184376..d0923b64 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStorageMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsStorageMapper.java @@ -31,4 +31,6 @@ public interface WmsStorageMapper extends BaseMapper { String getBinNos(String materialNo, String factoryNo, String warehouseNo); List searchNonSync(); + + StorageVO getInfo(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyItemMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyItemMapper.java index 7cf4d10d..f708a0e8 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyItemMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyItemMapper.java @@ -1,8 +1,11 @@ package com.nflg.wms.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.wms.common.pojo.vo.TransferCompanyItemVO; import com.nflg.wms.repository.entity.WmsTransferCompanyItem; +import java.util.List; + /** *

* Mapper 接口 @@ -12,4 +15,5 @@ import com.nflg.wms.repository.entity.WmsTransferCompanyItem; */ public interface WmsTransferCompanyItemMapper extends BaseMapper { + List getVOList(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryItemMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryItemMapper.java index 30bbde92..1dea8c8f 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryItemMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryItemMapper.java @@ -1,8 +1,11 @@ package com.nflg.wms.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.wms.common.pojo.vo.TransferFactoryItemVO; import com.nflg.wms.repository.entity.WmsTransferFactoryItem; +import java.util.List; + /** *

* Mapper 接口 @@ -12,4 +15,5 @@ import com.nflg.wms.repository.entity.WmsTransferFactoryItem; */ public interface WmsTransferFactoryItemMapper extends BaseMapper { + List getVOList(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsWarehouseMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsWarehouseMapper.java index 3efa820a..f4026ab9 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsWarehouseMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsWarehouseMapper.java @@ -30,4 +30,6 @@ public interface WmsWarehouseMapper extends BaseMapper { List getEnableList(String factoryNo); List getListByIds(List list); + + WarehouseVO getInfo(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStorageService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStorageService.java index e7d49743..7c331183 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStorageService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsStorageService.java @@ -42,4 +42,6 @@ public interface IWmsStorageService extends IService { Set getBinNos(String materialNo, @NotBlank String factoryNo, String warehouseNo); List searchNonSync(); + + StorageVO getInfo(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyItemService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyItemService.java index 7b003c1a..a29ffaa4 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyItemService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyItemService.java @@ -1,9 +1,8 @@ package com.nflg.wms.repository.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.wms.common.pojo.vo.TransferCompanyItemVO; import com.nflg.wms.repository.entity.WmsTransferCompanyItem; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; import java.util.List; @@ -16,5 +15,7 @@ import java.util.List; */ public interface IWmsTransferCompanyItemService extends IService { - List getList(@Valid @NotNull Long id); + List getList(Long id); + + List getVOList(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryItemService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryItemService.java index 20d511cb..8b3a1747 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryItemService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryItemService.java @@ -1,9 +1,8 @@ package com.nflg.wms.repository.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.wms.common.pojo.vo.TransferFactoryItemVO; import com.nflg.wms.repository.entity.WmsTransferFactoryItem; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; import java.util.List; @@ -16,5 +15,7 @@ import java.util.List; */ public interface IWmsTransferFactoryItemService extends IService { - List getList(@Valid @NotNull Long id); + List getList(Long id); + + List getVOList(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsWarehouseService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsWarehouseService.java index 1b80bd67..9eb699a6 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsWarehouseService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsWarehouseService.java @@ -41,4 +41,6 @@ public interface IWmsWarehouseService extends IService { List getEnableList(String factoryNo); List getListByIds(List list); + + WarehouseVO getInfo(Long id); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBomServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBomServiceImpl.java index e2738b1c..5d8c7749 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBomServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBomServiceImpl.java @@ -93,6 +93,7 @@ public class WmsBomServiceImpl extends ServiceImpl impleme List boms = lambdaQuery() .like(StrUtil.isNotBlank(request.getNo()), WmsBom::getNo, request.getNo()) .like(StrUtil.isNotBlank(request.getDescribe()), WmsBom::getDescribe, request.getDescribe()) + .orderByDesc(WmsBom::getId) .list(); Set parentIds = boms.stream().map(WmsBom::getParentId).filter(parentId -> !Objects.equals(parentId, 0L)).collect(Collectors.toSet()); if (CollectionUtil.isNotEmpty(parentIds)) { @@ -101,7 +102,7 @@ public class WmsBomServiceImpl extends ServiceImpl impleme boms.addAll(listByIds(parentIds)); } } - return boms.stream() + List all = boms.stream() .filter(it -> it.getParentId() == 0L) .sorted(Comparator.comparing(WmsBom::getId)) .skip((long) (request.getPage() - 1) * request.getPageSize()) @@ -120,22 +121,38 @@ public class WmsBomServiceImpl extends ServiceImpl impleme .setUpdateTime(it.getUpdateTime()) .setChildren(boms.stream() .filter(child -> child.getParentId().equals(it.getId())) - .map(child -> { - return new BomMaterialVO() - .setId(child.getId()) - .setParentId(child.getParentId()) - .setMaterialNo(child.getNo()) - .setMaterialDesc(child.getDescribe()) - .setDrawingNo(child.getDrawingNo()) - .setNum(child.getNum()) - .setMaterialWeight(child.getWeight()) - .setCreateBy(child.getCreateBy()) - .setCreateTime(child.getCreateTime()) - .setUpdateBy(child.getUpdateBy()) - .setUpdateTime(child.getUpdateTime()); - }) + .map(this::convert) .toList() - )).toList(); + ) + ) + .toList(); + all.forEach(it -> { + if (CollectionUtil.isEmpty(it.getChildren())) { + it.setChildren(lambdaQuery() + .eq(WmsBom::getParentId, it.getId()) + .list() + .stream() + .map(this::convert) + .toList() + ); + } + }); + return all; + } + + private BomMaterialVO convert(WmsBom child) { + return new BomMaterialVO() + .setId(child.getId()) + .setParentId(child.getParentId()) + .setMaterialNo(child.getNo()) + .setMaterialDesc(child.getDescribe()) + .setDrawingNo(child.getDrawingNo()) + .setNum(child.getNum()) + .setMaterialWeight(child.getWeight()) + .setCreateBy(child.getCreateBy()) + .setCreateTime(child.getCreateTime()) + .setUpdateBy(child.getUpdateBy()) + .setUpdateTime(child.getUpdateTime()); } @Override diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmOrderServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmOrderServiceImpl.java index b6108208..60b31b34 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmOrderServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsSrmOrderServiceImpl.java @@ -33,6 +33,7 @@ public class WmsSrmOrderServiceImpl extends ServiceImpl(request.getPage(),request.getPageSize())); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStorageServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStorageServiceImpl.java index 8e9e1289..40bef5bc 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStorageServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStorageServiceImpl.java @@ -107,4 +107,9 @@ public class WmsStorageServiceImpl extends ServiceImpl searchNonSync() { return baseMapper.searchNonSync(); } + + @Override + public StorageVO getInfo(Long id) { + return baseMapper.getInfo(id); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageOrderTrayItemServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageOrderTrayItemServiceImpl.java index 94d339ce..1dd764e2 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageOrderTrayItemServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsStructuralPackageOrderTrayItemServiceImpl.java @@ -29,7 +29,10 @@ public class WmsStructuralPackageOrderTrayItemServiceImpl extends ServiceImpl getList(Long id) { - return lambdaQuery().eq(WmsStructuralPackageOrderTrayItem::getOrderId, id).list(); + return lambdaQuery() + .eq(WmsStructuralPackageOrderTrayItem::getOrderId, id) + .orderByAsc(WmsStructuralPackageOrderTrayItem::getId) + .list(); } @Override diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyItemServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyItemServiceImpl.java index 04ad4681..75e4daac 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyItemServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyItemServiceImpl.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.wms.common.pojo.vo.TransferCompanyItemVO; import com.nflg.wms.repository.entity.WmsTransferCompanyItem; import com.nflg.wms.repository.mapper.WmsTransferCompanyItemMapper; import com.nflg.wms.repository.service.IWmsTransferCompanyItemService; @@ -22,4 +23,9 @@ public class WmsTransferCompanyItemServiceImpl extends ServiceImpl getList(Long id) { return lambdaQuery().eq(WmsTransferCompanyItem::getOrderId, id).list(); } + + @Override + public List getVOList(Long id) { + return baseMapper.getVOList(id); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferFactoryItemServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferFactoryItemServiceImpl.java index d029c4ce..ef5d73a7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferFactoryItemServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferFactoryItemServiceImpl.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.wms.common.pojo.vo.TransferFactoryItemVO; import com.nflg.wms.repository.entity.WmsTransferFactoryItem; import com.nflg.wms.repository.mapper.WmsTransferFactoryItemMapper; import com.nflg.wms.repository.service.IWmsTransferFactoryItemService; @@ -22,4 +23,9 @@ public class WmsTransferFactoryItemServiceImpl extends ServiceImpl getList(Long id) { return lambdaQuery().eq(WmsTransferFactoryItem::getOrderId, id).list(); } + + @Override + public List getVOList(Long id) { + return baseMapper.getVOList(id); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsWarehouseServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsWarehouseServiceImpl.java index 310aed94..4d3c30b3 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsWarehouseServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsWarehouseServiceImpl.java @@ -115,4 +115,9 @@ public class WmsWarehouseServiceImpl extends ServiceImpl getListByIds(List list) { return baseMapper.getListByIds(list); } + + @Override + public WarehouseVO getInfo(Long id) { + return baseMapper.getInfo(id); + } } diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsInCostcenterBackTicketMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsInCostcenterBackTicketMapper.xml index 3a7738e3..ede5784b 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsInCostcenterBackTicketMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsInCostcenterBackTicketMapper.xml @@ -10,7 +10,8 @@ - SELECT DISTINCT ON ("no") * - FROM wms_material + SELECT * + FROM ( + SELECT DISTINCT ON ("no") * + FROM wms_material and "no" ilike concat('%', #{request.no}, '%') @@ -13,7 +15,9 @@ and describe ilike concat('%', #{request.describe}, '%') - ORDER BY "no",id DESC + ORDER BY "no", id DESC + ) t + ORDER BY id DESC diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml index b46a6ba1..5b5f0512 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml @@ -100,4 +100,14 @@ where s.sap_state != 1 order by s.id desc + + diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsTransferCompanyItemMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsTransferCompanyItemMapper.xml index 9c3ef4b4..b1652580 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsTransferCompanyItemMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsTransferCompanyItemMapper.xml @@ -2,4 +2,10 @@ + diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryItemMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryItemMapper.xml index af0016d3..3967c6d1 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryItemMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryItemMapper.xml @@ -2,4 +2,10 @@ + diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsWarehouseMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsWarehouseMapper.xml index 4ffbb75a..8813f998 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsWarehouseMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsWarehouseMapper.xml @@ -70,4 +70,11 @@ order by w.id desc + + diff --git a/nflg-wms-scheduled/src/main/java/com/nflg/wms/scheduled/processor/MaterialZipImportProcessor.java b/nflg-wms-scheduled/src/main/java/com/nflg/wms/scheduled/processor/MaterialZipImportProcessor.java index 930fb73e..e6819041 100644 --- a/nflg-wms-scheduled/src/main/java/com/nflg/wms/scheduled/processor/MaterialZipImportProcessor.java +++ b/nflg-wms-scheduled/src/main/java/com/nflg/wms/scheduled/processor/MaterialZipImportProcessor.java @@ -69,7 +69,7 @@ public class MaterialZipImportProcessor implements BasicProcessor { omsLogger.error("主数据中未查找到该物料:{}", materialNo); } else { WmsMaterial wmsMaterial = materialService.getCurrent(materialNo); - if (Objects.isNull(wmsMaterial) || StrUtil.isNotBlank(wmsMaterial.getImage())) { + if (Objects.isNull(wmsMaterial) || wmsMaterial.getComplete()) { omsLogger.info("添加图纸"); wmsMaterial = new WmsMaterial() .setId(null)