|
|
|
@ -40,12 +40,11 @@ import com.logpm.warehouse.feign.IWarehouseWaybillClient;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.common.constant.DistributionTypeConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.*; |
|
|
|
|
import org.springblade.common.constant.common.IsOrNoConstant; |
|
|
|
|
import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; |
|
|
|
|
import org.springblade.common.constant.delivery.DeliveryStatusConstant; |
|
|
|
|
import org.springblade.common.constant.order.OrderReservationStatusConstant; |
|
|
|
|
import org.springblade.common.constant.orderpackage.OrderPackageFreezeStatusConstant; |
|
|
|
|
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant; |
|
|
|
|
import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant; |
|
|
|
|
import org.springblade.common.constant.orderpackage.*; |
|
|
|
|
import org.springblade.common.constant.reservation.*; |
|
|
|
|
import org.springblade.common.constant.signing.SignforStatusConstant; |
|
|
|
|
import org.springblade.common.constant.stockup.StockAssignStatusConstant; |
|
|
|
@ -72,6 +71,7 @@ import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
|
|
import java.util.function.Function; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -147,6 +147,10 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionSignforService distributionSignforService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionReservationZeroPackageService distributionReservationZeroPackageService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IBasicdataWarehouseClient basicdataWarehouseClient; |
|
|
|
|
|
|
|
|
@ -175,6 +179,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
@Autowired |
|
|
|
|
private IWayBillClient wayBillClient; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionParcelNumberService distributionParcelNumberService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private DistributionParcelNumberMapper distributionParcelNumberMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -330,7 +340,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
|
//预约订单数量
|
|
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
|
|
List<DistributionParcelListEntity> packageList = s.getPackageListInfo(); |
|
|
|
|
List<DistributionParcelListDTO> packageList = s.getPackageListInfo(); |
|
|
|
|
if (Func.isEmpty(packageList)) { |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
map.put("stockArticleId", s.getId()); |
|
|
|
@ -1072,12 +1082,19 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
List<DistributionStockArticleEntity> distrinbutionStockArticleVOS = distributionStockArticleMapper.getStockArticleByReservationId(reservationEntity.getId()); |
|
|
|
|
List<DistributionStockArticleVO> stockArticleVOS = DistributionStockArticleWrapper.build().listVO(distrinbutionStockArticleVOS); |
|
|
|
|
stockArticleVOS.forEach(s -> { |
|
|
|
|
//这里查询两个东西,一个是该订单在预约中所被选取的包件信息,以及该订单下所有的包件列表
|
|
|
|
|
List<DistributionParcelListEntity> pageVOList = distributionParcelListMapper.getPageVOList(s.getId()); |
|
|
|
|
s.setParcelListVOS(DistributionParcelListWrapper.build().listVO(pageVOList)); |
|
|
|
|
//这里查询出该订单下已经被选取的包件信息
|
|
|
|
|
List<DistributionParcelListEntity> packageVOList = distributionReservationPackageMapper.selectPackageVOList(reservationEntity.getId(), s.getId()); |
|
|
|
|
s.setPackageList(DistributionParcelListWrapper.build().listVO(packageVOList)); |
|
|
|
|
//区分正常订单和零担订单
|
|
|
|
|
if (s.getIsZero().equals(IsOrNoConstant.no.getValue())){ |
|
|
|
|
//这里查询两个东西,一个是该订单在预约中所被选取的包件信息,以及该订单下所有的包件列表
|
|
|
|
|
List<DistributionParcelListEntity> pageVOList = distributionParcelListMapper.getPageVOList(s.getId()); |
|
|
|
|
s.setParcelListVOS(DistributionParcelListWrapper.build().listVO(pageVOList)); |
|
|
|
|
//这里查询出该订单下已经被选取的包件信息
|
|
|
|
|
List<DistributionParcelListEntity> packageVOList = distributionReservationPackageMapper.selectPackageVOList(reservationEntity.getId(), s.getId()); |
|
|
|
|
s.setPackageList(DistributionParcelListWrapper.build().listVO(packageVOList)); |
|
|
|
|
}else { |
|
|
|
|
List<DistributionParcelNumberVO> parcelNumberVOS = baseMapper.selectReservationZeroOrderDetail(s.getId(), Long.parseLong(reservationId)); |
|
|
|
|
s.setParcelNumberVOS(parcelNumberVOS); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
reservationVO.setStockArticleList(stockArticleVOS); |
|
|
|
|
List<DistributionStockListEntity> stockArticleEntityList = distributionReservationStocklistMapper.selectInventory(reservationEntity.getId()); |
|
|
|
@ -1114,22 +1131,82 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
newStockArticle.forEach((k, v) -> { |
|
|
|
|
if (Func.isEmpty(oldStockArticle.get(k))) { |
|
|
|
|
//这里发生了新增订单的操作
|
|
|
|
|
DistributionStockArticleDTO distributionStockArticleDTO = v.get(0); |
|
|
|
|
List<DistributionParcelListEntity> packageListInfo = distributionStockArticleDTO.getPackageListInfo(); |
|
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
|
|
packageListInfo.forEach(p -> { |
|
|
|
|
DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
|
reservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.xinzeng.getValue()); |
|
|
|
|
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode()); |
|
|
|
|
reservationPackageEntity.setParceListId(p.getId()); |
|
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
|
packageNum.getAndAdd(p.getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
}); |
|
|
|
|
DistributionStockArticleDTO distributionStockArticleDTO = v.get(0); |
|
|
|
|
if (distributionStockArticleDTO.getIsZero().equals(IsOrNoConstant.no)){ |
|
|
|
|
List<DistributionParcelListDTO> packageListInfo = distributionStockArticleDTO.getPackageListInfo(); |
|
|
|
|
packageListInfo.forEach(p -> { |
|
|
|
|
DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
|
reservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.xinzeng.getValue()); |
|
|
|
|
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode()); |
|
|
|
|
reservationPackageEntity.setParceListId(p.getId()); |
|
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
|
packageNum.getAndAdd(p.getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
}); |
|
|
|
|
}else { |
|
|
|
|
//新增了零担订单
|
|
|
|
|
List<DistributionParcelNumberVO> parcelNumberVOS = distributionStockArticleDTO.getParcelNumberVOS(); |
|
|
|
|
AtomicInteger zeroPackageNum = new AtomicInteger(); |
|
|
|
|
if (Func.isNotEmpty(parcelNumberVOS)){ |
|
|
|
|
//进行录入数量的操作
|
|
|
|
|
parcelNumberVOS.forEach(p->{ |
|
|
|
|
if (p.getReservationNum() >0){ |
|
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = new DistributionReservationZeroPackageEntity(); |
|
|
|
|
distributionReservationZeroPackageEntity.setQuantity(p.getReservationNum()); |
|
|
|
|
distributionReservationZeroPackageEntity.setReservationId(id); |
|
|
|
|
distributionReservationZeroPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setCategoryName(p.getFirsts()); |
|
|
|
|
distributionReservationZeroPackageEntity.setParcelListId(p.getParcelListId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
|
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity); |
|
|
|
|
//统计数量
|
|
|
|
|
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
|
//维护零担订单品类对应数量的冻结数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(p.getId()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + p.getReservationNum()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}else { |
|
|
|
|
//没有进行录入数量的操作,查询可进行添加的品类数量进行全部添加
|
|
|
|
|
List<DistributionParcelNumberVO> list = distributionStockArticleService.getZeroOrderDetail(distributionStockArticleDTO.getId()); |
|
|
|
|
list.forEach(l->{ |
|
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = new DistributionReservationZeroPackageEntity(); |
|
|
|
|
distributionReservationZeroPackageEntity.setQuantity(l.getQuantity() - l.getDeliveryQuantity() - l.getOutboundQuantity()); |
|
|
|
|
distributionReservationZeroPackageEntity.setReservationId(id); |
|
|
|
|
distributionReservationZeroPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setParcelListId(l.getParcelListId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setCategoryName(l.getFirsts()); |
|
|
|
|
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
|
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity); |
|
|
|
|
//统计数量
|
|
|
|
|
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
|
//维护零担订单品类对应数量的冻结数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(l.getId()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + l.getReservationNum()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
// DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
|
|
|
|
|
//
|
|
|
|
|
// //首先这里需要进行
|
|
|
|
|
// reservationStockarticleEntity.setIsZero(IsOrNoConstant.yes.getValue());
|
|
|
|
|
// reservationStockarticleEntity.setReservationId(id);
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleId(distributionStockArticleDTO.getId());
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleCode(distributionStockArticleDTO.getOrderCode());
|
|
|
|
|
// reservationStockarticleEntity.setIsHaveData(distributionStockArticleDTO.getIsHaveData());
|
|
|
|
|
// reservationStockarticleEntity.setReservationNum(zeroPackageNum.get());
|
|
|
|
|
// distributionReservationStockarticleService.save(reservationStockarticleEntity);
|
|
|
|
|
// packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum());
|
|
|
|
|
} |
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zengjia.getValue()); |
|
|
|
|
reservationStockarticleEntity.setStockArticleCode(distributionStockArticleDTO.getStockArticleCode()); |
|
|
|
@ -1149,78 +1226,179 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
} else { |
|
|
|
|
//查询出这个订单原来在这个预约中的勾选情况
|
|
|
|
|
DistributionStockArticleDTO distributionStockArticleDTO = v.get(0); |
|
|
|
|
if (distributionStockArticleDTO.getIsZero().equals(IsOrNoConstant.no.getValue())){ |
|
|
|
|
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageMapper.selectPackageByReservationAndStockArticleId(id, k); |
|
|
|
|
Map<Long, List<DistributionReservationPackageEntity>> oldPackage = packageEntityList.stream().collect(Collectors.groupingBy(DistributionReservationPackageEntity::getParceListId)); |
|
|
|
|
Map<Long, List<DistributionParcelListEntity>> newPackage = distributionStockArticleDTO.getPackageListInfo().stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getId)); |
|
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
|
|
AtomicInteger reduceNum = new AtomicInteger(); |
|
|
|
|
newPackage.forEach((m, n) -> { |
|
|
|
|
if (Func.isEmpty(oldPackage.get(m))) { |
|
|
|
|
DistributionParcelListEntity distributionParcelListEntity = n.get(0); |
|
|
|
|
//新增
|
|
|
|
|
DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
|
reservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.xinzeng.getValue()); |
|
|
|
|
reservationPackageEntity.setPacketBarCode(distributionParcelListEntity.getOrderPackageCode()); |
|
|
|
|
reservationPackageEntity.setParceListId(distributionParcelListEntity.getId()); |
|
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
|
packageNum.getAndAdd(distributionParcelListEntity.getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(distributionParcelListEntity.getId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
} else { |
|
|
|
|
oldPackage.remove(m); |
|
|
|
|
//移除
|
|
|
|
|
} |
|
|
|
|
//移除包件进行取消
|
|
|
|
|
oldPackage.forEach((o, p) -> { |
|
|
|
|
DistributionReservationPackageEntity reservationPackageEntity = p.get(0); |
|
|
|
|
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue()); |
|
|
|
|
distributionReservationPackageService.updateById(reservationPackageEntity); |
|
|
|
|
//统计减少包件数量
|
|
|
|
|
reduceNum.getAndAdd(distributionParcelListService.getById(reservationPackageEntity.getParceListId()).getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
}); |
|
|
|
|
//对存在订单进行维护
|
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = oldStockArticle.get(k).get(0); |
|
|
|
|
Integer reservationNum = reservationStockarticleEntity.getReservationNum(); |
|
|
|
|
reservationStockarticleEntity.setReservationNum(reservationNum + packageNum.get() - reduceNum.get()); |
|
|
|
|
distributionReservationStockarticleService.updateById(reservationStockarticleEntity); |
|
|
|
|
packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum()); |
|
|
|
|
// oldStockArticle.remove(k);
|
|
|
|
|
distributionAsyncService.changeOrderReservationStatus(distributionStockArticleDTO); |
|
|
|
|
}); |
|
|
|
|
oldStockArticle.remove(k); |
|
|
|
|
}else { |
|
|
|
|
//零担订单出现编辑操作,这里对于零担订单发生编辑操作一定会存在有录入数量的操作
|
|
|
|
|
List<DistributionParcelNumberVO> parcelNumberVOS = distributionStockArticleDTO.getParcelNumberVOS(); |
|
|
|
|
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, id) |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getStockArticleId, distributionStockArticleDTO.getId()) |
|
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus,"2")); |
|
|
|
|
Map<Long, List<DistributionReservationZeroPackageEntity>> oldZeroPackage = reservationZeroPackageEntityList.stream().collect(Collectors.groupingBy(DistributionReservationZeroPackageEntity::getParcelListId)); |
|
|
|
|
if (Func.isEmpty(reservationZeroPackageEntityList)){ |
|
|
|
|
log.error("#############零担订单预约信息数据错误:{}",distributionStockArticleDTO); |
|
|
|
|
} |
|
|
|
|
AtomicInteger zeroPrderNum = new AtomicInteger(); |
|
|
|
|
parcelNumberVOS.forEach(p->{ |
|
|
|
|
List<DistributionReservationZeroPackageEntity> distributionReservationZeroPackageEntities = oldZeroPackage.get(p.getParcelListId()); |
|
|
|
|
if (Func.isNotEmpty(distributionReservationZeroPackageEntities)){ |
|
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = distributionReservationZeroPackageEntities.get(0); |
|
|
|
|
Integer quantity = distributionReservationZeroPackageEntity.getQuantity(); |
|
|
|
|
if (p.getReservationNum() == 0){ |
|
|
|
|
distributionReservationZeroPackageEntity.setQuantity(0); |
|
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
|
distributionReservationZeroPackageService.updateById(distributionReservationZeroPackageEntity); |
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelNumberEntity::getParcelListId, distributionReservationZeroPackageEntity.getParcelListId())); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() - quantity); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
}else if (p.getReservationNum() != quantity){ |
|
|
|
|
distributionReservationZeroPackageEntity.setQuantity(p.getReservationNum()); |
|
|
|
|
distributionReservationZeroPackageService.updateById(distributionReservationZeroPackageEntity); |
|
|
|
|
//进行修改操作
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelNumberEntity::getParcelListId, distributionReservationZeroPackageEntity.getParcelListId())); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() - quantity + p.getReservationNum()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
} |
|
|
|
|
zeroPrderNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
|
}else { |
|
|
|
|
//这里就是新增
|
|
|
|
|
DistributionReservationZeroPackageEntity zeroPackageEntity = new DistributionReservationZeroPackageEntity(); |
|
|
|
|
zeroPackageEntity.setParcelListId(p.getParcelListId()); |
|
|
|
|
zeroPackageEntity.setCategoryName(p.getFirsts()); |
|
|
|
|
zeroPackageEntity.setQuantity(p.getReservationNum()); |
|
|
|
|
zeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zengjia.getValue()); |
|
|
|
|
zeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
|
zeroPackageEntity.setReservationId(id); |
|
|
|
|
zeroPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
distributionReservationZeroPackageService.save(zeroPackageEntity); |
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = distributionReservationStockarticleService.getOne(Wrappers.<DistributionReservationStockarticleEntity>query().lambda() |
|
|
|
|
.eq(DistributionReservationStockarticleEntity::getReservationId, id) |
|
|
|
|
.eq(DistributionReservationStockarticleEntity::getStockArticleId, distributionStockArticleDTO.getId()) |
|
|
|
|
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue())); |
|
|
|
|
reservationStockarticleEntity.setReservationNum(reservationStockarticleEntity.getReservationNum() + zeroPackageEntity.getQuantity()); |
|
|
|
|
distributionReservationStockarticleService.updateById(reservationStockarticleEntity); |
|
|
|
|
//维护具体的零担订单品类数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getOne(Wrappers.<DistributionParcelNumberEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelNumberEntity::getParcelListId, p.getParcelListId())); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + zeroPackageEntity.getQuantity()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
zeroPrderNum.getAndAdd(zeroPackageEntity.getQuantity()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
//考虑情况:1、数量发生修改 2、数量修改为0表示取消该零担订单对应的品类 3、该零担订单新增品类
|
|
|
|
|
//该零担订单原有的品类信息
|
|
|
|
|
}); |
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = oldStockArticle.get(k).get(0); |
|
|
|
|
reservationStockarticleEntity.setReservationNum(zeroPrderNum.get()); |
|
|
|
|
distributionReservationStockarticleService.updateById(reservationStockarticleEntity); |
|
|
|
|
packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum()); |
|
|
|
|
// oldStockArticle.remove(k);
|
|
|
|
|
distributionAsyncService.changeOrderReservationStatus(distributionStockArticleDTO); |
|
|
|
|
oldStockArticle.remove(k); |
|
|
|
|
} |
|
|
|
|
warehouseNames.add(distributionStockArticleDTO.getWarehouse()); |
|
|
|
|
mallName.add(distributionStockArticleDTO.getMallName()); |
|
|
|
|
storeName.add(distributionStockArticleDTO.getStoreName()); |
|
|
|
|
receivingUnit.add(distributionStockArticleDTO.getConsigneeUnit()); |
|
|
|
|
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageMapper.selectPackageByReservationAndStockArticleId(id, k); |
|
|
|
|
Map<Long, List<DistributionReservationPackageEntity>> oldPackage = packageEntityList.stream().collect(Collectors.groupingBy(DistributionReservationPackageEntity::getParceListId)); |
|
|
|
|
Map<Long, List<DistributionParcelListEntity>> newPackage = distributionStockArticleDTO.getPackageListInfo().stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getId)); |
|
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
|
|
AtomicInteger reduceNum = new AtomicInteger(); |
|
|
|
|
newPackage.forEach((m, n) -> { |
|
|
|
|
if (Func.isEmpty(oldPackage.get(m))) { |
|
|
|
|
DistributionParcelListEntity distributionParcelListEntity = n.get(0); |
|
|
|
|
//新增
|
|
|
|
|
DistributionReservationPackageEntity reservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
|
reservationPackageEntity.setStockArticleId(distributionStockArticleDTO.getId()); |
|
|
|
|
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.xinzeng.getValue()); |
|
|
|
|
reservationPackageEntity.setPacketBarCode(distributionParcelListEntity.getOrderPackageCode()); |
|
|
|
|
reservationPackageEntity.setParceListId(distributionParcelListEntity.getId()); |
|
|
|
|
reservationPackageEntity.setReservationId(id); |
|
|
|
|
distributionReservationPackageService.save(reservationPackageEntity); |
|
|
|
|
packageNum.getAndAdd(distributionParcelListEntity.getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(distributionParcelListEntity.getId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
} else { |
|
|
|
|
oldPackage.remove(m); |
|
|
|
|
//移除
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
//移除包件进行取消
|
|
|
|
|
oldPackage.forEach((o, p) -> { |
|
|
|
|
DistributionReservationPackageEntity reservationPackageEntity = p.get(0); |
|
|
|
|
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue()); |
|
|
|
|
distributionReservationPackageService.updateById(reservationPackageEntity); |
|
|
|
|
//统计减少包件数量
|
|
|
|
|
reduceNum.getAndAdd(distributionParcelListService.getById(reservationPackageEntity.getParceListId()).getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
}); |
|
|
|
|
//对存在订单进行维护
|
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = oldStockArticle.get(k).get(0); |
|
|
|
|
Integer reservationNum = reservationStockarticleEntity.getReservationNum(); |
|
|
|
|
reservationStockarticleEntity.setReservationNum(reservationNum + packageNum.get() - reduceNum.get()); |
|
|
|
|
distributionReservationStockarticleService.updateById(reservationStockarticleEntity); |
|
|
|
|
packTotal.getAndAdd(reservationStockarticleEntity.getReservationNum()); |
|
|
|
|
oldStockArticle.remove(k); |
|
|
|
|
distributionAsyncService.changeOrderReservationStatus(distributionStockArticleDTO); |
|
|
|
|
|
|
|
|
|
// DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionStockArticleDTO.getId());
|
|
|
|
|
// stockArticleEntity.setReservationStatus(status);
|
|
|
|
|
// distributionStockArticleService.updateById(stockArticleEntity);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
oldStockArticle.forEach((i, j) -> { |
|
|
|
|
//这里就是需要进行取消的订单信息
|
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = j.get(0); |
|
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
|
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageMapper.selectPackageByReservationAndStockArticleId(id, reservationStockarticleEntity.getStockArticleId()); |
|
|
|
|
packageEntityList.forEach(p -> { |
|
|
|
|
p.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue()); |
|
|
|
|
distributionReservationPackageService.updateById(p); |
|
|
|
|
reduceTotal.getAndAdd(distributionParcelListService.getById(p.getParceListId()).getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
}); |
|
|
|
|
if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())){ |
|
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
|
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageMapper.selectPackageByReservationAndStockArticleId(id, reservationStockarticleEntity.getStockArticleId()); |
|
|
|
|
packageEntityList.forEach(p -> { |
|
|
|
|
p.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue()); |
|
|
|
|
distributionReservationPackageService.updateById(p); |
|
|
|
|
reduceTotal.getAndAdd(distributionParcelListService.getById(p.getParceListId()).getQuantity()); |
|
|
|
|
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId()); |
|
|
|
|
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
}else { |
|
|
|
|
//订单零担移除
|
|
|
|
|
List<DistributionReservationZeroPackageEntity> reservationZeroPackageEntities = distributionReservationZeroPackageService.list(Wrappers.<DistributionReservationZeroPackageEntity>query().lambda() |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getReservationId, reservationStockarticleEntity.getReservationId()) |
|
|
|
|
.eq(DistributionReservationZeroPackageEntity::getStockArticleId, reservationStockarticleEntity.getStockArticleId()) |
|
|
|
|
.ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationOrderStatusConstant.quxiao.getValue())); |
|
|
|
|
reservationZeroPackageEntities.forEach(zp->{ |
|
|
|
|
List<DistributionParcelNumberEntity> parcelNumberEntityList = distributionParcelNumberService.list(Wrappers.<DistributionParcelNumberEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelNumberEntity::getParcelListId, zp.getParcelListId())); |
|
|
|
|
if (parcelNumberEntityList.size()>1){ |
|
|
|
|
log.error("#############零担订单品类信息错误:{}",parcelNumberEntityList); |
|
|
|
|
} |
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = parcelNumberEntityList.get(0); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() - zp.getQuantity()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
zp.setQuantity(0); |
|
|
|
|
zp.setZeroPackageStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
|
distributionReservationZeroPackageService.updateById(zp); |
|
|
|
|
}); |
|
|
|
|
reservationStockarticleEntity.setReservationNum(0); |
|
|
|
|
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue()); |
|
|
|
|
} |
|
|
|
|
//需要修改订单的状态
|
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(i); |
|
|
|
|
DistributionStockArticleDTO stockArticleDTO = Func.copy(stockArticleEntity, DistributionStockArticleDTO.class); |
|
|
|
|
distributionAsyncService.changeOrderReservationStatus(stockArticleDTO); |
|
|
|
|
|
|
|
|
|
//这里需要根据包件状态进行订单状态的修改
|
|
|
|
|
//这里异步查看该订单下的包件信息是否都处于预约状态,如果不是那么为订单预约装填,部分那么订单为部分预约,没有那么订单处于待预约状态
|
|
|
|
|
distributionAsyncService.changeOrderReservationStatus(stockArticleDTO); |
|
|
|
|
// distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
|
|
|
|
|
// String status = distributionReservationPackageService.judgmentStatus(stockArticleDTO);
|
|
|
|
|
// stockArticleEntity.setReservationStatus(status);
|
|
|
|
|
// reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
|
|
|
|
@ -1546,7 +1724,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
//
|
|
|
|
|
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
|
//现在前端进行订单提交必然会携带包件信息
|
|
|
|
|
List<DistributionParcelListEntity> packageListInfo = s.getPackageListInfo(); |
|
|
|
|
List<DistributionParcelListDTO> packageListInfo = s.getPackageListInfo(); |
|
|
|
|
AtomicInteger orderPackageNum = new AtomicInteger(); |
|
|
|
|
if (packageListInfo.size()>0){ |
|
|
|
|
packageListInfo.forEach(p->{ |
|
|
|
@ -2214,10 +2392,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
|
//预约订单数量
|
|
|
|
|
AtomicInteger packageNum = new AtomicInteger(); |
|
|
|
|
List<DistributionParcelListEntity> packageList = s.getPackageListInfo(); |
|
|
|
|
List<DistributionParcelListDTO> packageList = s.getPackageListInfo(); |
|
|
|
|
if (Func.isEmpty(packageList)) { |
|
|
|
|
//添加订单下的所有在库订单的包件
|
|
|
|
|
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId,s.getId())); |
|
|
|
|
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId,s.getId()) |
|
|
|
|
.ne(DistributionParcelListEntity::getOrderPackageLoadingStatus, OrderPackageLoadingStatusConstant.yizhuangche.getValue()) |
|
|
|
|
.ne(DistributionParcelListEntity::getOrderPackageReservationStatus,OrderPackageReservationStatusConstant.yiyueyue.getValue()) |
|
|
|
|
.notIn(DistributionParcelListEntity::getOrderPackageStatus,new String[]{OrderPackageStatusConstant.yichuku.getValue(),OrderPackageStatusConstant.yiqianshou.getValue()})); |
|
|
|
|
distributionParcelListEntities.forEach(p -> { |
|
|
|
|
if (!Func.equals(p.getOrderPackageFreezeStatus(), OrderPackageFreezeStatusConstant.yidongjie.getValue()) && !Func.equals(p.getOrderPackageFreezeStatus(), OrderPackageReservationStatusConstant.yiyueyue.getValue())) { |
|
|
|
|
DistributionReservationPackageEntity distributionReservationPackageEntity = new DistributionReservationPackageEntity(); |
|
|
|
@ -2275,14 +2456,94 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
distributionReservationStockarticleEntity.setIsHaveData(s.getIsHaveData()); |
|
|
|
|
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity); |
|
|
|
|
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum()); |
|
|
|
|
}else { |
|
|
|
|
//TODO 零担订单处理
|
|
|
|
|
|
|
|
|
|
}else if (s.getIsZero().equals("1")){ |
|
|
|
|
//零担订单处理
|
|
|
|
|
DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = new DistributionReservationStockarticleEntity(); |
|
|
|
|
if (Func.isNotBlank(s.getServiceNumber())) { |
|
|
|
|
serviceNumber.add(s.getServiceNumber()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotBlank(s.getWarehouse())) { |
|
|
|
|
warehouseNames.add(s.getWarehouse()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotBlank(s.getMallName())) { |
|
|
|
|
mallName.add(s.getMallName()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotBlank(s.getStoreName())) { |
|
|
|
|
storeName.add(s.getStoreName()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotBlank(s.getOrderCode())) { |
|
|
|
|
orderNumber.add(s.getOrderCode()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotBlank(s.getConsigneeUnit())) { |
|
|
|
|
receivingUnit.add(s.getConsigneeUnit()); |
|
|
|
|
} |
|
|
|
|
if (Func.isNotBlank(s.getWaybillNumber())) { |
|
|
|
|
waybillNo.add(s.getWaybillNumber()); |
|
|
|
|
} |
|
|
|
|
List<DistributionParcelNumberVO> parcelNumberVOS = s.getParcelNumberVOS(); |
|
|
|
|
AtomicInteger zeroPackageNum = new AtomicInteger(0); |
|
|
|
|
if (Func.isNotEmpty(parcelNumberVOS)){ |
|
|
|
|
if (Func.isNotEmpty(parcelNumberVOS)){ |
|
|
|
|
//存在零担订单的包件信息
|
|
|
|
|
parcelNumberVOS.forEach(p->{ |
|
|
|
|
if (p.getReservationNum() > 0){ |
|
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = new DistributionReservationZeroPackageEntity(); |
|
|
|
|
distributionReservationZeroPackageEntity.setQuantity(p.getReservationNum()); |
|
|
|
|
distributionReservationZeroPackageEntity.setReservationId(reservationId); |
|
|
|
|
distributionReservationZeroPackageEntity.setStockArticleId(s.getId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setCategoryName(p.getFirsts()); |
|
|
|
|
distributionReservationZeroPackageEntity.setParcelListId(p.getParcelListId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
|
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity); |
|
|
|
|
//统计数量
|
|
|
|
|
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
|
//维护零担订单品类对应数量的冻结数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(p.getId()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + p.getReservationNum()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}else { |
|
|
|
|
//不存在录入数量的操作,此时进行全部可配送的品类进行添加
|
|
|
|
|
//查询出该零担订单的品类信息
|
|
|
|
|
// List<DistributionParcelNumberEntity> list = distributionParcelNumberService.list(Wrappers.<DistributionParcelNumberEntity>query().lambda().eq(DistributionParcelNumberEntity::getStockArticleId, s.getId()));
|
|
|
|
|
// List<DistributionParcelNumberVO> list = distributionParcelNumberMapper.selectZeroOrderPackageList(s.getId());
|
|
|
|
|
List<DistributionParcelNumberVO> list = distributionStockArticleService.getZeroOrderDetail(s.getId()); |
|
|
|
|
list.forEach(l->{ |
|
|
|
|
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = new DistributionReservationZeroPackageEntity(); |
|
|
|
|
distributionReservationZeroPackageEntity.setQuantity(l.getQuantity() - l.getDeliveryQuantity() - l.getOutboundQuantity()); |
|
|
|
|
distributionReservationZeroPackageEntity.setReservationId(reservationId); |
|
|
|
|
distributionReservationZeroPackageEntity.setStockArticleId(s.getId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setParcelListId(l.getParcelListId()); |
|
|
|
|
distributionReservationZeroPackageEntity.setCategoryName(l.getFirsts()); |
|
|
|
|
distributionReservationZeroPackageEntity.setType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
|
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
|
distributionReservationZeroPackageService.save(distributionReservationZeroPackageEntity); |
|
|
|
|
//统计数量
|
|
|
|
|
zeroPackageNum.getAndAdd(distributionReservationZeroPackageEntity.getQuantity()); |
|
|
|
|
//维护零担订单品类对应数量的冻结数量
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(l.getId()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + l.getReservationNum()); |
|
|
|
|
distributionParcelNumberService.updateById(parcelNumberEntity); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
//首先这里需要进行
|
|
|
|
|
distributionReservationStockarticleEntity.setIsZero(IsOrNoConstant.yes.getValue()); |
|
|
|
|
distributionReservationStockarticleEntity.setReservationId(reservationId); |
|
|
|
|
distributionReservationStockarticleEntity.setStockArticleId(s.getId()); |
|
|
|
|
distributionReservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue()); |
|
|
|
|
distributionReservationStockarticleEntity.setStockArticleCode(s.getOrderCode()); |
|
|
|
|
distributionReservationStockarticleEntity.setIsHaveData(s.getIsHaveData()); |
|
|
|
|
distributionReservationStockarticleEntity.setReservationNum(zeroPackageNum.get()); |
|
|
|
|
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity); |
|
|
|
|
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum()); |
|
|
|
|
}else { |
|
|
|
|
log.error("###################订单是否零担字段缺失:{}",s); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo();
|
|
|
|
|
// String consigneeMobile = byWaybillNo.getConsigneeMobile();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
//存在库存品构建预约库存品关联信息
|
|
|
|
@ -2364,8 +2625,13 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
reservationEntity.setMailPhone(String.join(",",marketPhone)); |
|
|
|
|
reservationEntity.setReceivingUnit(String.join(",",receivingUnit)); |
|
|
|
|
//统计数量
|
|
|
|
|
BigDecimal fee = initTotal.get().add(reservationEntity.getOtherFee()); |
|
|
|
|
reservationEntity.setFee(fee); |
|
|
|
|
|
|
|
|
|
if (Func.isNotEmpty(reservationEntity.getOtherFee())){ |
|
|
|
|
BigDecimal fee = initTotal.get().add(reservationEntity.getOtherFee()); |
|
|
|
|
reservationEntity.setFee(fee); |
|
|
|
|
}else { |
|
|
|
|
reservationEntity.setFee(new BigDecimal(0)); |
|
|
|
|
} |
|
|
|
|
reservationEntity.setReservationCode(reservationMa()); |
|
|
|
|
//设置预约为市配
|
|
|
|
|
reservationEntity.setDeliveryType(DistributionTypeConstant.shipie.getValue()); |
|
|
|
@ -2400,4 +2666,18 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
|
|
|
|
|
public Integer getReservationNumStockSelf(Long reservationId, Long stockListId) { |
|
|
|
|
return baseMapper.getReservationNumStockSelf(reservationId,stockListId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<DistributionParcelNumberVO> getReservationZeroOrderDetail(Long id,Long reservationId) { |
|
|
|
|
List<DistributionParcelNumberVO> zeroOrderDetail = distributionStockArticleService.getZeroOrderDetail(id); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelNumberVO> parcelNumberVOS= baseMapper.selectReservationZeroOrderDetail(id,reservationId); |
|
|
|
|
Map<Long, DistributionParcelNumberVO> reservationNum = parcelNumberVOS.stream().collect(Collectors.toMap(DistributionParcelNumberVO::getParcelListId, Function.identity(), (k1, k2) -> k2)); |
|
|
|
|
zeroOrderDetail.forEach(z->{ |
|
|
|
|
if (Func.isNotEmpty(reservationNum.get(z.getParcelListId()))){ |
|
|
|
|
z.setReservationNum(reservationNum.get(z.getParcelListId()).getReservationNum()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
return zeroOrderDetail; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|