Browse Source

改动过的

huanglizhi 1 year ago
parent
commit
edb9df86e2

+ 2 - 0
module-erp/src/main/java/com/hys/app/model/erp/dos/OrderItemDO.java

@@ -126,6 +126,8 @@ public class OrderItemDO implements Serializable {
     @ApiModelProperty(name = "has_return", value = "租赁订单详情是否返回")
     @ApiModelProperty(name = "has_return", value = "租赁订单详情是否返回")
     private Boolean hasReturn = false;
     private Boolean hasReturn = false;
 
 
+    private Integer stockNum;
+
     private Integer  dayNum;
     private Integer  dayNum;
 
 
     private String areaStock;
     private String areaStock;

+ 15 - 12
module-erp/src/main/java/com/hys/app/service/erp/impl/OrderManagerImpl.java

@@ -99,13 +99,13 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public void edit(OrderDTO orderDTO) {
     public void edit(OrderDTO orderDTO) {
         //修改把原先订单所有的东西都置空在新增
         //修改把原先订单所有的东西都置空在新增
-        orderSendManager.remove(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getOrderId,orderDTO.getId()));
-        orderItemManager.remove(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId,orderDTO.getId()));
+        orderSendManager.remove(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getOrderId, orderDTO.getId()));
+        orderItemManager.remove(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId, orderDTO.getId()));
 
 
         List<LockedStockDetailDO> list = lockedStockDetailManager.list(new LambdaQueryWrapper<LockedStockDetailDO>().eq(LockedStockDetailDO::getOrderId, orderDTO.getId()));
         List<LockedStockDetailDO> list = lockedStockDetailManager.list(new LambdaQueryWrapper<LockedStockDetailDO>().eq(LockedStockDetailDO::getOrderId, orderDTO.getId()));
-        lockedStockDetailManager.remove(new LambdaQueryWrapper<LockedStockDetailDO>().eq(LockedStockDetailDO::getOrderId,orderDTO.getId()));
+        lockedStockDetailManager.remove(new LambdaQueryWrapper<LockedStockDetailDO>().eq(LockedStockDetailDO::getOrderId, orderDTO.getId()));
         List<StockDTO> arrayList = new ArrayList<>();
         List<StockDTO> arrayList = new ArrayList<>();
-        list.forEach(item ->{
+        list.forEach(item -> {
             StockDTO dto = new StockDTO();
             StockDTO dto = new StockDTO();
             dto.setId(item.getProductStockId());
             dto.setId(item.getProductStockId());
             dto.setNum(-item.getLockedNum());
             dto.setNum(-item.getLockedNum());
@@ -336,19 +336,22 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
             arrayList.add(dto);
             arrayList.add(dto);
         }
         }
         //更爱可用库存实际库存冻结库存
         //更爱可用库存实际库存冻结库存
-        List<ProductStockDO> list1 = productStockManager.list(new LambdaQueryWrapper<ProductStockDO>().in(ProductStockDO::getId,arrayList.stream().map(StockDTO::getId).collect(Collectors.toList())));
+        List<ProductStockDO> list1 = productStockManager.list(new LambdaQueryWrapper<ProductStockDO>().in(ProductStockDO::getId, arrayList.stream().map(StockDTO::getId).collect(Collectors.toList())));
         for (ProductStockDO stockDO : list1) {
         for (ProductStockDO stockDO : list1) {
             StockDTO dto = arrayList.stream().filter(item -> item.getId().equals(stockDO.getId())).findFirst().get();
             StockDTO dto = arrayList.stream().filter(item -> item.getId().equals(stockDO.getId())).findFirst().get();
-            stockDO.setActualStock(stockDO.getActualStock()+dto.getNum());
-            stockDO.setLockedStock(stockDO.getLockedStock()+dto.getNum());
-            stockDO.setUsableStock(stockDO.getActualStock()-stockDO.getLockedStock());
+            stockDO.setActualStock(stockDO.getActualStock() + dto.getNum());
+            stockDO.setLockedStock(stockDO.getLockedStock() + dto.getNum());
+            stockDO.setUsableStock(stockDO.getActualStock() - stockDO.getLockedStock());
             if (OrderTypeEnum.TO_C.equals(aDo.getOrderType())) {
             if (OrderTypeEnum.TO_C.equals(aDo.getOrderType())) {
                 stockDO.setTransitStock(-dto.getNum());
                 stockDO.setTransitStock(-dto.getNum());
             }
             }
         }
         }
         if (OrderTypeEnum.TO_C.equals(aDo.getOrderType())) {
         if (OrderTypeEnum.TO_C.equals(aDo.getOrderType())) {
-            List<OrderItemDO> list2 = orderItemManager.list(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId,orderDO.getId()));
-            list2.forEach(item ->item.setHasReturn(false));
+            List<OrderItemDO> list2 = orderItemManager.list(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId, orderDO.getId()));
+            list2.forEach(item -> {
+                item.setHasReturn(false);
+                item.setStockNum(item.getNum());
+            });
             orderItemManager.updateBatchById(list2);
             orderItemManager.updateBatchById(list2);
         }
         }
         productStockManager.updateBatchById(list1);
         productStockManager.updateBatchById(list1);
@@ -636,7 +639,7 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
         aDo.setStatus(SaleOrderStatusEnum.REVOKE);
         aDo.setStatus(SaleOrderStatusEnum.REVOKE);
         updateById(aDo);
         updateById(aDo);
         orderSendManager.remove(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getOrderId, id));
         orderSendManager.remove(new LambdaQueryWrapper<OrderSendDO>().eq(OrderSendDO::getOrderId, id));
-        orderItemManager.remove(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId,id));
+        orderItemManager.remove(new LambdaQueryWrapper<OrderItemDO>().eq(OrderItemDO::getOrderId, id));
     }
     }
 
 
     @Override
     @Override
@@ -648,7 +651,7 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
     @Override
     @Override
     public void editOrderCustomerFee(Long id, OrderCustomerFee orderCustomerFee) {
     public void editOrderCustomerFee(Long id, OrderCustomerFee orderCustomerFee) {
         OrderCustomerFee byId = orderCustomerFeeManager.getById(id);
         OrderCustomerFee byId = orderCustomerFeeManager.getById(id);
-        BeanUtil.copyProperties(orderCustomerFee,byId);
+        BeanUtil.copyProperties(orderCustomerFee, byId);
         orderCustomerFeeManager.updateById(byId);
         orderCustomerFeeManager.updateById(byId);
     }
     }
 }
 }

+ 7 - 0
module-erp/src/main/java/com/hys/app/service/erp/impl/WarehouseEntryManagerImpl.java

@@ -247,6 +247,11 @@ public class WarehouseEntryManagerImpl extends BaseServiceImpl<WarehouseEntryMap
                     .in(WarehouseEntryProductDO::getWarehouseEntryId, collected));
                     .in(WarehouseEntryProductDO::getWarehouseEntryId, collected));
             List<OrderItemDO> objects = new ArrayList<>();
             List<OrderItemDO> objects = new ArrayList<>();
             for (OrderItemDO itemDO : list) {
             for (OrderItemDO itemDO : list) {
+                WarehouseEntryProductDTO warehouseEntryProductDTO = warehouseEntryDTO.getProductList().stream().filter(item -> item.getProductStockId().equals(itemDO.getProductStockId())).findFirst().get();
+                itemDO.setStockNum(itemDO.getStockNum()-warehouseEntryProductDTO.getNum());
+                if (itemDO.getStockNum() == 0){
+                    itemDO.setHasReturn(true);
+                }
                 Optional<WarehouseEntryProductDO> first = doList.stream().filter(item -> item.getScanOrderItemId().equals(itemDO.getId())).findFirst();
                 Optional<WarehouseEntryProductDO> first = doList.stream().filter(item -> item.getScanOrderItemId().equals(itemDO.getId())).findFirst();
                 if (first.isPresent()) {
                 if (first.isPresent()) {
                     if (first.get().getNum() == itemDO.getNum()) {
                     if (first.get().getNum() == itemDO.getNum()) {
@@ -254,12 +259,14 @@ public class WarehouseEntryManagerImpl extends BaseServiceImpl<WarehouseEntryMap
                     }
                     }
                 }
                 }
             }
             }
+            orderItemManager.updateBatchById(list);
             //如果入库单的所有详细累加起来等于订单的详细 则该订单改为已完成
             //如果入库单的所有详细累加起来等于订单的详细 则该订单改为已完成
             if (list.size() == objects.size()) {
             if (list.size() == objects.size()) {
                 aDo.setStatus(SaleOrderStatusEnum.ORDER_END);
                 aDo.setStatus(SaleOrderStatusEnum.ORDER_END);
                 orderManager.updateById(aDo);
                 orderManager.updateById(aDo);
             }
             }
         }
         }
+
         redisTemplate.delete(warehouseEntryDO.getId().toString());
         redisTemplate.delete(warehouseEntryDO.getId().toString());
     }
     }
 
 

+ 1 - 1
module-erp/src/main/resources/mapper/ProductStockMapper.xml

@@ -98,7 +98,7 @@
     <select id="transitDetail" resultType="com.hys.app.model.erp.vo.TransitVO">
     <select id="transitDetail" resultType="com.hys.app.model.erp.vo.TransitVO">
         SELECT
         SELECT
             eo.sn order_sn,
             eo.sn order_sn,
-            eoi.num,
+            eoi.stock_num num,
             eo.end_time
             eo.end_time
         FROM
         FROM
             erp_order_item eoi
             erp_order_item eoi