This repository has been archived on 2022-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
DevOpsOpenHack/apis/trips/tripsgo/queries.go

394 lines
7.4 KiB
Go
Raw Permalink Normal View History

2022-11-03 20:41:13 +00:00
package tripsgo
import (
"fmt"
"strconv"
)
// SelectTripByIDQuery - REQUIRED tripID value
func SelectTripByIDQuery(tripID string) string {
return `SELECT
Id,
Name,
UserId,
RecordedTimeStamp,
EndTimeStamp,
Rating,
IsComplete,
HasSimulatedOBDData,
AverageSpeed,
FuelUsed,
HardStops,
HardAccelerations,
Distance,
CreatedAt,
UpdatedAt
FROM Trips
WHERE Id = '` + tripID + `'
AND Deleted = 0`
}
var SelectAllTripsQuery = selectAllTripsQuery
// SelectAllTripsQuery - select all trips
func selectAllTripsQuery() string {
return `SELECT
Id,
Name,
UserId,
RecordedTimeStamp,
EndTimeStamp,
Rating,
IsComplete,
HasSimulatedOBDData,
AverageSpeed,
FuelUsed,
HardStops,
HardAccelerations,
Distance,
CreatedAt,
UpdatedAt
FROM Trips
WHERE Deleted = 0`
}
// SelectAllTripsForUserQuery REQUIRED userID
var SelectAllTripsForUserQuery = selectAllTripsForUserQuery
func selectAllTripsForUserQuery(userID string) string {
return `SELECT
Id,
Name,
UserId,
RecordedTimeStamp,
EndTimeStamp,
Rating,
IsComplete,
HasSimulatedOBDData,
AverageSpeed,
FuelUsed,
HardStops,
HardAccelerations,
Distance,
CreatedAt,
UpdatedAt
FROM Trips
WHERE UserId ='` + userID + `'
AND Deleted = 0`
}
// DeleteTripPointsForTripQuery - REQUIRED tripID
func DeleteTripPointsForTripQuery(tripID string) string {
return fmt.Sprintf("UPDATE TripPoints SET Deleted = 1 WHERE TripId = '%s'", tripID)
}
// DeleteTripQuery - REQUIRED tripID
func DeleteTripQuery(tripID string) string {
return fmt.Sprintf("UPDAte Trips SET Deleted = 1 WHERE Id = '%s'", tripID)
}
// UpdateTripQuery - REQUIRED trip object and tripID
func UpdateTripQuery(trip Trip) string {
var query = `UPDATE Trips SET
Name = '%s',
UserId = '%s',
RecordedTimeStamp = '%s',
EndTimeStamp = '%s',
Rating = %d,
IsComplete = '%s',
HasSimulatedOBDData = '%s',
AverageSpeed = %g,
FuelUsed = %g,
HardStops = %d,
HardAccelerations = %d,
Distance = %g,
UpdatedAt = GETDATE()
WHERE Id = '%s'`
var formattedQuery = fmt.Sprintf(
query,
trip.Name,
trip.UserID,
trip.RecordedTimeStamp,
trip.EndTimeStamp,
trip.Rating,
strconv.FormatBool(trip.IsComplete),
strconv.FormatBool(trip.HasSimulatedOBDData),
trip.AverageSpeed,
trip.FuelUsed,
trip.HardStops,
trip.HardAccelerations,
trip.Distance,
trip.ID)
Debug.Println("updateTripQuery: " + formattedQuery)
return formattedQuery
}
func createTripQuery(trip Trip) string {
var query = `DECLARE @tempReturn
TABLE (TripId NVARCHAR(128));
INSERT INTO Trips (
Name,
UserId,
RecordedTimeStamp,
EndTimeStamp,
Rating,
IsComplete,
HasSimulatedOBDData,
AverageSpeed,
FuelUsed,
HardStops,
HardAccelerations,
Distance,
UpdatedAt,
Deleted)
OUTPUT Inserted.ID
INTO @tempReturn
VALUES (
'%s',
'%s',
'%s',
'%s',
%d,
'%s',
'%s',
%g,
%g,
%d,
%d,
%g,
GETDATE(),
'false');
SELECT TripId FROM @tempReturn`
var formattedQuery = fmt.Sprintf(
query,
trip.Name,
trip.UserID,
trip.RecordedTimeStamp,
trip.EndTimeStamp,
trip.Rating,
strconv.FormatBool(trip.IsComplete),
strconv.FormatBool(trip.HasSimulatedOBDData),
trip.AverageSpeed,
trip.FuelUsed,
trip.HardStops,
trip.HardAccelerations,
trip.Distance)
Debug.Println("createTripQuery: " + formattedQuery)
return formattedQuery
}
func selectTripPointsForTripQuery(tripID string) string {
var query = `SELECT
[Id],
[TripId],
[Latitude],
[Longitude],
[Speed],
[RecordedTimeStamp],
[Sequence],
[RPM],
[ShortTermFuelBank],
[LongTermFuelBank],
[ThrottlePosition],
[RelativeThrottlePosition],
[Runtime],
[DistanceWithMalfunctionLight],
[EngineLoad],
[EngineFuelRate],
[VIN]
FROM [dbo].[TripPoints]
WHERE
TripId = '%s'
AND Deleted = 0`
var formattedQuery = fmt.Sprintf(
query,
tripID)
Debug.Println("selectTripPointsForTripQuery: " + formattedQuery)
return formattedQuery
}
func selectTripPointsForTripPointIDQuery(tripPointID string) string {
var query = `SELECT
[Id],
[TripId],
[Latitude],
[Longitude],
[Speed],
[RecordedTimeStamp],
[Sequence],
[RPM],
[ShortTermFuelBank],
[LongTermFuelBank],
[ThrottlePosition],
[RelativeThrottlePosition],
[Runtime],
[DistanceWithMalfunctionLight],
[EngineLoad],
[EngineFuelRate],
[VIN]
FROM TripPoints
WHERE Id = '%s'
AND Deleted = 0`
var formattedQuery = fmt.Sprintf(
query,
tripPointID)
Debug.Println("selectTripPointsForTripPointIDQuery: " + formattedQuery)
return formattedQuery
}
func createTripPointQuery(tripPoint TripPoint, tripID string) string {
var query = `DECLARE @tempReturn TABLE (TripPointId NVARCHAR(128));
INSERT INTO TripPoints (
[TripId],
[Latitude],
[Longitude],
[Speed],
[RecordedTimeStamp],
[Sequence],
[RPM],
[ShortTermFuelBank],
[LongTermFuelBank],
[ThrottlePosition],
[RelativeThrottlePosition],
[Runtime],
[DistanceWithMalfunctionLight],
[EngineLoad],
[EngineFuelRate],
[MassFlowRate],
[HasOBDData],
[HasSimulatedOBDData],
[VIN],
[UpdatedAt],
[Deleted])
OUTPUT
Inserted.ID
INTO @tempReturn
VALUES (
'%s',
%g,
%g,
%g,
'%s',
%d,
%g,
%g,
%g,
%g,
%g,
%g,
%g,
%g,
%g,
%g,
'%s',
'%s',
'%s',
GETDATE(),
'false');
SELECT TripPointId
FROM @tempReturn`
var formattedQuery = fmt.Sprintf(
query,
tripID,
tripPoint.Latitude,
tripPoint.Longitude,
tripPoint.Speed,
tripPoint.RecordedTimeStamp,
tripPoint.Sequence,
tripPoint.RPM,
tripPoint.ShortTermFuelBank,
tripPoint.LongTermFuelBank,
tripPoint.ThrottlePosition,
tripPoint.RelativeThrottlePosition,
tripPoint.Runtime,
tripPoint.DistanceWithMalfunctionLight,
tripPoint.EngineLoad,
tripPoint.MassFlowRate,
tripPoint.EngineFuelRate,
strconv.FormatBool(tripPoint.HasOBDData),
strconv.FormatBool(tripPoint.HasSimulatedOBDData),
tripPoint.VIN)
Debug.Println("createTripPointQuery: " + formattedQuery)
return formattedQuery
}
func updateTripPointQuery(tripPoint TripPoint) string {
var query = `UPDATE [TripPoints]
SET [TripId] = '%s',
[Latitude] = '%s',
[Longitude] = '%s',
[Speed] = '%s',
[RecordedTimeStamp] = '%s',
[Sequence] = %d,[RPM] = '%s',
[ShortTermFuelBank] = '%s',
[LongTermFuelBank] = '%s',
[ThrottlePosition] = '%s',
[RelativeThrottlePosition] = '%s',
[Runtime] = '%s',
[DistanceWithMalfunctionLight] = '%s',
[EngineLoad] = '%s',
[MassFlowRate] = '%s',
[EngineFuelRate] = '%s',
[HasOBDData] = '%s',
[HasSimulatedOBDData] = '%s',
[VIN] = '%s'
WHERE Id = '%s'`
var formattedQuery = fmt.Sprintf(
query,
tripPoint.TripID,
tripPoint.Latitude,
tripPoint.Longitude,
tripPoint.Speed,
tripPoint.RecordedTimeStamp,
tripPoint.Sequence,
tripPoint.RPM,
tripPoint.ShortTermFuelBank,
tripPoint.LongTermFuelBank,
tripPoint.ThrottlePosition,
tripPoint.RelativeThrottlePosition,
tripPoint.Runtime,
tripPoint.DistanceWithMalfunctionLight,
tripPoint.EngineLoad,
tripPoint.MassFlowRate,
tripPoint.EngineFuelRate,
strconv.FormatBool(tripPoint.HasOBDData),
strconv.FormatBool(tripPoint.HasSimulatedOBDData),
tripPoint.VIN,
tripPoint.ID)
Debug.Println("updateTripPointQuery: " + formattedQuery)
return formattedQuery
}
func deleteTripPointQuery(tripPointID string) string {
var query = `UPDATE TripPoints
SET Deleted = 1
WHERE Id = '%s'`
var formattedQuery = fmt.Sprintf(
query,
tripPointID)
Debug.Println("deleteTripPointQuery: " + formattedQuery)
return formattedQuery
}