Erweiterungen

This commit is contained in:
Sven committed 2024-02-12 17:03:03 +01:00
1 parent c604dc9d55
commit 31fe4c5a06
20 files changed
+1804 -654

No files matched your search

+60 -30
View File
@@ -1,9 +1,10 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
import 'package:isar/isar.dart';
import 'package:kumi_popup_window/kumi_popup_window.dart';
import 'package:stadtbote/content_views/tour_list_page.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/content_views/utils/header_info.dart';
import 'package:stadtbote/messages/PopContentViewMessage.dart';
@@ -64,8 +65,6 @@ class _TaskListPageState extends State<TaskListPage> {
late List<TaskInfo> _taskList;
late KumiPopupWindow _popup;
@override
void initState() {
Future.delayed(const Duration(seconds: 0), () async {
@@ -244,9 +243,12 @@ class _TaskListPageState extends State<TaskListPage> {
}
_processTaskArrivedOrFinished(TaskInfo taskInfo) {
_popup = showTaskArrivedPopup(context, taskInfo, () {
showTaskArrivedPopup(context, taskInfo, () {
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
var answer = _createAnswerHeader(taskInfo);
taskInfo.answer = jsonEncode(answer.toJson());
taskInfo.additionalText = dateFormat.format(DateTime.now());
taskInfo.completed = true;
@@ -255,34 +257,38 @@ class _TaskListPageState extends State<TaskListPage> {
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_processCommissionNumber(TaskInfo taskInfo) {
_popup = showComissionNumberPopup(context, taskInfo, (comissionNumber) {
showComissionNumberPopup(context, taskInfo, (comissionNumber) {
var answer = _createAnswerHeader(taskInfo);
answer.val = comissionNumber;
taskInfo.answer = jsonEncode(answer.toJson());
taskInfo.additionalText = comissionNumber;
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_processScanBarcodes(TaskInfo taskInfo) {
_popup = showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) {
showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) {
var answer = _createAnswerHeader(taskInfo);
answer.codes = [];
for(var barcode in barcodes) {
answer.codes!.add(barcode);
}
taskInfo.additionalText = "Barcodes gescannt";
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
@@ -298,10 +304,11 @@ class _TaskListPageState extends State<TaskListPage> {
}
void _processStationNotice(TaskInfo taskInfo) {
_popup = showStationNoticePopup(context, taskInfo, (notice) {
_popup.dismiss(context);
showStationNoticePopup(context, taskInfo, (notice) {
var answer = _createAnswerHeader(taskInfo);
answer.val = notice;
taskInfo.additionalText = notice;
taskInfo.answer = jsonEncode(answer.toJson());
taskInfo.completed = true;
_finishTaskProcessing(taskInfo);
@@ -311,22 +318,28 @@ class _TaskListPageState extends State<TaskListPage> {
}
void _processReceiptGiver(TaskInfo taskInfo) {
_popup = showReceiptGiverPopup(context, taskInfo, (receiptGiver) {
showReceiptGiverPopup(context, taskInfo, (receiptGiver) {
var answer = _createAnswerHeader(taskInfo);
answer.val = receiptGiver;
taskInfo.answer = jsonEncode(answer.toJson());
taskInfo.additionalText = receiptGiver;
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
void _processPickupDeliveryStatusTask(TaskInfo taskInfo) {
Future.delayed(const Duration(seconds: 1), () async {
showPickupDeliveryStatusPopup(context, taskInfo, (tourEntry) {
taskInfo.additionalText = tourEntry!.text;
var answer = _createAnswerHeader(taskInfo);
answer.code = tourEntry!.code;
taskInfo.answer = jsonEncode(answer.toJson());
taskInfo.additionalText = tourEntry.text;
taskInfo.completed = true;
_finishTaskProcessing(taskInfo);
@@ -341,6 +354,10 @@ class _TaskListPageState extends State<TaskListPage> {
Future.delayed(const Duration(seconds: 1), () async {
showSignaturePopup(context, taskInfo, () {
var answer = _createAnswerHeader(taskInfo);
answer.sign = 'A110';
taskInfo.answer = jsonEncode(answer.toJson());
taskInfo.completed = true;
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
@@ -395,6 +412,22 @@ class _TaskListPageState extends State<TaskListPage> {
MqttCore.instance.publishPayloadMessage("job", finTaskMessage.toJson());
}
FinTourTask _createAnswerHeader(TaskInfo taskInfo) {
var position = MyApp.currentPosition;
var finTourTask = FinTourTask();
finTourTask.sId = taskInfo.task.sId;
finTourTask.time = DateTime.now().toIso8601String();
finTourTask.pos = FinTaskPos();
if (position != null) {
finTourTask.pos.lat = position.latitude;
finTourTask.pos.long = position.longitude;
finTourTask.pos.acc = position.accuracy.toInt();
}
return finTourTask;
}
_sendFinTourMessage() async {
var finTourMessage = FinTourMessage();
finTourMessage.finTour = FinTour();
@@ -412,20 +445,17 @@ class _TaskListPageState extends State<TaskListPage> {
finTourMessage.finTour.tasks = [];
for(var taskInfo in _taskList) {
var finTourTask = FinTourTask();
finTourTask.sId = taskInfo.task.sId;
finTourTask.time = DateTime.now().toIso8601String();
finTourTask.pos = FinTaskPos();
finTourTask.pos.lat = 0;
finTourTask.pos.long = 0;
if (taskInfo.answer != null) {
var finTourTask = FinTourTask.fromJson(jsonDecode(taskInfo.answer!));
finTourMessage.finTour.tasks.add(finTourTask);
finTourMessage.finTour.tasks.add(finTourTask);
}
}
MqttCore.instance.publishPayloadMessage("job", finTourMessage.toJson());
MqttCore.instance.publishPayloadMessage("fin_tour", finTourMessage.toJson());
widget.tour.state = 9;
await MyApp.isarInstance.writeTxn(() async {
widget.tour.state = Constants.stateFinishedNotConfirmed;
await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.jobs.put(widget.job);
});
}