Summed table of products, small improvements
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import type { Category } from '@/main'
|
||||
import type { Category, Order, Product } from '@/main'
|
||||
import { ref } from 'vue'
|
||||
import { axiosInstance } from '@/main'
|
||||
|
||||
@@ -15,6 +15,12 @@ export const useCategoriesStore = defineStore('categories', () => {
|
||||
for (const product of category.Towary) {
|
||||
product.Options = new Array(product.Twr_JM);
|
||||
product.ChosenOption = product.Twr_JM;
|
||||
product.BasePrice = product.Twr_Cena;
|
||||
product.BasePriceZ = product.Twr_CenaZ;
|
||||
product.SummedQuantity = 0;
|
||||
product.SummedQuantityZ = 0;
|
||||
product.SummedPrice = 0;
|
||||
product.SummedPriceZ = 0;
|
||||
if (product.Twr_JMZ != null) {
|
||||
product.Options.push(product.Twr_JMZ);
|
||||
}
|
||||
@@ -23,5 +29,36 @@ export const useCategoriesStore = defineStore('categories', () => {
|
||||
}
|
||||
}
|
||||
|
||||
return {categories, fetchCategories}
|
||||
async function sumProductsFromOrders(orders : Array<Order>) {
|
||||
const productsMap = new Map<string, Product>();
|
||||
|
||||
await fetchCategories();
|
||||
|
||||
if(categories.value != undefined) {
|
||||
for (const category of categories.value) {
|
||||
for (const product of category.Towary) {
|
||||
productsMap.set(product.Twr_TwrId.toString(), product);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(orders != undefined) {
|
||||
for (const order of orders) {
|
||||
for (const product of order.MZamElem) {
|
||||
const mapProduct = productsMap.get(String(product.MZE_TwrId));
|
||||
if(product.MZE_TwrJm == mapProduct?.Twr_JM) {
|
||||
mapProduct.SummedQuantity += Number(product.MZE_TwrIlosc);
|
||||
mapProduct.SummedPrice += (Number(product.MZE_TwrCena) * Number(product.MZE_TwrIlosc));
|
||||
}
|
||||
if (product.MZE_TwrJm == mapProduct?.Twr_JMZ) {
|
||||
mapProduct.SummedQuantityZ += Number(product.MZE_TwrIlosc);
|
||||
mapProduct.SummedPriceZ += (Number(product.MZE_TwrCena) * Number(product.MZE_TwrIlosc));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(categories.value);
|
||||
}
|
||||
|
||||
return {categories, fetchCategories, sumProductsFromOrders}
|
||||
})
|
||||
Reference in New Issue
Block a user