Erweiterungen

This commit is contained in:
Sven committed 2024-02-08 17:34:59 +01:00
1 parent 137ceebf6f
commit e0b30366e5
2 files changed
+93 -108

No files matched your search

+79 -108
View File
@@ -1,4 +1,3 @@
import 'dart:convert' show utf8;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:intl/intl.dart';
@@ -192,6 +191,8 @@ class _TaskListPageState extends State<TaskListPage> {
var taskInfo = await MyApp.isarInstance.taskInfos.filter().sIdEqualTo(task.sId).findFirst();
if (taskInfo == null) {
taskInfo = TaskInfo();
taskInfo.id = await TaskInfo.getNextId();
taskInfo.sId = task.sId;
taskInfo.answer = null;
taskInfo.additionalText = null;
taskInfo.completed = task.opt != null ? task.opt! : false;
@@ -241,107 +242,96 @@ class _TaskListPageState extends State<TaskListPage> {
}
_processTaskArrivedOrFinished(TaskInfo taskInfo) {
_popup = showTaskArrivedPopup(context, taskInfo, () => {
_finishProcessTaskArrivedOrFinished(taskInfo)
_popup = showTaskArrivedPopup(context, taskInfo, () {
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
taskInfo.additionalText = dateFormat.format(DateTime.now());
taskInfo.completed = true;
_sendArrivedMessage(taskInfo);
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_finishProcessTaskArrivedOrFinished(TaskInfo taskInfo) {
_popup.dismiss(context);
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
taskInfo.additionalText = dateFormat.format(DateTime.now());
taskInfo.completed = true;
_sendArrivedMessage(taskInfo);
setState(() {});
}
_processCommissionNumber(TaskInfo taskInfo) {
_popup = showComissionNumberPopup(context, taskInfo, (text) => {
_finishProcessCommissionNumber(taskInfo, text)
_popup = showComissionNumberPopup(context, taskInfo, (comissionNumber) {
taskInfo.additionalText = comissionNumber;
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_finishProcessCommissionNumber(TaskInfo taskInfo, String comissionNumber) {
_popup.dismiss(context);
taskInfo.additionalText = comissionNumber;
taskInfo.completed = true;
setState(() {});
}
_processScanBarcodes(TaskInfo taskInfo) {
_popup = showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) => {
_finishProcessScanBarcodes(taskInfo, barcodes)
_popup = showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) {
taskInfo.additionalText = "Barcodes gescannt";
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_finishProcessScanBarcodes(TaskInfo taskInfo, List<String> barcodess) {
_popup.dismiss(context);
taskInfo.additionalText = "Barcodes gescannt";
taskInfo.completed = true;
setState(() {});
}
_processTakePhotos(TaskInfo taskInfo) {
_popup = showTakePhotosPopup(context, taskInfo, () => {
_finishProcessTakePhotos(taskInfo)
_popup = showTakePhotosPopup(context, taskInfo, () {
taskInfo.additionalText = "Fotos aufgenommen";
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_finishProcessTakePhotos(TaskInfo taskInfo) {
_popup.dismiss(context);
taskInfo.additionalText = "Fotos aufgenommen";
taskInfo.completed = true;
setState(() {});
}
void _processStationNotice(TaskInfo taskInfo) {
_popup = showStationNoticePopup(context, taskInfo, (notice) => {
_finishProcessStationNotice(taskInfo, notice)
_popup = showStationNoticePopup(context, taskInfo, (notice) {
_popup.dismiss(context);
taskInfo.additionalText = notice;
taskInfo.completed = true;
_finishTaskProcessing(taskInfo);
setState(() {});
});
}
_finishProcessStationNotice(TaskInfo taskInfo, String notice) {
_popup.dismiss(context);
taskInfo.additionalText = notice;
taskInfo.completed = true;
setState(() {});
}
void _processReceiptGiver(TaskInfo taskInfo) {
_popup = showReceiptGiverPopup(context, taskInfo, (receiptGiver) => {
_finishReceiptGiver(taskInfo, receiptGiver)
_popup = showReceiptGiverPopup(context, taskInfo, (receiptGiver) {
taskInfo.additionalText = receiptGiver;
taskInfo.completed = true;
setState(() {});
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
});
}
_finishReceiptGiver(TaskInfo taskInfo, String receiptGiver) {
_popup.dismiss(context);
taskInfo.additionalText = receiptGiver;
taskInfo.completed = true;
setState(() {});
}
void _processPickupDeliveryStatusTask(TaskInfo taskInfo) {
Future.delayed(const Duration(seconds: 1), () async {
_popup = showPickupDeliveryStatusPopup(context, taskInfo, (tourEntry) => {
_popup.dismiss(context),
showPickupDeliveryStatusPopup(context, taskInfo, (tourEntry) {
taskInfo.additionalText = tourEntry!.text;
taskInfo.completed = true;
taskInfo.completed = true,
_finishTaskProcessing(taskInfo);
setState(() {})
setState(() {});
});
});
}
@@ -351,17 +341,25 @@ class _TaskListPageState extends State<TaskListPage> {
Future.delayed(const Duration(seconds: 1), () async {
_popup = showSignaturePopup(context, taskInfo, () {
taskInfo.completed = true;
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
_sendFinTourMessage();
_finishTaskProcessing(taskInfo);
_popup.dismiss(context);
taskInfo.completed = true;
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
_sendFinTourMessage();
});
});
}
_finishTaskProcessing(TaskInfo taskInfo) async {
await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.taskInfos.put(taskInfo);
});
}
bool isTaskActive(int index) {
for (int i = 0; i < index; i++) {
var taskInfo = _taskList[i];
@@ -406,33 +404,6 @@ class _TaskListPageState extends State<TaskListPage> {
MqttCore.instance.publishPayloadMessage("", trackStationMessage.toJson());
}
/*
"fin_tour": {
"tr_id": 211,
"com": "changed com#",
"track": {
"time": "2021-02-18T12:35:51Z",
"pos":
{
"lat": 53.595121,
"long": 9.907433,
"acc": 35
}
},
"tasks": [
{
"s_id": 1,
"time": "2021-02-18T12:32:10Z",
"pos":
{
"lat": 53.595124,
"long": 9.907435
}
},
}
}
}
*/
_sendFinTourMessage() async {
var finTourMessage = FinTourMessage();
finTourMessage.finTour = FinTour();
+14
View File
@@ -1,6 +1,8 @@
import 'package:isar/isar.dart';
import 'package:stadtbote/model/tour_task.dart';
import '../tools/util.dart';
part 'task_info.g.dart';
@collection
@@ -19,6 +21,18 @@ class TaskInfo {
late TourTask task;
TaskInfo();
static Future<int> getNextId() async {
int taskInfoId = await Util.preferencesGetInt('task_info_id', 0) as int;
taskInfoId += 1;
Util.preferencesSaveInt("task_info_id", taskInfoId);
return taskInfoId;
}
}