diff --git a/LSL2/STPROC/METROLOGY_SERVICES.txt b/LSL2/STPROC/METROLOGY_SERVICES.txt index fb7ff95..b6d6910 100644 --- a/LSL2/STPROC/METROLOGY_SERVICES.txt +++ b/LSL2/STPROC/METROLOGY_SERVICES.txt @@ -701,7 +701,7 @@ Service ImportBioRadData(RunData, FileName) end Transfer CalculatedZone to RunDataZone - CalculatedLayer = Metrology_Services('GetCalculatedLayer', RDSKeyID, Machine, RunDataZone) + CalculatedLayer = Metrology_Services('GetCalculatedLayer', RDSKeyID, Machine, RunDataZone, IsEpiPro, RunDataLayer) If (RunDataLayer NE CalculatedLayer) then Error_Services('Add', 'Entered Layer [' : RunDataLayer : '] and calculated Layer [' : CalculatedLayer : '] do not match for the Zone [' : RunDataZone : '].') Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage')) @@ -1981,8 +1981,7 @@ Service GetCalculatedZone(RDSKeyID, IsEpiPro, RunDataZone) end service -Service GetCalculatedLayer(RDSKeyID, Machine, RunDataZone) - +Service GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) CalculatedLayer = '' If (RDSKeyID NE '') AND (Machine NE '') then @@ -2002,11 +2001,16 @@ Service GetCalculatedLayer(RDSKeyID, Machine, RunDataZone) Case Machine _EQC 'BioRad' // Just get the last RDS Test Key ID whether there is one or multiple Key IDs. RDSTestKeyID = RDSTestKeyIDs[-1, 'B' : @VM] + RDSTestRow = Database_Services('ReadDataRow', 'RDS_TEST', RDSTestKeyID) If Error_Services('NoError') then CalculatedLayer = RDSTestRow end + If Dcount(RDSTestKeyIDs, @VM) GT 1 and WoIsEpiPro = False$ and (ScannedLayer _EQC 'L1' or ScannedLayer _EQC 'L2' or ScannedLayer _EQC '2') then + CalculatedLayer = ScannedLayer + end + Case Machine _EQC 'CDE' ToolClassID = Metrology_Services('GetToolClassID', Machine) ToolMatch = False$ ; // Assume no match for now. @@ -2872,3 +2876,4 @@ LoadRunDataToDatabase: return + diff --git a/LSL2/STPROC/TEST_METROLOGYSERVICES.txt b/LSL2/STPROC/TEST_METROLOGYSERVICES.txt new file mode 100644 index 0000000..85510e8 --- /dev/null +++ b/LSL2/STPROC/TEST_METROLOGYSERVICES.txt @@ -0,0 +1,58 @@ +Compile function Test_MetrologyServices(@Test) +#pragma precomp SRP_PreCompiler + +Declare function Metrology_Services + +// TODO: Code to run before each test goes here + +GotoTest + +// TODO: Code to run after each test goes here + +Return TestResult or 1 + +//----------------------------------------------------------------------------- +// TESTS +//----------------------------------------------------------------------------- + +Test GetCalculatedLayerEpiProWithoutWoIsEpiProOrScannedLayerShouldReturnL2 + // GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) + + CalculatedLayer = Metrology_Services('GetCalculatedLayer', 649130, 'BioRad', 2) + Assert CalculatedLayer equals 2 +end test + +Test GetCalculatedLayerEpiProShouldReturnL2 + // GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) + + CalculatedLayer = Metrology_Services('GetCalculatedLayer', 649130, 'BioRad', 2, 1, 1) + Assert CalculatedLayer equals 2 +end test + +Test GetCalculatedLayerSingleLayerNonEpiProWithoutWoIsEpiProOrScannedLayerShouldReturnL1 + // GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) + + CalculatedLayer = Metrology_Services('GetCalculatedLayer', 648685, 'BioRad', '') + Assert CalculatedLayer equals 'L1' +end test + +Test GetCalculatedLayerSingleLayerNonEpiProShouldReturnL1 + // GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) + + CalculatedLayer = Metrology_Services('GetCalculatedLayer', 648685, 'BioRad', '', 0, 1) + Assert CalculatedLayer equals 'L1' +end test + +Test GetCalculatedLayerMultiLayerNonEpiProWithoutWoIsEpiProOrScannedLayerShouldReturn2 + // GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) + + CalculatedLayer = Metrology_Services('GetCalculatedLayer', 649834, 'BioRad', '') + Assert CalculatedLayer equals 2 +end test + +Test GetCalculatedLayerMultiLayerNonEpiProShouldReturnL1 + // GetCalculatedLayer(RDSKeyID, Machine, RunDataZone, WoIsEpiPro, ScannedLayer) + + CalculatedLayer = Metrology_Services('GetCalculatedLayer', 649834, 'BioRad', '', 0, 'L1') + Assert CalculatedLayer equals 'L1' +end test