added logic to RDS_ACTIONS to restore load signatures if erased unexpectedly
refactored solution to leverage the LOT and LOT_EVENT tables minor fix
This commit is contained in:
@ -58,12 +58,13 @@ $Insert QA_MET_EQUATES
|
||||
$Insert PRS_STAGE_EQUATES
|
||||
$Insert WO_MAT_EQUATES
|
||||
$Insert WO_MAT_QA_EQUATES
|
||||
$Insert LOT_EVENT_EQUATES
|
||||
|
||||
Equ COMMA$ to ','
|
||||
|
||||
Declare function Error_Services, Database_Services, obj_RDS_Test, Logging_Services, Environment_Services, SRP_Math
|
||||
Declare function Tool_Parms_Services, Signature_Services, obj_WO_Mat_QA, Datetime, Override_Services, obj_WO_Mat
|
||||
Declare function Rds_Services
|
||||
Declare function Error_Services, Database_Services, obj_RDS_Test, Logging_Services, Environment_Services
|
||||
Declare function Tool_Parms_Services, Signature_Services, obj_WO_Mat_QA, Datetime, Override_Services
|
||||
Declare function Rds_Services, SRP_DateTime, SRP_Math, obj_WO_Mat, Lot_Services, SRP_Array
|
||||
Declare subroutine Error_Services, Database_Services, Logging_Services, Set_Status, Schedule_Services
|
||||
Declare subroutine Work_Order_Services, Material_Services, Set_FSError
|
||||
|
||||
@ -86,8 +87,6 @@ Headers = 'Logging DTM' : @FM : 'Results'
|
||||
ColumnWidths = 20 : @FM : 100
|
||||
objLog2 = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ' ', Headers, ColumnWidths, False$, False$)
|
||||
|
||||
|
||||
|
||||
If KeyID then GoSub Initialize_System_Variables
|
||||
|
||||
Begin Case
|
||||
@ -691,6 +690,46 @@ WRITE_RECORD_PRE:
|
||||
PostDTM = IConv(OConv({POST_EPI_SIG_DATE}, 'D'):' ':OConv({POST_EPI_SIG_TIME}, 'MT'), 'DT')
|
||||
FQADTM = IConv(OConv({SUP_VER_SIG_DATE}, 'D'):' ':OConv({SUP_VER_SIG_TIME}, 'MT'), 'DT')
|
||||
|
||||
If NewLoadSig EQ '' then
|
||||
// Audit the LOT_EVENT table for missing LOAD event (i.e., signature)
|
||||
If RowExists('LOT', RDSNo) then
|
||||
LotEvents = Lot_Services('GetLotEventsInSequence', RDSNo)
|
||||
If LotEvents NE '' then
|
||||
LotEventsRev = SRP_Array('Reverse', LotEvents, @FM)
|
||||
LotEventsTypesRev = Xlate('LOT_EVENT', LotEventsRev, LOT_EVENT_LOT_EVENT_TYPE$, 'X')
|
||||
If LotEventsTypesRev NE '' then
|
||||
Done = False$
|
||||
For each LotEventType in LotEventsTypesRev using @FM setting EventPos
|
||||
Begin Case
|
||||
Case LotEventType EQ 'LOAD'
|
||||
Done = True$
|
||||
If NewLoadSig EQ '' then
|
||||
// Load signature is missing from RDS record
|
||||
NewLoadSig = Xlate('LOT_EVENT', LotEventsRev<EventPos>, LOT_EVENT_EVENT_OPERATOR_ID$, 'X')
|
||||
NewLoadSigDtm = Xlate('LOT_EVENT', LotEventsRev<EventPos>, LOT_EVENT_EVENT_DATETIME$, 'X')
|
||||
NewLoadDate = SRP_DateTime("Date", NewLoadSigDtm)
|
||||
NewLoadTime = SRP_DateTime("Time", NewLoadSigDtm)
|
||||
Record<RDS_OPERATOR_IN$> = NewLoadSig
|
||||
Record<RDS_DATE_IN$> = NewLoadDate
|
||||
Record<RDS_TIME_IN$> = NewLoadTime
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = @User4
|
||||
LogData<3> = RDSKeyID
|
||||
LogData<4> = 'Detected missing LOAD signature from RDS record. Restored signature from LOT_EVENT table.'
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
||||
end
|
||||
Case LotEventType EQ 'UNSIGN_LOAD'
|
||||
Done = True$
|
||||
// No need to check for missing load signature
|
||||
End Case
|
||||
Until Done
|
||||
Next LotEventType
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Begin Case
|
||||
Case LoadDTM NE '' and UnloadDTM EQ '' and UnloadEx1DTM EQ ''
|
||||
// Cassette still running...
|
||||
@ -1005,4 +1044,3 @@ Restore_System_Variables:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user