open-insight/LSL2/STPROC/NDW_RDS_SUPP_SIG_EVENTS.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

199 lines
6.8 KiB
Plaintext

Compile function NDW_RDS_SUPP_SIG_EVENTS(CtrlEntId, Event, @PARAMS)
/***********************************************************************************************************************
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
permission from SRP Computer Solutions, Inc.
Name : NDW_RDS_SUPP_SIG_EVENTS
Description : Handler program for all Scan services.
Notes :
Parameters :
Service [in] -- Name of the service being requested
Param1-10 [in/out] -- Additional request parameter holders
Response [out] -- Response to be sent back to the Controller (MCP) or requesting procedure
Metadata :
History : (Date, Initials, Notes)
6/6/2024 djm Adapted from old form to use new stage specific supplements.
***********************************************************************************************************************/
#pragma precomp SRP_PreCompiler
#window NDW_RDS_SUPP_SIG
$Insert APP_INSERTS
$insert EVENT_SETUP
$Insert SUPPLEMENTS_EQUATES
$Insert MSG_EQUATES
Declare Subroutine End_Dialog, Database_Services, Set_Property, Supplement_Services
Declare Function Time, Date, Get_Property, Supplement_Services, SRP_Datetime, Rds_Services
// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
If Event EQ 'OLE' then
Transfer Event to OIEvent
Transfer Param1 to Event
Transfer Param2 to Param1
*Transfer Param3 to Param2
* Transfer Param4 to Param3
* Transfer Param5 to Param4
* Transfer Param6 to Param5
* Transfer Param7 to Param6
* Transfer Param8 to Param7
end
GoToEvent Event for CtrlEntID
Return EventFlow else EVENT_CONTINUE$
//-----------------------------------------------------------------------------
// EVENT HANDLERS
//-----------------------------------------------------------------------------
Event WINDOW.CREATE(Param1)
RDSNo = Param1<1>
StageSel = ''
ReadOnly = False$
If Param1<2> NE '' then
StageSel = Param1<2>
end
If Param1<3> EQ True$ then
ReadOnly = True$
end
Set_Property(@Window, '@RDS', RDSNo)
Database_Services('ActivateRecord', 'RDS', RDSNo)
GoSub PopulateDropdown
FormSize = ''
SRP_Show_Window(@Window, '', 'C', 'C', 1, '', False$, False$, FormSize)
If ReadOnly EQ True$ then
Set_Property(@Window:'.PUB_SIGN', 'ENABLED', False$)
end
End Event
Event WINDOW.CLOSE(CancelFlag)
Response = False$
End_Dialog(@Window, Response)
end event
Event PUB_CLOSE.CLICK()
Response = False$
End_Dialog(@Window, Response)
end event
Event PUB_SIGN.CLICK()
Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:'SUPERVISOR':@VM:'DATA_ENTRY')
Valid = Response<1>
If Valid EQ True$ then
SupplSig = @User4
SigName = OConv(SupplSig, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')
SupplSigDate = Date()
SupplSigTime = Time()
Set_Property(@Window:'.EDL_OP_SIG', 'TEXT', SupplSig)
Set_Property(@Window:'.EDL_OP_SIG_NAME', 'TEXT', SigName)
Set_Property(@Window:'.EDL_OP_SIG_DATE', 'TEXT', OConv(SupplSigDate, 'D2/') )
Set_Property(@Window:'.EDL_OP_SIG_TIME', 'TEXT', OConv(SupplSigTime, 'MTH') )
RDSNo = Get_Property(@Window, '@RDS')
StageSel = Get_Property(@Window : '.CMB_STAGE', 'TEXT')
SuppID = Supplement_Services('GetSupplementsForLot', 'RDS', RDSNo, StageSel)
Supplement_Services('AcknowledgeSupplement', SuppID, SupplSig)
Set_Property(@Window:'.PUB_SIGN', 'ENABLED', False$)
Response = True$
End_Dialog(@Window, Response)
end else
Message = 'Invalid password or operation has been canceled by the user. Please try again.'
MsgStruct = ''
MsgStruct<MTEXT$> = Message
MsgStruct<MTYPE$> = 'BO'
Response = FALSE$
Prompt = Msg(@Window, MsgStruct)
end
end event
Event CMB_STAGE.CHANGED()
Gosub GetSupplement
end event
GetSupplement:
RDSNo = Get_Property(@Window, '@RDS')
SuppText = ''
StageSel = Get_Property(@Window : '.CMB_STAGE', 'TEXT')
SuppID = Supplement_Services('GetSupplementsForLot', 'RDS', RDSNo, StageSel)
OldSuppRec = Xlate('SUPPLEMENTS', SuppID, '', 'X', '')
SupplInst = OldSuppRec<SUPPLEMENTS_SUPPL_TEXT$>
SupplEntryID = OldSuppRec<SUPPLEMENTS_ENTRY_USER$>
EntryName = OConv(SupplEntryID, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')
EntryDateTime = OldSuppRec<SUPPLEMENTS_ENTRY_DATETIME$>
SupplEntryDate = SRP_Datetime('Date', EntryDateTime)
SupplEntryTime = SRP_Datetime('Time', EntryDateTime)
SupplSig = OldSuppRec<SUPPLEMENTS_ACK_USER$>
SigName = OConv(SupplSig, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')
AckDateTime = OldSuppRec<SUPPLEMENTS_ACK_DTM$>
SupplSigDate = SRP_Datetime('Date', AckDateTime)
SupplSigTime = SRP_Datetime('Time', AckDateTime)
SupplAck = OldSuppRec<SUPPLEMENTS_SUPPL_ACK$>
Set_Property(@Window:'.EDL_ENTRY_ID', 'TEXT', SupplEntryID)
Set_Property(@Window:'.EDL_ENTRY_NAME', 'TEXT', EntryName)
Set_Property(@Window:'.EDL_ENTRY_DATE', 'TEXT', OConv(SupplEntryDate, 'D2/') )
Set_Property(@Window:'.EDL_ENTRY_TIME', 'TEXT', OConv(SupplEntryTime, 'MTH') )
Set_Property(@Window:'.EDB_SUPPL_INST', 'TEXT', SupplInst)
Set_Property(@Window:'.EDL_OP_SIG', 'TEXT', SupplSig)
Set_Property(@Window:'.EDL_OP_SIG_NAME', 'TEXT', SigName)
Set_Property(@Window:'.EDL_OP_SIG_DATE', 'TEXT', OConv(SupplSigDate, 'D2/') )
Set_Property(@Window:'.EDL_OP_SIG_TIME', 'TEXT', OConv(SupplSigTime, 'MTH') )
CurrStage = Rds_Services('GetCurrentStage', RDSNo)
If SupplAck EQ True$ OR CurrStage NE StageSel then
Set_Property(@Window:'.PUB_SIGN', 'ENABLED', False$)
end else
Set_Property(@Window:'.PUB_SIGN', 'ENABLED', True$)
end
return
PopulateDropdown:
StageArray = ''
RDSNo = Get_Property(@Window, '@RDS')
LotSupps = Supplement_Services('GetSupplementsForLot', 'RDS', RDSNo, '')
LotCount = Dcount(LotSupps, @FM)
For I = 1 to LotCount
Stage = Xlate('SUPPLEMENTS', LotSupps<I>, SUPPLEMENTS_STAGE$, 'X', '')
StageArray<-1> = Stage
Next I
Set_Property(@Window : '.CMB_STAGE', 'LIST', StageArray)
Set_Property(@Window : '.CMB_STAGE', 'SELPOS', 1)
If StageSel NE '' then
Locate StageSel in StageArray using @FM Setting StagePos then
Set_Property(@Window : '.CMB_STAGE', 'SELPOS', StagePos)
end
end
Gosub GetSupplement
return