|
@@ -205,9 +205,10 @@ public class GoodsLogic {
|
|
|
* 商品详情
|
|
* 商品详情
|
|
|
*
|
|
*
|
|
|
* @param goodsId
|
|
* @param goodsId
|
|
|
|
|
+ * @param allStorageSpec
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- public GoodsSpecBean detail(String goodsId) throws RemoteServiceException {
|
|
|
|
|
|
|
+ public GoodsSpecBean detail(String goodsId, Boolean allStorageSpec) throws RemoteServiceException {
|
|
|
Goods goods = goodsService.getById(goodsId);
|
|
Goods goods = goodsService.getById(goodsId);
|
|
|
final GoodsDetail goodsDetail = goodsDetailService.getById(goodsId);
|
|
final GoodsDetail goodsDetail = goodsDetailService.getById(goodsId);
|
|
|
List<GoodsSpec> goodsSpecs = goodsSpecService.lambdaQuery()
|
|
List<GoodsSpec> goodsSpecs = goodsSpecService.lambdaQuery()
|
|
@@ -216,7 +217,7 @@ public class GoodsLogic {
|
|
|
.list();
|
|
.list();
|
|
|
|
|
|
|
|
//商品库存
|
|
//商品库存
|
|
|
- Integer goodsStock = goodsSpecs.stream().collect(Collectors.summingInt(x -> x.getStockNum()));
|
|
|
|
|
|
|
+ Integer goodsStock = 0;
|
|
|
|
|
|
|
|
GoodsSpecBean goodsBean = new GoodsSpecBean();
|
|
GoodsSpecBean goodsBean = new GoodsSpecBean();
|
|
|
if (goods == null) {
|
|
if (goods == null) {
|
|
@@ -231,6 +232,7 @@ public class GoodsLogic {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
List<GoodsSpecVO> goodsSpecVOS = BeanUtil.copyToList(goodsSpecs, GoodsSpecVO.class);
|
|
List<GoodsSpecVO> goodsSpecVOS = BeanUtil.copyToList(goodsSpecs, GoodsSpecVO.class);
|
|
|
|
|
+ List<GoodsSpecVO> groupGoodsSpecVOS = new ArrayList<>();
|
|
|
for (GoodsSpecVO goodsSpecVO : goodsSpecVOS) {
|
|
for (GoodsSpecVO goodsSpecVO : goodsSpecVOS) {
|
|
|
GoodsMaterial goodsMaterial = goodsMaterialService.getById(goodsSpecVO.getGoodsCode());
|
|
GoodsMaterial goodsMaterial = goodsMaterialService.getById(goodsSpecVO.getGoodsCode());
|
|
|
|
|
|
|
@@ -248,8 +250,22 @@ public class GoodsLogic {
|
|
|
|
|
|
|
|
goodsSpecVO.setCostAmount(goodsMaterial.getCostAmount());
|
|
goodsSpecVO.setCostAmount(goodsMaterial.getCostAmount());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ if (allStorageSpec && CollectionUtil.isNotEmpty(goodsMaterialStorages)) {
|
|
|
|
|
+ // 以规格分组显示每个仓库库存
|
|
|
|
|
+ for (GoodsMaterialStorage materialStorage : goodsMaterialStorages) {
|
|
|
|
|
+ if (!materialStorage.getGoodsMaterialId().equals(goodsSpecVO.getGoodsCode())) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ GoodsSpecVO newGoodsSpecVO = new GoodsSpecVO();
|
|
|
|
|
+ BeanUtils.copyProperties(goodsSpecVO, newGoodsSpecVO);
|
|
|
|
|
+ newGoodsSpecVO.setStorageName(materialStorage.getStorageName());
|
|
|
|
|
+ newGoodsSpecVO.setGoodsMaterialStock(materialStorage.getStockQty());
|
|
|
|
|
+ groupGoodsSpecVOS.add(newGoodsSpecVO);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- goodsBean.setGoodsSpecs(goodsSpecVOS);
|
|
|
|
|
|
|
+ goodsBean.setGoodsSpecs(allStorageSpec ? groupGoodsSpecVOS : goodsSpecVOS);
|
|
|
goodsBean.setImages(commonLogic.queryFileByObjId(goods.getGoodsId(), Constant.Img.GOODS_IMG));
|
|
goodsBean.setImages(commonLogic.queryFileByObjId(goods.getGoodsId(), Constant.Img.GOODS_IMG));
|
|
|
goodsBean.setStock(goodsStock);
|
|
goodsBean.setStock(goodsStock);
|
|
|
List<GoodsTemplate> goodsTemplates = goodsTemplateService.lambdaQuery()
|
|
List<GoodsTemplate> goodsTemplates = goodsTemplateService.lambdaQuery()
|