LPN Hold Management vision.custom.functions 0 0;0 1241;930 2 717.0;203.0 374.0;640.0;717.0;203.0 tblHolds 374.0;640.0;16;0;0.016736401;0.0591133 1 selectAll def selectAll(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ dsData = self.dsData headers = [ "Select", "Location" ] listNewData = [] for rowNum in range(0, dsData.getRowCount()): location = dsData.getValueAt(rowNum, "location") displayName = dsData.getValueAt(rowNum, "displayName") listNewData.append([ True, displayName ] ) self.data = system.dataset.toDataSet(headers, listNewData) deselectAll def deselectAll(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ dsData = self.dsData headers = [ "Select", "Location" ] listNewData = [] for rowNum in range(0, dsData.getRowCount()): location = dsData.getValueAt(rowNum, "location") displayName = dsData.getValueAt(rowNum, "displayName") listNewData.append([ False, displayName ] ) self.data = system.dataset.toDataSet(headers, listNewData) refresh def refresh(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ dsData = self.dsData searchString = self.parent.getComponent('txtLocation').text.strip() headers = [ "Select", "Location" ] listNewData = [] for rowNum in range(0, dsData.getRowCount()): location = dsData.getValueAt(rowNum, "location") displayName = dsData.getValueAt(rowNum, "displayName") if(searchString == "" or displayName.lower().startswith(searchString.lower()) ): listNewData.append([ False, displayName ] ) if(len(listNewData) == 1): listNewData[0][0] = True self.data = system.dataset.toDataSet(headers, listNewData) Select holdInstance optionalTitle memo dtCreated dtEnded holdType holdClass LotType Lot NumLpns I str str str date date str str str str I name bgcolorMap bgcolorMapColumn dateFormat editable fgcolorMap fgcolorMapColumn fontMap fontMapColumn headerAlignment hidden hideTextOverProgressbar horizontalAlignment imageMap imageMapColumn label locale numberFormat prefix progressBackground progressForeground progressRange sortable suffix translateMap translateMapColumn treatAsBoolean treatAsProgressBar verticalAlignment width str str str str B str str str str i B B i str str str java.util.Locale str str clr clr str B str str str B B i i 2 3 4 5 6 7 8 9 10 11 12 13 13 13 13 13 13 13 13 13 13 MMM d, yyyy h:mm a M/d/yyyy 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 -9 -9 0 -9 -9 0 0 0 13 13 13 13 13 13 13 13 13 13 13 13 Created On Lot Type Description 13 Hold 13 13 Hold Type Hold Class # LPNs en 13 13 15 #,##0.## 16 16 16 16 16 16 16 16 16 16 13 13 13 13 13 13 13 13 13 13 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 <doubledimension><width>0.0</width><height>100.0</height></doubledimension> 17 17 17 17 17 17 17 17 17 17 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 0 0 69 107 100 160 100 109 100 100 90 98 67 allSelected 18 18 B 13 dsData 19 19 com.inductiveautomation.ignition.common.Dataset 13 20 oneSelected 21 21 B 13 propertyChange java.beans.PropertyChangeListener java.beans.PropertyChangeListener|propertyChange|1;java.beans.PropertyChangeEvent java.awt.Container|addPropertyChangeListener|1;java.beans.PropertyChangeListener java.awt.Component|removePropertyChangeListener|1;java.beans.PropertyChangeListener #if(event.propertyName == "dsData"): #event.source.refresh() #if(event.propertyName == "data"): #dsData = event.source.data #listLocations = [] #for rowNum in range(0,dsData.getRowCount()): #if(dsData.getValueAt(rowNum,"Select") == 1): #@listLocations.append(str(dsData.getValueAt(rowNum,"holdInstance"))) #event.source.parent.locations = ",".join(listLocations) 22 23 466.0;203.0 662.0;345.0;466.0;203.0 tblHoldsActive 662.0;345.0;16;0;0.025751073;0.0591133 1 24 0 6 7 5 lotId 4 2 vendorLotId vendorLot 8 3 9 userIdInserted 10 typeName typeDescription commentRequired okToShip okToConsume okToTransfer 25 okToBeerFairy isQuarantine reportPriority participatesInAvailability affectsGoodProductionCount nonconformingOnReceipt groupHoldAllowed 11 className classDescription 12 I str str I str str I str str date date I str str str B B B B I B B I B B B B str str str I 26 27 4 28 29 7 30 31 8 32 5 33 10 34 35 36 37 38 39 40 41 25 9 42 11 43 2 3 44 6 45 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 46 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 -9 -9 0 -9 -9 -9 -9 -9 -9 0 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 0 -9 0 0 -9 -9 -9 0 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 47 13 13 48 13 13 13 13 49 13 50 13 13 13 13 13 13 13 13 13 13 Vendor Lot 51 51 13 52 13 13 13 53 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 ###0 16 16 16 16 16 16 16 16 16 16 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 109 100 100 100 100 160 100 90 100 100 100 100 100 100 100 100 100 100 100 98 100 69 107 100 64 100 67 18 18 18 B 13 19 19 19 com.inductiveautomation.ignition.common.Dataset 13 54 21 21 21 B 13 55 56 22 57 58 218.0;32.4 146.0;116.5999984741211;218.0;32.400001525878906 ddLots 146.0;116.6;16;0;0.06422018;0.43209875 1 59 Dialog;1;14 lot vendorlot str str '' <Select a Lot> 60 61 1 40 13 500 json 62 62 str 13 {"UserId":0} region 63 63 str 13 13 wildcardLPN 64 64 str 13 WHERE 1=1 55 headerDict = {'UserId':event.source.selectedValue} event.source.json = system.util.jsonEncode(headerDict) #if(event.propertyName == "data"): #event.source.parent.getComponent('txtSearchBox').text = "" #event.source.parent.getComponent('ddLpns').selectedValue = -1 if event.source.selectedValue>-1: event.source.parent.getComponent('ddLpns').selectedValue = -1 22 57 65 116.0;37.0 396.0;65.0;116.0;37.0 txtSearchBox 396.0;65.0;16;0;0.12068965;0.3783784 1 59 66 lenString 67 67 I 13 0 strSQL 68 68 str 13 WHERE 1=1 55 if len(event.source.text): event.source.parent.getComponent('txtSearchBoxLot').text = "" 22 57 69 105.0;52.0 59.0;570.0;105.0;52.0 btnAdd 59.0;570.0;16;0;0.114285715;0.23076923 1 59 -328965 action java.awt.event.ActionListener java.awt.event.ActionListener|actionPerformed|1;java.awt.event.ActionEvent javax.swing.AbstractButton|addActionListener|1;java.awt.event.ActionListener javax.swing.AbstractButton|removeActionListener|1;java.awt.event.ActionListener userId = event.source.parent.userId #userName = event.source.parent.parent.username if event.source.parent.getComponent('ddHoldClass').selectedValue == -1 : system.gui.messageBox('You Must Select a Hold Class', 'Hold Class Needed!') sys.exit() if event.source.parent.getComponent('ddHoldType').selectedValue == -1 : system.gui.messageBox('You Must Select a Hold Type', 'Hold Type Needed!') sys.exit() if event.source.parent.getComponent('txtTitle').text == "" : system.gui.messageBox('You Must Enter a Title', 'Hold Title Needed!') sys.exit() if event.source.parent.getComponent('txtDescription').text == "" : system.gui.messageBox('You Must Enter a Description for the Hold', 'Hold Description Needed!') sys.exit() if event.source.parent.getComponent('ddHoldType').selectedIndex !=-1: if event.source.parent.getComponent('ddNewHoldClass').selectedIndex !=-1: lpnCount = 0 lpnList = [] table = event.source.parent.getComponent('tblInventory') for i in range(table.data.getRowCount()): if table.data.getValueAt(i,"Select")==1: lpn = table.data.getValueAt(i,"lpn") lpnDict = {'lpn':table.data.getValueAt(i,"lpn")} lpnList.append(lpnDict) lpnCount = lpnCount + 1 #print lpn #print lpnCount #print "lpnList =%s" %(lpnList) print "lpnList =%s" %(lpnList) headerDict = {'userId':userId, #'userName':userName, 'site':event.source.parent.getComponent('ddSite').siteString, 'holdClass':event.source.parent.getComponent('ddHoldClass').holdClass, 'holdType':event.source.parent.getComponent('ddHoldType').holdType, 'holdMemo':event.source.parent.getComponent('txtDescription').text, 'holdTitle':event.source.parent.getComponent('txtTitle').text, 'lpnList':lpnList} jsonString = system.util.jsonEncode(headerDict) print jsonString txId = system.db.beginTransaction("ProductionSwitchboard_PhoenixWMS",timeout=30000) call = system.db.createSProcCall("[dbo].[wms_whse_create_lpnHoldInstance]", tx=txId) call.registerInParam(1, system.db.LONGNVARCHAR, jsonString) try: system.db.execSProcCall(call) #would comment out the next line #error = shared.dbScript.execSProcCall(call) holdInstance = call.getResultSet().getValueAt(0,0) system.db.commitTransaction(txId) except: system.db.rollbackTransaction(txId) #would comment out the next line #system.gui.messageBox(error.errorMessage + '\n There was an error when creating this Hold. Please contact Dev.', error.title) raise system.db.closeTransaction(txId) system.gui.warningBox("Hold Instance "+holdInstance+" has been created on "+str(lpnCount)+" LPNs") event.source.parent.getComponent('txtDescription').text='' event.source.parent.getComponent('txtTitle').text='' event.source.parent.getComponent('ddHoldType').selectedValue = -1 event.source.parent.getComponent('ddHoldClass').selectedValue = -1 event.source.parent.getComponent('ddMaterialCategory').selectedValue = -1 #system.db.refresh(event.source.parent,"dsLots") #system.db.refresh(event.source.parent,"dsLpns") 70 57 71 219.0;34.0 139.0;723.0;219.0;34.0 ddHoldType 139.0;723.0;16;0;0.06392694;0.4117647 1 59 66 10 10 72 10 10 10 str 13 13 55 if(event.propertyName == "selectedIndex"): event.source.parent.getComponent('txtTitle').text = "" event.source.parent.getComponent('txtDescription').text = "" 22 57 73 74 146.0;68.0;218.0;32.400001525878906 ddLpns 146.0;68.0;16;0;0.06422018;0.43209875 1 59 66 lpn str 60 <Select an LPN> 60 75 40 62 62 62 str 13 {"UserId":-1} 63 63 63 str 13 13 64 64 64 str 13 76 55 headerDict = {'UserId':event.source.selectedValue} event.source.json = system.util.jsonEncode(headerDict) #if(event.propertyName == "data"): event.source.parent.getComponent('txtSearchBoxLot').text = "" #event.source.parent.getComponent('ddLots').selectedValue = -1 if event.source.selectedValue>-1: event.source.parent.getComponent('ddLots').selectedValue = -1 22 57 77 78 396.0;116.0;116.0;37.0 txtSearchBoxLot 396.0;116.0;16;0;0.12068965;0.3783784 1 59 66 67 67 67 I 13 0 68 68 68 str 13 79 55 if len(event.source.text): event.source.parent.getComponent('txtSearchBox').text = "" 22 57 80 220.0;34.0 139.0;679.0;220.0;34.0 ddHoldClass 139.0;679.0;16;0;0.06363636;0.4117647 1 59 66 11 11 72 25 19 19 19 com.inductiveautomation.ignition.common.Dataset 13 63 displayName 72 11 11 11 str 13 13 selecteAll 81 81 B 13 55 if(event.propertyName == "dsData"): event.source.data = system.dataset.addRow(event.newValue,0,["<ALL>", "<ALL>"]) event.source.selectedStringValue = "<ALL>" if(event.propertyName == "selectedIndex"): event.source.parent.getComponent('ddHoldType').selectedIndex = -1 event.source.parent.getComponent('txtTitle').text = "" event.source.parent.getComponent('txtDescription').text = "" 22 57 82 218.0;83.0 141.0;806.0;218.0;83.0 txtDescription 141.0;806.0;16;0;0.055045873;0.14457831 1 clear def clear(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ self.text = "" Ebrima;1;12 datatype 83 83 str 13 Integer error 84 84 B 13 maxStringLength 85 85 I 13 0 focus java.awt.event.FocusListener java.awt.event.FocusListener|focusGained|1;java.awt.event.FocusEvent java.awt.event.FocusListener|focusLost|1;java.awt.event.FocusEvent java.awt.Component|addFocusListener|1;java.awt.event.FocusListener java.awt.Component|removeFocusListener|1;java.awt.event.FocusListener # make sure they didn't leave it at just "." without finishing the float datatype = event.source.datatype if datatype == "Float": if event.source.text.strip() == ".": event.source.error = True 86 57 87 55 #if(event.propertyName == "text"): #event.source.parent.getComponent('tblLocations').refresh() 22 57 87 88.0;30.0 27.0;186.0;88.0;30.0 btnSelectAll 27.0;186.0;16;0;0.13636364;0.4 1 59 -328965 Select All 13 88 if(event.source.parent.getComponent('tblContents').allSelected): event.source.parent.getComponent('tblContents').deselectAll() else: event.source.parent.getComponent('tblContents').selectAll() 70 57 89 606.52795;329.0 31.405609130859375;222.0;606.5279541015625;329.0 tblContents 31.40561;222.0;16;0;0.019784743;0.036474165 1 90 def selectAll(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ dsData = self.dsData headers = [dsData.getColumnName(c) for c in range(dsData.getColumnCount())] listNewData = [] for rowNum in range(0, dsData.getRowCount()): listNewRow = [] for header in headers: if(header == "Select"): listNewRow.append(1) else: listNewRow.append(dsData.getValueAt(rowNum, header)) listNewData.append(listNewRow) self.data = system.dataset.toDataSet(headers, listNewData) 91 def deselectAll(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ dsData = self.dsData headers = [dsData.getColumnName(c) for c in range(dsData.getColumnCount())] listNewData = [] for rowNum in range(0, dsData.getRowCount()): listNewRow = [] for header in headers: if(header == "Select"): listNewRow.append(0) else: listNewRow.append(dsData.getValueAt(rowNum, header)) listNewData.append(listNewRow) self.data = system.dataset.toDataSet(headers, listNewData) 92 def refresh(self): """ Arguments: self: A reference to the component instance this method is invoked on. This argument is automatic and should not be specified when invoking this method. """ dsData = self.dsData searchString = self.parent.getComponent('txtLocation').text.strip() headers = [ "Select", "Location" ] listNewData = [] for rowNum in range(0, dsData.getRowCount()): location = dsData.getValueAt(rowNum, "location") displayName = dsData.getValueAt(rowNum, "displayName") if(searchString == "" or displayName.lower().startswith(searchString.lower()) ): listNewData.append([ False, displayName ] ) if(len(listNewData) == 1): listNewData[0][0] = True self.data = system.dataset.toDataSet(headers, listNewData) 0 6 93 itemId kegSerialNumber itemNumber description 25 94 lottype qtyBase qtyWhse qtySubWhse serialNumber dtLabelCreated dtInventoryCreated lpnState lpnType palletTypeId location site owner isVirginTempTag isActiveTempTag I str I str str str I str str D I I str date date str str I str str str I I 26 27 95 96 97 98 99 100 25 93 101 102 103 94 104 105 106 107 6 108 109 110 111 112 113 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 46 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 -9 -9 -9 -9 -9 -9 -9 0 -9 -9 -9 -9 0 0 0 -9 -9 0 -9 -9 0 -9 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 49 13 13 LPN Create Date 13 13 13 13 LPN Type LPN State Site 13 13 Location 13 13 Qty 13 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 -6709858 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 141 100 100 100 266 100 129 122 100 100 99 100 106 99 77 87 100 78 100 100 91 100 18 18 18 B 13 19 19 19 com.inductiveautomation.ignition.common.Dataset 13 114 115 someSelected 116 116 B 13 55 if(event.propertyName == "data"): dsData = event.source.data listLpns = [] for rowNum in range(0,dsData.getRowCount()): if(dsData.getValueAt(rowNum,"Select") == 1): #print dsData.getValueAt(rowNum,"Location") #location = dsData.getValueAt(rowNum,"lpn") + "," #itemId = str(dsData.getValueAt(rowNum,"itemId")) listLpns.append(dsData.getValueAt(rowNum,"lpn")) #event.source.parent.locations = "'"+"','".join(listLocations)+"'" event.source.parent.listLpns = ",".join(listLpns) #print event.source.parent.locationItems 22 57 117 118 139.0;635.0;220.0;34.0 ddSite 139.0;635.0;16;0;0.06363636;0.4117647 1 59 66 107 119 72 chico <Select a Site> 60 120 40 62 62 62 str 13 121 siteString 122 122 str 13 13 55 headerDict = {'UserId':event.source.selectedValue} event.source.json = system.util.jsonEncode(headerDict) if(event.propertyName == "selectedIndex"): event.source.parent.getComponent('ddHoldType').selectedIndex = -1 event.source.parent.getComponent('ddHoldClass').selectedIndex = -1 event.source.parent.getComponent('txtTitle').text = "" event.source.parent.getComponent('txtDescription').text = "" 22 57 123 220.0;30.0 139.0;766.0;220.0;30.0 txtTitle 139.0;766.0;16;0;0.054545455;0.4 1 124 125 83 83 83 str 13 126 84 84 84 B 13 85 85 85 I 13 0 127 128 86 57 129 55 #if(event.propertyName == "text"): # event.source.parent.getComponent('tblLocations').refresh() 22 57 129 156.0;30.0 1068.0;47.0;156.0;30.0 btnGoBack 1068.0;47.0;16;0;0.07692308;0.4 1 59 -328965 Close Window nav.andclose nav.center nav.window Warehouse/InfoSelecter nav.newInstance nav.mode open 2 88 # This script was generated automatically by the navigation # script builder. You may modify this script, but if you do, # you will not be able to use the navigation builder to update # this script without overwriting your changes. window = system.nav.openWindow('Warehouse/InfoSelecter') system.nav.centerWindow(window) system.nav.closeParentWindow(event) 70 57 130 71 componentEnabled Root Container.tblContents.someSelected 131 131 132 192 1632352644126 117 116 B Root Container.tblHolds.oneSelected 131 131 133 134 23 21 B 2 1 0 if if ({Root Container.tblContents.someSelected} && {Root Container.tblHolds.oneSelected}, 1,0) 134 71 135 b cntLoading 1 59 fpmi.lc 491.0;380.0;16;0;-;- -16744448 491.0;380.0;263.0;174.0 136 171.0;104.0 43.0;30.0;171.0;104.0 Text Field 43.0;30.0;16;0;0.09356725;0.15384616 1 59 Arial Black;1;16 -328965 -328965 Loading..... 0 visible 137 137 Root Container 1 59 138 0.0;0.0;16;1;-;- cntVisible 139 139 I 13 0 dsLpns 140 140 com.inductiveautomation.ignition.common.Dataset 13 value I 0 listLpns 141 141 str 13 13 locationItems 142 142 str 13 13 locations 143 143 str 13 13 onHandLocs 144 144 I 13 0 63 63 63 str 13 13 tblSelect 145 145 I 13 0 userId 146 146 I 13 1 whereClause 147 147 str 13 76 0;0;1241;930 0.0;0.0;1241.0;35.0 0.0 1 59 0.44936708860759494;-0.014285714285714285 0.44936708860759494;1.0142857142857142 0.0;1.0 -1;-4736837 1 M 0.0 35.0 L 1241.0 35.0 0.0 1 59 -9802377 1188.0;26.0 6.0;4.0;1188.0;26.0 Header Label 6.0;4.0;13;0;0.021709634;0.61538464 1 59 Dialog;1;16 -328965 0 Builtin/icons/24/about.png 123 80.0;35.0 54.0;635.0;80.0;35.0 Label 54.0;635.0;16;0;0.175;0.4 1 59 66 -328965 148 4 23 149 54.0;680.0;80.0;35.0 Label 2 54.0;680.0;16;0;0.175;0.4 1 59 66 -328965 51 4 117 143.0;30.0 154.0;183.0;143.0;30.0 Label 3 154.0;183.0;16;0;0.0979021;0.46666667 1 59 66 -328965 Matching LPNs 130 82 129 132.0;30.0 0.0;768.0;132.0;30.0 Label 5 0.0;768.0;16;0;0.10606061;0.46666667 1 59 66 -328965 Title of New Hold 4 89 150 77 108.0;35.0 37.0;67.0;108.0;35.0 Label 7 37.0;67.0;16;0;0.12962963;0.4 1 59 66 -328965 Select an LPN 4 69 229.0;35.0 528.0;67.0;229.0;35.0 Label 9 528.0;67.0;16;0;0.052401748;0.34285715 1 59 Dialog;1;12 -328965 Enter All or Part of LPN To Filter List 2 65 151 37.0;118.0;108.0;35.0 Label 8 37.0;118.0;16;0;0.12962963;0.4 1 59 66 -328965 Or, Select a Lot 4 80 152 528.0;116.0;229.0;35.0 Label 10 528.0;116.0;16;0;0.052401748;0.34285715 1 59 153 -328965 Enter All or Part of Lot To Filter List 2 73 149 54.0;724.0;80.0;35.0 Label 4 54.0;724.0;16;0;0.175;0.4 1 59 66 -328965 50 4 87 100.0;30.0 34.0;808.0;100.0;30.0 Label 6 34.0;808.0;16;0;0.14;0.46666667 1 59 66 -328965 49 4 341.0;42.0 378.0;579.0;341.0;42.0 Label 11 378.0;579.0;16;0;0.04105572;0.33333334 1 59 66 -328965 <html>Attach the selected LPNs to an existing hold <br> from the table below, or create a new hold. 4 71 58 457.0;60.0 658.0;225.0;457.0;60.0 Label 12 658.0;225.0;16;0;0.030634573;0.23333333 1 59 66 -328965 <html>Highlight a hold row (below) and select one or more LPNs (right)<br> Click 'Remove Hold' to take the selected LPN(s) off hold. 4 154 670.0;285.0;105.0;52.0 btnRemove 670.0;285.0;16;0;0.114285715;0.23076923 -328965 Remove Hold 13 139 134 150 155 b 156 title 157 157 158 text 0 192 1632352735898 156 159 str 73 10 Root Container.ddHoldType.data 160 160 161 162 192 1632338976132 73 data com.inductiveautomation.ignition.common.Dataset Root Container.ddHoldType.selectedIndex 160 160 163 0 192 1632352643792 73 selectedIndex i 10 13 try try({Root Container.ddHoldType.data}[{Root Container.ddHoldType.selectedIndex},'holdType'],'' ) 13 192 1632352735891 73 10 str 73 164 PhoenixVision_PhoenixWMS 2 165 SELECT t.holdType, t.holdType FROM dbo.whHoldType t JOIN dbo.whHoldTypePermission p ON t.holdtype = p.holdType WHERE t.holdClass = ' 165 166 167 168 82 11 ' and p.userId = 165 166 169 1 192 1621383424815 170 146 171 73 164 com.inductiveautomation.ignition.common.Dataset 73 selectedValue 1 -1 -1 192 1632352735892 73 172 I 82 81 Root Container.ddRegions.selectedStringValue 173 173 174 168 82 selectedStringValue str <ALL> {Root Container.ddRegions.selectedStringValue}="<ALL>" 134 82 81 B 82 175 176 "<ALL>" 176 192 1632352735892 82 175 str 82 11 Root Container.ddHoldClass.data 177 177 178 179 192 1632263049199 82 164 com.inductiveautomation.ignition.common.Dataset Root Container.ddHoldClass.selectedIndex 177 177 180 181 82 182 i 11 13 183 try({Root Container.ddHoldClass.data}[{Root Container.ddHoldClass.selectedIndex},'holdClass'],'' ) 168 82 11 str 82 164 184 2 185 SELECT holdClass, holdClass FROM dbo.whHoldClassPermission where userid = 185 186 187 181 170 146 188 189 82 164 com.inductiveautomation.ignition.common.Dataset 82 172 1 190 191 82 172 I 117 164 2 59 147 192 192 193 194 76 192 1632343759571 170 147 76 wms/whse/getRs_lpnCandidatesForHold 59 59 13 195 192 1632342012045 117 164 com.inductiveautomation.ignition.common.Dataset 117 19 2 59 147 196 196 197 198 199 170 147 76 200 59 59 13 201 192 1632342012187 117 19 com.inductiveautomation.ignition.common.Dataset 117 18 Root Container.tblContents.data 202 202 203 204 117 164 com.inductiveautomation.ignition.common.Dataset 6 6 lookup 205 203 com.inductiveautomation.ignition.common.Dataset len 0 1 2 lookup({Root Container.tblContents.data},False,True,"Select","Select") && len({Root Container.tblContents.data})!=0 134 117 18 B 117 116 205 206 206 207 204 117 164 com.inductiveautomation.ignition.common.Dataset 6 6 208 205 207 com.inductiveautomation.ignition.common.Dataset 209 210 0 1 2 lookup({Root Container.tblContents.data},True,False,"Select","Select") && len({Root Container.tblContents.data})!=0 134 117 116 B 211 135 212 213 213 214 134 117 116 B Root Container.tblHoldsActive.oneSelected 213 213 215 134 58 21 B 2 1 0 216 if ({Root Container.tblContents.someSelected} && {Root Container.tblHoldsActive.oneSelected}, 1,0) 134 211 135 b 77 164 2 59 147 217 217 218 219 79 192 1632352643794 69 68 79 wms/whse/getRs_LpnList 59 59 13 220 192 1632249551482 77 164 com.inductiveautomation.ignition.common.Dataset 77 64 Root Container.ddLpns.selectedValue 221 221 222 191 77 172 I 1 WHERE lh.LPN = ' Root Container.ddLpns.selectedStringValue 221 221 223 60 192 1632340289897 77 175 str ' 76 216 //"%" + try({Root Container.ddLpns.selectedStringValue},"NONE") + "%" if ({Root Container.ddLpns.selectedValue}>-1 ," WHERE lh.LPN = '" + {Root Container.ddLpns.selectedStringValue} + "'" ," WHERE 1=1" ) 199 77 64 str 77 172 1 190 191 77 172 I 170 143 13 60 168 170 143 str 170 144 0 0 224 170 144 I 170 142 13 60 168 170 142 str 170 145 0 225 224 170 145 I 170 146 181 [client]User/userId 170 146 I 170 139 Root Container.tblContents.propertiesLoading 226 226 227 224 117 propertiesLoading i Root Container.tblHolds.propertiesLoading 226 226 228 224 23 229 i 3 {Root Container.tblContents.propertiesLoading} || {Root Container.tblHolds.propertiesLoading} 224 170 139 I 170 147 230 231 231 232 191 77 172 I 1 Root Container.ddLpns.wildcardLPN 231 231 233 199 77 64 str Root Container.ddLots.wildcardLPN 231 231 234 199 65 64 str 216 if({Root Container.ddLpns.selectedValue}>-1,{Root Container.ddLpns.wildcardLPN} ,{Root Container.ddLots.wildcardLPN}) 199 170 147 str 123 122 Root Container.ddSite.data 235 235 236 237 192 1631833709583 123 164 com.inductiveautomation.ignition.common.Dataset Root Container.ddSite.selectedIndex 235 235 238 181 123 182 i 107 13 183 try({Root Container.ddSite.data}[{Root Container.ddSite.selectedIndex},"site"],"") 168 123 122 str 123 164 2 59 59 wms/whse/sites 59 59 13 239 123 164 com.inductiveautomation.ignition.common.Dataset 123 172 1 190 191 123 172 I 123 135 240 241 241 242 134 23 21 B 0 1 0 216 if({Root Container.tblHolds.oneSelected}=0,1,0) 192 1632352735894 123 135 b 123 175 243 192 1630330680919 [client]User/site 123 175 str 23 164 244 244 23 19 20 192 1632338979217 23 164 com.inductiveautomation.ignition.common.Dataset 23 19 2 59 10 245 245 246 247 168 73 10 13 11 245 245 248 249 168 82 11 13 allClasses 245 245 250 251 191 82 172 -1 allTypes 245 245 252 253 191 73 172 -1 wms/whse/getRs_HoldsList 59 59 13 254 23 19 com.inductiveautomation.ignition.common.Dataset 23 21 Root Container.tblHolds.data 255 255 256 254 23 164 com.inductiveautomation.ignition.common.Dataset 6 6 208 257 256 com.inductiveautomation.ignition.common.Dataset 209 210 0 1 2 lookup({Root Container.tblHolds.data},True,False,"Select","Select") && len({Root Container.tblHolds.data})!=0 134 23 21 B 65 164 2 59 147 258 258 259 260 261 80 68 79 wms/whse/getRs_LotList 59 59 13 262 72 192 1632331513494 65 164 com.inductiveautomation.ignition.common.Dataset 65 172 1 190 191 65 172 I 65 64 Root Container.ddLots.selectedValue 263 263 264 191 65 172 I 1 WHERE l.lot = ' Root Container.ddLots.data 263 263 265 266 192 1632352723327 65 164 com.inductiveautomation.ignition.common.Dataset Root Container.ddLots.selectedIndex 263 263 267 191 65 182 i 94 ' OR v.vendorLot = ' 268 265 com.inductiveautomation.ignition.common.Dataset 269 267 i 42 270 76 216 //"%" + try({Root Container.ddLpns.selectedStringValue},"NONE") + "%" if ({Root Container.ddLots.selectedValue}>-1 ," WHERE l.lot = '" + {Root Container.ddLots.data}[{Root Container.ddLots.selectedIndex},"lot"] + "' OR v.vendorLot = '" + {Root Container.ddLots.data}[{Root Container.ddLots.selectedIndex},"vendorLot"] + "'" ," WHERE 1=1" ) 199 65 64 str 69 67 Root Container.txtSearchBox.text 271 271 272 168 69 273 str 210 0 1 0 216 if (len({Root Container.txtSearchBox.text})>0,1,0) 224 69 67 I 69 68 Root Container.txtSearchBox.lenString 274 274 275 224 69 67 I WHERE lpn LIKE '% 276 274 274 277 168 69 273 str %' 79 216 if({Root Container.txtSearchBox.lenString},"WHERE lpn LIKE '%" + {Root Container.txtSearchBox.text} + "%' "," WHERE 1=1 ") 261 69 68 str 129 editableBackground -1;-16777216;0;1500 278 278 129 84 2 -1 192 1632352735895 129 279 0 280 1 -30070;-16777216;0;1500 clr 129 273 13 "" 168 129 273 str 58 164 281 281 58 19 54 192 1632342012230 58 164 com.inductiveautomation.ignition.common.Dataset 58 21 Root Container.tblHoldsActive.selectedRow 282 282 283 191 58 selectedRow i 1 0 1 216 if({Root Container.tblHoldsActive.selectedRow}=-1,0,1) //lookup({Root Container.tblHoldsActive.data},True,False,"Select","Select") //&& //len({Root Container.tblHoldsActive.data})!=0 134 58 21 B 58 19 2 59 147 284 284 285 286 199 170 147 76 wms/whse/getRs_lpnHoldsListByLots 59 59 13 287 58 19 com.inductiveautomation.ignition.common.Dataset 80 67 276 288 288 289 168 80 273 str 210 0 1 0 216 290 224 80 67 I 80 68 Root Container.txtSearchBoxLot.lenString 291 291 292 224 80 67 I WHERE lot LIKE '% Root Container.txtSearchBoxLot.text 291 291 293 168 80 273 str %' or vendorLot LIKE '% 294 293 str %' 79 216 if({Root Container.txtSearchBoxLot.lenString},"WHERE lot LIKE '%" + {Root Container.txtSearchBoxLot.text} + "%' or vendorLot LIKE '%" + {Root Container.txtSearchBoxLot.text} + "%' "," WHERE 1=1 ") 261 80 68 str 87 279 280 295 295 87 84 2 296 87 279 297 clr 87 273 13 298 168 87 273 str 89 273 Root Container.tblContents.allSelected 299 299 300 134 117 18 B Deselect All 301 216 if({Root Container.tblContents.allSelected} ,"Deselect All" ,"Select All" ) 301 192 1632352735895 89 273 str 170