huminmin
2026-06-01 bd5d1dae54ea1e42e9e9f0d00f671d95914b105f
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -115,7 +115,7 @@
     * @param recordId
     */
    public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo) {
        addStockWithBatchNo(productModelId, quantity, recordType, recordId, batchNo, null);
        addStockWithBatchNo(productModelId, quantity, recordType, recordId, batchNo, null, null);
    }
    /**
@@ -124,6 +124,16 @@
     * @param recordId
     */
    public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo, LocalDateTime createTime) {
        addStockWithBatchNo(productModelId, quantity, recordType, recordId, batchNo, createTime, null);
    }
    /**
     * 合格入库带批次号(含仓库)
     * @param recordType
     * @param recordId
     * @param warehouse
     */
    public void addStockWithBatchNo(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo, LocalDateTime createTime, String warehouse) {
        StockInventoryDto stockInventoryDto = new StockInventoryDto();
        stockInventoryDto.setRecordId(recordId);
        stockInventoryDto.setRecordType(String.valueOf(recordType));
@@ -131,6 +141,7 @@
        stockInventoryDto.setProductModelId(productModelId);
        stockInventoryDto.setBatchNo(batchNo);
        stockInventoryDto.setCreateTime(createTime);
        stockInventoryDto.setWarehouse(warehouse);
        stockInventoryService.addStockInRecordOnly(stockInventoryDto);
    }
@@ -143,12 +154,27 @@
     * @param recordId
     */
    public void substractStock(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo) {
        substractStock(productModelId, quantity, recordType, recordId, batchNo, null);
    }
    /**
     * 合格出库(带出库批号)
     *
     * @param productModelId
     * @param quantity
     * @param recordType
     * @param recordId
     * @param batchNo
     * @param outboundBatches 出库批号,如果为空则自动生成
     */
    public void substractStock(Long productModelId, BigDecimal quantity, String recordType, Long recordId, String batchNo, String outboundBatches) {
        StockInventoryDto stockInventoryDto = new StockInventoryDto();
        stockInventoryDto.setRecordId(recordId);
        stockInventoryDto.setRecordType(String.valueOf(recordType));
        stockInventoryDto.setQualitity(quantity);
        stockInventoryDto.setProductModelId(productModelId);
        stockInventoryDto.setBatchNo(batchNo);
        stockInventoryDto.setOutboundBatches(outboundBatches);
        stockInventoryService.addStockOutRecordOnly(stockInventoryDto);
    }