diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java index 6e3c75a92..9b912abab 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java @@ -684,4 +684,59 @@ public class WarehouseTrayTypeApiController { } + + + //---------------------合托------------------------- + @ResponseBody + @PostMapping("/scanSourceTrayCode") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "扫码来源托盘", notes = "传入trayTypeDTO") + public R scanSourceTrayCode(@RequestBody TrayTypeDTO trayTypeDTO) { + String method = "###########scanSourceTrayCode: "; + log.info(method + "扫码来源托盘 trayTypeDTO={}", trayTypeDTO); + String sourceTrayCode = trayTypeDTO.getSourceTrayCode();//来源托盘 + try{ + if(!StringUtil.hasLength(sourceTrayCode)){ + log.warn(method+"来源托盘码不能为空 sourceTrayCode={}",sourceTrayCode); + return R.fail(403,"来源托盘码不能为空"); + } + return warehouseTrayTypeService.scanSourceTrayCode(sourceTrayCode); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + } + + + @ResponseBody + @PostMapping("/scanTargetTrayCode") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "扫码目标托盘", notes = "传入trayTypeDTO") + public R scanTargetTrayCode(@RequestBody TrayTypeDTO trayTypeDTO) { + String method = "###########scanTargetTrayCode: "; + log.info(method + "扫码来源托盘 trayTypeDTO={}", trayTypeDTO); + String sourceTrayCode = trayTypeDTO.getSourceTrayCode();//来源托盘码 + String targetTrayCode = trayTypeDTO.getTargetTrayCode();//目标托盘码 + try{ + if(!StringUtil.hasLength(sourceTrayCode)){ + log.warn(method+"来源托盘码不能为空 sourceTrayCode={}",sourceTrayCode); + return R.fail(403,"来源托盘码不能为空"); + } + if(!StringUtil.hasLength(targetTrayCode)){ + log.warn(method+"目标托盘码不能为空 targetTrayCode={}",targetTrayCode); + return R.fail(403,"目标托盘码不能为空"); + } + return warehouseTrayTypeService.scanTargetTrayCode(sourceTrayCode,targetTrayCode); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TrayTypeDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TrayTypeDTO.java index e6dffa18f..018d1514f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TrayTypeDTO.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TrayTypeDTO.java @@ -46,4 +46,8 @@ public class TrayTypeDTO implements Serializable { private List zeroList = new ArrayList<>(); + + private String sourceTrayCode; + private String targetTrayCode; + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java index 2edda32f7..0ce56dace 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java @@ -11,4 +11,6 @@ public interface IWarehouseTaryAllocationService extends BaseService { void saveLogPackage(DistributionParcelListEntity parcelListEntity, WarehouseTrayTypeEntity trayTypeEntity, String bindingType, String remark, String palletizingType); void saveLogZero(DistributionStockArticleEntity stockArticleEntity, WarehouseTrayTypeEntity trayTypeEntity, Integer num, String bindingType, String remark, String palletizingType); void saveLogStock(Long materialId,Long marketId, WarehouseTrayTypeEntity trayTypeEntity,Integer num, String bindingType, String remark, String palletizingType); + + void saveLogByTrayGoodsList(List sourceTrayGoodsList, String bindingType, String remark, String palletizingType); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java index d619c0d3e..1de512fb6 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java @@ -19,7 +19,6 @@ public interface IWarehouseTrayGoodsService extends BaseService getListByTrayTypeId(Long trayTypeId); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java index eae950f1e..52ef88472 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java @@ -64,4 +64,9 @@ public interface IWarehouseTrayTypeService extends BaseService getReCheckStockByTrayTypeId(Long trayTypeId); R trayToNull(String trayCode); + + R scanSourceTrayCode(String sourceTrayCode); + + R scanTargetTrayCode(String sourceTrayCode,String targetTrayCode); + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTaryAllocationServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTaryAllocationServiceImpl.java index 84a6c46c1..b6ed4951d 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTaryAllocationServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTaryAllocationServiceImpl.java @@ -1,5 +1,6 @@ package com.logpm.warehouse.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.logpm.basicdata.entity.BasicdataTrayEntity; import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; import com.logpm.warehouse.mapper.WarehouseTaryAllocationMapper; @@ -9,6 +10,8 @@ import lombok.extern.log4j.Log4j2; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; +import java.util.Objects; + @Log4j2 @Service @AllArgsConstructor @@ -27,4 +30,17 @@ public class WarehouseTaryAllocationServiceImpl extends BaseServiceImpl queryWrapper =new QueryWrapper<>(); + queryWrapper.eq("tray_id",trayId) + .eq("is_deleted",0); + WarehouseTaryAllocationEntity taryAllocationEntity = baseMapper.selectOne(queryWrapper); + if(Objects.isNull(taryAllocationEntity)){ + return null; + }else{ + return taryAllocationEntity.getAllocationId(); + } + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsLogServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsLogServiceImpl.java index 19bff73b5..40617b554 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsLogServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsLogServiceImpl.java @@ -2,6 +2,7 @@ package com.logpm.warehouse.service.impl; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionStockArticleEntity; +import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.entity.WarehouseTrayGoodsLogEntity; import com.logpm.warehouse.entity.WarehouseTrayTypeEntity; import com.logpm.warehouse.mapper.WarehouseTrayGoodsLogMapper; @@ -9,8 +10,12 @@ import com.logpm.warehouse.service.IWarehouseTrayGoodsLogService; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.utils.BeanUtil; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + @Log4j2 @Service @AllArgsConstructor @@ -61,4 +66,18 @@ public class WarehouseTrayGoodsLogServiceImpl extends BaseServiceImpl sourceTrayGoodsList, String bindingType, String remark, String palletizingType) { + List ls = new ArrayList<>(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + WarehouseTrayGoodsLogEntity trayGoodsLogEntity = new WarehouseTrayGoodsLogEntity(); + BeanUtil.copy(trayGoodsEntity,trayGoodsLogEntity); + trayGoodsLogEntity.setBindingType(bindingType); + trayGoodsLogEntity.setRemark(remark); + trayGoodsLogEntity.setPalletizingType(palletizingType); + ls.add(trayGoodsLogEntity); + } + saveBatch(ls); + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java index df04ed151..1897e8a1d 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java @@ -20,6 +20,7 @@ import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.entity.WarehouseTrayGoodsLogEntity; import com.logpm.warehouse.entity.WarehouseTrayTypeEntity; import com.logpm.warehouse.mapper.WarehouseTrayTypeMapper; +import com.logpm.warehouse.service.IWarehouseTaryAllocationService; import com.logpm.warehouse.service.IWarehouseTrayGoodsLogService; import com.logpm.warehouse.service.IWarehouseTrayGoodsService; import com.logpm.warehouse.service.IWarehouseTrayTypeService; @@ -65,6 +66,8 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl orderPageList(TrayTypeDTO trayTypeDTO) { IPage page = new Page<>(); @@ -1226,6 +1229,329 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("tray_id",trayId) + .eq("is_deleted",0); + WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryWrapper); + if(Objects.isNull(trayTypeEntity)){ + log.warn("################scanSourceTrayCode: 托盘没有打托方式 trayId={}",trayId); + return R.fail(403,"托盘未绑定数据"); + } + String type = trayTypeEntity.getType(); + Long trayTypeId = trayTypeEntity.getId(); + + List trayListVOS = null; + if(PalletProductTypeConstant.CUSTOMIZED.equals(type)){//订制品打托 + trayListVOS = warehouseTrayGoodsService.getReCheckPackageByTrayTypeId(trayTypeId); + }else if(PalletProductTypeConstant.ARTIFICIAL.equals(type)){ + trayListVOS = warehouseTrayGoodsService.getReCheckZeroByTrayTypeId(trayTypeId); + }else if(PalletProductTypeConstant.STOCKDATA.equals(type)){ + trayListVOS = warehouseTrayGoodsService.getReCheckStockByTrayTypeId(trayTypeId); + }else if(PalletProductTypeConstant.STOCKNODATA.equals(type)){ + trayListVOS = warehouseTrayGoodsService.getReCheckStockByTrayTypeId(trayTypeId); + }else { + log.warn("##################getEntityByTrayCode: 未知的打托类型"); + } + return R.data(trayListVOS); + } + + @Override + public R scanTargetTrayCode(String sourceTrayCode,String targetTrayCode) { + log.info("#################scanTargetTrayCode: 合托扫码目标托盘 targetTrayCode={}",targetTrayCode); + BasicdataTrayEntity trayEntity = basicdataTrayClient.getTrayByTrayCode(targetTrayCode); + if(Objects.isNull(trayEntity)){ + log.warn("################scanTargetTrayCode: 托盘信息不存在 targetTrayCode={}",targetTrayCode); + return R.fail(403,"托盘信息不存在"); + } + Integer disableType = trayEntity.getDisableType(); + Long targetTrayId = trayEntity.getId(); + if(disableType == 2){ + log.warn("################scanTargetTrayCode: 托盘已禁用 targetTrayCode={}",targetTrayCode); + return R.fail(403,"托盘已禁用"); + } + Long allocationId = warehouseTaryAllocationService.getAllocationIdByTrayId(targetTrayId); + if(!Objects.isNull(allocationId)){ + log.warn("################scanTargetTrayCode: 托盘已上架 targetTrayId={}",targetTrayId); + return R.fail(403,"托盘已上架,请先下架"); + } + QueryWrapper sourceQueryWapper = new QueryWrapper<>(); + sourceQueryWapper.eq("tray_code",sourceTrayCode) + .eq("is_deleted",0); + WarehouseTrayTypeEntity sourceTrayTypeEntity = baseMapper.selectOne(sourceQueryWapper); + if(Objects.isNull(sourceTrayTypeEntity)){ + log.warn("################scanTargetTrayCode: 来源托盘信息有误 sourceTrayCode={}",sourceTrayCode); + return R.fail(403,"来源托盘信息有误"); + } + QueryWrapper targetQueryWapper = new QueryWrapper<>(); + targetQueryWapper.eq("tray_code",targetTrayCode) + .eq("is_deleted",0); + WarehouseTrayTypeEntity targetTrayTypeEntity = baseMapper.selectOne(targetQueryWapper); + if(Objects.isNull(targetTrayTypeEntity)){ + log.warn("################scanTargetTrayCode: 目标托盘信息有误 targetTrayCode={}",targetTrayCode); + return R.fail(403,"目标托盘信息有误"); + } + String sourceType = sourceTrayTypeEntity.getType(); + String targetType = targetTrayTypeEntity.getType(); + if(!sourceType.equals(targetType)){ + log.warn("################scanTargetTrayCode: 托盘货物类型不同 sourceType={} targetType={}",sourceType,targetType); + return R.fail(403,"托盘货物类型不同"); + } + BasicdataTrayEntity sourceTrayEntity = basicdataTrayClient.getTrayByTrayCode(sourceTrayCode); + if(Objects.isNull(sourceTrayEntity)){ + log.warn("################scanTargetTrayCode: 托盘信息不存在 sourceTrayCode={}",sourceTrayCode); + return R.fail(403,"托盘信息不存在"); + } + Long sourceTrayId = sourceTrayEntity.getId(); + Long sourceTrayTypeId = sourceTrayTypeEntity.getId(); + Long targetTrayTypeId = targetTrayTypeEntity.getId(); + //先把来源托盘数据合到目标托盘 + copyTrayGoodsToTargetTray(sourceTrayTypeId,targetTrayTypeEntity); + + //空置来源托盘 + downTrayGoodsByTrayId(sourceTrayId,"合托:下托"); + return R.success("合托成功"); + } + + private void copyTrayGoodsToTargetTray(Long sourceTrayTypeId, WarehouseTrayTypeEntity targetTrayTypeEntity) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("tray_type_id",sourceTrayTypeId); + List sourceTrayGoodsList = warehouseTrayGoodsService.list(queryWrapper); + String type = targetTrayTypeEntity.getType();//数据类型 + String trayType = targetTrayTypeEntity.getTrayType();//打托方式 + Long filterId = targetTrayTypeEntity.getFilterId(); + String filterValue = targetTrayTypeEntity.getFilterValue(); + if("1".equals(type)){ + //订制品 + if("10".equals(trayType)){//服务号 + panduanPackageByService(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("20".equals(trayType)){//订单自编号 + panduanPackageByOrderCode(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("30".equals(trayType)){//商场 + panduanPackageByMarket(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("40".equals(trayType)){//门店 + panduanPackageByStore(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("50".equals(trayType)){//客户 + panduanPackageByCustomer(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("60".equals(trayType)){//仓库 + panduanPackageByWarehouse(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + } + }else if("2".equals(type)){ + //零担 + if("10".equals(trayType)){//运单号 + panduanZeroByWaybillNo(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("20".equals(trayType)){//订单自编码(零担) + panduanZeroByOrderCode(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + } + }else if("3".equals(type)){ + //库存品 + if("10".equals(trayType)){//物料名称 + panduanStockByMaterialName(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + }else if("20".equals(trayType)){//物料编码 + panduanStockByMaterialId(sourceTrayGoodsList,filterId,filterValue,targetTrayTypeEntity); + } + } + //更新值 + warehouseTrayGoodsService.updateBatchById(sourceTrayGoodsList); + warehouseTrayGoodsLogService.saveLogByTrayGoodsList(sourceTrayGoodsList,"1","合托:绑定","1"); + //更新数量值 + updateNumByTrayTypeId(targetTrayTypeEntity); + } + + private void panduanStockByMaterialId(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String materialCode = trayGoodsEntity.getAssociationValue(); + if(!materialCode.equals(filterValue)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanStockByMaterialName(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String materialName = trayGoodsEntity.getAssociationValue(); + if(!materialName.equals(filterValue)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanZeroByOrderCode(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + Long stockArticleId = trayGoodsEntity.getAssociationId(); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(stockArticleId); + Long id = stockArticleEntity.getId(); + if(!id.equals(filterId)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanZeroByWaybillNo(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + Long stockArticleId = trayGoodsEntity.getAssociationId(); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(stockArticleId); + String waybillNumber = stockArticleEntity.getWaybillNumber(); + if(!waybillNumber.equals(filterValue)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanPackageByWarehouse(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String orderPackageCode = trayGoodsEntity.getAssociationValue(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + Long stockArticleId = parcelListEntity.getStockArticleId(); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(stockArticleId); + Long warehouseId = stockArticleEntity.getWarehouseId(); + if(!warehouseId.equals(filterId)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanPackageByCustomer(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String orderPackageCode = trayGoodsEntity.getAssociationValue(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + Long stockArticleId = parcelListEntity.getStockArticleId(); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(stockArticleId); + String customerName = stockArticleEntity.getCustomerName(); + String customerTelephone = stockArticleEntity.getCustomerTelephone(); + if(!filterValue.equals(customerName+customerTelephone)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanPackageByStore(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String orderPackageCode = trayGoodsEntity.getAssociationValue(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + Long stockArticleId = parcelListEntity.getStockArticleId(); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(stockArticleId); + Long storeId = stockArticleEntity.getStoreId(); + if(!storeId.equals(filterId)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanPackageByMarket(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String orderPackageCode = trayGoodsEntity.getAssociationValue(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + Long stockArticleId = parcelListEntity.getStockArticleId(); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findEntityByStockArticleId(stockArticleId); + Long mallId = stockArticleEntity.getMallId(); + if(!mallId.equals(filterId)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanPackageByOrderCode(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String orderPackageCode = trayGoodsEntity.getAssociationValue(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + Long stockArticleId = parcelListEntity.getStockArticleId(); + if(!stockArticleId.equals(filterId)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + + private void panduanPackageByService(List sourceTrayGoodsList, Long filterId, String filterValue,WarehouseTrayTypeEntity targetTrayTypeEntity) { + Long trayId = targetTrayTypeEntity.getTrayId(); + String trayCode = targetTrayTypeEntity.getTrayCode(); + Long trayTypeId = targetTrayTypeEntity.getId(); + for (WarehouseTrayGoodsEntity trayGoodsEntity:sourceTrayGoodsList){ + String orderPackageCode = trayGoodsEntity.getAssociationValue(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + String serviceNumber = parcelListEntity.getServiceNumber(); + if(!serviceNumber.equals(filterValue)){ + trayGoodsEntity.setIsFleeing("1"); + } + trayGoodsEntity.setTrayId(trayId); + trayGoodsEntity.setTrayCode(trayCode); + trayGoodsEntity.setTrayTypeId(trayTypeId); + } + } + private void saveTrayGoodsLog(List trayGoodsList, WarehouseTrayTypeEntity trayTypeEntity, String bindingType, String remark, String palletizingType) { List ls = new ArrayList<>(); for (WarehouseTrayGoodsEntity trayGoodsEntity:trayGoodsList){