Merged PR 12079: Backend functionality for retrieving Open NCR Report from OI
Backend functionality for retrieving Open NCR Report from OI Related work items: #237978
This commit is contained in:
parent
41cbdaadba
commit
36f16bf951
@ -48,11 +48,14 @@ Compile function NCR_Services(@Service, @Params)
|
|||||||
***********************************************************************************************************************/
|
***********************************************************************************************************************/
|
||||||
$insert APP_INSERTS
|
$insert APP_INSERTS
|
||||||
$Insert SERVICE_SETUP
|
$Insert SERVICE_SETUP
|
||||||
|
$Insert NCR_EQUATES
|
||||||
|
$Insert REACTOR_EQUATES
|
||||||
|
|
||||||
Declare subroutine Set_Status, Logging_Services, Error_Services, Obj_Notes, Set_Property, Obj_Wo_Mat, Hold_Services
|
Declare subroutine Set_Status, Logging_Services, Error_Services, Obj_Notes, Set_Property, Obj_Wo_Mat, Hold_Services
|
||||||
|
Declare subroutine Btree.Extract, SRP_JSon
|
||||||
Declare function Environment_Services, Logging_Services, SRP_Datetime, Utility, Scan_Services, Error_Services
|
Declare function Environment_Services, Logging_Services, SRP_Datetime, Utility, Scan_Services, Error_Services
|
||||||
Declare function Database_Services, Signature_Services, Epipro_Services, Rds_Services, Memberof, Datetime
|
Declare function Database_Services, Signature_Services, Epipro_Services, Rds_Services, Memberof, Datetime
|
||||||
Declare function Get_Property
|
Declare function Get_Property, SRP_Json, obj_ncr
|
||||||
|
|
||||||
EQU COL$RDS_NO TO 1
|
EQU COL$RDS_NO TO 1
|
||||||
EQU COL$REACTOR TO 2
|
EQU COL$REACTOR TO 2
|
||||||
@ -588,3 +591,74 @@ Service SendToSPC(NCRNo, RDSList, ReactorType, PSNo, DeptResp, LossCode, LossDes
|
|||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
Service GetOpenNCRKeys()
|
||||||
|
table = "NCR"
|
||||||
|
ErrorMessage = ''
|
||||||
|
RDSRecords = ''
|
||||||
|
Open "DICT ":table To @DICT Else
|
||||||
|
ErrorMessage = 'Error opening NCR dictionary'
|
||||||
|
End
|
||||||
|
If ErrorMessage EQ '' then
|
||||||
|
srch_strng = "STATUS":@VM:'O':@FM
|
||||||
|
option = ""
|
||||||
|
flag = ""
|
||||||
|
Btree.Extract(srch_strng, table, @DICT, RDSRecords, option, flag)
|
||||||
|
end
|
||||||
|
If ErrorMessage NE '' then
|
||||||
|
Error_Services('Add', ErrorMessage)
|
||||||
|
end
|
||||||
|
Response = RDSRecords
|
||||||
|
end service
|
||||||
|
|
||||||
|
Service ConvertRecordToJson(NCRId)
|
||||||
|
NCRJson = ''
|
||||||
|
ErrorMessage = ''
|
||||||
|
If RowExists('NCR', NCRId) then
|
||||||
|
NCRRecord = Database_Services('ReadDataRow', 'NCR', NCRId, True$, 0, False$)
|
||||||
|
If Error_Services('NoError') then
|
||||||
|
objNCR = ''
|
||||||
|
If SRP_JSON(objNCR, 'New', 'Object') then
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'NCRId', NCRId)
|
||||||
|
ThisNCREntryDate = NCRRecord<NCR_ENTRY_DATE$>
|
||||||
|
ThisNCREntryTime = NCRRecord<NCR_ENTRY_TIME$>
|
||||||
|
If ThisNCREntryTime EQ '' then ThisNCREntryTime = 0
|
||||||
|
ThisNCREntryDateTime = OConv(SRP_DateTime('Combine', ThisNCREntryDate, ThisNCREntryTime), 'DT')
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'EntryDateTime', ThisNCREntryDateTime, 'String')
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'Shift', NCRRecord<NCR_SHIFT$>)
|
||||||
|
ThisNCRReactorNo = NCRRecord<NCR_REACTOR$>
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'Reactor', ThisNCRReactorNo);//This needs to be a list to support EpiPro
|
||||||
|
ThisNCRCassId = ''
|
||||||
|
ThisNCRReactorType = Xlate('REACTOR', ThisNCRReactorNo, REACTOR_REACT_TYPE$, 'X')
|
||||||
|
If ThisNCRReactorType NE 'EPP' then
|
||||||
|
ThisNCRCassId = NCRRecord<NCR_RDS_ID$>
|
||||||
|
end else
|
||||||
|
ThisNCRWONo = NCRRecord<NCR_WO_NO$>
|
||||||
|
ThisNCRStepNo = NCRRecord<NCR_WO_STEP$>
|
||||||
|
ThisNCRCassNo = NCRRecord<NCR_WO_MAT_CASS_NO$>
|
||||||
|
ThisNCRCassId = ThisNCRWONo : '*' : ThisNCRStepNo : '*' : ThisNCRCassNo
|
||||||
|
end
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'CasetteId', ThisNCRCassId)
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'LossStage', NCRRecord<NCR_LOSS_STAGE$>)
|
||||||
|
ThisNCRRejectCount = 0
|
||||||
|
ThisNCRRejectCount = Obj_Ncr('RejQty', NCRId:@RM:NCRRecord)
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'TotalRejected', ThisNCRRejectCount)
|
||||||
|
SRP_JSON(objNCR, 'SetValue', 'LossComments', NCRRecord<NCR_LOSS_COMMENTS$>)
|
||||||
|
NCRJson = SRP_JSON(objNCR, 'Stringify', 'Styled')
|
||||||
|
SRP_JSON(objNCR, 'Release')
|
||||||
|
end else
|
||||||
|
ErrorMessage = 'Error creating NCR Json Object'
|
||||||
|
end
|
||||||
|
|
||||||
|
end else
|
||||||
|
ErrorMessage = Error_Services('GetMessage')
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMessage = 'Non-existent NCR Id passed to routine'
|
||||||
|
end
|
||||||
|
If ErrorMessage NE '' then
|
||||||
|
Error_Services('Add', ErrorMessage)
|
||||||
|
end
|
||||||
|
Response = NCRJson
|
||||||
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
@ -135,6 +135,8 @@ CreateHALItem:
|
|||||||
RepJSON = Report_Services('GetDailyReactorUptimeDataJSON', ReportStartDtm, ReportEndDtm)
|
RepJSON = Report_Services('GetDailyReactorUptimeDataJSON', ReportStartDtm, ReportEndDtm)
|
||||||
Case ReportID = 'TestWaferWIPReport'
|
Case ReportID = 'TestWaferWIPReport'
|
||||||
RepJSON = Report_Services('GetOpenTestWaferLotWIPReportJson')
|
RepJSON = Report_Services('GetOpenTestWaferLotWIPReportJson')
|
||||||
|
Case ReportID = 'OpenNCRReport'
|
||||||
|
RepJson = Report_Services('GetOpenNCRReportJson')
|
||||||
Case Otherwise$
|
Case Otherwise$
|
||||||
Error_Services('Add', 'Unsupported report')
|
Error_Services('Add', 'Unsupported report')
|
||||||
End Case
|
End Case
|
||||||
@ -232,3 +234,4 @@ API reports.GET
|
|||||||
|
|
||||||
end api
|
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 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 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 SRP_Array, Environment_Services, Logging_Services, Datetime, Select_Into, Wafer_Counter_Services
|
||||||
Declare function Lot_Services, Test_Run_Services
|
Declare function Lot_Services, Test_Run_Services, NCR_Services
|
||||||
|
|
||||||
Equ TAB TO \09\
|
Equ TAB TO \09\
|
||||||
|
|
||||||
@ -2330,6 +2330,40 @@ Service PrintMaterialTrackReport(RptColumns, LocationFilter, NoMatFlag, OldRepor
|
|||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
Service GetOpenNCRReportJson()
|
||||||
|
ErrorMessage = ''
|
||||||
|
OpenNCRReportJson = ''
|
||||||
|
OpenNCRKeyList = NCR_Services('GetOpenNCRKeys')
|
||||||
|
objJson = ''
|
||||||
|
If SRP_Json(objJson, 'New') then
|
||||||
|
objOpenNCRJsonArray = ''
|
||||||
|
If SRP_Json(objOpenNCRJsonArray, 'New', 'Array') then
|
||||||
|
for each NCRKey in OpenNCRKeyList using @VM
|
||||||
|
ThisNCRJsonString = NCR_Services('ConvertRecordToJson', NCRKey)
|
||||||
|
ThisNCRJsonObj = ''
|
||||||
|
ParseResult = SRP_Json(ThisNCRJsonObj, 'Parse', ThisNCRJsonString)
|
||||||
|
If ParseResult EQ '' then
|
||||||
|
SRP_Json(objOpenNCRJsonArray, 'Add', ThisNCRJsonObj)
|
||||||
|
SRP_Json(ThisNCRJsonObj, 'Release')
|
||||||
|
end else
|
||||||
|
SRP_Json(ThisNCRJsonObj, 'Release')
|
||||||
|
end
|
||||||
|
Next NCRKey
|
||||||
|
SRP_Json(objJson, 'Set', 'OpenNCRReport', objOpenNCRJsonArray)
|
||||||
|
SRP_Json(objOpenNCRJsonArray, 'Release')
|
||||||
|
end else
|
||||||
|
ErrorMessage = 'Error creating Open NCR JSON Array.'
|
||||||
|
end
|
||||||
|
OpenNCRReportJson = SRP_JSON(objJSON, 'Stringify', 'Styled')
|
||||||
|
SRP_JSON(objJSON, 'Release')
|
||||||
|
end else
|
||||||
|
ErrorMessage = 'Error creating root JSON object.'
|
||||||
|
end
|
||||||
|
If ErrorMessage NE '' then
|
||||||
|
Error_Services('Add', ErrorMessage)
|
||||||
|
end
|
||||||
|
Response = OpenNCRReportJson
|
||||||
|
end service
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Internal GoSubs
|
// Internal GoSubs
|
||||||
@ -2352,3 +2386,4 @@ OipiPrintError:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user