CREATE proc sp_MeetingCheck_Test        
@serialno varchar(max)='',   ---- 主档serialno        
@title nvarchar(200)='',--会议主题        
@buser nvarchar(50)='' --建档人        
as        
declare @Result varchar(max)        
declare @sdate datetime        
declare @edate datetime        
declare @stime datetime        
declare @etime datetime        
declare @shour nvarchar(50)        
declare @ehour nvarchar(50)        
declare @sdate1 datetime        
declare @edate1 datetime        
declare @stime1 datetime        
declare @etime1 datetime        
declare @shour1 nvarchar(50)        
declare @ehour1 nvarchar(50)        
declare @adress nvarchar(100)        
        
--INSERT INTO A1(A1) VALUES('1')        
        
set xact_abort on        
begin transaction  --select * from A1 delete from A1        
begin        
set @Result='SUCCESS'        
        
    -----------获取当前单据相关数据------        
    select         
    @sdate=MeetingDate,        
    @edate=MeetingDate2,        
    @stime=cast(convert(varchar(50),MeetingDate,23)+' '+startDatetime as datetime),        
    @etime=cast(convert(varchar(50),MeetingDate2,23)+' '+endDatetime as datetime),        
    @shour=startDatetime,        
    @ehour=endDatetime,        
    @adress=MeetingAdress        
    from t_OA_meetingApply where serialno=@serialno        
            
    ------------对比最前已审核10张单,用游标做对比-----        
    select top 10        
    MeetingDate,isnull(MeetingDate2,MeetingDate) MeetingDate2,        
    cast(convert(varchar(50),MeetingDate,23)+' '+startDatetime as datetime) stime1,        
    cast(convert(varchar(50),isnull(MeetingDate2,MeetingDate),23)+' '+endDatetime as datetime) etime1,        
    startDatetime,endDatetime        
    into #mttmp1 from t_OA_meetingApply where MeetingAdress=@adress          
    and checked=1 order by stime1 desc        
    --------------------------------------         
    declare cur cursor for        
    select MeetingDate,MeetingDate2,stime1,etime1,startDatetime,endDatetime from #mttmp1        
    for read only          
    open cur        
    fetch cur into @sdate1,@edate1,@stime1,@etime1,@shour1,@ehour1          
    while @@fetch_status=0          
    begin          
         --set @Result='SUCCESS'        
         --@sdate1,@edate1 不带时间        
         --@stime1,@etime1 带时间        
         --@shour1,@ehour1 小时与分钟 字串 如09:30        
         if(@sdate=@edate)  --日期相同        
         begin        
              --if(@edate=@sdate1 or @edate=@edate1)        
              --begin        
                     if(@stime=@etime1 or @etime=@etime1) --相等时间        
                     begin        
                          set @Result='会议时间有重复,不能预定!'        
                     end        
                     else if((@stime>@stime1 and @stime<@etime1) and (@etime>@stime1 and @etime<@etime1)) --中间时间        
                     begin        
                          set @Result='会议时间有包含,不能预定!'        
                     end        
                     else if(@stime<@stime1 and @etime>@etime1)  --两边时间        
                     begin        
                          set @Result='会议时间有包含,不能预定!'        
                     end        
                     else if(@stime<@stime1 and @etime>@stime1)        
                     begin        
                          set @Result='会议时间有包含,不能预定!'        
                     end        
                     else if(@stime<@etime1 and @etime>@etime1)        
                     begin        
                          set @Result='会议时间有包含,不能预定!'        
                     end        
                     else if((@stime<@stime1 and @etime<@stime1) or (@stime>@etime1 and @etime>@etime1))        
                     begin        
                          set @Result='SUCCESS'        
                     end        
                     else        
                     begin        
                          set @Result='SUCCESS'        
                     end        
                             
                   if(@Result<>'SUCCESS')        
                     begin        
                           --return        
                           break        
                     end        
            --end        
         end 

预约会议sql的更多相关文章

  1. SQL存储过程-新增和修改,参数Xml数据类型

    输入参数:xml数据类型  功能:新增和修改  --value() 方法从 XML 中检索 rogue 属性值.然后将该值分配给 int 变量. --将 Member 节点拆分成多行 SELECT T ...

  2. Sql语法高级应用之五:使用存储过程实现对明细多层次统计

    前言 前面章节我们讲到了存储过程的基础用法,本章则将一个在项目中实际应用的场景. 在项目中经常会存在这样的需求,例如需要对明细列表进行按组.按级别.按人等进行统计,如果在附带列表的查询条件,又如何实现 ...

  3. 会议通js

    js逻辑: /** * Created by wanglijuan on 2016/12/2. */ $(function () { //登陆后请求数据 // $.ajax({ // url:&quo ...

  4. Google I/O 官方应用中的动效设计

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jILRvRTrc/article/details/82881743 作者:Nick Butcher, ...

  5. Odoo,快速上手Odoo,来了解Odoo几个标准模块

    odoo通过Apps和Connector扩展和集成数以万计的应用和服务,odoo目前有超过12500个Apps可选用.它囊括了项目管理,生产.财务.记账和销售管理,仓储管理,人力资源管理,等等项目.本 ...

  6. 小鱼易连 for mac如何使用?小鱼易连 mac版使用教程

    小鱼易连 for mac如何使用?小鱼易连 mac版是参加远程会议人士的首选,高效极致,简单流畅,视频流畅,语音清晰,无需专用网络的功能深受用户的喜欢,它提供的文件和电脑的共享,让你的会议更加高效.下 ...

  7. 怎样管理Exchange Server 2013资源邮箱

    1. exchange资源邮箱介绍 这次将介绍Exchange Server 2013的资源邮箱相关内容. Exchange Server 2013的资源邮箱包含两类,其一为“会议室邮箱”,另一类是“ ...

  8. 图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)

    图书管理系统数据库设计实验报告 文章目录 更新日志 1.概述 2.需求分析 2.1需要实现的功能 2.2业务流程图 2.2.1学生流程图 2.2.2管理员流程图 2.2.3超级管理员流程图 2.3功能 ...

  9. SQL 会议消费记录统计

    统计 /****** Object: Procedure [dbo].[JOB_UP_Summit_UserConfStat] Script Date: 2014-3-17 10:00:50 **** ...

随机推荐

  1. JS判断值是否是正数

    1.使用isNaN()函数 isNaN()的缺点就在于 null.空格以及空串会被按照0来处理 NaN: Not a Number /** *判断是否是数字 * **/ function isReal ...

  2. mybatis中oracle实现分页效果

    首先当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致 ...

  3. undo表空间

    undo表空间undo表空间的管理,主要包括创建.删除.修改.切换.其中需要注意的是不能在undo表空间创建数据库对象,还有就是只能是单文件或大文件表空间. 创建创建主要有两种方法,一种是在创建数据库 ...

  4. bzoj1487 [HNOI2009]无归岛

    Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛 上的任意两个生物,他们有且仅有 ...

  5. (原创)看我用各种姿势在手机和PC查看到连接到的wifi密码

    今天一个女神来我家做客,她问我WiFi密码,然而我却奇迹般的忘记了(特么的当时心里一万个草泥马踏过去),让我在她面前尴尬求子的,所以为了防止你们也出现这种情况,我特地把各种方法整理了一下,那么感兴趣的 ...

  6. Golang 在mac上用VSCode开发、Delve调试

    本文包含以下内容: 1.安装VSCode: 2.用Delve调试Go项目: 3.自定义代码片段: 1.安装VSCode 先去下载VSCode,这个链接里面也有官方文档. 安装插件: vscode-ic ...

  7. Vue 项目实战系列 (一)

    最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ...

  8. JSP动态员工登陆案例

    package web; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import j ...

  9. js获取一组不重复的随机数的方法

    一.基本思路: 建立一个数组存放所有可以取到的值,每次从该数组中随机取走一个,放到新的数组中,直到完成. 二.实现方法 1.方法一: (1)创建一个数组arr,数组元素为所有可能出现元素的集合: (2 ...

  10. iOS 伐码猿真爱—「偷懒 || 效率 工具类」

    自检 代码不会可以多敲几次,学习的重点是思想:-- 认同. BUT 如果你把自己会的.熟知的.可以说写的似流水的代码,不管是在工作 或是 自学习中你还是一点一点的敲出来,是不是有点...,copy & ...