会议室预定系统

最近完成的小系统,会议室预定系统。可预览:

 

 技术分析:
1,准备一个表,存储会议室,可以添加,编辑,启用或禁用(为控制某一会议室是否显示给用户在预定时是否可见),删除功能,可有可无,如果实现,当删除时,需要写触发器,把此预定过此会议室的记录一同删除。

2,准备两个表,存储时间记录(id,TimeName),每半个小时,如00:00,00:30,01:00直至23:30;另一个表是存储星期(id,weekName),你可以存储中文或是英文星期名称。这两个表均是为用户选择时间而准备。

3,预定你可以使用用户登录功能,登录成功之后,才可以预定,这样可以实现不同的人可以管理好自己的预定记录。

4,会议类型分为一次性,或是周期性。一次性的会议,日期需大于或等于当天。而开始时间,还需要判断,始时间须大于当前时间加上一小时。因为系统会预留半小时,不够半小时的,算够半小时。系统会作发送邮件。

5,准备一个表,存储预定记录,(id,会议室Id,WeekName,预定日期,开始,结束,...)上面使用中文,只是为了更好作解释。存储预定记录时,如果是周期性的,预定日期字段是为空的。另外,如果是存储一次性,预定日期字段不能为空,或是weekName要把预定日期转换算出是星期几填充WeekName字段,这样我们为下面判断时间是否有冲突,就方便多了。

5,判断预定时间是否有冲突,同一会议室,不管是一次性,还是周期性,时间不能重叠。

ExpandedBlockStart.gif View Code
IF   EXISTS  ( SELECT   TOP   1   1   FROM  [ xxx]   WHERE   [ MRId ]   =   @MRId   AND   [ WeekName ]   =   @W   AND   @StartTime   <   [ EndTime ]   AND   @EndTime   >   [ StartTime ] )
BEGIN
    
RAISERROR (N ' 不能预定此会议室,会议时间发生重叠。 ' , 16 , 1 )
    
RETURN
END

 

 6,预定成功,给预定人和会议联系人发送会议室预定成功的邮件。

7,写一个进程,30秒判断一次,当前的时间,分钟部分是否为00或是30,如果是的话,把当前这个时间加半小时,去判断预定开始时间是否相同,如果相同,发送邮件。

ExpandedBlockStart.gif View Code
  int  currentHour  =  e.SignalTime.Hour;
            
int  currentMinute  =  e.SignalTime.Minute;

            
if  (currentMinute  ==   0   ||  currentMinute  ==   30 )
            {
                
try
                {
                    AutomationEntity objAutomationEntity 
=   new  AutomationEntity();
                    objAutomationEntity.MeetingNotify(currentHour, currentMinute);
                }
                
catch  (Exception ex)
                {
                    
throw   new  Exception(ex.Message);
                }
            }

 

上面有一个方法MeetingNotify(xxx,xxx):

ExpandedBlockStart.gif View Code
  public   void  MeetingNotify( int  currentHour,  int  currentMinute)
        {
            
int  cHour  =   0 ;
            
int  cMinute  =   0 ;

            
if  (currentMinute  ==   0 )
            {
                cHour 
=  currentHour;
                cMinute 
=   30 ;
            }

            
if  (currentMinute  ==   30 )
            {
                cHour 
=  currentHour  +   1 ;
                cMinute 
=   0 ;
            }     

            
// 传入数据库
        }

 

8,最后一个需要说的,就是会议参与人的字段,在发送邮件时,需要在SQL做split。sql没有此函数,但你可以在网上找到很多相关的方法。

 

另外,提供一下前端页面显示:

 

今天的预定:

SELECT  ...
FROM   [ dbo ] . [ xxx ]
WHERE   [ MRId ]   <>   1   AND  ( [ WeekName ]   =   DATENAME (w, CURRENT_TIMESTAMP OR   [ BookingDate ]   =   CAST ( CURRENT_TIMESTAMP   AS  DATE))


明天的预定:

DECLARE   @tomorrow  DATE  =   DATEADD ( day , 1 , CURRENT_TIMESTAMP )

SELECT  ...
FROM   [ dbo ] . [ xxx ]
WHERE   [ MRId ]   <>   1   AND  ( [ WeekName ]   =   DATENAME (w, @tomorrow OR   [ BookingDate ]   =   @tomorrow )

 

本周的预定,本月和所有的预定存储过程略。

取消或是过期:

首先要写一个预定记录Status的函数:

DECLARE   @BookingDateTime   DATETIME   =   ' 预定日期 '   +   ' 开始时间 '
    
    
IF  ( @IsEnable   =   0 )
        
SET   @ReturnValue   =   1   -- 取消
    
    
IF  ( ' 一次性 '   AND  ( @BookingDateTime   <   CURRENT_TIMESTAMP ))
        
SET   @ReturnValue   =   2   -- 过期
        
    
IF      ( @IsEnable   =   0   AND   ' 一次性 '   AND @BookingDateTime   <   CURRENT_TIMESTAMP ))
        
SET   @ReturnValue   =   3   -- 取消与过期

  

SELECT  ...
FROM   [ dbo ] . [ xxx ]
WHERE   [ MRId ]   <>   1    AND   [ Status ]   <>   0

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统功能: 为降低使用会议室所需的人力成本、提高召开会议的效率、提供系统化的会议过程管理,特研发了这套“会议室预约管理系统”。该系统简化了会议室管理,灵活调度手段可以及时进行会议室预定,并且可以邮件或短信通知与会者确认。所有用户无需安装和配置,因为系统就是基于B/S架构,直接通过浏览器使用。 功能特点: 可对操作员进行增加、删除、修改操作,可以灵活设定操作员的管理权限。 可自定义会议室名称,并进行增加、删除和修改操作。可以设定会议室的使用时段。可以设定会议室的使用权限,让只有拥有权限的用户才可以预定这个会议室的会议。 可对企业的工作部门进行增加、删除和修改操作,企业内部各部门按树状列表显示。 可对企业员工进行增加、删除、修改操作。可以直接创建企业员工的系统账户。可以查询企业内所有员工的联系信息。 操作员可以创建、撤销、恢复会议预定系统管理员可以操作所有会议记录。 可以在日历上拖放创建会议,可以创建周循环会议和月循环会议。 可以查询会议室预定信息、并以日历的方式直观展示出来。 可以汇总本周或本月内,关于个人用户参加的会议和预定记录。 系统支持通过E-mail、手机短信等方式,对参会人员进行会议信息通知及提醒的功能。 可以统计会议室的无效会议占用,会议的召开效率、会议室的使用率等。
Python会议室预定系统是一款基于Python开发的应用程序,旨在简化和优化会议室预订流程。该系统具有以下特点和功能。 首先,Python会议室预定系统提供了一个用户友好的界面,使用户能够轻松快捷地浏览和预订可用的会议室。用户可以选择预定的日期、时间和会议室规模,并通过系统的搜索功能找到符合条件的会议室系统会实时显示会议室的可用性,确保用户能够选择适合他们需求的会议室。 其次,该系统还提供了预定管理功能。预定管理界面允许管理员查看和管理所有预定。管理员可以审核预定申请、批准或拒绝预定,并根据需要对预定进行调整。同时,系统还提供通知功能,管理员可以通过系统预定人发送确认或拒绝预定的通知。 此外,该系统还具有一些额外的功能,以增强用户体验。例如,用户可以将预定添加到他们的个人日历中,方便提醒与管理。系统还可以提供会议室的详细信息,如设备设施、容纳人数等,以帮助用户做出更准确的预定选择。 最后,Python会议室预定系统还具有数据分析功能。系统可以收集和分析预定数据,提供报告和图表,使管理员能够了解会议室的使用情况和趋势,从而做出决策和改进。 总结来说,Python会议室预定系统是一款方便、高效和功能强大的应用程序,旨在提供优质的会议室预订体验,并帮助提高会议室使用效率。它的用户友好界面、预定管理功能、个人日历集成、数据分析等特点,使其成为一个理想的会议室预定解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值