基于java的工费医疗报销管理系统设计与实现


博主介绍:专注于Java vue  .net  php phython  小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作

☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
 

第三章 系统需求分析和数据库设计

需求分析不仅是确定系统必须完成哪些工作,而且必须对所开发的系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量,因此我们就以下几个方面来进行系统的需求分析。

3.1 系统的功能要求

3.1.1系统主要模块划分:

数据管理模块和报销模块

3.1.2数据管理模块所要实现的主要功能有:

1.药品信息管理

包括增、删与修改药品信息,更改每种药品报销比例,同时也要能实现批量操作,比如每次药品进货后,本系统要能实现药品的批量添加。

2.用户信息管理

包括学生和职工两块。不仅要能实现对单个用户信息的增删与修改,而且要能实现对其的批量操作。如学生入学后本系统要能对其进行批量的添加等等。

3.系统操作员的管理

增、删与修改操作员信息。

4.药品、用户信息的查询

能按照不同的查询条件查询所需信息,最简单的要能实现用户可以按照用户名和编号查询,药品可以按照药品名称和编号查询。

5.数据库的备份与恢复

        给用户(此处指操作员,即医务室的工作人员)一个简捷的界面,通过简单的操作,就可以实现人员信息数据和药品信息由sql server数据库向excel数据表的导入于导出,而不需要用户直接与sql服务器打交道。

3.1.3报销子模块的主要业务有:

1. 医疗费的报销

2. 个人报销信息的查询打印

3.2 系统的逻辑模型

综合上述分析的结果可以导出系统的详细的逻辑模型,我们用页面逻辑和数据流图来描述。

3.2.1系统的页面逻辑结构:

整个系统的页面逻辑结构示意图如图2-1所示:

图2-1   系统的页面逻辑结构示意图

3.2.2数据流图

数据流图主要是描绘信息在系统中流动和处理的情况。如图2-2所示:

报销                                图2-2   系统数据流图

3.3 数据库设计

为了使开发的Web应用具有良好的可扩展性和易于分工,我们必须要做到:1.将业务逻辑与用户界面分离;2.将动态页面显示逻辑与静态的HTML代码分离。由Apache Jakarta项目组提供的Struts应用框架正是用来解决这些问题的,它采用了模型-视图-控制器(Model View  Controller,MVC)设计思想,很好地实现了业务逻辑与用户面的分离。同时,由于JSTL标签库提供了标准化的标记集,可以在JSP页面中分离动态显示逻辑与静态的HTML,使页面代码更清晰,简化了从JSP内部访问JAVA语言结构的流程,可读性大大提高,从而成为使用Struct开发JSP的首选方法。而数据的持久化则可以由Hibernate来创建,这样代码的可重用性得到了提高,并且具有相对独立性,当持久化层的实现发生变化时,不会影响到上层的实现。除此之外,还能够灵活的支持多种数据库平台。Hibernate不仅仅管理JAVA类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。

其系统架构图如图2-3所示:

图2-3 系统架构图

3.3.1 数据库的设计

在本系统的数据模块开发过程中,我们需要用到以下相关数据表:

表2-1  t_user_type(人员类别表)

序号

字段

字段名

类型

长度

NULL

备注

1

类别代码

Typecode

Varchar

10

xj(现金)zz      在职lx( 离休)xs(学生)tx      (退休)

2

类别名称

Typename

Varchar

20

1

表2-2  t_depart(部门表)

序号

字段

字段名

类型

长度

NULL

备注

1

部门代码

departcode

varchar

4

2

部门名称

departname

varchar

20

表2-3  t_zj_type(证件类型)

序号

字段

字段名

类型

长度

NULL

备注

1

类型类型

Zjtype

varchar

2

0

1 学生证2 职工号

3 一卡通

2

类型名称

Zjname

Varchar

20

0

表2-4  t_employee(职工表)

序号

字段

字段名

类型

长度

NULL

备注

1

编号

employeeid

varchar

12

PK

2

医疗卡号

medicalID

Varchar

12

3

姓名

name

varchar

12

4

性别

Sex

varchar

4

5

年龄

Age

varchar

10

6

部门

departcode

varchar

4

FK ,T_depart

7

类别

typecode

varchar

10

FK, T_user_type

8

证件编号

Zjcode

varchar

18

9

证件类型

Zjtype

varchar

2

FK,T_zj_type

10

密码

pass

varchar

20

没有初始化为职工编号

表2-5  t_student(学生)

序号

字段

字段名

类型

长度

NULL

备注

1

学号

Studentid

Varchar

12

Not

PK

2

医疗卡号

Medicalid

varchar

12

3

姓名

Name

varchar

12

4

性别

Sex

varchar

4

5

年龄

Age

varchar

10

6

部门

departcode

varchar

4

FK ,T_depart

7

类别

typecode

varchar

10

FK ,T_user_type

8

证件编号

Zjcode

varchar

18

9

证件类型

Zjtype

varchar

2

FK,T_zj_type

10

年级

Grade

varchar

10

99级00级01级…

11

密码

Pass

varchar

20

初始化为学生编号

表2-6  t_worker(操作员表)

序号

字段

字段名

类型

长度

NULL

备注

1

操作员代码

Workerid

char

5

Not

Pk

2

操作员名称

Workername

char

12

3

操作员口令

workerPass

varchar

8

4

所属科室

Room

char

3

5

权限科室

Rightroom

char

200

6

权限代码

Rightcode

Varchar

2

FK,T_sys_right

表2-7  t_sys_right(系统权限表)

序号

字段

字段名

类型

长度

NULL

备注

1

权限代码

Rightcode

Varchar

2

PK

2

权限名称

Rightname

Varchar

12

表2-8  t_yp(药品)

序号

字段

字段名

类型

长度

NULL

备注

2

药品代码

Ypid

varchar

12

Not

Pk

3

药品编号

Ypcode

varchar

18

国家规定编号

4

药品中文名称

Ypcname

varchar

50

5

药品英文名称

Ypename

Varchar

50

剂型

ypJx

Varchar

10

5

药品类型

Yptype

varchar

4

Fk,T_bx_yp_type

6

药品单位

Ypunit

varchar

4

7

药品单价

Ypprice

numeric

9

8

是否医保药品

Canbx

Varhcar

2

1 是,可以报销

0 不是,不可报销

9

五笔代码

Wb

varchar

4

10

拼音代码

py

varchar

4

表2-9  t_yp_type(药品类型)

序号

字段

字段名

类型

长度

NULL

备注

1

药品类型

Yptype

varchar

4

Pk,1 西药2 中成药3 中药饮片

2

类型名称

Yptypename

Varchar

20

表2-10  t_yp_infor(药品类特殊信息)

序号

字段

字段名

类型

长度

NULL

备注

1

药品特殊信息

Ypinfo

varchar

4

Pk

1 ★药品2*★药品

2

药品特殊信息

Ypinfoname

varchar

20

图2-3说明的本系统所有用到的数据表间的逻辑关系:

图2-3 系统数据表的逻辑关系

第四章 系统实现

4.1系统运行环境

  1. 操作系统:WindowsXP
  2. JDK版本:1.4.2
  3. 浏览器:IE 6.0
  4. 服务器:Tomcat5.05
  5. 数据库:MS Server2000

4.2系统运行结果及分析

4.2.1用户管理

  1. 所有用户

说明:这里是对用户(管理员)进行管理,管理员用户要进入系统,就要拥有自己的登陆入口这是任何一个系统管理功能能保密性的需要。根据数据库部分的设计知道,初始化填入了一个管理员的用户记录,用户名为songbingqiao,密码为19900424。

    1. 用户管理界面
  1. 添加管理员

说明:这里是对管理员进行添加的模块,只有在这里进行了添加的管理员才能进入系统进行操作,每个管理员都拥有自己的用户名和密码,这些信息存储在数据库中。

                                 3-2   添加管理员界面

4.2.2报销管理

  1. 医疗报销模块

说明:这个模块是管理员最常用的模块,每个来报销的学生或者老师,在输入学号或工号后,即会出现以下界面,在这里管理根据实际情况填写表单,包括药品报销,治疗报销和检查报销三种类型,其中药品报销只需输入关键字,数据库中包含有该关键字的药品即会提示出来供管理员选择,并且每种药品的费用也已经存储在数据库中,这样就方便了对药品总费用的统计。点击计算按钮,系统就会把所有报销的金额汇总,乘以相应的报销比例,就可以知道实际可以报销的金额。填写完之后点击提交,该条记录即被保存在数据库之中了。同时也可以进行打印。

    1.   报销管理界面
  1. 报销记录查询模块

说明:这个模块是对报销的记录进行查询,每个人员所有的报销记录都存储在数据库中,并且每个人员的消费总金额都可以自动统计,方便管理员进行管理和查找,还可以提供按时期查找,可以可以了解到一段时间内的报销情况,从而为医院进行报销的管理。这里统计出来的表单可以打印出来。

                    3-5  报销记录查询界面

  1. 报销统计

说明:这个模块是对已有报销表单进行统计,点击计算按钮,系统就会把所有报销的金额汇总,乘以相应的报销比例,就可以知道实际可以报销的金额。填写完之后点击提交,该条记录即被保存在数据库之中了。同时也可以进行打印。

4.2.3数据信息管理

1)药品信息管理:这个模块实现的是药品信息的修改,删除和查询,系统支持三个查询选项:1.按药品名称;2.按药品编号;3按生产单位.。这里直接和数据库相连,调出药品显示的表单,药品在数据库中是按照药品ID来存储的,并且每个药品都支持模糊查询,输入信息后可以从数据库调出和输入内容相关的药品名称,方便查找。

                          3-6   药品信息管理

2)人员信息管理

说明:人员信息管理:这个模块实现的是药品信息的修改,删除和查询,系统支持三个查询选项: 1.按人员名称;2.按医保卡号;3按所属单位.;这里直接和数据库相连,调出人员显示的表单,人员在数据库中是按照人员ID来存储的。

3-7    人员信息管理界面

大家点赞、收藏、关注、评论啦  其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/879787.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

专题六_模拟_算法详细总结

目录 模拟算法 1.模拟算法流程(一定要在草稿纸上演算一遍流程) 2.把流程转换成代码 1. 替换所有的问号(easy) 解析: 1.暴力: 2.优化:(找规律) 总结: …

Vue3+Element Plus:使用el-dialog,对话框可拖动,且对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息

【需求】 使用Element Plus中的el-dialog默认是模态的(即它会阻止用户与对话框外部的元素进行交互),对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息,且对话框可拖动 【…

TCP/IP五层模型

OSI七层模型 OSI(Open Systems Interconnection)七层模型是一种概念框架,用于标准化不同计算机系统之间的通信过程 它由国际标准化组织(ISO)在1984年提出,主要用于网络通信 这七层模型从上到下分别是: 应用层(Application Layer):为应用软件提供网络服…

tomcat服务器

tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx&#x…

Leetcode 93-复原 IP 地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.…

计算机毕业设计 服装生产管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

MySQL之表内容的增删改查(含oracel 9i经典测试雇佣表下载)

目录 一:Create 二:Retrieve 1.select列 2.where条件 3.结果排序 4. 筛选分页结果 三:Update 四:Delete 1.删除数据 2. 截断表 五:插入查询结果 六:聚合函数 七:group by子句的使用 表内容的CRUD操作 : Create(创建), Retrieve(读取)…

Win10 录屏秘籍大公开:从新手到高手的进阶之路

之前因为某些原因不方便到客户那里进行软件培训,我们就发现录屏讲解供客户随时查看的方式好像更有效果。这次我就介绍一些能够实现win10怎么录屏操作的工具讲解。 1.福昕录屏大师 链接:www.foxitsoftware.cn/REC/ 这个工具是一款专业的电脑录屏软件&a…

【三大运营商】大数据平台体系架构【顶层规划设计】

在国内运营商(如中国移动、中国联通、中国电信)的大数据平台建设中,顶层规划设计至关重要。以下是针对三大运营商为例【如电信】的大数据平台体系架构的顶层规划设计方案,涵盖整体架构、关键组件、数据管理、应用场景等方面。 1. …

2023年全国研究生数学建模竞赛华为杯B题DFT类矩阵的整数分解逼近求解全过程文档及程序

2023年全国研究生数学建模竞赛华为杯 B题 DFT类矩阵的整数分解逼近 原题再现: 一、问题背景   离散傅里叶变换(Discrete Fourier Transform,DFT)作为一种基本工具广泛应用于工程、科学以及数学领域。例如,通信信号…

react 基础语法

前置知识 类的回顾 通过class关键字定义一个类 类名首字母大写 class类有constructor构造器 new 一个类得到一个实例 类还有方法,该方法也会在其原型上 static静态数据,访问静态属性通过 类名.id getter和setter getter:定义一个属性&…

kubernetes存储之GlusterFS(GlusterFS for Kubernetes Storage)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Agent Zero

文章目录 一、关于 Agent Zero现在有了UI:关键概念1、General-purpose 助理2、计算机作为工具3、多智能体合作4、完全可定制和可扩展5、沟通是关键 不错的功能记住已知问题理想的环境 二、Setup - 如何在Windows和MacOS上安装Agent Zero提醒:1、安装Cond…

Tiny-universe学习笔记1:Qwen-blog

本文是参与Datawhale Tiny-universe组队学习的第一篇学习笔记,参考链接:https://github.com/datawhalechina/tiny-universe Tiny-universe学习笔记1:Qwen-blog Qwen整体架构与Llama2类似,具体如下图所示: 其中&#…

深度学习笔记(8)预训练模型

深度学习笔记(8)预训练模型 文章目录 深度学习笔记(8)预训练模型一、预训练模型构建一、微调模型,训练自己的数据1.导入数据集2.数据集处理方法3.完形填空训练 使用分词器将文本转换为模型的输入格式参数 return_tenso…

Java | Leetcode Java题解之第417题太平洋大西洋水流问题

题目&#xff1a; 题解&#xff1a; class Solution {static int[][] dirs {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int[][] heights;int m, n;public List<List<Integer>> pacificAtlantic(int[][] heights) {this.heights heights;this.m heights.length;this.n…

【JSrpc破解前端加密问题】

目录 一、背景 二、项目介绍 三、JSrpc 处理前端加密步骤 一、背景 解决日常渗透测试、红蓝对抗中的前端密码加密问题&#xff0c;让你的爆破更加丝滑&#xff1b;降低js逆向加密的难度&#xff0c;降低前端加密逻辑分析工作量和难度。 二、项目介绍 运行服务器程序和js脚本…

springCloud(一)注册中心

1.Eureka 要是user-service服务有多个&#xff0c;order-service该怎么调用&#xff1f; 这就需要用到 注册中心 了 。 1.1 搭建Eureka服务 1. pom引入依赖 <dependencies><!--eureka服务端--><dependency><groupId>org.springframework.cloud</gr…

线程局部变量

开发线程的步骤 为什么要学 ThreadLocal 就是为了防止开发随意选库&#xff0c;设置线程局部变量 因为初始化随着项目启动-创建了连接池&#xff0c;但目前getinfo和login都是走从库&#xff0c;没有分开 所以在service层方法运行时&#xff0c;用ReqAop代码提前算出此方法走…

将有序数组——>二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确答案…