医疗保险管理系统设计 Java

来源:互联网 发布:mac 安装apache 编辑:程序博客网 时间:2024/06/02 12:24

代码下载:http://download.csdn.net/detail/u012829611/9737969

一、系统需求

应用面向对象技术分析一在职职工医疗保险管理系统,用来对职工的个人医保帐户进行管理,系统的需求为:
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();        }    }   }
0 0
原创粉丝点击