|
|
|
@ -16,8 +16,8 @@
|
|
|
|
|
*/ |
|
|
|
|
package com.logpm.distribution.service.impl; |
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
|
|
|
@ -44,8 +44,9 @@ import com.logpm.distribution.wrapper.DistributionDisStockListWrapper;
|
|
|
|
|
import com.logpm.distribution.wrapper.DistributionParcelListAppWrapper; |
|
|
|
|
import com.logpm.distribution.wrapper.DistributionParcelListWrapper; |
|
|
|
|
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; |
|
|
|
|
import com.logpm.factory.comfac.dto.OrderStatusDTO; |
|
|
|
|
import com.logpm.factory.oupai.feign.IOuPaiFactoryClinet; |
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
@ -53,6 +54,7 @@ import org.springblade.common.constant.DictBizConstant;
|
|
|
|
|
import org.springblade.common.constant.DistributionTypeConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant; |
|
|
|
|
import org.springblade.common.constant.Inventory.InventorySigningStatusConstant; |
|
|
|
|
import org.springblade.common.constant.ModuleNameConstant; |
|
|
|
|
import org.springblade.common.constant.RabbitConstant; |
|
|
|
|
import org.springblade.common.constant.common.IsOrNoConstant; |
|
|
|
|
import org.springblade.common.constant.delivery.DeliveryStatusConstant; |
|
|
|
@ -70,6 +72,7 @@ import org.springblade.common.utils.CommonUtil;
|
|
|
|
|
import org.springblade.common.utils.FileUtil; |
|
|
|
|
import org.springblade.common.utils.GaoDeApiUtil; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.mp.support.Condition; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
@ -77,6 +80,8 @@ import org.springblade.core.tool.utils.Func;
|
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.system.cache.DictBizCache; |
|
|
|
|
import org.springblade.system.feign.IDictBizClient; |
|
|
|
|
import org.springframework.amqp.AmqpException; |
|
|
|
|
import org.springframework.amqp.core.Message; |
|
|
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate; |
|
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@ -86,11 +91,13 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.ServletOutputStream; |
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
import java.io.*; |
|
|
|
|
import java.io.BufferedInputStream; |
|
|
|
|
import java.io.File; |
|
|
|
|
import java.io.FileInputStream; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
import java.util.function.Function; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
@ -105,81 +112,84 @@ import java.util.stream.Collectors;
|
|
|
|
|
@Slf4j |
|
|
|
|
public class DistributionSignforServiceImpl extends BaseServiceImpl<DistributionSignforMapper, DistributionSignforEntity> implements IDistributionSignforService { |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionLoadscanServiceImpl distributionLoadscanService; |
|
|
|
|
private DistributionLoadscanServiceImpl distributionLoadscanService; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionLoadscaninvnServiceImpl distributionLoadscaninvnService; |
|
|
|
|
private DistributionLoadscaninvnServiceImpl distributionLoadscaninvnService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionParcelListService distributionParcelListService; |
|
|
|
|
private IDistributionParcelListService distributionParcelListService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionStockArticleService distributionStockArticleService; |
|
|
|
|
private IDistributionStockArticleService distributionStockArticleService; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionLoadscanMapper distributionLoadscanMapper; |
|
|
|
|
private DistributionLoadscanMapper distributionLoadscanMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionLoadscaninvnMapper distributionLoadscaninvnMapper; |
|
|
|
|
private DistributionLoadscaninvnMapper distributionLoadscaninvnMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionDeliveryListMapper distributionDeliveryListMapper; |
|
|
|
|
private DistributionDeliveryListMapper distributionDeliveryListMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionDeliverySelfMapper distributionDeliverySelfMapper; |
|
|
|
|
private DistributionDeliverySelfMapper distributionDeliverySelfMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionDeliveryTripartiteMapper distributionDeliveryTripartiteMapper; |
|
|
|
|
private DistributionDeliveryTripartiteMapper distributionDeliveryTripartiteMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionSignforMapper distributionSignforMapper; |
|
|
|
|
private DistributionSignforMapper distributionSignforMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionStockMapper distributionStockMapper; |
|
|
|
|
private DistributionStockMapper distributionStockMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private IDictBizClient dictBizClient; |
|
|
|
|
private IDictBizClient dictBizClient; |
|
|
|
|
@Autowired |
|
|
|
|
private IBasicdataDriverArteryClient iBasicdataDriverArteryClient; |
|
|
|
|
private IBasicdataDriverArteryClient iBasicdataDriverArteryClient; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionReservationPackageService reservationPackageService; |
|
|
|
|
private IDistributionReservationPackageService reservationPackageService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionAsyncService distributionAsyncService; |
|
|
|
|
private IDistributionAsyncService distributionAsyncService; |
|
|
|
|
@Autowired |
|
|
|
|
private IBasicdataWarehouseClient basicdataWarehouseClient; |
|
|
|
|
private IBasicdataWarehouseClient basicdataWarehouseClient; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionReservationMapper distributionReservationMapper; |
|
|
|
|
private DistributionReservationMapper distributionReservationMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private IDisStockListDetailService disStockListDetailService; |
|
|
|
|
private IDisStockListDetailService disStockListDetailService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionStockListService distributionStockListService; |
|
|
|
|
private IDistributionStockListService distributionStockListService; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionStockListMapper distributionStockListMapper; |
|
|
|
|
private DistributionStockListMapper distributionStockListMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionAddvalueMapper distributionAddvalueMapper; |
|
|
|
|
private DistributionAddvalueMapper distributionAddvalueMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionAddvalueService distributionAddvalueService; |
|
|
|
|
private IDistributionAddvalueService distributionAddvalueService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionAddvaluePackageService distributionAddvaluePackageService; |
|
|
|
|
private IDistributionAddvaluePackageService distributionAddvaluePackageService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionLoadscanAbnormalService distributionLoadscanAbnormalService; |
|
|
|
|
private IDistributionLoadscanAbnormalService distributionLoadscanAbnormalService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionReservationStockarticleService distributionReservationStockarticleService; |
|
|
|
|
private IDistributionReservationStockarticleService distributionReservationStockarticleService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionReservationPackageService distributionReservationPackageService; |
|
|
|
|
private IDistributionReservationPackageService distributionReservationPackageService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionReservationZeroPackageService distributionReservationZeroPackageService; |
|
|
|
|
private IDistributionReservationZeroPackageService distributionReservationZeroPackageService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionSignPrintService iDistributionSignPrintService; |
|
|
|
|
private IDistributionSignPrintService iDistributionSignPrintService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDistributionParcelNumberService distributionParcelNumberService; |
|
|
|
|
private IDistributionParcelNumberService distributionParcelNumberService; |
|
|
|
|
@Autowired |
|
|
|
|
private IWarehouseUpdownTypeClient warehouseUpdownTypeClient; |
|
|
|
|
private IWarehouseUpdownTypeClient warehouseUpdownTypeClient; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionStockArticleMapper distributionStockArticleMapper; |
|
|
|
|
private DistributionStockArticleMapper distributionStockArticleMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private IBasicdataClientClient basicdataClientClient; |
|
|
|
|
private IBasicdataClientClient basicdataClientClient; |
|
|
|
|
@Autowired |
|
|
|
|
private DistributionParcelListMapper distributionParcelListMapper; |
|
|
|
|
private DistributionParcelListMapper distributionParcelListMapper; |
|
|
|
|
@Autowired |
|
|
|
|
@Lazy |
|
|
|
|
private IDistributionDeliveryListService distributionDeliveryListService; |
|
|
|
|
@Autowired |
|
|
|
|
@Lazy |
|
|
|
|
private IDistributionReservationService distributionReservationService; |
|
|
|
|
@Autowired |
|
|
|
|
private RabbitTemplate rabbitTemplate; |
|
|
|
|
@Autowired |
|
|
|
|
private RabbitTemplate rabbitTemplate; |
|
|
|
|
|
|
|
|
|
// private IBasicdataWarehouseClient warehouseUpdownTypeClient;
|
|
|
|
|
@Autowired |
|
|
|
|
private IOuPaiFactoryClinet ouPaiFactoryClinet; |
|
|
|
|
|
|
|
|
|
// private IBasicdataWarehouseClient warehouseUpdownTypeClient;
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionSignforVO> selectDistributionSignforPage(IPage<DistributionSignforVO> page, DistributionSignforVO distributionSignfor) { |
|
|
|
@ -207,8 +217,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
int weiqianshoujianshu = 0; |
|
|
|
|
int zhuangchejianshu = 0; |
|
|
|
|
int qianshoujianshu = 0; |
|
|
|
|
if (Func.isNotEmpty(distributionParcelListEntities)){ |
|
|
|
|
weizhuangchejianshu += distributionParcelListEntities.stream().filter(f -> f.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); |
|
|
|
|
if (Func.isNotEmpty(distributionParcelListEntities)) { |
|
|
|
|
weizhuangchejianshu += distributionParcelListEntities.stream().filter(f -> f.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); |
|
|
|
|
zhuangchejianshu += distributionParcelListEntities.stream().filter(f -> f.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); |
|
|
|
|
weiqianshoujianshu += distributionParcelListEntities.stream().filter(f -> !f.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); |
|
|
|
|
qianshoujianshu += distributionParcelListEntities.stream().filter(f -> f.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())).mapToInt(DistributionParcelListEntity::getQuantity).sum(); |
|
|
|
@ -221,9 +231,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
|
|
|
|
|
DistributionLoadingNumDTO reservationSigningNum = distributionReservationMapper.selectReservationSigningNum(d.getReservationId()); |
|
|
|
|
|
|
|
|
|
if (d.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())){ |
|
|
|
|
if (d.getDeliveryType().equals(DistributionTypeConstant.shipie.getValue())) { |
|
|
|
|
List<DisStockListDetailEntity> disStockListDetailEntities = distributionReservationMapper.selectInventoryListByReservation(d.getReservationId()); |
|
|
|
|
if (Func.isNotEmpty(disStockListDetailEntities)){ |
|
|
|
|
if (Func.isNotEmpty(disStockListDetailEntities)) { |
|
|
|
|
//查询库存品未装车数
|
|
|
|
|
int inventoryuweizhuancghe = disStockListDetailEntities.stream().filter(f -> f.getStockLockingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())).mapToInt(DisStockListDetailEntity::getNum).sum(); |
|
|
|
|
weizhuangchejianshu += inventoryuweizhuancghe; |
|
|
|
@ -380,18 +390,18 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
.eq(DistributionLoadscanEntity::getIsAbnormalLoading, 2) |
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) |
|
|
|
|
); |
|
|
|
|
if (Func.isNotEmpty(loadscanEntities)){ |
|
|
|
|
if (Func.isNotEmpty(loadscanEntities)) { |
|
|
|
|
Map<Long, DistributionLoadscanEntity> packageLoadingMap = loadscanEntities.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2)); |
|
|
|
|
List<Long> packageIds = loadscanEntities.stream().distinct().map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); |
|
|
|
|
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListService.listByIds(packageIds); |
|
|
|
|
List<DistributionParcelListVO> distributionParcelListVOS = DistributionParcelListWrapper.build().listVO(distributionParcelListEntities); |
|
|
|
|
distributionParcelListVOS.forEach(p->{ |
|
|
|
|
distributionParcelListVOS.forEach(p -> { |
|
|
|
|
DistributionNumberDetailDTO detailDTO = Func.copy(p, DistributionNumberDetailDTO.class); |
|
|
|
|
if (Func.isNotEmpty(packageLoadingMap.get(p.getId()))){ |
|
|
|
|
if (Func.isNotEmpty(packageLoadingMap.get(p.getId()))) { |
|
|
|
|
DistributionLoadscanEntity distributionLoadscanEntity = packageLoadingMap.get(p.getId()); |
|
|
|
|
detailDTO.setLoadingTime(distributionLoadscanEntity.getScanTime()); |
|
|
|
|
detailDTO.setLoadingStatusName(OrderPackageLoadingStatusConstant.weizhuancghe.getName()); |
|
|
|
|
if (distributionLoadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())){ |
|
|
|
|
if (distributionLoadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) { |
|
|
|
|
//签收
|
|
|
|
|
detailDTO.setSigningTime(distributionLoadscanEntity.getSigningTime()); |
|
|
|
|
detailDTO.setSigningStatusName(OrderPackageStatusConstant.yiqianshou.getName()); |
|
|
|
@ -403,15 +413,15 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
.eq(DistributionStockEntity::getStockArticle, p.getStockArticleId()) |
|
|
|
|
.eq(DistributionStockEntity::getParcelListId, p.getId()) |
|
|
|
|
); |
|
|
|
|
if (Func.isNotEmpty(distributionStockEntity)){ |
|
|
|
|
if (Func.isNotEmpty(distributionStockEntity)) { |
|
|
|
|
detailDTO.setStockupTime(distributionStockEntity.getCreateTime()); |
|
|
|
|
} |
|
|
|
|
detailDTO.setStockupStatusName(p.getOrderPackageStockupStatusName()); |
|
|
|
|
if (detailDTO.getConditions().equals(1)){ |
|
|
|
|
if (detailDTO.getConditions().equals(1)) { |
|
|
|
|
detailDTO.setConditionsName("订制品"); |
|
|
|
|
}else if (detailDTO.getConditions().equals(2)){ |
|
|
|
|
} else if (detailDTO.getConditions().equals(2)) { |
|
|
|
|
detailDTO.setConditionsName("库存品"); |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
detailDTO.setConditionsName("零担"); |
|
|
|
|
} |
|
|
|
|
detailDTOS.add(detailDTO); |
|
|
|
@ -997,7 +1007,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
updatePackage.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); |
|
|
|
|
distributionParcelListService.updateById(updatePackage); |
|
|
|
|
//维护签收包件状态
|
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(collect.get(0).getOrderCode(),myCurrentWarehouse.getId()); |
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(collect.get(0).getOrderCode(), myCurrentWarehouse.getId()); |
|
|
|
|
//推送信息至工厂
|
|
|
|
|
distributionAsyncService.sendFactory(collect.get(0), signingTime, distributionReservationEntity.getId(), distributionReservationEntity.getReservationCode(), myCurrentWarehouse.getName()); |
|
|
|
|
//TODO 这里就需要一个异步的包件状态维护方法
|
|
|
|
@ -1041,6 +1051,33 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
distributionReservationService.maintenanceReservationInfo(distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
//维护配送任务
|
|
|
|
|
distributionDeliveryListService.maintenanceDeliveryInfo(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
//TODO 在调用出库接口 通知欧派
|
|
|
|
|
|
|
|
|
|
DistributionSignforEntity distributionSignforEntity = distributionSignforMapper.getByReservationId(distrilbutionloadingscanDTO.getReservationId()); |
|
|
|
|
|
|
|
|
|
// Long reservationId = distributionSignfor.getReservationId();
|
|
|
|
|
// DistributionSignforEntity distributionSignforEntity1 = distributionSignforMapper.getByReservationId(reservationId);
|
|
|
|
|
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
OrderStatusDTO orderStatusDTO = new OrderStatusDTO(); |
|
|
|
|
orderStatusDTO.setStatus("7");//状态
|
|
|
|
|
orderStatusDTO.setOperationTime(simpleDateFormat.format(new Date()));//操作时间
|
|
|
|
|
//orderStatusDTO.setUsername(distributionSignforEntity.getSigneeName()); //签收人(名称)
|
|
|
|
|
orderStatusDTO.setUsername(user.getUserName()); //签收人(名称)
|
|
|
|
|
orderStatusDTO.setUnitNo(distrilbutionloadingscanDTO.getBarcode()); //包条码
|
|
|
|
|
orderStatusDTO.setCurrentWarehouse(String.valueOf(myCurrentWarehouse.getWarehouseCode())); //当前仓库ID
|
|
|
|
|
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity(); |
|
|
|
|
Long stockArticleId = parcelListEntity.getStockArticleId(); |
|
|
|
|
distributionStockArticle.setId(stockArticleId); // 需要一个stock_article_id` bigint(20) DEFAULT NULL COMMENT '在库订单ID',
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleService.getOne(Condition.getQueryWrapper(distributionStockArticle)); |
|
|
|
|
String brand = distributionStockArticleEntity.getBrand(); |
|
|
|
|
|
|
|
|
|
Map<String, Object> mapState = new HashMap<>(); |
|
|
|
|
mapState.put("orderStatusDTO", orderStatusDTO); |
|
|
|
|
mapState.put("brand", brand); |
|
|
|
|
rabbitTemplate.convertAndSend(RabbitConstant.NEW_SYSTEM_RECEIVE_INFO_QUEUE, mapState); |
|
|
|
|
|
|
|
|
|
return Resp.scanSuccess("签收成功", str); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1385,10 +1422,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
distributionLoadscanEntity.setScanUser(AuthUtil.getUser().getUserName()); |
|
|
|
|
distributionLoadscanEntity.setSigningUser(AuthUtil.getUser().getUserName()); |
|
|
|
|
distributionLoadscanEntity.setSigningUserId(AuthUtil.getUser().getUserId()); |
|
|
|
|
if (Func.isEmpty(loadscanEntity)){ |
|
|
|
|
if (Func.isEmpty(loadscanEntity)) { |
|
|
|
|
distributionLoadscanService.save(distributionLoadscanEntity); |
|
|
|
|
Integer j = distributionSignforMapper.updateSignforNum(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); |
|
|
|
|
}else { |
|
|
|
|
} else { |
|
|
|
|
distributionLoadscanService.updateById(distributionLoadscanEntity); |
|
|
|
|
Integer j = distributionSignforMapper.updateSignforNum(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); |
|
|
|
|
} |
|
|
|
@ -1405,7 +1442,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue()); |
|
|
|
|
distributionParcelListService.updateById(parcelListEntity); |
|
|
|
|
//维护订单信息
|
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(parcelListEntity.getOrderCode(),parcelListEntity.getWarehouseId()); |
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(parcelListEntity.getOrderCode(), parcelListEntity.getWarehouseId()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
//查询一次是否进行了异常装车,如果没有进行异常装车数据进行审核
|
|
|
|
@ -1414,7 +1451,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
.eq(DistributionLoadscanAbnormalEntity::getDeliveryListId, distrilbutionloadingscanDTO.getDeliveryId()) |
|
|
|
|
.eq(DistributionLoadscanAbnormalEntity::getPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
); |
|
|
|
|
if (Func.isEmpty(list)){ |
|
|
|
|
if (Func.isEmpty(list)) { |
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
DistributionLoadscanAbnormalEntity distributionLoadscanAbnormalEntity = new DistributionLoadscanAbnormalEntity(); |
|
|
|
|
distributionLoadscanAbnormalEntity.setAuditingStatus(LoadingAbnormalAuditingStatusConstant.daishenhe.getValue()); |
|
|
|
@ -1438,9 +1475,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
signforEntity.setIsHaveAbnormalPackage(2); |
|
|
|
|
this.updateById(signforEntity); |
|
|
|
|
//修改包件的签收数量
|
|
|
|
|
distributionParcelListMapper.updateOrderPackageCodeById(parcelListEntity.getId(),OrderPackageStatusConstant.yiqianshou.getValue()); |
|
|
|
|
distributionParcelListMapper.updateOrderPackageCodeById(parcelListEntity.getId(), OrderPackageStatusConstant.yiqianshou.getValue()); |
|
|
|
|
//还需要维护包件状态
|
|
|
|
|
distributionAsyncService.maintenanceOrderStatus(parcelListEntity.getOrderCode(),parcelListEntity.getWarehouseId()); |
|
|
|
|
distributionAsyncService.maintenanceOrderStatus(parcelListEntity.getOrderCode(), parcelListEntity.getWarehouseId()); |
|
|
|
|
} else { |
|
|
|
|
log.error("############出现相同的包件码:{}", distrilbutionloadingscanDTO.getBarcode()); |
|
|
|
|
return Resp.scanFail("操作失败", "包件信息有误"); |
|
|
|
@ -1596,7 +1633,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<DistributionAppSignforVO> getAppDeliveryreservationListPage( DistributionAppDeliveryListDTO distributionDeliveryList) { |
|
|
|
|
public List<DistributionAppSignforVO> getAppDeliveryreservationListPage(DistributionAppDeliveryListDTO distributionDeliveryList) { |
|
|
|
|
|
|
|
|
|
//查询客户
|
|
|
|
|
List<DistributionAppSignforVO> customList = baseMapper.selectAppcustomListPage(distributionDeliveryList.getId()); |
|
|
|
@ -1909,7 +1946,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
int reservationTotal = reservationZeroPackageEntityList.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum(); |
|
|
|
|
distributionAppStockArticleVO.setReservationNum(reservationTotal); |
|
|
|
|
List<DistributionParcelNumberVO> parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(orderId, Long.parseLong(distributionDeliveryList.getReservationId())); |
|
|
|
|
parcelNumberVOS.forEach(p -> { |
|
|
|
|
parcelNumberVOS.forEach(p -> { |
|
|
|
|
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, orderId).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
p.setLoadingNum(0); |
|
|
|
|
p.setSigningNum(0); |
|
|
|
@ -1923,13 +1960,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
orderVos.add(distributionAppStockArticleVO); |
|
|
|
|
orderVos.add(distributionAppStockArticleVO); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return orderVos; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Map<Long, List<DistributionLoadscanEntity>> orderMap = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getOrderId));
|
|
|
|
@ -2305,7 +2342,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
} |
|
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (Func.equals(distributionSignforEntity.getDriverSigning(), SignforDriverSigningStatusConstant.yiqianshou.getValue())) { |
|
|
|
|
log.error("###############重复签收+{" + distributionSignforEntity + "}"); |
|
|
|
|
return R.fail("签收失败"); |
|
|
|
@ -2413,6 +2449,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
return R.fail("库存品未进行备货操作"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询出该签收任务下的客户对应的所有包件和库存品信息
|
|
|
|
|
List<DistributionParcelListEntity> parcelListEntityList = distributionReservationMapper.selectPackageListByReservationId(distributionSignforEntity.getReservationId()); |
|
|
|
|
//包件不需要考虑备货、装车直接可进行签收 过滤已装车的包件
|
|
|
|
@ -2656,9 +2694,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
//批量维护订单信息
|
|
|
|
|
if (Func.isNotEmpty(orderCodes)){ |
|
|
|
|
if (Func.isNotEmpty(orderCodes)) { |
|
|
|
|
String orderCode = orderCodes.stream().distinct().collect(Collectors.joining(",")); |
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(orderCode,myCurrentWarehouse.getId()); |
|
|
|
|
distributionStockArticleService.maintenanceOrderInfo(orderCode, myCurrentWarehouse.getId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2668,6 +2706,28 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
distributionAsyncService.sendReviewFactory(distributionSignforEntity.getId(),myCurrentWarehouse.getName() ,myCurrentWarehouse.getId()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//TODO 调用出库接口
|
|
|
|
|
for (DistributionParcelListEntity distributionParcelListEntity : parcelListEntityList) { |
|
|
|
|
//根据ID获取品牌
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity(); |
|
|
|
|
distributionStockArticle.setId(distributionParcelListEntity.getStockArticleId()); |
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleService.getOne(Condition.getQueryWrapper(distributionStockArticle)); |
|
|
|
|
String brand = distributionStockArticleEntity.getBrand(); //获取品牌
|
|
|
|
|
|
|
|
|
|
OrderStatusDTO orderStatusDTO = new OrderStatusDTO(); |
|
|
|
|
orderStatusDTO.setStatus("7");//状态
|
|
|
|
|
orderStatusDTO.setOperationTime(simpleDateFormat.format(new Date()));//操作时间
|
|
|
|
|
orderStatusDTO.setUsername(user.getUserName()); //签收人(名称)
|
|
|
|
|
orderStatusDTO.setUnitNo(distributionParcelListEntity.getOrderPackageCode()); //包条码
|
|
|
|
|
orderStatusDTO.setCurrentWarehouse(String.valueOf(distributionParcelListEntity.getWarehouseId())); //当前仓库ID
|
|
|
|
|
Map<String, Object> mapState = new HashMap<>(); |
|
|
|
|
mapState.put("orderStatusDTO", orderStatusDTO); |
|
|
|
|
mapState.put("brand", brand); |
|
|
|
|
//rabbitTemplate.convertAndSend(RabbitConstant.NEW_SYSTEM_RECEIVE_INFO_QUEUE, mapState);
|
|
|
|
|
rabbitTemplate.convertAndSend(RabbitConstant.NEW_SYSTEM_RECEIVE_INFO_EXCHANGE, RabbitConstant.NEW_SYSTEM_RECEIVE_INFO_ROUTING, mapState); |
|
|
|
|
System.out.println("发送消息成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//维护客户信息状态
|
|
|
|
|
reservationEntity.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue()); |
|
|
|
@ -2702,7 +2762,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R offline(String offlineJson) { |
|
|
|
|
return null; |
|
|
|
@ -3066,7 +3125,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
.eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanAbnormalEntity.getPackageCode()) |
|
|
|
|
); |
|
|
|
|
loadscanEntity.setIsAbnormalLoading(1); |
|
|
|
|
if (loadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())){ |
|
|
|
|
if (loadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) { |
|
|
|
|
//已经进行签收了 这里就需要将异常签收的状态变更为正常
|
|
|
|
|
loadscanEntity.setIsAbnormalSigning(1); |
|
|
|
|
} |
|
|
|
|