yzc 1 rok temu
rodzic
commit
e427529db1

+ 8 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockController.java

@@ -69,4 +69,12 @@ public class StockController {
         stockService.delete(dto.getId());
     }
 
+    /**
+     * 库存预警
+     */
+    @PostMapping("/stockWarningPage")
+    public Page<StockVo> stockWarningPage(@RequestBody StockSelectDto dto) {
+        return stockService.stockWarningPage(dto);
+    }
+
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockVo.java

@@ -128,4 +128,9 @@ public class StockVo extends Stock {
      */
     private BigDecimal productHeight;
 
+    /**
+     * 安全库存
+     */
+    private BigDecimal stockThreshold;
+
 }

+ 4 - 2
hx-wms/src/main/java/com/fjhx/wms/mapper/stock/StockMapper.java

@@ -1,8 +1,8 @@
 package com.fjhx.wms.mapper.stock;
 
-import com.fjhx.wms.entity.stock.po.Stock;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.po.Stock;
 import com.fjhx.wms.entity.stock.vo.StockVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
@@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Param;
  * 库存 Mapper 接口
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-03-20
  */
 public interface StockMapper extends BaseMapper<Stock> {
@@ -27,4 +27,6 @@ public interface StockMapper extends BaseMapper<Stock> {
 
     Page<StockVo> pageByProductSpu(@Param("page") Page<Object> page, @Param("ew") IWrapper<Stock> wrapper);
 
+    Page<StockVo> stockWarningPage(@Param("page") Page<Object> page, @Param("companyId") Long companyId);
+
 }

+ 4 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockService.java

@@ -57,5 +57,8 @@ public interface StockService extends BaseService<Stock> {
      */
     StockJournalDetails calculateUnitPrice(InOutType inOutType, Long productId, Long warehouseId, BigDecimal inOutQuantity, Integer purchaseArrival, BigDecimal price);
 
-
+    /**
+     * 库存预警分页
+     */
+    Page<StockVo> stockWarningPage(StockSelectDto dto);
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -442,4 +442,9 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         return stockJournalDetails;
     }
 
+    @Override
+    public Page<StockVo> stockWarningPage(StockSelectDto dto) {
+        return baseMapper.stockWarningPage(dto.getPage(), SecurityUtils.getCompanyId());
+    }
+
 }

+ 17 - 0
hx-wms/src/main/resources/mapper/stock/StockMapper.xml

@@ -41,5 +41,22 @@
                  LEFT JOIN product_spu ps ON pi.product_spu_id = ps.id
             ${ew.customSqlSegment}
     </select>
+    <select id="stockWarningPage" resultType="com.fjhx.wms.entity.stock.vo.StockVo">
+        SELECT *
+        FROM (SELECT pi.id                      AS productId,
+                     pi.custom_code             AS productCode,
+                     pi.`name`                  AS productName,
+                     pi.stock_threshold,
+                     IFNULL(sum(s.quantity), 0) AS quantity,
+                     pi.company_id
+              FROM product_info pi
+                       LEFT JOIN stock s ON s.product_id = pi.id
+                  AND s.company_id = pi.company_id
+              WHERE pi.stock_threshold != 0
+              GROUP BY
+                  pi.id) t1
+        WHERE t1.quantity &lt; t1.stock_threshold
+          AND t1.company_id = #{companyId}
+    </select>
 
 </mapper>