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. 【转】JDBC学习笔记(3)——复习和练习

    转自:http://www.cnblogs.com/ysw-go/ 复习部分 一.获取数据库连接 1)方式一 1 // 获取数据库连接 2 @Test 3 public void testGetCon ...

  2. oracle 的 SDO_GEOMETRY

    元数据定义 CREATE OR REPLACE TYPE MDSYS.SDO_GEOMETRY AS OBJECT ( SDO_GTYPE NUMBER, SDO_SRID NUMBER, SDO_P ...

  3. rsync远程同步

    一.概念 Rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持连接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用.rsy ...

  4. MySQL之改_update

    MySQL增删改查之改_update UPDATE语句 进行数据记录的更新. 1.更新单个表中的值 语法: UPDATE [IGNORE] table_reference SET col_name1= ...

  5. linux系统中.bashrc的妙用

    一.有何作用 .bashrc - The individual per-interactive-shell startup file. .bashrc - 主要保存个人的个性化设置,如命令别名.路径等 ...

  6. mui开发app之html5+,5+Runtime,5+sdk,native.js

    说说几个名词 html5:目前最新的html规范,w3c联盟制定,手机端主要由webkit实现规范,对用户来说就是浏览器实现了它 html5+:所谓"+",扩充了html5原本没有 ...

  7. hdu1151有向图的最小顶点覆盖

    有向图的最小路径覆盖=V-二分图最大匹配. Consider a town where all the streets are one-way and each street leads from o ...

  8. 详解Java动态代理机制(二)----cglib实现动态代理

    上篇文章的结尾我们介绍了普通的jdk实现动态代理的主要不足在于:它只能代理实现了接口的类,如果一个类没有继承于任何的接口,那么就不能代理该类,原因是我们动态生成的所有代理类都必须继承Proxy这个类, ...

  9. Python错误集

    1-->IndentationError:expected an indented block   >IndentationError: unindent does not match a ...

  10. zen coding一个牛的不行的html和css开发工具

    zen coding 是一种仿css选择器的语法来快速开发html和css的开源项目.现已更名为Emmet.可以到github上下载拜读.在这个都想偷懒的世界里,此方法可以极大的缩短开发人员的开发时间 ...