Browse Source

fix(service): 修改复核节点同步数据过滤BLOB URL

pull/4/head
zhaoqiaobo 1 year ago
parent
commit
1a0a9e2927
  1. 220
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

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

@ -1,6 +1,7 @@
package com.logpm.distribution.service.impl; package com.logpm.distribution.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -12,10 +13,59 @@ import com.logpm.distribution.dto.DistributionStockArticleDTO;
import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO;
import com.logpm.distribution.dto.app.StockupDTO; import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.dto.app.StockupZeroDTO; import com.logpm.distribution.dto.app.StockupZeroDTO;
import com.logpm.distribution.entity.*; import com.logpm.distribution.entity.DisStockListDetailEntity;
import com.logpm.distribution.mapper.*; import com.logpm.distribution.entity.DistributionBillLadingScanEntity;
import com.logpm.distribution.service.*; import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity;
import com.logpm.distribution.vo.*; import com.logpm.distribution.entity.DistributionDeliveryListEntity;
import com.logpm.distribution.entity.DistributionLoadscanEntity;
import com.logpm.distribution.entity.DistributionLoadscaninvnEntity;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionParcelNumberEntity;
import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.entity.DistributionReservationPackageEntity;
import com.logpm.distribution.entity.DistributionReservationStockarticleEntity;
import com.logpm.distribution.entity.DistributionReservationStocklistEntity;
import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity;
import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.entity.DistributionStockEntity;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.distribution.entity.DistributionStockupEntity;
import com.logpm.distribution.entity.DistributionStockupInfoEntity;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.entity.DistrilbutionBillPackageEntity;
import com.logpm.distribution.entity.DistrilbutionBillStockEntity;
import com.logpm.distribution.mapper.DistributionBillLadingScanMapper;
import com.logpm.distribution.mapper.DistributionDeliveryDetailsMapper;
import com.logpm.distribution.mapper.DistributionDeliveryListMapper;
import com.logpm.distribution.mapper.DistributionLoadscanMapper;
import com.logpm.distribution.mapper.DistributionLoadscaninvnMapper;
import com.logpm.distribution.mapper.DistributionParcelListMapper;
import com.logpm.distribution.mapper.DistributionReservationMapper;
import com.logpm.distribution.mapper.DistributionReservationPackageMapper;
import com.logpm.distribution.mapper.DistributionReservationStockarticleMapper;
import com.logpm.distribution.mapper.DistributionReservationStocklistMapper;
import com.logpm.distribution.mapper.DistributionSignforMapper;
import com.logpm.distribution.mapper.DistributionStockListMapper;
import com.logpm.distribution.mapper.DistributionStockMapper;
import com.logpm.distribution.mapper.DistributionStockupInfoMapper;
import com.logpm.distribution.mapper.DistributionStockupMapper;
import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper;
import com.logpm.distribution.service.IDisStockListDetailService;
import com.logpm.distribution.service.IDistributionAsyncService;
import com.logpm.distribution.service.IDistributionDeliveryDetailsService;
import com.logpm.distribution.service.IDistributionParcelNumberService;
import com.logpm.distribution.service.IDistributionReservationStockarticleService;
import com.logpm.distribution.service.IDistributionReservationStocklistService;
import com.logpm.distribution.service.IDistributionReservationZeroPackageService;
import com.logpm.distribution.service.IDistributionStockArticleService;
import com.logpm.distribution.service.IDistrilbutionBillPackageService;
import com.logpm.distribution.service.IDistrilbutionBillStockService;
import com.logpm.distribution.vo.DistributionParcelNumberVO;
import com.logpm.distribution.vo.DistributionSignPrintVO;
import com.logpm.distribution.vo.DistributionStockPackageVO;
import com.logpm.distribution.vo.DistributionStockupSelfVO;
import com.logpm.distribution.vo.DistrilbutionBillStockVO;
import com.logpm.factory.comfac.dto.OrderStatusDTO; import com.logpm.factory.comfac.dto.OrderStatusDTO;
import com.logpm.factory.mt.dto.MtReceiveContentDTO; import com.logpm.factory.mt.dto.MtReceiveContentDTO;
import com.logpm.factory.mt.dto.MtReceiveDTO; import com.logpm.factory.mt.dto.MtReceiveDTO;
@ -23,9 +73,7 @@ import com.logpm.factory.mt.dto.MtReceiveImagesDTO;
import com.logpm.factory.mt.feign.IMtOrderMainClinet; import com.logpm.factory.mt.feign.IMtOrderMainClinet;
import com.logpm.factory.oupai.feign.IOuPaiFactoryClinet; import com.logpm.factory.oupai.feign.IOuPaiFactoryClinet;
import com.logpm.trunkline.dto.AddWaybillTrackDTO; import com.logpm.trunkline.dto.AddWaybillTrackDTO;
import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient;
import com.logpm.trunkline.feign.ITrunklineWaybillTrackClient; import com.logpm.trunkline.feign.ITrunklineWaybillTrackClient;
import com.logpm.warehouse.entity.WarehouseWarehouseEntity;
import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient;
@ -46,11 +94,17 @@ import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusCon
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant; import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant; import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant; import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant;
import org.springblade.common.constant.reservation.*; import org.springblade.common.constant.reservation.ReservationInventoryLoadingStatusConstant;
import org.springblade.common.constant.reservation.ReservationInventorySigningStatusConstant;
import org.springblade.common.constant.reservation.ReservationInventoryStatusConstant;
import org.springblade.common.constant.reservation.ReservationLoadingStatusConstant;
import org.springblade.common.constant.reservation.ReservationOrderStatusConstant;
import org.springblade.common.constant.reservation.ReservationPackageStatusConstant;
import org.springblade.common.constant.reservation.ReservationSigningStatusConstant;
import org.springblade.common.constant.reservation.ReservationStockupStatusConstant;
import org.springblade.common.constant.signing.SignforStatusConstant; import org.springblade.common.constant.signing.SignforStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.constant.stockup.StockupStatusConstant;
import org.springblade.common.constant.stockup.StockupTypeConstant; import org.springblade.common.constant.stockup.StockupTypeConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
@ -60,7 +114,12 @@ import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
@ -666,7 +725,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
distributionStockupSelfVO = distributionStockupMapper.stockupSelfOffShelf(stockupDTO); distributionStockupSelfVO = distributionStockupMapper.stockupSelfOffShelf(stockupDTO);
} else { } else {
//商 市 //商 市
log.info(">>>> find bug stockupDTO {}",stockupDTO); log.info(">>>> find bug stockupDTO {}", stockupDTO);
distributionStockupSelfVO = distributionStockupMapper.stockupOffShelf(stockupDTO); distributionStockupSelfVO = distributionStockupMapper.stockupOffShelf(stockupDTO);
} }
//有 //有
@ -962,7 +1021,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
if (Func.isNotEmpty(parcelNumberEntityList)) { if (Func.isNotEmpty(parcelNumberEntityList)) {
parcelNumberEntityList.forEach(p -> { parcelNumberEntityList.forEach(p -> {
DistributionParcelListEntity zeroParcelListEntity = distributionParcelListService.getById(p.getParcelListId()); DistributionParcelListEntity zeroParcelListEntity = distributionParcelListService.getById(p.getParcelListId());
if (p.getOutboundQuantity() .equals(p.getQuantity()) && p.getOutboundQuantity() > 0) { if (p.getOutboundQuantity().equals(p.getQuantity()) && p.getOutboundQuantity() > 0) {
//出库数量和总数量一致,此时包件处于装车状态 //出库数量和总数量一致,此时包件处于装车状态
zeroParcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); zeroParcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
} }
@ -1448,8 +1507,8 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
// } // }
break; break;
default: default:
log.info("开单其它品牌stockArticleEntity.getBrand() ={}",stockArticleEntity.getBrand()); log.info("开单其它品牌stockArticleEntity.getBrand() ={}", stockArticleEntity.getBrand());
//其他..... //其他.....
} }
} }
@ -1506,6 +1565,11 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
List<DistributionSignPrintVO> distributionSignPrintVOS = distributionSignforMapper.selectSignImgsUrl(distributionSignforEntity.getReservationId()); List<DistributionSignPrintVO> distributionSignPrintVOS = distributionSignforMapper.selectSignImgsUrl(distributionSignforEntity.getReservationId());
if (Func.isNotEmpty(distributionSignPrintVOS)) { if (Func.isNotEmpty(distributionSignPrintVOS)) {
for (DistributionSignPrintVO distributionSignPrintVO : distributionSignPrintVOS) { for (DistributionSignPrintVO distributionSignPrintVO : distributionSignPrintVOS) {
if (StrUtil.isNotBlank(distributionSignPrintVO.getUrlRoute())) {
if (distributionSignPrintVO.getUrlRoute().startsWith("blob:")) {
continue;
}
}
MtReceiveImagesDTO mtReceiveImagesDTO = new MtReceiveImagesDTO(); MtReceiveImagesDTO mtReceiveImagesDTO = new MtReceiveImagesDTO();
mtReceiveImagesDTO.setImage(distributionSignPrintVO.getUrlRoute()); mtReceiveImagesDTO.setImage(distributionSignPrintVO.getUrlRoute());
mtReceiveImagesDTOS.add(mtReceiveImagesDTO); mtReceiveImagesDTOS.add(mtReceiveImagesDTO);
@ -1525,8 +1589,8 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
log.info(">>>>>>>>>>>>>>> 文员复核推送 品牌 {} ", brand); log.info(">>>>>>>>>>>>>>> 文员复核推送 品牌 {} ", brand);
assert brand != null; assert brand != null;
if (Func.isNotEmpty(brand.get("梦天"))) { if (Func.isNotEmpty(brand.get("梦天"))) {
mtReceiveDTO.setReceiveContentList(brand.get("梦天")); mtReceiveDTO.setReceiveContentList(brand.get("梦天"));
orderMainClinet.sendReceiveInfoByNewSystem(mtReceiveDTO); orderMainClinet.sendReceiveInfoByNewSystem(mtReceiveDTO);
} }
@ -1618,7 +1682,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
.filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) .filter(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()) && !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue()))
.map(DistributionParcelListEntity::getOrderCode) .map(DistributionParcelListEntity::getOrderCode)
.distinct().collect(Collectors.joining(",")); .distinct().collect(Collectors.joining(","));
log.info(method+"维护订制品订单:{}",orderCodes); log.info(method + "维护订制品订单:{}", orderCodes);
builder.append(orderCodes); builder.append(orderCodes);
log.info(">>>>>> updatePackageDeliveryStatus,{}, {}", reservationId, packageIds); log.info(">>>>>> updatePackageDeliveryStatus,{}, {}", reservationId, packageIds);
@ -1627,7 +1691,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
//维护预约订单状态 //维护预约订单状态
} }
List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(reservationId); List<DistributionParcelNumberDTO> distributionParcelNumberDTOS = distributionReservationMapper.selectZeroPackageListByReservationId(reservationId);
if (Func.isNotEmpty(distributionParcelNumberDTOS)){ if (Func.isNotEmpty(distributionParcelNumberDTOS)) {
//查询此预约单下未进行装车且签收的零担包件 //查询此预约单下未进行装车且签收的零担包件
List<Long> packageIds = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList()); List<Long> packageIds = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getParcelListId).collect(Collectors.toList());
List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda() List<DistributionLoadscanEntity> loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda()
@ -1635,22 +1699,22 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
.in(DistributionLoadscanEntity::getPackageId, packageIds) .in(DistributionLoadscanEntity::getPackageId, packageIds)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
); );
if (Func.isNotEmpty(loadscanEntityList)){ if (Func.isNotEmpty(loadscanEntityList)) {
//查看是否存在需要进行回库的零担 //查看是否存在需要进行回库的零担
List<Long> collect = loadscanEntityList.stream().filter(f -> !packageIds.contains(f.getPackageId())).map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); List<Long> collect = loadscanEntityList.stream().filter(f -> !packageIds.contains(f.getPackageId())).map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList());
if (Func.isNotEmpty(collect)){ if (Func.isNotEmpty(collect)) {
String orderCode = distributionParcelNumberDTOS.stream().filter(f -> collect.contains(f.getParcelListId())).map(DistributionParcelNumberDTO::getOrderCode).collect(Collectors.joining(",")); String orderCode = distributionParcelNumberDTOS.stream().filter(f -> collect.contains(f.getParcelListId())).map(DistributionParcelNumberDTO::getOrderCode).collect(Collectors.joining(","));
log.info(method+"维护零担订单:{}",orderCode); log.info(method + "维护零担订单:{}", orderCode);
builder.append(orderCode); builder.append(orderCode);
//这些单子就是需要进行状态回退的零担包件 //这些单子就是需要进行状态回退的零担包件
reservationZeroPackageService.recoverZeroPackage(reservationId,collect); reservationZeroPackageService.recoverZeroPackage(reservationId, collect);
} }
}else { } else {
//计划数量全部回退 //计划数量全部回退
String orderCode = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getOrderCode).distinct().collect(Collectors.joining(",")); String orderCode = distributionParcelNumberDTOS.stream().map(DistributionParcelNumberDTO::getOrderCode).distinct().collect(Collectors.joining(","));
log.info(method+"维护零担订单:{}",orderCode); log.info(method + "维护零担订单:{}", orderCode);
builder.append(orderCode); builder.append(orderCode);
reservationZeroPackageService.recoverZeroPackage(reservationId,packageIds); reservationZeroPackageService.recoverZeroPackage(reservationId, packageIds);
} }
} }
distributionStockArticleService.maintenanceOrderInfo(builder.toString(), warehouseId); distributionStockArticleService.maintenanceOrderInfo(builder.toString(), warehouseId);
@ -1690,54 +1754,52 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
* @param deliveryId * @param deliveryId
*/ */
@Override @Override
public void sendTrunkineLog(Long deliveryId,Long reservationId, BladeUser user, BasicdataWarehouseEntity warehouse,Integer a) { public void sendTrunkineLog(Long deliveryId, Long reservationId, BladeUser user, BasicdataWarehouseEntity warehouse, Integer a) {
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(deliveryId); DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(deliveryId);
List<DistributionParcelListEntity> distributionParcelListEntities = null; List<DistributionParcelListEntity> distributionParcelListEntities = null;
if (1 ==a ){ if (1 == a) {
distributionParcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(deliveryId); distributionParcelListEntities = distributionDeliveryListMapper.selectPackageListByDeliveryListId(deliveryId);
}else { } else {
distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId);
} }
//查询配送司机信息 //查询配送司机信息
Map<String,Object> driverInfo = distributionDeliveryListMapper.selectDeliveryDriverInfo(distributionDeliveryListEntity.getId()); Map<String, Object> driverInfo = distributionDeliveryListMapper.selectDeliveryDriverInfo(distributionDeliveryListEntity.getId());
if (Func.isNotEmpty(distributionParcelListEntities)){ if (Func.isNotEmpty(distributionParcelListEntities)) {
Map<String, List<DistributionParcelListEntity>> listMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWaybillNumber)); Map<String, List<DistributionParcelListEntity>> listMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWaybillNumber));
listMap.forEach((k, v) ->{ listMap.forEach((k, v) -> {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
//统计已装车数量 //统计已装车数量
WarehouseWaybillEntity byWaybillNo = waybillClient.findByWaybillNo(k); WarehouseWaybillEntity byWaybillNo = waybillClient.findByWaybillNo(k);
AddWaybillTrackDTO addWaybillTrackDTO = new AddWaybillTrackDTO(); AddWaybillTrackDTO addWaybillTrackDTO = new AddWaybillTrackDTO();
addWaybillTrackDTO.setWaybillId(byWaybillNo.getId()); addWaybillTrackDTO.setWaybillId(byWaybillNo.getId());
addWaybillTrackDTO.setWaybillNo(byWaybillNo.getWaybillNo()); addWaybillTrackDTO.setWaybillNo(byWaybillNo.getWaybillNo());
if (1 ==a){ if (1 == a) {
int sum = v.stream().filter(p -> OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(p.getOrderPackageLoadingStatus())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); int sum = v.stream().filter(p -> OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(p.getOrderPackageLoadingStatus())).mapToInt(DistributionParcelListEntity::getQuantity).sum();
addWaybillTrackDTO.setTrackType("90"); addWaybillTrackDTO.setTrackType("90");
addWaybillTrackDTO.setRefer("运单配送"); addWaybillTrackDTO.setRefer("运单配送");
String msg = "运单配送:"+sum+"/"+v.size()+"件"; String msg = "运单配送:" + sum + "/" + v.size() + "件";
builder.append(msg); builder.append(msg);
//拼接配送信息 //拼接配送信息
String deliveryMsg = "车牌号:"+ driverInfo.get("vehicleNub")+","+"司机姓名:"+driverInfo.get("driverName")+",司机电话:"+driverInfo.get("driverPhone")+",配送时间:"+distributionDeliveryListEntity.getTaskTime(); String deliveryMsg = "车牌号:" + driverInfo.get("vehicleNub") + "," + "司机姓名:" + driverInfo.get("driverName") + ",司机电话:" + driverInfo.get("driverPhone") + ",配送时间:" + distributionDeliveryListEntity.getTaskTime();
builder.append(deliveryMsg); builder.append(deliveryMsg);
}else { } else {
int sum = v.stream().filter(p -> OrderPackageStatusConstant.yiqianshou.getValue().equals(p.getOrderPackageStatus())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); int sum = v.stream().filter(p -> OrderPackageStatusConstant.yiqianshou.getValue().equals(p.getOrderPackageStatus())).mapToInt(DistributionParcelListEntity::getQuantity).sum();
addWaybillTrackDTO.setTrackType("100"); addWaybillTrackDTO.setTrackType("100");
addWaybillTrackDTO.setRefer("运单签收"); addWaybillTrackDTO.setRefer("运单签收");
String msg = "运单签收:"+sum+"/"+v.size()+"件"; String msg = "运单签收:" + sum + "/" + v.size() + "件";
builder.append(msg); builder.append(msg);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
String deliveryMsg = "最近操作人:"+user.getNickName()+simpleDateFormat.format(new Date()); String deliveryMsg = "最近操作人:" + user.getNickName() + simpleDateFormat.format(new Date());
builder.append(deliveryMsg); builder.append(deliveryMsg);
} }
addWaybillTrackDTO.setNickName(user.getNickName()); addWaybillTrackDTO.setNickName(user.getNickName());
addWaybillTrackDTO.setUserId(user.getUserId()); addWaybillTrackDTO.setUserId(user.getUserId());
addWaybillTrackDTO.setWarehouseId(warehouse.getId()); addWaybillTrackDTO.setWarehouseId(warehouse.getId());
addWaybillTrackDTO.setWarehouseName(warehouse.getName()); addWaybillTrackDTO.setWarehouseName(warehouse.getName());
addWaybillTrackDTO.setOperationRemark(builder.toString()); addWaybillTrackDTO.setOperationRemark(builder.toString());
trunklineWaybillTrackClient.addWaybillLog(addWaybillTrackDTO); trunklineWaybillTrackClient.addWaybillLog(addWaybillTrackDTO);
}); });
} }
} }
@ -2343,18 +2405,18 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
public void changeOrderReservationStatus(DistributionStockArticleDTO stockArticleDTO) { public void changeOrderReservationStatus(DistributionStockArticleDTO stockArticleDTO) {
Long id = stockArticleDTO.getId(); Long id = stockArticleDTO.getId();
DistributionStockArticleEntity stockArticleEntity = Func.copy(stockArticleDTO, DistributionStockArticleEntity.class); DistributionStockArticleEntity stockArticleEntity = Func.copy(stockArticleDTO, DistributionStockArticleEntity.class);
assert stockArticleEntity != null; assert stockArticleEntity != null;
if (stockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { if (stockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) {
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, id)); List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, id));
boolean flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.yiyueyue.getValue())); boolean flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.yiyueyue.getValue()));
if (flag && stockArticleEntity.getTotalNumber() == parcelListEntityList.size()) { if (flag && stockArticleEntity.getTotalNumber() == parcelListEntityList.size()) {
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue()); stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
} else { } else {
flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue())); flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue()));
if (flag) { if (flag) {
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue()); stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue());
} else { } else {
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue()); stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
} }
} }
} else { } else {
@ -2365,10 +2427,10 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
// parcelNumberEntities.forEach(p -> { // parcelNumberEntities.forEach(p -> {
// unavailableNum.getAndAdd(p.getOutboundQuantity() + p.getDeliveryQuantity()); // unavailableNum.getAndAdd(p.getOutboundQuantity() + p.getDeliveryQuantity());
// }); // });
if (Func.isNotEmpty(parcelNumberEntities)){ if (Func.isNotEmpty(parcelNumberEntities)) {
int sum = parcelNumberEntities.stream().mapToInt(p -> p.getOutboundQuantity() + p.getDeliveryQuantity()).sum(); int sum = parcelNumberEntities.stream().mapToInt(p -> p.getOutboundQuantity() + p.getDeliveryQuantity()).sum();
unavailableNum.getAndAdd(sum); unavailableNum.getAndAdd(sum);
log.info("################零担包件当前不可用数量:{}",sum); log.info("################零担包件当前不可用数量:{}", sum);
} }
if (unavailableNum.get() == stockArticleDTO.getHandQuantity()) { if (unavailableNum.get() == stockArticleDTO.getHandQuantity()) {
stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue()); stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
@ -2656,13 +2718,13 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
//修改 //修改
} }
} else { } else {
distributionStockup.setId(stockupDTO.getStockupId()); distributionStockup.setId(stockupDTO.getStockupId());
if (i == 0) { if (i == 0) {
//修改备货状态 //修改备货状态
distributionStockup.setStockupStatus(StockupStatusConstant.yibeihuo.getValue()); distributionStockup.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
} else { } else {
//修改备货状态 //修改备货状态
distributionStockup.setStockupStatus(StockupStatusConstant.beihuozhong.getValue()); distributionStockup.setStockupStatus(StockupStatusConstant.beihuozhong.getValue());
} }
} }

Loading…
Cancel
Save