当前位置:首页 > 作文大全 >

基于B/S架构的局域网投票系统

发布时间: 2022-04-04 09:35:18 浏览:

摘要:本文根据某医院职称评选需求,设计基于B/S架构的局域网投票系统。

【关键词】B/SASP.NET数据库系统

1 系统功能设计

1.1 系统管理员功能

1.1.1 评委权限设定

系统管理员根据评委人数及评委信息,依次输入评委的:登录用户名、密码、名字及客户端IP地址。每个IP地址都与每個登录用户名一一绑定,若IP地址为0.0.0.0,则不受登陆IP限制。在投票前,管理员可修改或删除评委权限。

1.1.2 投票规则设定

首先系统管理员添加投票主题,然后选择投票模式,分为单选或者复选模式,若为复选模式,则设定每轮最大投票票数,最后,通过excel导入或者手工输入添加候选人。

1.1.3 查询打印功能

系统管理员在每轮投票过程中,可以查看到己完成投票评委的数量,未完成投票评委的数量及他们的IP。投票完成后,可以查询到每个候选人的得票数,候选人按照得票数从高到低的顺序排列,并生成柱形图和百分比,最终结果可以以excel表的形式导出。

1.2 评委功能

1.2.1 评委投票

评委需使用系统管理员赋予的账号进行登录,对候选人进行选择,同时可以看到可投票数和剩余票数,选完之后点击确认投票并提交,若需重选可以清除所有勾选。

1.2.2 查看投票状态

评委点击确认投票后,系统自动跳转到投票结果界面,评委可以看到自己所选择的候选人,点击最终提交后,投票结果上传至系统管理服务器。此轮投票结束后,系统跳转至登录界面。

2 系统架构

本系统采用B/S架构进行设计,在这种结构下,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,Web支持底层的TCP/IP协议,从而彻底解决了异构系统的连接问题。另外,B/S架构统一了客户端,简化了系统的开发、维护和使用,客户机上只要安装一个浏览器,操作相对简单。

3 数据库设计

本投票系统要求数据库服务器稳定、可靠,SQLServer2008能够满足系统的要求。新建数据库VoteManager,包含如下几个表:用户投票历史表TableVoteHistory、投票选项表TableVoteltem、投票项目表TableVoteProject、投票人表TableVoter、投票选题表TableVoteSelection、登陆账户表TableVoteAccount、FKVoteSelectionVoteltem投票选题和选项关联表、投票项目和选题关联表FK_VoteProjectVoteSelection。

4 系统部分重要功能的实

4.1 候选人导入

从excel表格中导入候选人信息,关键代码如下:

stringparh=Path.Combine(AppDomainCurrentDomain.BaseDirectory,stringFormat(”导入{O}.xlsx”,DateTime.NowToString(”yyyyMMddhhmmss”)));

4.2 评委投票

当前若管理员未发起投票,评委登陆后会被告知:当前无任何投票,若管理员己发起投票,评委可以进行投票,并可以知道自己己投票数量和未投票数量,关键代码如下:

if(count>m_maxCount)

{CheckBoxcbx=(CheckBox)sender;

cbx.Checked=false;

stringerrString=”已经超过选票数目”;

Response.Write(strlngFormat(”<script>alert(’{o}’)<script>”,errString>;}

{m_currentCount=count,

Session["CurrentCount"]=mcurrentCount;

intC-mmaxCount-mcurrentCount;

iffc

01

fthis.LabelC,urrentCount.Text=“您己无选票可用。”;)

else

this.LabelCurrentCount.Text=string.Format(”您还有剩余{0)张选票未投。”,c);}

if(this.ButtonCommit.Enabled

false)

{this.ButronCommit.Enabled=tme;)”

4.3 结果查询

管理员查询本轮投票是否完成,若己完成,可以看到所有候选人的得票数量,结果以excel方式导出,关键代码如下:

for(inti=0;i

{DataRowrow=m_Table.Rows[i];

Voteltemitem=items[i];

foreach(IGroupinghGroupingrps)

{if(item.ID

hGroup.Key)

{intc=hGroup.Count();row[”得票数”]=c.ToString();stringp=null;

if(totalCount!=01

{p=string.Format("{O:P}“,(double)c/(double)totalC,ount);)

else

{p=”O%”;}row[”所占比例”]=p;}}}

5 结语

经过一段时间的改进、调试、测试,系统已成功运用于该医院职称评选的工作中,大幅度地提高了工作效率。

相关热词搜索: 局域网 架构 投票系统

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号