src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.handler.CustomTenantLineHandler;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd;
import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto;
@@ -81,6 +82,11 @@
                .updateUser(Long.valueOf(procurementRecordOutAdd.getUserId()))
                .updateTime(LocalDateTime.now());
        ProcurementRecordOut saved = procurementRecordOut.build();
        // 出库写入时临时跳过租户插件,避免 jsqlparser 解析异常
        // (ClassCastException: SetOperationList cannot be cast to PlainSelect)
        // tenant_id 由 MybatisHandler 的 strictInsertFill 自动填充,不会丢
        CustomTenantLineHandler.TEMP_IGNORE.set(Boolean.TRUE);
        try {
        this.save(saved);
        if (StringUtils.isNotEmpty(procurementRecordOutAdd.getRequisitionNum()) && saved.getId() != null) {
            ProcurementRecordOut upd = ProcurementRecordOut.builder()
@@ -89,6 +95,9 @@
                    .build();
            procurementRecordOutMapper.updateById(upd);
        }
        } finally {
            CustomTenantLineHandler.TEMP_IGNORE.remove();
        }
        return 0;
    }