|
|
|
@ -44,7 +44,9 @@ import org.springblade.common.constant.common.IsOrNoConstant;
|
|
|
|
|
import org.springblade.common.constant.loading.LoadingAbnormalAuditingStatusConstant; |
|
|
|
|
import org.springblade.common.constant.loading.LoadingAbnormalTypeConstant; |
|
|
|
|
import org.springblade.common.enums.BizOperationEnums; |
|
|
|
|
import org.springblade.common.enums.PackageTypeEnums; |
|
|
|
|
import org.springblade.common.model.NodeFanoutMsg; |
|
|
|
|
import org.springblade.common.model.PackageData; |
|
|
|
|
import org.springblade.common.model.ReservationVO; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.redis.cache.BladeRedis; |
|
|
|
@ -57,10 +59,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Objects; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -175,12 +174,12 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<Warehouse
|
|
|
|
|
this.save(warehouseRetentionScan); |
|
|
|
|
redis.setEx(AuthUtil.getTenantId() + ":warehouse:" + warehouseRetentionScan.getWarehouseId() + ":orderPackageCode:" + warehouseRetentionScan.getOrderPackageCode()+ ":retentionSave:",warehouseRetentionScan.getTaskCode(),60L*3L); |
|
|
|
|
distributionSignforClient.updateIsHaveAbnormalPackage(warehouseRetentionScan.getReservationId()); |
|
|
|
|
NodeFanoutMsg<ReservationVO> nodeFanoutMsg = buildNodeFanoutMsgByRestention(warehouseRetentionScan.getReservationId(),distributionLoadscanAbnormalEntity.getWarehouseId()); |
|
|
|
|
NodeFanoutMsg<ReservationVO> nodeFanoutMsg = buildNodeFanoutMsgByRestention(warehouseRetentionScan.getReservationId(),warehouseRetentionScan); |
|
|
|
|
reservationClient.planRetention(nodeFanoutMsg,AuthUtil.getUser()); |
|
|
|
|
return R.success("操作成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private NodeFanoutMsg<ReservationVO> buildNodeFanoutMsgByRestention(Long reservationId,Long warehouseId) { |
|
|
|
|
private NodeFanoutMsg<ReservationVO> buildNodeFanoutMsgByRestention(Long reservationId,WarehouseRetentionScanEntity warehouseRetentionScan) { |
|
|
|
|
NodeFanoutMsg<ReservationVO> nodeFanoutMsg = new NodeFanoutMsg<>(); |
|
|
|
|
|
|
|
|
|
nodeFanoutMsg.setNode(WorkNodeEnums.DISTRIBUTION_RETENTION); |
|
|
|
@ -188,15 +187,15 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<Warehouse
|
|
|
|
|
nodeFanoutMsg.setOperator(AuthUtil.getNickName()); |
|
|
|
|
nodeFanoutMsg.setOperatorTime(new Date()); |
|
|
|
|
nodeFanoutMsg.setTenantId(AuthUtil.getTenantId()); |
|
|
|
|
ReservationVO reservationVO = getReservationVO(reservationId); |
|
|
|
|
ReservationVO reservationVO = getReservationVO(reservationId,warehouseRetentionScan); |
|
|
|
|
nodeFanoutMsg.setWarehouse(reservationVO.getWarehouseName()); |
|
|
|
|
nodeFanoutMsg.setWarehouseId(warehouseId); |
|
|
|
|
nodeFanoutMsg.setWarehouseId(warehouseRetentionScan.getWarehouseId()); |
|
|
|
|
nodeFanoutMsg.setMain(reservationVO); |
|
|
|
|
return nodeFanoutMsg; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private ReservationVO getReservationVO(Long reservationId) { |
|
|
|
|
private ReservationVO getReservationVO(Long reservationId,WarehouseRetentionScanEntity warehouseRetentionScan) { |
|
|
|
|
List<DistributionReservationEntity> reservationList = reservationClient.getReservationList(reservationId + ""); |
|
|
|
|
DistributionReservationEntity reservationEntity = reservationList.get(0); |
|
|
|
|
ReservationVO reservationVO = new ReservationVO(); |
|
|
|
@ -213,6 +212,24 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl<Warehouse
|
|
|
|
|
reservationVO.setReceivingUnit(reservationEntity.getReceivingUnit()); |
|
|
|
|
reservationVO.setId(reservationEntity.getId()); |
|
|
|
|
reservationVO.setReservationStockListNum(reservationEntity.getReservationStockListNum()); |
|
|
|
|
PackageData packageData = new PackageData(); |
|
|
|
|
switch (warehouseRetentionScan.getConditions()){ |
|
|
|
|
case 1: |
|
|
|
|
packageData.setPackageType(PackageTypeEnums.CMP); |
|
|
|
|
packageData.setOrderCode(warehouseRetentionScan.getOrderCode()); |
|
|
|
|
packageData.setPackageCode(warehouseRetentionScan.getOrderPackageCode()); |
|
|
|
|
packageData.setWaybillNumber(warehouseRetentionScan.getWaybillNumber()); |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
packageData.setPackageType(PackageTypeEnums.LTL); |
|
|
|
|
packageData.setPackageCode(warehouseRetentionScan.getOrderPackageCode()); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
packageData.setPackageType(PackageTypeEnums.INV); |
|
|
|
|
packageData.setPackageCode(warehouseRetentionScan.getOrderPackageCode()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
reservationVO.setPackageDataList(Arrays.asList(packageData)); |
|
|
|
|
return reservationVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|