312 lines
27 KiB
Transact-SQL
312 lines
27 KiB
Transact-SQL
--开启存储过程执行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
|
||
|
||
|
||
|
||
|
||
|