|
|
|
@ -9,9 +9,9 @@ import com.logpm.aftersales.dto.AbnormalRecordDTO;
|
|
|
|
|
import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; |
|
|
|
|
import com.logpm.aftersales.entity.AftersalesAbnormalRecordZeroDetailEntity; |
|
|
|
|
import com.logpm.aftersales.mapper.AftersalesAbnormalRecordMapper; |
|
|
|
|
import com.logpm.aftersales.service.IAftersalesAyscService; |
|
|
|
|
import com.logpm.aftersales.service.IAftersalesAbnormalRecordService; |
|
|
|
|
import com.logpm.aftersales.service.IAftersalesAbnormalRecordZeroDetailService; |
|
|
|
|
import com.logpm.aftersales.service.IAftersalesAyscService; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; |
|
|
|
|
import com.logpm.distribution.entity.DistributionParcelListEntity; |
|
|
|
@ -31,6 +31,7 @@ import com.logpm.warehouse.feign.IWarehouseWaybillClient;
|
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.common.enums.PackageTypeEnums; |
|
|
|
|
import org.springblade.common.exception.CustomerException; |
|
|
|
|
import org.springblade.common.model.PackageData; |
|
|
|
|
import org.springblade.common.utils.CommonUtil; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
@ -38,6 +39,7 @@ import org.springblade.core.secure.utils.AuthUtil;
|
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.function.Function; |
|
|
|
@ -101,6 +103,7 @@ public class AftersalesAbnormalRecordServiceImpl extends BaseServiceImpl<Aftersa
|
|
|
|
|
return R.data(pageList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public R dealAbnormal(AbnormalRecordDTO abnormalRecordDTO) { |
|
|
|
|
|
|
|
|
@ -109,348 +112,351 @@ public class AftersalesAbnormalRecordServiceImpl extends BaseServiceImpl<Aftersa
|
|
|
|
|
if(!Objects.isNull(myCurrentWarehouse)){ |
|
|
|
|
abnormalRecordDTO.setWarehouseId(myCurrentWarehouse.getId()); |
|
|
|
|
} |
|
|
|
|
Long abnormalRecordId = abnormalRecordDTO.getAbnormalRecordId(); |
|
|
|
|
AftersalesAbnormalRecordEntity abnormalRecordEntity = baseMapper.selectById(abnormalRecordId); |
|
|
|
|
if(!Objects.isNull(abnormalRecordEntity)){ |
|
|
|
|
Integer abnormalStatus = abnormalRecordEntity.getAbnormalStatus(); |
|
|
|
|
if(abnormalStatus.equals(1)){ |
|
|
|
|
log.warn("################dealAbnormal: 异常已完结"); |
|
|
|
|
return R.fail(405,"异常已完结"); |
|
|
|
|
} |
|
|
|
|
String abnormalType = abnormalRecordEntity.getAbnormalType(); |
|
|
|
|
String upWarehouseName = abnormalRecordEntity.getWarehouseName(); |
|
|
|
|
if("1".equals(abnormalType)){ |
|
|
|
|
Integer dealType = abnormalRecordDTO.getDealType(); |
|
|
|
|
Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); |
|
|
|
|
String orderPackageCode = abnormalRecordEntity.getOrderPackageCode(); |
|
|
|
|
if(dealType.equals(1)){ |
|
|
|
|
//无效包条码
|
|
|
|
|
abnormalRecordEntity.setRemark("已确认为无效包条码("+upWarehouseName+" "+AuthUtil.getNickName()+")"); |
|
|
|
|
|
|
|
|
|
//删除装车异常数据
|
|
|
|
|
trunklineCarsLoadScanClient.removeLoadScanById(carsLoadScanId); |
|
|
|
|
|
|
|
|
|
}else if(dealType.equals(2)){ |
|
|
|
|
//暂存单入库
|
|
|
|
|
R r = trunklineCarsLoadScanClient.incomingPackage(carsLoadScanId); |
|
|
|
|
int code = r.getCode(); |
|
|
|
|
if(code != 200){ |
|
|
|
|
return r; |
|
|
|
|
} |
|
|
|
|
// Long abnormalRecordId = abnormalRecordDTO.getAbnormalRecordId();
|
|
|
|
|
List<Long> abnormalRecordIds = abnormalRecordDTO.getAbnormalRecordIds(); |
|
|
|
|
List<AftersalesAbnormalRecordEntity> abnormalRecordEntityList = baseMapper.selectBatchIds(abnormalRecordIds); |
|
|
|
|
if(CollUtil.isNotEmpty(abnormalRecordIds)){ |
|
|
|
|
abnormalRecordEntityList.forEach(abnormalRecordEntity -> { |
|
|
|
|
Long abnormalRecordId = abnormalRecordEntity.getId(); |
|
|
|
|
Integer abnormalStatus = abnormalRecordEntity.getAbnormalStatus(); |
|
|
|
|
if(abnormalStatus.equals(1)){ |
|
|
|
|
log.warn("################dealAbnormal: 异常已完结"); |
|
|
|
|
throw new CustomerException(405,"异常已完结"); |
|
|
|
|
} |
|
|
|
|
String abnormalType = abnormalRecordEntity.getAbnormalType(); |
|
|
|
|
String upWarehouseName = abnormalRecordEntity.getWarehouseName(); |
|
|
|
|
if("1".equals(abnormalType)){ |
|
|
|
|
Integer dealType = abnormalRecordDTO.getDealType(); |
|
|
|
|
Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); |
|
|
|
|
String orderPackageCode = abnormalRecordEntity.getOrderPackageCode(); |
|
|
|
|
if(dealType.equals(1)){ |
|
|
|
|
//无效包条码
|
|
|
|
|
abnormalRecordEntity.setRemark("已确认为无效包条码("+upWarehouseName+" "+ AuthUtil.getNickName()+")"); |
|
|
|
|
|
|
|
|
|
//删除装车异常数据
|
|
|
|
|
trunklineCarsLoadScanClient.removeLoadScanById(carsLoadScanId); |
|
|
|
|
|
|
|
|
|
}else if(dealType.equals(2)){ |
|
|
|
|
//暂存单入库
|
|
|
|
|
R r = trunklineCarsLoadScanClient.incomingPackage(carsLoadScanId); |
|
|
|
|
int code = r.getCode(); |
|
|
|
|
if(code != 200){ |
|
|
|
|
throw new CustomerException(405,"入库失败"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//发送异常列表包件入库
|
|
|
|
|
List<String> orderPackageCodeList = new ArrayList<>(); |
|
|
|
|
orderPackageCodeList.add(orderPackageCode); |
|
|
|
|
aftersakesAyscService.sendReportPackageUnloadData(AuthUtil.getNickName(),AuthUtil.getUserId(),myCurrentWarehouse.getId(),myCurrentWarehouse.getName(),abnormalRecordEntity,orderPackageCodeList); |
|
|
|
|
//发送异常列表包件入库
|
|
|
|
|
List<String> orderPackageCodeList = new ArrayList<>(); |
|
|
|
|
orderPackageCodeList.add(orderPackageCode); |
|
|
|
|
aftersakesAyscService.sendReportPackageUnloadData(AuthUtil.getNickName(),AuthUtil.getUserId(),myCurrentWarehouse.getId(),myCurrentWarehouse.getName(),abnormalRecordEntity,orderPackageCodeList); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}else if("4".equals(abnormalType)){ |
|
|
|
|
Integer dealType = abnormalRecordDTO.getDealType(); |
|
|
|
|
Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); |
|
|
|
|
String orderPackageCode = abnormalRecordEntity.getOrderPackageCode(); |
|
|
|
|
if(dealType.equals(3)){ |
|
|
|
|
//本车次少货
|
|
|
|
|
abnormalRecordEntity.setRemark("本车次少货("+upWarehouseName+" "+AuthUtil.getNickName()+")"); |
|
|
|
|
|
|
|
|
|
}else if(dealType.equals(4)){ |
|
|
|
|
Long warehouseId = abnormalRecordDTO.getWarehouseId(); |
|
|
|
|
R r = trunklineCarsLoadScanClient.adnormalHasStock(carsLoadScanId,warehouseId); |
|
|
|
|
int code = r.getCode(); |
|
|
|
|
if(code != 200){ |
|
|
|
|
return r; |
|
|
|
|
} |
|
|
|
|
}else if("4".equals(abnormalType)){ |
|
|
|
|
Integer dealType = abnormalRecordDTO.getDealType(); |
|
|
|
|
Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); |
|
|
|
|
String orderPackageCode = abnormalRecordEntity.getOrderPackageCode(); |
|
|
|
|
if(dealType.equals(3)){ |
|
|
|
|
//本车次少货
|
|
|
|
|
abnormalRecordEntity.setRemark("本车次少货("+upWarehouseName+" "+AuthUtil.getNickName()+")"); |
|
|
|
|
|
|
|
|
|
}else if(dealType.equals(4)){ |
|
|
|
|
Long warehouseId = abnormalRecordDTO.getWarehouseId(); |
|
|
|
|
R r = trunklineCarsLoadScanClient.adnormalHasStock(carsLoadScanId,warehouseId); |
|
|
|
|
int code = r.getCode(); |
|
|
|
|
if(code != 200){ |
|
|
|
|
throw new CustomerException(405,"入库失败"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//已入库
|
|
|
|
|
abnormalRecordEntity.setRemark("已入库("+upWarehouseName+" "+AuthUtil.getNickName()+")"); |
|
|
|
|
//已入库
|
|
|
|
|
abnormalRecordEntity.setRemark("已入库("+upWarehouseName+" "+AuthUtil.getNickName()+")"); |
|
|
|
|
|
|
|
|
|
//发送异常列表包件入库
|
|
|
|
|
List<String> orderPackageCodeList = new ArrayList<>(); |
|
|
|
|
orderPackageCodeList.add(orderPackageCode); |
|
|
|
|
aftersakesAyscService.sendReportPackageUnloadData(AuthUtil.getNickName(),AuthUtil.getUserId(),myCurrentWarehouse.getId(),myCurrentWarehouse.getName(),abnormalRecordEntity,orderPackageCodeList); |
|
|
|
|
//发送异常列表包件入库
|
|
|
|
|
List<String> orderPackageCodeList = new ArrayList<>(); |
|
|
|
|
orderPackageCodeList.add(orderPackageCode); |
|
|
|
|
aftersakesAyscService.sendReportPackageUnloadData(AuthUtil.getNickName(),AuthUtil.getUserId(),myCurrentWarehouse.getId(),myCurrentWarehouse.getName(),abnormalRecordEntity,orderPackageCodeList); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}else if("5".equals(abnormalType)){ |
|
|
|
|
//零担卸车数量异常
|
|
|
|
|
Long waybillId = null; |
|
|
|
|
Integer dealType = abnormalRecordDTO.getDealType(); |
|
|
|
|
List<ZeroPackageDTO> zeroPackageDTOS = abnormalRecordDTO.getZeroPackageDTOS(); |
|
|
|
|
|
|
|
|
|
Integer num = abnormalRecordEntity.getNum(); |
|
|
|
|
Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); |
|
|
|
|
TrunklineCarsLoadScanEntity carsLoadScanEntity = trunklineCarsLoadScanClient.findEntityById(carsLoadScanId); |
|
|
|
|
Long fromWarehouseId = carsLoadScanEntity.getFromWarehouseId(); |
|
|
|
|
String orderCode = carsLoadScanEntity.getOrderCode(); |
|
|
|
|
List<AftersalesAbnormalRecordZeroDetailEntity> recordZeroDetailEntities = recordZeroDetailService.findListByAbnormalRecordId(abnormalRecordId); |
|
|
|
|
//把zeroPackageDTOS转化成以goodsId作为key的Map
|
|
|
|
|
Map<Long, AftersalesAbnormalRecordZeroDetailEntity> recordZeroDetailEntitiesMapByGoodsId = recordZeroDetailEntities.stream().collect(Collectors.toMap(AftersalesAbnormalRecordZeroDetailEntity::getGoodsId, Function.identity())); |
|
|
|
|
List<TrunklineScanZeroDetailEntity> scanZeroDetailEntityList = scanZeroDetailClient.findListByCarsLoadScanId(carsLoadScanId); |
|
|
|
|
|
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = stockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode, fromWarehouseId); |
|
|
|
|
if(!Objects.isNull(stockArticleEntity)){ |
|
|
|
|
Long stockId = stockArticleEntity.getId(); |
|
|
|
|
if(dealType.equals(5)){ |
|
|
|
|
//回退原仓库
|
|
|
|
|
recordZeroDetailEntities.forEach(detailEntity -> { |
|
|
|
|
parcelListClient.addZeroQuantity(detailEntity.getPackageId(),detailEntity.getAbnormalNum()); |
|
|
|
|
detailEntity.setReturnNum(detailEntity.getAbnormalNum()); |
|
|
|
|
}); |
|
|
|
|
stockArticleClient.addHandQuantity(stockId,num); |
|
|
|
|
recordZeroDetailService.updateBatchById(recordZeroDetailEntities); |
|
|
|
|
abnormalRecordEntity.setRemark("差异件数退回原仓"); |
|
|
|
|
}else if(dealType.equals(6)){ |
|
|
|
|
List<PackageData> packageDataList = new ArrayList<>(); |
|
|
|
|
if(CollUtil.isEmpty(zeroPackageDTOS)){ |
|
|
|
|
log.warn("################dealAbnormal: 品类信息不存在"); |
|
|
|
|
return R.fail(405,"品类信息不存在"); |
|
|
|
|
} |
|
|
|
|
//入库本仓
|
|
|
|
|
Integer enterNum = abnormalRecordDTO.getNum(); |
|
|
|
|
//把scanZeroDetailEntityList转化成以packageId为key的map
|
|
|
|
|
Map<Long, TrunklineScanZeroDetailEntity> scanZeroDetailEntityMap = scanZeroDetailEntityList.stream().collect(Collectors.toMap(TrunklineScanZeroDetailEntity::getPackageId, Function.identity())); |
|
|
|
|
|
|
|
|
|
if(enterNum > 0){ |
|
|
|
|
Date now = new Date(); |
|
|
|
|
int diff = num - enterNum; |
|
|
|
|
Long warehouseId = abnormalRecordEntity.getWarehouseId(); |
|
|
|
|
BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId); |
|
|
|
|
//把zeroPackageDTOS转化成以packageId作为key的Map
|
|
|
|
|
Map<Long, ZeroPackageDTO> zeroPackageDTOSMapByPackageId = zeroPackageDTOS.stream().collect(Collectors.toMap(ZeroPackageDTO::getPackageId, Function.identity())); |
|
|
|
|
if(diff == 0){ |
|
|
|
|
abnormalRecordEntity.setRemark("差异"+enterNum+"件数入库本仓"); |
|
|
|
|
}else{ |
|
|
|
|
//回退原仓库
|
|
|
|
|
recordZeroDetailEntities.forEach(detailEntity -> { |
|
|
|
|
Long packageId = detailEntity.getPackageId(); |
|
|
|
|
Integer abnormalNum = detailEntity.getAbnormalNum(); |
|
|
|
|
ZeroPackageDTO zeroPackageDTO = zeroPackageDTOSMapByPackageId.get(packageId); |
|
|
|
|
Integer enterPackageNum = zeroPackageDTO.getEnterNum(); |
|
|
|
|
parcelListClient.addZeroQuantity(packageId,abnormalNum - enterPackageNum); |
|
|
|
|
detailEntity.setReturnNum(abnormalNum - enterPackageNum); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
stockArticleClient.addHandQuantity(stockId,diff); |
|
|
|
|
recordZeroDetailService.updateBatchById(recordZeroDetailEntities); |
|
|
|
|
abnormalRecordEntity.setRemark("差异"+enterNum+"件数入库本仓,原仓返回"+diff+"件"); |
|
|
|
|
}else if("5".equals(abnormalType)){ |
|
|
|
|
//零担卸车数量异常
|
|
|
|
|
Long waybillId = null; |
|
|
|
|
Integer dealType = abnormalRecordDTO.getDealType(); |
|
|
|
|
List<ZeroPackageDTO> zeroPackageDTOS = abnormalRecordDTO.getZeroPackageDTOS(); |
|
|
|
|
|
|
|
|
|
Integer num = abnormalRecordEntity.getNum(); |
|
|
|
|
Long carsLoadScanId = abnormalRecordEntity.getAssociationId(); |
|
|
|
|
TrunklineCarsLoadScanEntity carsLoadScanEntity = trunklineCarsLoadScanClient.findEntityById(carsLoadScanId); |
|
|
|
|
Long fromWarehouseId = carsLoadScanEntity.getFromWarehouseId(); |
|
|
|
|
String orderCode = carsLoadScanEntity.getOrderCode(); |
|
|
|
|
List<AftersalesAbnormalRecordZeroDetailEntity> recordZeroDetailEntities = recordZeroDetailService.findListByAbnormalRecordId(abnormalRecordId); |
|
|
|
|
//把zeroPackageDTOS转化成以goodsId作为key的Map
|
|
|
|
|
Map<Long, AftersalesAbnormalRecordZeroDetailEntity> recordZeroDetailEntitiesMapByGoodsId = recordZeroDetailEntities.stream().collect(Collectors.toMap(AftersalesAbnormalRecordZeroDetailEntity::getGoodsId, Function.identity())); |
|
|
|
|
List<TrunklineScanZeroDetailEntity> scanZeroDetailEntityList = scanZeroDetailClient.findListByCarsLoadScanId(carsLoadScanId); |
|
|
|
|
|
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = stockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode, fromWarehouseId); |
|
|
|
|
if(!Objects.isNull(stockArticleEntity)){ |
|
|
|
|
Long stockId = stockArticleEntity.getId(); |
|
|
|
|
if(dealType.equals(5)){ |
|
|
|
|
//回退原仓库
|
|
|
|
|
recordZeroDetailEntities.forEach(detailEntity -> { |
|
|
|
|
parcelListClient.addZeroQuantity(detailEntity.getPackageId(),detailEntity.getAbnormalNum()); |
|
|
|
|
detailEntity.setReturnNum(detailEntity.getAbnormalNum()); |
|
|
|
|
}); |
|
|
|
|
stockArticleClient.addHandQuantity(stockId,num); |
|
|
|
|
recordZeroDetailService.updateBatchById(recordZeroDetailEntities); |
|
|
|
|
abnormalRecordEntity.setRemark("差异件数退回原仓"); |
|
|
|
|
}else if(dealType.equals(6)){ |
|
|
|
|
List<PackageData> packageDataList = new ArrayList<>(); |
|
|
|
|
if(CollUtil.isEmpty(zeroPackageDTOS)){ |
|
|
|
|
log.warn("################dealAbnormal: 品类信息不存在"); |
|
|
|
|
throw new CustomerException(405,"品类信息不存在"); |
|
|
|
|
} |
|
|
|
|
//入库本仓
|
|
|
|
|
Integer enterNum = abnormalRecordDTO.getNum(); |
|
|
|
|
//把scanZeroDetailEntityList转化成以packageId为key的map
|
|
|
|
|
Map<Long, TrunklineScanZeroDetailEntity> scanZeroDetailEntityMap = scanZeroDetailEntityList.stream().collect(Collectors.toMap(TrunklineScanZeroDetailEntity::getPackageId, Function.identity())); |
|
|
|
|
|
|
|
|
|
if(enterNum > 0){ |
|
|
|
|
Date now = new Date(); |
|
|
|
|
int diff = num - enterNum; |
|
|
|
|
Long warehouseId = abnormalRecordEntity.getWarehouseId(); |
|
|
|
|
BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId); |
|
|
|
|
//把zeroPackageDTOS转化成以packageId作为key的Map
|
|
|
|
|
Map<Long, ZeroPackageDTO> zeroPackageDTOSMapByPackageId = zeroPackageDTOS.stream().collect(Collectors.toMap(ZeroPackageDTO::getPackageId, Function.identity())); |
|
|
|
|
if(diff == 0){ |
|
|
|
|
abnormalRecordEntity.setRemark("差异"+enterNum+"件数入库本仓"); |
|
|
|
|
}else{ |
|
|
|
|
//回退原仓库
|
|
|
|
|
recordZeroDetailEntities.forEach(detailEntity -> { |
|
|
|
|
Long packageId = detailEntity.getPackageId(); |
|
|
|
|
Integer abnormalNum = detailEntity.getAbnormalNum(); |
|
|
|
|
ZeroPackageDTO zeroPackageDTO = zeroPackageDTOSMapByPackageId.get(packageId); |
|
|
|
|
Integer enterPackageNum = zeroPackageDTO.getEnterNum(); |
|
|
|
|
parcelListClient.addZeroQuantity(packageId,abnormalNum - enterPackageNum); |
|
|
|
|
detailEntity.setReturnNum(abnormalNum - enterPackageNum); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
DistributionStockArticleEntity currentStockArticleEntity = stockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode, warehouseId); |
|
|
|
|
if(Objects.isNull(currentStockArticleEntity)){ |
|
|
|
|
currentStockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
Integer totalNumber = stockArticleEntity.getTotalNumber(); |
|
|
|
|
BeanUtil.copy(stockArticleEntity,currentStockArticleEntity); |
|
|
|
|
currentStockArticleEntity.setId(null); |
|
|
|
|
currentStockArticleEntity.setHandQuantity(enterNum); |
|
|
|
|
currentStockArticleEntity.setWarehouseId(warehouseId); |
|
|
|
|
currentStockArticleEntity.setWarehouse(warehouseEntity.getName()); |
|
|
|
|
currentStockArticleEntity.setWarehouseEntryTime(now); |
|
|
|
|
currentStockArticleEntity.setCompleteSet(1); |
|
|
|
|
currentStockArticleEntity.setOrderReceiveStatus("20"); |
|
|
|
|
if(totalNumber.equals(enterNum)){ |
|
|
|
|
currentStockArticleEntity.setCompleteSet(2); |
|
|
|
|
currentStockArticleEntity.setOrderReceiveStatus("30"); |
|
|
|
|
stockArticleClient.addHandQuantity(stockId,diff); |
|
|
|
|
recordZeroDetailService.updateBatchById(recordZeroDetailEntities); |
|
|
|
|
abnormalRecordEntity.setRemark("差异"+enterNum+"件数入库本仓,原仓返回"+diff+"件"); |
|
|
|
|
} |
|
|
|
|
currentStockArticleEntity.setStockupStatus("10"); |
|
|
|
|
currentStockArticleEntity.setReservationStatus("10"); |
|
|
|
|
currentStockArticleEntity.setOrderStatus("20"); |
|
|
|
|
currentStockArticleEntity.setGroundingStatus("10"); |
|
|
|
|
currentStockArticleEntity.setFreezeStatus("10"); |
|
|
|
|
currentStockArticleEntity.setWarehouseEntryTimeEnd(now); |
|
|
|
|
currentStockArticleEntity.setSortingQuantity(0); |
|
|
|
|
currentStockArticleEntity.setDeliveryQuantity(0); |
|
|
|
|
currentStockArticleEntity.setTransferQuantity(0); |
|
|
|
|
currentStockArticleEntity.setSigninQuantity(0); |
|
|
|
|
currentStockArticleEntity.setAllocation(null); |
|
|
|
|
currentStockArticleEntity.setTrays(null); |
|
|
|
|
currentStockArticleEntity.setIncomingNum(enterNum); |
|
|
|
|
Long orderId = stockArticleClient.addData(currentStockArticleEntity); |
|
|
|
|
if(!Objects.isNull(orderId)){ |
|
|
|
|
List<TrunklineScanZeroDetailEntity> updateScanZeroDetailEntityList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelNumberEntity> addParcelNumberEntityList = new ArrayList<>(); |
|
|
|
|
List<AftersalesAbnormalRecordZeroDetailEntity> updateRecordZeroDetailList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelListVO> parcelListEntityList = parcelListClient.findEntityVOListByOrderCode(orderCode, fromWarehouseId); |
|
|
|
|
parcelListEntityList.forEach(parcelListEntity -> { |
|
|
|
|
Long packageId = parcelListEntity.getId(); |
|
|
|
|
Integer zeroPackageTotalNum = parcelListEntity.getZeroPackageTotalNum(); |
|
|
|
|
ZeroPackageDTO zeroPackageDTO = zeroPackageDTOSMapByPackageId.get(packageId); |
|
|
|
|
Long goodsId = zeroPackageDTO.getGoodsId(); |
|
|
|
|
Integer packageEnterNum = zeroPackageDTO.getEnterNum(); |
|
|
|
|
//保存包件信息
|
|
|
|
|
DistributionParcelListEntity currentParcelListEntity = new DistributionParcelListEntity(); |
|
|
|
|
BeanUtil.copy(parcelListEntity,currentParcelListEntity); |
|
|
|
|
Long acceptWarehouseId = parcelListEntity.getAcceptWarehouseId(); |
|
|
|
|
currentParcelListEntity.setId(null); |
|
|
|
|
currentParcelListEntity.setQuantity(packageEnterNum); |
|
|
|
|
currentParcelListEntity.setGoodsAllocation(null); |
|
|
|
|
currentParcelListEntity.setStockArticleId(orderId); |
|
|
|
|
currentParcelListEntity.setPallet(null); |
|
|
|
|
currentParcelListEntity.setWarehouseId(warehouseId); |
|
|
|
|
currentParcelListEntity.setWarehouse(warehouseEntity.getName()); |
|
|
|
|
currentParcelListEntity.setIsTransfer(1); |
|
|
|
|
if(acceptWarehouseId.equals(warehouseId)){ |
|
|
|
|
currentParcelListEntity.setIsTransfer(0); |
|
|
|
|
|
|
|
|
|
DistributionStockArticleEntity currentStockArticleEntity = stockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode, warehouseId); |
|
|
|
|
if(Objects.isNull(currentStockArticleEntity)){ |
|
|
|
|
currentStockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
Integer totalNumber = stockArticleEntity.getTotalNumber(); |
|
|
|
|
BeanUtil.copy(stockArticleEntity,currentStockArticleEntity); |
|
|
|
|
currentStockArticleEntity.setId(null); |
|
|
|
|
currentStockArticleEntity.setHandQuantity(enterNum); |
|
|
|
|
currentStockArticleEntity.setWarehouseId(warehouseId); |
|
|
|
|
currentStockArticleEntity.setWarehouse(warehouseEntity.getName()); |
|
|
|
|
currentStockArticleEntity.setWarehouseEntryTime(now); |
|
|
|
|
currentStockArticleEntity.setCompleteSet(1); |
|
|
|
|
currentStockArticleEntity.setOrderReceiveStatus("20"); |
|
|
|
|
if(totalNumber.equals(enterNum)){ |
|
|
|
|
currentStockArticleEntity.setCompleteSet(2); |
|
|
|
|
currentStockArticleEntity.setOrderReceiveStatus("30"); |
|
|
|
|
} |
|
|
|
|
currentStockArticleEntity.setStockupStatus("10"); |
|
|
|
|
currentStockArticleEntity.setReservationStatus("10"); |
|
|
|
|
currentStockArticleEntity.setOrderStatus("20"); |
|
|
|
|
currentStockArticleEntity.setGroundingStatus("10"); |
|
|
|
|
currentStockArticleEntity.setFreezeStatus("10"); |
|
|
|
|
currentStockArticleEntity.setWarehouseEntryTimeEnd(now); |
|
|
|
|
currentStockArticleEntity.setSortingQuantity(0); |
|
|
|
|
currentStockArticleEntity.setDeliveryQuantity(0); |
|
|
|
|
currentStockArticleEntity.setTransferQuantity(0); |
|
|
|
|
currentStockArticleEntity.setSigninQuantity(0); |
|
|
|
|
currentStockArticleEntity.setAllocation(null); |
|
|
|
|
currentStockArticleEntity.setTrays(null); |
|
|
|
|
currentStockArticleEntity.setIncomingNum(enterNum); |
|
|
|
|
Long orderId = stockArticleClient.addData(currentStockArticleEntity); |
|
|
|
|
if(!Objects.isNull(orderId)){ |
|
|
|
|
List<TrunklineScanZeroDetailEntity> updateScanZeroDetailEntityList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelNumberEntity> addParcelNumberEntityList = new ArrayList<>(); |
|
|
|
|
List<AftersalesAbnormalRecordZeroDetailEntity> updateRecordZeroDetailList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelListVO> parcelListEntityList = parcelListClient.findEntityVOListByOrderCode(orderCode, fromWarehouseId); |
|
|
|
|
parcelListEntityList.forEach(parcelListEntity -> { |
|
|
|
|
Long packageId = parcelListEntity.getId(); |
|
|
|
|
Integer zeroPackageTotalNum = parcelListEntity.getZeroPackageTotalNum(); |
|
|
|
|
ZeroPackageDTO zeroPackageDTO = zeroPackageDTOSMapByPackageId.get(packageId); |
|
|
|
|
Long goodsId = zeroPackageDTO.getGoodsId(); |
|
|
|
|
Integer packageEnterNum = zeroPackageDTO.getEnterNum(); |
|
|
|
|
//保存包件信息
|
|
|
|
|
DistributionParcelListEntity currentParcelListEntity = new DistributionParcelListEntity(); |
|
|
|
|
BeanUtil.copy(parcelListEntity,currentParcelListEntity); |
|
|
|
|
Long acceptWarehouseId = parcelListEntity.getAcceptWarehouseId(); |
|
|
|
|
currentParcelListEntity.setId(null); |
|
|
|
|
currentParcelListEntity.setQuantity(packageEnterNum); |
|
|
|
|
currentParcelListEntity.setGoodsAllocation(null); |
|
|
|
|
currentParcelListEntity.setStockArticleId(orderId); |
|
|
|
|
currentParcelListEntity.setPallet(null); |
|
|
|
|
currentParcelListEntity.setWarehouseId(warehouseId); |
|
|
|
|
currentParcelListEntity.setWarehouse(warehouseEntity.getName()); |
|
|
|
|
currentParcelListEntity.setIsTransfer(1); |
|
|
|
|
if(acceptWarehouseId.equals(warehouseId)){ |
|
|
|
|
currentParcelListEntity.setIsTransfer(0); |
|
|
|
|
} |
|
|
|
|
Long parceListId = parcelListClient.addReturnId(currentParcelListEntity); |
|
|
|
|
if(!Objects.isNull(parceListId)){ |
|
|
|
|
//保存零担包件数量信息
|
|
|
|
|
DistributionParcelNumberEntity currentParcelNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
currentParcelNumberEntity.setStockArticleId(orderId); |
|
|
|
|
currentParcelNumberEntity.setParcelListId(parceListId); |
|
|
|
|
currentParcelNumberEntity.setQuantity(zeroPackageTotalNum); |
|
|
|
|
currentParcelNumberEntity.setHandQuantity(packageEnterNum); |
|
|
|
|
currentParcelNumberEntity.setOutboundQuantity(0); |
|
|
|
|
currentParcelNumberEntity.setDeliveryQuantity(0); |
|
|
|
|
currentParcelNumberEntity.setSigninQuantity(0); |
|
|
|
|
addParcelNumberEntityList.add(currentParcelNumberEntity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//更新异常列表零担品类数量信息
|
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity aftersalesAbnormalRecordZeroDetailEntity = recordZeroDetailEntitiesMapByGoodsId.get(goodsId); |
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity updateRecordZeroDetail = new AftersalesAbnormalRecordZeroDetailEntity(); |
|
|
|
|
updateRecordZeroDetail.setId(aftersalesAbnormalRecordZeroDetailEntity.getId()); |
|
|
|
|
updateRecordZeroDetail.setIncomingNum(packageEnterNum); |
|
|
|
|
updateRecordZeroDetailList.add(updateRecordZeroDetail); |
|
|
|
|
|
|
|
|
|
//更新装车明细零担信息
|
|
|
|
|
TrunklineScanZeroDetailEntity scanZeroDetailEntity = scanZeroDetailEntityMap.get(packageId); |
|
|
|
|
TrunklineScanZeroDetailEntity updateScanZeroDetailEntity = new TrunklineScanZeroDetailEntity(); |
|
|
|
|
updateScanZeroDetailEntity.setId(scanZeroDetailEntity.getId()); |
|
|
|
|
updateScanZeroDetailEntity.setUnloadNum(scanZeroDetailEntity.getUnloadNum()+packageEnterNum); |
|
|
|
|
updateScanZeroDetailEntityList.add(updateScanZeroDetailEntity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PackageData packageData = new PackageData(); |
|
|
|
|
packageData.setOrderCode(orderCode); |
|
|
|
|
packageData.setWaybillNumber(orderCode); |
|
|
|
|
packageData.setProductId(goodsId); |
|
|
|
|
packageData.setProductName(zeroPackageDTO.getGoodsName()); |
|
|
|
|
packageData.setNum(packageEnterNum); |
|
|
|
|
packageData.setPackageType(PackageTypeEnums.INV); |
|
|
|
|
packageDataList.add(packageData); |
|
|
|
|
}); |
|
|
|
|
if(CollUtil.isNotEmpty(updateRecordZeroDetailList)){ |
|
|
|
|
recordZeroDetailService.updateBatchById(updateRecordZeroDetailList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(updateScanZeroDetailEntityList)){ |
|
|
|
|
scanZeroDetailClient.updateBetch(updateScanZeroDetailEntityList); |
|
|
|
|
} |
|
|
|
|
Long parceListId = parcelListClient.addReturnId(currentParcelListEntity); |
|
|
|
|
if(!Objects.isNull(parceListId)){ |
|
|
|
|
//保存零担包件数量信息
|
|
|
|
|
DistributionParcelNumberEntity currentParcelNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
currentParcelNumberEntity.setStockArticleId(orderId); |
|
|
|
|
currentParcelNumberEntity.setParcelListId(parceListId); |
|
|
|
|
currentParcelNumberEntity.setQuantity(zeroPackageTotalNum); |
|
|
|
|
currentParcelNumberEntity.setHandQuantity(packageEnterNum); |
|
|
|
|
currentParcelNumberEntity.setOutboundQuantity(0); |
|
|
|
|
currentParcelNumberEntity.setDeliveryQuantity(0); |
|
|
|
|
currentParcelNumberEntity.setSigninQuantity(0); |
|
|
|
|
addParcelNumberEntityList.add(currentParcelNumberEntity); |
|
|
|
|
if(CollUtil.isNotEmpty(addParcelNumberEntityList)){ |
|
|
|
|
parcelNumberClient.addBatch(addParcelNumberEntityList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//更新异常列表零担品类数量信息
|
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity aftersalesAbnormalRecordZeroDetailEntity = recordZeroDetailEntitiesMapByGoodsId.get(goodsId); |
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity updateRecordZeroDetail = new AftersalesAbnormalRecordZeroDetailEntity(); |
|
|
|
|
updateRecordZeroDetail.setId(aftersalesAbnormalRecordZeroDetailEntity.getId()); |
|
|
|
|
updateRecordZeroDetail.setIncomingNum(packageEnterNum); |
|
|
|
|
updateRecordZeroDetailList.add(updateRecordZeroDetail); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
Long orderId = currentStockArticleEntity.getId(); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelListEntity> parcelListEntityList = parcelListClient.findListByStockArticleId(orderId); |
|
|
|
|
//把parcelListEntityList转化成以firsts为key的map
|
|
|
|
|
Map<String, DistributionParcelListEntity> parcelListEntityMapByFirsts = parcelListEntityList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getFirsts, Function.identity())); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelNumberEntity> parcelNumberEntityList =parcelNumberClient.findListByStockArticleId(orderId); |
|
|
|
|
//把parcelNumberEntityList转化成以parceListId为key的Map
|
|
|
|
|
Map<Long, DistributionParcelNumberEntity> parcelNumberEntityMapByParcelListId = parcelNumberEntityList.stream().collect(Collectors.toMap(DistributionParcelNumberEntity::getParcelListId, Function.identity())); |
|
|
|
|
|
|
|
|
|
//把scanZeroDetailEntityList转化成以goodsId为key的Map
|
|
|
|
|
Map<Long, TrunklineScanZeroDetailEntity> scanZeroDetailEntityMapByGoodsId = scanZeroDetailEntityList.stream().collect(Collectors.toMap(TrunklineScanZeroDetailEntity::getGoodsId, Function.identity())); |
|
|
|
|
|
|
|
|
|
List<TrunklineScanZeroDetailEntity> updateScanZeroDetailEntityList = new ArrayList<>(); |
|
|
|
|
List<AftersalesAbnormalRecordZeroDetailEntity> updateAbnormalRecordZeroDetailEntityList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelListEntity> updateParcelListEntityList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelNumberEntity> updateParcelNumberEntityList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
zeroPackageDTOS.forEach(zeroPackageDTO -> { |
|
|
|
|
Integer packageNum = zeroPackageDTO.getEnterNum(); |
|
|
|
|
String goodsName = zeroPackageDTO.getGoodsName(); |
|
|
|
|
Long goodsId = zeroPackageDTO.getGoodsId(); |
|
|
|
|
//更新装车明细零担信息
|
|
|
|
|
TrunklineScanZeroDetailEntity scanZeroDetailEntity = scanZeroDetailEntityMap.get(packageId); |
|
|
|
|
TrunklineScanZeroDetailEntity scanZeroDetailEntity = scanZeroDetailEntityMapByGoodsId.get(goodsId); |
|
|
|
|
TrunklineScanZeroDetailEntity updateScanZeroDetailEntity = new TrunklineScanZeroDetailEntity(); |
|
|
|
|
updateScanZeroDetailEntity.setId(scanZeroDetailEntity.getId()); |
|
|
|
|
updateScanZeroDetailEntity.setUnloadNum(scanZeroDetailEntity.getUnloadNum()+packageEnterNum); |
|
|
|
|
updateScanZeroDetailEntity.setUnloadNum(scanZeroDetailEntity.getUnloadNum()+packageNum); |
|
|
|
|
updateScanZeroDetailEntityList.add(updateScanZeroDetailEntity); |
|
|
|
|
|
|
|
|
|
//更新异常列表零担品类数量
|
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity aftersalesAbnormalRecordZeroDetailEntity = recordZeroDetailEntitiesMapByGoodsId.get(goodsId); |
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity updateRecordZeroDetail = new AftersalesAbnormalRecordZeroDetailEntity(); |
|
|
|
|
updateRecordZeroDetail.setId(aftersalesAbnormalRecordZeroDetailEntity.getId()); |
|
|
|
|
updateRecordZeroDetail.setIncomingNum(aftersalesAbnormalRecordZeroDetailEntity.getIncomingNum()+packageNum); |
|
|
|
|
updateAbnormalRecordZeroDetailEntityList.add(updateRecordZeroDetail); |
|
|
|
|
|
|
|
|
|
//更新;零担包件信息
|
|
|
|
|
DistributionParcelListEntity parcelList = parcelListEntityMapByFirsts.get(goodsName); |
|
|
|
|
Long parcelListId = parcelList.getId(); |
|
|
|
|
DistributionParcelListEntity updateParceListEntity = new DistributionParcelListEntity(); |
|
|
|
|
updateParceListEntity.setId(parcelListId); |
|
|
|
|
updateParceListEntity.setQuantity(parcelList.getQuantity()+packageNum); |
|
|
|
|
updateParcelListEntityList.add(updateParceListEntity); |
|
|
|
|
|
|
|
|
|
//更新零担品类数量信息
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = parcelNumberEntityMapByParcelListId.get(parcelListId); |
|
|
|
|
DistributionParcelNumberEntity updateParceNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
updateParceNumberEntity.setId(parcelNumberEntity.getId()); |
|
|
|
|
updateParceNumberEntity.setHandQuantity(parcelNumberEntity.getHandQuantity()+packageNum); |
|
|
|
|
updateParcelNumberEntityList.add(updateParceNumberEntity); |
|
|
|
|
|
|
|
|
|
PackageData packageData = new PackageData(); |
|
|
|
|
packageData.setOrderCode(orderCode); |
|
|
|
|
packageData.setWaybillNumber(orderCode); |
|
|
|
|
packageData.setProductId(goodsId); |
|
|
|
|
packageData.setProductName(zeroPackageDTO.getGoodsName()); |
|
|
|
|
packageData.setNum(packageEnterNum); |
|
|
|
|
packageData.setProductName(goodsName); |
|
|
|
|
packageData.setNum(packageNum); |
|
|
|
|
packageData.setPackageType(PackageTypeEnums.INV); |
|
|
|
|
packageDataList.add(packageData); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
if(CollUtil.isNotEmpty(updateRecordZeroDetailList)){ |
|
|
|
|
recordZeroDetailService.updateBatchById(updateRecordZeroDetailList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(updateScanZeroDetailEntityList)){ |
|
|
|
|
scanZeroDetailClient.updateBetch(updateScanZeroDetailEntityList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(addParcelNumberEntityList)){ |
|
|
|
|
parcelNumberClient.addBatch(addParcelNumberEntityList); |
|
|
|
|
if(CollUtil.isNotEmpty(updateAbnormalRecordZeroDetailEntityList)){ |
|
|
|
|
recordZeroDetailService.updateBatchById(updateAbnormalRecordZeroDetailEntityList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(updateParcelListEntityList)){ |
|
|
|
|
parcelListClient.updateList(updateParcelListEntityList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(updateParcelNumberEntityList)){ |
|
|
|
|
parcelNumberClient.updateList(updateParcelNumberEntityList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stockArticleClient.addHandQuantityAndIncomingNum(currentStockArticleEntity.getId(),enterNum); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
Long orderId = currentStockArticleEntity.getId(); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelListEntity> parcelListEntityList = parcelListClient.findListByStockArticleId(orderId); |
|
|
|
|
//把parcelListEntityList转化成以firsts为key的map
|
|
|
|
|
Map<String, DistributionParcelListEntity> parcelListEntityMapByFirsts = parcelListEntityList.stream().collect(Collectors.toMap(DistributionParcelListEntity::getFirsts, Function.identity())); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelNumberEntity> parcelNumberEntityList =parcelNumberClient.findListByStockArticleId(orderId); |
|
|
|
|
//把parcelNumberEntityList转化成以parceListId为key的Map
|
|
|
|
|
Map<Long, DistributionParcelNumberEntity> parcelNumberEntityMapByParcelListId = parcelNumberEntityList.stream().collect(Collectors.toMap(DistributionParcelNumberEntity::getParcelListId, Function.identity())); |
|
|
|
|
|
|
|
|
|
//把scanZeroDetailEntityList转化成以goodsId为key的Map
|
|
|
|
|
Map<Long, TrunklineScanZeroDetailEntity> scanZeroDetailEntityMapByGoodsId = scanZeroDetailEntityList.stream().collect(Collectors.toMap(TrunklineScanZeroDetailEntity::getGoodsId, Function.identity())); |
|
|
|
|
|
|
|
|
|
List<TrunklineScanZeroDetailEntity> updateScanZeroDetailEntityList = new ArrayList<>(); |
|
|
|
|
List<AftersalesAbnormalRecordZeroDetailEntity> updateAbnormalRecordZeroDetailEntityList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelListEntity> updateParcelListEntityList = new ArrayList<>(); |
|
|
|
|
List<DistributionParcelNumberEntity> updateParcelNumberEntityList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
zeroPackageDTOS.forEach(zeroPackageDTO -> { |
|
|
|
|
Integer packageNum = zeroPackageDTO.getEnterNum(); |
|
|
|
|
String goodsName = zeroPackageDTO.getGoodsName(); |
|
|
|
|
Long goodsId = zeroPackageDTO.getGoodsId(); |
|
|
|
|
//更新装车明细零担信息
|
|
|
|
|
TrunklineScanZeroDetailEntity scanZeroDetailEntity = scanZeroDetailEntityMapByGoodsId.get(goodsId); |
|
|
|
|
TrunklineScanZeroDetailEntity updateScanZeroDetailEntity = new TrunklineScanZeroDetailEntity(); |
|
|
|
|
updateScanZeroDetailEntity.setId(scanZeroDetailEntity.getId()); |
|
|
|
|
updateScanZeroDetailEntity.setUnloadNum(scanZeroDetailEntity.getUnloadNum()+packageNum); |
|
|
|
|
updateScanZeroDetailEntityList.add(updateScanZeroDetailEntity); |
|
|
|
|
|
|
|
|
|
//更新异常列表零担品类数量
|
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity aftersalesAbnormalRecordZeroDetailEntity = recordZeroDetailEntitiesMapByGoodsId.get(goodsId); |
|
|
|
|
AftersalesAbnormalRecordZeroDetailEntity updateRecordZeroDetail = new AftersalesAbnormalRecordZeroDetailEntity(); |
|
|
|
|
updateRecordZeroDetail.setId(aftersalesAbnormalRecordZeroDetailEntity.getId()); |
|
|
|
|
updateRecordZeroDetail.setIncomingNum(aftersalesAbnormalRecordZeroDetailEntity.getIncomingNum()+packageNum); |
|
|
|
|
updateAbnormalRecordZeroDetailEntityList.add(updateRecordZeroDetail); |
|
|
|
|
|
|
|
|
|
//更新;零担包件信息
|
|
|
|
|
DistributionParcelListEntity parcelList = parcelListEntityMapByFirsts.get(goodsName); |
|
|
|
|
Long parcelListId = parcelList.getId(); |
|
|
|
|
DistributionParcelListEntity updateParceListEntity = new DistributionParcelListEntity(); |
|
|
|
|
updateParceListEntity.setId(parcelListId); |
|
|
|
|
updateParceListEntity.setQuantity(parcelList.getQuantity()+packageNum); |
|
|
|
|
updateParcelListEntityList.add(updateParceListEntity); |
|
|
|
|
|
|
|
|
|
//更新零担品类数量信息
|
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = parcelNumberEntityMapByParcelListId.get(parcelListId); |
|
|
|
|
DistributionParcelNumberEntity updateParceNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
updateParceNumberEntity.setId(parcelNumberEntity.getId()); |
|
|
|
|
updateParceNumberEntity.setHandQuantity(parcelNumberEntity.getHandQuantity()+packageNum); |
|
|
|
|
updateParcelNumberEntityList.add(updateParceNumberEntity); |
|
|
|
|
|
|
|
|
|
PackageData packageData = new PackageData(); |
|
|
|
|
packageData.setOrderCode(orderCode); |
|
|
|
|
packageData.setWaybillNumber(orderCode); |
|
|
|
|
packageData.setProductId(goodsId); |
|
|
|
|
packageData.setProductName(goodsName); |
|
|
|
|
packageData.setNum(packageNum); |
|
|
|
|
packageData.setPackageType(PackageTypeEnums.INV); |
|
|
|
|
packageDataList.add(packageData); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(updateScanZeroDetailEntityList)){ |
|
|
|
|
scanZeroDetailClient.updateBetch(updateScanZeroDetailEntityList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(updateAbnormalRecordZeroDetailEntityList)){ |
|
|
|
|
recordZeroDetailService.updateBatchById(updateAbnormalRecordZeroDetailEntityList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(updateParcelListEntityList)){ |
|
|
|
|
parcelListClient.updateList(updateParcelListEntityList); |
|
|
|
|
} |
|
|
|
|
if(CollUtil.isNotEmpty(updateParcelNumberEntityList)){ |
|
|
|
|
parcelNumberClient.updateList(updateParcelNumberEntityList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stockArticleClient.addHandQuantityAndIncomingNum(currentStockArticleEntity.getId(),enterNum); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
carsLoadScanEntity.setScanStatus("2"); |
|
|
|
|
carsLoadScanEntity.setUnloadNum(carsLoadScanEntity.getUnloadNum()+enterNum); |
|
|
|
|
trunklineCarsLoadScanClient.updateEntity(carsLoadScanEntity); |
|
|
|
|
carsLoadScanEntity.setScanStatus("2"); |
|
|
|
|
carsLoadScanEntity.setUnloadNum(carsLoadScanEntity.getUnloadNum()+enterNum); |
|
|
|
|
trunklineCarsLoadScanClient.updateEntity(carsLoadScanEntity); |
|
|
|
|
|
|
|
|
|
String waybillNo = carsLoadScanEntity.getWaybillNo(); |
|
|
|
|
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo); |
|
|
|
|
String waybillNo = carsLoadScanEntity.getWaybillNo(); |
|
|
|
|
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo); |
|
|
|
|
|
|
|
|
|
if(!Objects.isNull(waybillEntity)){ |
|
|
|
|
waybillId = waybillEntity.getId(); |
|
|
|
|
} |
|
|
|
|
Long destinationWarehouseId = waybillEntity.getDestinationWarehouseId(); |
|
|
|
|
|
|
|
|
|
String warehouseName = warehouseEntity.getName(); |
|
|
|
|
|
|
|
|
|
String operationRemark = warehouseName+"干线异常列表卸车,总数/卸车数:"+num+"/"+enterNum+",卸车时间"+ CommonUtil.dateToStringGeneral(new Date()); |
|
|
|
|
AddWaybillTrackDTO addWaybillTrackDTO = new AddWaybillTrackDTO(); |
|
|
|
|
addWaybillTrackDTO.setTrackType("80"); |
|
|
|
|
addWaybillTrackDTO.setWaybillId(waybillId); |
|
|
|
|
addWaybillTrackDTO.setWaybillNo(waybillNo); |
|
|
|
|
addWaybillTrackDTO.setRefer("异常列表卸车"); |
|
|
|
|
addWaybillTrackDTO.setOperationRemark(operationRemark); |
|
|
|
|
addWaybillTrackDTO.setUserId(AuthUtil.getUserId()); |
|
|
|
|
addWaybillTrackDTO.setWarehouseId(warehouseId); |
|
|
|
|
addWaybillTrackDTO.setWarehouseName(warehouseName); |
|
|
|
|
addWaybillTrackDTO.setNickName(AuthUtil.getNickName()); |
|
|
|
|
trunklineWaybillTrackClient.addWaybillLog(addWaybillTrackDTO); |
|
|
|
|
|
|
|
|
|
//发送零担异常卸车数据
|
|
|
|
|
aftersakesAyscService.sendReportZeroUnloadData(AuthUtil.getUserId(),AuthUtil.getNickName(),myCurrentWarehouse.getId(),myCurrentWarehouse.getName(),abnormalRecordEntity,packageDataList); |
|
|
|
|
if(!Objects.isNull(waybillEntity)){ |
|
|
|
|
waybillId = waybillEntity.getId(); |
|
|
|
|
} |
|
|
|
|
Long destinationWarehouseId = waybillEntity.getDestinationWarehouseId(); |
|
|
|
|
|
|
|
|
|
String warehouseName = warehouseEntity.getName(); |
|
|
|
|
|
|
|
|
|
String operationRemark = warehouseName+"干线异常列表卸车,总数/卸车数:"+num+"/"+enterNum+",卸车时间"+ CommonUtil.dateToStringGeneral(new Date()); |
|
|
|
|
AddWaybillTrackDTO addWaybillTrackDTO = new AddWaybillTrackDTO(); |
|
|
|
|
addWaybillTrackDTO.setTrackType("80"); |
|
|
|
|
addWaybillTrackDTO.setWaybillId(waybillId); |
|
|
|
|
addWaybillTrackDTO.setWaybillNo(waybillNo); |
|
|
|
|
addWaybillTrackDTO.setRefer("异常列表卸车"); |
|
|
|
|
addWaybillTrackDTO.setOperationRemark(operationRemark); |
|
|
|
|
addWaybillTrackDTO.setUserId(AuthUtil.getUserId()); |
|
|
|
|
addWaybillTrackDTO.setWarehouseId(warehouseId); |
|
|
|
|
addWaybillTrackDTO.setWarehouseName(warehouseName); |
|
|
|
|
addWaybillTrackDTO.setNickName(AuthUtil.getNickName()); |
|
|
|
|
trunklineWaybillTrackClient.addWaybillLog(addWaybillTrackDTO); |
|
|
|
|
|
|
|
|
|
//发送零担异常卸车数据
|
|
|
|
|
aftersakesAyscService.sendReportZeroUnloadData(AuthUtil.getUserId(),AuthUtil.getNickName(),myCurrentWarehouse.getId(),myCurrentWarehouse.getName(),abnormalRecordEntity,packageDataList); |
|
|
|
|
|
|
|
|
|
// if(warehouseId.equals(destinationWarehouseId)){
|
|
|
|
|
// TrunklineWaybillOrderEntity waybillOrderEntity = waybillOrderClient.findEntityByWaybillNoAndOrderCode(waybillNo,waybillNo);
|
|
|
|
@ -472,16 +478,17 @@ public class AftersalesAbnormalRecordServiceImpl extends BaseServiceImpl<Aftersa
|
|
|
|
|
// waybillOrderClient.updateEntity(waybillOrderEntity);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
trunklineWaybillPackageClient.updateWaybillStatus(waybillId); |
|
|
|
|
} |
|
|
|
|
trunklineWaybillPackageClient.updateWaybillStatus(waybillId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
abnormalRecordEntity.setAbnormalStatus(1); |
|
|
|
|
abnormalRecordEntity.setDealTime(new Date()); |
|
|
|
|
abnormalRecordEntity.setDealUserId(AuthUtil.getUserId()); |
|
|
|
|
abnormalRecordEntity.setDealUserName(AuthUtil.getNickName()); |
|
|
|
|
updateById(abnormalRecordEntity); |
|
|
|
|
abnormalRecordEntity.setAbnormalStatus(1); |
|
|
|
|
abnormalRecordEntity.setDealTime(new Date()); |
|
|
|
|
abnormalRecordEntity.setDealUserId(AuthUtil.getUserId()); |
|
|
|
|
abnormalRecordEntity.setDealUserName(AuthUtil.getNickName()); |
|
|
|
|
updateById(abnormalRecordEntity); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
return R.success("处理成功"); |
|
|
|
|
} |
|
|
|
|