CNCEC_SUBQHSE_WUHUAN/DataBase/版本日志/SGGLDB_WH_2023-10-31.sql

116 lines
3.8 KiB
Transact-SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--主表增加出差天数
alter table CQMS_Performance add OutDay int null;
GO
--主表增加工作负荷
alter table CQMS_Performance add Workloads decimal(18, 2) null;
GO
--主表增加工作范围
alter table CQMS_Performance add WorkRange nvarchar(200) null;
GO
--主表增加打分人
alter table CQMS_Performance add ScorMan nvarchar(50) null;
GO
--添加菜单施工管理绩效数据
insert into sys_menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
values('F2133BD6-C786-407A-AD6F-3EEF613229A8','施工管理绩效数据','ZHGL/Performance/PerformanceAllData.aspx',150,
'0','Menu_ZHGL','1','1','1')
GO
ALTER PROCEDURE [dbo].[Proc_CallWebApi]
-- Add the parameters for the stored procedure here
@userId NVARCHAR(2000),--需要发送订阅者的userid逗号分隔
@thing2 nvarchar(2000),--发送的消息内容
@name1 nvarchar(50),--发起人
@date3 datetime,--发送的日期
@projectName nvarchar(200),
@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, 23)
--API地址
set @ApiUrl='http://localhost:7040/api/Common/postSubscribeMessage';
--set @ApiUrl='https://zhgd.cwcec.com/sgglapi_wx/api/Common/postSubscribeMessage';
set @RequestType='POST';
--发送数据
set @data='{
"touser":"'+@userId+'",
"template_id":"1gT0FfTc2LwnnqUCU8h_nXDyv8VGtne1Iolo47gPA0c",
"page":"pages/index/index",
"data":{
"thing3":{"value":"您今日的施工绩效尚未填写"},
"thing13":{"value":"系统管理员"},
"time5":{"value":"'+@date2+'"}
}
}'; --入参
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/json'
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
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--每天下午4点定时执行查询所有施工绩效表当天没有填写数据的人然后推送
ALTER PROCEDURE [dbo].[Sp_APP_PerformanceByTime]
AS
BEGIN
declare @ResponseText NVARCHAR(4000);
DECLARE @PostUserid nvarchar(2000);
declare @UserOpenid nvarchar(50);
declare @Projectname nvarchar(200);
--定义游标查询
DECLARE @Userid nvarchar(50);--用户id
DECLARE @ProjectId nvarchar(50);--
DECLARE My_Cursor CURSOR --定义游标
FOR ( select Top 1 Child3.CreateMan,Perfor.ProjectId 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,@ProjectId;--读取第一行数据
WHILE @@FETCH_STATUS=0
--这里对游标的状态进行判断如果为0证明游标中有值
BEGIN
declare @dateNow datetime;
set @dateNow=getdate();
select @UserOpenid=openid from sys_user where userid=@Userid;
select @Projectname=ShortName from Base_Project where projectid=@ProjectId;
--执行推送api存储过程
exec Proc_CallWebApi @UserOpenid,'您今日的施工绩效尚未填写','系统管理员',@dateNow,@Projectname,@ResponseText output;
FETCH NEXT
FROM
My_Cursor INTO @Userid,@ProjectId;
END CLOSE My_Cursor;--关闭游标
DEALLOCATE My_Cursor;--释放游标
END
GO