aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2023-01-24 09:27:14 -0800
committerAnton Tananaev <anton@traccar.org>2023-01-24 09:56:19 -0800
commit8841cea8676057756f23e1f9a710a5a19ac5e63a (patch)
tree28d2ce91d3975023b561a681f2d2c02448d4b5a1
parent3771dd156efb068b2f6ba586ec5b951985c40cc5 (diff)
downloadtrackermap-server-8841cea8676057756f23e1f9a710a5a19ac5e63a.tar.gz
trackermap-server-8841cea8676057756f23e1f9a710a5a19ac5e63a.tar.bz2
trackermap-server-8841cea8676057756f23e1f9a710a5a19ac5e63a.zip
Model for scheduled reports
-rw-r--r--schema/changelog-5.6.xml57
-rw-r--r--src/main/java/org/traccar/model/Report.java65
2 files changed, 122 insertions, 0 deletions
diff --git a/schema/changelog-5.6.xml b/schema/changelog-5.6.xml
index 335f7b3a8..d7768f8e2 100644
--- a/schema/changelog-5.6.xml
+++ b/schema/changelog-5.6.xml
@@ -12,6 +12,63 @@
<column name="motionstreak" type="BOOLEAN" defaultValueBoolean="false" />
</addColumn>
+ <createTable tableName="tc_reports">
+ <column name="id" type="INT" autoIncrement="true">
+ <constraints primaryKey="true" />
+ </column>
+ <column name="type" type="VARCHAR(32)">
+ <constraints nullable="false" />
+ </column>
+ <column name="description" type="VARCHAR(128)">
+ <constraints nullable="false" />
+ </column>
+ <column name="from" type="TIMESTAMP">
+ <constraints nullable="false" />
+ </column>
+ <column name="to" type="TIMESTAMP">
+ <constraints nullable="false" />
+ </column>
+ <column name="attributes" type="VARCHAR(4000)">
+ <constraints nullable="false" />
+ </column>
+ </createTable>
+
+ <createTable tableName="tc_user_report">
+ <column name="userid" type="INT">
+ <constraints nullable="false" />
+ </column>
+ <column name="reportid" type="INT">
+ <constraints nullable="false" />
+ </column>
+ </createTable>
+
+ <addForeignKeyConstraint baseTableName="tc_user_report" baseColumnNames="userid" constraintName="fk_user_report_userid" referencedTableName="tc_users" referencedColumnNames="id" onDelete="CASCADE" />
+ <addForeignKeyConstraint baseTableName="tc_user_report" baseColumnNames="reportid" constraintName="fk_user_report_reportid" referencedTableName="tc_reports" referencedColumnNames="id" onDelete="CASCADE" />
+
+ <createTable tableName="tc_group_report">
+ <column name="groupid" type="INT">
+ <constraints nullable="false" />
+ </column>
+ <column name="reportid" type="INT">
+ <constraints nullable="false" />
+ </column>
+ </createTable>
+
+ <addForeignKeyConstraint baseTableName="tc_group_report" baseColumnNames="groupid" constraintName="fk_group_report_groupid" referencedTableName="tc_groups" referencedColumnNames="id" onDelete="CASCADE" />
+ <addForeignKeyConstraint baseTableName="tc_group_report" baseColumnNames="reportid" constraintName="fk_group_report_reportid" referencedTableName="tc_reports" referencedColumnNames="id" onDelete="CASCADE" />
+
+ <createTable tableName="tc_device_report">
+ <column name="deviceid" type="INT">
+ <constraints nullable="false" />
+ </column>
+ <column name="reportid" type="INT">
+ <constraints nullable="false" />
+ </column>
+ </createTable>
+
+ <addForeignKeyConstraint baseTableName="tc_device_report" baseColumnNames="deviceid" constraintName="fk_device_report_deviceid" referencedTableName="tc_devices" referencedColumnNames="id" onDelete="CASCADE" />
+ <addForeignKeyConstraint baseTableName="tc_device_report" baseColumnNames="reportid" constraintName="fk_device_report_reportid" referencedTableName="tc_reports" referencedColumnNames="id" onDelete="CASCADE" />
+
</changeSet>
</databaseChangeLog>
diff --git a/src/main/java/org/traccar/model/Report.java b/src/main/java/org/traccar/model/Report.java
new file mode 100644
index 000000000..393f6fef7
--- /dev/null
+++ b/src/main/java/org/traccar/model/Report.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2022 Anton Tananaev (anton@traccar.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.traccar.model;
+
+import org.traccar.storage.StorageName;
+
+import java.util.Date;
+
+@StorageName("tc_reports")
+public class Report extends ExtendedModel {
+
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ private String description;
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ private Date from;
+
+ public Date getFrom() {
+ return from;
+ }
+
+ public void setFrom(Date from) {
+ this.from = from;
+ }
+
+ private Date to;
+
+ public Date getTo() {
+ return to;
+ }
+
+ public void setTo(Date to) {
+ this.to = to;
+ }
+
+}