You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

214 lines
6.3 KiB

  1. /****** Object: StoredProcedure [dbo].[OSP_OTB_SYS_Organization_Update] Script Date: 10/30/2014 10:10:59 ******/
  2. IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[OSP_OTB_SYS_Organization_Update]') AND type in (N'P', N'PC'))
  3. DROP PROCEDURE [dbo].[OSP_OTB_SYS_Organization_Update]
  4. GO
  5. ------------------------------------
  6. --γ~Gק
  7. --ئW١G
  8. --CreateGJack
  9. --ɶG2014/07/25
  10. ------------------------------------
  11. CREATE PROCEDURE [dbo].[OSP_OTB_SYS_Organization_Update]
  12. @OrganizationID Varchar (36 ),--´s
  13. @OrganizationName NVarchar(200),--´W
  14. @OwnerName NVarchar(50 ),--tdHmW
  15. @Email NVarchar(200),--ϥΪE-Mail
  16. @ContectTEL Varchar (50 ),--pq
  17. @ContectExt Varchar (20 ),--p
  18. @ContectFax Varchar (50 ),--pǯu
  19. @ContectCell Varchar (50 ),--p
  20. @Address NVarchar(500),--}
  21. @Files Varchar (36 ),--
  22. @EffectiveSD DateTime ,--ͮĶ}l
  23. @EffectiveED DateTime ,--ͮĵ
  24. @Effective Char (1 ),--O_
  25. @Memo Text ,--Ƶ
  26. @CreateUser Varchar (50 ),--إߤHb
  27. @CreateDate DateTime ,--إߤ
  28. @ModifyUser Varchar (50 ),--קHb
  29. @ModifyDate DateTime ,--ק
  30. @MemberID VARCHAR(50), --nb
  31. @MemberPwd VARCHAR(50), --nKX
  32. @ProxyED DateTime, --Nz
  33. @ProxySD DateTime, --Nz}l
  34. @ParentID VARCHAR(50), --WŲ´
  35. @ModuleIDList NVarChar(max),--ҲեNX
  36. @ProgramIDList NVarChar(max),--{NX
  37. @IsProxy CHAR(1), --O_Nz
  38. @OrganizationIDOld VarChar(50), --
  39. @MemberIDNow VarChar(50), --en
  40. @Url VarChar(200), --en
  41. @LoginURL VarChar(200), --en
  42. @Email_PM NVarchar(200) --ϥΪE-Mail
  43. AS
  44. IF @OrganizationID!=@OrganizationIDOld
  45. BEGIN
  46. Begin TRANSACTION
  47. UPDATE dbo.OTB_SYS_Organization SET
  48. OrganizationName=@OrganizationName,
  49. OwnerName =@OwnerName ,
  50. Email =@Email ,
  51. ContectTEL =@ContectTEL ,
  52. ContectExt =@ContectExt ,
  53. ContectFax =@ContectFax ,
  54. ContectCell =@ContectCell ,
  55. Address =@Address ,
  56. Files =@Files ,
  57. EffectiveSD =@EffectiveSD ,
  58. EffectiveED =@EffectiveED ,
  59. Effective =@Effective ,
  60. Memo =@Memo ,
  61. CreateUser =@CreateUser ,
  62. CreateDate =@CreateDate ,
  63. ModifyUser =@ModifyUser ,
  64. ModifyDate =@ModifyDate ,
  65. ProxyED=@ProxyED,
  66. ProxySD=@ProxySD,
  67. ParentID=@ParentID,
  68. IsProxy=@IsProxy,
  69. Url=@Url,
  70. LoginURL=@LoginURL
  71. WHERE
  72. OrganizationID=@OrganizationID
  73. IF REPLACE(@ProgramIDList,';','')!='' AND @OrganizationID!=@OrganizationIDOld
  74. BEGIN
  75. DELETE dbo.OTB_SYS_ProgramList WHERE OrganizationID=@OrganizationID
  76. INSERT INTO dbo.OTB_SYS_ProgramList
  77. ( OrganizationID ,
  78. ProgramID ,
  79. LanguageID ,
  80. ProgramName ,
  81. ModuleID ,
  82. FilePath ,
  83. ImgPath ,
  84. AllowRight ,
  85. OrderByValue ,
  86. ProgramType ,
  87. BackgroundCSS ,
  88. GroupTag ,
  89. Effective ,
  90. ShowInList ,
  91. MainTableName ,
  92. Memo ,
  93. CreateUser ,
  94. CreateDate ,
  95. ModifyUser ,
  96. ModifyDate
  97. )
  98. SELECT
  99. @OrganizationID ,
  100. ProgramID ,
  101. LanguageID ,
  102. ProgramName ,
  103. ModuleID ,
  104. FilePath ,
  105. ImgPath ,
  106. AllowRight ,
  107. OrderByValue ,
  108. ProgramType ,
  109. BackgroundCSS ,
  110. GroupTag ,
  111. Effective ,
  112. ShowInList ,
  113. MainTableName ,
  114. Memo ,
  115. @CreateUser ,
  116. GETDATE() ,
  117. @CreateUser ,
  118. GETDATE()
  119. FROM dbo.OTB_SYS_ProgramList
  120. WHERE CHARINDEX(';'+ProgramID+';',@ProgramIDList)>0 AND OrganizationID=@OrganizationIDOld
  121. END
  122. IF @MemberPwd!=''
  123. BEGIN
  124. UPDATE dbo.OTB_SYS_Members SET [Password]=@MemberPwd,Email=@Email_PM WHERE MemberID=@MemberID AND OrganizationID=@OrganizationID
  125. END
  126. ELSE
  127. BEGIN
  128. UPDATE dbo.OTB_SYS_Members SET Email=@Email_PM WHERE MemberID=@MemberID AND OrganizationID=@OrganizationID
  129. END
  130. DELETE dbo.OTB_SYS_Authorize WHERE OrganizationID=@OrganizationID AND RuleID='admin'
  131. IF REPLACE(@ProgramIDList,';','')!=''
  132. BEGIN
  133. INSERT INTO dbo.OTB_SYS_Authorize
  134. ( OrganizationID ,
  135. RuleID ,
  136. ProgramID ,
  137. AllowRight ,
  138. Memo ,
  139. CreateUser ,
  140. CreateDate ,
  141. ModifyUser ,
  142. ModifyDate
  143. )
  144. SELECT
  145. @OrganizationID ,
  146. 'admin' ,
  147. ProgramID ,
  148. (select dbo.OFN_AVA_RemoveStringduplicate((SELECT (SELECT ltrim(rtrim(AllowRight)) +'|' FROM dbo.OTB_SYS_Authorize WHERE OrganizationID=@OrganizationIDOld
  149. AND RuleID IN (SELECT RuleID FROM dbo.OTB_SYS_MembersToRule WHERE OrganizationID=@OrganizationIDOld AND MemberID=@MemberIDNow AND ProgramID=A.ProgramID) FOR XML PATH(''))),'|',1) )
  150. ,
  151. '' ,
  152. @CreateUser ,
  153. GETDATE() ,
  154. @CreateUser ,
  155. GETDATE()
  156. FROM dbo.OTB_SYS_Authorize AS A
  157. WHERE OrganizationID=@OrganizationIDOld
  158. AND RuleID IN (SELECT RuleID FROM dbo.OTB_SYS_MembersToRule WHERE OrganizationID=@OrganizationIDOld AND MemberID=@MemberIDNow)
  159. GROUP BY A.ProgramID
  160. ORDER BY ProgramID
  161. END
  162. IF @@error <> 0
  163. BEGIN
  164. ROLLBACK TRANSACTION
  165. END
  166. ELSE
  167. BEGIN
  168. COMMIT TRANSACTION
  169. END
  170. END
  171. ELSE
  172. BEGIN
  173. UPDATE dbo.OTB_SYS_Organization SET
  174. OrganizationName=@OrganizationName,
  175. OwnerName =@OwnerName ,
  176. Email =@Email ,
  177. ContectTEL =@ContectTEL ,
  178. ContectExt =@ContectExt ,
  179. ContectFax =@ContectFax ,
  180. ContectCell =@ContectCell ,
  181. Address =@Address ,
  182. Files =@Files ,
  183. EffectiveSD =@EffectiveSD ,
  184. EffectiveED =@EffectiveED ,
  185. Effective =@Effective ,
  186. Memo =@Memo ,
  187. CreateUser =@CreateUser ,
  188. CreateDate =@CreateDate ,
  189. ModifyUser =@ModifyUser ,
  190. ModifyDate =@ModifyDate ,
  191. ProxyED=@ProxyED,
  192. ProxySD=@ProxySD,
  193. ParentID='',
  194. IsProxy=@IsProxy,
  195. Url=@Url,
  196. LoginURL=@LoginURL
  197. WHERE
  198. OrganizationID=@OrganizationID
  199. END
  200. GO