医疗保险管理系统设计 Java

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012829611/article/details/54428780

说明:所有源码已上传到笔者GitHub上,欢迎follow、star。感谢!!!

一、系统需求

应用面向对象技术分析一在职职工医疗保险管理系统,用来对职工的个人医保帐户进行管理,系统的需求为:
1. 每个职工有一个位数为12位的帐号唯一的医保卡,有支付密码,记录该职工的帐上余额。个人每月交纳的保险金额为工资的2%,单位为个人每月交纳的保险金额为工资的7%。每次就医后可凭卡支付医疗费用,医保卡可挂失、重发,但任何时候都只有一张卡有效。
2. 每个职工有一个16位的工资卡,有支付密码,与职工的个人工资帐户相关联。每当有工资收入时计算缴纳的医保金额,并直接从工资账户扣除。单位支付部分设为同步自动支付,直接加入到保险金中。
3. 支付费率分为三类,分别是自费门诊、普通门诊与大病门诊,普通门诊就医后支付医疗费用的70%,大病门诊就医后支付医疗费的80%,而自费门诊为全部自费。
4. 系统要记录每次交纳医疗保险金的往来帐,并能以个人、单位进行查询打印这些信息。
5. 系统要记录每次支付医疗保险金的往来帐,并能以个人、单位进行查询打印这些信息。系统不能透支。
6. 系统具有对医保卡的管理功能,包括考虑入保和退保的处理、单位变更。
7. 医院提供三类费率一览表,即那种治疗属于那个支付费率。
8. 不考虑对个人工资和工资卡的管理、个人所属单位的管理。


二、实现功能

我用Java语言实现的部分功能:(附系统界面截图)

注:
1.时间仓促,系统界面做的比较简单,望各位大神不吝赐教!
2.使用的数据库为MySQL,具体创建SQL语句可到我的个人资源中下载。
3.下面只放了一个main类代码,如需全部代码可到我的个人资源中下载。


主界面

职工入保界面

医保卡挂失界面

/**
 * 这是一个主函数
 */
package com.mims;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.util.*;
import java.util.Date;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class main extends JFrame implements ActionListener{

    //定义所需控件
    JPanel jp1,jp2;
    JLabel jl1;
    JButton jb1,jb2,jb3,jb4,jb5;
    JTable jt;
    JScrollPane jsp;
    JTextField jtf1,jtf2;
    userModel um;
    connDB cd;
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Vector rowData,columnNames;//rowData存放行数据,columnNames存放列名

    public static void main(String[] args) {

        main m=new main();
    }

    //构造函数
    public main(){

        //上面布局
        jp1=new JPanel();
        jtf1=new JTextField(10);
        jb1=new JButton("查询");
        jb1.addActionListener(this);
        jl1=new JLabel("请输出名字");
        jb5=new JButton("费率一览表");
        jb5.addActionListener(this);
        jtf2=new JTextField("登录时间:"+df.format(new Date()));
        jtf2.setBorder(new EmptyBorder(0,0,0,0));
        jtf2.setBackground(null);

        //把各个控件加到jp1
        jp1.add(jl1);
        jp1.add(jtf1);
        jp1.add(jb1);
        jp1.add(jb5);
        jp1.add(jtf2);

        //下面布局
        jp2=new JPanel();
        jb2=new JButton("入保");
        jb2.addActionListener(this);
        jb3=new JButton("退保");
        jb3.addActionListener(this);
        jb4=new JButton("挂失");
        jb4.addActionListener(this);

        //把各个控件加到jp2
        jp2.add(jb2);
        jp2.add(jb3);
        jp2.add(jb4);

        //中间布局
        //创建数据模型userModel对象
        um=new userModel();

        jt=new JTable(um);//初始化JTable

        jsp=new JScrollPane(jt);//初始化jsp JScrollPane

        this.add(jsp);//jsp加入到JFrame中
        this.add(jp1,"North");//jp1加入到JFrame中
        this.add(jp2,"South");//jp2加入到JFrame中

        this.setSize(600, 400);//设置窗口大小
        this.setTitle("职工医保卡管理系统");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭JFrame时关闭资源窗口
        this.setVisible(true);

    }

    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        //判断是哪个按钮被点击
        if(e.getSource()==jb1){

            String sql;
            String name=this.jtf1.getText().trim();//获取输入框中输入的姓名
            if(name.equals("")){

                sql="select * from user";
            }else{
                sql="select * from user where username='"+name+"'";
            }
//          String sql="select * from user where username='"+name+"'";

            //创建新的数据模型类
            um=new userModel(sql);
            //更新JTable
            jt.setModel(um);

       }else if(e.getSource()==jb2){

            userAdd us=new userAdd(this,"入保",true);

            //创建新的数据模型类
            um=new userModel();
            //更新JTable
            jt.setModel(um);

        }else if(e.getSource()==jb3){

            //getSelectedRow将返回用户所点中的行,若没有选择则返回-1
            int rowNum=this.jt.getSelectedRow();
            if(rowNum==-1){
                //弹出提示框
                JOptionPane.showMessageDialog(this, "请选择要退保职工!");
                return;
            }
            String id=(String) um.getValueAt(rowNum, 0);
            String sql="delete from user where userid='"+id+"'";
            cd=new connDB();
            cd.updExecute(sql);

            um=new userModel();
            //更新JTable
            jt.setModel(um);

            JOptionPane.showMessageDialog(this, "退保成功!");
            return;

//          System.out.println(id);

        }else if(e.getSource()==jb4){

            int rowNum=this.jt.getSelectedRow();
            if(rowNum==-1){
                JOptionPane.showMessageDialog(this, "请选择要挂失职工!");
                return;
            }
            String id=(String) um.getValueAt(rowNum, 0);
            String sql="update user set state='挂失' where userid='"+id+"'";
            cd=new connDB();
            cd.updExecute(sql);

            um=new userModel();
            jt.setModel(um);

            JOptionPane.showMessageDialog(this, "恭喜您!挂失成功!");
            return;
        }else if(e.getSource()==jb5){

            PayRate pr=new PayRate();
            pr.print();

        }

    }   

}

猜你喜欢

转载自blog.csdn.net/u012829611/article/details/54428780
今日推荐