code cleanup
This commit is contained in:
@@ -3,71 +3,36 @@ import { useOrdersStore } from '@/stores/orders.store'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import VueDatePicker from '@vuepic/vue-datepicker'
|
||||
import { useSiteControlStore } from '@/stores/siteControl.store'
|
||||
import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
|
||||
import { onBeforeUnmount, onMounted, ref } from 'vue'
|
||||
import { useCategoriesStore } from '@/stores/categories.store'
|
||||
import type { Order, OrderProduct, Product } from '@/main'
|
||||
import { useRoutesStore } from '@/stores/routes.store'
|
||||
|
||||
const ordersStore = useOrdersStore()
|
||||
const categoriesStore = useCategoriesStore();
|
||||
const routeStore = useRoutesStore();
|
||||
const categoriesStore = useCategoriesStore()
|
||||
const routeStore = useRoutesStore()
|
||||
|
||||
const { orders, dates } = storeToRefs(ordersStore);
|
||||
const { routes } = storeToRefs(routeStore);
|
||||
const searchDate = ref<Date>(new Date(Date.now()));
|
||||
const confirmedOrders = ref<boolean>();
|
||||
const isSummed = ref<boolean>(true);
|
||||
const { orders, dates } = storeToRefs(ordersStore)
|
||||
const { routes } = storeToRefs(routeStore)
|
||||
const searchDate = ref<Date>(new Date(Date.now()))
|
||||
const confirmedOrders = ref<boolean>()
|
||||
const isSummed = ref<boolean>(true)
|
||||
const nipGrouped = ref(false)
|
||||
const isLoading = ref<boolean>(true);
|
||||
const summedProducts = ref<Array<Product>>([]);
|
||||
const products = ref<Array<Object>>();
|
||||
const isLoading = ref<boolean>(true)
|
||||
const summedProducts = ref<Array<Product>>([])
|
||||
const products = ref<Array<Object>>()
|
||||
const ordersByRoute = ref<Map<string, Array<Order>>>(new Map<string, Array<Order>>())
|
||||
const orderByRouteAndNipRef = ref<Map<string, Map<number, {
|
||||
orders: Order[];
|
||||
products: OrderProduct[]
|
||||
}>>>(new Map<string, Map<number, { orders: Order[]; products: OrderProduct[] }>>)
|
||||
|
||||
const orderNumbers = computed(() => {
|
||||
const orders = orderByRouteAndNipRef.get(route.MZT_Nazwa1)?.get(order.MZN_PodNipE)
|
||||
?.orders ?? []
|
||||
return orders.map(o => o.MZN_MZNID).join(', ')
|
||||
})
|
||||
|
||||
// const watchSearchDate = watch(searchDate, async (oldSearchDate, newSeatchDate) => {
|
||||
// if(oldSearchDate != newSeatchDate) {
|
||||
// await fetchOrders();
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// const watchConfirmedOrders = watch(confirmedOrders, async (oldConfirmedOrders, newConfirmedOrders) => {
|
||||
// if (oldConfirmedOrders != newConfirmedOrders) {
|
||||
// await fetchOrders();
|
||||
// }
|
||||
// })
|
||||
//
|
||||
// async function fetchOrders() {
|
||||
// isLoading.value=true;
|
||||
// orders.value = await ordersStore.fetchOrdersByDateStartAndEnd(searchDate.value != undefined ? searchDate.value : new Date(Date.now()),
|
||||
// searchDate.value != undefined ? searchDate.value : new Date(Date.now()),
|
||||
// (confirmedOrders.value) ? false : null);
|
||||
// const productsMap = await categoriesStore.sumProductsFromOrders(orders.value);
|
||||
// summedProducts.value = [];
|
||||
// for(const product of productsMap.values()) {
|
||||
// if(product.SummedQuantity > 0) {
|
||||
// summedProducts.value.push(product);
|
||||
// }
|
||||
// }
|
||||
// await prepareProductsFromOrders();
|
||||
// isLoading.value=false;
|
||||
// }
|
||||
|
||||
function addRoutes() {
|
||||
for (const route of routes.value) {
|
||||
ordersByRoute.value.set(route.MZT_Nazwa1, [])
|
||||
}
|
||||
ordersByRoute.value.set('brak', [])
|
||||
}
|
||||
|
||||
function updateProducts(order: UnwrapRefSimple<Order> | UnwrapRefSimple<UnwrapRefSimple<Order>>) {
|
||||
for (const product of order.MZamElem) {
|
||||
const newProduct = {
|
||||
@@ -81,7 +46,6 @@ function updateProducts(order: UnwrapRefSimple<Order> | UnwrapRefSimple<UnwrapRe
|
||||
order.products.push(newProduct)
|
||||
}
|
||||
}
|
||||
|
||||
function prepareProductsFromOrders() {
|
||||
products.value = []
|
||||
if (orders.value == undefined || routes.value == undefined) {
|
||||
@@ -96,13 +60,74 @@ function prepareProductsFromOrders() {
|
||||
})?.MZT_Nazwa1;
|
||||
|
||||
ordersByRoute.value.get(routeName != undefined ? routeName : "brak")?.push(order);
|
||||
ordersByRoute.value.get(routeName != undefined ? routeName : 'brak')?.push(order)
|
||||
|
||||
}
|
||||
|
||||
console.log(orders.value)
|
||||
console.log(ordersByRoute.value);
|
||||
console.log(ordersByRoute.value)
|
||||
const newOrder: Order = {
|
||||
loading: false,
|
||||
MZN_Bufor: 0,
|
||||
MZN_Anulowane: 0,
|
||||
MZN_DataDos: "2025-02-27",
|
||||
MZN_DataZam: "2025-02-27",
|
||||
MZN_MZNID: 12345,
|
||||
MZN_OpeID: 6789,
|
||||
MZN_PodID: 1001,
|
||||
MZN_PodKodPocztowy: "00-001",
|
||||
MZN_PodMiasto: "Warszawa",
|
||||
MZN_PodNazwa1: "Firma XYZ",
|
||||
MZN_PodNazwa2: "Oddział Główny",
|
||||
MZN_PodNazwa3: "",
|
||||
MZN_PodNipE: "8991446786",
|
||||
MZN_PodNrDomu: "10A",
|
||||
MZN_PodUlica: "Marszałkowska",
|
||||
MZN_PodWojewodztwo: "Mazowieckie",
|
||||
MZN_TypDokumentu: 1,
|
||||
MZN_UUID: "550e8400-e29b-41d4-a716-446655440000",
|
||||
MZN_Uwagi: "Brak uwag",
|
||||
MZN_MZTID: 2002,
|
||||
MZamElem: [
|
||||
{
|
||||
MZE_MZEID: 1,
|
||||
MZE_MZNID: 12345,
|
||||
MZE_TwrCena: "12.00",
|
||||
MZE_TwrId: 2323,
|
||||
MZE_TwrIlosc: "150.00",
|
||||
MZE_TwrJm: "kg",
|
||||
MZE_TwrNazwa: 'Twaróg półtłusty "suchy" - luz',
|
||||
MZE_TwrKod: "TWS-LUZ",
|
||||
MZE_TwrStawka: "8%",
|
||||
suma: 1800.00
|
||||
},
|
||||
{
|
||||
MZE_MZEID: 2,
|
||||
MZE_MZNID: 12345,
|
||||
MZE_TwrCena: "25.50",
|
||||
MZE_TwrId: 102,
|
||||
MZE_TwrIlosc: "10.00",
|
||||
MZE_TwrJm: "szt",
|
||||
MZE_TwrNazwa: "Ekologiczne jajka klasy premium",
|
||||
MZE_TwrKod: "EKO-JAJ",
|
||||
MZE_TwrStawka: "5%",
|
||||
suma: 255.00
|
||||
}
|
||||
],
|
||||
products: []
|
||||
};
|
||||
const produkciki = newOrder.MZamElem.map(product => ({
|
||||
kod: product.MZE_TwrKod,
|
||||
nazwa: product.MZE_TwrNazwa,
|
||||
ilosc: Number(product.MZE_TwrIlosc).toFixed(2),
|
||||
jm: product.MZE_TwrJm,
|
||||
cena: Number(product.MZE_TwrCena).toFixed(2),
|
||||
suma: Number(Number(product.MZE_TwrCena) * Number(product.MZE_TwrIlosc)).toFixed(2)
|
||||
}));
|
||||
|
||||
// Aktualizacja newOrder z dodanymi produktami
|
||||
newOrder.products = produkciki;
|
||||
ordersByRoute.value.get("Wrocław")?.push(newOrder);
|
||||
|
||||
|
||||
console.log(newOrder);
|
||||
}
|
||||
|
||||
function groupByNip() {
|
||||
@@ -131,59 +156,14 @@ function groupByNip() {
|
||||
element.suma = Number(Number(element.MZE_TwrIlosc )*Number(element.MZE_TwrCena)).toFixed(2)
|
||||
entry.products.push(element)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
orderByRouteAndNip.set(route, ordersByNip)
|
||||
}
|
||||
orderByRouteAndNipRef.value = orderByRouteAndNip
|
||||
|
||||
}/*
|
||||
function groupByNip() {
|
||||
const orderByRouteAndNip = new Map<string /!*route*!/, Map<number /!*nip*!/, Map<Array<Order>, Array<OrderProduct>>>>()//TODO moze tu dodać liste numerów orderów
|
||||
Array.from(ordersByRoute.value).forEach(([route, orders]) => {
|
||||
const ordersByNip = new Map<number, Array<Order>>()
|
||||
const productsByNip = new Map<number, Array<OrderProduct>>()
|
||||
const productsAndOrdersByNip = new Map<number, Map<Array<Order>, Array<OrderProduct>>>
|
||||
orders.forEach((order) => {
|
||||
if (!ordersByNip.has(order.MZN_PodNipE)) {
|
||||
ordersByNip.set(order.MZN_PodNipE, [])
|
||||
}
|
||||
ordersByNip.get(order.MZN_PodNipE).push(order)
|
||||
|
||||
order.MZamElem.forEach(element => {
|
||||
if (!productsByNip.has(order.MZN_PodNipE)) {
|
||||
productsByNip.set(order.MZN_PodNipE, [])
|
||||
}
|
||||
|
||||
const productList = productsByNip.get(order.MZN_PodNipE)
|
||||
const currentElement = productList.find(iterator => iterator.MZE_TwrId === element.MZE_TwrId)
|
||||
|
||||
if (currentElement) {
|
||||
currentElement.MZE_TwrIlosc = String(
|
||||
Number.parseFloat(element.MZE_TwrIlosc) + Number.parseFloat(currentElement.MZE_TwrIlosc)
|
||||
)
|
||||
} else {
|
||||
productList.push(element)
|
||||
}
|
||||
|
||||
if (!productsAndOrdersByNip.has(order.MZN_PodNipE)) {
|
||||
const tempMap = new Map<Array<Order>, Array<OrderProduct>>
|
||||
tempMap.set(ordersByNip.get(order.MZN_PodNipE),productList)
|
||||
productsAndOrdersByNip.set(order.MZN_PodNipE, tempMap)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
if (!orderByRouteAndNip.has(route)) {
|
||||
orderByRouteAndNip.set(route, productsAndOrdersByNip)
|
||||
}
|
||||
})
|
||||
console.log(orderByRouteAndNip)
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
onMounted(async () => {
|
||||
orders.value = await ordersStore.fetchOrdersByDay(searchDate.value, null);
|
||||
@@ -199,12 +179,14 @@ function groupByNip() {
|
||||
console.log(products.value);
|
||||
isLoading.value=false;
|
||||
groupByNip()
|
||||
console.log(ordersByRoute.value)
|
||||
});
|
||||
|
||||
onBeforeUnmount(async function() {
|
||||
const siteControlStore = useSiteControlStore();
|
||||
await siteControlStore.newOrder(false);
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -278,9 +260,11 @@ function groupByNip() {
|
||||
v-for="[nip, item] in Array.from(orderByRouteAndNipRef.get(route.MZT_Nazwa1) || new Map())"
|
||||
:key="nip" class="pb-4" style="display: block; page-break-inside: avoid;">
|
||||
|
||||
<p>NIP: {{ nip }}</p>
|
||||
<p class="is-size-5 px-2">NIP: {{ nip }}</p>
|
||||
|
||||
<p class="is-size-6 px-2">{{ item.orders[1].MZN_PodNazwa1 + item.orders[1].MZN_PodNazwa2 +item.orders[1].MZN_PodNazwa3 }}</p>
|
||||
<p class="is-size-6 px-2">
|
||||
{{ item.orders[0].MZN_PodNazwa1 + item.orders[0].MZN_PodNazwa2 + item.orders[0].MZN_PodNazwa3
|
||||
}}</p>
|
||||
<p class="is-size-5 px-2"
|
||||
v-if="orderByRouteAndNipRef.get(route.MZT_Nazwa1)?.get(nip)?.orders?.length">
|
||||
ZAMÓWIENIA NR
|
||||
@@ -300,49 +284,14 @@ function groupByNip() {
|
||||
<Column field="MZE_TwrCena" header="Cena" />
|
||||
<Column field="suma" header="Suma" />
|
||||
</DataTable>
|
||||
<div v-if="item.orders[1].MZN_Uwagi != undefined">
|
||||
<div v-if="item.orders[0].MZN_Uwagi != undefined">
|
||||
<p class="is-size-6 px-2">Uwagi</p>
|
||||
<p class="is-size-6 px-2">{{ item.orders[1].MZN_Uwagi }}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <div v-else-if="nipGrouped" v-for="( item, nip) of orderByRouteAndNipRef.get(route.MZT_Nazwa1)"
|
||||
:key="nip" class="pb-4" style="display: block; page-break-inside: avoid;">
|
||||
<p > {{ item}}</p>
|
||||
<!– <p class="is-size-6 px-2">NIP {{ item..MZN_PodNipE }}</p>
|
||||
<p class="is-size-6 px-2">{{ order.MZN_PodNazwa1 + order.MZN_PodNazwa2 + order.MZN_PodNazwa3 }}</p>
|
||||
<p class="is-size-5 px-2"
|
||||
v-if="orderByRouteAndNipRef.get(route.MZT_Nazwa1)?.get(order.MZN_PodNipE)?.orders?.length">
|
||||
ZAMÓWIENIA NR
|
||||
<span
|
||||
v-for="(orderByNip, index) in orderByRouteAndNipRef.get(route.MZT_Nazwa1).get(order.MZN_PodNipE).orders">{{ orderByNip.MZN_MZNID
|
||||
}}
|
||||
<span
|
||||
v-if="index !== orderByRouteAndNipRef.get(route.MZT_Nazwa1).get(order.MZN_PodNipE).orders.length - 1">, </span>
|
||||
</span>
|
||||
</p>
|
||||
<DataTable :value="orderByRouteAndNipRef.get(route.MZT_Nazwa1).get(order.MZN_PodNipE).products"
|
||||
class="mb-3" style="padding:0" scrollable>
|
||||
<Column field="MZE_TwrKod" header="Indeks" frozen></Column>
|
||||
<Column field="MZE_TwrNazwa" header="Nazwa" />
|
||||
<Column field="MZE_TwrIlosc" header="Ilość" />
|
||||
<Column field="MZE_TwrJm" header="JM" />
|
||||
<Column field="MZE_TwrCena" header="Cena" />
|
||||
<Column field="suma" header="Suma" />
|
||||
</DataTable>
|
||||
<div v-if="order.MZN_Uwagi != undefined">
|
||||
<p class="is-size-6 px-2">Uwagi</p>
|
||||
<p class="is-size-6 px-2">{{ order.MZN_Uwagi }}</p>
|
||||
</div>–>
|
||||
</div>-->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<p class="is-size-6 px-2">{{ item.orders[0].MZN_Uwagi }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<DataTable :value="summedProducts" class="mb-3" style="padding:0" scrollable id="printMe" v-else-if="orders != undefined && orders.length != 0 && isSummed">
|
||||
<Column field="Twr_Kod" header="Indeks" frozen></Column>
|
||||
|
||||
Reference in New Issue
Block a user