77 lines
4.4 KiB
SQL
77 lines
4.4 KiB
SQL
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
BEGIN TRANSACTION;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.EventSessionEntry WHERE Id = 468424869007365 AND SessionId = 468424868974597)
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.EventSessionEntry WHERE Id = 468424869011461 AND SessionId = 468424868974597)
|
|
THROW 51100, N'目标 QA 出场记录不存在。', 1;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationItem WHERE Id = 466884849647621 AND DeleteMark = 0)
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationPerson WHERE Id = 466885642186757 AND DeleteMark = 0)
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationPerson WHERE Id = 466885642182661 AND DeleteMark = 0)
|
|
THROW 51101, N'用于复制的 QA 报名数据不存在。', 1;
|
|
|
|
IF EXISTS (SELECT 1 FROM dbo.EventRegistrationItem WHERE Id IN (9301,9302) AND ISNULL(Remark,'') NOT LIKE N'%交互绳端到端QA%')
|
|
OR EXISTS (SELECT 1 FROM dbo.EventRegistrationPerson WHERE Id IN (9401,9402) AND ISNULL(Remark,'') NOT LIKE N'%交互绳端到端QA%')
|
|
THROW 51102, N'预留 QA 报名数据 ID 已被其他数据占用。', 1;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationItem WHERE Id = 9301)
|
|
BEGIN
|
|
INSERT dbo.EventRegistrationItem
|
|
(Id,RegistrationId,ProjectId,EventProjectGroupId,ProjectName,ProjectTypeName,GroupName,
|
|
UnitPrice,PersonCount,TotalPrice,Remark,RefundOrderId,DeleteMark,CreatedUserId,CreatedTime,UpdatedUserId,UpdatedTime)
|
|
SELECT 9301,RegistrationId,ProjectId,EventProjectGroupId,ProjectName,ProjectTypeName,GroupName,
|
|
0,1,0,N'交互绳端到端QA-出场1',NULL,0,0,GETDATE(),NULL,NULL
|
|
FROM dbo.EventRegistrationItem WHERE Id = 466884849647621;
|
|
END;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationItem WHERE Id = 9302)
|
|
BEGIN
|
|
INSERT dbo.EventRegistrationItem
|
|
(Id,RegistrationId,ProjectId,EventProjectGroupId,ProjectName,ProjectTypeName,GroupName,
|
|
UnitPrice,PersonCount,TotalPrice,Remark,RefundOrderId,DeleteMark,CreatedUserId,CreatedTime,UpdatedUserId,UpdatedTime)
|
|
SELECT 9302,RegistrationId,ProjectId,EventProjectGroupId,ProjectName,ProjectTypeName,GroupName,
|
|
0,1,0,N'交互绳端到端QA-出场2',NULL,0,0,GETDATE(),NULL,NULL
|
|
FROM dbo.EventRegistrationItem WHERE Id = 466884849647621;
|
|
END;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationPerson WHERE Id = 9401)
|
|
BEGIN
|
|
INSERT dbo.EventRegistrationPerson
|
|
(Id,RegistrationId,RegistrationItemId,ProjectId,EventProjectGroupId,PersonType,UserId,Name,Gender,
|
|
IdCard,BirthDate,Phone,Age,Email,GroupName,ProjectName,CustomFieldValue,Remark,RefundOrderId,
|
|
DeleteMark,CreatedUserId,CreatedTime,UpdatedUserId,UpdatedTime)
|
|
SELECT 9401,RegistrationId,9301,ProjectId,EventProjectGroupId,PersonType,UserId,Name,Gender,
|
|
IdCard,BirthDate,Phone,Age,Email,GroupName,ProjectName,CustomFieldValue,N'交互绳端到端QA-出场1',NULL,
|
|
0,0,GETDATE(),NULL,NULL
|
|
FROM dbo.EventRegistrationPerson WHERE Id = 466885642186757;
|
|
END;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.EventRegistrationPerson WHERE Id = 9402)
|
|
BEGIN
|
|
INSERT dbo.EventRegistrationPerson
|
|
(Id,RegistrationId,RegistrationItemId,ProjectId,EventProjectGroupId,PersonType,UserId,Name,Gender,
|
|
IdCard,BirthDate,Phone,Age,Email,GroupName,ProjectName,CustomFieldValue,Remark,RefundOrderId,
|
|
DeleteMark,CreatedUserId,CreatedTime,UpdatedUserId,UpdatedTime)
|
|
SELECT 9402,RegistrationId,9302,ProjectId,EventProjectGroupId,PersonType,UserId,Name,Gender,
|
|
IdCard,BirthDate,Phone,Age,Email,GroupName,ProjectName,CustomFieldValue,N'交互绳端到端QA-出场2',NULL,
|
|
0,0,GETDATE(),NULL,NULL
|
|
FROM dbo.EventRegistrationPerson WHERE Id = 466885642182661;
|
|
END;
|
|
|
|
UPDATE dbo.EventSessionEntry SET RegistrationItemId = 9301, UpdatedUserId = 0, UpdatedTime = GETDATE()
|
|
WHERE Id = 468424869007365 AND RegistrationItemId <> 9301;
|
|
UPDATE dbo.EventSessionEntry SET RegistrationItemId = 9302, UpdatedUserId = 0, UpdatedTime = GETDATE()
|
|
WHERE Id = 468424869011461 AND RegistrationItemId <> 9302;
|
|
|
|
IF (SELECT COUNT(*) FROM dbo.EventRegistrationPerson WHERE RegistrationItemId IN (9301,9302) AND DeleteMark = 0) <> 2
|
|
THROW 51103, N'QA 出场报名人员校验失败。', 1;
|
|
|
|
COMMIT TRANSACTION;
|
|
|
|
SELECT e.Id,e.EntryNo,e.RegistrationItemId,p.Id RegistrationPersonId,p.Name
|
|
FROM dbo.EventSessionEntry e
|
|
JOIN dbo.EventRegistrationPerson p ON p.RegistrationItemId = e.RegistrationItemId AND p.DeleteMark = 0
|
|
WHERE e.Id IN (468424869007365,468424869011461)
|
|
ORDER BY e.PlayOrder;
|