• 基于javaweb的crm客户关系管理系统(java+springboot+mysql)


    基于javaweb的crm客户关系管理系统(java+springboot+mysql)

    运行环境

    Java≥8、MySQL≥5.7

    开发工具

    eclipse/idea/myeclipse/sts等均可配置运行

    适用

    课程设计,大作业,毕业设计,项目练习,学习演示等

    功能说明

    20220519000132

    20220519000133

    20220519000134

    20220519000136

    20220519000137

    20220519000138

    20220519000139

    基于javaweb+springboot的客户关系管理系统CRM(Springboot+Maven+MySQL)

    Springboot项目CRM客户关系管理系统:

    系统实现了CRM客户关系系统的基本功能,主要有看板(当月参与的业务机会、当月转化情况、将要结束的业务机会等)、业务机会(初步接触中、需求分析中、协商方案中、商业谈判中的业务机会)、客户管理、联系人管理、个人日报管理、查看团队日报、主数据管理(组织架构管理)、系统管理(用户管理、角色管理、菜单管理)。

    登录控制层:

    public class LoginFrm extends javax.swing.JFrame {

    /**

    • 皮肤

    */

    static {

    try {

    // LookAndFeel lf = new SubstanceAutumnLookAndFeel();

    // LookAndFeel lf = new SubstanceChallengerDeepLookAndFeel();

    // LookAndFeel lf = new Plastic3DLookAndFeel();

    // LookAndFeel lf = new PlasticLookAndFeel();

    LookAndFeel lf = new PlasticXPLookAndFeel();

    UIManager.setLookAndFeel(lf);

    } catch (UnsupportedLookAndFeelException e) {

    e.printStackTrace();

    /**

    • 版本序列号

    */

    private static final long serialVersionUID = -2989784724450522952L;

    // 验证码的String类型

    private String imageCode;

    private User user;

    /** Creates new form LoginFrm */

    public LoginFrm(User user) {

    this.user = user;

    initComponents();

    this.setLocationRelativeTo(null);

    fillImageCode();

    if (user != null) {

    this.jtf_username.setText(this.user.getusername());

    this.jpw_password.setText(this.user.getpassword());

    public void setUser(User user) {

    this.user = user;

    /**

    • 填充验证码图片

    */

    private void fillImageCode() {

    // this.jl_checkImage.setIcon(new ImageIcon(“images/check.png”));

    // this.repaint();

    // jl_checkImage.setIcon(new ImageIcon(ImageIO.read(new

    // File(“images/check.png”))));

    ImageCodeUtil imageCodeUtil = ImageCodeUtil.getImageCodeUtil();

    jl_checkImage.setIcon(new ImageIcon(imageCodeUtil.getBufferedImage()));

    imageCode =imageCodeUtil.sRand;

    // GEN-BEGIN:initComponents

    //

    private void initComponents() {

    jLabel1 = new javax.swing.JLabel();

    jLabel2 = new javax.swing.JLabel();

    jLabel3 = new javax.swing.JLabel();

    jtf_username = new javax.swing.JTextField();

    jpw_password = new javax.swing.JPasswordField();

    jLabel4 = new javax.swing.JLabel();

    jtf_check = new javax.swing.JTextField();

    jl_checkImage = new javax.swing.JLabel();

    jb_login = new javax.swing.JButton();

    jb_cancle = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    setTitle(“\u7528\u6237\u767b\u5f55”);

    jLabel1.setFont(new java.awt.Font(“宋体”, 0, 24));

    jLabel1.setText(“\u5ba2\u6237\u5173\u7cfb\u7ba1\u7406\u7cfb\u7edf”);

    jLabel2.setText(“\u7528\u6237\u540d\uff1a”);

    jLabel3.setText(“\u5bc6 \u7801\uff1a”);

    jLabel4.setText(“\u9a8c\u8bc1\u7801\uff1a”);

    jb_login.setText(“\u767b\u5f55”);

    jb_login.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_loginActionPerformed(evt);

    });

    jb_cancle.setText(“\u53d6\u6d88”);

    jb_cancle.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_cancleActionPerformed(evt);

    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

    getContentPane());

    getContentPane().setLayout(layout);

    layout.setHorizontalGroup(layout

    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addGap(108,

    108,

    .addComponent(

    jLabel1))

    .addGroup(

    layout.createSequentialGroup()

    .addGap(78, 78,

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING,

    false)

    .addGroup(

    layout.createSequentialGroup()

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.TRAILING)

    .addComponent(

    jLabel2)

    .addComponent(

    jLabel3)

    .addComponent(

    jLabel4))

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.TRAILING,

    false)

    .addGroup(

    javax.swing.GroupLayout.Alignment.LEADING,

    layout.createSequentialGroup()

    .addComponent(

    jtf_check,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    71,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addComponent(

    jl_checkImage))

    .addComponent(

    jpw_password,

    javax.swing.GroupLayout.Alignment.LEADING,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    157,

    Short.MAX_VALUE)

    .addComponent(

    jtf_username,

    javax.swing.GroupLayout.Alignment.LEADING)))

    .addGroup(

    layout.createSequentialGroup()

    .addComponent(

    jb_login)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    Short.MAX_VALUE)

    .addComponent(

    jb_cancle)))))

    .addContainerGap(79, Short.MAX_VALUE)));

    layout.setVerticalGroup(layout

    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addGap(34, 34, 34)

    .addComponent(jLabel1)

    .addGap(53, 53, 53)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel2)

    .addComponent(

    jtf_username,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(18, 18, 18)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel3)

    .addComponent(

    jpw_password,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(28, 28, 28)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel4)

    .addComponent(

    jtf_check,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addComponent(jl_checkImage))

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED,

    38, Short.MAX_VALUE)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jb_login)

    .addComponent(jb_cancle))

    .addContainerGap()));

    pack();

    }//

    // GEN-END:initComponents

    private void jb_cancleActionPerformed(java.awt.event.ActionEvent evt) {

    int i = JOptionPane.showConfirmDialog(this, “确定退出系统?”, “确认信息”,

    JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);

    if (i == 0) {

    this.dispose();

    private void jb_loginActionPerformed(java.awt.event.ActionEvent evt) {

    String userName = this.jtf_username.getText();

    String password = new String(this.jpw_password.getPassword());

    String checkCode = this.jtf_check.getText();

    if (StringUtil.isEmpty(userName)) {

    JOptionPane.showMessageDialog(this, “用户名不能为空!”);

    return;

    if (StringUtil.isEmpty(password)) {

    JOptionPane.showMessageDialog(this, “密码不能为空”);

    return;

    if (!checkCode.equals(imageCode)) {

    JOptionPane.showMessageDialog(this, “验证码错误”);

    // this.fillImageCode();

    // this.jl_checkImage.updateUI();

    // this.pack();

    return;

    User user = new User(userName, password);

    UserEbi userEbi = UserEbiFactory.getUserEbi();

    User currentUser = userEbi.login(user);

    if (currentUser == null) {

    JOptionPane.showMessageDialog(this, “用户名或密码错误!”);

    return;

    // System.out.println(“登录成功”);

    this.dispose();

    new MainFrm(currentUser).setVisible(true);

    /**

    • @param args

    •        the command line arguments
      
      • 1

    */

    public static void main(String args[]) {

    java.awt.EventQueue.invokeLater(new Runnable() {

    public void run() {

    new LoginFrm(null).setVisible(true);

    });

    // GEN-BEGIN:variables

    // Variables declaration - do not modify

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel3;

    private javax.swing.JLabel jLabel4;

    private javax.swing.JButton jb_cancle;

    private javax.swing.JButton jb_login;

    private javax.swing.JLabel jl_checkImage;

    private javax.swing.JPasswordField jpw_password;

    private javax.swing.JTextField jtf_check;

    private javax.swing.JTextField jtf_username;

    // End of variables declaration//GEN-END:variables

    用户服务类:

    public class UserSerInterFrm extends javax.swing.JInternalFrame {

    /**

    */

    private static final long serialVersionUID = -8462503234613628488L;

    private PageBean bean = null;

    /** Creates new form UserSerInterFrm */

    public UserSerInterFrm() {

    initComponents();

    this.setLocation(230, 130);

    this.fillRole();

    QueryInfo info = new QueryInfo();

    info.setPagesize(9);

    this.fillTable(info);

    private void fillRole() {

    DefaultComboBoxModel dcm = (DefaultComboBoxModel) this.jcb_role

    .getModel();

    dcm.removeAllElements();

    List list = RoleEbiFactory.getRoleEbo().getRole();

    for (Role role : list) {

    dcm.addElement(role);

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.

    */

    //GEN-BEGIN:initComponents

    //

    private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();

    jtb_user = new javax.swing.JTable();

    jLabel1 = new javax.swing.JLabel();

    jLabel2 = new javax.swing.JLabel();

    jLabel3 = new javax.swing.JLabel();

    jtf_username = new javax.swing.JTextField();

    jtf_password = new javax.swing.JTextField();

    jcb_role = new javax.swing.JComboBox();

    jb_modify = new javax.swing.JButton();

    jb_del = new javax.swing.JButton();

    jb_end = new javax.swing.JButton();

    jb_nextpage = new javax.swing.JButton();

    jb_previouspage = new javax.swing.JButton();

    jb_start = new javax.swing.JButton();

    jb_add = new javax.swing.JButton();

    jLabel4 = new javax.swing.JLabel();

    setClosable(true);

    setIconifiable(true);

    setTitle(“\u7528\u6237\u7ba1\u7406”);

    jtb_user.setModel(new javax.swing.table.DefaultTableModel(

    new Object[][] {

    }, new String[] { “编号”, “用户名”, “角色” }) {

    boolean[] canEdit = new boolean[] { false, false, false };

    public boolean isCellEditable(int rowIndex, int columnIndex) {

    return canEdit[columnIndex];

    });

    jtb_user.addMouseListener(new java.awt.event.MouseAdapter() {

    public void mouseClicked(java.awt.event.MouseEvent evt) {

    jtb_userMouseClicked(evt);

    });

    jScrollPane1.setViewportView(jtb_user);

    jLabel1.setText(“\u7528\u6237\u540d\uff1a”);

    jLabel2.setText(“\u5bc6 \u7801\uff1a”);

    jLabel3.setText(“\u89d2 \u8272\uff1a”);

    jcb_role.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

    “Item 1”, “Item 2”, “Item 3”, “Item 4” }));

    jb_modify.setText(“\u4fee\u6539”);

    jb_modify.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_modifyActionPerformed(evt);

    });

    jb_del.setText(“\u5220\u9664”);

    jb_del.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_delActionPerformed(evt);

    });

    jb_end.setText(“\u672b\u9875”);

    jb_end.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_endActionPerformed(evt);

    });

    jb_nextpage.setText(“\u4e0b\u4e00\u9875”);

    jb_nextpage.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_nextpageActionPerformed(evt);

    });

    jb_previouspage.setText(“\u4e0a\u4e00\u9875”);

    jb_previouspage.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_previouspageActionPerformed(evt);

    });

    jb_start.setText(“\u9996\u9875”);

    jb_start.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_startActionPerformed(evt);

    });

    jb_add.setText(“\u65b0\u5efa”);

    jb_add.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_addActionPerformed(evt);

    });

    jLabel4.setText(“jLabel4”);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

    getContentPane());

    getContentPane().setLayout(layout);

    layout.setHorizontalGroup(layout

    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    javax.swing.GroupLayout.Alignment.TRAILING,

    layout.createSequentialGroup()

    .addContainerGap(

    87,

    Short.MAX_VALUE)

    .addComponent(

    jb_start)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_previouspage)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_nextpage)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_end)

    .addGap(39, 39,

    39))

    .addGroup(

    layout.createSequentialGroup()

    .addContainerGap()

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING)

    .addComponent(

    jScrollPane1,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    359,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addComponent(

    jLabel4,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    271,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(28, 28,

    28)))

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING,

    false)

    .addGroup(

    layout.createSequentialGroup()

    .addComponent(

    jLabel1)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jtf_username,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    125,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGroup(

    layout.createSequentialGroup()

    .addComponent(

    jLabel2)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jtf_password))

    .addGroup(

    layout.createSequentialGroup()

    .addComponent(

    jLabel3)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jcb_role,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    75,

    javax.swing.GroupLayout.PREFERRED_SIZE)))

    .addGroup(

    layout.createSequentialGroup()

    .addComponent(

    jb_add)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_modify)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_del)))

    .addContainerGap(20, Short.MAX_VALUE)));

    layout.setVerticalGroup(layout

    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addContainerGap()

    .addComponent(jScrollPane1,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    199,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addComponent(jLabel4)

    .addGap(4, 4, 4)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jb_end)

    .addComponent(jb_nextpage)

    .addComponent(jb_previouspage)

    .addComponent(jb_start)

    .addComponent(jb_del)

    .addComponent(jb_modify)

    .addComponent(jb_add))

    .addContainerGap(45, Short.MAX_VALUE))

    .addGroup(

    javax.swing.GroupLayout.Alignment.TRAILING,

    layout.createSequentialGroup()

    .addContainerGap(99, Short.MAX_VALUE)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel1)

    .addComponent(

    jtf_username,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(26, 26, 26)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel2)

    .addComponent(

    jtf_password,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(26, 26, 26)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel3)

    .addComponent(

    jcb_role,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addGap(98, 98, 98)));

    pack();

    }//

    //GEN-END:initComponents

    private void jtb_userMouseClicked(java.awt.event.MouseEvent evt) {

    DefaultTableModel tableModel = (DefaultTableModel) jtb_user.getModel();

    int selectRows = jtb_user.getSelectedRows().length;// 取得用户所选行的行数

    int selectedRowIndex = jtb_user.getSelectedRow(); // 取得用户所选单行

    if (selectRows == 1) {

    String id = tableModel.getValueAt(selectedRowIndex, 0).toString();

    User user = UserEbiFactory.getUserEbi().search(id);

    this.jtf_username.setText(user.getusername());

    this.jtf_password.setText(user.getpassword());

    // Role[] role = (Role[]) this.jcb_role.getSelectedObjects();

    // for (Role r: role) {

    // if (r.getId()==user.getid()) {

    // this.jcb_role.setSelectedItem®;

    // }

    // }

    for (int i = 0; i < this.jcb_role.getItemCount(); i++) {

    Role role = (Role) this.jcb_role.getItemAt(i);

    if (role.getId() == user.getroleid()) {

    this.jcb_role.setSelectedIndex(i);

    private void jb_endActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(bean.getTotalpage());

    info.setPagesize(9);

    fillTable(info);

    private void jb_nextpageActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(bean.getNextpage());

    info.setPagesize(9);

    fillTable(info);

    private void jb_previouspageActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(bean.getPreviouspage());

    info.setPagesize(9);

    fillTable(info);

    private void jb_startActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(1);

    info.setPagesize(9);

    fillTable(info);

    private void jb_modifyActionPerformed(java.awt.event.ActionEvent evt) {

    DefaultTableModel tableModel = (DefaultTableModel) jtb_user.getModel();

    int selectRows = jtb_user.getSelectedRows().length;// 取得用户所选行的行数

    int selectedRowIndex = jtb_user.getSelectedRow(); // 取得用户所选单行

    if (selectRows == 1) {

    BigDecimal userId = (BigDecimal) tableModel.getValueAt(

    selectedRowIndex, 0);

    String username = this.jtf_username.getText();

    String password = this.jtf_password.getText();

    Role role = (Role) this.jcb_role.getSelectedItem();

    BigDecimal roleId = role.getId();

    User user = new User(userId, username, password, roleId);

    boolean b = UserEbiFactory.getUserEbi().update(user);

    if (b) {

    JOptionPane.showMessageDialog(this, “修改成功!”);

    } else {

    JOptionPane.showMessageDialog(this, “修改失败!”);

    private void jb_addActionPerformed(java.awt.event.ActionEvent evt) {

    String username = this.jtf_username.getText();

    String password = this.jtf_password.getText();

    User user = new User(username, password, new BigDecimal(5));

    boolean b = UserEbiFactory.getUserEbi().add(user);

    if (b) {

    JOptionPane.showMessageDialog(this, “添加成功!”);

    } else {

    JOptionPane.showMessageDialog(this, “添加失败!”);

    private void jb_delActionPerformed(java.awt.event.ActionEvent evt) {

    int i = JOptionPane.showConfirmDialog(this, “确认删除此条记录?”, “确认信息”,

    JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

    if (i == 0) {

    DefaultTableModel tableModel = (DefaultTableModel) jtb_user

    .getModel();

    int selectRows = jtb_user.getSelectedRows().length;// 取得用户所选行的行数

    int selectedRowIndex = jtb_user.getSelectedRow(); // 取得用户所选单行

    if (selectRows == 1) {

    String userId = tableModel.getValueAt(selectedRowIndex, 0)

    .toString();

    boolean b = UserEbiFactory.getUserEbi().del(userId);

    if (b) {

    JOptionPane.showMessageDialog(this, “删除成功!”);

    } else {

    JOptionPane.showMessageDialog(this, “删除失败!”);

    @SuppressWarnings({ “unchecked”, “rawtypes” })

    private void fillTable(QueryInfo info) {

    // 获取表格模型

    DefaultTableModel dtm = (DefaultTableModel) this.jtb_user.getModel();

    // 清空表格

    dtm.setRowCount(0);

    // 获取业务层接口实现类对象

    UserEbi userEbi = UserEbiFactory.getUserEbi();

    // 查询数据

    bean = userEbi.search(info);

    // 获取封装数据的集合

    List list = bean.getList();

    // 遍历集合并向表格填充数据

    for (Object object : list) {

    Vector v = new Vector();

    User user = (User) object;

    v.add(user.getid());

    v.add(user.getusername());

    v.add(user.getRolename());

    dtm.addRow(v);

    this.jLabel4.setText(“共” + bean.getTotalrecord() + “条记录-共”

    • bean.getTotalpage() + “页-当前第” + bean.getCurrentpage() + “页”);

    //GEN-BEGIN:variables

    // Variables declaration - do not modify

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel3;

    private javax.swing.JLabel jLabel4;

    private javax.swing.JScrollPane jScrollPane1;

    private javax.swing.JButton jb_add;

    private javax.swing.JButton jb_del;

    private javax.swing.JButton jb_end;

    private javax.swing.JButton jb_modify;

    private javax.swing.JButton jb_nextpage;

    private javax.swing.JButton jb_previouspage;

    private javax.swing.JButton jb_start;

    private javax.swing.JComboBox jcb_role;

    private javax.swing.JTable jtb_user;

    private javax.swing.JTextField jtf_password;

    private javax.swing.JTextField jtf_username;

    // End of variables declaration//GEN-END:variables

    订单管理服务类:

    public class CusOrderInterFrm extends javax.swing.JInternalFrame {

    private static final long serialVersionUID = 5178086178074169208L;

    private static final int PAGESIZE = 10;

    private String id;

    private String name;

    private PageBean bean;

    /** Creates new form CusOrderInterFrm */

    public CusOrderInterFrm(String id, String name) {

    this.id = id;

    this.name = name;

    initComponents();

    this.setLocation(330, 80);

    initData();

    private void initData() {

    this.jtf_cusid.setText(id);

    this.jtf_cusname.setText(name);

    QueryInfo info = new QueryInfo();

    info.setPagesize(PAGESIZE);

    fillTable(info, id);

    @SuppressWarnings({ “unchecked”, “rawtypes” })

    private void fillTable(QueryInfo info, String id) {

    DefaultTableModel dtm = (DefaultTableModel) this.jtb_order.getModel();

    dtm.setRowCount(0);

    bean = CustomerEbiFactory.getCustomerEbi().searchOrder(id, info);

    List list = bean.getList();

    for (CusOrder cusOrder : list) {

    Vector v = new Vector();

    v.add(cusOrder.getOrderid());

    v.add(cusOrder.getOrder_date());

    v.add(cusOrder.getOrder_address());

    v.add(cusOrder.getOr_state());

    dtm.addRow(v);

    this.jLabel9.setText(“共” + bean.getTotalrecord() + “条记录-共”

    • bean.getTotalpage() + “页-当前第” + bean.getCurrentpage() + “页”);

    //GEN-BEGIN:initComponents

    //

    private void initComponents() {

    jLabel1 = new javax.swing.JLabel();

    jtf_cusid = new javax.swing.JTextField();

    jLabel2 = new javax.swing.JLabel();

    jtf_cusname = new javax.swing.JTextField();

    jScrollPane1 = new javax.swing.JScrollPane();

    jtb_order = new javax.swing.JTable();

    jb_start = new javax.swing.JButton();

    jb_end = new javax.swing.JButton();

    jb_previouspage = new javax.swing.JButton();

    jb_nextpage = new javax.swing.JButton();

    jLabel9 = new javax.swing.JLabel();

    jb_info = new javax.swing.JButton();

    setClosable(true);

    setIconifiable(true);

    setTitle(“\u5386\u53f2\u8ba2\u5355”);

    jLabel1.setText(“\u5ba2\u6237\u7f16\u53f7\uff1a”);

    jtf_cusid.setEditable(false);

    jLabel2.setText(“\u5ba2\u6237\u540d\u79f0\uff1a”);

    jtf_cusname.setEditable(false);

    jtb_order.setModel(new javax.swing.table.DefaultTableModel(

    new Object[][] {

    }, new String[] { “订单编号”, “日期”, “送货地址”, “状态” }) {

    boolean[] canEdit = new boolean[] { false, false, false, false };

    public boolean isCellEditable(int rowIndex, int columnIndex) {

    return canEdit[columnIndex];

    });

    jScrollPane1.setViewportView(jtb_order);

    jb_start.setText(“\u9996\u9875”);

    jb_start.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_startActionPerformed(evt);

    });

    jb_end.setText(“\u672b\u9875”);

    jb_end.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_endActionPerformed(evt);

    });

    jb_previouspage.setText(“\u4e0a\u4e00\u9875”);

    jb_previouspage.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_previouspageActionPerformed(evt);

    });

    jb_nextpage.setText(“\u4e0b\u4e00\u9875”);

    jb_nextpage.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_nextpageActionPerformed(evt);

    });

    jLabel9.setText(“jLabel9”);

    jb_info.setText(“\u660e\u7ec6”);

    jb_info.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {

    jb_infoActionPerformed(evt);

    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

    getContentPane());

    getContentPane().setLayout(layout);

    layout.setHorizontalGroup(layout

    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addContainerGap()

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.LEADING,

    false)

    .addGroup(

    javax.swing.GroupLayout.Alignment.TRAILING,

    layout.createSequentialGroup()

    .addComponent(

    jLabel9,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    162,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_info)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    Short.MAX_VALUE)

    .addComponent(

    jb_start)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_previouspage)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_nextpage)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(

    jb_end))

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.TRAILING)

    .addComponent(

    jScrollPane1,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    503,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addGroup(

    javax.swing.GroupLayout.Alignment.LEADING,

    layout.createSequentialGroup()

    .addComponent(

    jLabel1)

    .addGap(18,

    18,

    .addComponent(

    jtf_cusid,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    151,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addGap(26,

    26,

    .addComponent(

    jLabel2)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

    .addComponent(

    jtf_cusname,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    176,

    javax.swing.GroupLayout.PREFERRED_SIZE))))

    .addContainerGap(36, Short.MAX_VALUE)));

    layout.setVerticalGroup(layout

    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(

    layout.createSequentialGroup()

    .addContainerGap()

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jLabel1)

    .addComponent(

    jtf_cusid,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addComponent(jLabel2)

    .addComponent(

    jtf_cusname,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.PREFERRED_SIZE))

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(jScrollPane1,

    javax.swing.GroupLayout.PREFERRED_SIZE,

    193,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addPreferredGap(

    javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addGroup(

    layout.createParallelGroup(

    javax.swing.GroupLayout.Alignment.BASELINE)

    .addComponent(jb_end)

    .addComponent(jb_nextpage)

    .addComponent(jb_previouspage)

    .addComponent(jb_start)

    .addComponent(jLabel9)

    .addComponent(jb_info))

    .addGap(24, 24, 24)));

    pack();

    }//

    //GEN-END:initComponents

    private void jb_infoActionPerformed(java.awt.event.ActionEvent evt) {

    JOptionPane.showMessageDialog(this, “暂不提供查看明细\n系统功能开发中”);

    private void jb_endActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(bean.getTotalpage());

    info.setPagesize(PAGESIZE);

    fillTable(info, id);

    private void jb_nextpageActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(bean.getNextpage());

    info.setPagesize(PAGESIZE);

    fillTable(info, id);

    private void jb_previouspageActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(bean.getPreviouspage());

    info.setPagesize(PAGESIZE);

    fillTable(info, id);

    private void jb_startActionPerformed(java.awt.event.ActionEvent evt) {

    QueryInfo info = new QueryInfo();

    info.setCurrentpage(1);

    info.setPagesize(PAGESIZE);

    fillTable(info, id);

    //GEN-BEGIN:variables

    // Variables declaration - do not modify

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel9;

    private javax.swing.JScrollPane jScrollPane1;

    private javax.swing.JButton jb_end;

    private javax.swing.JButton jb_info;

    private javax.swing.JButton jb_nextpage;

    private javax.swing.JButton jb_previouspage;

    private javax.swing.JButton jb_start;

    private javax.swing.JTable jtb_order;

    private javax.swing.JTextField jtf_cusid;

    private javax.swing.JTextField jtf_cusname;

    // End of variables declaration//GEN-END:variables


  • 相关阅读:
    Redis核心数据结构【set】【从入门到入坟】
    eNsp使用技巧
    竞赛 深度学习 大数据 股票预测系统 - python lstm
    关于android studio 新建项目 是否勾选 use legacy android.support libraries
    MySQL InnoDB Architecture 简要介绍
    崖山YashanDB启动数据库监控服务操作记录
    欺诈团伙遇上关联网络,邪不压正
    华为appgallery上架
    WebService总结
    K8S的调度算法在仿真实验的实现
  • 原文地址:https://blog.csdn.net/m0_70011400/article/details/127541784