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!'
Exemplo n.º 2
0
 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])
Exemplo n.º 3
0
    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))
Exemplo n.º 4
0
    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!'
Exemplo n.º 5
0
 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