199 lines
6.8 KiB
Plaintext
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
|
|
|
|
|
|
|