Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -180,7 +180,7 @@ export const useAccountAgingBalanceStore = defineStore('accountAgingBalance', {
|
||||
|
||||
try {
|
||||
this.filters.selectedDate = new Date().toISOString().slice(0, 10)
|
||||
const { data } = await api.get('/finance/account-aging-statement', {
|
||||
const { data } = await api.get('/finance/aged-customer-balance-list', {
|
||||
params: {
|
||||
cari_search: String(this.filters.cariSearch || '').trim(),
|
||||
cari_ilk_grup: (this.filters.cariIlkGrup || []).join(','),
|
||||
|
||||
@@ -50,32 +50,25 @@ export const useStatementAgingStore = defineStore('statementAging', {
|
||||
const currencyKey = `${cari8}|${curr}`
|
||||
const tutar = Number(row?.eslesen_tutar) || 0
|
||||
const usd = Number(row?.usd_tutar) || 0
|
||||
const trY = Number(row?.try_tutar) || 0
|
||||
const absTry = Math.abs(trY)
|
||||
const absUsd = Math.abs(usd)
|
||||
const gun = Number(row?.gun_sayisi) || 0
|
||||
const gunDoc = Number(row?.gun_sayisi_docdate) || 0
|
||||
const aciklama = String(row?.aciklama || '').toUpperCase()
|
||||
const isAcik = aciklama === 'ACIKKALEM'
|
||||
|
||||
if (!masterMap[masterKey]) {
|
||||
masterMap[masterKey] = {
|
||||
group_key: masterKey,
|
||||
cari8: masterKey,
|
||||
cari_detay: String(row?.cari_detay || '').trim(),
|
||||
acik_kalem_tutari_usd: 0,
|
||||
acik_kalem_tutari_try: 0,
|
||||
acik_kalem_ort_vade_gun: 0,
|
||||
acik_kalem_ort_belge_gun: 0,
|
||||
normal_usd_tutar: 0,
|
||||
normal_try_tutar: 0,
|
||||
ortalama_vade_gun: 0,
|
||||
ortalama_belge_gun: 0,
|
||||
weighted_all_base: 0,
|
||||
weighted_all_gun_sum: 0,
|
||||
weighted_all_doc_sum: 0,
|
||||
weighted_open_base: 0,
|
||||
weighted_open_gun_sum: 0,
|
||||
weighted_open_doc_sum: 0,
|
||||
satir_sayisi: 0,
|
||||
toplam_usd: 0,
|
||||
normal_usd: 0,
|
||||
acik_kalem_usd: 0,
|
||||
weighted_gun_sum: 0,
|
||||
weighted_gun_doc_sum: 0,
|
||||
weighted_base: 0,
|
||||
ortalama_gun: 0,
|
||||
ortalama_gun_docdate: 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,46 +78,48 @@ export const useStatementAgingStore = defineStore('statementAging', {
|
||||
master_key: masterKey,
|
||||
cari8,
|
||||
cari_detay: String(row?.cari_detay || '').trim(),
|
||||
doviz_cinsi: curr,
|
||||
acik_kalem_tutari: 0,
|
||||
acik_kalem_usd: 0,
|
||||
acik_kalem_try: 0,
|
||||
ort_gun: 0,
|
||||
ort_belge_gun: 0,
|
||||
weighted_open_base: 0,
|
||||
weighted_open_gun_sum: 0,
|
||||
weighted_open_doc_sum: 0
|
||||
doc_currency_code: curr,
|
||||
satir_sayisi: 0,
|
||||
toplam_tutar: 0,
|
||||
toplam_usd: 0,
|
||||
normal_tutar: 0,
|
||||
acik_kalem_tutar: 0,
|
||||
weighted_gun_sum: 0,
|
||||
weighted_gun_doc_sum: 0,
|
||||
weighted_base: 0,
|
||||
ortalama_gun: 0,
|
||||
ortalama_gun_docdate: 0
|
||||
}
|
||||
}
|
||||
|
||||
const m = masterMap[masterKey]
|
||||
const c = currencyMap[currencyKey]
|
||||
|
||||
if (isAcik) {
|
||||
m.acik_kalem_tutari_usd += usd
|
||||
m.acik_kalem_tutari_try += trY
|
||||
c.acik_kalem_tutari += tutar
|
||||
c.acik_kalem_usd += usd
|
||||
c.acik_kalem_try += trY
|
||||
m.satir_sayisi += 1
|
||||
m.toplam_usd += usd
|
||||
if (aciklama === 'ACIKKALEM') {
|
||||
m.acik_kalem_usd += usd
|
||||
} else {
|
||||
m.normal_usd_tutar += usd
|
||||
m.normal_try_tutar += trY
|
||||
m.normal_usd += usd
|
||||
}
|
||||
|
||||
if (absTry > 0) {
|
||||
m.weighted_all_base += absTry
|
||||
m.weighted_all_gun_sum += absTry * gun
|
||||
m.weighted_all_doc_sum += absTry * gunDoc
|
||||
c.satir_sayisi += 1
|
||||
c.toplam_tutar += tutar
|
||||
c.toplam_usd += usd
|
||||
if (aciklama === 'ACIKKALEM') {
|
||||
c.acik_kalem_tutar += tutar
|
||||
} else {
|
||||
c.normal_tutar += tutar
|
||||
}
|
||||
|
||||
if (isAcik) {
|
||||
m.weighted_open_base += absTry
|
||||
m.weighted_open_gun_sum += absTry * gun
|
||||
m.weighted_open_doc_sum += absTry * gunDoc
|
||||
if (absUsd > 0) {
|
||||
m.weighted_base += absUsd
|
||||
m.weighted_gun_sum += absUsd * gun
|
||||
m.weighted_gun_doc_sum += absUsd * gunDoc
|
||||
|
||||
c.weighted_open_base += absTry
|
||||
c.weighted_open_gun_sum += absTry * gun
|
||||
c.weighted_open_doc_sum += absTry * gunDoc
|
||||
}
|
||||
c.weighted_base += absUsd
|
||||
c.weighted_gun_sum += absUsd * gun
|
||||
c.weighted_gun_doc_sum += absUsd * gunDoc
|
||||
}
|
||||
|
||||
if (!detailMap[currencyKey]) detailMap[currencyKey] = []
|
||||
@@ -134,10 +129,8 @@ export const useStatementAgingStore = defineStore('statementAging', {
|
||||
this.masterRows = Object.values(masterMap)
|
||||
.map((m) => ({
|
||||
...m,
|
||||
acik_kalem_ort_vade_gun: m.weighted_open_base > 0 ? ceilDay(m.weighted_open_gun_sum / m.weighted_open_base) : 0,
|
||||
acik_kalem_ort_belge_gun: m.weighted_open_base > 0 ? ceilDay(m.weighted_open_doc_sum / m.weighted_open_base) : 0,
|
||||
ortalama_vade_gun: m.weighted_all_base > 0 ? ceilDay(m.weighted_all_gun_sum / m.weighted_all_base) : 0,
|
||||
ortalama_belge_gun: m.weighted_all_base > 0 ? ceilDay(m.weighted_all_doc_sum / m.weighted_all_base) : 0
|
||||
ortalama_gun: m.weighted_base > 0 ? (m.weighted_gun_sum / m.weighted_base) : 0,
|
||||
ortalama_gun_docdate: m.weighted_base > 0 ? (m.weighted_gun_doc_sum / m.weighted_base) : 0
|
||||
}))
|
||||
.sort((a, b) => String(a.cari8).localeCompare(String(b.cari8), 'tr', { sensitivity: 'base' }))
|
||||
|
||||
@@ -145,32 +138,18 @@ export const useStatementAgingStore = defineStore('statementAging', {
|
||||
for (const c of Object.values(currencyMap)) {
|
||||
const row = {
|
||||
...c,
|
||||
ort_gun: c.weighted_open_base > 0 ? ceilDay(c.weighted_open_gun_sum / c.weighted_open_base) : 0,
|
||||
ort_belge_gun: c.weighted_open_base > 0 ? ceilDay(c.weighted_open_doc_sum / c.weighted_open_base) : 0
|
||||
ortalama_gun: c.weighted_base > 0 ? (c.weighted_gun_sum / c.weighted_base) : 0,
|
||||
ortalama_gun_docdate: c.weighted_base > 0 ? (c.weighted_gun_doc_sum / c.weighted_base) : 0
|
||||
}
|
||||
if (!currencyByMaster[row.master_key]) currencyByMaster[row.master_key] = []
|
||||
currencyByMaster[row.master_key].push(row)
|
||||
}
|
||||
|
||||
for (const key of Object.keys(currencyByMaster)) {
|
||||
currencyByMaster[key].sort((a, b) => String(a.doviz_cinsi).localeCompare(String(b.doviz_cinsi), 'en', { sensitivity: 'base' }))
|
||||
currencyByMaster[key].sort((a, b) => String(a.doc_currency_code).localeCompare(String(b.doc_currency_code), 'en', { sensitivity: 'base' }))
|
||||
}
|
||||
|
||||
this.currencyRowsByMaster = currencyByMaster
|
||||
for (const key of Object.keys(detailMap)) {
|
||||
detailMap[key].sort((a, b) => {
|
||||
const aEmpty = !a?.odeme_tarihi
|
||||
const bEmpty = !b?.odeme_tarihi
|
||||
if (aEmpty && !bEmpty) return -1
|
||||
if (!aEmpty && bEmpty) return 1
|
||||
if (aEmpty && bEmpty) return 0
|
||||
const aTs = Date.parse(a.odeme_tarihi)
|
||||
const bTs = Date.parse(b.odeme_tarihi)
|
||||
const aNum = Number.isFinite(aTs) ? aTs : -Infinity
|
||||
const bNum = Number.isFinite(bTs) ? bTs : -Infinity
|
||||
return bNum - aNum
|
||||
})
|
||||
}
|
||||
this.detailByCurrency = detailMap
|
||||
},
|
||||
|
||||
@@ -206,17 +185,9 @@ function normalizeRowKeys(row) {
|
||||
odeme_doc_date: row.OdemeDocDate ?? row.odeme_doc_date ?? null,
|
||||
eslesen_tutar: Number(row.EslesenTutar ?? row.eslesen_tutar ?? 0),
|
||||
usd_tutar: Number(row.UsdTutar ?? row.usd_tutar ?? 0),
|
||||
try_tutar: Number(row.TryTutar ?? row.try_tutar ?? 0),
|
||||
gun_sayisi: Number(row.GunSayisi ?? row.gun_sayisi ?? 0),
|
||||
gun_sayisi_docdate: Number(row.GunSayisi_DocDate ?? row.gun_sayisi_docdate ?? 0),
|
||||
gun_kur: Number(row.GunKur ?? row.gun_kur ?? 0),
|
||||
aciklama: row.Aciklama ?? row.aciklama ?? null,
|
||||
doc_currency_code: row.DocCurrencyCode ?? row.doc_currency_code ?? null
|
||||
}
|
||||
}
|
||||
|
||||
function ceilDay(value) {
|
||||
const n = Number(value)
|
||||
if (!Number.isFinite(n)) return 0
|
||||
return Math.ceil(n)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user