From 4d4dfaf7e90a0079cd4cd50a7e5484a0bec1e695 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Wed, 28 May 2025 14:05:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9F=E6=9D=90=E8=BF=9B=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/CanteenInventoryRecordsEntity.java | 2 +- .../CanteenInventoryRecordsController.java | 10 +++ .../CanteenInventoryRecordsService.java | 2 + .../CanteenInventoryRecordsServiceImpl.java | 78 +++++++++++++++---- .../mapper/CanteenErpMaterialMapper.xml | 1 + .../mapper/CanteenInventoryRecordsMapper.xml | 4 +- 6 files changed, 78 insertions(+), 19 deletions(-) diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenInventoryRecordsEntity.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenInventoryRecordsEntity.java index 8d20259bd..51702c140 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenInventoryRecordsEntity.java +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenInventoryRecordsEntity.java @@ -70,7 +70,7 @@ public class CanteenInventoryRecordsEntity extends Model list); + + void ys(Long id); } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenInventoryRecordsServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenInventoryRecordsServiceImpl.java index e8eed91c4..8cd7c150b 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenInventoryRecordsServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenInventoryRecordsServiceImpl.java @@ -25,6 +25,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -54,7 +55,8 @@ public class CanteenInventoryRecordsServiceImpl extends ServiceImpl canteenInventoryRecordsItemEntityList = BeanUtils.toBean(canteenInventoryRecordsItemDTOS, CanteenInventoryRecordsItemEntity.class); - List updateStockDTOS = new ArrayList<>(); +// List updateStockDTOS = new ArrayList<>(); for (CanteenInventoryRecordsItemEntity canteenInventoryRecordsItemEntity : canteenInventoryRecordsItemEntityList){ canteenInventoryRecordsItemEntity.setInventoryId(id); canteenInventoryRecordsItemEntity.setDeptId(deptId); String orderType = canteenInventoryRecordsEntity.getOrderType(); canteenInventoryRecordsItemEntity.setOrderType(orderType); - UpdateStockDTO updateStockDTO = new UpdateStockDTO(); - updateStockDTO.setId(canteenInventoryRecordsItemEntity.getErpMaterialId()); +// UpdateStockDTO updateStockDTO = new UpdateStockDTO(); +// updateStockDTO.setId(canteenInventoryRecordsItemEntity.getErpMaterialId()); Double quantity = canteenInventoryRecordsItemEntity.getQuantity(); - if (orderType.equals(OrderTypeEnum.RK.getType())){ - updateStockDTO.setIncrCount(quantity); - }else if (orderType.equals(OrderTypeEnum.CK.getType())){ - updateStockDTO.setIncrCount(-quantity); - }else if (orderType.equals(OrderTypeEnum.No.getType())){ +// if (orderType.equals(OrderTypeEnum.RK.getType())){ +// updateStockDTO.setIncrCount(quantity); +// }else if (orderType.equals(OrderTypeEnum.CK.getType())){ +// updateStockDTO.setIncrCount(-quantity); +// }else if (orderType.equals(OrderTypeEnum.No.getType())){ //无需更新库存 - }else { - throw new RuntimeException("订单类型错误"); - } - updateStockDTOS.add(updateStockDTO); +// }else { +// throw new RuntimeException("订单类型错误"); +// } +// updateStockDTOS.add(updateStockDTO); } canteenInventoryRecordsItemMapper.insert(canteenInventoryRecordsItemEntityList); - if (!CollectionUtils.isEmpty(updateStockDTOS)){ - canteenStockService.updateStock(updateStockDTOS); - } +// if (!CollectionUtils.isEmpty(updateStockDTOS)){ +// canteenStockService.updateStock(updateStockDTOS); +// } return id; } @@ -238,4 +240,48 @@ public class CanteenInventoryRecordsServiceImpl extends ServiceImpl canteenInventoryRecordsItemEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + canteenInventoryRecordsItemEntityLambdaQueryWrapper.eq(CanteenInventoryRecordsItemEntity::getInventoryId, id); + List canteenInventoryRecordsItemEntityList = canteenInventoryRecordsItemMapper.selectList(canteenInventoryRecordsItemEntityLambdaQueryWrapper); + + + List updateStockDTOS = new ArrayList<>(); + for (CanteenInventoryRecordsItemEntity canteenInventoryRecordsItemEntity : canteenInventoryRecordsItemEntityList){ + String orderType = canteenInventoryRecordsEntity.getOrderType(); + canteenInventoryRecordsItemEntity.setOrderType(orderType); + UpdateStockDTO updateStockDTO = new UpdateStockDTO(); + updateStockDTO.setId(canteenInventoryRecordsItemEntity.getErpMaterialId()); + Double quantity = canteenInventoryRecordsItemEntity.getQuantity(); + if (orderType.equals(OrderTypeEnum.RK.getType())){ + updateStockDTO.setIncrCount(quantity); + }else if (orderType.equals(OrderTypeEnum.CK.getType())){ + updateStockDTO.setIncrCount(-quantity); + }else if (orderType.equals(OrderTypeEnum.No.getType())){ + //无需更新库存 + }else { + throw new RuntimeException("订单类型错误"); + } + updateStockDTOS.add(updateStockDTO); + } + + if (!CollectionUtils.isEmpty(updateStockDTOS)){ + canteenStockService.updateStock(updateStockDTOS); + CanteenInventoryRecordsEntity updateCanteenInventoryRecordsEntity = new CanteenInventoryRecordsEntity(); + updateCanteenInventoryRecordsEntity.setCheckStatus(TaskCheckStatusEnum.RESULT.getCode()); + updateCanteenInventoryRecordsEntity.setId(id); + updateCanteenInventoryRecordsEntity.setCheckTime(LocalDateTime.now()); + updateCanteenInventoryRecordsEntity.setCheckUserId(SecurityUtils.getUser().getId()); + baseMapper.updateById(canteenInventoryRecordsEntity); + } + } } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenErpMaterialMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenErpMaterialMapper.xml index 8cd338bd6..aa126d214 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenErpMaterialMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenErpMaterialMapper.xml @@ -22,6 +22,7 @@ m.id, m.name, m.unit, + m.category_id, m.purchase_price, s.base_stock AS baseStock, s.inventory_upper_limit AS inventoryUpperLimit, diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenInventoryRecordsMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenInventoryRecordsMapper.xml index 8b19a1ef5..6642f9a29 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenInventoryRecordsMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenInventoryRecordsMapper.xml @@ -31,8 +31,8 @@