Browse Source

1.干线bug修复

dist.1.3.0
zhenghaoyu 6 months ago
parent
commit
3b15d99659
  1. 9
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java
  2. 8
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java
  3. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java
  4. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java
  5. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  6. 4
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java
  7. 7
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java
  8. 3
      blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/PackageFanoutListener.java
  9. 20
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  10. 24
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  11. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java
  12. 209
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

9
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java

@ -204,4 +204,13 @@ public interface IDistributionParcelListClient {
@PostMapping(API_PREFIX + "/addZeroParcelList") @PostMapping(API_PREFIX + "/addZeroParcelList")
void addZeroParcelList(@RequestBody List<DistributionParcelListEntity> addParcelListEntityList); void addZeroParcelList(@RequestBody List<DistributionParcelListEntity> addParcelListEntityList);
@PostMapping(API_PREFIX + "/findListByIds")
List<DistributionParcelListEntity> findListByIds(@RequestBody List<Long> orderPackageIdList);
@PostMapping(API_PREFIX + "/clearPallet")
void clearPallet(@RequestBody List<Long> orderPackageIdList);
} }

8
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java

@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* 配送在库订单 Feign接口类 * 配送在库订单 Feign接口类
@ -194,4 +195,11 @@ public interface IDistributionStockArticleClient {
@GetMapping(API_PREFIX + "/addHandQuantityAndIncomingNum") @GetMapping(API_PREFIX + "/addHandQuantityAndIncomingNum")
void addHandQuantityAndIncomingNum(@RequestParam Long stockId, @RequestParam Integer enterNum); void addHandQuantityAndIncomingNum(@RequestParam Long stockId, @RequestParam Integer enterNum);
@GetMapping(API_PREFIX + "/findListByIds")
List<DistributionStockArticleEntity> findListByIds(@RequestBody Set<Long> stockArticleIdSet);
@GetMapping(API_PREFIX + "/clearTraysByIds")
void clearTraysByIds(@RequestBody List<Long> clearStockArticleIdList);
} }

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java

@ -492,4 +492,14 @@ public class DistributionParcelListClient implements IDistributionParcelListClie
distributionParcelNumberService.saveBatch(addList); distributionParcelNumberService.saveBatch(addList);
} }
@Override
public List<DistributionParcelListEntity> findListByIds(List<Long> orderPackageIdList) {
return distributionParcelListService.listByIds(orderPackageIdList);
}
@Override
public void clearPallet(List<Long> orderPackageIdList) {
distributionParcelListService.clearPalletByIds(orderPackageIdList);
}
} }

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java

@ -389,4 +389,14 @@ public class DistributionStockArticleClient implements IDistributionStockArticle
distributionStockArticleService.addHandQuantityAndIncomingNum(stockId,enterNum); distributionStockArticleService.addHandQuantityAndIncomingNum(stockId,enterNum);
} }
@Override
public List<DistributionStockArticleEntity> findListByIds(Set<Long> stockArticleIdSet) {
return distributionStockArticleService.listByIds(stockArticleIdSet);
}
@Override
public void clearTraysByIds(List<Long> clearStockArticleIdList) {
distributionStockArticleService.clearTraysByIds(clearStockArticleIdList);
}
} }

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -254,4 +254,5 @@ public interface IDistributionParcelListService extends BaseService<Distribution
String findAllAllocationByNoParcelListIds(List<Long> parcelListIdList, String orderCode); String findAllAllocationByNoParcelListIds(List<Long> parcelListIdList, String orderCode);
void clearAllocationByIds(List<Long> clearTrayList); void clearAllocationByIds(List<Long> clearTrayList);
} }

4
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java

@ -660,6 +660,10 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
}else{ }else{
distributionStockArticleEntity.setTotalNumber(total); distributionStockArticleEntity.setTotalNumber(total);
distributionStockArticleEntity.setGenre(1); distributionStockArticleEntity.setGenre(1);
String reservationStatus = distributionStockArticleEntity.getReservationStatus();
if("30".equals(reservationStatus)){
distributionStockArticleEntity.setReservationStatus("20");
}
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity); distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity);
} }

7
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java

@ -1613,6 +1613,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
private void saveOrderPackage(DistributionStockArticleEntity distributionStockArticleEntity, BasicdataWarehouseEntity basicdataWarehouseEntity, String waybillNo,String operationTime,Integer oldWarehouseId,Integer inventoryId) { private void saveOrderPackage(DistributionStockArticleEntity distributionStockArticleEntity, BasicdataWarehouseEntity basicdataWarehouseEntity, String waybillNo,String operationTime,Integer oldWarehouseId,Integer inventoryId) {
String orderCode = distributionStockArticleEntity.getOrderCode(); String orderCode = distributionStockArticleEntity.getOrderCode();
String reservationStatus = distributionStockArticleEntity.getReservationStatus();
Long warehouseId = basicdataWarehouseEntity.getId(); Long warehouseId = basicdataWarehouseEntity.getId();
//查询订单下的所有包件 //查询订单下的所有包件
@ -1771,6 +1772,12 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
log.warn("#################handleDataToPlatform: 保存包件信息失败 orderCode={}", entity.getOrderCode()); log.warn("#################handleDataToPlatform: 保存包件信息失败 orderCode={}", entity.getOrderCode());
}else{ }else{
log.info("################handleDataToPlatform: 保存包件成功 OrderPackageCode={}",vo.getPacketBarCode()); log.info("################handleDataToPlatform: 保存包件成功 OrderPackageCode={}",vo.getPacketBarCode());
if("30".equals(reservationStatus)){
distributionStockArticleEntity.setReservationStatus("20");
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity);
}
// distributionStockArticleClient.updateOrderInfo(orderCode,distributionStockArticleEntity.getWarehouseId()); // distributionStockArticleClient.updateOrderInfo(orderCode,distributionStockArticleEntity.getWarehouseId());
// Integer handQuantity = distributionStockArticleEntity.getHandQuantity(); // Integer handQuantity = distributionStockArticleEntity.getHandQuantity();
// Integer totalNumber = distributionStockArticleEntity.getTotalNumber(); // Integer totalNumber = distributionStockArticleEntity.getTotalNumber();

3
blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/PackageFanoutListener.java

@ -54,7 +54,8 @@ public class PackageFanoutListener {
Integer workNode = jsonObject.getInt("workNode"); Integer workNode = jsonObject.getInt("workNode");
if (WorkNodeEnums.SIGN_DIRECT_SHIPPER.getCode().equals(workNode) if (WorkNodeEnums.SIGN_DIRECT_SHIPPER.getCode().equals(workNode)
|| WorkNodeEnums.SIGN_TRIPARTITE_TRANSFER_DEPART.getCode().equals(workNode) || WorkNodeEnums.SIGN_TRIPARTITE_TRANSFER_DEPART.getCode().equals(workNode)
|| WorkNodeEnums.DISTRIBUTION_SIGN_FOR.getCode().equals(workNode)) { || WorkNodeEnums.DISTRIBUTION_SIGN_FOR.getCode().equals(workNode)
|| WorkNodeEnums.DISTRIBUTION_ABNORMAL_SIGN_FOR.getCode().equals(workNode)) {
JSONArray orderPackageCodes = jsonObject.getJSONArray("orderPackageCodes"); JSONArray orderPackageCodes = jsonObject.getJSONArray("orderPackageCodes");
List<String> orderPackageCodeList = orderPackageCodes.toList(String.class); List<String> orderPackageCodeList = orderPackageCodes.toList(String.class);

20
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -190,16 +190,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
} }
//收货单位-----根据三方商场找到对应的clientId
Long clientId = basicdataTripartiteMallClient.getClientIdByNameAndBrandAndCode(dealerName,StringUtil.isBlank(dealerCode)?"":dealerCode, brand);
BasicdataClientVO basicdataClientEntity = basicdataClientClient.findEntityVoById(clientId);
if (!Objects.isNull(basicdataClientEntity)) {
openOrderVO.setConsigneeClientId(clientId);
TrunklineAdvanceEntity advanceEntity = list.get(0); TrunklineAdvanceEntity advanceEntity = list.get(0);
openOrderVO.setConsignee(basicdataClientEntity.getClientName());
openOrderVO.setConsigneeName(basicdataClientEntity.getLinkman());
openOrderVO.setConsigneeMobile(basicdataClientEntity.getPhone());
openOrderVO.setConsigneeAddress(basicdataClientEntity.getDetailedly());
if(!Objects.isNull(advanceEntity)){ if(!Objects.isNull(advanceEntity)){
String consigneePerson = advanceEntity.getConsigneePerson(); String consigneePerson = advanceEntity.getConsigneePerson();
if(!StringUtil.isBlank(consigneePerson)){ if(!StringUtil.isBlank(consigneePerson)){
@ -209,6 +200,17 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
} }
} }
//收货单位-----根据三方商场找到对应的clientId
Long clientId = basicdataTripartiteMallClient.getClientIdByNameAndBrandAndCode(dealerName,StringUtil.isBlank(dealerCode)?"":dealerCode, brand);
BasicdataClientVO basicdataClientEntity = basicdataClientClient.findEntityVoById(clientId);
if (!Objects.isNull(basicdataClientEntity)) {
openOrderVO.setConsigneeClientId(clientId);
openOrderVO.setConsignee(basicdataClientEntity.getClientName());
openOrderVO.setConsigneeName(basicdataClientEntity.getLinkman());
openOrderVO.setConsigneeMobile(basicdataClientEntity.getPhone());
openOrderVO.setConsigneeAddress(basicdataClientEntity.getDetailedly());
List<String> destinationArray = new ArrayList<>(); List<String> destinationArray = new ArrayList<>();
String badeRegionAreaId = basicdataClientEntity.getBladeRegionAreaId(); String badeRegionAreaId = basicdataClientEntity.getBladeRegionAreaId();
String bladeRegionProvinceId = basicdataClientEntity.getBladeRegionProvinceId(); String bladeRegionProvinceId = basicdataClientEntity.getBladeRegionProvinceId();

24
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -1142,6 +1142,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
newStockArticleEntity.setIncomingNum(unloadNum); newStockArticleEntity.setIncomingNum(unloadNum);
newStockArticleEntity.setWarehouse(warehouseEntity.getName()); newStockArticleEntity.setWarehouse(warehouseEntity.getName());
newStockArticleEntity.setWarehouseId(warehouseEntity.getId()); newStockArticleEntity.setWarehouseId(warehouseEntity.getId());
newStockArticleEntity.setAllocation(null);
newStockArticleEntity.setTrays(null);
newStockArticleEntity.setCarsLoadNum(0); newStockArticleEntity.setCarsLoadNum(0);
Long orderId = distributionStockArticleClient.addData(newStockArticleEntity); Long orderId = distributionStockArticleClient.addData(newStockArticleEntity);
if (orderId != 0) { if (orderId != 0) {
@ -2471,6 +2473,16 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Long loadScanId = null; Long loadScanId = null;
TrunklineCarsLoadScanEntity trunklineCarsLoadScan = trunklineCarsLoadScanService.findEntityByLoadIdAndOrderPackageCode(loadId, orderPackageCode);
if(!Objects.isNull(trunklineCarsLoadScan)){
String scanStatus = trunklineCarsLoadScan.getScanStatus();
if("1".equals(scanStatus)){
log.warn("##################loadingScan: 包件已装车 orderPackageCode={}", orderPackageCode);
return Resp.scanFail(405,"包件已装车","包件已装车");
}
}
//判断包条码是不是在库 //判断包条码是不是在库
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId); DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId);
TrunklineCarsLoadScanEntity carsLoadScanEntity = new TrunklineCarsLoadScanEntity(); TrunklineCarsLoadScanEntity carsLoadScanEntity = new TrunklineCarsLoadScanEntity();
@ -4274,6 +4286,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
newStockArticleEntity.setGroundingStatus("10"); newStockArticleEntity.setGroundingStatus("10");
newStockArticleEntity.setOrderReceiveStatus("10"); newStockArticleEntity.setOrderReceiveStatus("10");
newStockArticleEntity.setFreezeStatus("10"); newStockArticleEntity.setFreezeStatus("10");
newStockArticleEntity.setAllocation(null);
newStockArticleEntity.setTrays(null);
orderId = distributionStockArticleClient.addData(newStockArticleEntity); orderId = distributionStockArticleClient.addData(newStockArticleEntity);
finalOrderCodes.put(e, orderId); finalOrderCodes.put(e, orderId);
} }
@ -4393,6 +4407,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
newStockArticleEntity.setGroundingStatus("10"); newStockArticleEntity.setGroundingStatus("10");
newStockArticleEntity.setOrderReceiveStatus("10"); newStockArticleEntity.setOrderReceiveStatus("10");
newStockArticleEntity.setFreezeStatus("10"); newStockArticleEntity.setFreezeStatus("10");
newStockArticleEntity.setAllocation(null);
newStockArticleEntity.setTrays(null);
orderId = distributionStockArticleClient.addData(newStockArticleEntity); orderId = distributionStockArticleClient.addData(newStockArticleEntity);
finalOrderCodes1.put(e, orderId); finalOrderCodes1.put(e, orderId);
} }
@ -7126,6 +7142,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
currentStockArticleEntity.setTransferQuantity(0); currentStockArticleEntity.setTransferQuantity(0);
currentStockArticleEntity.setSigninQuantity(0); currentStockArticleEntity.setSigninQuantity(0);
currentStockArticleEntity.setIncomingNum(0); currentStockArticleEntity.setIncomingNum(0);
currentStockArticleEntity.setAllocation(null);
currentStockArticleEntity.setTrays(null);
currentOrderId = distributionStockArticleClient.addData(currentStockArticleEntity); currentOrderId = distributionStockArticleClient.addData(currentStockArticleEntity);
currentStockArticleEntity.setId(currentOrderId); currentStockArticleEntity.setId(currentOrderId);
} else { } else {
@ -7301,6 +7319,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
currentStockArticleEntity.setTransferQuantity(0); currentStockArticleEntity.setTransferQuantity(0);
currentStockArticleEntity.setSigninQuantity(0); currentStockArticleEntity.setSigninQuantity(0);
currentStockArticleEntity.setIncomingNum(0); currentStockArticleEntity.setIncomingNum(0);
currentStockArticleEntity.setAllocation(null);
currentStockArticleEntity.setTrays(null);
currentOrderId = distributionStockArticleClient.addData(currentStockArticleEntity); currentOrderId = distributionStockArticleClient.addData(currentStockArticleEntity);
currentStockArticleEntity.setId(currentOrderId); currentStockArticleEntity.setId(currentOrderId);
} else { } else {
@ -7448,6 +7468,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
stockArticleEntity.setTransferQuantity(0); stockArticleEntity.setTransferQuantity(0);
stockArticleEntity.setSigninQuantity(0); stockArticleEntity.setSigninQuantity(0);
stockArticleEntity.setIncomingNum(0); stockArticleEntity.setIncomingNum(0);
stockArticleEntity.setAllocation(null);
stockArticleEntity.setTrays(null);
currentOrderId = distributionStockArticleClient.addData(stockArticleEntity); currentOrderId = distributionStockArticleClient.addData(stockArticleEntity);
stockArticleEntity.setId(currentOrderId); stockArticleEntity.setId(currentOrderId);
} else { } else {
@ -7529,6 +7551,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
newStockArticle.setId(null); newStockArticle.setId(null);
newStockArticle.setWarehouseId(warehouseId); newStockArticle.setWarehouseId(warehouseId);
newStockArticle.setWarehouse(basicdataWarehouseEntity.getName()); newStockArticle.setWarehouse(basicdataWarehouseEntity.getName());
newStockArticle.setAllocation(null);
newStockArticle.setTrays(null);
orderId = distributionStockArticleClient.addData(newStockArticle); orderId = distributionStockArticleClient.addData(newStockArticle);
} else { } else {
orderId = newStockArticle.getId(); orderId = newStockArticle.getId();

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java

@ -22,10 +22,7 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Log4j2 @Log4j2
@Service @Service

209
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -3937,17 +3937,224 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
@Override @Override
public void changeTrayWarehouseInfo(String trayCode, Long warehouseId) { public void changeTrayWarehouseInfo(String trayCode, Long warehouseId) {
BasicdataTrayEntity basicdataTrayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode);
if(Objects.isNull(basicdataTrayEntity)){
log.warn("#############changeTrayWarehouseInfo: 托盘信息不存在 trayCode={}",trayCode);
throw new CustomerException(403,"托盘信息不存在");
}
String palletName = basicdataTrayEntity.getPalletName();
QueryWrapper<WarehouseTrayTypeEntity> queryWrapper = new QueryWrapper<>(); QueryWrapper<WarehouseTrayTypeEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tray_code",trayCode) queryWrapper.eq("tray_code",trayCode)
.eq("is_deleted",0); .eq("is_deleted",0);
WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryWrapper); WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryWrapper);
trayTypeEntity.setWarehouseId(warehouseId); trayTypeEntity.setWarehouseId(warehouseId);
updateById(trayTypeEntity); updateById(trayTypeEntity);
Long trayTypeId = trayTypeEntity.getId(); Long trayTypeId = trayTypeEntity.getId();
warehouseTrayGoodsService.updeteWarehouseIdByTrayTypeId(trayTypeId,warehouseId); warehouseTrayGoodsService.updeteWarehouseIdByTrayTypeId(trayTypeId,warehouseId);
QueryWrapper<WarehouseTrayGoodsEntity> trayGoodsEntityQueryWrapper = new QueryWrapper<>();
trayGoodsEntityQueryWrapper.eq("tray_type_id",trayTypeId);
List<WarehouseTrayGoodsEntity> trayGoodsEntities = warehouseTrayGoodsService.list(trayGoodsEntityQueryWrapper);
List<DistributionStockArticleEntity> updateStockArticleList = new ArrayList<>();
List<Long> clearStockArticleIdList = new ArrayList<>();
List<DistributionParcelListEntity> updateParceList = new ArrayList<>();
//把trayGoodsEntities中所有元素的associationType进行分组
Map<String, List<WarehouseTrayGoodsEntity>> map = trayGoodsEntities.stream().collect(Collectors.groupingBy(WarehouseTrayGoodsEntity::getAssociationType));
map.keySet().forEach(associationType -> {
List<WarehouseTrayGoodsEntity> warehouseTrayGoodsEntities = map.get(associationType);
if("1".equals(associationType)){
//把warehouseTrayGoodsEntities中所有的associationId放入一个Set
Set<Long> orderIdSet = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toSet());
List<DistributionStockArticleEntity> stockArticleEntityList = distributionStockArticleClient.findListByIds(orderIdSet);
stockArticleEntityList.forEach(stockArticleEntity -> {
String trays = stockArticleEntity.getTrays();
if(!StringUtil.isBlank(trays)){
if(trays.contains(palletName)){
List<String> list = Arrays.asList(trays.split(trays));
List<String> trayList = new ArrayList<>(list);
trayList.remove(palletName);
if(CollUtil.isNotEmpty(trayList)){
DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity();
updateStockArticle.setId(stockArticleEntity.getId());
updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),","));
updateStockArticleList.add(updateStockArticle);
}else{
clearStockArticleIdList.add(stockArticleEntity.getId());
}
}
}
});
}else if ("3".equals(associationType)){
//把trayGoodsEntities中的所有元素的associationId放入一个List
List<Long> orderPackageIdList = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toList());
//清除原来仓库的包件上的托盘信息
distributionParcelListClient.clearPallet(orderPackageIdList);
//查询原仓库有哪些包件
List<DistributionParcelListEntity> oldParceList = distributionParcelListClient.findListByIds(orderPackageIdList);
//把oldParceList中的所有元素的stockArticleId放入一个set
Set<Long> stockArticleIdSet = oldParceList.stream().map(DistributionParcelListEntity::getStockArticleId).collect(Collectors.toSet());
List<DistributionStockArticleEntity> oldStockArticleList = distributionStockArticleClient.findListByIds(stockArticleIdSet);
oldStockArticleList.forEach(stockArticleEntity -> {
String trays = stockArticleEntity.getTrays();
if(!StringUtil.isBlank(trays)){
if(trays.contains(palletName)){
List<String> list = Arrays.asList(trays.split(trays));
List<String> trayList = new ArrayList<>(list);
trayList.remove(palletName);
if(CollUtil.isNotEmpty(trayList)){
DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity();
updateStockArticle.setId(stockArticleEntity.getId());
updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),","));
updateStockArticleList.add(updateStockArticle);
}else{
clearStockArticleIdList.add(stockArticleEntity.getId());
}
}
}
});
}
});
// if(CollUtil.isNotEmpty(updateStockArticleList)){
// distributionStockArticleClient.updateByBatchId(updateStockArticleList);
// }
//
// if(CollUtil.isNotEmpty(clearStockArticleIdList)){
// distributionStockArticleClient.clearTraysByIds(clearStockArticleIdList);
// }
List<WarehouseTrayGoodsEntity> updateTrayGoodsList = new ArrayList<>();
//处理新的
map.keySet().forEach(associationType -> {
List<WarehouseTrayGoodsEntity> warehouseTrayGoodsEntities = map.get(associationType);
//把warehouseTrayGoodsEntities转化成以associationValue为key的Map
Map<String, WarehouseTrayGoodsEntity> warehouseTrayGoodsMap = warehouseTrayGoodsEntities.stream()
.collect(Collectors.toMap(
WarehouseTrayGoodsEntity::getAssociationValue, // key
entity -> entity, // value
(existing, replacement) -> existing // 如果key重复,保留第一个值
));
if("1".equals(associationType)){
//把warehouseTrayGoodsEntities中所有元素的associationValue放入一个Set
Set<String> orderCodeSet = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationValue).collect(Collectors.toSet());
FindParamterDTO findParamterDTO = new FindParamterDTO();
findParamterDTO.setOrderCodeSet(orderCodeSet);
findParamterDTO.setWarehouseId(warehouseId);
List<DistributionStockArticleEntity> stockArticleEntityList = distributionStockArticleClient.findListByOrderCodesAndWarehouseId(findParamterDTO);
stockArticleEntityList.forEach(stockArticleEntity -> {
WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = warehouseTrayGoodsMap.get(stockArticleEntity.getOrderCode());
if(!Objects.isNull(warehouseTrayGoodsEntity)){
warehouseTrayGoodsEntity.setAssociationId(stockArticleEntity.getId());
warehouseTrayGoodsEntity.setWarehouseId(warehouseId);
updateTrayGoodsList.add(warehouseTrayGoodsEntity);
}
String trays = stockArticleEntity.getTrays();
if(!StringUtil.isBlank(trays)){
if(!trays.contains(palletName)){
List<String> list = Arrays.asList(trays.split(trays));
List<String> trayList = new ArrayList<>(list);
trayList.add(palletName);
DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity();
updateStockArticle.setId(stockArticleEntity.getId());
updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),","));
updateStockArticleList.add(updateStockArticle);
}
}else{
DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity();
updateStockArticle.setId(stockArticleEntity.getId());
updateStockArticle.setTrays(palletName);
updateStockArticleList.add(updateStockArticle);
}
});
}else if ("3".equals(associationType)){
//把warehouseTrayGoodsEntities中所有元素的associationValue放入一个Set
Set<String> orderPackageCodeSet = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationValue).collect(Collectors.toSet());
FindParamterDTO findParamterDTO = new FindParamterDTO();
findParamterDTO.setOrderPackageCodeList(new ArrayList<>(orderPackageCodeSet));
findParamterDTO.setWarehouseId(warehouseId);
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListClient.findListByOrderPackageCodeList(findParamterDTO);
//把parcelListEntityList转化成以orderPackageCode为key的Map
Map<String, DistributionParcelListEntity> parcelListEntityMap = parcelListEntityList.stream()
.collect(Collectors.toMap(
DistributionParcelListEntity::getOrderPackageCode, // key
entity -> entity, // value
(existing, replacement) -> existing // 如果key重复,保留第一个值
));
warehouseTrayGoodsEntities.forEach(warehouseTrayGoodsEntity -> {
DistributionParcelListEntity parcelList = parcelListEntityMap.get(warehouseTrayGoodsEntity.getAssociationValue());
if(!Objects.isNull(parcelList)){
warehouseTrayGoodsEntity.setAssociationId(parcelList.getId());
warehouseTrayGoodsEntity.setWarehouseId(warehouseId);
updateTrayGoodsList.add(warehouseTrayGoodsEntity);
DistributionParcelListEntity updateParceEntity = new DistributionParcelListEntity();
updateParceEntity.setId(parcelList.getId());
updateParceEntity.setPallet(palletName);
updateParceList.add(updateParceEntity);
}
});
//把parcelListEntityList中所有元素的orderCode放入一个Set
Set<String> orderCodeSet = parcelListEntityList.stream().map(DistributionParcelListEntity::getOrderCode).collect(Collectors.toSet());
findParamterDTO.setOrderCodeSet(orderCodeSet);
findParamterDTO.setWarehouseId(warehouseId);
List<DistributionStockArticleEntity> stockArticleEntityList = distributionStockArticleClient.findListByOrderCodesAndWarehouseId(findParamterDTO);
stockArticleEntityList.forEach(stockArticleEntity -> {
String trays = stockArticleEntity.getTrays();
if(!StringUtil.isBlank(trays)){
if(trays.contains(palletName)){
List<String> list = Arrays.asList(trays.split(trays));
List<String> trayList = new ArrayList<>(list);
trayList.remove(palletName);
if(CollUtil.isNotEmpty(trayList)){
DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity();
updateStockArticle.setId(stockArticleEntity.getId());
updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),","));
updateStockArticleList.add(updateStockArticle);
}else{
clearStockArticleIdList.add(stockArticleEntity.getId());
}
}
}
});
}
});
if(CollUtil.isNotEmpty(updateParceList)){
distributionParcelListClient.updateList(updateParceList);
}
if(CollUtil.isNotEmpty(updateStockArticleList)){
distributionStockArticleClient.updateByBatchId(updateStockArticleList);
}
if(CollUtil.isNotEmpty(clearStockArticleIdList)){
distributionStockArticleClient.clearTraysByIds(clearStockArticleIdList);
}
} }
@Override @Override

Loading…
Cancel
Save