migrated from OI 9
This commit is contained in:
@ -38,8 +38,8 @@ $insert EVENT_SETUP
|
||||
$insert WO_MAT_EQUATES
|
||||
$insert MSG_EQUATES
|
||||
|
||||
Declare subroutine SRP_Show_Window, ErrMsg, Error_Services
|
||||
Declare function Database_Services, WM_Out_Services, RGB, SRP_Array, MemberOf, Error_Services
|
||||
Declare subroutine SRP_Show_Window, ErrMsg, Error_Services, Hold_Services
|
||||
Declare function Database_Services, WM_Out_Services, RGB, SRP_Array, MemberOf, Error_Services, Hold_Services
|
||||
|
||||
SubclassInfo = Form_Services('FindSubclassControl')
|
||||
Subclass = SubclassInfo<1>
|
||||
@ -76,6 +76,7 @@ Event WINDOW.CREATE(CreateParam)
|
||||
WMOColumns<0, 5> = 'EPI_REACT_NO'
|
||||
WMOColumns<0, 6> = 'SUP_VER_SIG_DTM'
|
||||
WMOColumns<0, 7> = 'PART_NO'
|
||||
WMOColumns<0, 8> = 'HOLD'
|
||||
|
||||
Swap @VM with @FM in CreateParam
|
||||
Begin Case
|
||||
@ -137,6 +138,88 @@ Event PUB_OK.CLICK()
|
||||
|
||||
end event
|
||||
|
||||
Event PUB_ON_HOLD.CLICK()
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
* SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
* SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
WMOutKeys = ''
|
||||
SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
SelWO = SelWMOList<2>
|
||||
SelStep = SelWMOList<3>
|
||||
SelCass = SelWMOList<4>
|
||||
WOMatKeys = ''
|
||||
If SelWO NE '' then
|
||||
For each WONo in SelWO using @VM setting vPos
|
||||
WOMatKeys<0, -1> = WONo:'*':SelCass<0 , vPos>
|
||||
WMOutKeys<0, -1> = WONo:'*':SelStep<0 , vPos> :'*': SelCass<0 , vPos>
|
||||
Next WONo
|
||||
end
|
||||
Swap @VM with @FM in WMOutKeys
|
||||
Swap @VM with @FM in WOMAtKeys
|
||||
SelCount = DCount(WMOutKeys, @FM)
|
||||
* WOMatKeys = Xlate('WM_OUT', WMOutKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = True$
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
If HoldData NE 'Cancel' then
|
||||
Hold_Services('EnableMultipleHolds', WOMatKeys, 'WM_OUT', WMOutKeys, 'NDW_WM_OUT_QUICK_QUERY', '', HoldData)
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
Set_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.ItemValue[8;' : ThisPos : ']', 'On Hold')
|
||||
Next L
|
||||
HoldOffFlag = True$
|
||||
HoldOnFlag = False$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_OFF_HOLD.CLICK()
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
* SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
* SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
WMOutKeys = ''
|
||||
SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
SelWO = SelWMOList<2>
|
||||
SelStep = SelWMOList<3>
|
||||
SelCass = SelWMOList<4>
|
||||
WOMatKeys = ''
|
||||
If SelWO NE '' then
|
||||
For each WONo in SelWO using @VM setting vPos
|
||||
WOMatKeys<0, -1> = WONo:'*':SelCass<0 , vPos>
|
||||
WMOutKeys<0, -1> = WONo:'*':SelStep<0 , vPos> :'*': SelCass<0 , vPos>
|
||||
Next WONo
|
||||
end
|
||||
Swap @VM with @FM in WMOutKeys
|
||||
Swap @VM with @FM in WOMAtKeys
|
||||
SelCount = DCount(WMOutKeys, @FM)
|
||||
* WOMatKeys = Xlate('WM_OUT', WMOutKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = True$
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
If HoldData NE 'Cancel' then
|
||||
Hold_Services('DisableMultipleHolds', WOMatKeys, 'WM_OUT', WMOutKeys, 'NDW_WM_OUT_QUICK_QUERY', '', HoldData)
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
Set_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.ItemValue[8;' : ThisPos : ']', 'Off Hold')
|
||||
Next L
|
||||
HoldOffFlag = False$
|
||||
HoldOnFlag = True$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
|
||||
Event PUB_CANCEL.CLICK()
|
||||
|
||||
@ -251,6 +334,9 @@ Event OLE_RPT_WM_OUT_LIST.OnSelChange()
|
||||
Enabled = (SelWMOList NE '')
|
||||
Set_Property(@Window:'.PUB_ENG_OPTIONS', 'ENABLED', Enabled)
|
||||
end
|
||||
HoldOnFlag = False$
|
||||
HoldOffFlag = False$
|
||||
Gosub CheckSelectedForHolds
|
||||
|
||||
end event
|
||||
|
||||
@ -281,6 +367,7 @@ Setup_OLE_Controls:
|
||||
ColumnList<5> = 'Rx' : @VM : 'NUMBER' : @VM : 10 : @VM : @VM : @VM : @VM : @VM : @VM : 10 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<6> = 'FQA Sig' : @VM : 'TEXT' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 20 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<7> = 'Cust Part No' : @VM : 'TEXT' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 20 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<8> = 'Hold Status' : @VM : 'TEXT' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 20 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
|
||||
Set_Property(WMORptCtrl, 'OLE.ColumnList', ColumnList)
|
||||
Set_Property(WMORptCtrl, 'OLE.MultiSelect', 2) ; // 2 = Multiselect Toggle Mode
|
||||
@ -312,7 +399,8 @@ Setup_OLE_Controls:
|
||||
If FormSize<3> > MaxClientWidth then
|
||||
FormSize<3> = Oconv(MaxClientWidth * '0.9', 'MD0')
|
||||
end
|
||||
Set_Property(@Window, '@ORIGSIZE', FormSize)
|
||||
Set_Property(@Window, '@ORIGSIZE', FormSize)
|
||||
Gosub CheckSelectedForHolds
|
||||
// Pull then save original list after formatting for savewarn purposes
|
||||
Set_Property(WMORptCtrl, 'OLE.List', WMOList)
|
||||
WMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.List')
|
||||
@ -344,3 +432,48 @@ RefreshRowColors:
|
||||
Set_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelPos', SelPos)
|
||||
|
||||
return
|
||||
|
||||
CheckSelectedForHolds:
|
||||
|
||||
If Unassigned(HoldOnFlag) then HoldOnFlag = False$
|
||||
If Unassigned(HoldOffFlag) then HoldOffFlag = False$
|
||||
SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
If SelWMOList NE '' then
|
||||
SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
* WMOutKeys = SelWMOList<4>
|
||||
HoldStatuses = SelWMOList<8>
|
||||
* Swap @VM with @FM in WMOutKeys
|
||||
* SelCount = DCount(WMOutKeys, @FM)
|
||||
|
||||
Swap @VM with @FM in HoldStatuses
|
||||
SelCount = DCount(HoldStatuses, @FM)
|
||||
|
||||
For K = 1 to SelCount
|
||||
* WOMatKey = Xlate('WM_OUT', WMOutKeys<K>, 'WO_MAT_KEY', 'X', '')
|
||||
* HoldCheck = Hold_Services('CheckForHold', WOMatKey, '')
|
||||
HoldText = HoldStatuses<K>
|
||||
If HoldText = 'On Hold' then
|
||||
HoldCheck = True$
|
||||
end else
|
||||
HoldCheck = False$
|
||||
end
|
||||
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
|
||||
|
||||
|
Reference in New Issue
Block a user