def checkForObject(objName, objType): filter = system.mes.object.filter.createFilter() filter.setMESObjectTypeName(objType) filter.setMESObjectNamePattern(objName) linkList = system.mes.searchMESObjects(filter) return True if linkList.size() > 0 else False
def getLotTraceResults(lotNumber, usedLotNumbers=[], depth=0): import system if depth == 0: usedLotNumbers = [] if lotNumber in usedLotNumbers: return [] else: usedLotNumbers.append(lotNumber) traceData = [] subTraceData = [] results = system.dataset.toPyDataSet(system.mes.getLotTraceByLotName(lotNumber, "", 100, True)) for row in results: lotUse = row["LotUse"] lotName = row["LotName"] traceData.append([row["LotName"], lotNumber, row["LotStatus"], row["LotUse"], row["LotBeginDateTime"], row["LotEndDateTime"], row["LotQuantity"], row["MaterialName"], row["LotLocationName"], row["SegmentUUID"], row["SegmentName"], row["SegmentLocationName"], depth]) if lotUse == "In": traceData.extend(getLotTraceResults(lotName, usedLotNumbers, depth + 1)) return traceData
def getLotTraceResultsDataset(lotNumber): import system log = system.util.getLogger("Lot Trace Results Report") log.info(lotNumber) traceHeader = ["LotName", "ParentLotName", "LotStatus", "LotUse", "LotBeginDateTime", "LotEndDateTime", "LotQuantity", "MaterialName", "LotLocationName", "SegmentUUID", "SegmentName", "SegmentLocationName", "Depth"] traceData = getLotTraceResults(lotNumber) return system.dataset.toDataSet(traceHeader, traceData)
def createRecipe(recipeName): from org.apache.log4j import Logger log = Logger.getLogger('createRecipeScriptLogger') query = """SELECT * FROM REC_Recipe WHERE Deleted = 0 AND Name = ?""" db = 'MES' result = system.db.runPrepQuery(query, [recipeName], db, '') if result.getRowCount() == 0: parentRecipeName = '' note = 'Manually-created recipe' system.recipe.createRecipe(recipeName, parentRecipeName, note) itemPath = 'New Enterprise\Site\Area\Line 1' system.recipe.addItemToRecipe(recipeName, itemPath, note) category = '1' recipeVals = system.recipe.getRecipeValues(itemPath, recipeName, category) log.info('Original recipe values') log.info('--------------------------------') for ndx in range(recipeVals.size()): recipeItem = recipeVals.get(ndx) itemName = recipeItem.getName() itemValue = str(recipeItem.getValue()) log.info('%s=%s' %(itemName, itemValue)) valueName = 'Torque Setting 1' value = '3.0' note = 'value changed' system.recipe.setPathRecipeValue(itemPath, recipeName, valueName, value, note) valueName = 'Zero Location' value = '7.5' note = 'value changed' system.recipe.setPathRecipeValue(itemPath, recipeName, valueName, value, note) recipeVals = system.recipe.getRecipeValues(itemPath, recipeName, category) log.info(' ') log.info('Modified recipe values') log.info('--------------------------------') for ndx in range(recipeVals.size()): recipeItem = recipeVals.get(ndx) itemName = recipeItem.getName() itemValue = str(recipeItem.getValue()) log.info('%s=%s' %(itemName, itemValue)) return True else: return False |