5 changed files with 504 additions and 38 deletions
@ -0,0 +1,417 @@
|
||||
package com.logpm.distribution.receiver.report; |
||||
|
||||
import cn.hutool.core.collection.CollUtil; |
||||
import cn.hutool.core.convert.Convert; |
||||
import cn.hutool.core.util.ObjectUtil; |
||||
import cn.hutool.core.util.RandomUtil; |
||||
import cn.hutool.core.util.StrUtil; |
||||
import cn.hutool.json.JSONUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; |
||||
import com.logpm.basicdata.feign.IBasicdataFactoryCategoryClient; |
||||
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; |
||||
import com.logpm.distribution.dto.ReportQualityDeliverDTO; |
||||
import com.logpm.distribution.entity.DistributionParcelListEntity; |
||||
import com.logpm.distribution.entity.DistributionStockArticleEntity; |
||||
import com.logpm.distribution.entity.DistributionStockListEntity; |
||||
import com.logpm.distribution.entity.DistributionStockListInfoEntity; |
||||
import com.logpm.distribution.entity.QualityDeliverEntity; |
||||
import com.logpm.distribution.pros.DistributionProperties; |
||||
import com.logpm.distribution.service.IDistributionParcelListService; |
||||
import com.logpm.distribution.service.IDistributionStockArticleService; |
||||
import com.logpm.distribution.service.IDistributionStockListInfoService; |
||||
import com.logpm.distribution.service.IDistributionStockListService; |
||||
import com.logpm.distribution.service.IQualityDeliverService; |
||||
import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; |
||||
import com.logpm.warehouse.entity.WarehouseWayBillDetail; |
||||
import com.logpm.warehouse.entity.WarehouseWaybillEntity; |
||||
import com.logpm.warehouse.feign.IWarehouseWaybillClient; |
||||
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.jetbrains.annotations.Nullable; |
||||
import org.springblade.common.constant.WorkNodeEnums; |
||||
import org.springblade.common.enums.BizOperationEnums; |
||||
import org.springblade.common.enums.PackageTypeEnums; |
||||
import org.springblade.core.redis.cache.BladeRedis; |
||||
import org.springframework.stereotype.Component; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.util.Arrays; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 配送明细基础表处理类 |
||||
* |
||||
* @author zhaoqiaobo |
||||
* @create 2024-03-18 0:02 |
||||
*/ |
||||
@Slf4j |
||||
@Component |
||||
@AllArgsConstructor |
||||
public class QualityDeliverAddListener implements ReportService { |
||||
|
||||
@Resource |
||||
private IQualityDeliverService qualityDeliverService; |
||||
|
||||
@Resource |
||||
private IBasicdataWarehouseClient warehouseClient; |
||||
|
||||
@Resource |
||||
private IDistributionParcelListService parcelListService; |
||||
|
||||
@Resource |
||||
private IDistributionStockArticleService stockArticleService; |
||||
|
||||
@Resource |
||||
private IWarehouseWaybillClient warehouseWaybillClient; |
||||
|
||||
@Resource |
||||
private IDistributionStockListService stockListService; |
||||
|
||||
@Resource |
||||
private IDistributionStockListInfoService stockListInfoService; |
||||
|
||||
@Resource |
||||
private IBasicdataFactoryCategoryClient factoryCategoryClient; |
||||
|
||||
@Resource |
||||
private ITrunklineAdvanceDetailClient advanceDetailClient; |
||||
|
||||
@Resource |
||||
private IWarehouseWaybillDetailClient waybillDetailClient; |
||||
|
||||
@Resource |
||||
private BladeRedis redisCache; |
||||
@Resource |
||||
private DistributionProperties destinationProperties; |
||||
|
||||
@Transactional |
||||
public void buildReport(String msg) { |
||||
ReportQualityDeliverDTO bean = JSONUtil.toBean(msg, ReportQualityDeliverDTO.class); |
||||
String node = bean.getNode(); |
||||
String data = bean.getData(); |
||||
QualityDeliverEntity qualityDeliverEntity = JSONUtil.toBean(data, QualityDeliverEntity.class); |
||||
if (ObjectUtil.equals(bean.getOperation(), BizOperationEnums.ADD)) { |
||||
// 查询不存在时更新,存在时修改
|
||||
saveOrUpdate(null, qualityDeliverEntity); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 构建库存品查询Wrapper |
||||
* |
||||
* @param qualityDeliverEntity |
||||
* @Return com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<com.logpm.distribution.entity.QualityDeliverEntity> |
||||
* @Author zqb 2024/9/10 |
||||
**/ |
||||
private static @Nullable LambdaQueryWrapper<QualityDeliverEntity> buildInvWrapper(QualityDeliverEntity qualityDeliverEntity) { |
||||
LambdaQueryWrapper<QualityDeliverEntity> wrapper = Wrappers.<QualityDeliverEntity>lambdaQuery() |
||||
.lt(QualityDeliverEntity::getBizStatus, 110); |
||||
if (ObjectUtil.isNotEmpty(qualityDeliverEntity.getId())) { |
||||
// 库存品更新优先按id更新
|
||||
wrapper.eq(QualityDeliverEntity::getId, qualityDeliverEntity.getId()); |
||||
} else { |
||||
if (StrUtil.isNotEmpty(qualityDeliverEntity.getOrderPackageCode())) { |
||||
// 没有id,按包条码更新
|
||||
wrapper.eq(QualityDeliverEntity::getOrderPackageCode, qualityDeliverEntity.getOrderPackageCode()); |
||||
} else { |
||||
if (StrUtil.isEmpty(qualityDeliverEntity.getMallName())) { |
||||
// 没有id,没有包条码。没有商场,不处理。
|
||||
return null; |
||||
} else { |
||||
// 否则加上商场过滤
|
||||
wrapper.eq(QualityDeliverEntity::getMallName, qualityDeliverEntity.getMallName()); |
||||
} |
||||
if (StrUtil.isEmpty(qualityDeliverEntity.getMaterielCode()) && StrUtil.isEmpty(qualityDeliverEntity.getMaterielName())) { |
||||
// 没有id,没有包条码,没有商场,没有物料,不处理。
|
||||
return null; |
||||
} |
||||
if (StrUtil.isNotEmpty(qualityDeliverEntity.getMaterielCode())) { |
||||
// 优先按物料编码更新
|
||||
wrapper.eq(QualityDeliverEntity::getMaterielCode, qualityDeliverEntity.getMaterielCode()); |
||||
} else { |
||||
// 按物料名称更新
|
||||
wrapper.eq(QualityDeliverEntity::getMaterielName, qualityDeliverEntity.getMaterielName()); |
||||
} |
||||
} |
||||
if (StrUtil.isNotEmpty(qualityDeliverEntity.getBizCode())) { |
||||
// 有预约单号时加上预约单号过滤:存在同一个库存品在多个预约单中,只根据库存品本身的信息无法查询出对应的数据的情况。
|
||||
wrapper.eq(QualityDeliverEntity::getBizCode, qualityDeliverEntity.getBizCode()); |
||||
} |
||||
} |
||||
return wrapper; |
||||
} |
||||
|
||||
/** |
||||
* 修改或者新增 |
||||
* |
||||
* @param wrapper |
||||
* @param qualityDeliverEntity |
||||
* @Return void |
||||
* @Author zqb 2024/9/10 |
||||
**/ |
||||
private void saveOrUpdate(LambdaQueryWrapper<QualityDeliverEntity> wrapper, QualityDeliverEntity qualityDeliverEntity) { |
||||
QualityDeliverEntity entity = null; |
||||
if (ObjectUtil.isNotEmpty(wrapper)) { |
||||
wrapper.select(QualityDeliverEntity::getId); |
||||
entity = qualityDeliverService.getOne(wrapper); |
||||
} |
||||
if (ObjectUtil.isNotEmpty(entity)) { |
||||
// 修改
|
||||
qualityDeliverEntity.setId(entity.getId()); |
||||
qualityDeliverService.updateById(qualityDeliverEntity); |
||||
} else { |
||||
// 新增
|
||||
// 初始化基础数据
|
||||
initBasicData(qualityDeliverEntity); |
||||
qualityDeliverService.save(qualityDeliverEntity); |
||||
} |
||||
} |
||||
|
||||
private void initBasicData(QualityDeliverEntity qualityDeliverEntity) { |
||||
// 仓库信息
|
||||
warehouseInfo(qualityDeliverEntity); |
||||
Integer conditions = qualityDeliverEntity.getConditions(); |
||||
if (ObjectUtil.equals(PackageTypeEnums.CMP.getCode(), conditions)) { |
||||
// 订制品
|
||||
// 构建订制品基础信息
|
||||
DistributionParcelListEntity parcelListEntity = getDistributionParcelListEntity(qualityDeliverEntity.getOrderPackageCode(), qualityDeliverEntity.getWarehouseId()); |
||||
buildCmpBasicInfo(qualityDeliverEntity, parcelListEntity); |
||||
} |
||||
if (ObjectUtil.equals(PackageTypeEnums.INV.getCode(), conditions)) { |
||||
// 库存品
|
||||
buildInvBasicInfo(qualityDeliverEntity); |
||||
} |
||||
if (ObjectUtil.equals(PackageTypeEnums.LTL.getCode(), conditions)) { |
||||
// 零担
|
||||
WarehouseWayBillDetail wayBillDetail = waybillDetailClient.findENtityByCodeAndName(qualityDeliverEntity.getOrderCode(), qualityDeliverEntity.getCategory()); |
||||
if (ObjectUtil.isNotEmpty(wayBillDetail)) { |
||||
qualityDeliverEntity.setCostCategoryId(wayBillDetail.getProductId()); |
||||
qualityDeliverEntity.setRevenueCategoryId(wayBillDetail.getProductId()); |
||||
qualityDeliverEntity.setCostCategory(wayBillDetail.getProductName()); |
||||
qualityDeliverEntity.setRevenueCategory(wayBillDetail.getProductName()); |
||||
} |
||||
DistributionParcelListEntity parcelListEntity = parcelListService.findByOrderCodeAndCategory(qualityDeliverEntity.getOrderCode(), qualityDeliverEntity.getCategory(), qualityDeliverEntity.getWarehouseId()); |
||||
buildCmpBasicInfo(qualityDeliverEntity, parcelListEntity); |
||||
// buildOrderInfo(qualityDeliverEntity, qualityDeliverEntity.getWarehouseId(), qualityDeliverEntity.getOrderCode());
|
||||
} |
||||
} |
||||
|
||||
private DistributionParcelListEntity getDistributionParcelListEntity(String orderPackageCode, Long warehouseId) { |
||||
DistributionParcelListEntity parcelListEntity = parcelListService.selectByOrderPackageCode(orderPackageCode, warehouseId); |
||||
return parcelListEntity; |
||||
} |
||||
|
||||
private void buildInvBasicInfo(QualityDeliverEntity qualityDeliverEntity) { |
||||
String materielName = qualityDeliverEntity.getMaterielName(); |
||||
DistributionStockListEntity stockListEntity = new DistributionStockListEntity(); |
||||
stockListEntity.setIncomingBatch(qualityDeliverEntity.getIncomingBatch()); |
||||
stockListEntity.setMallName(qualityDeliverEntity.getMallName()); |
||||
stockListEntity.setCargoNumber((qualityDeliverEntity.getMaterielCode())); |
||||
stockListEntity.setDescriptionGoods(materielName); |
||||
stockListEntity.setWarehouseId(qualityDeliverEntity.getWarehouseId()); |
||||
DistributionStockListEntity stockList = stockListService.findStockListByAttrAndWarehouseId(stockListEntity); |
||||
if (ObjectUtil.isNotEmpty(stockList)) { |
||||
String brandName = stockList.getBrandName(); |
||||
String sourceType = stockList.getSourceType(); |
||||
if (StrUtil.equals(sourceType, "1")) { |
||||
// 定制品转的库存品先查出包条码
|
||||
List<DistributionStockListInfoEntity> list = stockListInfoService.list(Wrappers.<DistributionStockListInfoEntity>lambdaQuery().eq(DistributionStockListInfoEntity::getStockListId, stockList.getId())); |
||||
if (CollUtil.isNotEmpty(list)) { |
||||
DistributionStockListInfoEntity distributionStockListInfoEntity = list.get(0); |
||||
DistributionParcelListEntity parcelListEntity = getDistributionParcelListEntity(distributionStockListInfoEntity.getPackageCode(), qualityDeliverEntity.getWarehouseId()); |
||||
buildCmpBasicInfo(qualityDeliverEntity, parcelListEntity); |
||||
} |
||||
} else { |
||||
qualityDeliverEntity.setBeginWarehouseName(stockList.getWarehouseName()); |
||||
qualityDeliverEntity.setBeginWarehouseInTime(stockList.getWarehousingTime()); |
||||
qualityDeliverEntity.setBrandName(brandName); |
||||
qualityDeliverEntity.setMallCode(stockList.getMarketCode()); |
||||
qualityDeliverEntity.setMallId(stockList.getMarketId()); |
||||
qualityDeliverEntity.setAssignedCustomerId(Convert.toStr(stockList.getMarketId())); |
||||
qualityDeliverEntity.setAssignedCustomer(stockList.getMarketName()); |
||||
qualityDeliverEntity.setStoreCode(stockList.getStoreCode()); |
||||
qualityDeliverEntity.setStoreName(stockList.getStoreName()); |
||||
qualityDeliverEntity.setEndWarehouseInTime(stockList.getWarehousingTime()); |
||||
} |
||||
// 品类
|
||||
// if (StrUtil.isNotEmpty(materielName) && StrUtil.isNotEmpty(brandName)) {
|
||||
// BasicdataFactoryCategoryEntity factoryCategoryEntity = new BasicdataFactoryCategoryEntity();
|
||||
// factoryCategoryEntity.setMaterielName(materielName);
|
||||
// factoryCategoryEntity.setBrand(brandName);
|
||||
// factoryCategoryEntity.setType(2);
|
||||
// BasicdataFactoryCategoryEntity categoryEntity = factoryCategoryClient.findEntityByBrandAndMaterielName(factoryCategoryEntity);
|
||||
// factoryCategoryEntity.setType(1);
|
||||
// BasicdataFactoryCategoryEntity categoryEntity1 = factoryCategoryClient.findEntityByBrandAndMaterielName(factoryCategoryEntity);
|
||||
// if (ObjectUtil.isNotEmpty(categoryEntity)) {
|
||||
// qualityDeliverEntity.setCostCategoryId(categoryEntity.getCategoryId());
|
||||
// qualityDeliverEntity.setCostCategory(categoryEntity.getCategory());
|
||||
// }
|
||||
// if (ObjectUtil.isNotEmpty(categoryEntity1)) {
|
||||
// qualityDeliverEntity.setRevenueCategory(categoryEntity.getCategory());
|
||||
// qualityDeliverEntity.setRevenueCategoryId(categoryEntity1.getCategoryId());
|
||||
// }
|
||||
// TODO 从入库单上查询入库时间
|
||||
// }
|
||||
} |
||||
|
||||
} |
||||
|
||||
private void buildCmpBasicInfo(QualityDeliverEntity qualityDeliverEntity, DistributionParcelListEntity parcelListEntity) { |
||||
if (ObjectUtil.isNotEmpty(parcelListEntity)) { |
||||
// 品牌
|
||||
qualityDeliverEntity.setBrandName(parcelListEntity.getBrandName()); |
||||
// 商场id
|
||||
// qualityDeliverEntity.setMallId(parcelListEntity.getMallId());
|
||||
// 订制品的物料从包件上取
|
||||
if (ObjectUtil.equals(PackageTypeEnums.CMP.getCode(), qualityDeliverEntity.getConditions())) { |
||||
// 物料名称
|
||||
qualityDeliverEntity.setMaterielName(parcelListEntity.getMaterialName()); |
||||
// 物料编码
|
||||
qualityDeliverEntity.setMaterielCode(parcelListEntity.getMaterialCode()); |
||||
} |
||||
// 包条码
|
||||
if (StrUtil.isNotEmpty(parcelListEntity.getOrderPackageCode())) { |
||||
qualityDeliverEntity.setOrderPackageCode(parcelListEntity.getOrderPackageCode()); |
||||
} |
||||
// 订单号
|
||||
qualityDeliverEntity.setOrderCode(parcelListEntity.getOrderCode()); |
||||
// 工厂车次号
|
||||
qualityDeliverEntity.setTrainNumber(parcelListEntity.getTrainNumber()); |
||||
// 一级品
|
||||
qualityDeliverEntity.setFirstsProduct(parcelListEntity.getFirsts()); |
||||
// 二级品
|
||||
qualityDeliverEntity.setSecondProduct(parcelListEntity.getSecond()); |
||||
// 三级品
|
||||
qualityDeliverEntity.setThirdProduct(parcelListEntity.getThirdProduct()); |
||||
// 体积
|
||||
qualityDeliverEntity.setVolume(parcelListEntity.getVolume()); |
||||
// 重量
|
||||
qualityDeliverEntity.setWeight(parcelListEntity.getWeight()); |
||||
// 运单号
|
||||
String waybillNumber = parcelListEntity.getWaybillNumber(); |
||||
qualityDeliverEntity.setWaybillNumber(parcelListEntity.getWaybillNumber()); |
||||
// 始发仓
|
||||
qualityDeliverEntity.setBeginWarehouseName(parcelListEntity.getSendWarehouseName()); |
||||
// 当前仓入库时间
|
||||
qualityDeliverEntity.setEndWarehouseInTime(parcelListEntity.getWarehouseEntryTimeEnd()); |
||||
// 构建运单相关信息
|
||||
buildWaybillInfo(qualityDeliverEntity, waybillNumber); |
||||
} |
||||
// 暂存单查询结算品类
|
||||
// TrunklineAdvanceDetailEntity advanceDetailEntity = advanceDetailClient.findEntityByOrderPackageCode(qualityDeliverEntity.getOrderPackageCode());
|
||||
// if (ObjectUtil.isNotEmpty(advanceDetailEntity)) {
|
||||
// qualityDeliverEntity.setCostCategoryId(advanceDetailEntity.getCostCategoryId());
|
||||
// qualityDeliverEntity.setCostCategory(advanceDetailEntity.getCostCategoryName());
|
||||
// qualityDeliverEntity.setRevenueCategoryId(advanceDetailEntity.getIncomeCategoryId());
|
||||
// qualityDeliverEntity.setRevenueCategory(advanceDetailEntity.getIncomeCategoryName());
|
||||
// }
|
||||
// 构建订单相关信息
|
||||
buildOrderInfo(qualityDeliverEntity, qualityDeliverEntity.getWarehouseId(), qualityDeliverEntity.getOrderCode()); |
||||
} |
||||
|
||||
private void buildOrderInfo(QualityDeliverEntity qualityDeliverEntity, Long warehouseId, String orderCode) { |
||||
DistributionStockArticleEntity stockArticleEntity = getDistributionStockArticleEntity(warehouseId, orderCode); |
||||
if (ObjectUtil.isNotEmpty(stockArticleEntity)) { |
||||
qualityDeliverEntity.setOrderNumber(stockArticleEntity.getTotalNumber()); |
||||
// 客户信息
|
||||
qualityDeliverEntity.setCustomName(stockArticleEntity.getCustomerName()); |
||||
qualityDeliverEntity.setCustomPhone(stockArticleEntity.getCustomerTelephone()); |
||||
qualityDeliverEntity.setCustomAddress(stockArticleEntity.getCustomerAddress()); |
||||
// 商场信息
|
||||
qualityDeliverEntity.setMallName(stockArticleEntity.getMallName()); |
||||
qualityDeliverEntity.setMallId(stockArticleEntity.getMallId()); |
||||
qualityDeliverEntity.setMallCode(stockArticleEntity.getMallCode()); |
||||
// 服务号
|
||||
qualityDeliverEntity.setServiceNumber(stockArticleEntity.getServiceNumber()); |
||||
// 经销商信息
|
||||
qualityDeliverEntity.setDealerName(stockArticleEntity.getDealerName()); |
||||
qualityDeliverEntity.setDealerCode(stockArticleEntity.getDealerCode()); |
||||
// 门店信息
|
||||
qualityDeliverEntity.setStoreCode(stockArticleEntity.getStoreCode()); |
||||
qualityDeliverEntity.setStoreName(stockArticleEntity.getStoreName()); |
||||
// 品牌
|
||||
qualityDeliverEntity.setBrandName(stockArticleEntity.getBrand()); |
||||
} |
||||
} |
||||
|
||||
private DistributionStockArticleEntity getDistributionStockArticleEntity(Long warehouseId, String orderCode) { |
||||
String key = "report:qualityDeliver:stockArticle:" + warehouseId + "_" + orderCode; |
||||
String obj = redisCache.get(key); |
||||
if (StrUtil.isNotEmpty(obj)) { |
||||
return JSONUtil.toBean(obj, DistributionStockArticleEntity.class); |
||||
} |
||||
DistributionStockArticleEntity stockArticleEntity = stockArticleService.findStockArticleByOrderCodeAndWarehouseId(orderCode, warehouseId); |
||||
if (ObjectUtil.isNotEmpty(stockArticleEntity)) { |
||||
redisCache.setEx(key, JSONUtil.toJsonStr(stockArticleEntity), 60 * 60L + RandomUtil.randomInt(600)); |
||||
return stockArticleEntity; |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
private void buildWaybillInfo(QualityDeliverEntity qualityDeliverEntity, String waybillNumber) { |
||||
if (StrUtil.isNotEmpty(waybillNumber)) { |
||||
WarehouseWaybillEntity byWaybillNo = getWarehouseWaybillEntity(waybillNumber); |
||||
if (ObjectUtil.isNotEmpty(byWaybillNo)) { |
||||
qualityDeliverEntity.setOpenOrderTime(byWaybillNo.getDocumentMakingTime()); |
||||
// 运单发货信息
|
||||
qualityDeliverEntity.setShipperUnitId(byWaybillNo.getShipperId()); |
||||
qualityDeliverEntity.setShipperUnit(byWaybillNo.getShipper()); |
||||
qualityDeliverEntity.setShipperPerson(byWaybillNo.getShipperName()); |
||||
qualityDeliverEntity.setShipperMobile(byWaybillNo.getShipperMobile()); |
||||
qualityDeliverEntity.setShipperAddress(byWaybillNo.getShipperAddress()); |
||||
// 运单收货信息
|
||||
qualityDeliverEntity.setConsigneeUnitId(byWaybillNo.getConsigneeId()); |
||||
qualityDeliverEntity.setConsigneeUnit(byWaybillNo.getConsignee()); |
||||
qualityDeliverEntity.setConsigneePerson(byWaybillNo.getConsigneeName()); |
||||
qualityDeliverEntity.setConsigneeMobile(byWaybillNo.getConsigneeMobile()); |
||||
qualityDeliverEntity.setConsigneeAddress(byWaybillNo.getConsigneeAddress()); |
||||
|
||||
qualityDeliverEntity.setAssignedCustomerId(Convert.toStr(byWaybillNo.getConsigneeId())); |
||||
qualityDeliverEntity.setAssignedCustomer(byWaybillNo.getConsignee()); |
||||
|
||||
} |
||||
} |
||||
} |
||||
|
||||
private WarehouseWaybillEntity getWarehouseWaybillEntity(String waybillNumber) { |
||||
String key = "report:qualityDeliver:waybill:" + waybillNumber; |
||||
String obj = redisCache.get(key); |
||||
if (StrUtil.isNotEmpty(obj)) { |
||||
return JSONUtil.toBean(obj, WarehouseWaybillEntity.class); |
||||
} |
||||
WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo(waybillNumber); |
||||
if (ObjectUtil.isNotEmpty(byWaybillNo)) { |
||||
redisCache.setEx(key, JSONUtil.toJsonStr(byWaybillNo), 60 * 60L + RandomUtil.randomInt(600)); |
||||
return byWaybillNo; |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
private void warehouseInfo(QualityDeliverEntity qualityDeliverEntity) { |
||||
BasicdataWarehouseEntity warehouseEntity = getBasicdataWarehouseEntities(qualityDeliverEntity.getWarehouseId()); |
||||
if (ObjectUtil.isNotEmpty(warehouseEntity)) { |
||||
// 事业线
|
||||
qualityDeliverEntity.setBusinessUnit(warehouseEntity.getBusinessLine()); |
||||
qualityDeliverEntity.setWarehousePosition(StrUtil.concat(true, Convert.toStr(warehouseEntity.getLongitude()), ",", Convert.toStr(warehouseEntity.getLatitude()))); |
||||
} |
||||
} |
||||
|
||||
public BasicdataWarehouseEntity getBasicdataWarehouseEntities(Long warehouseId) { |
||||
String key = "report:qualityDeliver:warehouse:" + warehouseId; |
||||
String obj = redisCache.get(key); |
||||
if (StrUtil.isNotEmpty(obj)) { |
||||
return JSONUtil.toBean(obj, BasicdataWarehouseEntity.class); |
||||
} |
||||
List<BasicdataWarehouseEntity> warehouseEntities = warehouseClient.findWarehousesByIds(Arrays.asList(warehouseId)); |
||||
if (CollUtil.isNotEmpty(warehouseEntities)) { |
||||
redisCache.setEx(key, JSONUtil.toJsonStr(warehouseEntities.get(0)), 60 * 60L + RandomUtil.randomInt(600)); |
||||
return warehouseEntities.get(0); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue