Guest User

Untitled

a guest
Oct 17th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. private def parser: RowParser[VehicleListItem] = {
  2. long("org_unit_id")~str("vin")~(str("license_plate") ?)~(str("driver") ?)~(str("leasing_company") ?)~(date("contract_start")?)~(int("contract_duration")?) map {
  3. case ou~vin~licensePlate~driver~lc~contractStart~duration =>
  4. VehicleListItem(java.util.UUID.randomUUID, VIN(vin), OrgUnitId(ou), licensePlate.getOrElse(""), driver.getOrElse(""), lc.getOrElse(""),contractStart.map(LocalDate.fromDateFields(_)), duration.getOrElse(0))
  5. }
  6. }
  7.  
  8. private def specParser: RowParser[VehicleListSpec] = {
  9. str("vehicle_type")~str("brand")~str("model")~str("variant")~(str("body_type")?) map {
  10. case vt~b~m~variant~bt => VehicleListSpec(vt,b,m,variant,bt.getOrElse(""))
  11. }
  12. }
  13.  
  14. val rs = TimeHelpers.logTime("Create result set") {
  15. SQL("""
  16. SELECT * FROM assets_vehicles JOIN
  17. models m ON model_id = m.id JOIN
  18. brands b on brand_id = b.id
  19. WHERE account_id={tid} AND org_unit_id={ou}
  20. """).
  21. on("tid" -> tenantId, "ou" -> rootOrgUnitId).resultSet()
  22. }
  23.  
  24.  
  25. TimeHelpers.logTime("Parse result set") {
  26. Sql.as((parser~specParser).map {
  27. case v~t => v -> t
  28. } *, rs)
  29. }
  30.  
  31. /*
  32. Result
  33.  
  34. 18:43:05.186 INFO net.liftweb.util.TimeHelpers account=21, user=27 - Create result set took 653 Milliseconds
  35. 18:43:16.837 INFO net.liftweb.util.TimeHelpers account=21, user=27 - Parse result set took 11650 Milliseconds
  36. 18:43:16.838 TRACE f.a.VehicleMenus$$anonfun$listOp$1$$anon$1 account=21, user=27 - Fetched all 20068 records
  37. */
Add Comment
Please, Sign In to add comment