package com.gec.ui;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
import com.gec.dao.AdminDao;
import com.gec.dao.BuyerDao;
import com.gec.dao.CashierDao;
import com.gec.dao.impl.AdminDaoImpl;
import com.gec.dao.impl.BuyerDaoImpl;
import com.gec.dao.impl.CashierDaoImpl;
import com.gec.domain.Admin;
import com.gec.domain.Buyer;
import com.gec.domain.Cashier;
import com.gec.domain.Goods;
import com.gec.domain.Vip;
import com.gec.util.JDBCUtil;
/*
* 员工界面
*/
public class EmployeesUI {
Scanner sc = new Scanner(System.in);
AdminDao dao = new AdminDaoImpl();
CashierDao cdao = new CashierDaoImpl();
//采购员引用
BuyerDao bdao = new BuyerDaoImpl();
/*
* class login{
*
* }
*/
public static void main(String[] args) {
EmployeesUI main = new EmployeesUI();
main.login();
}
public void login(){
do{
welcome();
System.out.println("请选择登录身份:1.管理员 2.收银员 3.采购员");
int option = sc.nextInt();
//管理员
if(option == 1){
System.out.print("请输入账号:");
String glyzh = sc.next();
System.out.print("请输入密码:");
String glymm = sc.next();
Admin user = dao.login(glyzh, glymm);
if (user != null) {
System.out.println("++++++++欢迎进入管理员界面++++++++");
//选择功能
System.out.println("请选择:1.收银员账号管理 \t2.采购员账号管理 \t3.员工出勤管理 \t4.查询超市营业额 \t5.会员管理"
+ "\t6.查询所有人员信息\t7.上班打卡\t8.下班打卡");
int num = sc.nextInt();
//1.收银员账号管理
if (num==1) {
System.out.println("请输入:1.添加 2.查找 3.修改 4.删除 5.退出");
int sy = sc.nextInt();
//
if (sy==1) {
saveUser();
} else if (sy==2) {
find(num);
} else if (sy==3) {
update();
} else if (sy==4) {
remove();
} else if (sy==5) {
break;
} else {
System.out.println("您的输入有误!");
}
//2.采购员账号管理
} else if (num==2) {
System.out.println("请选择操作:1.添加 2.查找 3.修改 4.删除 5.退出");
int cg = sc.nextInt();
//
if (cg==1) {
saveUser();
} else if (cg==2) {
find(num);
} else if (cg==3) {
update();
} else if (cg==4) {
remove();
} else if (cg==5) {
break;
} else {
System.out.println("您的输入有误!");
}
//3.员工出勤管理
} else if (num==3) {
attendance();
//4.查询超市营业额
} else if (num==4) {
turnover();
//5.会员管理
} else if (num==5) {
member();
//6.查询所有人员信息
} else if (num==6) {
QueryAll();
//7.上班打卡
} else if (num==7) {
clock();
//8.下班打卡
} else if (num==8) {
clock();
} else {
System.out.println("您的输入有误!请重试");
break;
}
} else {
System.out.println("账号或密码输入有误!");
login();
}
//收银员
}else if(option == 2){
login2(null);
//采购员
}else if(option == 3){
login3();
}
System.out.println("是否继续操作?1 是 2 否");
option = sc.nextInt();
if(option == 1){
continue;
}else if(option == 2){
break;
}
}while(true);
System.out.println("谢谢使用本系统!");
}
//收银员
public void login2(Cashier employee){
while (true) {
CashierDao cdao = new CashierDaoImpl();
System.out.println("请输入账号:");
String syzh = sc.next();
System.out.println("请输入密码:");
String symm = sc.next();
Cashier user = cdao.login2(syzh, symm);
if (user != null) {
System.out.println("++++++++欢迎进入收银系统++++++++");
//选择功能
System.out.println("请进行:1.收银结算\t 2.会员积分查询\t 3.开通会员\t 4.上班打卡\t 5.下班打卡");
int sy1 = sc.nextInt();
if (sy1==1) {
cdao.money(employee);
} else if (sy1==2) {
SelvipAccpoints();
} else if (sy1==3) {
registerVip();
} else if (sy1==4) {
clock();
} else if (sy1==5) {
clock();
} else {
System.out.println("你的输入有误!无法识别。");
break;
}
}
}
}
//采购员
public void login3(){
while (true) {
System.out.println("请输入账号:");
String cgy1 =sc.next();
System.out.println("请输入密码:");
String cgy2 =sc.next();
Buyer user = bdao.login3(cgy1, cgy2);
if (user !=null) {
System.out.println("++++++++++欢迎进入采购界面+++++++++");
System.out.println("请选择你要进行的操作:1.进行商品补货\t 2.查询进货单\t 3.上班打\t 4.下班打卡");
int cz1 = sc.nextInt();
if (cz1==1) {
replenishment();
} else if (cz1==2) {
invSurplus(cz1);
} else if (cz1==3) {
clock();
} else if (cz1==4) {
clock();
} else {
System.out.println("选择有误!");
break;
}
} else {
System.out.println("账号或密码错误!");
}
}
}
//欢迎
public void welcome() {
System.out.println("*********************************");
System.out.println("********欢迎使用员工系统********");
System.out.println("*********************************");
}
//营业额
private void turnover() {
String sql = null;
String date = null;
System.out.println("你想要查询:1.日营业额\t2.月营业额\t3.季度营业额\t4.年营业额");
int inquiry = sc.nextInt();
if (inquiry == 1) {
System.out.println("输入你想要查询的年月日(yyyy-MM-dd)");
date = sc.next();
sql = "SELECT * FROM goods,sell_info WHERE c_number = s_c_number AND DATE_FORMAT(s_time,'%Y-%m-%d') = '"
+ date + "'";
} else if (inquiry == 2) {
System.out.println("输入你想要查询的年月(yyyy-MM):");
date = sc.next();
sql = "SELECT * FROM goods,sell_info WHERE c_number = s_c_number AND DATE_FORMAT(s_time,'%Y-%m') = '"
+ date + "'";
} else if (inquiry == 3) {
System.out.println("输入你想要查询的年份:");
date = sc.next();
System.out.println("请选择你想要查询的季度:(1.第1季度\t2.第2季度\t3.第3季度\t4.第4季度)");
String date1 = null;
String date2 = null;
int season = sc.nextInt();
if(season == 1) {
date1 = "01";
date2 = "03";
}else if(season ==2){
date1 = "04";
date2 = "06";
}else if(season == 3) {
date1 = "07";
date2 = "09";
}else if(season == 4) {
date1 = "10";
date2 = "12";
}
sql ="SELECT * FROM goods,sell_info WHERE c_number = s_c_number AND DATE_FORMAT(s_time,'%Y-%m') between '" + date + "-"
+ date1 + "' and '"+ date +"-"+date2+"'";
}else if(inquiry == 4){
System.out.println("请输入你想要查找的年份:");
date = sc.next();
sql = "SELECT * FROM goods,sell_info WHERE c_number = s_c_number AND DATE_FORMAT(s_time,'%Y') = '"
+ date + "'";
}
double daySum = inquiryDml(sql);
System.out.println(date + "的营业额为:" + daySum);
}
// 通过接受sql计算日/月季/年营业额总和
public double inquiryDml(String sql) {
Connection conn = JDBCUtil.getConnection();
PreparedStatement ps = null;