From 759dc1c00fcf4889a4e8c6a011b7f352051b50b2 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Wed, 2 Aug 2023 18:02:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E6=8F=90=E7=BC=96?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IDistributionAsyncService.java | 8 ++++++ .../impl/DistributionAsyncServiceImpl.java | 27 ++++++++++++++++--- .../DistrilbutionBillLadingServiceImpl.java | 16 +++++++++++ .../impl/PanFactoryDataServiceImpl.java | 8 +++++- .../WarehouseWaybillController.java | 2 +- .../impl/WarehouseWaybillServiceImpl.java | 3 ++- 6 files changed, 58 insertions(+), 6 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java index 572dbb768..0f4d6c584 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java @@ -41,4 +41,12 @@ public interface IDistributionAsyncService { Boolean getInventoryOrderSelfPickup(Long id); Boolean getBillStock(Long id); + + /** + * 修改库存品数量 + * @param id + * @param num + * @return + */ + Boolean getInventoryNumUpdate(Long id,Integer num,Integer type); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 1b6c20352..e64db9bd8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -7,20 +7,18 @@ import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.mapper.DistributionLoadscanMapper; import com.logpm.distribution.mapper.DistributionParcelListMapper; +import com.logpm.distribution.mapper.DistributionStockListMapper; import com.logpm.distribution.mapper.DistributionStockMapper; import com.logpm.distribution.service.*; -import com.logpm.distribution.vo.DistributionStockupVO; import com.logpm.distribution.vo.DistrilbutionBillStockVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; -import org.apache.poi.ss.formula.functions.T; import org.springblade.common.serviceConstant.ServiceConstant; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -33,6 +31,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { private final DistributionLoadscanMapper distributionLoadscanMapper; private final IDistributionStockArticleService distributionStockArticleService; private final DistributionStockMapper distributionStockService; + private final DistributionStockListMapper distributionStockListMapper; private final IDistrilbutionBillStockService distrilbutionBillStockService; private final IDistributionDeliveryDetailsService distributionDeliveryDetailsService; @@ -125,4 +124,26 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { return distrilbutionBillStockService.updateById(distrilbutionBillStock); } + @Async + @Override + public Boolean getInventoryNumUpdate(Long id, Integer num, Integer type) { + //查询 + DistributionStockListEntity distributionStockListEntity1 = distributionStockListMapper.selectById(id); + DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity(); + switch (type){ + case 1: + //加 + distributionStockListEntity.setQuantityOccupied(distributionStockListEntity1.getQuantityOccupied() + num); + break; + case 2: + //减 + distributionStockListEntity.setQuantityOccupied(distributionStockListEntity1.getQuantityOccupied() - num); + break; + } + //修改库存品占用数量 + distributionStockListEntity.setId(id); + distributionStockListMapper.updateById(distributionStockListEntity); + return true; + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java index a916e73e2..cd47aa5e2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java @@ -162,6 +162,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb deliveryDetails.setQuantity(next.getInventoryQuantity()); deliveryDetails.setId(i.getId()); distributionDeliveryDetailsService.updateById(deliveryDetails); + Integer inventoryQuantity = next.getInventoryQuantity(); //修改数量 + Integer quantity = i.getQuantity();//原来的数量 + Integer num = 0; + if(inventoryQuantity > quantity){ + num = inventoryQuantity - quantity; //多 + //修改库存占用数量 + distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,1); + }else if(inventoryQuantity < quantity){ + num = quantity - inventoryQuantity; //少 + //修改库存占用数量 + distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),num,2); + } iterator.remove(); } @@ -169,6 +181,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb } else { //没有 删除 ids.add(i.getId()); + //取消库存占用数量 + distributionAsyncService.getInventoryNumUpdate(i.getStockListId(),i.getQuantity(),2); } }); //删除没有的库存品 @@ -217,6 +231,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb details.setQuantity(i.getInventoryQuantity()); details.setConditions("1"); detailsEntities.add(details); + //修改库存数量 + distributionAsyncService.getInventoryNumUpdate(i.getId(),i.getInventoryQuantity(),1); }); distributionDeliveryDetailsService.saveBatch(detailsEntities); } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java index 7ca4139b1..9b50645f3 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java @@ -45,6 +45,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.common.constant.TenantNum; import org.springblade.common.exception.CustomerException; +import org.springblade.common.serviceConstant.ServiceConstant; import org.springblade.common.utils.CommonUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; @@ -407,7 +408,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { distributionStockArticleEntity.setCustomerName(customerName); distributionStockArticleEntity.setGenre(1); - distributionStockArticleEntity.setState(10+""); + distributionStockArticleEntity.setOrderStatus(ServiceConstant.ORDER_STATE_ONE); distributionStockArticleEntity.setAdvanceId(advanceId); //--------------2023-07-06 新增字段处理 //查询包条码对应的运单信息 @@ -430,6 +431,11 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { buildDealerAndStore(distributionStockArticleEntity, advanceEntity); distributionStockArticleEntity.setCreateUser(1123598821738675201L); + distributionStockArticleEntity.setSortingQuantity(0); //分拣件数 + distributionStockArticleEntity.setDeliveryQuantity(0); //配送件数 + distributionStockArticleEntity.setTransferQuantity(0); //中转件数 + distributionStockArticleEntity.setSigninQuantity(0); //签收件数 + distributionStockArticleEntity.setFreezeStatus(0); //冻结状态0未冻结 1已冻结 id = distributionStockArticleClient.addData(distributionStockArticleEntity); if(id == 0){ diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java index 213cb9b55..2ccb1fd05 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java @@ -168,7 +168,7 @@ public class WarehouseWaybillController extends BladeController { log.warn("################splitOrder: 当前在库订单已转库存品,不能拆单 waybillNo={}",waybillNo); return R.fail(405,"当前在库订单已转库存品"); } - Integer state = Integer.parseInt(distributionStockArticleEntity.getState());//订单状态 + Integer state = Integer.parseInt(distributionStockArticleEntity.getOrderStatus());//订单状态 Long orderId = distributionStockArticleEntity.getId();//订单id if(!state.equals(1)){ log.warn("################splitOrder: 当前在库订单已进入配送流程,不能拆单 waybillNo={}",waybillNo); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index aafa0a361..e4657fc0e 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -30,6 +30,7 @@ import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springblade.common.constant.TenantNum; import org.springblade.common.exception.CustomerException; +import org.springblade.common.serviceConstant.ServiceConstant; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Service; @@ -294,7 +295,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil distributionStockArticleEntity.setCustomerTelephone(warehouseWaybill.getConsigneeMobile()); distributionStockArticleEntity.setCustomerAddress(warehouseWaybill.getConsigneeAddress()); distributionStockArticleEntity.setGenre(1); - distributionStockArticleEntity.setState(1+""); + distributionStockArticleEntity.setOrderStatus(ServiceConstant.ORDER_STATE_ONE); distributionStockArticleEntity.setConsigneeUnit(customerName);//收货单位(经销商) distributionStockArticleEntity.setConsigneePerson(warehouseWaybill.getConsigneeName());//收货人 distributionStockArticleEntity.setReserve1("zero");