diff --git a/src/pages/Ecomerce/ConfirmView.vue b/src/pages/Ecomerce/ConfirmView.vue index 9d889188..17a10d40 100644 --- a/src/pages/Ecomerce/ConfirmView.vue +++ b/src/pages/Ecomerce/ConfirmView.vue @@ -10,9 +10,10 @@ import useNotify from 'src/composables/useNotify.js'; import { currency } from 'src/lib/filters.js'; import { tpvStore } from 'stores/tpv'; import { useQuasar } from 'quasar'; +import { onUserId } from 'src/utils/onUserId'; const $q = useQuasar(); -const jApi = inject('jApi'); +const api = inject('api'); const { notify } = useNotify(); const { t } = useI18n(); const appStore = useAppStore(); @@ -75,35 +76,89 @@ const paymentOptionsArray = computed(() => { ); }); -const getOrder = async () => { +const getOrder = async (clientFk) => { try { - const { results } = await jApi.execQuery( - `CALL myOrder_getTax(#id); - SELECT o.id, o.sent, o.notes, o.companyFk, - ag.description agency, v.code method, - ad.nickname, ad.postalCode, ad.city, ad.street, - t.*, c.credit, myClient_getDebt(NULL) debt - FROM myOrder o - JOIN vn.agencyMode ag ON ag.id = o.agencyModeFk - LEFT JOIN myAddress ad ON ad.id = o.addressFk - JOIN vn.deliveryMethod v ON v.id = o.deliveryMethodFk - JOIN myClient c - JOIN ( - SELECT - IFNULL(SUM(taxableBase), 0) taxableBase, - IFNULL(SUM(tax), 0) tax - FROM tmp.orderAmount - ) t - WHERE o.id = #id; - DROP TEMPORARY TABLE - tmp.orderAmount, - tmp.orderTax;`, - { id: orderId.value } + const { data: { credit: userCredit } } = await api.get( + `clients/${clientFk}`, + { + params: { + filter: { + fields: ['credit'], + } + } + } ); - const orderData = results[1]?.data[0]; + const { data: orderTaxes } = await api.get(`Orders/${orderId.value}/getTaxes`); + + const filter = { + where: { + clientFk, + isConfirmed: false, + source_app: 'WEB', + }, + include: [ + { + relation: 'address', + scope: { + fields: ['nickname', 'city', 'postalCode', 'street'], + } + }, + { + relation: 'agencyMode', + scope: { + fields: ['description'], + } + }, + { + relation: 'deliveryMethod', + scope: { + fields: ['code'], + } + }, + ], + fields: [ + 'id', + 'landed', + 'delivery_method_id', + 'taxableBase', + 'addressFk', + 'agencyModeFk', + 'companyFk', + 'note', + ] + }; + + const { data: salixOrder } = await api.get(`Orders/${orderId.value}`, { + params: { + filter: JSON.stringify(filter) + } + }); + + const { data: salixDebt } = await api.post( + 'applications/myClient_getDebt/execute-func', + { + schema: 'hedera', + params: ['NULL'], + } + ); + + const orderData = { + id: salixOrder.id, + notes: salixOrder.note, + companyFk: salixOrder.companyFk, + agency: salixOrder.agencyMode.description, + method: salixOrder.deliveryMethod.code, + nickname: salixOrder.address.nickname, + postalCode: salixOrder.address.postalCode, + city: salixOrder.address.city, + street: salixOrder.address.street, + taxableBase: orderTaxes[0].taxableBase, + tax: orderTaxes[0].tax, + credit: userCredit, + debt: salixDebt, + }; - const { sent, ...restOfData } = orderData; const total = orderData.taxableBase + orderData.tax || 0; const totalDebt = orderData.debt + total; exceededCredit.value = totalDebt - orderData.credit; @@ -118,10 +173,10 @@ const getOrder = async () => { } const formattedData = { - landed: new Date(sent), + landed: new Date(salixOrder.landed), total, debt: orderData.debt || 0, - ...restOfData + ...orderData }; order.value = formattedData; @@ -151,15 +206,21 @@ const getOrder = async () => { const getTransferAccounts = async () => { try { - const data = await jApi.query(`SELECT name, iban FROM mainAccountBank`); - transferAccounts.value = data; + const filter = { + include: [ + { relation: 'account', scope: { include: [ 'bankEntity' ]} } , + ], + }; + const { data: mainAccountData } = await api.get('MainAccounts', { + params: { filter: JSON.stringify(filter) }, + }); + transferAccounts.value = mainAccountData; } catch (error) { console.error(error); } }; const fetchData = async () => { - await getOrder(); await getTransferAccounts(); }; @@ -170,9 +231,15 @@ const modifyOrder = () => { const confirmOrder = async () => { try { loading.value = true; - await jApi.execQuery('CALL myOrder_confirm(#id)', { - id: orderId.value - }); + await api.post( + 'applications/myOrder_confirm/execute-proc', + { + schema: 'hedera', + params: [ + orderId.value, + ], + }, + ); appStore.unloadOrder(); $q.dialog({ message: t('orderConfirmed'), @@ -206,6 +273,9 @@ onBeforeMount(() => { onMounted(async () => { orderId.value = route.params.id || basketOrderId.value; + + onUserId(getOrder); + await fetchData(); }); @@ -294,12 +364,12 @@ onMounted(async () => { -
{{ account.name }}
-
{{ account.iban }}
+
{{ transferAccount.account.bankEntity.name }}
+
{{ transferAccount.account.iban }}