- 功能实现
- 入住模块:预约入住、办理入住
- 长者信息一览:查看长者信息、导出信息、打印表格
- 费用管理:查看费用、新增折扣、修改折扣、查看折扣
- 密码修改:修改密码,验证密码强度
- 数据库设计
Bed:床位表 床位ID 床号
资料表名称 | bed | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | bedID | int identity | (10, 0) | NO | PK | ||
2 | bedNumber | int | (10, 0) | YES |
Bondsman:担保人信息表 担保人ID、 第一担保人名字、 第一担保人关系、第一担保人身份 证、第一担保人工作单位、第一担保人家庭地址、第一担保人家庭电话、第二担保人名字、
第二担保人关系、第二担保人身份证、第二担保人工作单位、第二担保人家庭地址、第二担保 人家庭电话、第一担保人个人电话、第二担保人个人电话
资料表名称 | bondsman | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | bondsmanID | int identity | (10, 0) | NO | PK | ||
2 | oneName | varchar | 10 | YES | |||
3 | onerelation | varchar | 10 | YES | |||
4 | oneidCard | varchar | 20 | YES | |||
5 | oneUnit | varchar | 30 | YES | |||
6 | homeSite | varchar | 30 | YES | |||
7 | homePhotonum | varchar | 20 | YES | |||
8 | twoName | varchar | 10 | YES | |||
9 | tworelation | varchar | 10 | YES | |||
10 | twoidCard | varchar | 20 | YES | |||
11 | twoUnit | varchar | 30 | YES | |||
12 | twohomeSite | varchar | 30 | YES | |||
13 | twohomePhotonum | varchar | 20 | YES | |||
14 | onepont_number | varchar | 20 | YES | |||
15 | twopont_number | varchar | 20 | YES |
Certificate:证件类型表 证件类型ID、证件编号
资料表名称 | certificate | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | certificateID | int identity | (10, 0) | NO | PK | ||
2 | certificategenre | varchar | 30 | YES |
check_stateID:入住状态表 入住状态ID、入住状态
资料表名称 | check_stateID | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | check_stateID | int identity | (10, 0) | NO | PK | ||
2 | check_state | char | 10 | YES |
Costchack:费用表 费用表ID、一次性生活设施费、打折后入住费用、综合备用金、床位费、 膳食费、服务费、护理费、加收地区费、折扣、经济来源、支付方式
资料表名称 | costchack | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | costchackID | int identity | (10, 0) | NO | PK | ||
2 | onelike_domesticfei | decimal | (18, 2) | YES | |||
3 | discountaffter | decimal | (18, 2) | YES | |||
4 | petty_cash | decimal | (18, 2) | YES | |||
5 | bedcost | decimal | (18, 2) | YES | |||
6 | eatcost | decimal | (18, 2) | YES | |||
7 | service_charge | decimal | (18, 2) | YES | |||
8 | nurse_cost | decimal | (18, 2) | YES | |||
9 | region_jcsot | decimal | (18, 2) | YES | |||
10 | discount | varchar | 4 | YES | |||
11 | payment_way | varchar | 50 | YES | |||
12 | pocketbook | varchar | 10 | YES |
Discounttion: 折扣管理表 折扣表ID、费用表ID、长者信息ID、扣比例、费用类别、申请原 因、申请人、申请时间、开始执行时间
资料表名称 | Discounttion | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | DiscounttionID | int identity | (10, 0) | NO | PK | ||
2 | costchackID | int | (10, 0) | YES | |||
3 | s_oldpeopleID | int | (10, 0) | YES | |||
4 | discountproportion | int | (10, 0) | YES | |||
5 | expense_typeID | int | (10, 0) | YES | |||
6 | applyfor_cause | varchar | 60 | YES | |||
7 | applyfor_person | varchar | 20 | YES | |||
8 | applyfor_time | datetime | (23, 3) | YES | |||
9 | Discountstarttime | datetime | (23, 3) | YES | |||
10 | DiscountStop | bit | 1 | YES |
expense_type:费用类别表 费用类别表ID、费用类别字段
资料表名称 | expense_type | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | expense_typeID | int identity | (10, 0) | NO | PK | ||
2 | expensefield | varchar | 50 | YES |
money_account:金钱表 金钱表ID、长者信息ID、账户余额
资料表名称 | money_account | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | money_accountID | int identity | (10, 0) | NO | PK | ||
2 | s_oldpeopleID | int | (10, 0) | YES | |||
3 | account_balance | decimal | (18, 2) | YES |
Nursingcheckcost:护理及入住选择表 护理及入住选择表ID、入住方式、签约次数、外出管 理、入住地点、护理级别ID
资料表名称 | Nursingcheckcost | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | NursingcheckcostID | int identity | (10, 0) | NO | PK | ||
2 | checkin_way | varchar | 10 | YES | |||
3 | contractIme | int | (10, 0) | YES | |||
4 | goup_administra | varchar | 10 | YES | |||
5 | checkin_site | varchar | 20 | YES | |||
6 | NursingrankID | int | (10, 0) | YES |
Nursingrank:护理级别表 护理级别ID、护理级别名称
资料表名称 | Nursingrank | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | NursingrankID | int identity | (10, 0) | NO | PK | ||
2 | NursingrankName | varchar | 5 | YES |
s_oldpecondition: 长者预约情况表 长者预约情况表ID、预约意向、预约方式、计划入住时 间、咨询人、联系电话、接待人
资料表名称 | s_oldpecondition | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | s_oldpeconditionID | int identity | (10, 0) | NO | PK | ||
2 | subscribe_purpose | varchar | 40 | YES | |||
3 | subscribe_way | varchar | 20 | YES | |||
4 | plan_checktime | datetime | (23, 3) | YES | |||
5 | subscribename | varchar | 50 | YES | |||
6 | subscribephonnumber | varchar | 20 | YES | |||
7 | receptionname | varchar | 50 | YES |
s_oldpeople:入住人信息登记表 床位ID、担保人信息ID、长者姓名、长者性别、长者年龄、 国籍、籍贯、婚姻状况、证件类型ID、证件号码、出生日期、文化程度、现住址、家庭电话、 户籍所在地、所属街道、身份证地址、原职业、医保类型、协议开始时间、协议终止时间、邮 政编码、国籍、编号、入住状态ID、护理及入住ID、长者预约情况表ID费用表ID
资料表名称 | s_oldpeople | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | s_oldpeopleID | int identity | (10, 0) | NO | PK | ||
2 | bedID | int | (10, 0) | YES | |||
3 | bondsmanID | int | (10, 0) | YES | |||
4 | peoplename | varchar | 50 | YES | |||
5 | peoplegender | varchar | 20 | YES | |||
6 | peopleyear | varchar | 20 | YES | |||
7 | nationality | varchar | 20 | YES | |||
8 | site | varchar | 40 | YES | |||
9 | people_married | varchar | 20 | YES | |||
10 | certificateID | int | (10, 0) | YES | |||
11 | certificateNumber | varchar | 20 | YES | |||
12 | dateOfBirth | datetime | (23, 3) | YES | |||
13 | culturedegre | varchar | 20 | YES | |||
14 | address | varchar | 30 | YES | |||
15 | homeNumber | varchar | 20 | YES | |||
16 | place_domicile | varchar | 30 | YES | |||
17 | subdistrict | varchar | 25 | YES | |||
18 | certificateaddres | varchar | 25 | YES | |||
19 | profession | varchar | 20 | YES | |||
20 | health_insurance | varchar | 10 | YES | |||
21 | contractstatime | datetime | (23, 3) | YES | |||
22 | sotpdiscountime | datetime | (23, 3) | YES | |||
23 | | varchar | 10 | YES | |||
24 | coungstte | varchar | 20 | YES | |||
25 | subscribeNumber | nvarchar | 20 | YES | |||
26 | check_stateID | int | (10, 0) | YES | |||
27 | NursingcheckcostID | int | (10, 0) | YES | |||
28 | s_oldpeconditionID | int | (10, 0) | YES | |||
29 | costchackID | int | (10, 0) | YES |
s_PermissionGroup:权限表 权限组ID、权限组名称、权限说明
资料表名称 | s_PermissionGroup | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | permissionGroupID | int identity | (10, 0) | NO | PK | ||
2 | permissionGroupName | varchar | 50 | YES | |||
3 | remarks | text | 2147483647 | YES |
s_staff:工号表 权限组ID、操作账号、登录密码、登录账号地点、员工电话
资料表名称 | s_staff | 资料表描述 | |||||
SN | 栏位 | 资料型态 | 长度 | null | PK | 描述 | |
1 | staffID | int identity | (10, 0) | NO | PK | ||
2 | permissionGroupID | int | (10, 0) | YES | |||
3 | staffAccounts | varchar | 30 | YES | |||
4 | staffPassword | varchar | 30 | YES | |||
5 | placestaff | varchar | 200 | YES | |||
6 | staffNumber | varchar | 20 | YES |
- 功能实现
这是主页面图一所示,左上角的菜单栏,点击办理预约会跳转到图二的办理预约页面,点击办理页面就跳转到图六。
图一
长者新增预约信息、修改预约信息、查询预约信息,页面如图所示
图二
图二就是预约长者信息的页面模块。
此功能界面是用于新登记预约的长者,登记、修改和检索长者的基本资料,用户手工录入办理预约的长者的基本资料、选择费用标准、预约情况等基本信息,同时也可以通过点击【查找】或者【已预约】,本模块提供了对长者信息的录入、查找、修改等功能。
点击已预约按钮会弹出一个查询框(图三),这个框可以选择已经新增的预约长者编号,点击图三的确定按钮可以将长者编号回填到图二的预约号的文本框。
图三
当图二的预约文本框有不为空的时候点击图二的查询按钮,就可以查询出这个编号的长者信息如图四所示。当为预约文本框空时,会弹出一个提示框请填写长者编号
图四
将图二的长者信息填写完整,点击预约新增按钮就可以新增长者信息,输入正确的身份证会自动回填性别、年龄、籍贯、民族出生日期。家庭号码和个人电话号码也要正确,错误的会自动删除并且提示请输入正确的电话号码。必填的不能为空,否则无法提交,会有弹出框提示请填写完整信息。预约一个长者会生成一个2000的预收款,操作人员可以根据实际情况给到相应的折扣。这个只是预收款可以做为后面可以抵消住院费用。信息没问题提交后就预约成功。
当填写过程中发现有多个文本框的信息填写错误可以点击图二的重置按钮就可以把全部文本框和选择框的信息删除从新填写。
图五
当已经预约成功后可以进行入住操作,选择“选择入住”再点击图二的提交就可以从预约转为入住。已经入住的编号再预约的页面查询不到,因为这个编号已经正式入住,只能再新增入住的页面才能查询到这个长者的信息。当入住状态为空的时候,点击提交按钮会弹出一个错误的提示框,没有选择入住,则提交失败。
图六
图六是新增入住页面,该模块提供由咨询转入住,或者直接办理入住的操作。
进入办理入住界面,有过预约的长者,可以点击“已预约”选择对应的长者双击调出信息即可。
不是预约的长者,先点击新增,新增一个入住号(该长者的入住号是系统查询的标准,入住号是唯一的)。录入正确的资料,对应的费用项目,入住年制;
如保存后需要修改项目费用,如未提交给财务,可直接修改。如提交给财务了,需要点击取消提交费用,再修改。如提交给财务了,财务已经收费了,需要联系财务作废后,点击修改操作即可如生成协议了,有修改过费用,需要重新生成协议。
当预约页面提交入住后,可以在图六页面查询到长者编号和信息。图六功能可以直接入住不用通过预约入住。功能和图一基本一样,身份证验证,电话验证,数据不能为空,
图七是长者信息预览,能直观地查看入住和预约的长者全部信息。可以通过长者名字或者编号(模糊查询)来赛选长者信息,输入完毕按回车键就可以执行查询。
点击左上角的打印按钮可以将数据表格打印出来,可以选着打印的格式。
点击左上角的导出会弹出一个导出的弹出框选着需要导出的格式和位置,如图八所示,一般导出格式为EXCEL表格格式,方便直观查看。
图七
图八
点击图一中菜单栏的折扣管理会跳转到折扣管理的页面模块。
这个模块是给符合条件的长者各项费用进行处理的功能。
图九
当选中图九左边的表格数据,在点击左上角的新增按钮,右侧的信息数据就会回填如图十所示。已经点击了新增就不能在点击提交数据了,不能同时执行两个事件,防止折扣还没新增完成就提交。当没有选中左侧数据时会弹出一个提示框,提示请选择数据如图十一所示
图十
图十一
当不想新增当前选中的长者时(图十二),点击取消按钮,就可以将数据清空。
把折扣信息填写完整(如图十三),点击提交就可以把要新增的项目费用折扣提交上数据库了。
图十三
当数据提交完成后,点击所对应的长者就会显示出所对应费用的折扣信息。选中图十四中未执行的数据,再点击保存就完成了折扣的新增。
图十四
因为有还在预约中和已经入住的长者,为了方便查看,当选择“已经入住”就代表已经入住,
选择“预约入住”就是还在预约当中。选着后点击查询按钮就会显示对应的长者信息了。当点击重置按钮时,就会查询全部长者信息。
图十五
这是修改密码页面(图十六),点击图一中的菜单栏修改密码选项就会弹出修改密码的页面。
当打开修改密码页面时,会自动获取当前的账号和密码两个数据。
图十六
输入新的密码会自动检测密码的的强度,确认密码要与上面输入的一致,当输入不一样会提示“输入的密码不一致”。输入完毕点击保存按钮进行提交,提交后需要从新输入新的密码从新登录。
图十七
- 相关业务表和关系
入住信息表信息(图十八),用于长者信息新增和修改的操作
图十八
这是折扣管理表
图十九
- 经典代码
下拉框的查询,显示结果(图二十一、图二十二)
图二十
图二十一
图二十二
图二十三是验证输入的家庭电话的正则表达式是否正确。当输入的号码错误时会会提示输入格式不对。
图二十三
图二十三是验证输入的手机号码是否正确。当输入的号码错误时会提示输入格式不对,图二十五所示。
图二十四
图二十五
图二十六是模糊查询的代码,可以根据长者名字或者编号查询长者信息。功能效果如图二十六显示,输入一个字,就会查询到和这个字先关联的长者信息。
图二十七
- 项目总结
在做这个项目过程中才发现对上课内容很多都是一知半解,一边做项目一边看文档,看需要用到的技术。用到的技术点用完后基本就理解了,如果不是做项目很难发现自己那些不足。在刚开始把数据库设计完觉得完美的,但是在做项目中发现有很多逻辑行不通,不断地修改数据库直到逻辑符合。让我认识到了没有一成不变的需要不断地完善数据库,虽然修改数据很繁琐但是这可以锻炼自己的逻辑能力。这个项目让我认识到了学IT十一个不断地累积技术和锻炼思维的过程。