From 392366ea36a839e5d0ea05968e6da31cd53a9ee6 Mon Sep 17 00:00:00 2001 From: buhuazhen <hua100783@gmail.com> Date: 星期三, 27 八月 2025 14:32:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/pim-jlmy' into pim-jlmy --- main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java | 44 ++++++++++++++++++++++++++++---------------- 1 files changed, 28 insertions(+), 16 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java index 3dab18e..af6ca44 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java @@ -49,6 +49,8 @@ private final PendingInventoryMapper pendingInventoryMapper; + private final ProductionSchedulingMapper productionSchedulingMapper; + @Override public IPage<ProductionMasterDto> selectPMList(Page page, ProductionMasterDto productionMasterDto) { // 1. 鏋勫缓涓昏〃鏌ヨ鏉′欢 @@ -173,7 +175,7 @@ batchInsertInventories(masterId, dto.getProductionInventoryList()); // 鎻掑叆寰呭叆搴撴暟鎹� - insertPendingInventory(dto.getProductionList()); +// insertPendingInventory(dto.getProductionList()); return 1; } @@ -263,6 +265,7 @@ BeanUtils.copyProperties(p, copy); copy.setId(null); copy.setProductionMasterId(masterId); + copy.setStatus(1); productionMapper.insert(copy); } } @@ -283,7 +286,7 @@ /** * 灏嗗姞宸ヤ骇鐢熺殑浜у搧璁板綍鍒板緟鍏ュ簱琛� */ - private void insertPendingInventory(List<Production> list) { + public void insertPendingInventory(List<Production> list) { LocalDate currentDate = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedDate = currentDate.format(formatter); @@ -365,12 +368,21 @@ .collect(Collectors.toList()); productionInventoryMapper.deleteBatchIds(inventoryIds); } + List<Production> productions = productionMapper.selectList(new LambdaQueryWrapper<Production>() + .in(Production::getProductionMasterId, idList)); + + // 鍒犻櫎鐢熶骇鎶ュ伐璁板綍 + productionSchedulingMapper.delete( + new LambdaQueryWrapper<ProductionScheduling>() + .in(ProductionScheduling::getProductionId, productions.stream().map(Production::getId).collect(Collectors.toList())) + ); // 鍒犻櫎鐢熶骇鏄庣粏 productionMapper.delete( new LambdaQueryWrapper<Production>() .in(Production::getProductionMasterId, idList) ); + // 5. 鍒犻櫎涓昏褰� return productionMasterMapper.deleteBatchIds(idList); @@ -402,20 +414,20 @@ } // 鎵归噺鏇存柊瀹樻柟搴撳瓨 - for (Map.Entry<Long, BigDecimal> entry : inventoryAdjustMap.entrySet()) { - OfficialInventory official = officialInventoryMapper.selectById(entry.getKey()); - if (official == null) { - throw new BaseException("瀹樻柟搴撳瓨涓嶅瓨鍦紝ID: " + entry.getKey()); - } - - // 浣跨敤绾跨▼瀹夊叏鐨凚igDecimal鎿嶄綔 - official.setInventoryQuantity( - Optional.ofNullable(official.getInventoryQuantity()) - .orElse(BigDecimal.ZERO) - .add(entry.getValue()) - ); - officialInventoryMapper.updateById(official); - } +// for (Map.Entry<Long, BigDecimal> entry : inventoryAdjustMap.entrySet()) { +// OfficialInventory official = officialInventoryMapper.selectById(entry.getKey()); +// if (official == null) { +// throw new BaseException("瀹樻柟搴撳瓨涓嶅瓨鍦紝ID: " + entry.getKey()); +// } +// +// // 浣跨敤绾跨▼瀹夊叏鐨凚igDecimal鎿嶄綔 +// official.setInventoryQuantity( +// Optional.ofNullable(official.getInventoryQuantity()) +// .orElse(BigDecimal.ZERO) +// .add(entry.getValue()) +// ); +// officialInventoryMapper.updateById(official); +// } // 鎵归噺鍒犻櫎鐢熶骇搴撳瓨 if (!productionIdsToDelete.isEmpty()) { -- Gitblit v1.9.3