|
|
|
@ -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,10 +1892,33 @@ 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
|
|
|
|
|
private void checkReservationAndDeliverySigningStatus(Long reservationId, Long deliveryId) { |
|
|
|
|
//维护客户签收状态
|
|
|
|
|