|
|
|
@ -16,12 +16,16 @@
|
|
|
|
|
*/ |
|
|
|
|
package com.logpm.distribution.service.impl; |
|
|
|
|
|
|
|
|
|
import com.aliyuncs.unmarshaller.JsonUnmashaller; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.BeanUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
|
|
|
|
import com.logpm.basic.entity.BasicMaterialEntity; |
|
|
|
|
import com.logpm.basic.feign.IBasicMaterialClient; |
|
|
|
|
import com.logpm.distribution.dto.DistributionStockArticleDTO; |
|
|
|
|
import com.logpm.distribution.entity.*; |
|
|
|
|
import com.logpm.distribution.excel.DistributionStockArticleExcel; |
|
|
|
@ -34,12 +38,15 @@ import com.logpm.distribution.vo.DistributionStockArticleVO;
|
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.common.constant.DictBizConstant; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.mp.support.Query; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.system.cache.DictBizCache; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
@ -75,6 +82,9 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
|
|
|
|
|
private final IDistributionParcelListService distributionParcelListService; |
|
|
|
|
|
|
|
|
|
private final IDistributionParcelDetailsService distributionParcelDetailsService; |
|
|
|
|
private final IBasicMaterialClient basicMaterialClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionStockArticleVO> selectDistributionStockArticlePage(IPage<DistributionStockArticleVO> page, DistributionStockArticleVO distributionStockArticle) { |
|
|
|
@ -99,7 +109,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
@Override |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public Boolean saveStock(String ids) { |
|
|
|
|
try { |
|
|
|
|
// try {
|
|
|
|
|
if (StringUtils.isNotBlank(ids)) { |
|
|
|
|
//查询
|
|
|
|
|
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda() |
|
|
|
@ -112,8 +122,25 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
// .eq(DistributionStockListEntity::getServiceNumber,i.getServiceNumber())
|
|
|
|
|
// .eq(DistributionStockListEntity::getMaterial,i.getMaterial())
|
|
|
|
|
// );
|
|
|
|
|
// 添加库存品信息
|
|
|
|
|
addStockList(i, 1); |
|
|
|
|
//查询包件有没有物料
|
|
|
|
|
List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda() |
|
|
|
|
.eq(DistributionParcelDetailsEntity::getParcelListId, i.getId()) |
|
|
|
|
); |
|
|
|
|
if(list.size() > 0){ |
|
|
|
|
list.forEach( a ->{ |
|
|
|
|
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); |
|
|
|
|
BeanUtil.copyProperties(i,parcelListEntity); |
|
|
|
|
parcelListEntity.setMaterialName(a.getName()); |
|
|
|
|
parcelListEntity.setMaterialCode(a.getEncoded()); |
|
|
|
|
parcelListEntity.setMaterialUnit(a.getUnit()); |
|
|
|
|
// 添加库存品信息
|
|
|
|
|
addStockList(parcelListEntity, 1); |
|
|
|
|
} ); |
|
|
|
|
}else{ |
|
|
|
|
// 添加库存品信息
|
|
|
|
|
addStockList(i, 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
String[] split = ids.split(","); |
|
|
|
|
for (int i = 0; i < split.length; i++) { |
|
|
|
@ -127,10 +154,10 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.info("异常", e.getMessage()); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
// log.info("异常", e.getMessage());
|
|
|
|
|
// return false;
|
|
|
|
|
// }
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -249,10 +276,14 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
* @param distributionParcelList 包件信息 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public DistributionStockArticleEntity addStockList(DistributionParcelListEntity distributionParcelList, Integer qu) { |
|
|
|
|
|
|
|
|
|
//查询在库订单信息
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = baseMapper.selectById(distributionParcelList.getStockArticleId()); |
|
|
|
|
|
|
|
|
|
if(ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId()) || distributionStockArticleEntity.getMallId().equals("-1") ){ |
|
|
|
|
throw new ServiceException("客户数据异常,无法转换!!"); |
|
|
|
|
} |
|
|
|
|
DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity(); |
|
|
|
|
|
|
|
|
|
distributionStockListEntity.setStockArticleId(Optional.ofNullable(distributionParcelList.getStockArticleId()).orElse(null)); //订单ID
|
|
|
|
@ -278,6 +309,10 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
distributionStockListEntity.setStoreName(Optional.ofNullable(distributionStockArticleEntity.getStoreName()).orElse(null));//门店名称
|
|
|
|
|
distributionStockListEntity.setFactory(Optional.ofNullable(distributionStockArticleEntity.getFactoryTrain()).orElse(null));//工厂车次
|
|
|
|
|
distributionStockListEntity.setCategory(Optional.ofNullable(distributionParcelList.getBrandId()).orElse(null));//品分类
|
|
|
|
|
distributionStockListEntity.setUnpackingQuantity(0); |
|
|
|
|
distributionStockListEntity.setTrayName(Optional.ofNullable(distributionParcelList.getPallet()).orElse(null)); |
|
|
|
|
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(distributionParcelList.getMaterialId()); |
|
|
|
|
distributionStockListEntity.setSku(materialOwnId.getSku()); |
|
|
|
|
distributionStockListEntity.setMaterialId(Optional.ofNullable(distributionParcelList.getMaterialId()).orElse(null));//货物ID
|
|
|
|
|
distributionStockListEntity.setParcelListId(distributionParcelList.getId());//包件id
|
|
|
|
|
distributionStockListEntity.setQuantityOccupied(0);//冻结数量
|
|
|
|
|