import java.util.List;
import java.util.Scanner;
import com.ajn.emp.dao.EmpDao;
import com.ajn.emp.dao.impl.EmpDaoImpl;
import com.ajn.emp.entity.Dept;
import com.ajn.emp.entity.Emp;
import com.ajn.emp.util.DateUtil;
public class MainMenu {
private Scanner in = new Scanner(System.in);
private Emp emp = new Emp();
private EmpDao dao = new EmpDaoImpl();
public void showMenu() {
System.out.println(""
+ "┌───────────────────────────────────┐\n"
+ "│\t\t\t欢迎使用员工管理系统\t\t\t│\n"
+ "└───────────────────────────────────┘");
while (true) {
System.out.println(""
+ "┌───────────────────────────────────┐\n"
+ "│\t1. 添加员工信息\t\t\t\t\t\t│\n"
+ "│\t2. 查询所有员工信息\t\t\t\t\t│\n"
+ "│\t3. 根据员工编号查询员工信息\t\t\t\t│\n"
+ "│\t4. 根据员工的姓名查询员工(模糊查询)\t\t│\n"
+ "│\t5. 根据员工的编号修改员工的工资\t\t\t│\n"
+ "│\t6. 删除员工的信息\t\t\t\t\t│\n"
+ "│\t7. 统计各部门信息及员工人数和平均工资\t\t│\n"
+ "│\t0. 退出\t\t\t\t\t\t\t│\n"
+ "└───────────────────────────────────┘");
System.out.print("请选择操作选项:");
switch (in.nextInt()) {
case 1:addEmp();break;
case 2:queryAll();break;
case 3:queryEmpByEmpno();break;
case 4:queryEmpByEname();break;
case 5:updateSalByEmpno();break;
case 6:deleteEmp();break;
case 7:queryDeptInfo();break;
case 0:System.out.println("感谢使用,再见!");return;
default:System.out.println("输入错误,请重新输入!");
}
}
}
private void queryEmpByEname() {
System.out.print("请输入员工姓名:");
String ename = in.next();
List list = dao.queryEmpByEname(ename);
System.out.println("─────────────────────────────────────────────────────────────────────");
System.out.println("empno\tename\tjob\tmgr\thiredate\tsal\tcomm\tdeptno\t");
System.out.println("─────────────────────────────────────────────────────────────────────");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("─────────────────────────────────────────────────────────────────────");
}
private void queryDeptInfo() {
System.out.println("─────────────────────────────────────────");
System.out.println("deptno\tdname\tloc\tcnt\tsal");
System.out.println("─────────────────────────────────────────");
List dept = dao.queryDeptInfo();
for (int i = 0; i < dept.size(); i++) {
System.out.println(dept.get(i));
}
System.out.println("─────────────────────────────────────────");
}
private void deleteEmp() {
System.out.print("请输入要删除员工编号:");
int empno = in.nextInt();
if (dao.deleteEmp(empno)) {
System.out.println("删除成功!");
} else {
System.out.println("删除失败!");
}
}
private void updateSalByEmpno() {
System.out.print("请输入员工编号:");
int empno = in.nextInt();
System.out.print("请输入修改薪资:");
double sal = in.nextDouble();
if (dao.updateSalByEmpno(empno, sal)) {
System.out.println("修改成功!");
} else {
System.out.println("修改失败!");
}
}
private void queryEmpByEmpno() {
System.out.print("请输入员工编号:");
int empno = in.nextInt();
emp = dao.queryEmpByEmpno(empno);
if (emp != null) {
System.out.println("─────────────────────────────────────────────────────────────────────");
System.out.println("empno\tename\tjob\tmgr\thiredate\tsal\tcomm\tdeptno\t");
System.out.println("─────────────────────────────────────────────────────────────────────");
System.out.println(emp);
System.out.println("─────────────────────────────────────────────────────────────────────");
} else {
System.out.println("查无此人!");
}
}
private void queryAll() {
List list = dao.queryAll();
System.out.println("─────────────────────────────────────────────────────────────────────");
System.out.println("empno\tename\tjob\tmgr\thiredate\tsal\tcomm\tdeptno\t");
System.out.println("─────────────────────────────────────────────────────────────────────");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("─────────────────────────────────────────────────────────────────────");
}
private void addEmp() {
System.out.print("请输入员工编号:");
emp.setEmpno(in.nextInt());
System.out.print("请输入员工姓名:");
emp.setEname(in.next());
System.out.print("请输入员工职位:");
emp.setJob(in.next());
System.out.print("请输入领导编号:");
emp.setMgr(in.nextInt());
System.out.print("请输入入职日期:");
emp.setHiredate(DateUtil.string2Date(in.next()));
System.out.print("请输入工资:");
emp.setSal(in.nextDouble());
System.out.print("请输入提成:");
emp.setComm(in.nextDouble());
System.out.print("请输入部门编号:");
emp.setDeptno(in.nextInt());
if (dao.addEmp(emp)) {
System.out.println("添加成功!");
} else {
System.out.println("添加失败!");
}
}
}