| src/main/java/com/ruoyi/stock/dto/StockInRecordDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/stock/StockInRecordMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/stock/dto/StockInRecordDto.java
@@ -1,6 +1,7 @@ package com.ruoyi.stock.dto; import com.ruoyi.stock.pojo.StockInRecord; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -35,4 +36,7 @@ //工单 private String workOrderNo; // 顶部父产品id private Long topParentProductId; } src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -85,7 +85,11 @@ for (Long id : ids) { StockInRecord stockInRecord = stockInRecordMapper.selectById(id); if (stockInRecord.getType().equals("0")) { StockInventory stockInventory = stockInventoryMapper.selectOne(new LambdaQueryWrapper<StockInventory>().eq(StockInventory::getProductModelId, stockInRecord.getProductModelId())); StockInventory stockInventory = stockInventoryMapper.selectOne( new LambdaQueryWrapper<StockInventory>() .eq(StockInventory::getProductModelId, stockInRecord.getProductModelId()) .eq(StockInventory::getBatchNo, stockInRecord.getBatchNo()) ); if (stockInventory == null) { throw new BaseException("库存记录中没有对应的产品,无法删除!!!"); } else { @@ -95,7 +99,10 @@ stockInventoryMapper.updateSubtractStockInventory(stockInRecordDto); } } else if (stockInRecord.getType().equals("1")) { StockUninventory stockUninventory = stockUninventoryMapper.selectOne(new LambdaQueryWrapper<StockUninventory>().eq(StockUninventory::getProductModelId, stockInRecord.getProductModelId())); StockUninventory stockUninventory = stockUninventoryMapper.selectOne( new LambdaQueryWrapper<StockUninventory>() .eq(StockUninventory::getProductModelId, stockInRecord.getProductModelId()) .eq(StockUninventory::getBatchNo, stockInRecord.getBatchNo())); if (stockUninventory == null) { throw new BaseException("库存记录中没有对应的产品,无法删除!!!"); } else { src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -3,6 +3,17 @@ <mapper namespace="com.ruoyi.stock.mapper.StockInRecordMapper"> <select id="listPage" resultType="com.ruoyi.stock.dto.StockInRecordDto"> WITH RECURSIVE product_tree AS ( SELECT id FROM product WHERE id = #{params.topParentProductId} UNION ALL SELECT p.id FROM product p INNER JOIN product_tree pt ON p.parent_id = pt.id ) SELECT sir.*, p.product_name AS product_name, @@ -17,7 +28,6 @@ LEFT JOIN product p2 ON p.parent_id = p2.id LEFT JOIN sys_user AS u ON sir.create_user = u.user_id <where> AND p2.product_name != '半成品' <if test="params.timeStr != null and params.timeStr != ''"> AND sir.create_time LIKE CONCAT('%', #{params.timeStr}, '%') </if> @@ -30,11 +40,25 @@ <if test="params.recordType != null and params.recordType != ''"> AND sir.record_type = #{params.recordType} </if> <if test="params.topParentProductId != null and params.topParentProductId > 0"> AND p.id in (select id from product_tree) </if> </where> ORDER BY sir.id DESC </select> <select id="listStockInRecordExportData" resultType="com.ruoyi.stock.execl.StockInRecordExportData"> WITH RECURSIVE product_tree AS ( SELECT id FROM product WHERE id = #{params.topParentProductId} UNION ALL SELECT p.id FROM product p INNER JOIN product_tree pt ON p.parent_id = pt.id ) SELECT sir.*, p.product_name as product_name, @@ -59,6 +83,9 @@ <if test="params.recordType != null and params.recordType != ''"> and sir.record_type = #{params.recordType} </if> <if test="params.topParentProductId != null and params.topParentProductId > 0"> and p.id in (select id from product_tree) </if> </where> order by sir.id desc </select>