|
|
@@ -210,25 +210,29 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
StringBuffer storage = new StringBuffer();//未找到仓库的商品
|
|
|
List<StockGoodsLog> stockGoodsLogList = new ArrayList<>();
|
|
|
Date date = new Date();
|
|
|
- if (!data.isEmpty()){
|
|
|
+ if (!data.isEmpty()) {
|
|
|
List<GoodsDesc> goodsDescList = new ArrayList<>();
|
|
|
String code = data.stream().map(StockGoodsExcel::getCode).filter(Objects::nonNull).distinct().collect(Collectors.joining(","));
|
|
|
R<List<GoodsDesc>> goodsR = goodsDescClient.getGoodsListByCode(code);
|
|
|
- if (goodsR.isSuccess()){
|
|
|
+ if (goodsR.isSuccess()) {
|
|
|
goodsDescList = goodsR.getData();
|
|
|
}
|
|
|
List<CorpsDesc> corpsDescList = new ArrayList<>();
|
|
|
String corpName = data.stream().map(StockGoodsExcel::getCorpName).filter(Objects::nonNull).distinct().collect(Collectors.joining(","));
|
|
|
R<List<CorpsDesc>> corpR = corpsDescClient.getCorpListByCorpName(corpName);
|
|
|
- if (goodsR.isSuccess()){
|
|
|
+ if (goodsR.isSuccess()) {
|
|
|
corpsDescList = corpR.getData();
|
|
|
}
|
|
|
List<StorageDesc> storageDescList = new ArrayList<>();
|
|
|
String storageName = data.stream().map(StockGoodsExcel::getStorageName).filter(Objects::nonNull).distinct().collect(Collectors.joining(","));
|
|
|
R<List<StorageDesc>> storageR = storageClient.getStorageList(storageName);
|
|
|
- if (goodsR.isSuccess()){
|
|
|
+ if (goodsR.isSuccess()) {
|
|
|
storageDescList = storageR.getData();
|
|
|
}
|
|
|
+ List<StockGoods> stockGoodsList = new ArrayList<>();
|
|
|
+ List<StockGoods> stockGoodList1 = baseMapper.selectList(new LambdaQueryWrapper<StockGoods>()
|
|
|
+ .eq(StockGoods::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(StockGoods::getIsDeleted, 0));
|
|
|
for (StockGoodsExcel datum : data) {
|
|
|
|
|
|
StockGoodsLog stockGoodsLog = new StockGoodsLog();
|
|
|
@@ -253,7 +257,7 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
stockGoods.setWarehouseId(1510440001509326849L);
|
|
|
}
|
|
|
//获取商品id
|
|
|
- GoodsDesc goodsDesc = goodsDescList.stream().filter(e-> e.getCode().equals(datum.getCode())).findFirst().orElse(null);
|
|
|
+ GoodsDesc goodsDesc = goodsDescList.stream().filter(e -> e.getCode().equals(datum.getCode())).findFirst().orElse(null);
|
|
|
if (goodsDesc != null) {
|
|
|
stockGoods.setGoodsId(goodsDesc.getId());
|
|
|
if (StringUtils.isNotBlank(goodsDesc.getBrand())) {
|
|
|
@@ -283,8 +287,8 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
}
|
|
|
//获取客户id
|
|
|
if (StringUtils.isNotBlank(datum.getCorpName())) {
|
|
|
- CorpsDesc corpsDesc = corpsDescList.stream().filter(e-> e.getCname().equals(datum.getCorpName())).findFirst().orElse(null);
|
|
|
- if ( corpsDesc != null) {
|
|
|
+ CorpsDesc corpsDesc = corpsDescList.stream().filter(e -> e.getCname().equals(datum.getCorpName())).findFirst().orElse(null);
|
|
|
+ if (corpsDesc != null) {
|
|
|
stockGoods.setCorpId(corpsDesc.getId());
|
|
|
stockGoods.setCorpName(corpsDesc.getCname());
|
|
|
}
|
|
|
@@ -300,7 +304,7 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
continue;
|
|
|
}
|
|
|
//获取仓库id
|
|
|
- StorageDesc storageDesc = storageDescList.stream().filter(e-> e.getCname().equals(datum.getStorageName())).findFirst().orElse(null);
|
|
|
+ StorageDesc storageDesc = storageDescList.stream().filter(e -> e.getCname().equals(datum.getStorageName())).findFirst().orElse(null);
|
|
|
if (storageDesc != null) {
|
|
|
stockGoods.setStorageId(storageDesc.getId());
|
|
|
} else {
|
|
|
@@ -308,15 +312,20 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
continue;
|
|
|
}
|
|
|
//查询库存账
|
|
|
- StockGoods goods = baseMapper.selectOne(new QueryWrapper<StockGoods>().eq("goods_id", stockGoods.getGoodsId())
|
|
|
+ StockGoods goods = stockGoodList1.stream().filter(e -> e.getGoodsId().equals(stockGoods.getGoodsId())
|
|
|
+ && e.getCorpId().equals(stockGoods.getCorpId()) && e.getItemType().equals(stockGoods.getItemType())
|
|
|
+ && e.getStorageId().equals(stockGoods.getStorageId())).findFirst().orElse(null);
|
|
|
+ /*StockGoods goods = baseMapper.selectOne(new QueryWrapper<StockGoods>().eq("goods_id", stockGoods.getGoodsId())
|
|
|
.eq("corp_id", stockGoods.getCorpId()).eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0)
|
|
|
- .eq("item_type", stockGoods.getItemType()).eq("storage_id", stockGoods.getStorageId()));
|
|
|
+ .eq("item_type", stockGoods.getItemType()).eq("storage_id", stockGoods.getStorageId()));*/
|
|
|
if (goods == null) {
|
|
|
stockGoods.setCreateTime(new Date());
|
|
|
stockGoods.setCreateUser(SecureUtil.getUserId());
|
|
|
stockGoods.setLockingQuantity(BigDecimal.ZERO);//锁定数量
|
|
|
- baseMapper.insert(stockGoods);
|
|
|
+ stockGoodsList.add(stockGoods);
|
|
|
+// baseMapper.insert(stockGoods);
|
|
|
} else {
|
|
|
+ stockGoods.setVersion(goods.getVersion());
|
|
|
stockGoodsLog.setStockId(goods.getId());
|
|
|
stockGoodsLog.setBalanceQuantityOld(goods.getBalanceQuantity());
|
|
|
stockGoodsLog.setSurplusRouteQuantityOld(goods.getSurplusRouteQuantity());
|
|
|
@@ -328,14 +337,16 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
stockGoods.setUpdateTime(new Date());
|
|
|
stockGoods.setId(goods.getId());
|
|
|
stockGoods.setSurplusRouteQuantity(stockGoods.getSurplusRouteQuantity().subtract(goods.getLockingQuantity()));//可用数量 = 可用减去之前的锁定
|
|
|
- baseMapper.updateById(stockGoods);
|
|
|
+// baseMapper.updateById(stockGoods);
|
|
|
+ stockGoodsList.add(stockGoods);
|
|
|
stockGoodsLog.setBalanceQuantity(stockGoods.getBalanceQuantity());
|
|
|
stockGoodsLog.setSurplusRouteQuantity(stockGoods.getSurplusRouteQuantity());
|
|
|
stockGoodsLog.setLockingQuantity(goods.getLockingQuantity());
|
|
|
stockGoodsLogList.add(stockGoodsLog);
|
|
|
}
|
|
|
}
|
|
|
- stockGoodsLogService.saveOrUpdateBatch(stockGoodsLogList);
|
|
|
+// stockGoodsLogService.saveOrUpdateBatch(stockGoodsLogList);
|
|
|
+ this.saveOrUpdateBatch(stockGoodsList);
|
|
|
}
|
|
|
String message = new String("导入成功");
|
|
|
if (StringUtils.isNotBlank(good)) {
|
|
|
@@ -489,7 +500,7 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
|
|
|
.eq(StockGoods::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(StockGoods::getIsDeleted, 0));
|
|
|
for (StockGoods stockGoods : list) {
|
|
|
- List<OrderVO> orderVOList = baseMapper.orderInventoryList(AuthUtil.getTenantId(),"GN","XS", stockGoods.getGoodsId(), stockGoods.getCorpId(), stockGoods.getStorageId());
|
|
|
+ List<OrderVO> orderVOList = baseMapper.orderInventoryList(AuthUtil.getTenantId(), "GN", "XS", stockGoods.getGoodsId(), stockGoods.getCorpId(), stockGoods.getStorageId());
|
|
|
// List<OrderVO> orderVOList = orderDescClient.orderInventoryList("XS", stockGoods.getGoodsId(), stockGoods.getCorpId(), stockGoods.getStorageId());
|
|
|
if (ObjectUtils.isNull(orderVOList) || orderVOList.size() == 0) {
|
|
|
stockGoods.setLockingQuantity(new BigDecimal("0"));
|