def move_toQ(self): # 더블 클릭된 행을 불러와서 각각 이름을 선언한다. row = self.c_code_table.currentRow() self.tb_code = self.c_code_table.item(row, 0).text() self.tb_comp = self.c_code_table.item(row, 1).text() self.tb_name = self.c_code_table.item(row, 2).text() # N NUMBER 추출 mkfunc = ef.excel_pd() self.Nnumber = mkfunc.MK_DB() self.Nrow = len(self.Nnumber) last = self.Nnumber[self.Nnumber.columns[0]][-1:].values.tolist() # 마지막 N 번호 다음 번호를 붙일 땐 +1 해서 사용 self.last = int(last[0][6:]) self.N = str(self.last + 1) Message1 = 'C-CODE: ' + self.tb_code Message2 = 'COMPANY: ' + self.tb_comp Message3 = 'NAME: ' + self.tb_name Message4 = 'Quotation Number: ' + self.N self.Quotation_label1.setText(Message1) self.Quotation_label2.setText(Message2) self.Quotation_label3.setText(Message3) self.Quotation_number.setText(Message4)
def tab1_ccode_btn(self): df_fun = ef.excel_pd() df = df_fun.search_ccode() ccode_text = self.c_code_line.text() df_search = df['COMPANY'].str.contains(ccode_text) print(df_search) DF = df[df_search] if DF.empty: reply = QMessageBox(self) reply.question(self, 'Error', '검색되지 않습니다.', QMessageBox.Yes) else: self.numROW = len(DF) self.numCOL = len(DF.columns) # ROW와 COLUMN 수 지정 self.c_code_table.setRowCount(self.numROW) self.c_code_table.setColumnCount(self.numCOL) # COLUMN 지정 self.c_code_table.setHorizontalHeaderLabels(DF.columns.tolist()) # 요소 넣기 self.v_list = DF.values.tolist() for m, n in zip(self.v_list, range(self.numROW)): for a, b in zip(range(self.numCOL), m): self.c_code_table.setItem(n, a, QTableWidgetItem(b))
def move_toQ(self): # 더블 클릭된 행을 불러와서 각각 이름을 선언한다. row = self.c_tbl1.currentRow() self.tb_code = self.c_tbl1.item(row, 0).text() self.tb_comp = self.c_tbl1.item(row, 1).text() self.tb_name = self.c_tbl1.item(row, 2).text() # N NUMBER 추출 mkfunc = ef.excel_pd() self.Nnumber = mkfunc.MK_DB() self.Nrow = len(self.Nnumber) last = self.Nnumber[self.Nnumber.columns[0]][-1:].values.tolist() # 마지막 N 번호 다음 번호를 붙일 땐 +1 해서 사용 self.last = int(last[0][6:]) self.N = str(self.last + 1) Message1 = self.tb_code Message2 = self.tb_comp Message3 = self.tb_name Message4 = self.N self.Q_lal1.setText(Message1) self.Q_lal2.setText(Message2) self.Q_lal3.setText(Message3) self.Q_lal4.setText(Message4)
def pushButtonCliked(self): adr_a = ef.excel_pd() df = adr_a.search_ccode() # 여기서 x는 마지막행을 말한다. p_x = len(df) y = str(p_x + 1) x = str(p_x + 2) wb = openpyxl.load_workbook(adr_a.DB_Cfile) w_sheet = wb['DB'] w_sheet['A' + x] = self.line1.text() w_sheet['B' + x] = self.line2.text() w_sheet['C' + x] = 'C' + y.zfill(4) wb.save(adr_a.DB_Cfile) self.close()
def pushButtonCliked(self): # Line에 입력된 값을 텍스트로 불러옴 self.Ycode = self.lineEdit1.text() self.NAME = self.lineEdit2.text() # 로그인 정보가 있는 EXCEL을 불러오기 위치 찾기 excel_LDB = ef.excel_pd() login_DB = excel_LDB.load_LDB() self.login_db = pd.read_excel(login_DB) # Ycode와 이름이 일치할 경우 DF 생성, 아닐경우 빈 DF 생성으로 로그인 성공과 실패를 결정 self.login_info = self.login_db.loc[(self.login_db['Ycode'] == self.Ycode) & (self.login_db['Name'] == self.NAME)] # 위치에 없으면 다시 입력하는 칸이 나오고, 있을 경우 close 하고 다음 실행 if self.login_info.empty: reply = QMessageBox(self) reply.question(self, 'Error', '사번 및 이름을 확인하세요.', QMessageBox.Yes) else: self.exe_load = exe_func() self.close()
def tab1_ccode_btn(self): df_fun = ef.excel_pd() df = df_fun.search_ccode() ccode_text = self.c_code_line.text() df_search = df['COMPANY'].str.contains(ccode_text) DF = df[df_search] if DF.empty: reply = QMessageBox(self) reply.question(self, 'Error', '검색되지 않습니다.', QMessageBox.Yes) else: self.numROW = len(DF) self.numCOL = len(DF.columns) # ROW와 COLUMN 수 지정 self.c_code_table.setRowCount(self.numROW) self.c_code_table.setColumnCount(self.numCOL) # COLUMN 지정 self.c_code_table.setHorizontalHeaderLabels(DF.columns.tolist()) # check self.insert_table() # 요소 넣기 self.v_list = DF.values.tolist()