|
|
@@ -1,11 +1,13 @@
|
|
|
package com.gree.mall.manager.logic.goods;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
|
import com.gree.mall.manager.bean.goods.GoodsCodeAccVO;
|
|
|
+import com.gree.mall.manager.bean.goods.GoodsMaterialUseStockBean;
|
|
|
import com.gree.mall.manager.bean.goods.GoodsSaleLedgerVO;
|
|
|
import com.gree.mall.manager.bean.goods.GoodsStockVO;
|
|
|
import com.gree.mall.manager.commonmapper.JxMapper;
|
|
|
@@ -40,6 +42,7 @@ import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.concurrent.locks.Lock;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -133,6 +136,23 @@ public class JxGoodsLogic {
|
|
|
zfireParamBean.getPageSize()),
|
|
|
zfireParam, companyWechatIds);
|
|
|
|
|
|
+ if (CollectionUtil.isNotEmpty(stock.getRecords())) {
|
|
|
+ // 订单已使用库存
|
|
|
+ final List<String> idList = stock.getRecords().stream().map(GoodsStockVO::getGoodsMaterialId).collect(Collectors.toList());
|
|
|
+ final List<String> storageIds = stock.getRecords().stream().map(GoodsStockVO::getStorageId).collect(Collectors.toList());
|
|
|
+ List<GoodsMaterialUseStockBean> beanList = jxMapper.queryUseStock(adminUser.getCompanyWechatIds(), idList, storageIds);
|
|
|
+ if (CollectionUtil.isNotEmpty(beanList)) {
|
|
|
+ final Map<String, Integer> beanMap = beanList.stream().collect(Collectors.toMap(v -> v.getPickStorageId() + v.getGoodsMaterialId(), GoodsMaterialUseStockBean::getNum));
|
|
|
+ for (GoodsStockVO record : stock.getRecords()) {
|
|
|
+ if (beanMap.containsKey(record.getStorageId() + record.getGoodsMaterialId())) {
|
|
|
+ record.setUseStockQty(beanMap.get(record.getStorageId() + record.getGoodsMaterialId()));
|
|
|
+ } else {
|
|
|
+ record.setUseStockQty(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return stock;
|
|
|
|
|
|
}
|