Browse Source

回库取消预约BUG修复

dev
汤建军 2 weeks ago
parent
commit
d282a553bc
  1. 43
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

43
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -63,6 +63,9 @@ import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusCon
import org.springblade.common.constant.reservation.*;
import org.springblade.common.constant.stockup.StockupStatusConstant;
import org.springblade.common.constant.stockup.StockupTypeConstant;
import org.springblade.common.enums.BizOperationEnums;
import org.springblade.common.model.NodeFanoutMsg;
import org.springblade.common.model.ReservationVO;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
@ -127,6 +130,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
private final ITrunklinePackageTrackLogClient trunklinePackageTrackLogClient;
private final IDistributionPrintService distributionPrintService;
private final IBasicdataClientClient basicdataClientClient;
private final IDistributionNodeWorkService nodeWorkService;
@ -1864,6 +1868,22 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
//统计库存品数
planNum += distributionReservationStocklistEntities.stream().mapToInt(DistributionReservationStocklistEntity::getReservationNum).sum();
}
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, reservationId)
.eq(DistributionLoadscanEntity::getDeliveryId, deliveryId)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (!loadscanEntityList.isEmpty()) {
planNum += loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum();
}
List<DistributionLoadscaninvnEntity> loadscaninvnEntityList = distributionLoadscaninvnMapper.selectList(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.eq(DistributionLoadscaninvnEntity::getReservationId, reservationId)
.eq(DistributionLoadscaninvnEntity::getDeliveryId, deliveryId)
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (!loadscaninvnEntityList.isEmpty()) {
planNum += loadscaninvnEntityList.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum();
}
distributionReservationMapper.updateById(distributionReservationEntity);
if (planNum == 0 ) {
distributionReservationEntity.setIsDeleted(1);
@ -1872,8 +1892,31 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
distributionReservationMapper.updateById(distributionReservationEntity);
//删除签收表数据
distributionSignforMapper.deleteByReservationAndDeliveryId(reservationId,deliveryId);
NodeFanoutMsg<ReservationVO> nodeFanoutMsg =buildNodeFanoutMsgByReservationByCancel(distributionReservationEntity);
nodeWorkService.cancelReservation(nodeFanoutMsg,AuthUtil.getUser());
}
}
}
private NodeFanoutMsg<ReservationVO> buildNodeFanoutMsgByReservationByCancel(DistributionReservationEntity reservationEntity) {
NodeFanoutMsg<ReservationVO> nodeFanoutMsg = new NodeFanoutMsg<>();
nodeFanoutMsg.setNode(WorkNodeEnums.PLANNED_RESERVATION);
nodeFanoutMsg.setBizOperation(BizOperationEnums.DELETE);
nodeFanoutMsg.setOperator(AuthUtil.getNickName());
nodeFanoutMsg.setOperatorTime(new Date());
nodeFanoutMsg.setWarehouse(reservationEntity.getWarehouseName());
nodeFanoutMsg.setWarehouseId(reservationEntity.getWarehouseId());
nodeFanoutMsg.setTenantId(AuthUtil.getTenantId());
ReservationVO reservationVO = getReservationVO(reservationEntity);
nodeFanoutMsg.setMain(reservationVO);
return nodeFanoutMsg;
}
// @Transactional

Loading…
Cancel
Save