|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.mes.component.MesRadio;
|
|
import com.mes.component.MesRadio;
|
|
|
import com.mes.component.MesWebView;
|
|
import com.mes.component.MesWebView;
|
|
|
import com.mes.component.MyDialog;
|
|
import com.mes.component.MyDialog;
|
|
|
|
|
+import com.mes.util.AppLog;
|
|
|
import com.mes.util.Base64Utils;
|
|
import com.mes.util.Base64Utils;
|
|
|
import com.mes.util.HttpUtils;
|
|
import com.mes.util.HttpUtils;
|
|
|
|
|
|
|
@@ -11,6 +12,8 @@ import javax.swing.*;
|
|
|
import java.awt.*;
|
|
import java.awt.*;
|
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionEvent;
|
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.ActionListener;
|
|
|
|
|
+import java.awt.event.WindowAdapter;
|
|
|
|
|
+import java.awt.event.WindowEvent;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
public class LoginFarme extends JFrame {
|
|
public class LoginFarme extends JFrame {
|
|
@@ -26,7 +29,14 @@ public class LoginFarme extends JFrame {
|
|
|
setTitle("MES系统客户端:"+MesClient.mes_gw+" - "+MesClient.mes_gw_des);
|
|
setTitle("MES系统客户端:"+MesClient.mes_gw+" - "+MesClient.mes_gw_des);
|
|
|
|
|
|
|
|
ImageIcon bg = new ImageIcon(MesClient.class.getResource("/background.png"));
|
|
ImageIcon bg = new ImageIcon(MesClient.class.getResource("/background.png"));
|
|
|
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
|
|
|
+ setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
|
|
|
|
+ addWindowListener(new WindowAdapter() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void windowClosing(WindowEvent e) {
|
|
|
|
|
+ AppLog.markUserClose();
|
|
|
|
|
+ System.exit(0);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
JLabel imgLabel = new JLabel(bg);//将背景图放在标签里。
|
|
JLabel imgLabel = new JLabel(bg);//将背景图放在标签里。
|
|
|
getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
|
|
getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
|
|
|
imgLabel.setBounds(0,0,bg.getIconWidth(), bg.getIconHeight());//设置背景标签的位置
|
|
imgLabel.setBounds(0,0,bg.getIconWidth(), bg.getIconHeight());//设置背景标签的位置
|
|
@@ -95,6 +105,7 @@ public class LoginFarme extends JFrame {
|
|
|
String user_str = userNameTxt.getText().toString();
|
|
String user_str = userNameTxt.getText().toString();
|
|
|
String password_str = userPasswordTxt.getText().toString();
|
|
String password_str = userPasswordTxt.getText().toString();
|
|
|
if(user_str.equalsIgnoreCase("")||password_str.equalsIgnoreCase("")) {
|
|
if(user_str.equalsIgnoreCase("")||password_str.equalsIgnoreCase("")) {
|
|
|
|
|
+ AppLog.login(user_str, "password", false);
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"用户名或密码不能为空","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"用户名或密码不能为空","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -104,14 +115,16 @@ public class LoginFarme extends JFrame {
|
|
|
String url = "http://"+MesClient.mes_server_ip+":8980/js/a/login?__ajax=json&username="+username+"&password="+password+"&validCode=&__sid=";
|
|
String url = "http://"+MesClient.mes_server_ip+":8980/js/a/login?__ajax=json&username="+username+"&password="+password+"&validCode=&__sid=";
|
|
|
String loginResult = HttpUtils.sendRequest(url);
|
|
String loginResult = HttpUtils.sendRequest(url);
|
|
|
if(loginResult.equalsIgnoreCase("false")) {
|
|
if(loginResult.equalsIgnoreCase("false")) {
|
|
|
|
|
+ AppLog.login(user_str, "password", false);
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录异常,请检查网络或联系网络管理员","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录异常,请检查网络或联系网络管理员","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}else {
|
|
}else {
|
|
|
JSONObject retObj = JSONObject.parseObject(loginResult);
|
|
JSONObject retObj = JSONObject.parseObject(loginResult);
|
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
|
//检查用户权限是否可登录界面
|
|
//检查用户权限是否可登录界面
|
|
|
- checkUserAuthority(retObj);
|
|
|
|
|
|
|
+ checkUserAuthority(retObj, "password");
|
|
|
}else {
|
|
}else {
|
|
|
|
|
+ AppLog.login(user_str, "password", false);
|
|
|
//ret = "msg save error";
|
|
//ret = "msg save error";
|
|
|
//ret = false;
|
|
//ret = false;
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录失败,用户名或密码错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录失败,用户名或密码错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
@@ -126,30 +139,34 @@ public class LoginFarme extends JFrame {
|
|
|
String scanContent = JOptionPane.showInputDialog(null, "请扫码工牌二维码");
|
|
String scanContent = JOptionPane.showInputDialog(null, "请扫码工牌二维码");
|
|
|
System.out.println("scanContent="+scanContent);
|
|
System.out.println("scanContent="+scanContent);
|
|
|
if(scanContent!=null&&!scanContent.equalsIgnoreCase("")) {
|
|
if(scanContent!=null&&!scanContent.equalsIgnoreCase("")) {
|
|
|
|
|
+ AppLog.scan("badge", scanContent);
|
|
|
String url = "http://"+MesClient.mes_server_ip+":8980/js/a/mes/mesLogin/login?__login=true&__ajax=json&username="+scanContent;
|
|
String url = "http://"+MesClient.mes_server_ip+":8980/js/a/mes/mesLogin/login?__login=true&__ajax=json&username="+scanContent;
|
|
|
String loginResult = HttpUtils.sendRequest(url);
|
|
String loginResult = HttpUtils.sendRequest(url);
|
|
|
System.out.println("loginResult="+loginResult);
|
|
System.out.println("loginResult="+loginResult);
|
|
|
if(loginResult.equalsIgnoreCase("false")) {
|
|
if(loginResult.equalsIgnoreCase("false")) {
|
|
|
|
|
+ AppLog.login(scanContent, "badge-scan", false);
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录异常,请检查网络或联系网络管理员","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录异常,请检查网络或联系网络管理员","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}else {
|
|
}else {
|
|
|
JSONObject retObj = JSONObject.parseObject(loginResult);
|
|
JSONObject retObj = JSONObject.parseObject(loginResult);
|
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
|
//检查用户权限是否可登录界面
|
|
//检查用户权限是否可登录界面
|
|
|
- checkUserAuthority(retObj);
|
|
|
|
|
|
|
+ checkUserAuthority(retObj, "badge-scan");
|
|
|
}else {
|
|
}else {
|
|
|
|
|
+ AppLog.login(scanContent, "badge-scan", false);
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录失败,用户名或密码错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录失败,用户名或密码错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}else {
|
|
}else {
|
|
|
|
|
+ AppLog.login("", "badge-scan", false);
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"扫码内容错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"扫码内容错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//检查用户权限是否可登录界面
|
|
//检查用户权限是否可登录界面
|
|
|
- public static void checkUserAuthority(JSONObject retObj) {
|
|
|
|
|
|
|
+ public static void checkUserAuthority(JSONObject retObj, String method) {
|
|
|
//设置登录用户名
|
|
//设置登录用户名
|
|
|
JSONObject userObj = JSONObject.parseObject(retObj.get("user").toString());
|
|
JSONObject userObj = JSONObject.parseObject(retObj.get("user").toString());
|
|
|
String user_id = userObj.getString("id").toString();
|
|
String user_id = userObj.getString("id").toString();
|
|
@@ -166,10 +183,12 @@ public class LoginFarme extends JFrame {
|
|
|
JSONObject authObjTmp = JSONObject.parseObject(authorityObj.get("data").toString());
|
|
JSONObject authObjTmp = JSONObject.parseObject(authorityObj.get("data").toString());
|
|
|
MesClient.mes_auth = Integer.parseInt(authObjTmp.getString("auth").toString());
|
|
MesClient.mes_auth = Integer.parseInt(authObjTmp.getString("auth").toString());
|
|
|
if(MesClient.mes_auth==0) {
|
|
if(MesClient.mes_auth==0) {
|
|
|
|
|
+ AppLog.login(user_id, method, false);
|
|
|
//无权限登录
|
|
//无权限登录
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"您无权登录该工位","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"您无权登录该工位","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}else if(MesClient.mes_auth==1||MesClient.mes_auth==2) {
|
|
}else if(MesClient.mes_auth==1||MesClient.mes_auth==2) {
|
|
|
|
|
+ AppLog.login(user_id, method, true);
|
|
|
|
|
|
|
|
// 获取等于所处时间-当前小时
|
|
// 获取等于所处时间-当前小时
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
@@ -208,9 +227,12 @@ public class LoginFarme extends JFrame {
|
|
|
new MyDialog(MesClient.mesClientFrame,"提示",lmsg);*/
|
|
new MyDialog(MesClient.mesClientFrame,"提示",lmsg);*/
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ }else {
|
|
|
|
|
+ AppLog.login(user_id, method, false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}else {
|
|
}else {
|
|
|
|
|
+ AppLog.login(user_id, method, false);
|
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录失败,用户名或密码错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
JOptionPane.showMessageDialog(MesClient.mesClientFrame,"登录失败,用户名或密码错误","提示窗口", JOptionPane.INFORMATION_MESSAGE);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|