def test_aggregate(self): employees = [] employees.append(Employee(1, "Arun", "swe", 1000)) employees.append(Employee(2, "Chung", "swe", 100000)) empAgg = Aggregator().aggregate(employees) self.assertEqual(empAgg.aggregateType, "AVG_SALARY") self.assertEqual(empAgg.aggregateValue, 50500)
def btnAddActionPerformed(self): customerId = self.__txtCustomerId.get() itemId = self.__txtItemId.get() number = self.__txtNumber.get() employeeId = self.__txtEmployeeId.get() if len(customerId) > 0 and len(itemId) > 0 and len(number) > 0 and len( employeeId) > 0: try: customer = Customer(customerId, "", "", "") item = Item(itemId, "", "", "") employee = Employee(employeeId, "", "", "", "") if self.__customers.__contains__(customer) \ and self.__items.__contains__(item) and\ self.__employees.__contains__(employee): cIndex = self.__customers.index(customer) iIndex = self.__items.index(item) eIndex = self.__employees.index(employee) transaction = Transaction("", self.__customers[cIndex], self.__items[iIndex], number, self.__employees[eIndex]) transaction.fixId() self.__parent.addTransactionCallBack(transaction) messagebox.showinfo("Success", "A new transaction has been added") self.showDefaultText() else: messagebox.showerror("Error", "This information does not exist!") except Exception: messagebox.showerror("Error", "Invalid information format!") else: messagebox.showerror("Error", "Input fields cannot be left blank!")
def readEmployeeTable(self): self.__employees = [] sql = "SELECT * FROM employees" self.__cursor.execute(sql) records = self.__cursor.fetchall() for row in records: employee = Employee(str(row[0]), row[1], row[2], row[3], str(row[4])) self.__employees.append(employee) return self.__employees
def searchEmployeeBySalary(self, salary): self.__employees = [] sql = "SELECT * FROM employees WHERE salary LIKE %s" val = ("%" + salary + "%", ) self.__cursor.execute(sql, val) records = self.__cursor.fetchall() for row in records: employee = Employee(str(row[0]), row[1], row[2], row[3], str(row[4])) self.__employees.append(employee) return self.__employees
def searchEmployeeByPhoneNumber(self, phoneNumber): self.__employees = [] sql = "SELECT * FROM employees WHERE phoneNumber LIKE %s" val = ("%" + phoneNumber + "%", ) self.__cursor.execute(sql, val) records = self.__cursor.fetchall() for row in records: employee = Employee(str(row[0]), row[1], row[2], row[3], str(row[4])) self.__employees.append(employee) return self.__employees
def searchEmployeeById(self, employeeId): self.__employees = [] sql = "SELECT * FROM employees WHERE id = %s" val = (employeeId, ) self.__cursor.execute(sql, val) records = self.__cursor.fetchall() for row in records: employee = Employee(str(row[0]), row[1], row[2], row[3], str(row[4])) self.__employees.append(employee) return self.__employees
def add_employee_process(): employee = Employee( request.form["first_name"], request.form["surname"], request.form["email"], request.form["phone_number"], request.form["hire_date"], request.form["job_id"], request.form["salary"], request.form["commission"], request.form["manager_id"], request.form["department_no"], ) result = insert_new_employee(employee) return search_results(request.form["email"])
def btnEditActionPerformed(self): fullName = self.__txtFullName.get() address = self.__txtAddress.get() phoneNumber = self.__txtPhoneNumber.get() salary = self.__txtSalary.get() if len(fullName) > 0 and len(address) > 0 and len(phoneNumber) > 0: try: employee = Employee(str(self.__employee.getId()), fullName, address, phoneNumber, salary) self.__parent.editEmployeeCallBack(employee) self.__editEmployeeWindow.destroy() messagebox.showinfo("Success", "Employee information has been edited") except Exception: messagebox.showerror("Error", "Invalid information format!") else: messagebox.showerror("Error", "Input fields cannot be left blank!")
def extract(self, dbFactory): cnx = dbFactory.getConnection() cursor = cnx.cursor() query = ("SELECT id, name, dept, salary from employee") cursor.execute(query) employees = [] for (id, name, dept, salary) in cursor: emp = Employee(id, name, dept, salary) employees.append(emp) cursor.close() return employees
def edit_employee_process(): employee = Employee( request.form["first_name"], request.form["surname"], request.form["email"], request.form["phone_number"], request.form["hire_date"], request.form["job_id"], request.form["salary"], request.form["commission"], request.form["manager_id"], request.form["department_no"], ) update_employee(employee, request.args.get("id")) return search_results(request.args.get("id"))
def readTransactionTable(self): self.__transactions = [] sql = "SELECT * FROM transactions" self.__cursor.execute(sql) records = self.__cursor.fetchall() for row in records: id = str(row[0]) customerId = str(row[1]) itemId = str(row[3]) number = str(row[5]) employeeId = str(row[7]) cIndex = self.__customers.index(Customer(customerId, "", "", "")) iIndex = self.__items.index(Item(itemId, "", "", "")) eIndex = self.__employees.\ index(Employee(employeeId, "", "", "", "")) transaction = Transaction(id, self.__customers[cIndex], self.__items[iIndex], number, self.__employees[eIndex]) self.__transactions.append(transaction) return self.__transactions
def btnAddActionPerformed(self): fullName = self.__txtFullName.get() address = self.__txtAddress.get() phoneNumber = self.__txtPhoneNumber.get() salary = self.__txtSalary.get() if len(fullName) > 0 and len(address) > 0 and len(phoneNumber) > 0: try: employee = Person(fullName, address, phoneNumber) if self.__employees.__contains__(employee): messagebox.showerror( "Error", "Employee information already exists!") else: employee = Employee("", fullName, address, phoneNumber, salary) employee.fixId() self.__parent.addEmployeeCallBack(employee) messagebox.showinfo("Success", "A new customer has been added") self.showDefaultText() except Exception: messagebox.showerror("Error", "Invalid information format!") else: messagebox.showerror("Error", "Input fields cannot be left blank!")
try: print('Start sending messages ...') time_start = int(round(time.time() * 1000)) # produce(topic, [value], [key], [partition], [on_delivery], [timestamp], [headers]) ''' / ** 示範: 如何將資料包成物件並轉換成JSON字串送入Kafka ** // 由於一般應用場景的資料都是包括了很多的資料欄位及不同的資料型別。通常都會使用一個類別物件來做為資料傳遞的容器。 // 因此如何把一個Data Transfer Object (DTO)序列化送進Kafka是相當關鍵的步驟 ''' for i in range(msgCount): fakeNumber = str(i) # 讓我們產生假的Employee資料 employee = Employee(id_='emp_id_' + fakeNumber, first_name='fn_' + fakeNumber, last_name='ln_' + fakeNumber, dept_id='dept_id_' + str(i % 10), hire_date=epoch_now_mills(), wage=float(i), sex=True) # 轉換成JSON字串 employeeJson = json.dumps(employee.__dict__) # 送出訊息 producer.produce(topicName, key=str(i), value=employeeJson, callback=delivery_callback) producer.poll(0) # 呼叫poll來讓client程式去檢查內部的Buffer, 並觸發callback if i % 10000 == 0: print('Send {} messages'.format(i)) time_spend = int(round(time.time() * 1000)) - time_start print('Send : ' + str(msgCount) + ' messages to Kafka')
from pyspark.sql import SparkSession from pyspark.sql.functions import broadcast from model.Role import Role from model.Employee import Employee if __name__ == '__main__': # Create the SparkSession spark = SparkSession \ .builder \ .appName("DSL examples") \ .master('local[*]') \ .getOrCreate() spark.sparkContext.setLogLevel('ERROR') emp_df = spark.createDataFrame([ Employee(1, "Sidhartha", "Ray"), Employee(2, "Pratik", "Solanki"), Employee(3, "Ashok", "Pradhan"), Employee(4, "Rohit", "Bhangur"), Employee(5, "Kranti", "Meshram"), Employee(7, "Ravi", "Kiran") ]) emp_df.createOrReplaceTempView("emp") role_df = spark.createDataFrame([ Role(1, "Architect"), Role(2, "Programmer"), Role(3, "Analyst"), Role(4, "Programmer"), Role(5, "Architect"), Role(6, "CEO")
from model.Employee import Employee print(Employee.count()) e1 = Employee("Anil", 200) e1.print() print(Employee.count()) e2 = Employee("Osho", 540) e2.print() print(Employee.count()) e3 = Employee.create_employee("Steve", 7800) e3.print() print(Employee.count())