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.

1635 lines
59 KiB

  1. 
  2. SET NUMERIC_ROUNDABORT OFF
  3. GO
  4. SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS ON
  5. GO
  6. IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID('tempdb..#tmpErrors')) DROP TABLE #tmpErrors
  7. GO
  8. CREATE TABLE #tmpErrors (Error int)
  9. GO
  10. SET XACT_ABORT ON
  11. GO
  12. SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
  13. GO
  14. BEGIN TRANSACTION
  15. GO
  16. PRINT N'Altering [dbo].[OSP_OTB_PRJ_ProjectInfo_GetList]'
  17. GO
  18. ------------------------------------
  19. --
  20. --
  21. -- Jack
  22. --2014/07/23
  23. ------------------------------------
  24. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_ProjectInfo_GetList]
  25. @StartRecordIndex int,
  26. @EndRecordIndex int,
  27. @ProjectNumber varchar(50),
  28. @CustomerID nvarchar(50),
  29. @ProjectEName nvarchar(200),
  30. @ProjectCName nvarchar(200),
  31. @OrganizationID NVarChar(50), --
  32. @ProjectManager nvarchar(50),
  33. @SortExpression nvarchar(500),
  34. @ProjectStatus varchar(5)
  35. AS
  36. SELECT
  37. RowId,
  38. ProjectNumber ,--
  39. CustomerID ,--
  40. ProjectEName ,--
  41. ProjectCName ,--
  42. ProjectManager,--
  43. PStartDate ,--
  44. PDeadLine ,--
  45. ProjectStatus ,--
  46. ModifyDate --
  47. ,CustomerName
  48. ,OrganizationID
  49. ,PrjAvgProgress--
  50. ,PrjWorkCount --
  51. FROM
  52. (
  53. SELECT
  54. CASE @SortExpression WHEN N'ProjectNumber' THEN
  55. (ROW_NUMBER() OVER(Order BY ProjectNumber))
  56. WHEN N'ProjectNumber DESC' THEN
  57. (ROW_NUMBER() OVER(Order BY ProjectNumber DESC))
  58. WHEN N'CustomerID' THEN
  59. (ROW_NUMBER() OVER(Order BY a.CustomerID))
  60. WHEN N'CustomerID DESC' THEN
  61. (ROW_NUMBER() OVER(Order BY a.CustomerID DESC))
  62. WHEN N'CustomerName' THEN
  63. (ROW_NUMBER() OVER(Order BY CustomerName))
  64. WHEN N'CustomerName DESC' THEN
  65. (ROW_NUMBER() OVER(Order BY CustomerName DESC))
  66. WHEN N'ProjectCName' THEN
  67. (ROW_NUMBER() OVER(Order BY ProjectCName))
  68. WHEN N'ProjectCName DESC' THEN
  69. (ROW_NUMBER() OVER(Order BY ProjectCName DESC))
  70. WHEN N'ProjectEName' THEN
  71. (ROW_NUMBER() OVER(Order BY ProjectEName))
  72. WHEN N'ProjectEName DESC' THEN
  73. (ROW_NUMBER() OVER(Order BY ProjectEName DESC))
  74. WHEN N'ProjectManager' THEN
  75. (ROW_NUMBER() OVER(Order BY ProjectManager))
  76. WHEN N'ProjectManager DESC' THEN
  77. (ROW_NUMBER() OVER(Order BY ProjectManager DESC))
  78. WHEN N'PStartDate' THEN
  79. (ROW_NUMBER() OVER(Order BY PStartDate))
  80. WHEN N'PStartDate DESC' THEN
  81. (ROW_NUMBER() OVER(Order BY PStartDate DESC))
  82. WHEN N'PDeadLine' THEN
  83. (ROW_NUMBER() OVER(Order BY PDeadLine))
  84. WHEN N'PDeadLine DESC' THEN
  85. (ROW_NUMBER() OVER(Order BY PDeadLine DESC))
  86. WHEN N'PrjAvgProgress' THEN
  87. (ROW_NUMBER() OVER(Order BY PrjAvgProgress))
  88. WHEN N'PrjAvgProgress DESC' THEN
  89. (ROW_NUMBER() OVER(Order BY PrjAvgProgress DESC))
  90. WHEN N'PrjWorkCount' THEN
  91. (ROW_NUMBER() OVER(Order BY PrjWorkCount))
  92. WHEN N'PrjWorkCount DESC' THEN
  93. (ROW_NUMBER() OVER(Order BY PrjWorkCount DESC))
  94. WHEN N'ProjectStatus' THEN
  95. (ROW_NUMBER() OVER(Order BY ProjectStatus))
  96. WHEN N'ProjectStatus DESC' THEN
  97. (ROW_NUMBER() OVER(Order BY ProjectStatus DESC))
  98. ELSE
  99. (ROW_NUMBER() OVER(Order BY a.ModifyDate DESC))
  100. END AS RowId,
  101. ProjectNumber ,--
  102. a.CustomerID AS CustomerID ,--
  103. ProjectEName ,--
  104. ProjectCName ,--
  105. b.MemberName AS ProjectManager,--
  106. PStartDate ,--
  107. PDeadLine ,--
  108. ProjectStatus ,--
  109. a.ModifyDate AS ModifyDate --
  110. ,CustomerName
  111. ,a.OrganizationID AS OrganizationID
  112. ,PrjAvgProgress--
  113. ,PrjWorkCount --
  114. FROM dbo.OTB_PRJ_ProjectInfo AS a LEFT JOIN dbo.OTB_SYS_Members AS b ON a.ProjectManager=b.MemberID--AS A ON A.DepartmentID=B.DepartmentID
  115. LEFT JOIN dbo.OTB_CRM_Customers AS c ON a.CustomerID=c.CustomerID
  116. --LEFT JOIN dbo.OTB_SYS_Arguments AS e ON d.PrgWorkType=e.ArgumentID
  117. WHERE
  118. --(ProjectNumber LIKE @ProjectNumber OR @ProjectNumber='%%')
  119. -- AND (CustomerName LIKE @CustomerID OR @CustomerID='%%')
  120. -- AND (ProjectEName LIKE @ProjectEName OR @ProjectEName='%%')
  121. -- AND (ProjectManager = @ProjectManager OR @ProjectManager='')
  122. -- AND (ProjectCName LIKE @ProjectCName OR @ProjectCName='%%')
  123. -- AND (ProjectStatus = @ProjectStatus OR @ProjectCName='')
  124. -- AND a.OrganizationID=@OrganizationID
  125. (ProjectNumber LIKE @ProjectNumber OR @ProjectNumber='%%')
  126. AND (CustomerName LIKE @CustomerID OR @CustomerID='%%')
  127. AND (ProjectEName LIKE @ProjectEName OR @ProjectEName='%%')
  128. AND (ProjectManager = @ProjectManager OR @ProjectManager='')
  129. AND (ProjectCName LIKE @ProjectCName OR @ProjectCName='%%')
  130. AND (ProjectStatus = @ProjectStatus OR @ProjectStatus='')
  131. AND a.OrganizationID=@OrganizationID
  132. --AND (e.ArgumentClassID='PrgWKTP' )
  133. ) AS AA
  134. WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex
  135. ORDER BY RowId
  136. SELECT
  137. ProjectNumber AS'專案編號' ,--
  138. --a.CustomerID AS CustomerID ,--
  139. ProjectEName AS '專案名稱',--
  140. ProjectCName AS '專案中文名稱' ,--
  141. b.MemberName AS '專案經理',--
  142. PStartDate AS '預估開始日期',--
  143. PDeadLine AS '預估截止日期',--
  144. a.ActualStartDate AS '實際開始日期',--
  145. a.ActualDeadLine AS '實際截止日期',--
  146. ProjectStatus AS '專案狀態',--
  147. --a.ModifyDate AS ModifyDate --
  148. CustomerName AS '客戶名稱'
  149. --,a.OrganizationID AS OrganizationID
  150. ,CONVERT(nvarchar(2000), ISNULL(PrjAvgProgress,0))+'%' AS '平均程式開發進度'--
  151. ,PrjWorkCount AS'工作數量'--
  152. FROM dbo.OTB_PRJ_ProjectInfo AS a LEFT JOIN dbo.OTB_SYS_Members AS b ON a.ProjectManager=b.MemberID--AS A ON A.DepartmentID=B.DepartmentID
  153. LEFT JOIN dbo.OTB_CRM_Customers AS c ON a.CustomerID=c.CustomerID
  154. --LEFT JOIN dbo.OTB_SYS_Arguments AS e ON d.PrgWorkType=e.ArgumentID
  155. WHERE
  156. (ProjectNumber LIKE @ProjectNumber OR @ProjectNumber='%%')
  157. AND (CustomerName LIKE @CustomerID OR @CustomerID='%%')
  158. AND (ProjectEName LIKE @ProjectEName OR @ProjectEName='%%')
  159. AND (ProjectManager = @ProjectManager OR @ProjectManager='')
  160. AND (ProjectCName LIKE @ProjectCName OR @ProjectCName='%%')
  161. AND (ProjectStatus = @ProjectStatus OR @ProjectStatus='')
  162. AND a.OrganizationID=@OrganizationID
  163. GO
  164. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  165. GO
  166. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  167. GO
  168. PRINT N'Creating [dbo].[OSP_OTB_PRJ_ProjectInfo_DataExistsInAllTable]'
  169. GO
  170. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_ProjectInfo_DataExistsInAllTable]
  171. @OrganizationID NVARCHAR(50),
  172. @ProjectNumber NVARCHAR(50)
  173. AS
  174. --DECLARE @DataCountProgramList INT
  175. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_ProgramList WHERE ProjectNumber=@ProjectNumber
  176. --DECLARE @DataCountModules INT
  177. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_Modules WHERE ProjectNumber=@ProjectNumber
  178. --DECLARE @DataCountCustomers INT
  179. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_Customers WHERE ProjectNumber=@ProjectNumber
  180. --DECLARE @DataCountMeetingRecord INT
  181. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_MeetingRecord WHERE ProjectNumber=@ProjectNumber
  182. --DECLARE @DataCountMembers INT
  183. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_Members WHERE ProjectNumber=@ProjectNumber
  184. --DECLARE @DataCountModWorkTime INT
  185. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_ModWorkTime WHERE ProjectNumber=@ProjectNumber
  186. --DECLARE @DataCountPrgWorkTime INT
  187. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_PrgWorkTime WHERE ProjectNumber=@ProjectNumber
  188. ----DECLARE @DataCountModWorkTime INT
  189. ----SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_PrjRule WHERE ProjectNumber=@ProjectNumber
  190. ----DECLARE @DataCountModWorkTime INT
  191. ----SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_PrjType WHERE ProjectNumber=@ProjectNumber
  192. --DECLARE @DataCountPrjWorkTime INT
  193. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_PrjWorkTime WHERE ProjectNumber=@ProjectNumber
  194. ----DECLARE @DataCountModWorkTime INT
  195. ----SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_PrjWorkType WHERE ProjectNumber=@ProjectNumber
  196. --DECLARE @DataCountRequestOrder INT
  197. --SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_RequestOrder WHERE ProjectNumber=@ProjectNumber
  198. ----DECLARE @DataCountRequestOrder INT
  199. ----SELECT @DataCountProgramList=COUNT(0) FROM dbo.OTB_PRJ_ROPG WHERE ProjectNumber=@ProjectNumber
  200. SELECT COUNT(0)AS DataCount ,'程式基本資料'AS DelData,'ProgramListMaintain_Upd'AS DataUrl FROM dbo.OTB_PRJ_ProgramList WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  201. --UNION ALL
  202. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_Modules' AS TableName,'模組基本資料'AS PrjName FROM dbo.OTB_PRJ_Modules WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  203. --UNION ALL
  204. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_Customers' AS TableName,'專案客戶資料'AS PrjName FROM dbo.OTB_PRJ_Customers WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  205. --UNION ALL
  206. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_MeetingRecord' AS TableName,'會議記錄'AS PrjName FROM dbo.OTB_PRJ_MeetingRecord WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  207. --UNION ALL
  208. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_Members' AS TableName,'專案人員'AS PrjName FROM dbo.OTB_PRJ_Members WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  209. --UNION ALL
  210. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_ModWorkTime' AS TableName,'模組基本資料'AS PrjName FROM dbo.OTB_PRJ_ModWorkTime WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  211. --UNION ALL
  212. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_PrgWorkTime' AS TableName,'程式基本資料'AS PrjName FROM dbo.OTB_PRJ_PrgWorkTime WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  213. --UNION ALL
  214. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_PrjWorkTime' AS TableName,'專案基本資料'AS PrjName FROM dbo.OTB_PRJ_PrjWorkTime WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  215. --UNION ALL
  216. --SELECT COUNT(0)AS DataCount ,'OTB_PRJ_RequestOrder' AS TableName,'專案需求變更單'AS PrjName FROM dbo.OTB_PRJ_RequestOrder WHERE ProjectNumber=@ProjectNumber AND OrganizationID=@OrganizationID
  217. GO
  218. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  219. GO
  220. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  221. GO
  222. PRINT N'Altering [dbo].[OTB_PRJ_PrjWorkType]'
  223. GO
  224. ALTER TABLE [dbo].[OTB_PRJ_PrjWorkType] ADD
  225. [PrjTypeID] [char] (36) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL
  226. GO
  227. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  228. GO
  229. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  230. GO
  231. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjWorkType_Update]'
  232. GO
  233. ------------------------------------
  234. --
  235. --
  236. --
  237. --2014/9/29 08:38:59
  238. ------------------------------------
  239. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjWorkType_Update]
  240. @OrganizationID varchar(50),
  241. @PrjWorkTypeID char(36),
  242. @PrjWorkTypeEName nvarchar(20),
  243. @PrjWorkTypeCName nvarchar(20),
  244. @ParentID char(36),
  245. @PrjTypeID char(36),
  246. @IsAutoTask char(1),
  247. @PrjWorkTypeRange nvarchar(20),
  248. @Memo text,
  249. @CreateUser varchar(50),
  250. @CreateDate datetime,
  251. @ModifyUser varchar(50),
  252. @ModifyDate datetime
  253. AS
  254. UPDATE [OTB_PRJ_PrjWorkType] SET
  255. [PrjWorkTypeEName] = @PrjWorkTypeEName,[PrjWorkTypeCName] = @PrjWorkTypeCName,[ParentID] = @ParentID,[IsAutoTask] = @IsAutoTask,[PrjWorkTypeRange] = @PrjWorkTypeRange,[Memo] = @Memo,[CreateUser] = @CreateUser,[CreateDate] = @CreateDate,[ModifyUser] = @ModifyUser,[ModifyDate] = GETDATE(),PrjTypeID=@PrjTypeID
  256. WHERE OrganizationID=@OrganizationID and PrjWorkTypeID=@PrjWorkTypeID
  257. GO
  258. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  259. GO
  260. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  261. GO
  262. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjWorkType_GetModel]'
  263. GO
  264. ------------------------------------
  265. --
  266. --
  267. --
  268. --2014/9/29 08:38:59
  269. ------------------------------------
  270. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjWorkType_GetModel]
  271. @OrganizationID varchar(50),
  272. @PrjWorkTypeID char(36)
  273. AS
  274. SELECT
  275. OrganizationID,PrjWorkTypeID,PrjWorkTypeEName,PrjTypeID,PrjWorkTypeCName,ParentID,IsAutoTask,PrjWorkTypeRange,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate
  276. FROM [OTB_PRJ_PrjWorkType]
  277. WHERE OrganizationID=@OrganizationID and PrjWorkTypeID=@PrjWorkTypeID
  278. GO
  279. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  280. GO
  281. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  282. GO
  283. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjWorkType_GetListCount]'
  284. GO
  285. ------------------------------------
  286. --
  287. --Web_CRM
  288. --CreateJohn
  289. --2014/07/25
  290. ------------------------------------
  291. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjWorkType_GetListCount]
  292. @OrganizationID varchar(50),
  293. @PrjWorkTypeEName varchar(50),
  294. @PrjWorkTypeCName varchar(50),
  295. @ParentID varchar(36),
  296. @PrjWorkTypeRange varchar(36)
  297. AS
  298. SELECT COUNT(0)
  299. FROM OTB_PRJ_PrjWorkType
  300. WHERE (PrjWorkTypeEName LIKE @PrjWorkTypeEName OR @PrjWorkTypeEName='%%')
  301. AND (PrjWorkTypeCName LIKE @PrjWorkTypeCName OR @PrjWorkTypeCName='%%')
  302. AND (PrjWorkTypeRange = @PrjWorkTypeRange OR @PrjWorkTypeRange='')
  303. AND (ParentID = @ParentID OR @ParentID='')
  304. AND OrganizationID=@OrganizationID
  305. GO
  306. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  307. GO
  308. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  309. GO
  310. PRINT N'Creating [dbo].[OTB_PRJ_PrjType]'
  311. GO
  312. CREATE TABLE [dbo].[OTB_PRJ_PrjType]
  313. (
  314. [OrganizationID] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  315. [PrjTypeID] [char] (36) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  316. [PrjTypeEName] [nvarchar] (20) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  317. [PrjTypeCName] [nvarchar] (20) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  318. [ParentID] [char] (36) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  319. [Memo] [text] COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  320. [CreateUser] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  321. [CreateDate] [datetime] NULL,
  322. [ModifyUser] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  323. [ModifyDate] [datetime] NULL
  324. )
  325. GO
  326. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  327. GO
  328. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  329. GO
  330. PRINT N'Creating primary key [PK_OTB_PRJ_PrjtType] on [dbo].[OTB_PRJ_PrjType]'
  331. GO
  332. ALTER TABLE [dbo].[OTB_PRJ_PrjType] ADD CONSTRAINT [PK_OTB_PRJ_PrjType] PRIMARY KEY CLUSTERED ([OrganizationID], [PrjTypeID])
  333. GO
  334. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  335. GO
  336. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  337. GO
  338. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjWorkType_GetList]'
  339. GO
  340. ------------------------------------
  341. --
  342. --MidWeb
  343. --CreateTed
  344. --2014/05/26
  345. ------------------------------------
  346. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjWorkType_GetList]
  347. @StartRecordIndex int,
  348. @EndRecordIndex int,
  349. @OrganizationID varchar(50),
  350. @PrjWorkTypeEName varchar(50),
  351. @PrjWorkTypeCName varchar(50),
  352. @ParentID varchar(36),
  353. @PrjWorkTypeRange varchar(36),
  354. @SortExpression nvarchar(500)
  355. AS
  356. SELECT
  357. RowId
  358. ,PrjWorkTypeID,PrjWorkTypeEName,PrjTypeID,PrjWorkTypeCName,ParentID,IsAutoTask,PrjWorkTypeRange
  359. FROM
  360. (
  361. SELECT
  362. CASE @SortExpression WHEN N'PrjWorkTypeEName' THEN
  363. (ROW_NUMBER() OVER(Order BY PrjWorkTypeEName))
  364. WHEN N'PrjWorkTypeEName DESC' THEN
  365. (ROW_NUMBER() OVER(Order BY PrjWorkTypeEName DESC))
  366. WHEN N'PrjWorkTypeCName' THEN
  367. (ROW_NUMBER() OVER(Order BY PrjWorkTypeCName))
  368. WHEN N'PrjWorkTypeCName DESC' THEN
  369. (ROW_NUMBER() OVER(Order BY PrjWorkTypeCName DESC))
  370. WHEN N'ParentID' THEN
  371. (ROW_NUMBER() OVER(Order BY ParentID))
  372. WHEN N'ParentID DESC' THEN
  373. (ROW_NUMBER() OVER(Order BY ParentID DESC))
  374. WHEN N'PrjTypeID' THEN
  375. (ROW_NUMBER() OVER(Order BY PrjTypeID))
  376. WHEN N'PrjTypeID DESC' THEN
  377. (ROW_NUMBER() OVER(Order BY PrjTypeID DESC))
  378. WHEN N'IsAutoTask' THEN
  379. (ROW_NUMBER() OVER(Order BY IsAutoTask))
  380. WHEN N'IsAutoTask DESC' THEN
  381. (ROW_NUMBER() OVER(Order BY IsAutoTask DESC))
  382. WHEN N'PrjWorkTypeRange' THEN
  383. (ROW_NUMBER() OVER(Order BY PrjWorkTypeRange))
  384. WHEN N'PrjWorkTypeRange DESC' THEN
  385. (ROW_NUMBER() OVER(Order BY PrjWorkTypeRange DESC))
  386. ELSE
  387. (ROW_NUMBER() OVER(Order BY PrjWorkTypeEName))
  388. END AS RowId
  389. ,PrjWorkTypeID,PrjWorkTypeEName,PrjWorkTypeCName
  390. ,(SELECT PrjWorkTypeCName FROM dbo.OTB_PRJ_PrjWorkType WHERE PrjWorkTypeID=a.ParentID) AS ParentID,
  391. IsAutoTask,PrjWorkTypeRange
  392. ,(SELECT PrjTypeCName FROM dbo.OTB_PRJ_PrjType WHERE PrjTypeID=a.PrjTypeID) AS PrjTypeID
  393. FROM OTB_PRJ_PrjWorkType AS a
  394. WHERE (PrjWorkTypeEName LIKE @PrjWorkTypeEName OR @PrjWorkTypeEName='%%')
  395. AND (PrjWorkTypeCName LIKE @PrjWorkTypeCName OR @PrjWorkTypeCName='%%')
  396. AND (PrjWorkTypeRange = @PrjWorkTypeRange OR @PrjWorkTypeRange='')
  397. AND (ParentID = @ParentID OR @ParentID='')
  398. AND OrganizationID=@OrganizationID
  399. ) AS AA
  400. WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex
  401. ORDER BY RowId
  402. SELECT
  403. CASE @SortExpression WHEN N'PrjWorkTypeEName' THEN
  404. (ROW_NUMBER() OVER(Order BY PrjWorkTypeEName))
  405. WHEN N'PrjWorkTypeEName DESC' THEN
  406. (ROW_NUMBER() OVER(Order BY PrjWorkTypeEName DESC))
  407. WHEN N'PrjWorkTypeCName' THEN
  408. (ROW_NUMBER() OVER(Order BY PrjWorkTypeCName))
  409. WHEN N'PrjWorkTypeCName DESC' THEN
  410. (ROW_NUMBER() OVER(Order BY PrjWorkTypeCName DESC))
  411. WHEN N'ParentID' THEN
  412. (ROW_NUMBER() OVER(Order BY ParentID))
  413. WHEN N'ParentID DESC' THEN
  414. (ROW_NUMBER() OVER(Order BY ParentID DESC))
  415. WHEN N'PrjTypeID' THEN
  416. (ROW_NUMBER() OVER(Order BY PrjTypeID))
  417. WHEN N'PrjTypeID DESC' THEN
  418. (ROW_NUMBER() OVER(Order BY PrjTypeID DESC))
  419. WHEN N'IsAutoTask' THEN
  420. (ROW_NUMBER() OVER(Order BY IsAutoTask))
  421. WHEN N'IsAutoTask DESC' THEN
  422. (ROW_NUMBER() OVER(Order BY IsAutoTask DESC))
  423. WHEN N'PrjWorkTypeRange' THEN
  424. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), PrjWorkTypeRange)))
  425. WHEN N'PrjWorkTypeRange DESC' THEN
  426. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), PrjWorkTypeRange) DESC))
  427. ELSE
  428. (ROW_NUMBER() OVER(Order BY PrjWorkTypeEName))
  429. END AS '項次'
  430. ,PrjWorkTypeEName AS '專案工作類型英文'
  431. ,PrjWorkTypeCName AS '專案工作類型中文'
  432. ,(SELECT PrjTypeCName FROM dbo.OTB_PRJ_PrjType WHERE PrjTypeID=a.PrjTypeID) AS '專案類型'
  433. ,(select PrjWorkTypeCName FROM dbo.OTB_PRJ_PrjWorkType WHERE PrjWorkTypeID=a.ParentID) AS '父層編號'
  434. ,IsAutoTask AS '是否自動產生任務'
  435. ,PrjWorkTypeRange AS '任務範圍'
  436. FROM OTB_PRJ_PrjWorkType AS a
  437. WHERE (PrjWorkTypeEName LIKE @PrjWorkTypeEName OR @PrjWorkTypeEName='%%')
  438. AND (PrjWorkTypeCName LIKE @PrjWorkTypeCName OR @PrjWorkTypeCName='%%')
  439. AND (PrjWorkTypeRange = @PrjWorkTypeRange OR @PrjWorkTypeRange='')
  440. AND (ParentID = @ParentID OR @ParentID='')
  441. AND OrganizationID=@OrganizationID
  442. ORDER BY '項次'
  443. GO
  444. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  445. GO
  446. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  447. GO
  448. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjWorkType_ADD]'
  449. GO
  450. ------------------------------------
  451. --
  452. --
  453. --
  454. --2014/9/29 08:38:59
  455. ------------------------------------
  456. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjWorkType_ADD]
  457. @OrganizationID varchar(50),
  458. @PrjWorkTypeID char(36),
  459. @PrjWorkTypeEName nvarchar(20),
  460. @PrjWorkTypeCName nvarchar(20),
  461. @ParentID char(36),
  462. @PrjTypeID char(36),
  463. @IsAutoTask char(1),
  464. @PrjWorkTypeRange nvarchar(20),
  465. @Memo text,
  466. @CreateUser varchar(50),
  467. @CreateDate datetime,
  468. @ModifyUser varchar(50),
  469. @ModifyDate datetime
  470. AS
  471. INSERT INTO [OTB_PRJ_PrjWorkType](
  472. [OrganizationID],[PrjWorkTypeID],[PrjWorkTypeEName],[PrjWorkTypeCName],[ParentID],[IsAutoTask],[PrjWorkTypeRange],[Memo],[CreateUser],[CreateDate],[ModifyUser],[ModifyDate],PrjTypeID
  473. )VALUES(
  474. @OrganizationID,NEWID(),@PrjWorkTypeEName,@PrjWorkTypeCName,@ParentID,@IsAutoTask,@PrjWorkTypeRange,@Memo,@CreateUser,GETDATE(),@ModifyUser,GETDATE(),@PrjTypeID
  475. )
  476. GO
  477. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  478. GO
  479. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  480. GO
  481. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_Update]'
  482. GO
  483. ------------------------------------
  484. --
  485. --
  486. --
  487. --2014/9/29 08:33:58
  488. ------------------------------------
  489. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_Update]
  490. @OrganizationID varchar(50),
  491. @PrjTypeID char(36),
  492. @PrjTypeEName nvarchar(20),
  493. @PrjTypeCName nvarchar(20),
  494. @ParentID char(36),
  495. @Memo text,
  496. @CreateUser varchar(50),
  497. @CreateDate datetime,
  498. @ModifyUser varchar(50),
  499. @ModifyDate datetime
  500. AS
  501. UPDATE [OTB_PRJ_PrjType] SET
  502. [PrjTypeEName] = @PrjTypeEName,[PrjTypeCName] = @PrjTypeCName,[ParentID] = @ParentID,[Memo] = @Memo,[CreateUser] = @CreateUser,[CreateDate] = @CreateDate,[ModifyUser] = @ModifyUser,[ModifyDate] = GETDATE()
  503. WHERE OrganizationID=@OrganizationID and PrjTypeID=@PrjTypeID
  504. GO
  505. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  506. GO
  507. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  508. GO
  509. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_GetModel]'
  510. GO
  511. ------------------------------------
  512. --
  513. --
  514. --
  515. --2014/9/29 08:37:01
  516. ------------------------------------
  517. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_GetModel]
  518. @OrganizationID varchar(50),
  519. @PrjTypeID char(36)
  520. AS
  521. SELECT
  522. OrganizationID,PrjTypeID,PrjTypeEName,PrjTypeCName,ParentID,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate
  523. FROM [OTB_PRJ_PrjType]
  524. WHERE OrganizationID=@OrganizationID and PrjTypeID=@PrjTypeID
  525. GO
  526. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  527. GO
  528. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  529. GO
  530. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_GetListCount]'
  531. GO
  532. ------------------------------------
  533. --
  534. --Web_CRM
  535. --CreateJohn
  536. --2014/07/25
  537. ------------------------------------
  538. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_GetListCount]
  539. @OrganizationID varchar(50),
  540. @PrjTypeEName varchar(50),
  541. @PrjTypeCName varchar(50),
  542. @ParentID varchar(36)
  543. AS
  544. SELECT COUNT(0)
  545. FROM OTB_PRJ_PrjType
  546. WHERE (ParentID = @ParentID OR @ParentID='')
  547. AND (PrjTypeEName LIKE @PrjTypeEName OR @PrjTypeEName='%%')
  548. AND (PrjTypeCName LIKE @PrjTypeCName OR @PrjTypeCName='%%')
  549. AND OrganizationID=@OrganizationID
  550. GO
  551. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  552. GO
  553. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  554. GO
  555. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_GetList]'
  556. GO
  557. ------------------------------------
  558. --
  559. --MidWeb
  560. --CreateTed
  561. --2014/05/26
  562. ------------------------------------
  563. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_GetList]
  564. @StartRecordIndex int,
  565. @EndRecordIndex int,
  566. @OrganizationID varchar(50),
  567. @PrjTypeEName varchar(50),
  568. @PrjTypeCName varchar(50),
  569. @ParentID varchar(36),
  570. @SortExpression nvarchar(500)
  571. AS
  572. SELECT
  573. RowId
  574. ,PrjTypeID,PrjTypeEName,PrjTypeCName,ParentID,Memo
  575. FROM
  576. (
  577. SELECT
  578. CASE @SortExpression WHEN N'PrjTypeEName' THEN
  579. (ROW_NUMBER() OVER(Order BY PrjTypeEName))
  580. WHEN N'PrjTypeEName DESC' THEN
  581. (ROW_NUMBER() OVER(Order BY PrjTypeEName DESC))
  582. WHEN N'PrjTypeCName' THEN
  583. (ROW_NUMBER() OVER(Order BY PrjTypeCName))
  584. WHEN N'PrjTypeCName DESC' THEN
  585. (ROW_NUMBER() OVER(Order BY PrjTypeCName DESC))
  586. WHEN N'ParentID' THEN
  587. (ROW_NUMBER() OVER(Order BY ParentID))
  588. WHEN N'ParentID DESC' THEN
  589. (ROW_NUMBER() OVER(Order BY ParentID DESC))
  590. WHEN N'Memo' THEN
  591. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo)))
  592. WHEN N'Memo DESC' THEN
  593. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo) DESC))
  594. ELSE
  595. (ROW_NUMBER() OVER(Order BY PrjTypeEName))
  596. END AS RowId
  597. ,PrjTypeID,PrjTypeEName,PrjTypeCName,(select PrjTypeCName FROM dbo.OTB_PRJ_PrjType WHERE PrjTypeID=a.ParentID) AS ParentID,Memo
  598. FROM OTB_PRJ_PrjType AS a
  599. WHERE (ParentID = @ParentID OR @ParentID='')
  600. AND (PrjTypeEName LIKE @PrjTypeEName OR @PrjTypeEName='%%')
  601. AND (PrjTypeCName LIKE @PrjTypeCName OR @PrjTypeCName='%%')
  602. AND OrganizationID=@OrganizationID
  603. ) AS AA
  604. WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex
  605. ORDER BY RowId
  606. SELECT
  607. CASE @SortExpression WHEN N'PrjTypeEName' THEN
  608. (ROW_NUMBER() OVER(Order BY PrjTypeEName))
  609. WHEN N'PrjTypeEName DESC' THEN
  610. (ROW_NUMBER() OVER(Order BY PrjTypeEName DESC))
  611. WHEN N'PrjTypeCName' THEN
  612. (ROW_NUMBER() OVER(Order BY PrjTypeCName))
  613. WHEN N'PrjTypeCName DESC' THEN
  614. (ROW_NUMBER() OVER(Order BY PrjTypeCName DESC))
  615. WHEN N'ParentID' THEN
  616. (ROW_NUMBER() OVER(Order BY ParentID))
  617. WHEN N'ParentID DESC' THEN
  618. (ROW_NUMBER() OVER(Order BY ParentID DESC))
  619. WHEN N'Memo' THEN
  620. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo)))
  621. WHEN N'Memo DESC' THEN
  622. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo) DESC))
  623. ELSE
  624. (ROW_NUMBER() OVER(Order BY PrjTypeEName))
  625. END AS '項次'
  626. ,PrjTypeEName AS '專案類型英文'
  627. ,PrjTypeCName AS '專案類型中文'
  628. ,(select PrjTypeCName FROM dbo.OTB_PRJ_PrjType WHERE PrjTypeID=a.ParentID) AS '父層編號'
  629. ,Memo AS '備註'
  630. FROM OTB_PRJ_PrjType AS a
  631. WHERE (ParentID = @ParentID OR @ParentID='')
  632. AND (PrjTypeEName LIKE @PrjTypeEName OR @PrjTypeEName='%%')
  633. AND (PrjTypeCName LIKE @PrjTypeCName OR @PrjTypeCName='%%')
  634. AND OrganizationID=@OrganizationID
  635. ORDER BY '項次'
  636. GO
  637. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  638. GO
  639. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  640. GO
  641. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_Exists]'
  642. GO
  643. ------------------------------------
  644. --
  645. --
  646. --
  647. --2014/9/29 08:33:58
  648. ------------------------------------
  649. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_Exists]
  650. @OrganizationID varchar(50),
  651. @PrjTypeID char(36)
  652. AS
  653. DECLARE @TempID int
  654. SELECT @TempID = count(1) FROM [OTB_PRJ_PrjType] WHERE OrganizationID=@OrganizationID and PrjTypeID=@PrjTypeID
  655. IF @TempID = 0
  656. RETURN 0
  657. ELSE
  658. RETURN 1
  659. GO
  660. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  661. GO
  662. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  663. GO
  664. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_Delete]'
  665. GO
  666. ------------------------------------
  667. --
  668. --
  669. --
  670. --2014/9/29 08:33:58
  671. ------------------------------------
  672. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_Delete]
  673. @OrganizationID varchar(50),
  674. @PrjTypeID char(36)
  675. AS
  676. DELETE [OTB_PRJ_PrjType]
  677. WHERE OrganizationID=@OrganizationID and PrjTypeID=@PrjTypeID
  678. GO
  679. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  680. GO
  681. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  682. GO
  683. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjType_ADD]'
  684. GO
  685. ------------------------------------
  686. --
  687. --
  688. --
  689. --2014/9/29 08:33:58
  690. ------------------------------------
  691. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjType_ADD]
  692. @OrganizationID varchar(50),
  693. @PrjTypeID char(36),
  694. @PrjTypeEName nvarchar(20),
  695. @PrjTypeCName nvarchar(20),
  696. @ParentID char(36),
  697. @Memo text,
  698. @CreateUser varchar(50),
  699. @CreateDate datetime,
  700. @ModifyUser varchar(50),
  701. @ModifyDate datetime
  702. AS
  703. INSERT INTO [OTB_PRJ_PrjType](
  704. [OrganizationID],[PrjTypeID],[PrjTypeEName],[PrjTypeCName],[ParentID],[Memo],[CreateUser],[CreateDate],[ModifyUser],[ModifyDate]
  705. )VALUES(
  706. @OrganizationID,NEWID(),@PrjTypeEName,@PrjTypeCName,@ParentID,@Memo,@CreateUser,GETDATE(),@ModifyUser,GETDATE()
  707. )
  708. GO
  709. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  710. GO
  711. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  712. GO
  713. PRINT N'Creating [dbo].[OTB_PRJ_PrjRuleWorkType]'
  714. GO
  715. CREATE TABLE [dbo].[OTB_PRJ_PrjRuleWorkType]
  716. (
  717. [OrganizationID] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  718. [PrjRuleID] [char] (36) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  719. [PrjWorkTypeID] [char] (36) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL
  720. )
  721. GO
  722. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  723. GO
  724. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  725. GO
  726. PRINT N'Creating primary key [PK_OTB_PRJ_PrjRuleWorkType] on [dbo].[OTB_PRJ_PrjRuleWorkType]'
  727. GO
  728. ALTER TABLE [dbo].[OTB_PRJ_PrjRuleWorkType] ADD CONSTRAINT [PK_OTB_PRJ_PrjRuleWorkType] PRIMARY KEY CLUSTERED ([OrganizationID], [PrjRuleID], [PrjWorkTypeID])
  729. GO
  730. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  731. GO
  732. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  733. GO
  734. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjRuleWorkType_GetList]'
  735. GO
  736. ------------------------------------
  737. --
  738. --
  739. --
  740. --2014/9/29 07:24:36
  741. ------------------------------------
  742. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRuleWorkType_GetList]
  743. @OrganizationID varchar(50),
  744. @PrjRuleID char(36)
  745. AS
  746. SELECT
  747. OrganizationID,PrjRuleID,PrjWorkTypeID,(SELECT PrjWorkTypeCName FROM dbo.OTB_PRJ_PrjWorkType WHERE PrjWorkTypeID=a.PrjWorkTypeID) AS PrjRuleWorkType
  748. FROM [OTB_PRJ_PrjRuleWorkType] AS a WHERE OrganizationID=@OrganizationID AND PrjRuleID=@PrjRuleID
  749. GO
  750. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  751. GO
  752. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  753. GO
  754. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjRuleWorkType_Delete]'
  755. GO
  756. ------------------------------------
  757. --
  758. --
  759. --
  760. --2014/9/29 07:24:36
  761. ------------------------------------
  762. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRuleWorkType_Delete]
  763. @OrganizationID varchar(50),
  764. @PrjRuleID char(36)
  765. AS
  766. DELETE [OTB_PRJ_PrjRuleWorkType]
  767. WHERE OrganizationID=@OrganizationID and PrjRuleID=@PrjRuleID
  768. GO
  769. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  770. GO
  771. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  772. GO
  773. PRINT N'Creating [dbo].[OSP_OTB_PRJ_PrjRuleWorkType_ADD]'
  774. GO
  775. ------------------------------------
  776. --
  777. --
  778. --
  779. --2014/9/29 07:24:36
  780. ------------------------------------
  781. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRuleWorkType_ADD]
  782. @OrganizationID varchar(50),
  783. @PrjRuleID char(36),
  784. @PrjWorkTypeID char(36)
  785. AS
  786. INSERT INTO [OTB_PRJ_PrjRuleWorkType](
  787. [OrganizationID],[PrjRuleID],[PrjWorkTypeID]
  788. )VALUES(
  789. @OrganizationID,@PrjRuleID,@PrjWorkTypeID
  790. )
  791. GO
  792. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  793. GO
  794. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  795. GO
  796. PRINT N'Altering [dbo].[OSP_OTB_PRJ_RequestOrder_GetListByID]'
  797. GO
  798. ------------------------------------
  799. --
  800. --MidWeb
  801. --CreateJohn
  802. --2014/07/23
  803. ------------------------------------
  804. --EXEC OSP_OTB_CRM_Customers_GetListByID 1,10,'', '', '', '','','origtek',''
  805. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_RequestOrder_GetListByID]
  806. @StartRecordIndex int,
  807. @EndRecordIndex int,
  808. @ECOrderNumber varchar(12),
  809. @OrderType Char(2),
  810. @OrderTitle nvarchar(200),
  811. @Undertaker nvarchar(50),
  812. @OrderStatus VarChar(2),
  813. @SortExpression nvarchar(500),
  814. @OrganizationID VarChar(50),
  815. @ProjectNumber VarChar(50)
  816. AS
  817. SELECT
  818. RowId
  819. ,ECOrderNumber
  820. ,ProjectNumber
  821. ,OrderType
  822. ,OrderTitle
  823. ,Undertaker
  824. ,OrderStatus
  825. ,PStartDate
  826. ,PDeadLine
  827. FROM
  828. (
  829. SELECT
  830. CASE @SortExpression WHEN N'ECOrderNumber' THEN
  831. (ROW_NUMBER() OVER(Order BY ECOrderNumber))
  832. WHEN N'ECOrderNumber DESC' THEN
  833. (ROW_NUMBER() OVER(Order BY ECOrderNumber DESC))
  834. WHEN N'OrderType' THEN
  835. (ROW_NUMBER() OVER(Order BY OrderType))
  836. WHEN N'OrderType DESC' THEN
  837. (ROW_NUMBER() OVER(Order BY OrderType DESC))
  838. WHEN N'ProjectNumber' THEN
  839. (ROW_NUMBER() OVER(Order BY ProjectNumber))
  840. WHEN N'ProjectNumber DESC' THEN
  841. (ROW_NUMBER() OVER(Order BY ProjectNumber DESC))
  842. WHEN N'OrderTitle' THEN
  843. (ROW_NUMBER() OVER(Order BY OrderTitle))
  844. WHEN N'OrderTitle DESC' THEN
  845. (ROW_NUMBER() OVER(Order BY OrderTitle DESC))
  846. WHEN N'Undertaker' THEN
  847. (ROW_NUMBER() OVER(Order BY Undertaker))
  848. WHEN N'Undertaker DESC' THEN
  849. (ROW_NUMBER() OVER(Order BY Undertaker DESC))
  850. WHEN N'OrderStatus' THEN
  851. (ROW_NUMBER() OVER(Order BY OrderStatus))
  852. WHEN N'OrderStatus DESC' THEN
  853. (ROW_NUMBER() OVER(Order BY OrderStatus DESC))
  854. WHEN N'PStartDate' THEN
  855. (ROW_NUMBER() OVER(Order BY PStartDate))
  856. WHEN N'PStartDate DESC' THEN
  857. (ROW_NUMBER() OVER(Order BY PStartDate DESC))
  858. WHEN N'PDeadLine' THEN
  859. (ROW_NUMBER() OVER(Order BY PDeadLine))
  860. WHEN N'PDeadLine DESC' THEN
  861. (ROW_NUMBER() OVER(Order BY PDeadLine DESC))
  862. else
  863. (ROW_NUMBER() OVER(Order BY ECOrderNumber))
  864. END AS RowId
  865. ,ECOrderNumber
  866. ,dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) AS ProjectNumber
  867. ,dbo.OFN_AVA_ArgumentValueByArgumentID(OrderType,'OrderType') AS OrderType
  868. ,OrderTitle
  869. ,dbo.OFN_AVA_MemberNameByMemberID(Undertaker) AS Undertaker
  870. ,dbo.OFN_AVA_ArgumentValueByArgumentID(OrderStatus,'OrderSts') AS OrderStatus
  871. ,CONVERT(varchar(100), PStartDate, 111) AS PStartDate
  872. ,CONVERT(varchar(100), PDeadLine, 111) AS PDeadLine
  873. FROM OTB_PRJ_RequestOrder
  874. WHERE (ECOrderNumber LIKE @ECOrderNumber OR @ECOrderNumber IS NULL OR @ECOrderNumber='%%')
  875. AND (OrderType = @OrderType OR @OrderType IS NULL OR @OrderType='')
  876. AND (OrderTitle LIKE @OrderTitle OR @OrderTitle IS NULL OR @OrderTitle='%%')
  877. AND (Undertaker = @Undertaker OR @Undertaker IS NULL OR @Undertaker='')
  878. AND (OrderStatus = @OrderStatus OR @OrderStatus IS NULL OR @OrderStatus='')
  879. AND (OrganizationID = @OrganizationID OR @OrganizationID IS NULL OR @OrganizationID='')
  880. AND (ProjectNumber = @ProjectNumber OR @ProjectNumber IS NULL OR @ProjectNumber='')
  881. ) AS AA
  882. WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex
  883. ORDER BY RowId
  884. SELECT
  885. CASE @SortExpression WHEN N'ECOrderNumber' THEN
  886. (ROW_NUMBER() OVER(Order BY ECOrderNumber))
  887. WHEN N'ECOrderNumber DESC' THEN
  888. (ROW_NUMBER() OVER(Order BY ECOrderNumber DESC))
  889. WHEN N'OrderType' THEN
  890. (ROW_NUMBER() OVER(Order BY OrderType))
  891. WHEN N'OrderType DESC' THEN
  892. (ROW_NUMBER() OVER(Order BY OrderType DESC))
  893. WHEN N'ProjectNumber' THEN
  894. (ROW_NUMBER() OVER(Order BY ProjectNumber))
  895. WHEN N'ProjectNumber DESC' THEN
  896. (ROW_NUMBER() OVER(Order BY ProjectNumber DESC))
  897. WHEN N'OrderTitle' THEN
  898. (ROW_NUMBER() OVER(Order BY OrderTitle))
  899. WHEN N'OrderTitle DESC' THEN
  900. (ROW_NUMBER() OVER(Order BY OrderTitle DESC))
  901. WHEN N'Undertaker' THEN
  902. (ROW_NUMBER() OVER(Order BY Undertaker))
  903. WHEN N'Undertaker DESC' THEN
  904. (ROW_NUMBER() OVER(Order BY Undertaker DESC))
  905. WHEN N'OrderStatus' THEN
  906. (ROW_NUMBER() OVER(Order BY OrderStatus))
  907. WHEN N'OrderStatus DESC' THEN
  908. (ROW_NUMBER() OVER(Order BY OrderStatus DESC))
  909. WHEN N'PStartDate' THEN
  910. (ROW_NUMBER() OVER(Order BY PStartDate))
  911. WHEN N'PStartDate DESC' THEN
  912. (ROW_NUMBER() OVER(Order BY PStartDate DESC))
  913. WHEN N'PDeadLine' THEN
  914. (ROW_NUMBER() OVER(Order BY PDeadLine))
  915. WHEN N'PDeadLine DESC' THEN
  916. (ROW_NUMBER() OVER(Order BY PDeadLine DESC))
  917. else
  918. (ROW_NUMBER() OVER(Order BY ECOrderNumber))
  919. END AS '項次'
  920. ,ECOrderNumber AS '需求變更單單號'
  921. ,dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) AS '專案名稱'
  922. ,dbo.OFN_AVA_ArgumentValueByArgumentID(OrderType,'OrderType') AS '變更單類別'
  923. ,OrderTitle AS '變更單主旨'
  924. ,dbo.OFN_AVA_MemberNameByMemberID(Undertaker) AS '負責工程師'
  925. ,CONVERT(varchar(100), PStartDate, 111) AS '預估開始日期'
  926. ,CONVERT(varchar(100), PDeadLine, 111) AS '預估完成日期'
  927. ,dbo.OFN_AVA_ArgumentValueByArgumentID(OrderStatus,'OrderSts') AS '變更單狀態'
  928. FROM OTB_PRJ_RequestOrder
  929. WHERE (ECOrderNumber LIKE @ECOrderNumber OR @ECOrderNumber IS NULL OR @ECOrderNumber='%%')
  930. AND (OrderType = @OrderType OR @OrderType IS NULL OR @OrderType='')
  931. AND (OrderTitle LIKE @OrderTitle OR @OrderTitle IS NULL OR @OrderTitle='%%')
  932. AND (Undertaker = @Undertaker OR @Undertaker IS NULL OR @Undertaker='')
  933. AND (OrderStatus = @OrderStatus OR @OrderStatus IS NULL OR @OrderStatus='')
  934. AND (OrganizationID = @OrganizationID OR @OrganizationID IS NULL OR @OrganizationID='')
  935. AND (ProjectNumber = @ProjectNumber OR @ProjectNumber IS NULL OR @ProjectNumber='')
  936. ORDER BY '項次'
  937. GO
  938. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  939. GO
  940. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  941. GO
  942. PRINT N'Altering [dbo].[OTB_PRJ_PrjRule]'
  943. GO
  944. ALTER TABLE [dbo].[OTB_PRJ_PrjRule] ADD
  945. [PrjTypeID] [char] (36) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL
  946. GO
  947. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  948. GO
  949. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  950. GO
  951. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjRule_Update]'
  952. GO
  953. ------------------------------------
  954. --
  955. --
  956. --
  957. --2014/9/29 08:37:33
  958. ------------------------------------
  959. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRule_Update]
  960. @OrganizationID varchar(50),
  961. @PrjRuleID char(36),
  962. @PrjRuleEName nvarchar(20),
  963. @PrjRuleCName nvarchar(20),
  964. @ParentID char(36),
  965. @PrjTypeID char(36),
  966. @Memo text,
  967. @CreateUser varchar(50),
  968. @CreateDate datetime,
  969. @ModifyUser varchar(50),
  970. @ModifyDate datetime
  971. AS
  972. UPDATE [OTB_PRJ_PrjRule] SET
  973. [PrjRuleEName] = @PrjRuleEName,[PrjRuleCName] = @PrjRuleCName,[ParentID] = @ParentID,[Memo] = @Memo,[CreateUser] = @CreateUser,[CreateDate] = @CreateDate,[ModifyUser] = @ModifyUser,[ModifyDate] = GETDATE(),PrjTypeID=@PrjTypeID
  974. WHERE OrganizationID=@OrganizationID and PrjRuleID=@PrjRuleID
  975. GO
  976. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  977. GO
  978. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  979. GO
  980. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjRule_GetModel]'
  981. GO
  982. ------------------------------------
  983. --
  984. --
  985. --
  986. --2014/9/29 08:37:33
  987. ------------------------------------
  988. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRule_GetModel]
  989. @OrganizationID varchar(50),
  990. @PrjRuleID char(36)
  991. AS
  992. SELECT
  993. OrganizationID,PrjRuleID,PrjTypeID,PrjRuleEName,PrjRuleCName,ParentID,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate
  994. FROM [OTB_PRJ_PrjRule]
  995. WHERE OrganizationID=@OrganizationID and PrjRuleID=@PrjRuleID
  996. GO
  997. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  998. GO
  999. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1000. GO
  1001. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjRule_GetList]'
  1002. GO
  1003. ------------------------------------
  1004. --
  1005. --MidWeb
  1006. --CreateTed
  1007. --2014/05/26
  1008. ------------------------------------
  1009. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRule_GetList]
  1010. @StartRecordIndex int,
  1011. @EndRecordIndex int,
  1012. @OrganizationID varchar(50),
  1013. @PrjRuleEName varchar(50),
  1014. @PrjRuleCName varchar(50),
  1015. @ParentID varchar(36),
  1016. @SortExpression nvarchar(500)
  1017. AS
  1018. SELECT
  1019. RowId
  1020. ,PrjRuleID,PrjRuleEName,PrjRuleCName,ParentID,Memo
  1021. FROM
  1022. (
  1023. SELECT
  1024. CASE @SortExpression WHEN N'PrjRuleEName' THEN
  1025. (ROW_NUMBER() OVER(Order BY PrjRuleEName))
  1026. WHEN N'PrjRuleEName DESC' THEN
  1027. (ROW_NUMBER() OVER(Order BY PrjRuleEName DESC))
  1028. WHEN N'PrjRuleCName' THEN
  1029. (ROW_NUMBER() OVER(Order BY PrjRuleCName))
  1030. WHEN N'PrjRuleCName DESC' THEN
  1031. (ROW_NUMBER() OVER(Order BY PrjRuleCName DESC))
  1032. WHEN N'ParentID' THEN
  1033. (ROW_NUMBER() OVER(Order BY ParentID))
  1034. WHEN N'ParentID DESC' THEN
  1035. (ROW_NUMBER() OVER(Order BY ParentID DESC))
  1036. WHEN N'Memo' THEN
  1037. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo)))
  1038. WHEN N'Memo DESC' THEN
  1039. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo) DESC))
  1040. ELSE
  1041. (ROW_NUMBER() OVER(Order BY PrjRuleEName))
  1042. END AS RowId
  1043. ,PrjRuleID,PrjRuleEName,PrjRuleCName,(SELECT PrjRuleCName FROM dbo.OTB_PRJ_PrjRule WHERE PrjRuleID=a.ParentID) AS ParentID,Memo
  1044. FROM OTB_PRJ_PrjRule AS a
  1045. WHERE (ParentID = @ParentID OR @ParentID='')
  1046. AND (PrjRuleEName LIKE @PrjRuleEName OR @PrjRuleEName='%%')
  1047. AND (PrjRuleCName LIKE @PrjRuleCName OR @PrjRuleCName='%%')
  1048. AND OrganizationID=@OrganizationID
  1049. ) AS AA
  1050. WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex
  1051. ORDER BY RowId
  1052. SELECT
  1053. CASE @SortExpression WHEN N'PrjRuleEName' THEN
  1054. (ROW_NUMBER() OVER(Order BY PrjRuleEName))
  1055. WHEN N'PrjRuleEName DESC' THEN
  1056. (ROW_NUMBER() OVER(Order BY PrjRuleEName DESC))
  1057. WHEN N'PrjRuleCName' THEN
  1058. (ROW_NUMBER() OVER(Order BY PrjRuleCName))
  1059. WHEN N'PrjRuleCName DESC' THEN
  1060. (ROW_NUMBER() OVER(Order BY PrjRuleCName DESC))
  1061. WHEN N'ParentID' THEN
  1062. (ROW_NUMBER() OVER(Order BY ParentID))
  1063. WHEN N'ParentID DESC' THEN
  1064. (ROW_NUMBER() OVER(Order BY ParentID DESC))
  1065. WHEN N'Memo' THEN
  1066. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo)))
  1067. WHEN N'Memo DESC' THEN
  1068. (ROW_NUMBER() OVER(Order BY CONVERT(nvarchar(2000), Memo) DESC))
  1069. ELSE
  1070. (ROW_NUMBER() OVER(Order BY PrjRuleEName))
  1071. END AS '項次'
  1072. ,PrjRuleEName AS '專案角色英文'
  1073. ,PrjRuleCName AS '專案角色中文'
  1074. ,(SELECT PrjRuleCName FROM dbo.OTB_PRJ_PrjRule WHERE PrjRuleID=a.ParentID) AS '父層編號'
  1075. ,Memo AS '備註'
  1076. FROM OTB_PRJ_PrjRule AS a
  1077. WHERE (ParentID = @ParentID OR @ParentID='')
  1078. AND (PrjRuleEName LIKE @PrjRuleEName OR @PrjRuleEName='%%')
  1079. AND (PrjRuleCName LIKE @PrjRuleCName OR @PrjRuleCName='%%')
  1080. AND OrganizationID=@OrganizationID
  1081. ORDER BY '項次'
  1082. GO
  1083. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1084. GO
  1085. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1086. GO
  1087. PRINT N'Altering [dbo].[OSP_OTB_PRJ_PrjRule_ADD]'
  1088. GO
  1089. ------------------------------------
  1090. --
  1091. --
  1092. --
  1093. --2014/9/29 08:37:33
  1094. ------------------------------------
  1095. ALTER PROCEDURE [dbo].[OSP_OTB_PRJ_PrjRule_ADD]
  1096. @OrganizationID varchar(50),
  1097. @PrjRuleID char(36),
  1098. @PrjRuleEName nvarchar(20),
  1099. @PrjRuleCName nvarchar(20),
  1100. @ParentID char(36),
  1101. @PrjTypeID char(36),
  1102. @Memo text,
  1103. @CreateUser varchar(50),
  1104. @CreateDate datetime,
  1105. @ModifyUser varchar(50),
  1106. @ModifyDate datetime
  1107. AS
  1108. INSERT INTO [OTB_PRJ_PrjRule](
  1109. [OrganizationID],[PrjRuleID],[PrjRuleEName],[PrjRuleCName],[ParentID],[Memo],[CreateUser],[CreateDate],[ModifyUser],[ModifyDate],PrjTypeID
  1110. )VALUES(
  1111. @OrganizationID,NEWID(),@PrjRuleEName,@PrjRuleCName,@ParentID,@Memo,@CreateUser,GETDATE(),@ModifyUser,GETDATE(),@PrjTypeID
  1112. )
  1113. GO
  1114. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1115. GO
  1116. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1117. GO
  1118. PRINT N'Creating [dbo].[OTB_PRJ_Task]'
  1119. GO
  1120. CREATE TABLE [dbo].[OTB_PRJ_Task]
  1121. (
  1122. [OrganizationID] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  1123. [PrgTaskID] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  1124. [PrjWorkTypeID] [varchar] (max) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  1125. [ProjectNumber] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  1126. [ModuleID] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1127. [ProgramID] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1128. [PrgWorkType] [varchar] (200) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL,
  1129. [Title] [nvarchar] (100) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1130. [Note] [nvarchar] (max) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1131. [Memo] [ntext] COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1132. [CreateUser] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1133. [CreateDate] [datetime] NULL,
  1134. [ModifyUser] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
  1135. [ModifyDate] [datetime] NULL
  1136. )
  1137. GO
  1138. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1139. GO
  1140. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1141. GO
  1142. PRINT N'Creating primary key [PK_OTB_PRJ_Task] on [dbo].[OTB_PRJ_Task]'
  1143. GO
  1144. ALTER TABLE [dbo].[OTB_PRJ_Task] ADD CONSTRAINT [PK_OTB_PRJ_Task] PRIMARY KEY CLUSTERED ([OrganizationID], [PrgTaskID])
  1145. GO
  1146. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1147. GO
  1148. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1149. GO
  1150. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_Exists]'
  1151. GO
  1152. ------------------------------------
  1153. --
  1154. --
  1155. --
  1156. --2014/9/30 11:40:16
  1157. ------------------------------------
  1158. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_Task_Exists]
  1159. @OrganizationID varchar(50),
  1160. @PrgTaskID varchar(50)
  1161. AS
  1162. DECLARE @TempID int
  1163. SELECT @TempID = count(1) FROM [OTB_PRJ_Task] WHERE OrganizationID=@OrganizationID and PrgTaskID=@PrgTaskID
  1164. IF @TempID = 0
  1165. RETURN 0
  1166. ELSE
  1167. RETURN 1
  1168. GO
  1169. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1170. GO
  1171. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1172. GO
  1173. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_ADD]'
  1174. GO
  1175. ------------------------------------
  1176. --
  1177. --
  1178. --
  1179. --2014/9/30 11:40:16
  1180. ------------------------------------
  1181. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_Task_ADD]
  1182. @OrganizationID varchar(50),
  1183. @PrgTaskID varchar(50),
  1184. @PrjWorkTypeID varchar(MAX),
  1185. @ProjectNumber varchar(50),
  1186. @ModuleID varchar(50),
  1187. @ProgramID varchar(50),
  1188. @PrgWorkType varchar(200),
  1189. @Title nvarchar(100),
  1190. @Note nvarchar(MAX),
  1191. @Memo ntext,
  1192. @CreateUser varchar(50),
  1193. @CreateDate datetime,
  1194. @ModifyUser varchar(50),
  1195. @ModifyDate datetime
  1196. AS
  1197. INSERT INTO [OTB_PRJ_Task](
  1198. [OrganizationID],[PrgTaskID],[PrjWorkTypeID],[ProjectNumber],[ModuleID],[ProgramID],[PrgWorkType],[Title],[Note],[Memo],[CreateUser],[CreateDate],[ModifyUser],[ModifyDate]
  1199. )VALUES(
  1200. @OrganizationID,NEWID(),@PrjWorkTypeID,@ProjectNumber,@ModuleID,@ProgramID,@PrgWorkType,@Title,@Note,@Memo,@CreateUser,GETDATE(),@ModifyUser,GETDATE()
  1201. )
  1202. GO
  1203. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1204. GO
  1205. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1206. GO
  1207. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_Update]'
  1208. GO
  1209. ------------------------------------
  1210. --
  1211. --
  1212. --
  1213. --2014/9/30 11:40:16
  1214. ------------------------------------
  1215. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_Task_Update]
  1216. @OrganizationID varchar(50),
  1217. @PrgTaskID varchar(50),
  1218. @PrjWorkTypeID varchar(MAX),
  1219. @ProjectNumber varchar(50),
  1220. @ModuleID varchar(50),
  1221. @ProgramID varchar(50),
  1222. @PrgWorkType varchar(200),
  1223. @Title nvarchar(100),
  1224. @Note nvarchar(MAX),
  1225. @Memo ntext,
  1226. @CreateUser varchar(50),
  1227. @CreateDate datetime,
  1228. @ModifyUser varchar(50),
  1229. @ModifyDate datetime
  1230. AS
  1231. UPDATE [OTB_PRJ_Task] SET
  1232. [PrjWorkTypeID] = @PrjWorkTypeID,[ProjectNumber] = @ProjectNumber,[ModuleID] = @ModuleID,[ProgramID] = @ProgramID,[PrgWorkType] = @PrgWorkType,[Title] = @Title,[Note] = @Note,[Memo] = @Memo,[CreateUser] = @CreateUser,[CreateDate] = @CreateDate,[ModifyUser] = @ModifyUser,[ModifyDate] = GETDATE()
  1233. WHERE OrganizationID=@OrganizationID and PrgTaskID=@PrgTaskID
  1234. GO
  1235. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1236. GO
  1237. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1238. GO
  1239. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_Delete]'
  1240. GO
  1241. ------------------------------------
  1242. --
  1243. --
  1244. --
  1245. --2014/9/30 11:40:16
  1246. ------------------------------------
  1247. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_Task_Delete]
  1248. @OrganizationID varchar(50),
  1249. @PrgTaskID varchar(50)
  1250. AS
  1251. DELETE [OTB_PRJ_Task]
  1252. WHERE OrganizationID=@OrganizationID and PrgTaskID=@PrgTaskID
  1253. GO
  1254. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1255. GO
  1256. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1257. GO
  1258. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_GetModel]'
  1259. GO
  1260. ------------------------------------
  1261. --
  1262. --
  1263. --
  1264. --2014/9/30 11:40:16
  1265. ------------------------------------
  1266. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_Task_GetModel]
  1267. @OrganizationID varchar(50),
  1268. @PrgTaskID varchar(50)
  1269. AS
  1270. SELECT
  1271. OrganizationID,PrgTaskID,PrjWorkTypeID,ProjectNumber,ModuleID,ProgramID,PrgWorkType,Title,Note,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate
  1272. FROM [OTB_PRJ_Task]
  1273. WHERE OrganizationID=@OrganizationID and PrgTaskID=@PrgTaskID
  1274. GO
  1275. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1276. GO
  1277. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1278. GO
  1279. PRINT N'Creating [dbo].[OFN_PRJ_PrjWorkTypeCNameByPrjWorkTypeID]'
  1280. GO
  1281. --
  1282. CREATE FUNCTION [dbo].[OFN_PRJ_PrjWorkTypeCNameByPrjWorkTypeID]
  1283. (
  1284. @PrjWorkTypeID varchar(50) --
  1285. )
  1286. RETURNS NVARCHAR(4000)
  1287. AS
  1288. BEGIN
  1289. DECLARE @Value nvarchar(max);
  1290. SET @Value=''
  1291. SELECT @Value = PrjWorkTypeCName
  1292. FROM OTB_PRJ_PrjWorkType
  1293. WHERE PrjWorkTypeID=@PrjWorkTypeID
  1294. -- IF @Value=''
  1295. --SET @Value=''
  1296. --ELSE
  1297. --SET @Value=@Value
  1298. RETURN @Value
  1299. END
  1300. GO
  1301. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1302. GO
  1303. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1304. GO
  1305. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_GetList]'
  1306. GO
  1307. ------------------------------------
  1308. --
  1309. --MidWeb
  1310. --CreateTed
  1311. --2014/05/26
  1312. ------------------------------------
  1313. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_Task_GetList]
  1314. @StartRecordIndex int,
  1315. @EndRecordIndex int,
  1316. @OrganizationID varchar(50),
  1317. @PrjWorkTypeID varchar(50),
  1318. @PrgWorkType varchar(50),
  1319. @SortExpression nvarchar(500),
  1320. @ProjectNumber varchar(36),
  1321. @ModuleID varchar(36),
  1322. @ProgramID varchar(36),
  1323. @Title varchar(36)
  1324. AS
  1325. SELECT
  1326. RowId
  1327. ,PrgTaskID,PrjWorkTypeID,ProjectNumber,ModuleID,ProgramID,PrgWorkType,Title,Note
  1328. FROM
  1329. (
  1330. SELECT
  1331. CASE @SortExpression WHEN N'PrgTaskID' THEN
  1332. (ROW_NUMBER() OVER(Order BY PrgTaskID))
  1333. WHEN N'PrgTaskID DESC' THEN
  1334. (ROW_NUMBER() OVER(Order BY PrgTaskID DESC))
  1335. WHEN N'PrjWorkTypeID' THEN
  1336. (ROW_NUMBER() OVER(Order BY PrjWorkTypeID))
  1337. WHEN N'PrjWorkTypeID DESC' THEN
  1338. (ROW_NUMBER() OVER(Order BY PrjWorkTypeID DESC))
  1339. WHEN N'ProjectNumber' THEN
  1340. (ROW_NUMBER() OVER(Order BY ProjectNumber))
  1341. WHEN N'ProjectNumber DESC' THEN
  1342. (ROW_NUMBER() OVER(Order BY ProjectNumber DESC))
  1343. WHEN N'ModuleID' THEN
  1344. (ROW_NUMBER() OVER(Order BY ModuleID))
  1345. WHEN N'ModuleID DESC' THEN
  1346. (ROW_NUMBER() OVER(Order BY ModuleID DESC))
  1347. WHEN N'ProgramID' THEN
  1348. (ROW_NUMBER() OVER(Order BY ProgramID))
  1349. WHEN N'ProgramID DESC' THEN
  1350. (ROW_NUMBER() OVER(Order BY ProgramID DESC))
  1351. WHEN N'PrgWorkType' THEN
  1352. (ROW_NUMBER() OVER(Order BY PrgWorkType))
  1353. WHEN N'PrgWorkType DESC' THEN
  1354. (ROW_NUMBER() OVER(Order BY PrgWorkType DESC))
  1355. WHEN N'Title' THEN
  1356. (ROW_NUMBER() OVER(Order BY Title))
  1357. WHEN N'Title DESC' THEN
  1358. (ROW_NUMBER() OVER(Order BY Title DESC))
  1359. WHEN N'Note' THEN
  1360. (ROW_NUMBER() OVER(Order BY Note))
  1361. WHEN N'Note DESC' THEN
  1362. (ROW_NUMBER() OVER(Order BY Note DESC))
  1363. ELSE
  1364. (ROW_NUMBER() OVER(Order BY Title))
  1365. END AS RowId
  1366. ,PrgTaskID
  1367. ,PrjWorkTypeID
  1368. ,dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) AS ProjectNumber
  1369. ,dbo.OFN_AVA_ModuleNameByModuleID(ModuleID) AS ModuleID
  1370. ,dbo.OFN_AVA_ProgramNameByProgramID(ProgramID) AS ProgramID
  1371. ,dbo.OFN_AVA_ArgumentValueByArgumentID(PrgWorkType,'PrgWorkTyp') AS PrgWorkType
  1372. ,Title
  1373. ,Note
  1374. FROM [OTB_PRJ_Task] AS a
  1375. WHERE (dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) LIKE @ProjectNumber OR @ProjectNumber='%%')
  1376. AND (dbo.OFN_AVA_ModuleNameByModuleID(ModuleID) LIKE @ModuleID OR @ModuleID='%%')
  1377. AND (dbo.OFN_AVA_ProgramNameByProgramID(ProgramID) LIKE @ProgramID OR @ProgramID='%%')
  1378. AND (dbo.OFN_PRJ_PrjWorkTypeCNameByPrjWorkTypeID(PrjWorkTypeID) LIKE @PrjWorkTypeID OR @PrjWorkTypeID='%%')
  1379. AND (Title LIKE @Title OR @Title='%%')
  1380. AND (PrgWorkType = @PrgWorkType OR @PrgWorkType='')
  1381. AND OrganizationID=@OrganizationID
  1382. ) AS AA
  1383. WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex
  1384. ORDER BY RowId
  1385. SELECT
  1386. CASE @SortExpression WHEN N'PrgTaskID' THEN
  1387. (ROW_NUMBER() OVER(Order BY PrgTaskID))
  1388. WHEN N'PrgTaskID DESC' THEN
  1389. (ROW_NUMBER() OVER(Order BY PrgTaskID DESC))
  1390. WHEN N'PrjWorkTypeID' THEN
  1391. (ROW_NUMBER() OVER(Order BY PrjWorkTypeID))
  1392. WHEN N'PrjWorkTypeID DESC' THEN
  1393. (ROW_NUMBER() OVER(Order BY PrjWorkTypeID DESC))
  1394. WHEN N'ProjectNumber' THEN
  1395. (ROW_NUMBER() OVER(Order BY ProjectNumber))
  1396. WHEN N'ProjectNumber DESC' THEN
  1397. (ROW_NUMBER() OVER(Order BY ProjectNumber DESC))
  1398. WHEN N'ModuleID' THEN
  1399. (ROW_NUMBER() OVER(Order BY ModuleID))
  1400. WHEN N'ModuleID DESC' THEN
  1401. (ROW_NUMBER() OVER(Order BY ModuleID DESC))
  1402. WHEN N'ProgramID' THEN
  1403. (ROW_NUMBER() OVER(Order BY ProgramID))
  1404. WHEN N'ProgramID DESC' THEN
  1405. (ROW_NUMBER() OVER(Order BY ProgramID DESC))
  1406. WHEN N'PrgWorkType' THEN
  1407. (ROW_NUMBER() OVER(Order BY PrgWorkType))
  1408. WHEN N'PrgWorkType DESC' THEN
  1409. (ROW_NUMBER() OVER(Order BY PrgWorkType DESC))
  1410. WHEN N'Title' THEN
  1411. (ROW_NUMBER() OVER(Order BY Title))
  1412. WHEN N'Title DESC' THEN
  1413. (ROW_NUMBER() OVER(Order BY Title DESC))
  1414. WHEN N'Note' THEN
  1415. (ROW_NUMBER() OVER(Order BY Note))
  1416. WHEN N'Note DESC' THEN
  1417. (ROW_NUMBER() OVER(Order BY Note DESC))
  1418. ELSE
  1419. (ROW_NUMBER() OVER(Order BY Title))
  1420. END AS '項次'
  1421. ,Title AS '任務標題'
  1422. ,dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) AS '專案名稱'
  1423. ,dbo.OFN_AVA_ModuleNameByModuleID(ModuleID) AS '模組名稱'
  1424. ,dbo.OFN_AVA_ProgramNameByProgramID(ProgramID) AS '程式名稱'
  1425. ,PrjWorkTypeID AS '專案工作項目'
  1426. ,dbo.OFN_AVA_ArgumentValueByArgumentID(PrgWorkType,'PrgWorkTyp') AS '程式工作項目'
  1427. ,Note AS '任務描述'
  1428. FROM [OTB_PRJ_Task] AS a
  1429. WHERE (dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) LIKE @ProjectNumber OR @ProjectNumber='%%')
  1430. AND (dbo.OFN_AVA_ModuleNameByModuleID(ModuleID) LIKE @ModuleID OR @ModuleID='%%')
  1431. AND (dbo.OFN_AVA_ProgramNameByProgramID(ProgramID) LIKE @ProgramID OR @ProgramID='%%')
  1432. AND (dbo.OFN_PRJ_PrjWorkTypeCNameByPrjWorkTypeID(PrjWorkTypeID) LIKE @PrjWorkTypeID OR @PrjWorkTypeID='%%')
  1433. AND (Title LIKE @Title OR @Title='%%')
  1434. AND (PrgWorkType = @PrgWorkType OR @PrgWorkType='')
  1435. AND OrganizationID=@OrganizationID
  1436. ORDER BY '項次'
  1437. GO
  1438. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1439. GO
  1440. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1441. GO
  1442. PRINT N'Creating [dbo].[OSP_OTB_PRJ_Task_GetListCount]'
  1443. GO
  1444. --
  1445. --OPMSDB
  1446. --CreateAlina
  1447. --2014/08/02
  1448. CREATE PROC [dbo].[OSP_OTB_PRJ_Task_GetListCount]
  1449. @OrganizationID varchar(50),
  1450. @PrjWorkTypeID varchar(50),
  1451. @PrgWorkType varchar(50),
  1452. @ProjectNumber varchar(36),
  1453. @ModuleID varchar(36),
  1454. @ProgramID varchar(36),
  1455. @Title varchar(36)
  1456. AS
  1457. SELECT COUNT(0)
  1458. FROM [OTB_PRJ_Task] AS a
  1459. WHERE (dbo.OFN_AVA_ProjectNameByProjectNumber(ProjectNumber) LIKE @ProjectNumber OR @ProjectNumber='%%')
  1460. AND (dbo.OFN_AVA_ModuleNameByModuleID(ModuleID) LIKE @ModuleID OR @ModuleID='%%')
  1461. AND (dbo.OFN_AVA_ProgramNameByProgramID(ProgramID) LIKE @ProgramID OR @ProgramID='%%')
  1462. AND (dbo.OFN_PRJ_PrjWorkTypeCNameByPrjWorkTypeID(PrjWorkTypeID) LIKE @PrjWorkTypeID OR @PrjWorkTypeID='%%')
  1463. AND (Title LIKE @Title OR @Title='%%')
  1464. AND (PrgWorkType = @PrgWorkType OR @PrgWorkType='')
  1465. AND OrganizationID=@OrganizationID
  1466. GO
  1467. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1468. GO
  1469. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1470. GO
  1471. PRINT N'Creating [dbo].[OSP_Common_GetWorkTypeList]'
  1472. GO
  1473. ------------------------------------
  1474. --
  1475. --MidWeb
  1476. --CreateJohn
  1477. --2014/09/30
  1478. ------------------------------------
  1479. CREATE PROCEDURE [dbo].[OSP_Common_GetWorkTypeList]
  1480. @PrjTypeID varchar(50),
  1481. @OrganizationID NVARCHAR(50)
  1482. AS
  1483. SELECT DISTINCT PrjWorkTypeID AS ID, PrjWorkTypeCName as NAME
  1484. FROM OTB_PRJ_PrjWorkType
  1485. WHERE PrjTypeID =@PrjTypeID AND OrganizationID=@OrganizationID
  1486. ORDER BY NAME
  1487. GO
  1488. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1489. GO
  1490. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1491. GO
  1492. PRINT N'Creating [dbo].[OSP_Common_GetProgramNameListByModuleID]'
  1493. GO
  1494. ------------------------------------
  1495. --
  1496. --
  1497. --CreateJohn
  1498. --2014/09/30
  1499. -- exec OSP_Common_GetProgramListByRuleId 'admin','AA'
  1500. ------------------------------------
  1501. CREATE PROCEDURE [dbo].[OSP_Common_GetProgramNameListByModuleID]
  1502. @ModuleID VARCHAR(50)
  1503. ,@OrganizationID VARCHAR(50)
  1504. AS
  1505. SELECT ProgramID,ProgramName FROM OTB_PRJ_ProgramList WHERE ModuleID=@ModuleID AND OrganizationID=@OrganizationID ORDER BY ProgramName
  1506. GO
  1507. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1508. GO
  1509. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1510. GO
  1511. PRINT N'Creating [dbo].[OSP_OTB_PRJ_ProjectInfo_GetWorkTypeByPrjtType]'
  1512. GO
  1513. CREATE PROCEDURE [dbo].[OSP_OTB_PRJ_ProjectInfo_GetWorkTypeByPrjtType]
  1514. @PrjtTypeID NVARCHAR(50),
  1515. @OrganizationID VARCHAR(50)
  1516. AS
  1517. SELECT PrjWorkTypeID,PrjWorkTypeEName FROM dbo.OTB_PRJ_PrjWorkType WHERE OrganizationID=@OrganizationID AND PrjTypeID=@PrjtTypeID
  1518. GO
  1519. IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
  1520. GO
  1521. IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
  1522. GO
  1523. IF EXISTS (SELECT * FROM #tmpErrors) ROLLBACK TRANSACTION
  1524. GO
  1525. IF @@TRANCOUNT>0 BEGIN
  1526. PRINT 'The database update succeeded'
  1527. COMMIT TRANSACTION
  1528. END
  1529. ELSE PRINT 'The database update failed'
  1530. GO
  1531. DROP TABLE #tmpErrors
  1532. GO