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;