src/main/java/com/ruoyi/stock/controller/StockUninventoryController.java
@@ -49,6 +49,12 @@ return R.ok(stockUninventoryDtoIPage); } @GetMapping("/getWasteByModelId") @Operation(summary = "根据产品规格ID获取废品库存记录") public R getWasteByModelId(Long productModelId) { return R.ok(stockUninventoryService.getWasteByModelId(productModelId)); } @PostMapping("/addstockUninventory") @Operation(summary = "新增库存") public R addstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) { src/main/java/com/ruoyi/stock/mapper/StockUninventoryMapper.java
@@ -30,6 +30,8 @@ IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, @Param("ew") StockInventoryDto stockInventoryDto); List<StockUninventoryDto> getWasteByModelId(@Param("productModelId") Long productModelId); int updateSubtractStockUnInventory(@Param("ew") StockUninventoryDto stockUninventoryDto); BigDecimal selectPendingOutQuantity(@Param("productModelId") Long productModelId, @Param("batchNo") String batchNo, @Param("type") String type); src/main/java/com/ruoyi/stock/service/StockUninventoryService.java
@@ -9,6 +9,8 @@ import jakarta.servlet.http.HttpServletResponse; import java.util.List; /** * <p> * 不合格库存表 服务类 @@ -25,6 +27,8 @@ IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto); List<StockUninventoryDto> getWasteByModelId(Long productModelId); Integer addStockUninventory(StockUninventoryDto stockUninventoryDto); Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto); src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -90,6 +90,11 @@ } @Override public List<StockUninventoryDto> getWasteByModelId(Long productModelId) { return stockUninventoryMapper.getWasteByModelId(productModelId); } @Override @Transactional(rollbackFor = Exception.class) public Integer addStockUninventory(StockUninventoryDto stockUninventoryDto) { String inventoryType = resolveInventoryType(stockUninventoryDto); src/main/resources/mapper/stock/StockUninventoryMapper.xml
@@ -241,6 +241,42 @@ order by su.batch_no </select> <select id="getWasteByModelId" resultType="com.ruoyi.stock.dto.StockUninventoryDto"> select su.id, su.batch_no, COALESCE(su.locked_quantity, 0) as locked_quantity, (su.qualitity - IFNULL(sd.qualitity, 0)) as qualitity, p.product_name, pm.model, pm.unit, su.product_model_id from stock_uninventory su left join ( select sor.product_model_id, sor.batch_no, sum(spd.quantity) as qualitity from shipping_product_detail spd inner join stock_out_record sor on sor.record_id = spd.shipping_info_id and sor.record_type = '13' and sor.type = '1' and sor.approval_status in (0, 3) and sor.product_model_id = spd.product_model_id and (sor.batch_no = spd.batch_no or (sor.batch_no is null and spd.batch_no is null)) where spd.stock_type = 'waste' group by sor.product_model_id, sor.batch_no ) sd on sd.product_model_id = su.product_model_id and (sd.batch_no = su.batch_no or (sd.batch_no is null and su.batch_no is null)) left join product_model pm on su.product_model_id = pm.id left join product p on pm.product_id = p.id where su.product_model_id = #{productModelId} and su.type = 'waste' and su.qualitity > IFNULL(sd.qualitity, 0) order by su.batch_no </select> <select id="selectPendingOutQuantity" resultType="java.math.BigDecimal"> SELECT IFNULL(SUM(sor.stock_out_num), 0) FROM stock_out_record sor