Kaynağa Gözat

产品明细添加库存

yzc 1 yıl önce
ebeveyn
işleme
3010dc9384

+ 8 - 0
hx-item/src/main/java/com/fjhx/item/ItemService.java

@@ -0,0 +1,8 @@
+package com.fjhx.item;
+
+import java.math.BigDecimal;
+
+public interface ItemService {
+
+    BigDecimal getStockQuantity(Long productId);
+}

+ 58 - 0
hx-item/src/main/java/com/fjhx/item/entity/product/StockBo.java

@@ -0,0 +1,58 @@
+package com.fjhx.item.entity.product;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 库存
+ * </p>
+ *
+ * @author
+ * @since 2023-03-20
+ */
+@Getter
+@Setter
+@TableName("stock")
+public class StockBo extends BasePo {
+
+    /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
+     * 产品id
+     */
+    private Long productId;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal quantity;
+
+    /**
+     * 维多利亚扩展
+     */
+    private String victoriatouristJson;
+
+    /**
+     * 结存单价
+     */
+    private BigDecimal unitPrice;
+
+    /**
+     * 租户id
+     */
+    private String tenantId;
+
+    /**
+     * 已出库库存数量
+     */
+    private BigDecimal outQuantity;
+
+}

+ 5 - 0
hx-item/src/main/java/com/fjhx/item/entity/product/po/ProductInfo.java

@@ -109,4 +109,9 @@ public class ProductInfo extends BasePo {
      */
     private BigDecimal outUnitPrice;
 
+    /**
+     * 库存数量
+     */
+    private BigDecimal stockQuantity;
+
 }

+ 6 - 0
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -22,6 +22,7 @@ import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.mapper.FileInfoMapper;
 import com.fjhx.file.service.FileInfoService;
 import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.item.ItemService;
 import com.fjhx.item.entity.product.dto.ProductInfoDto;
 import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
 import com.fjhx.item.entity.product.po.ProductClassify;
@@ -84,6 +85,8 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
     private DictTenantDataService dictTenantDataService;
     @Autowired
     private FileInfoService fileInfoService;
+    @Autowired
+    private ItemService itemService;
 
     @Override
     public Page<ProductInfoVo> getPage(ProductInfoSelectDto dto) {
@@ -292,6 +295,9 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         Map<Long, List<FileInfoVo>> fileInfoMap = fileInfoService.getList(dto);
         DynamicDataSourceContextHolder.poll();
         result.setFileList(fileInfoMap.get(result.getId()));
+        //赋值库存
+        BigDecimal stockQuantity = itemService.getStockQuantity(result.getId());
+        result.setStockQuantity(stockQuantity);
         return result;
     }
 

+ 25 - 0
hx-wms/src/main/java/com/fjhx/wms/service/ItemServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fjhx.wms.service;
+
+import com.fjhx.item.ItemService;
+import com.fjhx.wms.entity.stock.po.Stock;
+import com.fjhx.wms.service.stock.StockService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Service
+public class ItemServiceImpl implements ItemService {
+
+    @Autowired
+    private StockService stockService;
+
+    @Override
+    public BigDecimal getStockQuantity(Long productId) {
+        List<Stock> list = stockService.list(q -> q.eq(Stock::getProductId, productId));
+        BigDecimal quantity = list.stream().map(Stock::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+        return quantity;
+    }
+}