move the duplicate TCN test to /after/ the final attempt at TCN fixup
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 15 Apr 2009 14:15:58 +0000 (14:15 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 15 Apr 2009 14:15:58 +0000 (14:15 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12874 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/extras/import/marc2bre.pl

index 3f7a202..e0e3556 100755 (executable)
@@ -363,12 +363,6 @@ sub preprocess {
                }
     }
 
-    if (!$tcn_value || exists $used_tcns{$tcn_value}) {
-               $tcn_source = 's';
-               $tcn_number = $id;
-               $tcn_value = $tcn_source.$tcn_number;
-    }
-
        # special case to catch possibly passed in full OCLC numbers and those derived from the 001 field
        if ($tcn_value =~ /^oc(m|n)(\d+)$/o) {
                $tcn_source = 'o';
@@ -376,6 +370,14 @@ sub preprocess {
                $tcn_value = $tcn_source.$tcn_number;
        }
 
+    if (!$tcn_value || exists $used_tcns{$tcn_value}) {
+               $tcn_source = 's';
+               $tcn_number = $id;
+               $tcn_value = $tcn_source.$tcn_number;
+               $warn = 1
+    }
+
+
        # expand $tcn_source from code letter to full name
        $tcn_source = do { $tcn_source_map{$tcn_source} || 'Unknown' };