Created methods to provide Metrology Services with JSON source for SLL Section

This commit is contained in:
Infineon\Ouellette
2025-08-12 17:44:49 -07:00
committed by Ouellette Jonathan (CSC FI SPS MESLEO)
parent 14331fcf49
commit 09d2d13e63
3 changed files with 86 additions and 1 deletions

View File

@ -3574,6 +3574,45 @@ Service GetReactorDownLL(ReactNo)
end service
Service GetReactorsWithDownLLByDtm(DtmToCheck, ReactType)
ErrMsg = ''
AllReactors = Reactor_Services('GetReactorNumbers', ReactType)
SLLReactors = ''
If AllReactors NE '' then
for each ReactNo in AllReactors using @FM
PickPlaceFlag = XLATE('REACTOR', ReactNo, REACTOR_PICK_PLACE$, 'X')
If PickPlaceFlag then
Open 'DICT.REACT_LL' to DictReactLL then
SearchString = ''
SearchString := 'REACT_NO':@VM:ReactNo:@FM
ReactLLKeys = ''
Btree.Extract(SearchString, 'REACT_LL', DictReactLL, ReactLLKeys)
For each ReactLLKey in ReactLLKeys using @VM
ReactLLRec = Database_Services('ReadDataRow', 'REACT_LL', ReactLLKey, True$, 0, False$)
ReactLLStartDTM = Field(ReactLLKey, '*', 2)
ReactLLEndDTM = ReactLLRec<REACT_LL_STOP_DTM$>
ReactLLApplicable = false$
If ReactLLStartDTM LE DtmToCheck AND (ReactLLEndDTM EQ '' OR ReactLLEndDtm GT DtmToCheck) then
Locate ReactNo in SLLReactors using @VM setting iPos else
SLLReactors<1, -1> = ReactNo
end
end
Next ReactLLKey
end else
ErrMsg = 'Unable to open the REACT_LL dictionary.'
end
end
Next ReactNo
end else
ErrMsg = 'No Reactor IDs found!'
end
Response = SLLReactors
end service
Service GetReactorLoadCountLimit(ReactNo)
@ -4373,3 +4412,4 @@ ClearCursors:
return

View File

@ -137,6 +137,11 @@ CreateHALItem:
RepJSON = Report_Services('GetOpenTestWaferLotWIPReportJson')
Case ReportID = 'OpenNCRReport'
RepJson = Report_Services('GetOpenNCRReportJson')
Case ReportID = 'SLLReport'
//Single Load Lock Report from Metrology Services
ReportStartDtm = Http_Services('GetQueryField', 'StartDate')
ReportEndDtm = Http_Services('GetQueryField', 'EndDate')
RepJson = Report_Services('GetSLLReportJson', ReportStartDtm, ReportEndDtm)
Case Otherwise$
Error_Services('Add', 'Unsupported report')
End Case
@ -233,3 +238,4 @@ API reports.GET
HTTP_Resource_Services('LoremIpsum')
end api

View File

@ -82,7 +82,7 @@ Declare function Set_Printer, Get_Printer, Msg, Get_Status, Printer_Select, ob
Declare function Schedule_Services, Error_Services, Location_Services, SRP_Array, Signature_Services, obj_RDS_Test
Declare function Epi_Part_Services, SRP_Math, Database_Services, SRP_JSON, Reactor_Services, SRP_Datetime
Declare function SRP_Array, Environment_Services, Logging_Services, Datetime, Select_Into, Wafer_Counter_Services
Declare function Lot_Services, Test_Run_Services, NCR_Services
Declare function Lot_Services, Test_Run_Services, NCR_Services, Date_Services
Equ TAB TO \09\
@ -2367,6 +2367,44 @@ Service GetOpenNCRReportJson()
Response = OpenNCRReportJson
end service
/* * * * * *
Called from Reporting Services
* * * * * */
Service GetSLLReportJson(FromDt, ToDt)
FromDt = IConv(FromDt, 'D')
ToDt = IConv(ToDt, 'D')
ErrorMessage = ''
SLLReportJson = ''
objSLLReportJson = ''
If SRP_Json(objSLLReportJson, 'New', 'Array') then
For StartDt = FromDt to ToDt
ThisDate = Date_Services('ConvertDateTimeToISO8601', StartDt)
ThisDtASMDownLL = Reactor_Services('GetReactorsWithDownLLByDtm', StartDt + 1, 'ASM')
ThisDtASMPlusDownLL = Reactor_Services('GetReactorsWithDownLLByDtm', StartDt + 1, 'ASM+')
ThisDtHTRDownLL = Reactor_Services('GetReactorsWithDownLLByDtm', StartDt + 1, 'HTR')
ThisDtASMDownLLCount = DCount(ThisDtASMDownLL, @VM) + DCount(ThisDtASMPlusDownLL, @VM)
ThisDtHTRDownLLCount = DCount(ThisDtHTRDownLL, @VM)
objSLLDay = ''
If SRP_Json(objSLLDay, 'New', 'Object') then
SRP_Json(objSLLDay, 'SetValue', 'Date', ThisDate)
SRP_Json(objSLLDay, 'SetValue', 'ASM', ThisDtASMDownLLCount)
SRP_Json(objSLLDay, 'SetValue', 'HTR', ThisDtHTRDownLLCount)
SRP_Json(objSLLReportJson, 'Add', objSLLDay)
SRP_Json(objSLLDay, 'Release')
end
Next StartDt
SLLReportJson = SRP_Json(objSLLReportJson, 'Stringify', 'Fast')
SRP_Json(objSLLReportJson, 'Release')
end
Response = SLLReportJson
end service
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -2388,3 +2426,4 @@ OipiPrintError:
return