diff --git a/src/composables/serviceUtils.js b/src/composables/serviceUtils.js
index ce124398..d1c27a3c 100644
--- a/src/composables/serviceUtils.js
+++ b/src/composables/serviceUtils.js
@@ -45,6 +45,8 @@ async function fetch({
});
}
+ params.filter = params.filter || {};
+
if (params.filter?.where || exprFilter) {
params.filter.where = { ...params.filter.where, ...exprFilter };
}
diff --git a/src/pages/Ecomerce/CatalogView.vue b/src/pages/Ecomerce/CatalogView.vue
index 3e8e959d..915c34cf 100644
--- a/src/pages/Ecomerce/CatalogView.vue
+++ b/src/pages/Ecomerce/CatalogView.vue
@@ -210,7 +210,7 @@
/>
- {{ selectedItem.item }}
+ {{ selectedItem.name }}
{
await Promise.allSettled(promises);
};
+const getItemExprBuilder = (param, value) => {
+ if (param === 'orderFk' || param === 'orderBy') return;
+ else return { [param]: value };
+};
+
const getItems = async () => {
try {
if (!basketOrderId.value || !isSomeFilterSelected.value) return;
loading.value = true;
- const { data } = await api.get('Orders/catalogFilter', {
- params: {
- orderFk: basketOrderId.value,
- orderBy: JSON.stringify({
- field: selectedOrderBy.value.field,
- way: selectedOrderBy.value.way,
- isTag: selectedOrderBy.value.isTag
- }),
- filter: {
- where: {
- and: [
- { typeFk: selectedType.value },
- { categoryFk: selectedCategory.value }
- ]
- }
- }
- }
+ const params = {
+ orderFk: basketOrderId.value,
+ orderBy: JSON.stringify({
+ field: selectedOrderBy.value.field,
+ way: selectedOrderBy.value.way,
+ isTag: selectedOrderBy.value.isTag
+ }),
+ typeFk: selectedType.value,
+ categoryFk: selectedCategory.value,
+ inkFk: selectedColor.value,
+ producerFk: selectedProducer.value,
+ originFk: selectedOrigin.value
+ };
+ const { data } = await fetch({
+ url: 'Orders/catalogFilter',
+ params,
+ exprBuilder: getItemExprBuilder
});
items.value = data;
@@ -740,35 +746,17 @@ const getItemFamilies = async () => {
const getItemColors = async () => {
try {
if (!selectedCategory.value || !basketOrderId.value) return;
- const res = await jApi.execQuery(
- `CALL myOrder_getAvailable(#orderId);
- SELECT DISTINCT l.id, l.name
- FROM vn.item i
- JOIN vn.itemType t ON t.id = i.typeFk
- JOIN tmp.itemAvailable a ON a.id = i.id
- JOIN vn.inkL10n l ON l.id = i.inkFk
- WHERE (${queryFilter.value})
- ORDER BY name ASC;
- DROP TEMPORARY TABLE tmp.itemAvailable;`,
- {
- orderId: basketOrderId.value
- }
- );
- // const { data } = await api.get('Inks', {
- // params: {
- // filter: JSON.stringify({
- // where: {
- // 't.categoryFk': selectedCategory.value
- // }
- // })
- // }
- // });
- // console.log('ink data: ', data);
- itemColors.value = res.results[1].data;
- // console.log('itemColors: ', itemColors.value);
+ const { data } = await api.get('Orders/getItemsColorsAvailable', {
+ params: {
+ orderId: basketOrderId.value,
+ whereFilter: queryFilter.value
+ }
+ });
+
+ itemColors.value = data;
} catch (error) {
- console.error('Error getting available items:', error);
+ console.error('Error getting items colors:', error);
}
};
@@ -785,59 +773,45 @@ const onItemsFetched = async () => {
const getProducers = async () => {
try {
- const res = await jApi.execQuery(
- `CALL myOrder_getAvailable(#orderId);
- SELECT DISTINCT p.id, p.name
- FROM vn.item i
- JOIN vn.itemType t ON t.id = i.typeFk
- JOIN tmp.itemAvailable a ON a.id = i.id
- JOIN vn.producer p ON p.id = i.producerFk
- WHERE (${queryFilter.value})
- ORDER BY name ASC;
- DROP TEMPORARY TABLE tmp.itemAvailable;`,
- { orderId: basketOrderId.value }
- );
- itemProducers.value = res.results[1].data;
+ const { data } = await api.get('Orders/getItemsProducersAvailable', {
+ params: {
+ orderId: basketOrderId.value,
+ whereFilter: queryFilter.value
+ }
+ });
+ itemProducers.value = data;
} catch (error) {
- console.error('Error getting productors:', error);
+ console.error('Error getting producers:', error);
}
};
const getOrigins = async () => {
try {
- const res = await jApi.execQuery(
- `CALL myOrder_getAvailable(#orderId);
- SELECT DISTINCT o.id, l.name, o.code
- FROM vn.item i
- JOIN vn.itemType t ON t.id = i.typeFk
- JOIN tmp.itemAvailable a ON a.id = i.id
- JOIN vn.origin o ON o.id = i.originFk
- JOIN vn.originL10n l ON l.id = o.id
- WHERE (${queryFilter.value})
- ORDER BY name ASC;
- DROP TEMPORARY TABLE tmp.itemAvailable;`,
- { orderId: basketOrderId.value }
- );
- itemOrigins.value = res.results[1].data;
+ const { data } = await api.get('Orders/getItemsOriginsAvailable', {
+ params: {
+ orderId: basketOrderId.value,
+ whereFilter: queryFilter.value
+ }
+ });
+ itemOrigins.value = data;
} catch (error) {
- console.error('Error getting productors:', error);
+ console.error('Error getting origins:', error);
}
};
const getSubcategories = async () => {
try {
- const res = await jApi.execQuery(
- `CALL myOrder_getAvailable(#orderId);
- SELECT DISTINCT i.category
- FROM vn.item i
- JOIN vn.itemType t ON t.id = i.typeFk
- JOIN tmp.itemAvailable a ON a.id = i.id
- WHERE (${queryFilter.value})
- ORDER BY category ASC;
- DROP TEMPORARY TABLE tmp.itemAvailable;`,
- { orderId: basketOrderId.value }
+ const { data } = await api.get(
+ 'Orders/getItemsSubcategoriesAvailable',
+ {
+ params: {
+ orderId: basketOrderId.value,
+ whereFilter: queryFilter.value
+ }
+ }
);
- const filtered = res.results[1].data.filter(item => item.category);
+
+ const filtered = data.filter(item => item.category);
itemSubcategories.value = filtered.map(i => i.category);
} catch (error) {
console.error('Error getting subcategories:', error);
@@ -906,23 +880,13 @@ const getItemTags = async itemFk => {
const calcItem = async itemId => {
try {
- const res = await jApi.execQuery(
- `CALL myOrder_calcCatalogFromItem(#orderId, #itemId);
- SELECT l.warehouseFk, w.name warehouse, p.grouping,
- p.price, p.priceKg, p.rate, l.available
- FROM tmp.ticketLot l
- JOIN tmp.ticketComponentPrice p ON p.warehouseFk = l.warehouseFk
- JOIN vn.warehouse w ON w.id = p.warehouseFk
- ORDER BY warehouseFk, grouping;
- DROP TEMPORARY TABLE
- tmp.ticketCalculateItem,
- tmp.ticketComponentPrice,
- tmp.ticketComponent,
- tmp.ticketLot,
- tmp.zoneGetShipped;`,
- { orderId: basketOrderId.value, itemId }
- );
- return res.results[1].data;
+ const { data } = await api.get('Orders/getCalcFromItem', {
+ params: {
+ orderId: basketOrderId.value,
+ itemId
+ }
+ });
+ return data;
} catch (error) {
console.error('Error getting items:', error);
}
@@ -962,10 +926,15 @@ const resetAmounts = () => {
const addItemToOrder = async params => {
try {
- await jApi.execQuery(
- `CALL myOrder_addItem(#orderId, #warehouse, #item, #amount);`,
- params
- );
+ await api.post('applications/myOrder_addItem/execute-proc', {
+ schema: 'hedera',
+ params: [
+ params.orderId,
+ params.warehouse,
+ params.item,
+ params.amount
+ ]
+ });
} catch (error) {
console.error('Error adding item to basket:', error);
throw error;
@@ -993,7 +962,7 @@ const onConfirmClick = async params => {
if (amountSum > 0) {
await Promise.all(addItemPromises);
notify(
- `${t('added')} ${amountSum} ${selectedItem.value.item}`,
+ `${t('added')} ${amountSum} ${selectedItem.value.name}`,
'positive'
);
}