def go(self, sonCode, material, relation, product, IdToCode, CodeToId): if sonCode in CodeToId: sonId = CodeToId[sonCode] a = some_functions.return_Table_Column_Value('relation', 'son',str(sonId)) if len(a)!=0: for i in a: fatherId = i[1] self.NUM += 1 temp1 = some_functions.return_Table_Column_Value('material', 'id', str(fatherId)) self.SHEET.write(self.NUM, 0, temp1[0][1]) self.SHEET.write(self.NUM, 1, i[3]) products = some_functions.findAllProduct(IdToCode[fatherId]) WE = '' for i in products: WE += '; '+i WE = WE[2:] self.SHEET.write(self.NUM, 2, WE) currentDIR = os.path.dirname(os.path.realpath(__file__)) self.EXCEL.save(os.path.join(currentDIR, "single_reverse_query.xls")) print 'done' else: print 'this material has no direct father!' else: print 'no such material code!'
def gogo(self, IND, needNum, ID): self.MAX_IND = max(self.MAX_IND, IND) direct_son = some_functions.return_Table_Column_Value("relation", "father", str(ID)) for i in direct_son: self.NUM += 1 son_code = some_functions.return_Table_Column_Value("material", "id", str(i[2]))[0][1] self.SHEET.write(self.NUM, IND, son_code) self.NUMArray.append(needNum * i[3]) self.gogo(IND + 1, needNum * i[3], i[2])
def update_tree(self): self.ui.treeWidget.clear() self.ui.treeWidget_2.clear() self.tree1Item = [] self.tree2Item = {} for i in self.MATERIAL: self.tree1Item.append(QTreeWidgetItem(self.tree1)) self.tree1Item[-1].setText(0, str(i[1])) self.tree1Item[-1].setText(1, str(i[2])) if i[3]==1: self.tree1Item[-1].setText(2, 'True') for i in self.RELATION: fatherID = i[1] fatherCode = self.MATERIAL_id_code[fatherID] sonID = i[2] sonCode = self.MATERIAL_id_code[sonID] ratio = i[3] if fatherID not in self.tree2Item: self.tree2Item[fatherID] = QTreeWidgetItem(self.tree2) self.tree2Item[fatherID].setText(0, fatherCode) if some_functions.return_Table_Column_Value('material', 'id', str(some_functions.code_to_id(fatherCode)))[0][3]==True: self.tree2Item[fatherID].setText(2, fatherCode) key = (fatherID, sonID) if key not in self.tree2Item: self.tree2Item[key] = QTreeWidgetItem(self.tree2Item[fatherID]) self.tree2Item[key].setText(0, sonCode) self.tree2Item[key].setText(1, str(ratio))
def go(self, fatherCode, material, relation, product, IdToCode, CodeToId): self.EXCEL = xlwt.Workbook() self.SHEET = self.EXCEL.add_sheet('single_query', cell_overwrite_ok=False) self.SHEET.write(0,0,r'direct son') self.SHEET.write(0,1,r'needed amount') self.SHEET.write(0,2,r'product code') self.NUM = 0 if fatherCode in CodeToId: fatherId = CodeToId[fatherCode] a = some_functions.return_Table_Column_Value('relation', 'father',str(fatherId)) products = some_functions.findAllProduct(fatherCode) #return fatherCode's all products WE = '' for i in products: WE += '; '+i WE = WE[2:] if len(a)!=0: for i in a: sonId = i[2] self.NUM += 1 temp1 = some_functions.return_Table_Column_Value('material', 'id', str(sonId)) self.SHEET.write(self.NUM, 0, temp1[0][1]) self.SHEET.write(self.NUM, 1, i[3]) self.SHEET.write(self.NUM, 2, WE) currentDIR = os.path.dirname(os.path.realpath(__file__)) self.EXCEL.save(os.path.join(currentDIR, "single_query.xls")) print 'done' else: print 'this material has no direct son!' currentDIR = os.path.dirname(os.path.realpath(__file__)) self.EXCEL.save(os.path.join(currentDIR, "single_query.xls")) print 'done' else: print 'no such material code!'
def findAllFatherID(self, sonID): a1 = some_functions.return_Table_Column_Value('relation', 'son', str(sonID)) ans = [] for i in a1: ans.append((i[1], i[3])) #i[1]:father i[3]:ratio return ans