Advertisement
irvan_herz

Untitled

Sep 11th, 2024
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.50 KB | None | 0 0
  1.  
  2. DECLARE @sql NVARCHAR(MAX) = ''
  3. DECLARE @dbname NVARCHAR(255)
  4.  
  5. -- Cursor to iterate over each database
  6. DECLARE db_cursor CURSOR FOR
  7. SELECT name
  8. FROM sys.databases
  9. WHERE state_desc = 'ONLINE' AND name NOT IN ('master', 'tempdb', 'model', 'msdb') AND name LIKE 'ERASOFT_%'
  10.  
  11. OPEN db_cursor
  12. FETCH NEXT FROM db_cursor INTO @dbname
  13.  
  14. WHILE @@FETCH_STATUS = 0
  15. BEGIN
  16. --tidak update batal
  17. SET @sql = @sql + '
  18. SELECT
  19. ''Tidak Update Jadi Batal'' AS TYPE,
  20. (SELECT Email from MO..Account WHERE DatabasePathErasoft='''+ @dbname +''') AS EMAIL,
  21. ''' + @dbname + ''' AS DBPATHERA,
  22. a.TGL AS TGL_WEBHOOK,
  23. a.CUST,
  24. b.NO_BUKTI,
  25. b.NO_REFERENSI,
  26. b.STATUS_TRANSAKSI,
  27. b.PRINT_COUNT,
  28. a.JSON AS JSON
  29. FROM [' + @dbname + ']..TABEL_WEBHOOK_SHOPEE a (nolock)
  30. INNER JOIN [' + @dbname + ']..SOT01A b(nolock) on a.ORDERID=NO_REFERENSI and a.CUST=b.CUST
  31. WHERE status_transaksi not in (''11'',''12'') and
  32. a.ORDER_STATUS in (''CANCELLED'') and b.NO_BUKTI like ''sp%''
  33. UNION ALL'
  34.  
  35. --tidak update selesai
  36. SET @sql = @sql + '
  37. SELECT
  38. ''Tidak Update Jadi Selesai'' AS TYPE,
  39. (SELECT Email from MO..Account WHERE DatabasePathErasoft='''+ @dbname +''') AS EMAIL,
  40. ''' + @dbname + ''' AS DBPATHERA,
  41. a.TGL AS TGL_WEBHOOK,
  42. a.CUST,
  43. b.NO_BUKTI,
  44. b.NO_REFERENSI,
  45. b.STATUS_TRANSAKSI,
  46. b.PRINT_COUNT,
  47. a.JSON AS JSON
  48. FROM [' + @dbname + ']..TABEL_WEBHOOK_SHOPEE a(nolock)
  49. INNER JOIN [' + @dbname + ']..SOT01A b(nolock) on a.ORDERID=NO_REFERENSI and a.CUST=b.CUST
  50. WHERE ((ISNULL(al_cust, '''') <> '''' AND status_transaksi <> ''04'') OR (ISNULL(al_cust, '''') = '''' AND status_transaksi <> ''01'')) and
  51. a.ORDER_STATUS in (''COMPLETED'') and b.NO_BUKTI like ''sp%''
  52. UNION ALL'
  53.  
  54. --tidak update siap kirim
  55. SET @sql = @sql + '
  56. SELECT
  57. ''Tidak Update Jadi Siap Kirim'' AS TYPE,
  58. (SELECT Email from MO..Account WHERE DatabasePathErasoft='''+ @dbname +''') AS EMAIL,
  59. ''' + @dbname + ''' AS DBPATHERA,
  60. a.TGL AS TGL_WEBHOOK,
  61. a.CUST,
  62. b.NO_BUKTI,
  63. b.NO_REFERENSI,
  64. b.STATUS_TRANSAKSI,
  65. b.PRINT_COUNT,
  66. a.JSON AS JSON
  67. FROM [' + @dbname + ']..TABEL_WEBHOOK_SHOPEE a(nolock)
  68. INNER JOIN [' + @dbname + ']..SOT01A b(nolock) on a.ORDERID=NO_REFERENSI and a.CUST=b.CUST
  69. WHERE isnull(b.STATUS_TRANSAKSI,'''') in (''0'') and
  70. a.ORDER_STATUS in (''READY_TO_SHIP'',''PROCESSED'',''SHIPPED'',''TO_CONFIRM_RECEIVE'',''READY'') and b.NO_BUKTI like ''sp%''
  71. UNION ALL'
  72.  
  73. --tidak update sudah bayar
  74. SET @sql = @sql + '
  75. SELECT
  76. ''Tidak Update Jadi Sudah Bayar'' AS TYPE,
  77. (SELECT Email from MO..Account WHERE DatabasePathErasoft='''+ @dbname +''') AS EMAIL,
  78. ''' + @dbname + ''' AS DBPATHERA,
  79. a.TGL AS TGL_WEBHOOK,
  80. a.CUST,
  81. b.NO_BUKTI,
  82. b.NO_REFERENSI,
  83. b.STATUS_TRANSAKSI,
  84. b.PRINT_COUNT,
  85. a.JSON AS JSON
  86. FROM [' + @dbname + ']..TABEL_WEBHOOK_SHOPEE a(nolock)
  87. INNER JOIN [' + @dbname + ']..SOT01A b(nolock) on a.ORDERID=NO_REFERENSI and a.CUST=b.CUST
  88. WHERE isnull(STATUS_TRANSAKSI,'''') in (''0'') and
  89. a.ORDER_STATUS in (''READY_TO_SHIP'',''PROCESSED'',''SHIPPED'',''TO_CONFIRM_RECEIVE'',''READY'') and b.NO_BUKTI like ''sp%''
  90. UNION ALL'
  91.  
  92. --tidak masuk
  93. SET @sql = @sql + '
  94. SELECT
  95. ''Tidak Masuk'' AS TYPE,
  96. (SELECT Email from MO..Account WHERE DatabasePathErasoft='''+ @dbname +''') AS EMAIL,
  97. ''' + @dbname + ''' AS DBPATHERA,
  98. a.TGL AS TGL_WEBHOOK,
  99. a.CUST,
  100. b.NO_BUKTI,
  101. a.ORDERID,
  102. b.STATUS_TRANSAKSI,
  103. b.PRINT_COUNT,
  104. a.JSON AS JSON
  105. FROM [' + @dbname + ']..TABEL_WEBHOOK_SHOPEE a(nolock)
  106. LEFT JOIN [' + @dbname + ']..SOT01A b(nolock) ON a.ORDERID=b.NO_REFERENSI and a.CUST=b.CUST
  107. WHERE a.tgl > ''2024-08-01'' and a.ORDER_STATUS=''UNPAID'' and b.NO_BUKTI is null
  108. UNION ALL'
  109.  
  110. --dobel
  111. SET @sql = @sql + '
  112. SELECT
  113. ''Dobel'' AS TYPE,
  114. (SELECT Email from MO..Account WHERE DatabasePathErasoft='''+ @dbname +''') AS EMAIL,
  115. ''' + @dbname + ''' AS DBPATHERA,
  116. a.TGL AS TGL_WEBHOOK,
  117. a.CUST,
  118. NULL,
  119. c.NO_REFERENSI,
  120. NULL,
  121. NULL,
  122. a.JSON AS JSON
  123. FROM [' + @dbname + ']..TABEL_WEBHOOK_SHOPEE a(nolock)
  124. INNER JOIN (
  125. SELECT CUST, NO_REFERENSI, COUNT(*) AS DUP
  126. FROM [' + @dbname + ']..SOT01A b(nolock)
  127. GROUP BY CUST, NO_REFERENSI
  128. ) c ON a.ORDERID=c.NO_REFERENSI and a.CUST=c.CUST
  129. WHERE a.tgl > ''2024-08-01'' and a.ORDER_STATUS=''UNPAID'' AND c.DUP > 1
  130.  
  131. UNION ALL'
  132. FETCH NEXT FROM db_cursor INTO @dbname
  133. END
  134.  
  135. -- Remove the last 'UNION ALL'
  136. SET @sql = LEFT(@sql, LEN(@sql) - 10)
  137.  
  138. -- Execute the dynamic SQL
  139. EXEC sp_executesql @sql
  140.  
  141. -- Cleanup
  142. CLOSE db_cursor
  143. DEALLOCATE db_cursor
  144.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement