1.管理收银员账户
//修改收银员
public void executeSale(){
System.out.println("1.增加收银员 2.修改收银员信息 3.删除收银员信息 4.查询收银员信息");
int m = sc.nextInt();
switch (m){
case 1:
System.out.println("请输入收银员信息:编号-姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String str = sc.next();
String[] message = str.split("-");
String sql1 = "insert into employee(number,username,password,sex,phone,role,remark) values (?,?,?,?,?,2,?) ";
JDBCUntil.updates(sql1,message);
break;
case 2:
System.out.println("请输入要修改的收银员编号:");
String number = sc.next();
String sql2 = "select * from employee where number=?";
List<Sale> list = JDBCUntil.select(sql2,"sale", number);
for (Sale sale:list){
if ("收银员".equals(sale.getCategory())) {
System.out.println("请输入要修改的收银员信息:姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String msg1 = sc.next();
String[] mess1 = msg1.split("-");
String sql3 = "update employee set username=?,password=?,sex=?,phone=?,remark=? where number='"+number+"'";
JDBCUntil.updates(sql3,mess1);
}
}
break;
case 3:
System.out.println("请输入要删除的收银员编号:");
String number1 = sc.next();
String sql4 = "delete from employee where number=?";
try {
JDBCUntil.updates(sql4,number1);
System.out.println("删除成功...");
}catch (Exception e){
System.out.println("该编号不存在...");
}
break;
case 4:
System.out.println("请输入要查询的收银员编号:");
String number2 = sc.next();
String sql5 = "select * from employee where number=?";
List<Sale> listt = JDBCUntil.select(sql5 , "sale", number2);
if (listt.size()==0){
System.out.println("该编号不存在...");
}
else {
for (Sale sale:listt){
System.out.println(sale.toString());
}
}
break;
default:
break;
}
}
2.管理采购员账户
//修改采购员账户
public void executeBuyer(){
System.out.println("1.增加采购员 2.修改采购员信息 3.删除采购员信息 4.查询采购员信息");
int m = sc.nextInt();
switch (m){
case 1:
System.out.println("请输入采购员信息:编号-姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String str = sc.next();
String[] message = str.split("-");
String sql1 = "insert into employee(number,username,password,sex,phone,role,remark) values (?,?,?,?,?,3,?) ";
JDBCUntil.updates(sql1,message);
System.out.println("添加采购员成功...");
break;
case 2:
System.out.println("请输入要修改的采购员编号:");
String number = sc.next();
String sql2 = "select * from employee where number=?";
List<Sale> list = JDBCUntil.select(sql2,"sale", number);
for (Sale sale:list) {
if ("采购员".equals(sale.getCategory())) {
System.out.println("请输入要修改的采购员信息:姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String msg1 = sc.next();
String[] mess1 = msg1.split("-");
String sql3 = "update employee set username=?,password=?,sex=?,phone=?,remark=? where number='" + number + "'";
JDBCUntil.updates(sql3, mess1);
} else {
System.out.println("该员工不是采购员噢...");
}
}
break;
case 3:
System.out.println("请输入要删除的采购员编号:");
String number1 = sc.next();
String sql4 = "delete from employee where number=?";
try {
JDBCUntil.updates(sql4,number1);
System.out.println("删除成功...");
}catch (Exception e){
System.out.println("该编号不存在...");
}
break;
case 4:
System.out.println("请输入要查询的采购员编号:");
String number2 = sc.next();
String sql5 = "select * from employee where number=?";
String s = "e";
try {
List<Sale> lists = JDBCUntil.select(sql5 , "sale", number2);
for (Sale sale:lists){
System.out.println(sale.toString());
}
}catch (Exception e){
System.out.println("该编号不存在...");
}
break;
default:
break;
}
}
3.出勤查询
//出勤查询
public void attendanceQuery(){
//查询当天
System.out.println("请输入要查询的范围:");
System.out.println("1.当天 2.总体 3.2021年4月 ");
int i = sc.nextInt();
switch (i){
case 1:
String sql = " select * from check_info where work_date=?";
String s = "attendanceQuery";
List list1 = JDBCUntil.select(sql, s, JDBCUntil.datas);
list1.forEach(System.out::println);
break;
case 2:
String sqls = " select * from check_info";
String ss = "attendanceQuery";
List list = JDBCUntil.select(sqls, ss);
list.forEach(System.out::println);
break;
case 3:
String sqlss = " select * from check_info where work_date=?";
String s1 = "attendanceQuery";
List list11 = JDBCUntil.select(sqlss, s1, times);
list11.forEach(System.out::println);
break;
default:
break;
}
}
4.查询超市营业额
季度转换
//判断季度
public String[] quarter(String s){
String[] split = s.split("-");
try {
switch (Integer.parseInt(split[1])){
case 1:
return new String[] {split[0]+"-01-01 00:00:00",split[0]+"-03-31 00:00:00"};
case 2:
return new String[] {split[0]+"-04-01 00:00:00",split[0]+"-06-30 00:00:00"};
case 3:
return new String[] {split[0]+"-07-01 00:00:00",split[0]+"-09-30 00:00:00"};
case 4:
return new String[] {split[0]+"-10-01 00:00:00",split[0]+"-12-31 00:00:00"};
default:
break;
}
}catch (Exception e){
System.out.println("你输入的有误...");
}
return null;
}
//查询超市的营业额
public void turnover(){
System.out.println("请输入查询范围:");
System.out.println("1.天营业额 2.月营业额");
System.out.println("3.季度营业额 4.年营业额");
try{
int q = sc.nextInt();
switch (q){
case 1:
String sql1 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的时间:%xxxx-xx-xx% ");
String t1 = sc.next();
try {
List<Sell_Info> list = JDBCUntil.select(sql1, "sell_info", t1);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
case 2:
String sql2 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的月份:%xxxx-xx% ");
String t2 = sc.next();
try {
List<Sell_Info> list = JDBCUntil.select(sql2, "sell_info", t2);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
case 3:
String sql3 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time between ? and ?";
System.out.println("请输入你要查询的季度:xxxx-(年)-x(季度)");
String t3 = sc.next();
String[] quarter = quarter(t3);
try {
List<Sell_Info> list = JDBCUntil.select(sql3, "sell_info", quarter);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
case 4:
String sql4 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的年份:%xxxx% ");
String t4 = sc.next();
try {
List<Sell_Info> list = JDBCUntil.select(sql4, "sell_info", t4);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
default:
break;
}
}catch (Exception e){
System.out.println("你输入的有误...");
}
}
5.会员管理
//会员管理
public void vip(){
System.out.println("1.增加会员 2.修改会员信息 ");
System.out.println("3.删除会员 4.查询会员信息 ");
System.out.println("5.查询所有会员信息 ");
int n = sc.nextInt();
switch (n){
case 1:
String sql1 = "insert into vip(v_number,v_name,v_score,v_phone,v_data) values(?,?,?,?,?)";
System.out.println("请输入会员信息:会员编号-姓名-积分-手机号-注册时间");
String mes = sc.next();
String[] mess = mes.split("-");
JDBCUntil.updates(sql1,mess);
break;
case 2:
String sql2 = "update vip set(v_name,v_score,v_phone,v_data) values(?,?,?,?) where v_number=?";
System.out.println("请输入要修改的会员编号:");
String vipnu = sc.next();
String sql3 = "select * from vip where v_number=?";
try{
List list = JDBCUntil.select(sql3, "vip", vipnu);
if (list.size()!=0) {
System.out.println("请输入会员信息:姓名-积分-手机号-注册时间");
String vipmes = sc.next();
String[] vipmess = vipmes.split("-");
JDBCUntil.updates(sql2,vipmess);
}
}catch (Exception e){
System.out.println("你输入的会员编号有误...");
}
break;
case 3:
String sql4 = "delete from vip where v_number=?";
System.out.println("请输入要删除的会员编号:");
String vipp = sc.next();
JDBCUntil.updates(sql4,vipp);
break;
case 4:
String sql5 = "select * from vip where v_number=?";
System.out.println("请输入要查询的会员编号:");
String vippp = sc.next();
List list = JDBCUntil.select(sql5, "vip", vippp);
list.forEach(System.out::println);
break;
case 5:
String sql6 = "select * from vip ";
List lists = JDBCUntil.select(sql6, "vip");
if (lists.size()==0){
System.out.println("未找到该会员信息....");
}else {
lists.forEach(System.out::println);
}
break;
default:
break;
}
}
6.打卡
//打卡 调用工具类中的方法
public void clock_in() {
System.out.println("1.上班打卡 2.下班打卡 3.2021年4月上班打卡 4.2021年4月下班打卡 5.退出");
int i = sc.nextInt();
switch (i){
case 1:
JDBCUntil.clockIn();
break;
case 2:
JDBCUntil.clockOut();
break;
case 3:
JDBCUntil.clockIns();
break;
case 4:
JDBCUntil.clockOuts();
break;
case 5:
return;
default:
break;
}
}
7.查询所有人员信息
//查询所有人员信息
public void findAll(){
String sql = " select * from employee";
List list = JDBCUntil.select(sql,"sale");
list.forEach(System.out::println);
String sql2 = " select * from vip";
List listVip = JDBCUntil.select(sql2,"vip");
listVip.forEach(System.out::println);
}
8.管理员功能实现整体代码
/**
* @ClassName AdminImpl
* @Description 管理员功能实现
* @Author chenxys
* @Date 2022/3/10 12:42
* @Version
*/
@SuppressWarnings("all")
public class AdminImpll {
//4月
long time = 29376000000l;
long currTime = (System.currentTimeMillis()-time);
String times = new SimpleDateFormat("yyyy-MM-dd").format(currTime);
public boolean isRun = true;
//输入
static Scanner sc = new Scanner(System.in);
//数据库连接
static Connection con = getConnection();
//修改收银员
public void executeSale(){
System.out.println("1.增加收银员 2.修改收银员信息 3.删除收银员信息 4.查询收银员信息");
int m = sc.nextInt();
switch (m){
case 1:
System.out.println("请输入收银员信息:编号-姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String str = sc.next();
String[] message = str.split("-");
String sql1 = "insert into employee(number,username,password,sex,phone,role,remark) values (?,?,?,?,?,2,?) ";
JDBCUntil.updates(sql1,message);
break;
case 2:
System.out.println("请输入要修改的收银员编号:");
String number = sc.next();
String sql2 = "select * from employee where number=?";
List<Sale> list = JDBCUntil.select(sql2,"sale", number);
for (Sale sale:list){
if ("收银员".equals(sale.getCategory())) {
System.out.println("请输入要修改的收银员信息:姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String msg1 = sc.next();
String[] mess1 = msg1.split("-");
String sql3 = "update employee set username=?,password=?,sex=?,phone=?,remark=? where number='"+number+"'";
JDBCUntil.updates(sql3,mess1);
}
}
break;
case 3:
System.out.println("请输入要删除的收银员编号:");
String number1 = sc.next();
String sql4 = "delete from employee where number=?";
try {
JDBCUntil.updates(sql4,number1);
System.out.println("删除成功...");
}catch (Exception e){
System.out.println("该编号不存在...");
}
break;
case 4:
System.out.println("请输入要查询的收银员编号:");
String number2 = sc.next();
String sql5 = "select * from employee where number=?";
List<Sale> listt = JDBCUntil.select(sql5 , "sale", number2);
if (listt.size()==0){
System.out.println("该编号不存在...");
}
else {
for (Sale sale:listt){
System.out.println(sale.toString());
}
}
break;
default:
break;
}
}
//修改采购员账户
public void executeBuyer(){
System.out.println("1.增加采购员 2.修改采购员信息 3.删除采购员信息 4.查询采购员信息");
int m = sc.nextInt();
switch (m){
case 1:
System.out.println("请输入采购员信息:编号-姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String str = sc.next();
String[] message = str.split("-");
String sql1 = "insert into employee(number,username,password,sex,phone,role,remark) values (?,?,?,?,?,3,?) ";
JDBCUntil.updates(sql1,message);
System.out.println("添加采购员成功...");
break;
case 2:
System.out.println("请输入要修改的采购员编号:");
String number = sc.next();
String sql2 = "select * from employee where number=?";
List<Sale> list = JDBCUntil.select(sql2,"sale", number);
for (Sale sale:list) {
if ("采购员".equals(sale.getCategory())) {
System.out.println("请输入要修改的采购员信息:姓名-密码-性别-手机号-是否在职(1.在;2.不在)");
String msg1 = sc.next();
String[] mess1 = msg1.split("-");
String sql3 = "update employee set username=?,password=?,sex=?,phone=?,remark=? where number='" + number + "'";
JDBCUntil.updates(sql3, mess1);
} else {
System.out.println("该员工不是采购员噢...");
}
}
break;
case 3:
System.out.println("请输入要删除的采购员编号:");
String number1 = sc.next();
String sql4 = "delete from employee where number=?";
try {
JDBCUntil.updates(sql4,number1);
System.out.println("删除成功...");
}catch (Exception e){
System.out.println("该编号不存在...");
}
break;
case 4:
System.out.println("请输入要查询的采购员编号:");
String number2 = sc.next();
String sql5 = "select * from employee where number=?";
String s = "e";
try {
List<Sale> lists = JDBCUntil.select(sql5 , "sale", number2);
for (Sale sale:lists){
System.out.println(sale.toString());
}
}catch (Exception e){
System.out.println("该编号不存在...");
}
break;
default:
break;
}
}
//根据管理员输入进行增删改操作
public boolean execute(){
while (JDBCUntil.isIsOk()){
System.out.println("1.收银员账户管理 2.采购员账户管理");
System.out.println("3.员工出勤管理 4.查询超市的营业额");
System.out.println("5.会员管理 6.查询所有人员信息");
System.out.println("7.打卡 8.退出");
int n = sc.nextInt();
switch (n){
case 1:
executeSale();
break;
case 2:
executeBuyer();
break;
case 3:
attendanceQuery();
break;
case 4:
turnover();
break;
case 5:
vip();
break;
case 6:
findAll();
break;
case 7:
clock_in();
break;
case 8:
return isRun = false;
default:
return isRun = false;
}
}
return isRun;
}
//出勤查询
public void attendanceQuery(){
//查询当天
System.out.println("请输入要查询的范围:");
System.out.println("1.当天 2.总体 3.2021年4月 ");
int i = sc.nextInt();
switch (i){
case 1:
String sql = " select * from check_info where work_date=?";
String s = "attendanceQuery";
List list1 = JDBCUntil.select(sql, s, JDBCUntil.datas);
list1.forEach(System.out::println);
break;
case 2:
String sqls = " select * from check_info";
String ss = "attendanceQuery";
List list = JDBCUntil.select(sqls, ss);
list.forEach(System.out::println);
break;
case 3:
String sqlss = " select * from check_info where work_date=?";
String s1 = "attendanceQuery";
List list11 = JDBCUntil.select(sqlss, s1, times);
list11.forEach(System.out::println);
break;
default:
break;
}
}
//查询超市的营业额
public void turnover(){
System.out.println("请输入查询范围:");
System.out.println("1.天营业额 2.月营业额");
System.out.println("3.季度营业额 4.年营业额");
try{
int q = sc.nextInt();
switch (q){
case 1:
String sql1 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的时间:%xxxx-xx-xx% ");
String t1 = sc.next();
try {
List<Sell_Info> list = JDBCUntil.select(sql1, "sell_info", t1);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
case 2:
String sql2 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的月份:%xxxx-xx% ");
String t2 = sc.next();
try {
List<Sell_Info> list = JDBCUntil.select(sql2, "sell_info", t2);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
case 3:
String sql3 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的季度:xxxx-x");
String t3 = sc.next();
String quarter = quarter(t3);
try {
List<Sell_Info> list = JDBCUntil.select(sql3, "sell_info", quarter);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
case 4:
String sql4 = "select * from sell_info inner join goods on sell_info.s_c_number=goods.c_number where sell_info.s_time like ?";
System.out.println("请输入你要查询的年份:%xxxx% ");
String t4 = sc.next();
try {
List<Sell_Info> list = JDBCUntil.select(sql4, "sell_info", t4);
double count = 0;
for (Sell_Info sell_info:list){
System.out.println(sell_info.toString());
count += sell_info.getMoney();
}
System.out.println("营业额为:"+count);
}catch (Exception e) {System.out.println("你输入的有误...");}
break;
default:
break;
}
}catch (Exception e){
System.out.println("你输入的有误...");
}
}
//判断季度
public String quarter(String s){
String[] month = s.split("-");
try {
switch (Integer.parseInt(month[1])){
case 1:
return "like%"+month[0]+"-01%";
case 2:
return "like%"+month[0]+"-02%";
case 3:
return "like%"+month[0]+"-03%";
case 4:
return "like%"+month[0]+"-04%";
default:
break;
}
}catch (Exception e){
System.out.println("你输入的有误...");
}
return null;
}
//会员管理
public void vip(){
System.out.println("1.增加会员 2.修改会员信息 ");
System.out.println("3.删除会员 4.查询会员信息 ");
System.out.println("5.查询所有会员信息 ");
int n = sc.nextInt();
switch (n){
case 1:
String sql1 = "insert into vip(v_number,v_name,v_score,v_phone,v_data) values(?,?,?,?,?)";
System.out.println("请输入会员信息:会员编号-姓名-积分-手机号-注册时间");
String mes = sc.next();
String[] mess = mes.split("-");
JDBCUntil.updates(sql1,mess);
break;
case 2:
String sql2 = "update vip set(v_name,v_score,v_phone,v_data) values(?,?,?,?) where v_number=?";
System.out.println("请输入要修改的会员编号:");
String vipnu = sc.next();
String sql3 = "select * from vip where v_number=?";
try{
List list = JDBCUntil.select(sql3, "vip", vipnu);
if (list.size()!=0) {
System.out.println("请输入会员信息:姓名-积分-手机号-注册时间");
String vipmes = sc.next();
String[] vipmess = vipmes.split("-");
JDBCUntil.updates(sql2,vipmess);
}
}catch (Exception e){
System.out.println("你输入的会员编号有误...");
}
break;
case 3:
String sql4 = "delete from vip where v_number=?";
System.out.println("请输入要删除的会员编号:");
String vipp = sc.next();
JDBCUntil.updates(sql4,vipp);
break;
case 4:
String sql5 = "select * from vip where v_number=?";
System.out.println("请输入要查询的会员编号:");
String vippp = sc.next();
List list = JDBCUntil.select(sql5, "vip", vippp);
list.forEach(System.out::println);
break;
case 5:
String sql6 = "select * from vip ";
List lists = JDBCUntil.select(sql6, "vip");
if (lists.size()==0){
System.out.println("未找到该会员信息....");
}else {
lists.forEach(System.out::println);
}
break;
default:
break;
}
}
//查询所有人员信息
public void findAll(){
String sql = " select * from employee";
List list = JDBCUntil.select(sql,"sale");
list.forEach(System.out::println);
String sql2 = " select * from vip";
List listVip = JDBCUntil.select(sql2,"vip");
listVip.forEach(System.out::println);
}
//打卡 调用工具类中的方法
public void clock_in() {
System.out.println("1.上班打卡 2.下班打卡 3.2021年4月上班打卡 4.2021年4月下班打卡 5.退出");
int i = sc.nextInt();
switch (i){
case 1:
JDBCUntil.clockIn();
break;
case 2:
JDBCUntil.clockOut();
break;
case 3:
JDBCUntil.clockIns();
break;
case 4:
JDBCUntil.clockOuts();
break;
case 5:
return;
default:
break;
}
}
}