Erweiterungen

This commit is contained in:
Sven committed 2024-02-03 14:41:14 +01:00
1 parent b7d45efecc
commit d622c975c0
9 files changed
+345 -2

No files matched your search

+116
View File
@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
@@ -14,7 +16,10 @@ import 'package:stadtbote/popups/tasks_popups/scan_barcodes_popup.dart';
import 'package:stadtbote/popups/tasks_popups/signature_popup.dart';
import 'package:stadtbote/popups/tasks_popups/station_notice_popup.dart';
import 'package:stadtbote/popups/tasks_popups/take_photos_popup.dart';
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
import 'package:stadtbote/protocoll_messages/track_station_message.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/mqtt_core.dart';
import '../main.dart';
import '../model/task_info.dart';
@@ -244,6 +249,8 @@ class _TaskListPageState extends State<TaskListPage> {
taskInfo.additionalText = dateFormat.format(DateTime.now());
taskInfo.completed = true;
_sendArrivedMessage(taskInfo);
setState(() {});
}
@@ -355,4 +362,113 @@ class _TaskListPageState extends State<TaskListPage> {
return true;
}
_sendArrivedMessage(TaskInfo taskInfo) {
var finTaskMessage = FinTaskMessage();
finTaskMessage.finTask = FinTask();
finTaskMessage.finTask.trId = widget.tour.id;
finTaskMessage.finTask.task = Task();
finTaskMessage.finTask.task.sId = taskInfo.task.sId;
finTaskMessage.finTask.task.time = DateTime.now().toIso8601String();
var position = MyApp.currentPosition;
if (position != null) {
finTaskMessage.finTask.task.pos = FinTaskPos();
finTaskMessage.finTask.task.pos!.lat = position.latitude;
finTaskMessage.finTask.task.pos!.long = position.longitude;
}
MqttCore.instance.publishPayloadMessage("job", finTaskMessage.toJson());
}
/*
var location = App.CurrentLocation;
var root = new JObject();
var finTask = new JObject();
root.Add(new JProperty("finTask", finTask));
finTask.Add(new JProperty("tr_id", _jobTour.Id));
var taskObject = new JObject();
finTask.Add(new JProperty("task", taskObject));
taskObject.Add(new JProperty("s_id", task.SId));
taskObject.Add(new JProperty("time", DateTime.Now.ToString("o")));
if (location != null)
{
var posObject = new JObject
{
new JProperty("lat", location.Latitude),
new JProperty("long", location.Longitude)
};
taskObject.Add(new JProperty("pos", posObject));
}
App.Core.SendJsonMessageAsync("job", root);
*/
_sendTrackStationMessage(TaskInfo taskInfo)
{
var trackStationMessage = TrackStationMessage();
trackStationMessage.sid = taskInfo.task.sId;
trackStationMessage.time = DateTime.now().toIso8601String();
var position = MyApp.currentPosition;
if (position != null) {
trackStationMessage.pos = Pos();
trackStationMessage.pos!.lat = position.latitude;
trackStationMessage.pos!.long = position.latitude;
}
var json = jsonEncode(trackStationMessage.toJson());
MqttCore.instance.publishPayloadMessage("", trackStationMessage.toJson());
}
/*private JObject CreateFinTourMessage()
{
var payloadObject = new JObject();
var finTourObject = new JObject();
payloadObject.Add(new JProperty("fin_tour", finTourObject));
finTourObject.Add(new JProperty("tr_id", _jobTour.Id));
finTourObject.Add(new JProperty("track", CreateTrackObject()));
var tasksArray = new JArray();
finTourObject.Add(new JProperty("tasks", tasksArray));
foreach (var task in _jobTour.Tasks)
{
if (task.Answer != null && task.Answer.Length > 0)
{
var answerObject = (JObject)JsonConvert.DeserializeObject(task.Answer);
tasksArray.Add(answerObject);
}
}
return payloadObject;
}*/
/*Map<String, dynamic> CreateTrackObject()
{
var location = App.CurrentLocation;
var trackObject = new JObject { new JProperty("time", DateTime.Now.ToString("o")) };
if (location != null)
{
var posObject = new JObject();
trackObject.Add(new JProperty("pos", posObject));
posObject.Add(new JProperty("lat", location.Latitude));
posObject.Add(new JProperty("long", location.Longitude));
posObject.Add(new JProperty("acc", location.Accuracy));
}
return trackObject;
}*/
}