enable multi layer non EpiPro BioRad imports

This commit is contained in:
Chase Tucker 2024-11-08 13:05:53 -07:00 committed by Tucker Chase (CSC FI SPS MESLEO)
parent f7d3ab6756
commit 526b9943a0
2 changed files with 66 additions and 3 deletions

View File

@ -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<RDS_TEST_LS_ID$>
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

View File

@ -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