`
lancijk
  • 浏览: 388528 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自动发牌(内部)

阅读更多

1

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go




 
ALTER  procedure [dbo].[PR_XZFW_ZiDongFaPai] --自动发预警和红黄牌
     @alarmyujing int, --预警提前天数
	 @alarmyellow int, --超期多少天发黄牌
	 @alarmred int --超期多少天发红牌
as
  declare @isweekday int --是否是工作日,1-工作日,0-休息日
  declare @nextIsweekday int --下一天是否是休息日 1-工作日,0-休息日
  declare @nextholidays int --接下来的几天是休息日的
  create table #tmp_fapaiList (
          YXTYWLSH varchar(100), --原业务流水号
          hzbh varchar(100), --回执编号
          HJDM varchar(10), --环节代码 
          SLSJ datetime,   --受理时间
          YBJSJ datetime,   --应办结时间
          GDBLSX int, --规定办理时限
          GDBLSXDW char(1), --规定办理时限单位
          SQDWHSQRXM varchar(100), --申请单位或申请人名称
          SLJGZZJGDM varchar(20), --受理机关组织机构代码
          SLJGMC varchar(50) --受理机关名称
  )
  declare @YXTYWLSH varchar(100)
  declare @hzbh varchar(100)
  declare @HJDM varchar(10)
  declare @SLSJ datetime
  declare @YBJSJ datetime
  declare @GDBLSX int
  declare @GDBLSXDW char(1)
  declare @SQDWHSQRXM varchar(100)
  declare @SLJGZZJGDM varchar(20)
  declare @SLJGMC varchar(50)  
  declare @primarykey varchar(20) 
  declare @intbcx int
  declare lsh_cur cursor for select * from #tmp_fapaiList

begin 
  --计算是否为节假日
  set @isweekday = 1
  set @nextholidays = 0
  if ((datepart(dw,getdate())=7) or (datepart(dw,getdate())=1)) --周六、周日
     set @isweekday = (select case when count(1)>0 then 1 else 0 end from Sys_Holiday where workflag='W' and datediff(dy,getdate(),today)=0)
  else
     set @isweekday = (select case when count(1)>0 then 0 else 1 end from Sys_Holiday where workflag='H' and datediff(dy,getdate(),today)=0)
     
  if( @isweekday = 1) --如果是工作日,则发牌,并判断明天是否是休息日,是则发明天的牌,以此类推
  begin
     
     --发预警      
     delete from #tmp_fapaiList
     insert into #tmp_fapaiList(YXTYWLSH, hzbh, SLSJ, YBJSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC)
     select YXTYWLSH, hzbh, SLSJ, YBJSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC from ZW_ShouLi
     where not exists (select 1 from ZW_BanJie where ZW_BanJie.YXTYWLSH=ZW_ShouLi.YXTYWLSH)
        and not exists (select 1 from ZWJC_YuJing where ZWJC_YuJing.YXTYWLSH=ZW_ShouLi.YXTYWLSH and YJLX='1')
        and convert(varchar(20), dbo.add_workdate(getdate(),@alarmyujing), 120) >=  convert(varchar(20), YBJSJ, 120)
     
     update #tmp_fapaiList set HJDM = '0005'
     update #tmp_fapaiList set HJDM = (select max(b.STEPCODE) from zw_workflow_StepStatus a,zw_workflow_stepdesc b where a.YXTYWLSH=#tmp_fapaiList.YXTYWLSH 
               and a.BLSTATUS='0' and a.WORKFLOWID=b.WORKFLOWID and a.STEPDESCID=b.STEPDESCID)
        where exists (select 1 from zw_workflow_StepStatus a,zw_workflow_stepdesc b where a.YXTYWLSH=#tmp_fapaiList.YXTYWLSH 
               and a.BLSTATUS='0' and a.WORKFLOWID=b.WORKFLOWID and a.STEPDESCID=b.STEPDESCID)
     open lsh_cur
     fetch next from lsh_cur into @YXTYWLSH,@hzbh,@HJDM,@SLSJ,@YBJSJ,@GDBLSX,@GDBLSXDW,@SQDWHSQRXM,@SLJGZZJGDM,@SLJGMC
     while @@fetch_status=0
     begin
      set @intbcx = (select count(1) from xzfw_wh.dbo.xzfw_shouli where shoulioid=@YXTYWLSH and (statusid=10 or bzstatus=1)) 
       if(@intbcx=0) begin
         exec PR_XZFW_getPrimaryKey @primarykey output
         insert into ZWJC_YuJing(OID, YXTYWLSH, HZBH, YJHJDM, YJYJ, YJSJ,
               YJLX, SLSJ, YBSJ, GDBLSX,  GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC, BZ) 
         values (@primarykey, @YXTYWLSH, @hzbh, @HJDM,'即将超时', getdate(),
               '1', @SLSJ, @YBJSJ, @GDBLSX, @GDBLSXDW, @SQDWHSQRXM, @SLJGZZJGDM, @SLJGMC, '')
		 end
         fetch next from lsh_cur into @YXTYWLSH,@hzbh,@HJDM,@SLSJ,@YBJSJ,@GDBLSX,@GDBLSXDW,@SQDWHSQRXM,@SLJGZZJGDM,@SLJGMC
       
     end
     close lsh_cur
     --deallocate lsh_cur
     --发黄牌   
     delete from #tmp_fapaiList 
     insert into #tmp_fapaiList(YXTYWLSH, hzbh, SLSJ, YBJSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC)
     select YXTYWLSH, hzbh, SLSJ, YBJSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC from ZW_ShouLi
     where not exists (select 1 from ZW_BanJie where ZW_BanJie.YXTYWLSH=ZW_ShouLi.YXTYWLSH)
        and not exists (select 1 from ZWJC_RedYellow where ZWJC_RedYellow.YXTYWLSH=ZW_ShouLi.YXTYWLSH and FPLX='1' and PLX='1')
        and   getdate()>  YBJSJ
        and getdate()< dbo.add_workdate(YBJSJ,1)
  
     
     update #tmp_fapaiList set HJDM = '0005'
     update #tmp_fapaiList set HJDM = (select max(b.STEPCODE) from zw_workflow_StepStatus a,zw_workflow_stepdesc b where a.YXTYWLSH=#tmp_fapaiList.YXTYWLSH 
               and a.BLSTATUS='0' and a.WORKFLOWID=b.WORKFLOWID and a.STEPDESCID=b.STEPDESCID)
        where exists (select 1 from zw_workflow_StepStatus a,zw_workflow_stepdesc b where a.YXTYWLSH=#tmp_fapaiList.YXTYWLSH 
               and a.BLSTATUS='0' and a.WORKFLOWID=b.WORKFLOWID and a.STEPDESCID=b.STEPDESCID)
     open lsh_cur
     fetch next from lsh_cur into @YXTYWLSH,@hzbh,@HJDM,@SLSJ,@YBJSJ,@GDBLSX,@GDBLSXDW,@SQDWHSQRXM,@SLJGZZJGDM,@SLJGMC
     while @@fetch_status=0
     begin
     set @intbcx = (select count(1) from xzfw_wh.dbo.xzfw_shouli where shoulioid=@YXTYWLSH and (statusid=10 or bzstatus=1)) 
       if(@intbcx=0) begin
         exec PR_XZFW_getPrimaryKey @primarykey output
         insert into ZWJC_RedYellow(OID, YXTYWLSH, HZBH, FPHJDM, FPSJ,FPLX,PLX,
                FPYY, SLSJ, YBSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC, BZ) 
         values (@primarykey, @YXTYWLSH, @hzbh, @HJDM, getdate(),'1','1',
                '超时未办结', @SLSJ, @YBJSJ, @GDBLSX, @GDBLSXDW, @SQDWHSQRXM, @SLJGZZJGDM, @SLJGMC, '')
		end
         fetch next from lsh_cur into @YXTYWLSH,@hzbh,@HJDM,@SLSJ,@YBJSJ,@GDBLSX,@GDBLSXDW,@SQDWHSQRXM,@SLJGZZJGDM,@SLJGMC
      
     end
     close lsh_cur
     --deallocate lsh_cur
     --发红牌   
     delete from #tmp_fapaiList 
     insert into #tmp_fapaiList(YXTYWLSH, hzbh, SLSJ, YBJSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC)
     select YXTYWLSH, hzbh, SLSJ, YBJSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC from ZW_ShouLi
     where not exists (select 1 from ZW_BanJie where ZW_BanJie.YXTYWLSH=ZW_ShouLi.YXTYWLSH)
        and not exists (select 1 from ZWJC_RedYellow where ZWJC_RedYellow.YXTYWLSH=ZW_ShouLi.YXTYWLSH and FPLX='1' and PLX='2')
        and  getdate()>=  dbo.add_workdate(YBJSJ,1)
   
     update #tmp_fapaiList set HJDM = '0005'
     update #tmp_fapaiList set HJDM = (select max(b.STEPCODE) from zw_workflow_StepStatus a,zw_workflow_stepdesc b where a.YXTYWLSH=#tmp_fapaiList.YXTYWLSH 
               and a.BLSTATUS='0' and a.WORKFLOWID=b.WORKFLOWID and a.STEPDESCID=b.STEPDESCID)
        where exists (select 1 from zw_workflow_StepStatus a,zw_workflow_stepdesc b where a.YXTYWLSH=#tmp_fapaiList.YXTYWLSH 
               and a.BLSTATUS='0' and a.WORKFLOWID=b.WORKFLOWID and a.STEPDESCID=b.STEPDESCID)
     open lsh_cur
     fetch next from lsh_cur into @YXTYWLSH,@hzbh,@HJDM,@SLSJ,@YBJSJ,@GDBLSX,@GDBLSXDW,@SQDWHSQRXM,@SLJGZZJGDM,@SLJGMC
     while @@fetch_status=0
     begin
	   set @intbcx = (select count(1) from xzfw_wh.dbo.xzfw_shouli where shoulioid=@YXTYWLSH and (statusid=10 or bzstatus=1)) 
       if(@intbcx=0) begin
         exec PR_XZFW_getPrimaryKey @primarykey output
         insert into ZWJC_RedYellow(OID, YXTYWLSH, HZBH, FPHJDM, FPSJ,FPLX,PLX,
                FPYY, SLSJ, YBSJ, GDBLSX, GDBLSXDW, SQDWHSQRXM, SLJGZZJGDM, SLJGMC, BZ) 
         values (@primarykey, @YXTYWLSH, @hzbh, @HJDM, getdate(),'1','2',
                '超时大于一天未办结', @SLSJ, @YBJSJ, @GDBLSX, @GDBLSXDW, @SQDWHSQRXM, @SLJGZZJGDM, @SLJGMC, '')
	   end
        --delete from ZWJC_RedYellow where YXTYWLSH=@YXTYWLSH and FPLX='1' and PLX='1' 
      fetch next from lsh_cur into @YXTYWLSH,@hzbh,@HJDM,@SLSJ,@YBJSJ,@GDBLSX,@GDBLSXDW,@SQDWHSQRXM,@SLJGZZJGDM,@SLJGMC
     end
     close lsh_cur
     deallocate lsh_cur
   end
end

 

分享到:
评论

相关推荐

    自动发货工具

    【自动发货工具】是一种专为淘宝卖家设计的实用软件,主要目标是简化...其内部组件包括核心程序、更新机制、用户界面、配置选项、更新日志、使用指南、注意事项和数据库等,这些都构成了一个完整的自动发货解决方案。

    车牌自动识别停车场管理系统.pdf

    对于内部停车场,系统还可以与管理中心的车辆信息数据库对接,只有预先登记的车辆才能被自动放行,进一步增强了安全性。 总的来说,车牌自动识别停车场管理系统通过车牌识别技术,解决了传统停车场存在的诸多问题,...

    自动麻将机工作原理文.pdf

    自动麻将机的工作原理主要依赖于磁性和精密的机械结构,结合现代电子技术,实现麻将牌的自动洗牌、发牌以及整理。以下是其详细的工作流程: 1. **磁性麻将牌**:麻将牌的背面贴有磁性材料,通常为磁铁或含有磁性的...

    纸牌程序,只有源代码,没有文档

    用户可以期待类似的游戏体验,例如拖放操作、自动移牌、重新洗牌等功能。 标签“用C++编写”表明这个纸牌程序是使用C++编程语言编写的。C++是一种中级语言,结合了过程化编程和面向对象编程的特点,以其高效性和...

    中科商务网自动发信息软件

    【中科商务网自动发信息软件】是一款专为商务人士设计的自动化信息发布工具,旨在提高工作效率,简化B2B(Business to Business)平台的信息发布过程。该软件的核心特点是其内置的可视化HTML编辑器,使得即便是对...

    最新版企业多商户自动发卡源码带WAP手机端和模板中心

    开发者可以通过源码了解系统内部的工作原理,进行二次开发或定制,而截图则可以帮助用户在实际部署前有一个直观的认识。 总结起来,"最新版企业多商户自动发卡源码带WAP手机端和模板中心"是一个全面的解决方案,它...

    信号光字牌在变电站综合自动化系统中的集成与应用.pdf

    变电站综合自动化系统是电力系统中至关重要的组成部分,它通过集成先进的自动控制技术、信息处理技术和通讯技术,实现对变电站内部各种电气设备的有效监控与管理。在变电站综合自动化系统中,如何有效地集成和应用...

    蜘蛛纸牌源码

    在源码中,可以学习到如何创建牌堆、发牌、移动牌以及判断游戏状态等核心功能的实现。 "源码"意味着我们可以看到程序的内部结构,包括变量定义、函数实现、控制流程等。这对于学习者来说是一份宝贵的教育资源,可以...

    电子政务-全自动麻将机的控制电路板安装结构.zip

    1. **全自动麻将机的控制电路板**:这是麻将机的核心部件,负责接收、处理和输出指令,实现麻将的自动洗牌、发牌等功能。控制电路板通常由微处理器、存储器、输入/输出接口等组成,通过编程实现各种操作逻辑。 2. *...

    java面向对象课程设计 纸牌

    在纸牌游戏中,尽管所有牌都属于`Card`类,但它们可能有不同的行为,比如洗牌、发牌等,这可以通过重写父类方法实现。 5. **集合与泛型**: - Java中的ArrayList或LinkedList可以用来存储和管理牌组,而HashSet...

    电子-全天候电子发光机动车警示牌

    传感器可以感知环境条件如光线强度,以便自动调节亮度;LED显示屏则具有高亮度、低能耗、长寿命等优点,能够在不同环境下确保清晰可见。 二、全天候适应性 全天候特性意味着警示牌能在各种气候条件下正常工作,包括...

    24点游戏程序

    - **随机发牌**:通过随机函数生成数字,控制纸牌显示,确保每次运行程序时发牌结果不同。 - **计时器**:通过定时器实现计时功能,使用进度条展示剩余时间。 - **难度设置**:不同的难度模式对应不同的ID,便于...

    篮球机械设备自动化控制技术研究.pdf

    首先,篮球机械设备自动化控制技术研究涉及到篮球比赛中不可或缺的辅助设备,如计时计分器、屏幕显示器、24秒计时牌、字幕机、转播车和记录台设备等。这些设备构成的系统为篮球赛事的组织和管理水平提供了有效的技术...

    2021年中国工控自动化行业概览.pdf

    它的起点可以追溯到1935年以前,最初应用于调整风车磨盘间隙,然后发展到船舶上的伺服系统前身发动力辅助器。随着进入“电气时代”,继电器和闭环分析相继诞生,这时候的工控自动化偏向于定性分析,系统可靠性和安全...

    2021-2025年中国轨道交通自动化行业调研及防御型战略咨询报告.pdf

    4. 竞争格局分析:详细探讨了行业内部的竞争格局和市场化程度,以及铁路供电综合自动化系统、铁路供电调度自动化系统、城市轨道交通综合监控系统等领域的市场竞争情况。 5. 企业分析:报告选取了凯发电气作为案例,...

    广告牌的单片机设计报告

    5) 能根据环境光线自动调整亮度。 4. 方案实现 4.1 系统硬件电路的设计 硬件部分包括单片机、LED驱动电路、电源模块、控制按键和可能的无线通信模块。单片机负责处理指令,LED驱动电路则用于控制LED的亮灭,电源...

    发光二极管有哪些特点和种类

    当有足够的正向电流通过发光二极管内部的PN结时,便会产生不同颜色的可见光或红外光。这一特性使得发光二极管广泛应用于指示灯、显示屏、照明等领域。 发光二极管除了基本的发光功能外,还具有以下显著优点: 1. **...

    我空调自动释放负离子功能的应用和解释PPT学习教案.pptx

    - **实现方式**:空调内部的送风部件(如挂壁式空调的贯流风扇,立式空调的离心风扇等)和出风口组件(如接水盘、扫风叶片等)中添加了一种特殊的塑料母粒,其中包含了能释放负离子的无机添加剂。这些添加剂通过...

    单比例发泡机说明书

    本说明书详细介绍了XL-PSD全自动间歇式加压定量预发机,该机器由河北雪龙机械制造有限公司设计制造,适用于可发性聚苯乙烯(EPS)泡沫塑料制品的预发泡过程。预发泡机结合了定量加压预发、流化干燥、筛选、破碎和...

Global site tag (gtag.js) - Google Analytics