@@ -, +, @@ matching biblionumber in batch table, if items are not deleted because they are issued. --- C4/ImportBatch.pm | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) --- a/C4/ImportBatch.pm +++ a/C4/ImportBatch.pm @@ -687,7 +687,8 @@ sub BatchRevertBibRecords { $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'}); SetImportRecordStatus($rowref->{'import_record_id'}, 'reverted'); } - my $sth2 = $dbh->prepare_cached("UPDATE import_biblios LEFT JOIN import_items USING (import_record_id) SET matched_biblionumber = NULL WHERE import_record_id = ? AND status != 'imported'" ); + # remove matched_biblionumber only if there is no 'imported' item left + my $sth2 = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = NULL WHERE import_record_id = ? AND NOT EXISTS (SELECT * FROM import_items WHERE import_items.import_record_id=import_biblios.import_record_id and status='imported')" ); $sth2->execute($rowref->{'import_record_id'}); } --