Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.98 KB | None | 0 0
  1. CREATE DEFINER=`root`@`%` PROCEDURE `sp_push_service_provider`(IN lastextractdate bigint)
  2. BEGIN
  3.  
  4. -- Update service provider details
  5. INSERT INTO roadsmart_dw.DimSeviceProvider (ServiceProviderID,
  6. CreateDateTime,
  7. CreatedBy,
  8. ModifiedDateTime,
  9. ModifiedBy,
  10. LegalFirstName,
  11. LegalLastName,
  12. IsSuspended,
  13. IsSuspendedCode,
  14. Postcode,
  15. TravelDistanceTo3000,
  16. PhoneNo,
  17. Email,
  18. HasClearedToWorkStatus,
  19. HasClearedToWorkStatusCode,
  20. ClearedToWorkExpiryDate,
  21. HasWorkingWithChildren,
  22. HasWorkingWithChildrenCode,
  23. WorkingWithChildrenExpiryDate,
  24. HasValidDrivingInstructorAuthority,
  25. HasValidDrivingInstructorAuthorityCode,
  26. DrivingInstructorAuthorityExpiryDate,
  27. GenderCode,
  28. LanguagesSpoken,
  29. WWCStatus,
  30. DIAStatus,
  31. DIARequired)
  32. SELECT
  33. ServiceProviderID AS ServiceProviderID,
  34. CURRENT_TIMESTAMP() AS CreateDateTime,
  35. 'SYSTEM' AS CreatedBy,
  36. CURRENT_TIMESTAMP() AS ModifiedDateTime,
  37. 'SYSTEM' AS ModifiedBy,
  38. LegalFirstName AS LegalFirstName,
  39. LegalLastName AS LegalLastName,
  40. Postcode AS Postcode,
  41. TravelDistanceTo3000 AS TravelDistanceTo3000,
  42. PhoneNo AS PhoneNo,
  43. IsSuspended As IsSuspended,
  44. IF(IsSuspended = 1, 'Yes', 'No') AS IsSuspendedCode,
  45. Email AS Email,
  46. HasClearedToWorkStatus AS HasClearedToWorkStatus,
  47. HasClearedToWorkStatusCode AS HasClearedToWorkStatusCode,
  48. ClearedToWorkExpiryDate AS ClearedToWorkExpiryDate,
  49. HasWorkingWithChildren AS HasWorkingWithChildren,
  50. HasWorkingWithChildrenCode AS HasWorkingWithChildrenCode,
  51. WorkingWithChildrenExpiryDate AS WorkingWithChildrenExpiryDate,
  52. HasValidDrivingInstructorAuthority AS HasValidDrivingInstructorAuthority,
  53. HasValidDrivingInstructorAuthorityCode AS HasValidDrivingInstructorAuthorityCode,
  54. DrivingInstructorAuthorityExpiryDate AS DrivingInstructorAuthorityExpiryDate,
  55. GenderCode AS GenderCode,
  56. LanguagesSpoken AS LanguagesSpoken,
  57. WWCStatus AS WWCStatus,
  58. DIAStatus AS DIAStatus,
  59. DIARequired AS DIARequired
  60. FROM vw_service_providers
  61. -- WHERE timemodified > lastextractdate
  62. ON DUPLICATE KEY UPDATE
  63. ServiceProviderID = VALUES(ServiceProviderID),
  64. CreateDateTime = VALUES(CreateDateTime),
  65. CreatedBy = VALUES(CreatedBy),
  66. ModifiedDateTime = VALUES(ModifiedDateTime),
  67. ModifiedBy = VALUES(ModifiedBy),
  68. LegalFirstName = VALUES(LegalFirstName),
  69. LegalLastName = VALUES(LegalLastName),
  70. Postcode = VALUES(Postcode),
  71. IsSuspended = VALUES(IsSuspended),
  72. IsSuspendedCode = VALUES(IsSuspendedCode),
  73. TravelDistanceTo3000 = VALUES(TravelDistanceTo3000),
  74. PhoneNo = VALUES(PhoneNo),
  75. Email = VALUES(Email),
  76. HasClearedToWorkStatus = VALUES(HasClearedToWorkStatus),
  77. HasClearedToWorkStatusCode = VALUES(HasClearedToWorkStatusCode),
  78. ClearedToWorkExpiryDate = VALUES(ClearedToWorkExpiryDate),
  79. HasWorkingWithChildren = VALUES(HasWorkingWithChildren),
  80. HasWorkingWithChildrenCode = VALUES(HasWorkingWithChildrenCode),
  81. WorkingWithChildrenExpiryDate = VALUES(WorkingWithChildrenExpiryDate),
  82. HasValidDrivingInstructorAuthority = VALUES(HasValidDrivingInstructorAuthority),
  83. HasValidDrivingInstructorAuthorityCode = VALUES(HasValidDrivingInstructorAuthorityCode),
  84. DrivingInstructorAuthorityExpiryDate = VALUES(DrivingInstructorAuthorityExpiryDate),
  85. GenderCode = VALUES(GenderCode),
  86. LanguagesSpoken = VALUES(LanguagesSpoken),
  87. WWCStatus = VALUES(WWCStatus),
  88. DIAStatus = VALUES(DIAStatus),
  89. DIARequired = VALUES(DIARequired)
  90. ;
  91.  
  92. -- Set the on road role values
  93. -- IsOnRoad,
  94. -- IsOnRoadCode,
  95. UPDATE roadsmart_dw.DimSeviceProvider dw
  96. JOIN (SELECT DISTINCT
  97. mdl_local_psdp_users.userid AS ServiceProviderID,
  98. IF(mdl_role.shortname = 'rs_drivinginstructor_onroad', 1, 0) AS IsOnRoad,
  99. IF(mdl_role.shortname = 'rs_drivinginstructor_onroad', 'Yes', 'No') AS IsOnRoadCode
  100. FROM mdl_role_assignments
  101. INNER JOIN mdl_role
  102. ON mdl_role_assignments.roleid = mdl_role.id
  103. RIGHT OUTER JOIN mdl_local_psdp_users
  104. ON mdl_role_assignments.userid = mdl_local_psdp_users.userid) mdl
  105. ON dw.ServiceProviderID = mdl.ServiceProviderID
  106. SET dw.IsOnRoad = mdl.IsOnRoad,
  107. dw.IsOnRoadCode = mdl.IsOnRoadCode;
  108.  
  109. -- Set the on road role values
  110. -- IsOffRoad,
  111. -- IsOffRoadCode
  112. UPDATE roadsmart_dw.DimSeviceProvider dw
  113. JOIN (SELECT DISTINCT
  114. mdl_local_psdp_users.userid AS ServiceProviderID,
  115. IF(mdl_role.shortname = 'rs_drivinginstructor_offroad', 1, 0) AS IsOffRoad,
  116. IF(mdl_role.shortname = 'rs_drivinginstructor_offroad', 'Yes', 'No') AS IsOffRoadCode
  117. FROM mdl_role_assignments
  118. INNER JOIN mdl_role
  119. ON mdl_role_assignments.roleid = mdl_role.id
  120. RIGHT OUTER JOIN mdl_local_psdp_users
  121. ON mdl_role_assignments.userid = mdl_local_psdp_users.userid) mdl
  122. ON dw.ServiceProviderID = mdl.ServiceProviderID
  123. SET dw.IsOffRoad = mdl.IsOffRoad,
  124. dw.IsOffRoadCode = mdl.IsOffRoadCode;
  125.  
  126. -- Set the on road role values
  127. -- IsFacilitator,
  128. -- IsFacilitatorCode,
  129. UPDATE roadsmart_dw.DimSeviceProvider dw
  130. JOIN (SELECT DISTINCT
  131. mdl_local_psdp_users.userid AS ServiceProviderID,
  132. IF(mdl_role.shortname = 'rs_facilitator', 1, 0) AS IsFacilitator,
  133. IF(mdl_role.shortname = 'rs_facilitator', 'Yes', 'No') AS IsFacilitatorCode
  134. FROM mdl_role_assignments
  135. INNER JOIN mdl_role
  136. ON mdl_role_assignments.roleid = mdl_role.id
  137. RIGHT OUTER JOIN mdl_local_psdp_users
  138. ON mdl_role_assignments.userid = mdl_local_psdp_users.userid) mdl
  139. ON dw.ServiceProviderID = mdl.ServiceProviderID
  140. SET dw.IsFacilitator = mdl.IsFacilitator,
  141. dw.IsFacilitatorCode = mdl.IsFacilitatorCode;
  142.  
  143. -- Set the on road role values
  144. -- IsDTCRep,
  145. -- IsDTCRepCode,
  146. UPDATE roadsmart_dw.DimSeviceProvider dw
  147. JOIN (SELECT DISTINCT
  148. mdl_local_psdp_users.userid AS ServiceProviderID,
  149. IF(mdl_role.shortname = 'rs_ds_rep', 1, 0) AS IsDTCRep,
  150. IF(mdl_role.shortname = 'rs_ds_rep', 'Yes', 'No') AS IsDTCRepCode
  151. FROM mdl_role_assignments
  152. INNER JOIN mdl_role
  153. ON mdl_role_assignments.roleid = mdl_role.id
  154. RIGHT OUTER JOIN mdl_local_psdp_users
  155. ON mdl_role_assignments.userid = mdl_local_psdp_users.userid) mdl
  156. ON dw.ServiceProviderID = mdl.ServiceProviderID
  157. SET dw.IsDTCRep = mdl.IsDTCRep,
  158. dw.IsDTCRepCode = mdl.IsDTCRepCode;
  159.  
  160. -- Set the on road role values
  161. -- IsMasterTrainerInClass,
  162. -- IsMasterTrainerInClassCode,
  163. UPDATE roadsmart_dw.DimSeviceProvider dw
  164. JOIN (SELECT DISTINCT
  165. mdl_local_psdp_users.userid AS ServiceProviderID,
  166. IF(mdl_role.shortname = 'rs_master_trainer_in_class', 1, 0) AS IsMasterTrainerInClass,
  167. IF(mdl_role.shortname = 'rs_master_trainer_in_class', 'Yes', 'No') AS IsMasterTrainerInClassCode
  168. FROM mdl_role_assignments
  169. INNER JOIN mdl_role
  170. ON mdl_role_assignments.roleid = mdl_role.id
  171. RIGHT OUTER JOIN mdl_local_psdp_users
  172. ON mdl_role_assignments.userid = mdl_local_psdp_users.userid) mdl
  173. ON dw.ServiceProviderID = mdl.ServiceProviderID
  174. SET dw.IsMasterTrainerInClass = mdl.IsMasterTrainerInClass,
  175. dw.IsMasterTrainerInClassCode = mdl.IsMasterTrainerInClassCode;
  176.  
  177. -- Set the on road role values
  178. -- IsMasterTrainerInCar,
  179. -- IsMasterTrainerInCarCode,
  180. UPDATE roadsmart_dw.DimSeviceProvider dw
  181. JOIN (SELECT DISTINCT
  182. mdl_local_psdp_users.userid AS ServiceProviderID,
  183. IF(mdl_role.shortname = 'rs_master_trainer_in_car', 1, 0) AS IsMasterTrainerInCar,
  184. IF(mdl_role.shortname = 'rs_master_trainer_in_car', 'Yes', 'No') AS IsMasterTrainerInCarCode
  185. FROM mdl_role_assignments
  186. INNER JOIN mdl_role
  187. ON mdl_role_assignments.roleid = mdl_role.id
  188. RIGHT OUTER JOIN mdl_local_psdp_users
  189. ON mdl_role_assignments.userid = mdl_local_psdp_users.userid) mdl
  190. ON dw.ServiceProviderID = mdl.ServiceProviderID
  191. SET dw.IsMasterTrainerInCar = mdl.IsMasterTrainerInCar,
  192. dw.IsMasterTrainerInCarCode = mdl.IsMasterTrainerInCarCode;
  193.  
  194. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement