|
- package com.netsdk.demo.frame.Attendance;
-
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
-
- import javax.swing.JButton;
- import javax.swing.JDialog;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
-
- import com.netsdk.common.BorderEx;
- import com.netsdk.common.Res;
- import com.netsdk.demo.module.AttendanceModule;
- import com.netsdk.demo.module.AttendanceModule.OPERATE_TYPE;
- import com.netsdk.demo.module.AttendanceModule.UserData;
- import com.netsdk.lib.NetSDKLib;
-
- /**
- * 考勤机操作对话框
- */
- public class AttendanceOperateShareDialog extends JDialog{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private OPERATE_TYPE emType = OPERATE_TYPE.UNKNOWN; // 操作类型
- private boolean bSuccess = false; // 接口调用结果
-
- public AttendanceOperateShareDialog(OPERATE_TYPE emType, UserData userData) {
- this(emType, userData, "");
- }
-
- public AttendanceOperateShareDialog(OPERATE_TYPE emType, String fingerPrintId) {
- this(emType, null, fingerPrintId);
- }
-
- public AttendanceOperateShareDialog(OPERATE_TYPE emType, UserData userData, String fingerPrintId) {
-
- setTitle(Res.string().getPersonOperate());
- setLayout(new BorderLayout());
- setModal(true);
- pack();
- setSize(300, 200);
- setResizable(false);
- setLocationRelativeTo(null);
- setDefaultCloseOperation(DISPOSE_ON_CLOSE);
-
- //////////人员信息面板 /////////////////
-
- JPanel personInfoPanel = new JPanel();
- BorderEx.set(personInfoPanel, "", 4);
- Dimension dimLable = new Dimension(80, 20);
- JLabel userIdLabel = new JLabel(Res.string().getUserId());
- JLabel userNameLabel = new JLabel(Res.string().getUserName(true));
- JLabel cardNoLabel = new JLabel(Res.string().getCardNo());
- JLabel fingerPrintIdLabel = new JLabel(Res.string().getFingerPrintId());
- userIdLabel.setPreferredSize(dimLable);
- userNameLabel.setPreferredSize(dimLable);
- cardNoLabel.setPreferredSize(dimLable);
- fingerPrintIdLabel.setPreferredSize(new Dimension(85, 20));
-
- Dimension dimValue = new Dimension(150, 20);
- userIdTextField = new JTextField();
- userNameTextField = new JTextField();
- cardNoTextField = new JTextField();
- fingerPrintIdTextField = new JTextField();
- userIdTextField.setPreferredSize(dimValue);
- userNameTextField.setPreferredSize(dimValue);
- cardNoTextField.setPreferredSize(dimValue);
- fingerPrintIdTextField.setPreferredSize(dimValue);
-
- // 数据处理
- if (userData != null) {
- if (userData.userId != null) {
- userIdTextField.setText(userData.userId);
- }
-
- if (userData.userName != null) {
- userNameTextField.setText(userData.userName);
- }
-
- if (userData.cardNo != null) {
- cardNoTextField.setText(userData.cardNo);
- }
- }
-
- if (!fingerPrintId.isEmpty()) {
- fingerPrintIdTextField.setText(fingerPrintId);
- }
-
- if (emType == OPERATE_TYPE.DELETE_FINGERPRINT_BY_ID) { // 根据信息ID删除用户
- JPanel fingerPrintPanel = new JPanel();
- fingerPrintPanel.add(fingerPrintIdLabel);
- fingerPrintPanel.add(fingerPrintIdTextField);
- personInfoPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 40));
- personInfoPanel.add(fingerPrintPanel);
- }else {
- personInfoPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 10));
- personInfoPanel.add(userIdLabel);
- personInfoPanel.add(userIdTextField);
- personInfoPanel.add(userNameLabel);
- personInfoPanel.add(userNameTextField);
- personInfoPanel.add(cardNoLabel);
- personInfoPanel.add(cardNoTextField);
-
- if (emType == OPERATE_TYPE.DELETE_FINGERPRINT_BY_USERID
- || emType == OPERATE_TYPE.DELETE_USER) {
- JLabel promptLabel = new JLabel(" " + Res.string().getDeleteFingerPrintPrompt() + " ");
- promptLabel.setEnabled(false);
- personInfoPanel.add(promptLabel);
- }
- }
-
- //////////功能面板 /////////////////
- JPanel functionPanel = new JPanel();
- confirmBtn = new JButton(Res.string().getConfirm());
- cancelBtn = new JButton(Res.string().getCancel());
- confirmBtn.setPreferredSize(new Dimension(100, 20));
- cancelBtn.setPreferredSize(new Dimension(100, 20));
-
- functionPanel.add(confirmBtn);
- functionPanel.add(cancelBtn);
-
- add(personInfoPanel, BorderLayout.CENTER);
- add(functionPanel, BorderLayout.SOUTH);
-
- operateListener = new UserOperateListener();
- confirmBtn.addActionListener(operateListener);
- cancelBtn.addActionListener(operateListener);
-
- this.emType = emType;
- switch(emType) {
- case ADD_USER:
- setTitle(Res.string().getAddPerson());
- confirmBtn.setText(Res.string().getAdd());
- break;
- case MODIFIY_USER:
- setTitle(Res.string().getModifyPerson());
- confirmBtn.setText(Res.string().getModify());
- userIdTextField.setEnabled(false);
- break;
- case DELETE_USER:
- setTitle(Res.string().getDelPerson());
- confirmBtn.setText(Res.string().getDelete());
- userIdTextField.setEnabled(false);
- userNameTextField.setEnabled(false);
- cardNoTextField.setEnabled(false);
- break;
- case DELETE_FINGERPRINT_BY_USERID:
- case DELETE_FINGERPRINT_BY_ID:
- setTitle(Res.string().getDeleteFingerPrint());
- confirmBtn.setText(Res.string().getDelete());
- userIdTextField.setEnabled(false);
- userNameTextField.setEnabled(false);
- cardNoTextField.setEnabled(false);
- fingerPrintIdTextField.setEditable(false);
- default:
- break;
- }
- }
-
- public boolean checkDataValidity() {
-
- if (emType == OPERATE_TYPE.ADD_USER) {
- if (userIdTextField.getText().isEmpty()) {
- JOptionPane.showMessageDialog(null, Res.string().getInput() + Res.string().getUserId(), Res.string().getErrorMessage(), JOptionPane.ERROR_MESSAGE);
- return false;
- }
-
- try {
- if (userIdTextField.getText().getBytes("UTF-8").length > NetSDKLib.MAX_COMMON_STRING_32-1) {
- JOptionPane.showMessageDialog(null, Res.string().getUserIdExceedLength(), Res.string().getErrorMessage(), JOptionPane.ERROR_MESSAGE);
- return false;
- }
- }catch (Exception e){
-
- }
- }
-
- try {
- if (userNameTextField.getText().getBytes("UTF-8").length > NetSDKLib.MAX_ATTENDANCE_USERNAME_LEN-1) {
- JOptionPane.showMessageDialog(null, Res.string().getUserNameExceedLength(), Res.string().getErrorMessage(), JOptionPane.ERROR_MESSAGE);
- return false;
- }
-
- if (cardNoTextField.getText().getBytes("UTF-8").length > NetSDKLib.MAX_COMMON_STRING_32-1) {
- JOptionPane.showMessageDialog(null, Res.string().getCardNoExceedLength(), Res.string().getErrorMessage(), JOptionPane.ERROR_MESSAGE);
- return false;
- }
- }catch (Exception e){
-
- }
-
-
- return true;
- }
-
- public UserData getUserData() {
- UserData userData = new UserData();
- userData.cardNo = userIdTextField.getText();
- userData.userName = userNameTextField.getText();
- userData.cardNo = cardNoTextField.getText();
- return userData;
- }
-
- private class UserOperateListener implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent arg0) {
-
- if (arg0.getSource() == cancelBtn) {
- dispose();
- }else if (arg0.getSource() == confirmBtn) {
- switch(emType) {
- case ADD_USER:
- if (!checkDataValidity()) {
- return;
- }
- bSuccess = AttendanceModule.addUser(userIdTextField.getText(), userNameTextField.getText(), cardNoTextField.getText());
- break;
- case MODIFIY_USER:
- if (!checkDataValidity()) {
- return;
- }
- bSuccess = AttendanceModule.modifyUser(userIdTextField.getText(), userNameTextField.getText(), cardNoTextField.getText());
- break;
- case DELETE_USER:
- bSuccess = AttendanceModule.deleteUser(userIdTextField.getText());
- break;
- case DELETE_FINGERPRINT_BY_USERID:
- bSuccess = AttendanceModule.removeFingerByUserId(userIdTextField.getText());
- break;
- case DELETE_FINGERPRINT_BY_ID:
- bSuccess = AttendanceModule.removeFingerRecord(Integer.parseInt(fingerPrintIdTextField.getText()));
- break;
- default:
- System.err.println("Can't Deal Operate Type: " + emType);
- break;
- }
-
- if(bSuccess) {
- JOptionPane.showMessageDialog(null, Res.string().getSucceed(), Res.string().getPromptMessage(), JOptionPane.INFORMATION_MESSAGE);
- } else {
- JOptionPane.showMessageDialog(null, Res.string().getFailed(), Res.string().getErrorMessage(), JOptionPane.ERROR_MESSAGE);
- }
- dispose();
- }else {
- System.err.println("Unknown Event: " + arg0.getSource());
- }
- }
- }
-
- private UserOperateListener operateListener; // 按键监听
- private JTextField userIdTextField; // 用户ID
- private JTextField userNameTextField; // 用户名
- private JTextField cardNoTextField; // 卡号
- private JTextField fingerPrintIdTextField; // 信息ID
- private JButton confirmBtn; // 确认(根据emType类型变化)
- private JButton cancelBtn; // 取消
- }
|