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.

1128 lines
49 KiB

9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ProcMobileConfig] Script Date: 3/12/2024 5:46:31 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[ProcMobileConfig] (
  9. @Flag VARCHAR(30)
  10. ,@User VARCHAR(80) = NULL
  11. ,@GroupName VARCHAR(100) = NULL
  12. ,@GroupDetail VARCHAR(150) = NULL
  13. ,@BroadcastTypeId INT = NULL
  14. ,@CustomerGroupIds VARCHAR(200) = NULL
  15. ,@Title NVARCHAR(100) = NULL
  16. ,@Body NVARCHAR(MAX) = NULL
  17. ,@ImageURL VARCHAR(150) = NULL
  18. ,@ScheduleDate VARCHAR(30) = NULL
  19. ,@SortBy VARCHAR(50) = NULL
  20. ,@SortOrder VARCHAR(5) = NULL
  21. ,@PageSize INT = NULL
  22. ,@PageNumber INT = NULL
  23. ,@RowId INT = NULL
  24. ,@Xml XML = NULL
  25. ,@CustomerId BIGINT = NULL
  26. ,@isRepush VARCHAR(1) = NULL
  27. ,@notificationType VARCHAR(50) = NULL
  28. ,@msgType VARCHAR(25) = NULL
  29. ,@customerType VARCHAR(25) = NULL
  30. ,@nativeCountry VARCHAR(3) = NULL
  31. )
  32. AS
  33. ;
  34. ------------------------------------------------
  35. -- #101 - Mobile Changes
  36. -- Delete customer from group
  37. -- #1048 - BROADCAST FOR SINGLE CUSTOMER , changes in @flag = 'I-BROADCAST' , 'U-BROADCAST' , 'RE-PUSH'
  38. -- #9490 - puch -notification for individual customers
  39. -- #20484- broadcast by country , @flag = groupForCountry
  40. ------------------------------------------------
  41. SET NOCOUNT ON;
  42. SET XACT_ABORT ON;
  43. BEGIN
  44. DECLARE @SelectFieldList VARCHAR(MAX)
  45. ,@ExtraFieldList VARCHAR(MAX)
  46. ,@Table VARCHAR(MAX)
  47. ,@SqlFilter VARCHAR(MAX)
  48. DECLARE @customerIdForPush VARCHAR(50)
  49. ,@deviceId VARCHAR(MAX)
  50. ,@entrytype VARCHAR(20)
  51. IF @BroadCastTypeId = '0'
  52. SET @BroadCastTypeId = NULL
  53. IF @Flag = 'I'
  54. BEGIN
  55. SELECT 'A'
  56. END
  57. ELSE IF @Flag = 'I-GROUP'
  58. BEGIN
  59. INSERT INTO CustomerGroup (
  60. GroupName
  61. ,GroupDetail
  62. ,BroadcastTypeId
  63. ,CreatedBy
  64. ,CreatedDate
  65. ,IsActive
  66. )
  67. SELECT @GroupName
  68. ,@GroupDetail
  69. ,@BroadcastTypeId
  70. ,@User
  71. ,GETDATE()
  72. ,1
  73. SELECT 0
  74. ,'Success'
  75. ,NULL
  76. END
  77. ELSE IF @Flag = 'S-GROUP-SINGLE'
  78. BEGIN
  79. SELECT *
  80. FROM CustomerGroup(NOLOCK)
  81. WHERE RowId = @RowId
  82. END
  83. ELSE IF @Flag = 'U-GROUP'
  84. BEGIN
  85. UPDATE CustomerGroup
  86. SET GroupName = @GroupName
  87. ,GroupDetail = @GroupDetail
  88. ,BroadcastTypeId = @BroadcastTypeId
  89. ,ModifiedBy = @User
  90. ,ModifiedDate = GETDATE()
  91. WHERE RowId = @RowId
  92. SELECT 0
  93. ,'Success'
  94. ,NULL
  95. END
  96. ELSE IF @Flag = 'DDL-GROUP'
  97. BEGIN
  98. SELECT GroupName
  99. ,RowId
  100. FROM CustomerGroup(NOLOCK)
  101. WHERE IsActive = 1
  102. END
  103. ELSE IF @Flag = 'DDL-STATIC'
  104. BEGIN
  105. SELECT '0' [value]
  106. ,'Select' [text]
  107. UNION ALL
  108. SELECT valueId [value]
  109. ,detailTitle [text]
  110. FROM staticDataValue(NOLOCK)
  111. WHERE ISNULL(IsActive, 'Y') = 'Y'
  112. AND ISNULL(IS_DELETE, 'N') = 'N'
  113. AND typeId = 8105
  114. END
  115. ELSE IF @Flag = 'DELETE'
  116. BEGIN
  117. SELECT @BroadcastTypeId = BroadcastTypeId
  118. FROM BroadCastNotification(NOLOCK)
  119. WHERE RowId = @RowId
  120. UPDATE BroadCastNotification
  121. SET IsActive = CASE
  122. WHEN IsActive = 0
  123. THEN 1
  124. ELSE 0
  125. END
  126. ,ModifiedBy = @User
  127. ,ModifiedDate = GETDATE()
  128. WHERE RowId = @RowId
  129. INSERT INTO BroadCastNotificationLog (
  130. BroadCastId
  131. ,CreatedBy
  132. ,CreatedDate
  133. ,ResponseMessage
  134. )
  135. VALUES (
  136. @RowId
  137. ,@user
  138. ,GETDATE()
  139. ,@BroadcastTypeId
  140. )
  141. SELECT 0
  142. ,'Success'
  143. ,NULL
  144. END
  145. ELSE IF @Flag = 'DELETE-GROUP'
  146. BEGIN
  147. UPDATE CustomerGroup
  148. SET IsActive = CASE
  149. WHEN IsActive = 0
  150. THEN 1
  151. ELSE 0
  152. END
  153. ,ModifiedBy = @User
  154. ,ModifiedDate = GETDATE()
  155. WHERE RowId = @RowId
  156. SELECT 0
  157. ,'Success'
  158. ,NULL
  159. END
  160. ELSE IF @Flag = 'I-BROADCAST'
  161. BEGIN
  162. IF @CustomerGroupIds IS NULL
  163. BEGIN
  164. SET @CustomerGroupIds = '0'
  165. END
  166. INSERT INTO BroadCastNotification (
  167. BroadcastTypeId
  168. ,CustomerGroupIds
  169. ,Title
  170. ,Body
  171. ,ImageURL
  172. ,IsSent
  173. ,CreatedBy
  174. ,CreatedDate
  175. ,ScheduleDate
  176. ,IsActive
  177. ,customerId
  178. ,notificationType
  179. ,messageType
  180. )
  181. SELECT @BroadcastTypeId
  182. ,@CustomerGroupIds
  183. ,@Title
  184. ,@Body
  185. ,@ImageURL
  186. ,0
  187. ,@User
  188. ,GETDATE()
  189. ,@ScheduleDate
  190. ,1
  191. ,@CustomerId
  192. ,@notificationType
  193. ,@msgType
  194. SET @RowId = @@IDENTITY
  195. IF @CustomerId IS NOT NULL
  196. BEGIN
  197. INSERT INTO pushNotificationHistroy (
  198. customerId
  199. ,body
  200. ,title
  201. ,createDate
  202. ,imageURL
  203. ,sentId
  204. ,Type
  205. ,isReservation
  206. ,isRead
  207. ,isSend
  208. ,category
  209. ,url
  210. ,isClickable
  211. )
  212. SELECT @customerid
  213. ,@Body
  214. ,@Title
  215. ,getdate()
  216. ,''
  217. ,@RowId
  218. ,0
  219. ,0
  220. ,0
  221. ,0
  222. ,@msgType
  223. ,@ImageURL
  224. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  225. END
  226. ELSE
  227. BEGIN
  228. INSERT INTO pushNotificationHistroy (
  229. customerId
  230. ,body
  231. ,title
  232. ,createDate
  233. ,imageURL
  234. ,sentId
  235. ,Type
  236. ,isReservation
  237. ,isRead
  238. ,isSend
  239. ,category
  240. ,url
  241. ,isClickable
  242. )
  243. SELECT DISTINCT customerid
  244. ,@Body
  245. ,@Title
  246. ,getdate()
  247. ,''
  248. ,@RowId
  249. ,0
  250. ,0
  251. ,0
  252. ,0
  253. ,@msgType
  254. ,@ImageURL
  255. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  256. FROM CustomerGroupDetail
  257. WHERE GroupId = @CustomerGroupIds
  258. END
  259. --INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  260. --select ISNULL(@customerid,@CustomerGroupIds),@Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  261. SELECT 0
  262. ,'Success'
  263. ,@RowId
  264. END
  265. ELSE IF @Flag = 'U-BROADCAST'
  266. BEGIN
  267. IF @CustomerGroupIds IS NULL
  268. BEGIN
  269. SET @CustomerGroupIds = '0'
  270. END
  271. UPDATE BroadCastNotification
  272. SET BroadcastTypeId = @BroadcastTypeId
  273. ,Title = @Title
  274. ,Body = @Body
  275. ,ImageURL = @ImageURL
  276. ,ModifiedBy = @User
  277. ,ModifiedDate = GETDATE()
  278. ,notificationType = @notificationType
  279. ,messageType = @msgType
  280. WHERE RowId = @RowId
  281. SELECT 0
  282. ,'Success'
  283. ,NULL
  284. END
  285. ELSE IF @Flag = 'U-B-GROUP'
  286. BEGIN
  287. UPDATE BroadCastNotification
  288. SET CustomerGroupIds = @CustomerGroupIds
  289. ,ModifiedBy = @User
  290. ,ModifiedDate = GETDATE()
  291. WHERE RowId = @RowId
  292. SELECT 0
  293. ,'Success'
  294. ,NULL
  295. END
  296. ELSE IF @Flag = 'S-BROADCAST-SINGLE'
  297. BEGIN
  298. SELECT *
  299. FROM BroadCastNotification(NOLOCK)
  300. WHERE RowId = @RowId
  301. END
  302. ELSE IF @Flag = 'S-BROADCAST'
  303. BEGIN
  304. IF @SortBy IS NULL
  305. SET @SortBy = 'CreatedDate'
  306. IF @SortOrder IS NULL
  307. SET @SortOrder = 'DESC'
  308. SET @table = '(
  309. SELECT BN.RowId
  310. ,customer = CASE WHEN bn.customerid is not null then cm.fullName else cg.GroupName END
  311. ,BN.Title
  312. ,BN.ImageURL
  313. ,IsSent = CASE WHEN IsSent = 0 THEN ''No'' WHEN IsSent = 1 THEN ''Yes'' ELSE ''Failed'' END
  314. ,BN.CreatedDate
  315. ,BN.ScheduleDate
  316. ,BN.CreatedBy
  317. ,IsActive = CASE WHEN BN.IsActive = 0 THEN ''No'' ELSE ''Yes'' END
  318. ,BroadCastType = SV.DetailTitle
  319. ,BN.CustomerGroupIds
  320. ,BN.BroadcastTypeId
  321. FROM BroadCastNotification BN (NOLOCK)
  322. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BN.BroadcastTypeId = SV.ValueId
  323. LEFT JOIN dbo.CustomerGroup CG(NOLOCK) ON cg.RowId = BN.customerGroupIds
  324. LEFT JOIN dbo.CustomerMaster CM (NOLOCK) ON cm.customerId = ISNULL(BN.customerId,'''')
  325. WHERE 1 = 1 AND BN.isActive = 1 AND ISNULL(BN.entryType,'''') = ''''
  326. )x'
  327. SET @SqlFilter = ''
  328. IF @BroadCastTypeId IS NOT NULL
  329. SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + ''''
  330. IF @Title IS NOT NULL
  331. SET @SqlFilter += ' AND X.Title LIKE ''' + @Title + '%'''
  332. SET @SelectFieldList = 'RowId, Title, ImageURL, IsSent, CreatedBy, CreatedDate, ScheduleDate, IsActive
  333. ,BroadCastType, CustomerGroupIds, customer'
  334. EXEC dbo.proc_paging @table
  335. ,@SqlFilter
  336. ,@SelectFieldList
  337. ,@ExtraFieldList
  338. ,@sortBy
  339. ,@sortOrder
  340. ,@pageSize
  341. ,@pageNumber
  342. END
  343. ELSE IF @Flag = 'S-GROUP'
  344. BEGIN
  345. IF @SortBy IS NULL
  346. SET @SortBy = 'CreatedDate'
  347. IF @SortOrder IS NULL
  348. SET @SortOrder = 'DESC'
  349. SET @table = '(
  350. SELECT CG.RowId
  351. ,CG.GroupName
  352. ,CG.GroupDetail
  353. ,CG.CreatedDate
  354. ,CG.CreatedBy
  355. ,IsActive = CASE WHEN CG.IsActive = 0 THEN ''No'' ELSE ''Yes'' END
  356. ,BroadCastType = SV.DetailTitle
  357. ,BroadcastTypeId
  358. FROM CustomerGroup CG (NOLOCK)
  359. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON CG.BroadcastTypeId = SV.ValueId
  360. WHERE 1 = 1
  361. )x'
  362. SET @SqlFilter = ''
  363. IF @BroadCastTypeId IS NOT NULL
  364. SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + ''''
  365. IF @GroupName IS NOT NULL
  366. SET @SqlFilter += ' AND X.GroupName LIKE ''' + @GroupName + '%'''
  367. SET @SelectFieldList = 'RowId, GroupName, GroupDetail, CreatedDate, CreatedBy, IsActive, BroadCastType'
  368. EXEC dbo.proc_paging @table
  369. ,@SqlFilter
  370. ,@SelectFieldList
  371. ,@ExtraFieldList
  372. ,@sortBy
  373. ,@sortOrder
  374. ,@pageSize
  375. ,@pageNumber
  376. END
  377. ELSE IF @Flag = 'GROUP-LIST'
  378. BEGIN
  379. IF @RowId IS NULL
  380. BEGIN
  381. SELECT CG.GroupName
  382. ,CG.RowId
  383. ,IsSelected = 'N'
  384. FROM CustomerGroup CG(NOLOCK)
  385. WHERE CG.IsActive = 1
  386. AND CG.BroadcastTypeId = @BroadcastTypeId
  387. RETURN;
  388. END
  389. IF @BroadcastTypeId IS NULL
  390. SELECT @BroadcastTypeId = BroadcastTypeId
  391. FROM BroadCastNotification(NOLOCK)
  392. WHERE RowId = @RowId
  393. SELECT B.RowId
  394. ,SPL.value customerGroupId
  395. INTO #GROUP_MAPPED
  396. FROM BroadCastNotification B
  397. CROSS APPLY DBO.Split(',', B.CustomerGroupIds) SPL
  398. WHERE B.RowId = @RowId
  399. SELECT CG.GroupName
  400. ,CG.RowId
  401. ,IsSelected = CASE
  402. WHEN G.RowId IS NULL
  403. THEN 'N'
  404. ELSE 'Y'
  405. END
  406. FROM CustomerGroup CG(NOLOCK)
  407. LEFT JOIN #GROUP_MAPPED G ON CG.RowId = G.customerGroupId
  408. WHERE CG.IsActive = 1
  409. AND CG.BroadcastTypeId = @BroadcastTypeId
  410. END
  411. ELSE IF @Flag = 'UPLOAD-CUSTOMER'
  412. BEGIN
  413. IF @RowId IS NULL
  414. BEGIN
  415. SELECT 1
  416. ,'Invalid Customer group type!'
  417. ,NULL
  418. RETURN
  419. END
  420. SELECT membershipId = p.value('@membershipid', 'VARCHAR(100)')
  421. INTO #TEMP_CUSTOMER
  422. FROM @xml.nodes('/root/row') AS tmp(p);
  423. DELETE TMP
  424. FROM #TEMP_CUSTOMER TMP
  425. INNER JOIN customerMaster CM(NOLOCK) ON CM.membershipId = TMP.membershipId
  426. INNER JOIN CustomerGroupDetail CD(NOLOCK) ON CD.CustomerId = CM.customerId
  427. WHERE CD.GroupId = @RowId
  428. INSERT INTO CustomerGroupDetail (
  429. GroupId
  430. ,CustomerId
  431. ,CreatedBy
  432. ,CreatedDate
  433. )
  434. SELECT @RowId
  435. ,CM.customerId
  436. ,@User
  437. ,GETDATE()
  438. FROM #TEMP_CUSTOMER T
  439. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.membershipId = T.membershipId
  440. SELECT 0
  441. ,'Success'
  442. ,NULL
  443. END
  444. ELSE IF @Flag = 'UPLOAD-CUSTOMER-SINGLE'
  445. BEGIN
  446. IF @RowId IS NULL
  447. BEGIN
  448. SELECT 1
  449. ,'Invalid Customer group type!'
  450. ,NULL
  451. RETURN
  452. END
  453. IF NOT EXISTS (
  454. SELECT *
  455. FROM CUSTOMERMASTER(NOLOCK)
  456. WHERE CUSTOMERID = @CustomerId
  457. )
  458. BEGIN
  459. SELECT 1
  460. ,'Invalid customer!'
  461. ,NULL
  462. RETURN
  463. END
  464. IF EXISTS (
  465. SELECT *
  466. FROM CustomerGroupDetail(NOLOCK)
  467. WHERE CustomerId = @CustomerId
  468. AND GroupId = @RowId
  469. )
  470. BEGIN
  471. SELECT 1
  472. ,'Customer Already added!'
  473. ,NULL
  474. RETURN
  475. END
  476. INSERT INTO CustomerGroupDetail (
  477. GroupId
  478. ,CustomerId
  479. ,CreatedBy
  480. ,CreatedDate
  481. )
  482. SELECT @RowId
  483. ,@CustomerId
  484. ,@User
  485. ,GETDATE()
  486. SELECT 0
  487. ,'Success'
  488. ,NULL
  489. END
  490. ELSE IF @Flag = 'CUSTOMER-LIST'
  491. BEGIN
  492. SELECT FullName = CM.FullName + ' | ' + CM.membershipId
  493. ,RowId = RowId
  494. FROM CustomerGroupDetail CD(NOLOCK)
  495. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.customerId = CD.CustomerId
  496. WHERE GroupId = @RowId
  497. END
  498. ELSE IF @Flag = 'BROADCAST-DETAIL'
  499. BEGIN
  500. SELECT RowId
  501. ,Title = SV.detailTitle + ': ' + BC.Title
  502. ,BC.Body
  503. FROM BroadCastNotification BC(NOLOCK)
  504. INNER JOIN dbo.StaticDataValue SV(NOLOCK) ON BC.BroadcastTypeId = SV.ValueId
  505. WHERE RowId = @RowId
  506. END
  507. ELSE IF @Flag = 'DELETE-CUSTOMER-FROM-GROUP' --added on feb 26
  508. BEGIN
  509. DELETE
  510. FROM CustomerGroupDetail
  511. WHERE RowId = @rowid
  512. IF @@ROWCOUNT = 0
  513. PRINT 'Customer ID not found'
  514. ELSE
  515. SELECT 0 ErrorCode
  516. ,'Customer Deleted Successfully' Msg
  517. ,@rowid RowId
  518. RETURN
  519. END
  520. ELSE IF @Flag = 'RE-PUSH'
  521. BEGIN
  522. SELECT @BroadcastTypeId = BroadcastTypeId
  523. ,@ImageURL = ImageURL
  524. ,@Body = Body
  525. ,@Title = Title
  526. ,@CustomerGroupIds = CustomerGroupIds
  527. ,@msgType = messageType
  528. ,@entrytype = entryType
  529. FROM BroadCastNotification(NOLOCK)
  530. WHERE RowId = @RowId
  531. IF @BroadcastTypeId IS NULL
  532. BEGIN
  533. SELECT 1
  534. ,'Invalid data!'
  535. ,NULL
  536. RETURN
  537. END
  538. SELECT @CustomerId = CUSTOMERID
  539. FROM BroadCastNotification BC(NOLOCK)
  540. WHERE RowId = @RowId
  541. IF @CustomerId IS NOT NULL
  542. BEGIN
  543. SELECT RowId
  544. ,BC.Title
  545. ,BC.Body
  546. ,IsBulkNotification = 'false'
  547. ,SV.detailTitle AS BroadcastTypeId
  548. ,BC.ImageURL AS NavigateURL
  549. ,BC.notificationType AS ClickActivity --added on 25th feb
  550. ,BC.messageType AS MessageType
  551. FROM BroadCastNotification BC(NOLOCK)
  552. INNER JOIN dbo.StaticDataValue SV(NOLOCK) ON BC.BroadcastTypeId = SV.ValueId
  553. WHERE RowId = @RowId
  554. IF @BroadcastTypeId = 11430 --EMAIL
  555. BEGIN
  556. SELECT SendTo = CM.userName
  557. ,DeviceType = ISNULL(USR.DeviceType, 'Android')
  558. FROM CUSTOMERMASTER CM(NOLOCK)
  559. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  560. WHERE cm.customerId = @CustomerId
  561. END
  562. ELSE IF @BroadcastTypeId = 11429 --PUSH
  563. BEGIN
  564. SELECT SendTo = USR.deviceId
  565. ,DeviceType = ISNULL(USR.DeviceType, 'Android')
  566. FROM CUSTOMERMASTER CM(NOLOCK)
  567. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  568. WHERE cm.customerId = @CustomerId
  569. END
  570. END
  571. ELSE
  572. BEGIN
  573. PRINT @BroadcastTypeId;
  574. SELECT RowId
  575. ,BC.Title
  576. ,BC.Body
  577. ,IsBulkNotification = 'true'
  578. ,SV.detailTitle AS BroadcastTypeId
  579. ,BC.ImageURL AS NavigateURL
  580. ,BC.notificationType AS ClickActivity --added on 25th feb
  581. ,BC.messageType AS MessageType
  582. FROM BroadCastNotification BC(NOLOCK)
  583. INNER JOIN dbo.StaticDataValue SV(NOLOCK) ON BC.BroadcastTypeId = SV.ValueId
  584. WHERE RowId = @RowId
  585. SELECT BN.RowId
  586. ,SPL.value customerGroupId
  587. INTO #TmpCustomerGroupIds
  588. FROM BroadCastNotification BN(NOLOCK)
  589. CROSS APPLY DBO.Split(',', BN.CustomerGroupIds) SPL
  590. WHERE BN.RowId = @RowId
  591. IF @BroadcastTypeId = 11430 --EMAIL
  592. BEGIN
  593. SELECT SendTo = CM.userName
  594. ,DeviceType = ISNULL(USR.DeviceType, 'Android')
  595. FROM #TmpCustomerGroupIds TMP
  596. INNER JOIN CustomerGroupDetail CGD(NOLOCK) ON CGD.GroupId = TMP.customerGroupId
  597. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CGD.CustomerId
  598. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  599. END
  600. ELSE IF @BroadcastTypeId = 11429 --PUSH
  601. BEGIN
  602. IF EXISTS (
  603. SELECT TOP 1 1
  604. FROM countryMaster(NOLOCK)
  605. WHERE CAST(countryId AS VARCHAR) = @entrytype
  606. )
  607. BEGIN
  608. SELECT customerId
  609. INTO #tempCustomer
  610. FROM pushNotificationHistroy
  611. WHERE sentId = @RowId
  612. SELECT SendTo = USR.deviceId
  613. ,DeviceType = ISNULL(USR.DeviceType, 'Android')
  614. INTO #Finaltbl1
  615. FROM #tempCustomer TMP
  616. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = TMP.CustomerId
  617. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  618. AND usr.deviceId IS NOT NULL
  619. SELECT *
  620. FROM (
  621. SELECT *
  622. ,RANK() OVER (
  623. PARTITION BY SendTo ORDER BY DeviceType
  624. ) rank
  625. FROM #Finaltbl1
  626. ) T
  627. WHERE rank = 1
  628. END
  629. ELSE IF @entrytype = 'ALL_CNTRY'
  630. BEGIN
  631. SELECT customerId
  632. INTO #tempCustomer4
  633. FROM pushNotificationHistroy
  634. WHERE sentId = @RowId
  635. SELECT SendTo = USR.deviceId
  636. ,DeviceType = ISNULL(USR.DeviceType, 'Android')
  637. INTO #Finaltbl4
  638. FROM #tempCustomer4 TMP
  639. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = TMP.CustomerId
  640. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  641. AND usr.deviceId IS NOT NULL
  642. SELECT *
  643. FROM (
  644. SELECT *
  645. ,RANK() OVER (
  646. PARTITION BY SendTo ORDER BY DeviceType
  647. ) rank
  648. FROM #Finaltbl4
  649. ) T
  650. WHERE rank = 1
  651. END
  652. ELSE
  653. BEGIN
  654. SELECT SendTo = USR.deviceId
  655. ,DeviceType = ISNULL(USR.DeviceType, 'Android')
  656. INTO #Finaltbl
  657. FROM #TmpCustomerGroupIds TMP
  658. INNER JOIN CustomerGroupDetail CGD(NOLOCK) ON CGD.GroupId = TMP.customerGroupId
  659. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CGD.CustomerId
  660. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  661. AND usr.deviceId IS NOT NULL
  662. SELECT *
  663. FROM (
  664. SELECT *
  665. ,RANK() OVER (
  666. PARTITION BY SendTo ORDER BY DeviceType
  667. ) rank
  668. FROM #Finaltbl
  669. ) T
  670. WHERE rank = 1
  671. END
  672. END
  673. END
  674. IF @isRepush = 'Y'
  675. BEGIN
  676. PRINT @BroadcastTypeId;
  677. INSERT INTO BroadCastNotificationLog (
  678. BroadCastId
  679. ,CreatedBy
  680. ,CreatedDate
  681. ,ResponseMessage
  682. )
  683. VALUES (
  684. @RowId
  685. ,@user
  686. ,GETDATE()
  687. ,@BroadcastTypeId
  688. )
  689. IF @BroadcastTypeId = 11429 -- add notify
  690. BEGIN
  691. IF @CustomerId IS NOT NULL
  692. BEGIN
  693. INSERT INTO pushNotificationHistroy (
  694. customerId
  695. ,body
  696. ,title
  697. ,createDate
  698. ,imageURL
  699. ,sentId
  700. ,Type
  701. ,isReservation
  702. ,isRead
  703. ,isSend
  704. ,category
  705. ,url
  706. ,isClickable
  707. )
  708. SELECT @customerid
  709. ,@Body
  710. ,@Title
  711. ,getdate()
  712. ,''
  713. ,@RowId
  714. ,0
  715. ,0
  716. ,0
  717. ,0
  718. ,@msgType
  719. ,@ImageURL
  720. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  721. END
  722. ELSE
  723. BEGIN
  724. INSERT INTO pushNotificationHistroy (
  725. customerId
  726. ,body
  727. ,title
  728. ,createDate
  729. ,imageURL
  730. ,sentId
  731. ,Type
  732. ,isReservation
  733. ,isRead
  734. ,isSend
  735. ,category
  736. ,url
  737. ,isClickable
  738. )
  739. SELECT DISTINCT customerid
  740. ,@Body
  741. ,@Title
  742. ,getdate()
  743. ,''
  744. ,@RowId
  745. ,0
  746. ,0
  747. ,0
  748. ,0
  749. ,@msgType
  750. ,@ImageURL
  751. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  752. FROM CustomerGroupDetail
  753. WHERE GroupId = @CustomerGroupIds
  754. END
  755. END
  756. END
  757. END
  758. ELSE IF @Flag = 'IN-BROADCAST'
  759. BEGIN
  760. IF @customerType IN (
  761. 'nativeCountry'
  762. ,'ALL'
  763. )
  764. BEGIN
  765. INSERT INTO BroadCastNotification (
  766. BroadcastTypeId
  767. ,CustomerGroupIds
  768. ,Title
  769. ,Body
  770. ,ImageURL
  771. ,IsSent
  772. ,CreatedBy
  773. ,CreatedDate
  774. ,ScheduleDate
  775. ,IsActive
  776. ,customerId
  777. ,notificationType
  778. ,messageType
  779. ,entryType
  780. )
  781. SELECT '11429'
  782. ,'0'
  783. ,'IME London Notification'
  784. ,@Body
  785. ,@ImageURL
  786. ,0
  787. ,@User
  788. ,GETDATE()
  789. ,@ScheduleDate
  790. ,1
  791. ,@CustomerId
  792. ,'OPEN_ACTIVITY_DASHBOARD'
  793. ,@msgType
  794. ,CASE cast(@nativeCountry AS VARCHAR)
  795. WHEN 'ALL'
  796. THEN 'ALL_CNTRY'
  797. ELSE cast(@nativeCountry AS VARCHAR)
  798. END
  799. SET @RowId = @@IDENTITY
  800. SELECT DISTINCT deviceId
  801. ,cm.customerid
  802. ,isInserted = 0
  803. INTO #tempCustomer1
  804. FROM CUSTOMERMASTER(NOLOCK) cm
  805. INNER JOIN mobile_userRegistration(NOLOCK) MU ON mu.customerId = cm.customerId
  806. WHERE CASE @nativeCountry
  807. WHEN 'ALL'
  808. THEN 1
  809. ELSE CAST(cm.country AS VARCHAR)
  810. END = CASE @nativeCountry
  811. WHEN 'ALL'
  812. THEN 1
  813. ELSE @nativeCountry
  814. END
  815. AND isnull(isactive, 'N') = 'Y'
  816. AND mu.deviceId IS NOT NULL
  817. AND cm.mobileApprovedDate IS NOT NULL
  818. --and email in( 'Kewal@imelondon.uk.co','stha@yopmail.com')
  819. WHILE EXISTS (
  820. SELECT TOP 1 1
  821. FROM #tempCustomer1
  822. WHERE isInserted = 0
  823. )
  824. BEGIN
  825. -- print 'a'
  826. SELECT @customerIdForPush = customerId
  827. ,@deviceId = deviceId
  828. FROM #tempCustomer1(NOLOCK)
  829. WHERE isInserted = 0
  830. INSERT INTO pushNotificationHistroy (
  831. customerId
  832. ,body
  833. ,title
  834. ,createDate
  835. ,imageURL
  836. ,sentId
  837. ,Type
  838. ,isReservation
  839. ,isRead
  840. ,isSend
  841. ,category
  842. ,url
  843. ,isClickable
  844. )
  845. SELECT @customerIdForPush
  846. ,@Body
  847. ,'IME London Notification'
  848. ,getdate()
  849. ,''
  850. ,@RowId
  851. ,0
  852. ,0
  853. ,0
  854. ,0
  855. ,@msgType
  856. ,@ImageURL
  857. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  858. UPDATE #tempCustomer1
  859. SET isInserted = 1
  860. WHERE customerId = @customerIdForPush
  861. END
  862. SELECT 0
  863. ,'Success'
  864. ,@RowId
  865. END
  866. ELSE IF @customerType = 'ALL'
  867. BEGIN
  868. INSERT INTO BroadCastNotification (
  869. BroadcastTypeId
  870. ,CustomerGroupIds
  871. ,Title
  872. ,Body
  873. ,ImageURL
  874. ,IsSent
  875. ,CreatedBy
  876. ,CreatedDate
  877. ,ScheduleDate
  878. ,IsActive
  879. ,customerId
  880. ,notificationType
  881. ,messageType
  882. ,entryType
  883. )
  884. SELECT '11429'
  885. ,'0'
  886. ,'IME London Notification'
  887. ,@Body
  888. ,@ImageURL
  889. ,0
  890. ,@User
  891. ,GETDATE()
  892. ,@ScheduleDate
  893. ,1
  894. ,'1000'
  895. ,'OPEN_ACTIVITY_DASHBOARD'
  896. ,@msgType
  897. ,'Non-Group'
  898. SET @RowId = @@IDENTITY
  899. INSERT INTO pushNotificationHistroy (
  900. customerId
  901. ,body
  902. ,title
  903. ,createDate
  904. ,imageURL
  905. ,sentId
  906. ,Type
  907. ,isReservation
  908. ,isRead
  909. ,isSend
  910. ,category
  911. ,url
  912. ,isClickable
  913. )
  914. SELECT '1000'
  915. ,@Body
  916. ,'IME London Notification'
  917. ,getdate()
  918. ,''
  919. ,@RowId
  920. ,0
  921. ,0
  922. ,0
  923. ,0
  924. ,@msgType
  925. ,@ImageURL
  926. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  927. SELECT 0
  928. ,'Success'
  929. ,@RowId
  930. END
  931. ELSE
  932. BEGIN
  933. INSERT INTO BroadCastNotification (
  934. BroadcastTypeId
  935. ,CustomerGroupIds
  936. ,Title
  937. ,Body
  938. ,ImageURL
  939. ,IsSent
  940. ,CreatedBy
  941. ,CreatedDate
  942. ,ScheduleDate
  943. ,IsActive
  944. ,customerId
  945. ,notificationType
  946. ,messageType
  947. ,entryType
  948. )
  949. SELECT '11429'
  950. ,'0'
  951. ,'IME London Notification'
  952. ,@Body
  953. ,@ImageURL
  954. ,0
  955. ,@User
  956. ,GETDATE()
  957. ,@ScheduleDate
  958. ,1
  959. ,@CustomerId
  960. ,'OPEN_ACTIVITY_DASHBOARD'
  961. ,@msgType
  962. ,'Non-Group'
  963. SET @RowId = @@IDENTITY
  964. INSERT INTO pushNotificationHistroy (
  965. customerId
  966. ,body
  967. ,title
  968. ,createDate
  969. ,imageURL
  970. ,sentId
  971. ,Type
  972. ,isReservation
  973. ,isRead
  974. ,isSend
  975. ,category
  976. ,url
  977. ,isClickable
  978. )
  979. SELECT @customerid
  980. ,@Body
  981. ,'IME London Notification'
  982. ,getdate()
  983. ,''
  984. ,@RowId
  985. ,0
  986. ,0
  987. ,0
  988. ,0
  989. ,@msgType
  990. ,@ImageURL
  991. ,IIF(@ImageURL IS NULL, 'N', 'Y')
  992. SELECT 0
  993. ,'Success'
  994. ,@RowId
  995. END
  996. END
  997. --select * from BroadCastNotification order by rowid desc
  998. ELSE IF @Flag = 'UN-BROADCAST'
  999. BEGIN
  1000. UPDATE BroadCastNotification
  1001. SET Body = @Body
  1002. ,ModifiedBy = @User
  1003. ,ModifiedDate = GETDATE()
  1004. ,messageType = @msgType
  1005. WHERE RowId = @RowId
  1006. SELECT 0
  1007. ,'Success'
  1008. ,NULL
  1009. END
  1010. ELSE IF @Flag = 'SN-BROADCAST'
  1011. BEGIN
  1012. IF @SortBy IS NULL
  1013. SET @SortBy = 'CreatedDate'
  1014. IF @SortOrder IS NULL
  1015. SET @SortOrder = 'DESC'
  1016. SET @table = '(
  1017. SELECT BN.RowId
  1018. ,fullName = ISNULL(CM.fullName,c.countryname)
  1019. ,IsSent = CASE WHEN IsSent = 0 THEN ''No'' WHEN IsSent = 1 THEN ''Yes'' ELSE ''Failed'' END
  1020. ,BN.CreatedDate as CreatedDate
  1021. ,mobileNumber = cm.mobile
  1022. ,message = BN.body
  1023. ,email = cm.email
  1024. ,title = bn.title
  1025. ,BN.BroadcastTypeId
  1026. ,BN.createdby
  1027. FROM BroadCastNotification BN (NOLOCK)
  1028. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BN.BroadcastTypeId = SV.ValueId
  1029. LEFT JOIN dbo.CustomerMaster CM (NOLOCK) ON cm.customerId = ISNULL(BN.customerId,'''')
  1030. LEFT JOIN Countrymaster c (nolock) ON BN.entryType = CAST(c.countryid as varchar)
  1031. WHERE 1 = 1 AND BN.isActive = 1 AND bn.entryType IS NOT NULL
  1032. )x'
  1033. --print @table
  1034. -- SET @SqlFilter = ''
  1035. -- IF @BroadCastTypeId IS NOT NULL
  1036. -- SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + ''''
  1037. -- IF @Title IS NOT NULL
  1038. -- SET @SqlFilter += ' AND X.Title LIKE ''' + @Title + '%'''
  1039. SET @SelectFieldList = 'RowId, IsSent, CreatedDate, message, email,fullName,mobileNumber,title,BroadcastTypeId,createdby'
  1040. EXEC dbo.proc_paging @table
  1041. ,@SqlFilter
  1042. ,@SelectFieldList
  1043. ,@ExtraFieldList
  1044. ,@sortBy
  1045. ,@sortOrder
  1046. ,@pageSize
  1047. ,@pageNumber
  1048. END
  1049. END