预约会议sql
@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的更多相关文章
- SQL存储过程-新增和修改,参数Xml数据类型
输入参数:xml数据类型 功能:新增和修改 --value() 方法从 XML 中检索 rogue 属性值.然后将该值分配给 int 变量. --将 Member 节点拆分成多行 SELECT T ...
- Sql语法高级应用之五:使用存储过程实现对明细多层次统计
前言 前面章节我们讲到了存储过程的基础用法,本章则将一个在项目中实际应用的场景. 在项目中经常会存在这样的需求,例如需要对明细列表进行按组.按级别.按人等进行统计,如果在附带列表的查询条件,又如何实现 ...
- 会议通js
js逻辑: /** * Created by wanglijuan on 2016/12/2. */ $(function () { //登陆后请求数据 // $.ajax({ // url:&quo ...
- Google I/O 官方应用中的动效设计
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jILRvRTrc/article/details/82881743 作者:Nick Butcher, ...
- Odoo,快速上手Odoo,来了解Odoo几个标准模块
odoo通过Apps和Connector扩展和集成数以万计的应用和服务,odoo目前有超过12500个Apps可选用.它囊括了项目管理,生产.财务.记账和销售管理,仓储管理,人力资源管理,等等项目.本 ...
- 小鱼易连 for mac如何使用?小鱼易连 mac版使用教程
小鱼易连 for mac如何使用?小鱼易连 mac版是参加远程会议人士的首选,高效极致,简单流畅,视频流畅,语音清晰,无需专用网络的功能深受用户的喜欢,它提供的文件和电脑的共享,让你的会议更加高效.下 ...
- 怎样管理Exchange Server 2013资源邮箱
1. exchange资源邮箱介绍 这次将介绍Exchange Server 2013的资源邮箱相关内容. Exchange Server 2013的资源邮箱包含两类,其一为“会议室邮箱”,另一类是“ ...
- 图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)
图书管理系统数据库设计实验报告 文章目录 更新日志 1.概述 2.需求分析 2.1需要实现的功能 2.2业务流程图 2.2.1学生流程图 2.2.2管理员流程图 2.2.3超级管理员流程图 2.3功能 ...
- SQL 会议消费记录统计
统计 /****** Object: Procedure [dbo].[JOB_UP_Summit_UserConfStat] Script Date: 2014-3-17 10:00:50 **** ...
随机推荐
- Spring Boot启动过程(七):Connector初始化
Connector实例的创建已经在Spring Boot启动过程(四):Spring Boot内嵌Tomcat启动中提到了: Connector是LifecycleMBeanBase的子类,先是设置L ...
- 三、Dotnet Core Code First 创建数据库
1.在项目中创建Models文件夹2.在Models文件夹中建立 表的属性类:如 User类.3.在Models文件夹创建DataContext 继承DbContext类(可以选择重写OnModelC ...
- 【源码分析】cJSON库学习
cJSON库是什么? cJSON是一个轻量级的json解析库.使用起来非常简单,整个库非常地简洁,核心功能的实现都在cJSON.c文件,非常适合阅读源代码来学习C语言.最近读完这个库的源码,分享自己收 ...
- [ext4]03 磁盘布局 – Flexible group分析
Flexible Block Groups (flex_bg),我称之为"弹性块组",是EXT4文件系统引入的一个feature. 所谓Flexible Block Groups, ...
- 我拖拖拖--H5拖放API基础篇
不要搞错,本文不是讲如何拖地的.看过<javascript精粹>朋友应该知道,他实现拖放的过程比较复杂,现在时代不同了,我们用H5的新的拖放API就能非常方便的实现拖放效果了.最近在园子见 ...
- linux网络设置和虚拟机克隆转移之后Error:No suitable device found:no device found for connection 'System eth0'问题解决
以root用户登录 #vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑配置文件,添加修改以下内容 BOOTPROTO=static #启用 ...
- 【教程】发布NAServer到ArcGIS Server 10.4上[超详细]
前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(C ...
- jenkins 用户名密码忘记
进入c盘--用户 在本地用户的目录下找到.jenkins目录,里面有一个config.xml; 打开后,删除其中的 " <useSecurity>true</useSecu ...
- 【Android Widget】FragmentTabHost
android.support.v4包里面提供了FragmentTabHost用来替代TabHost,FragmentTabHost内容页面支持Fragment,下面我们就通过示例来看他的用法 效果图 ...
- 智能指针剖析(上)std::auto_ptr与boost::scoped_ptr
1. 引入 C++语言中的动态内存分配没有自动回收机制,动态开辟的空间需要用户自己来维护,在出函数作用域或者程序正常退出前必须释放掉. 即程序员每次 new 出来的内存都要手动 delete,否则会造 ...