diff --git a/frontend/src/components/messstelle/MessstelleForm.vue b/frontend/src/components/messstelle/MessstelleForm.vue
index 655cc3f..8c8537d 100644
--- a/frontend/src/components/messstelle/MessstelleForm.vue
+++ b/frontend/src/components/messstelle/MessstelleForm.vue
@@ -71,7 +71,9 @@
md="4"
>
@@ -190,6 +192,7 @@ import { computed, ComputedRef, ref, Ref } from "vue";
import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO";
import LhmTextField from "@/components/common/LhmTextField.vue";
import _ from "lodash";
+import { messstelleStatusText } from "@/domain/enums/MessstelleStatus";
/* eslint-enable no-unused-vars */
diff --git a/frontend/src/components/messstelle/UpdateMessstelleDialogForm.vue b/frontend/src/components/messstelle/UpdateMessstelleDialogForm.vue
index ff15f81..0ac5748 100644
--- a/frontend/src/components/messstelle/UpdateMessstelleDialogForm.vue
+++ b/frontend/src/components/messstelle/UpdateMessstelleDialogForm.vue
@@ -45,6 +45,7 @@
Speichern
@@ -63,12 +64,13 @@
import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO";
import MessstelleForm from "@/components/messstelle/MessstelleForm.vue";
import MessquerschnittForm from "@/components/messstelle/MessquerschnittForm.vue";
-import { onMounted, ref, Ref } from "vue";
+import { computed, ComputedRef, onMounted, ref, Ref } from "vue";
import MessstelleService from "@/api/service/MessstelleService";
import { ApiError, Levels } from "@/api/error";
import { useStore } from "@/util/useStore";
import { useRoute } from "vue-router/composables";
import DefaultObjectCreator from "@/util/DefaultObjectCreator";
+import { MessstelleStatus } from "@/domain/enums/MessstelleStatus";
const SHEETHEIGHT: Ref = ref("600px");
const activeTab: Ref = ref(0);
@@ -84,6 +86,10 @@ const emits = defineEmits<{
(e: "saved"): void;
}>();
+const isMessstelleInPlanung: ComputedRef = computed(() => {
+ return messstelle.value.status === MessstelleStatus.IN_PLANUNG;
+});
+
onMounted(() => {
loadMessstelle();
});
diff --git a/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts b/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts
index a0e548f..91b1805 100644
--- a/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts
+++ b/frontend/src/domain/dto/messstelle/MessstelleEditDTO.ts
@@ -1,10 +1,11 @@
import BaseEntity from "@/domain/BaseEntity";
import MessquerschnittEditDTO from "@/domain/dto/messstelle/MessquerschnittEditDTO";
+import { MessstelleStatus } from "@/domain/enums/MessstelleStatus";
export default interface MessstelleEditDTO extends BaseEntity {
mstId: string;
name: string;
- status: string;
+ status: MessstelleStatus;
stadtbezirk: string;
stadtbezirkNummer: string;
bemerkung: string;
diff --git a/frontend/src/domain/dto/messstelle/MessstelleOverviewDTO.ts b/frontend/src/domain/dto/messstelle/MessstelleOverviewDTO.ts
index adda048..4a8d3cb 100644
--- a/frontend/src/domain/dto/messstelle/MessstelleOverviewDTO.ts
+++ b/frontend/src/domain/dto/messstelle/MessstelleOverviewDTO.ts
@@ -1,8 +1,10 @@
import BaseEntity from "@/domain/BaseEntity";
+import { MessstelleStatus } from "@/domain/enums/MessstelleStatus";
export default interface MessstelleOverviewDTO extends BaseEntity {
mstId: string;
name: string;
+ status: MessstelleStatus;
geprueft: boolean;
sichtbarDatenportal: boolean;
}
diff --git a/frontend/src/domain/enums/MessstelleStatus.ts b/frontend/src/domain/enums/MessstelleStatus.ts
new file mode 100644
index 0000000..24e744f
--- /dev/null
+++ b/frontend/src/domain/enums/MessstelleStatus.ts
@@ -0,0 +1,34 @@
+export const enum MessstelleStatus {
+ /**
+ * In Planung
+ */
+ IN_PLANUNG = "IN_PLANUNG",
+
+ /**
+ * In Bestand
+ */
+ IN_BESTAND = "IN_BESTAND",
+
+ /**
+ * AUSSER_BETRIEB
+ */
+ AUSSER_BETRIEB = "AUSSER_BETRIEB",
+
+ /**
+ * ABGEBAUT
+ */
+ ABGEBAUT = "ABGEBAUT",
+
+ /**
+ * UNBEKANNT
+ */
+ UNBEKANNT = "UNBEKANNT",
+}
+
+export const messstelleStatusText = new Map([
+ [MessstelleStatus.IN_PLANUNG, "In Planung"],
+ [MessstelleStatus.IN_BESTAND, "In Bestand"],
+ [MessstelleStatus.AUSSER_BETRIEB, "Außer Betrieb"],
+ [MessstelleStatus.ABGEBAUT, "Abgebaut"],
+ [MessstelleStatus.UNBEKANNT, "unbekannt"],
+]);
diff --git a/frontend/src/util/DefaultObjectCreator.ts b/frontend/src/util/DefaultObjectCreator.ts
index d82dc42..049d60a 100644
--- a/frontend/src/util/DefaultObjectCreator.ts
+++ b/frontend/src/util/DefaultObjectCreator.ts
@@ -10,6 +10,7 @@ import DienstleisterDTO from "@/domain/dto/DienstleisterDTO";
import EmailAddressDTO from "@/domain/dto/EmailAddressDTO";
import MessstelleEditDTO from "@/domain/dto/messstelle/MessstelleEditDTO";
import MessstelleInfoDTO from "@/domain/dto/messstelle/MessstelleInfoDTO";
+import { MessstelleStatus } from "@/domain/enums/MessstelleStatus";
export default class DefaultObjectCreator {
private static readonly MUNICH_CENTER_LATITUDE: number = 48.137227;
@@ -56,6 +57,7 @@ export default class DefaultObjectCreator {
public static createDefaultMessstelleEditDTO(): MessstelleEditDTO {
const messstelle: MessstelleEditDTO = {} as MessstelleEditDTO;
messstelle.sichtbarDatenportal = false;
+ messstelle.status = MessstelleStatus.IN_PLANUNG;
messstelle.customSuchwoerter = [];
messstelle.messquerschnitte = [];
return messstelle;
diff --git a/frontend/src/views/ErhebungsstellenOverView.vue b/frontend/src/views/ErhebungsstellenOverView.vue
index ae2d65a..8a85df8 100644
--- a/frontend/src/views/ErhebungsstellenOverView.vue
+++ b/frontend/src/views/ErhebungsstellenOverView.vue
@@ -59,10 +59,16 @@
focusable
>
+
> = ref(
const correctionZaehlungen: Ref> = ref(
[] as Array
);
-const neueMessstellen: Ref> = ref(
+const geplanteMessstellen: Ref> = ref(
+ [] as Array
+);
+const neuUmgesetztMessstellen: Ref> = ref(
[] as Array
);
const nichtSichtbareMessstellen: Ref> = ref(
@@ -145,8 +155,11 @@ const getAccomplishedHeader: ComputedRef = computed(() => {
const getCorrectionHeader: ComputedRef = computed(() => {
return `Fehlerhafte Zählungen: ${correctionZaehlungen.value.length}`;
});
-const neueMessstellenHeader: ComputedRef = computed(() => {
- return `Neue Messstellen: ${neueMessstellen.value.length}`;
+const geplanteMessstellenHeader: ComputedRef = computed(() => {
+ return `Geplante Messstellen: ${geplanteMessstellen.value.length}`;
+});
+const neuUmgesetzteMessstellenHeader: ComputedRef = computed(() => {
+ return `Neu umgesetzte Messstellen: ${neuUmgesetztMessstellen.value.length}`;
});
const nichtSichtbareMessstellenHeader: ComputedRef = computed(() => {
return `Nicht sichtbare Messstellen: ${nichtSichtbareMessstellen.value.length}`;
@@ -191,8 +204,11 @@ function loadOpenMessstellen(): void {
MessstelleService.getAllMessstellenForOverview()
.then((messstellen: Array) => {
messstellen.forEach((messstelle: MessstelleOverviewDTO) => {
- if (!messstelle.geprueft) {
- neueMessstellen.value.push(messstelle);
+ console.error(messstelle.status);
+ if (messstelle.status === MessstelleStatus.IN_PLANUNG) {
+ geplanteMessstellen.value.push(messstelle);
+ } else if (!messstelle.geprueft) {
+ neuUmgesetztMessstellen.value.push(messstelle);
} else if (!messstelle.sichtbarDatenportal) {
nichtSichtbareMessstellen.value.push(messstelle);
}
@@ -211,7 +227,7 @@ function sortDataArrays(): void {
accomplishedZaehlungen.value
);
correctionZaehlungen.value = sortByDatumDesc(correctionZaehlungen.value);
- neueMessstellen.value = sortByMstId(neueMessstellen.value);
+ geplanteMessstellen.value = sortByMstId(geplanteMessstellen.value);
nichtSichtbareMessstellen.value = sortByMstId(
nichtSichtbareMessstellen.value
);