--开启存储过程执行api接口配置 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures', 1; GO RECONFIGURE; GO EXEC sp_configure 'Ole Automation Procedures'; GO INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('D1BB76A7-B273-4636-B414-49B93231780D','施工绩效管理','',180,'0','Menu_CQMS',0,0,1) GO --增加施工绩效 INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('B96FEF05-CA28-4450-ACE6-9FA654CE7F6D','施工绩效','CQMS/Performance/Performance.aspx',10, 'D1BB76A7-B273-4636-B414-49B93231780D','Menu_CQMS',0,1,1) GO --增加施工绩效打分 INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('888962E7-EF4E-43C7-B835-BAE0249DCA3F','施工绩效审批打分','CQMS/Performance/PerformanceAudit.aspx',15, 'D1BB76A7-B273-4636-B414-49B93231780D','Menu_CQMS',0,1,1) GO --增加施工绩效设置 INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('753BED05-3B04-43F3-9D97-1534C581A49F','施工绩效设置','CQMS/Performance/PerformanceConfig.aspx',20, 'D1BB76A7-B273-4636-B414-49B93231780D','Menu_CQMS',0,1,1) GO INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('FFB401C2-C071-42EF-A50C-5CA2AD62ED55','B96FEF05-CA28-4450-ACE6-9FA654CE7F6D','增加',1) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('34A474D7-AD30-4B31-958C-7CDCBEA23FDE','B96FEF05-CA28-4450-ACE6-9FA654CE7F6D','修改',2) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('C9768A14-0032-460D-9721-D1C37AE3C30C','B96FEF05-CA28-4450-ACE6-9FA654CE7F6D','删除',3) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('FED18627-41AD-4D98-9E0A-8C68871D641E','B96FEF05-CA28-4450-ACE6-9FA654CE7F6D','保存',4) GO CREATE TABLE [dbo].[CQMS_Performance]( [PerformanceGid] [nvarchar](50) NOT NULL, [HeadUserid] [nvarchar](50) NULL, [ProOutputValue] [decimal](18, 2) NULL, [SubUserids] [nvarchar](2000) NULL, [SubpackageUserids] [nvarchar](2000) NULL, [TotalScore] [decimal](18, 2) NULL, [ProjectId] [nvarchar](50) NULL, [CreateDate] [datetime] NULL, [CreateMan] [nvarchar](50) NULL, [CreateDateMonth] [nvarchar](50) NULL, [States] [nvarchar](50) NULL, CONSTRAINT [PK_CQMS_Performance] PRIMARY KEY CLUSTERED ( [PerformanceGid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'PerformanceGid' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'五环负责人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'HeadUserid' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'专业产值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'ProOutputValue' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分包商负责人(多选)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'SubUserids' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分包工程师(多选)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'SubpackageUserids' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总计得分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'TotalScore' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年月' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'CreateDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'填写人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance', @level2type=N'COLUMN',@level2name=N'CreateMan' GO CREATE TABLE [dbo].[CQMS_Performance_Child1]( [Performance_ChildGid1] [nvarchar](50) NOT NULL, [PerformanceGid] [nvarchar](50) NULL, [PType] [nvarchar](50) NULL, [EvaScore] [decimal](18, 2) NULL, [Itemize] [nvarchar](50) NULL, [WorkArea] [nvarchar](50) NULL, [MonthTarget] [nvarchar](500) NULL, [SortIndex] [int] NULL, [CreateMan] [nvarchar](50) NULL, CONSTRAINT [PK_CQMS_Performance_Child1] PRIMARY KEY CLUSTERED ( [Performance_ChildGid1] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主表主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'PerformanceGid' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'PType' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'评价得分 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'EvaScore' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分项 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'Itemize' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'施工区域 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'WorkArea' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月节点目标 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'MonthTarget' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排序序号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child1', @level2type=N'COLUMN',@level2name=N'SortIndex' GO CREATE TABLE [dbo].[CQMS_Performance_Child2]( [Performance_ChildGid2] [nvarchar](50) NOT NULL, [Performance_ChildGid1] [nvarchar](50) NULL, [PerformanceGid] [nvarchar](50) NULL, [TaskContent] [nvarchar](500) NULL, [ProjectQuantity] [nvarchar](500) NULL, [DemandPlan] [nvarchar](500) NULL, [TaskCompletContent] [nvarchar](500) NULL, [NowWeek] [int] NULL, [SortIndex] [int] NULL, [CreateMan] [nvarchar](50) NULL, CONSTRAINT [PK_CQMS_Performance_Child2] PRIMARY KEY CLUSTERED ( [Performance_ChildGid2] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'子表1主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child2', @level2type=N'COLUMN',@level2name=N'Performance_ChildGid1' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'任务安排' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child2', @level2type=N'COLUMN',@level2name=N'TaskContent' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工程量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child2', @level2type=N'COLUMN',@level2name=N'ProjectQuantity' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'人材机资源需求计划' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child2', @level2type=N'COLUMN',@level2name=N'DemandPlan' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'本周工作任务完成情况' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child2', @level2type=N'COLUMN',@level2name=N'TaskCompletContent' GO CREATE TABLE [dbo].[CQMS_Performance_Child3]( [Performance_ChildGid3] [nvarchar](50) NOT NULL, [Performance_ChildGid2] [nvarchar](50) NULL, [PerformanceGid] [nvarchar](50) NULL, [WorkPlan] [nvarchar](500) NULL, [CompletStatus] [nvarchar](500) NULL, [CurrentDate] [datetime] NULL, [CreateMan] [nvarchar](50) NULL, [ProjectId] [nvarchar](50) NULL, CONSTRAINT [PK_CQMS_Performance_Child3] PRIMARY KEY CLUSTERED ( [Performance_ChildGid3] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'子表2主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child3', @level2type=N'COLUMN',@level2name=N'Performance_ChildGid2' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_Child3', @level2type=N'COLUMN',@level2name=N'CurrentDate' GO CREATE TABLE [dbo].[CQMS_Performance_SetUp]( [PerformanceSteUpGid] [nvarchar](50) NOT NULL, [SetUpMonth] [nvarchar](50) NULL, [SetUpStartDate] [nvarchar](50) NULL, [SetUpEndDate] [nvarchar](50) NULL, [SetUpWeek] [int] NULL, [CreateDate] [datetime] NULL, [CreateYear] [nvarchar](50) NULL, [SortIndex] [int] NULL, CONSTRAINT [PK_CQMS_Performance_SetUp] PRIMARY KEY CLUSTERED ( [PerformanceSteUpGid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前年月' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_SetUp', @level2type=N'COLUMN',@level2name=N'SetUpMonth' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'开始区间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_SetUp', @level2type=N'COLUMN',@level2name=N'SetUpStartDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'结束区间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_SetUp', @level2type=N'COLUMN',@level2name=N'SetUpEndDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'周数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CQMS_Performance_SetUp', @level2type=N'COLUMN',@level2name=N'SetUpWeek' GO --添加推送api接口存储过程 Create PROCEDURE [dbo].[Proc_CallWebApi] -- Add the parameters for the stored procedure here @userId NVARCHAR(2000),--需要发送订阅者的userid(逗号分隔) @thing2 nvarchar(2000),--发送的消息内容 @name1 nvarchar(50),--发起人 @date3 datetime,--发送的日期 @ResponseText NVARCHAR(4000) OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @data varchar(8000); DECLARE @ApiUrl VARCHAR(200); DECLARE @RequestType VARCHAR(5);--请求类型:POST,GET DECLARE @date2 varchar(100); set @date2 = CONVERT(varchar(100), @date3, 0) --API地址 set @ApiUrl='http://192.168.1.105/api/Common/getSubscribeMessage?userId='+@userId+'&thing2='+ @thing2+'&name1='+@name1+'&date3='+@date2; set @RequestType='GET'; --发送数据 set @data='' Declare @Object as Int Exec sp_OACreate 'Msxml2.ServerXMLHTTP.3.0', @Object OUT Exec sp_OAMethod @Object, 'open', NULL, @RequestType,@ApiUrl,'false' IF @RequestType='POST' BEGIN Exec sp_OAMethod @Object, 'setRequestHeader', NULL, 'Content-Type','application/x-www-form-urlencoded' END Exec sp_OAMethod @Object, 'setRequestHeader', NULL, 'token','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0' Exec sp_OAMethod @Object, 'send', NULL, @data --发送数据 Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT --EXEC sp_OAGetErrorInfo @Object --异常输出 --Select @ResponseText as ResponseText --Select * from [dbo].[ParseJSON](@ResponseText) Exec sp_OADestroy @Object END --每天下午4点定时执行,查询所有施工绩效表,当天没有填写数据的人,然后推送 CREATE PROCEDURE [dbo].[Sp_APP_PerformanceByTime] AS BEGIN declare @ResponseText NVARCHAR(4000); DECLARE @PostUserid nvarchar(2000); --定义游标查询 DECLARE @Userid nvarchar(50);--用户id DECLARE My_Cursor CURSOR --定义游标 FOR ( select Top 1 Child3.CreateMan from CQMS_Performance_Child3 Child3 LEFT JOIN CQMS_Performance as Perfor ON Perfor.PerformanceGid=Child3.PerformanceGid where Child3.WorkPlan='' and CONVERT(varchar(100), Child3.CurrentDate, 23)=CONVERT(varchar(100), GETDATE(), 23) ) OPEN My_Cursor;--打开游标 FETCH NEXT FROM My_Cursor INTO @Userid;--读取第一行数据 WHILE @@FETCH_STATUS=0 --这里对游标的状态进行判断,如果为0,证明游标中有值 BEGIN declare @dateNow datetime; set @dateNow=getdate(); --执行推送api存储过程 exec Proc_CallWebApi @Userid,'您今日的施工绩效尚未填写','系统管理员',@dateNow,@ResponseText output; FETCH NEXT FROM My_Cursor INTO @Userid; END CLOSE My_Cursor;--关闭游标 DEALLOCATE My_Cursor;--释放游标 END