migrated from OI 9

This commit is contained in:
Infineon\StieberD
2024-09-10 12:03:26 -07:00
parent 3cdb08d0fd
commit f9f296fa5e
26 changed files with 55036 additions and 8195 deletions

View File

@ -43,8 +43,9 @@ $insert SUPPLEMENTS_EQUATES
equ WOCust$ to 2
Declare subroutine SRP_Show_Window, Rds_Services, ErrMsg, Start_Window, Placedialog, Supplement_Services
Declare subroutine SRP_Show_Window, Rds_Services, ErrMsg, Start_Window, Placedialog, Supplement_Services, Hold_Services
Declare function Database_Services, Material_Services, Rds_Services, RGB, SRP_Array, MemberOf, Supplement_Services
Declare function Hold_Services
CRLF = \0D0A\
@ -236,6 +237,72 @@ Event PUB_ENG_OPTIONS.CLICK()
end event
Event PUB_ON_HOLD.CLICK()
SelPos = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelPos')
SelCount = Dcount(SelPos, @VM)
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
RDSKeys = SelRDSList<4>
Swap @VM with @FM in RDSKeys
SelCount = DCount(RDSKeys, @FM)
WOMatKeys = Xlate('RDS', RDSKeys, 'WO_MAT_KEY', 'X', '')
Transition = True$
HoldType = 'HOLD'
HoldData = ''
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
If HoldData NE 'Cancel' then
GoSub GetView
Hold_Services('EnableMultipleHolds', WOMatKeys, 'RDS', RDSKeys, 'NDW_RDS_QUERY', '', HoldData)
For L = 1 to SelCount
ThisPos = SelPos<L>
If CurrentViewSelection _EQC 'quick' then
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[16;' : ThisPos : ']', 'On Hold')
end else
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[19;' : ThisPos : ']', 'On Hold')
end
Next L
HoldOffFlag = True$
HoldOnFlag = False$
Gosub CheckSelectedForHolds
end
end event
Event PUB_OFF_HOLD.CLICK()
SelPos = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelPos')
SelCount = Dcount(SelPos, @VM)
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
RDSKeys = SelRDSList<4>
Swap @VM with @FM in RDSKeys
SelCount = DCount(RDSKeys, @FM)
WOMatKeys = Xlate('RDS', RDSKeys, 'WO_MAT_KEY', 'X', '')
Transition = False$
HoldType = 'HOLD'
HoldData = ''
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
If HoldData NE 'Cancel' then
GoSub GetView
Hold_Services('DisableMultipleHolds', WOMatKeys, 'RDS', RDSKeys, 'NDW_RDS_QUERY', '', HoldData)
For L = 1 to SelCount
ThisPos = SelPos<L>
If CurrentViewSelection _EQC 'quick' then
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[16;' : ThisPos : ']', 'Off Hold')
end else
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[19;' : ThisPos : ']', 'Off Hold')
end
Next L
HoldOffFlag = False$
HoldOnFlag = True$
Gosub CheckSelectedForHolds
end
end event
Event OLE_SUBCLASS.OnComboClick(CtrlId, Sel, Value)
Send_Event(CtrlId, 'LOSTFOCUS')
@ -250,7 +317,10 @@ Event OLE_RPT_RDS_LIST.OnSelChange()
Enabled = (SelRDSList NE '')
Set_Property(@Window:'.PUB_ENG_OPTIONS', 'ENABLED', Enabled)
end
HoldOnFlag = False$
HoldOffFlag = False$
Gosub CheckSelectedForHolds
end event
@ -404,6 +474,7 @@ GetRdsColumns:
RDSColumns<0, 13> = 'PART_NUM'
RDSColumns<0, 14> = 'LOT_NUM'
RDSColumns<0, 15> = 'SUPPL_INST'
RDSColumns<0, 16> = 'HOLD_STATUS'
end else
RDSColumns = ''
RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME'
@ -452,6 +523,7 @@ GetColumnList:
ColumnList<13> = 'Cust Part No' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
ColumnList<14> = 'Lot Number' : @VM : 'TEXT' : @VM : 80 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
ColumnList<15> = 'Supplement' : @VM : 'P' : @VM : 160 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
ColumnList<16> = 'Hold Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
end else
ColumnList = ''
ColumnList<1> = 'Customer' : @VM : 'TEXT' : @VM : 120 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
@ -520,3 +592,39 @@ GetExistingSupps:
return
CheckSelectedForHolds:
If Unassigned(HoldOnFlag) then HoldOnFlag = False$
If Unassigned(HoldOffFlag) then HoldOffFlag = False$
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
If SelRDSList NE '' then
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
RDSKeys = SelRDSList<4>
Swap @VM with @FM in RDSKeys
SelCount = DCount(RDSKeys, @FM)
For K = 1 to SelCount
WOMatKey = Xlate('RDS', RDSKeys<K>, 'WO_MAT_KEY', 'X', '')
HoldCheck = Hold_Services('CheckForHold', WOMatKey, '')
If HoldCheck EQ True$ AND HoldOffFlag EQ False$ then
HoldOffFlag = True$
end
If HoldCheck EQ False$ AND HoldOnFlag EQ False$ then
HoldOnFlag = True$
end
Until HoldOnFlag EQ True$ and HoldOffFlag EQ True$
Next K
end
if MemberOf(@USER4, 'ENG_TECH') OR MemberOf(@USER4, 'LEAD') OR MemberOf(@USER4, 'SUPERVISOR') then
// IF ANY SELECTED LOTS ARE ON HOLD, ENABLE PUB_OFF_HOLD
Set_Property(@Window:'.PUB_OFF_HOLD', 'ENABLED', HoldOffFlag)
end else
Set_Property(@Window:'.PUB_OFF_HOLD', 'ENABLED', False$)
end
// IF ANY SELECTED LOTS ARE NOT ON HOLD, ENABLE PUB_ON_HOLD
Set_Property(@Window:'.PUB_ON_HOLD', 'ENABLED', HoldOnFlag)
return