Created methods to provide Metrology Services with JSON source for SLL Section
This commit is contained in:
committed by
Ouellette Jonathan (CSC FI SPS MESLEO)
parent
14331fcf49
commit
09d2d13e63
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user