src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -5,8 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.enums.ReviewStatusEnum; import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.EnumUtil; import com.ruoyi.common.utils.OrderUtils; @@ -24,12 +25,12 @@ import com.ruoyi.stock.pojo.StockInventory; import com.ruoyi.stock.pojo.StockUninventory; import com.ruoyi.stock.service.StockInRecordService; import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import jakarta.servlet.http.HttpServletResponse; import java.util.List; @Service @@ -192,6 +193,9 @@ if ("0".equals(stockInRecord.getType())) { // 合格入库 -> 先查库存,存在则更新,不存在则新增 StockInventory stockInventory = getStockInventory(stockInRecord.getProductModelId(), stockInRecord.getBatchNo()); if (stockInventory.getLocked().equals( true)&&!stockInRecord.getRecordType().equals(StockInQualifiedRecordTypeEnum.INVENTORY_CHECK_STOCK_IN.getCode())) { throw new BaseException("正在库存盘点,无法入库,入库批次:" + stockInRecord.getInboundBatches()); } StockInventoryDto stockInventoryDto = new StockInventoryDto(); stockInventoryDto.setProductModelId(stockInRecord.getProductModelId()); stockInventoryDto.setBatchNo(stockInRecord.getBatchNo()); src/main/java/com/ruoyi/stock/service/impl/StockInventoryCheckPlanServiceImpl.java
@@ -140,7 +140,7 @@ stockOutRecordService.batchApprove(Collections.singletonList(stock.getId()), 1); } //更新库存锁定状态 stockInventoryService.updateLocked(stockInventoryDto.getProductModelId(),stockInventoryDto.getBatchNo(), true); stockInventoryService.updateLocked(stockInventoryDto.getProductModelId(),stockInventoryDto.getBatchNo(), false); } stockInventoryCheckItemMapper.updateById(stockInventoryCheckPlanDto.getCheckItems()); plan.setStatus(2); src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -177,6 +177,9 @@ if (stockInventory == null) { throw new BaseException("合格库存记录不存在,出库批次:" + stockOutRecord.getOutboundBatches()); } if (stockInventory.getLocked().equals( true)&&!stockOutRecord.getRecordType().equals(StockOutQualifiedRecordTypeEnum.INVENTORY_CHECK_STOCK_OUT.getCode())) { throw new BaseException("正在库存盘点,无法出库,出库批次:" + stockOutRecord.getOutboundBatches()); } StockInventoryDto stockInventoryDto = new StockInventoryDto(); stockInventoryDto.setProductModelId(stockOutRecord.getProductModelId()); stockInventoryDto.setBatchNo(stockOutRecord.getBatchNo()); src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -66,12 +66,12 @@ <update id="updateLocked"> update stock_inventory set locked = #{locked} where product_model_id = #{ew.productModelId} where product_model_id = #{productModelId} <if test="batchNo == null"> and batch_no is null </if> <if test="batchNo != null"> and batch_no = #{ew.batchNo} and batch_no = #{batchNo} </if> </update> <select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto"> @@ -487,7 +487,7 @@ from stock_inventory si left join product_model pm on si.product_model_id = pm.id left join product p on pm.product_id = p.id where 1 = 1 where 1 = 1 and si.locked = 0 <if test="ew.productName != null and ew.productName !=''"> and p.product_name like concat('%',#{ew.productName},'%') </if>