Compare commits
2 Commits
e8f914b321
...
9c2f02d617
| Author | SHA1 | Date | |
|---|---|---|---|
| 9c2f02d617 | |||
| 927cdfd7e8 |
166
sql_query_updated.sql
Normal file
166
sql_query_updated.sql
Normal file
@ -0,0 +1,166 @@
|
||||
SELECT c.Id, c.PiyangoId, c.Baslik, ISNULL(c.CreateDate, '0001-01-01') AS OlusturmaTarihi, MIN(ISNULL(cb.BaslangicTarihi, '0001-01-01')) AS BaslangicTarihi, MIN(ISNULL(cb.BitisTarihi, '0001-01-01')) AS BitisTarihi,
|
||||
|
||||
/* DÜZENLEYEN (mevcut)*/ COALESCE (NULLIF (d .DernekUnvan, ''), NULLIF (d .GercekTicariUnvan, ''), NULLIF (d .kamuUnvan, ''), NULLIF (d .SirketUnvan, ''), NULLIF (d .TuzelUnvan, ''), LTRIM(RTRIM(COALESCE (d .GercekAdi,
|
||||
|
||||
'') + ' ' + COALESCE (d .GercekSoyadi, ''))), iblist.IrtibatAdSoyad, 'Bilinmiyor') AS Duzenleyen, ISNULL(d .Id, 0) AS DuzenleyenId,
|
||||
|
||||
/* MÜDÜRLÜK (yeni - 2. başlık)*/
|
||||
CASE
|
||||
WHEN odlast.Mudurluk = 1 THEN '1 No''lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü'
|
||||
WHEN odlast.Mudurluk = 2 THEN '2 No''lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü'
|
||||
WHEN odlast.Mudurluk = 3 THEN '3 No''lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü'
|
||||
ELSE ISNULL(birim.BirimAdi, '')
|
||||
END AS Mudurluk,
|
||||
|
||||
MIN(cy.Deger) AS CekilisYontemi, MIN(cb.CekilisYontemiId) AS CekilisYontemiId, MIN(cb.KatilimciListesiTeslimYontemiId) AS KatilimciListesiTeslimYontemiId, MIN(klt.Deger) AS KatilimciListesiTeslimYontemi, ik.Ikramiyeler,
|
||||
|
||||
ISNULL(odlast.OnayDurumuIslemTipiId, 0) AS DurumId, ISNULL(odlast.IslemTipi, 'Yeni Piyango') AS Durum, MIN(ISNULL(cb.CekilisTarihi, '0001-01-01')) AS CekilisTarihi, ap.AmacAdi AS piyangoamac,
|
||||
|
||||
c.amacpiyangoId AS piyangoAmacId, ISNULL(oc.OnayVerecekKisi1Id, 0) AS OnayVerecekKisi1Id, ISNULL(oc.OnayVerecekKisi2Id, 0) AS OnayVerecekKisi2Id, ISNULL(oc.OnayVerecekKisi3Id, 0) AS OnayVerecekKisi3Id,
|
||||
|
||||
c.izinBedelNo, c.BasvuruBedelNo, c.izinBedeliDurum, c.basvuruBedeliDurum, c.baglisirketId, /* Atanmis (mevcut)*/ CASE WHEN ISNULL(oc.OnayVerecekKisi1Id, 0) > 0 OR
|
||||
|
||||
ISNULL(oc.OnayVerecekKisi2Id, 0) > 0 OR
|
||||
|
||||
ISNULL(oc.OnayVerecekKisi3Id, 0) > 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END AS Atanmis, ISNULL(atananlar.AlananIsimler, '') AS Atananlar, /* ARACI FİRMA (yeni - 5. başlık)*/ CASE WHEN EXISTS
|
||||
|
||||
(SELECT 1
|
||||
|
||||
FROM AspNetUserRoles ur INNER JOIN
|
||||
|
||||
AspNetRoles r ON ur.RoleId = r.Id
|
||||
|
||||
WHERE ur.UserId = d .ParentUserId AND r.Name = 'AraciFirma') THEN COALESCE (NULLIF (parentUser.DernekUnvan, ''), NULLIF (parentUser.GercekTicariUnvan, ''), NULLIF (parentUser.kamuUnvan, ''),
|
||||
|
||||
NULLIF (parentUser.SirketUnvan, ''), NULLIF (parentUser.TuzelUnvan, ''), LTRIM(RTRIM(COALESCE (parentUser.GercekAdi, '') + ' ' + COALESCE (parentUser.GercekSoyadi, ''))), '') ELSE '' END AS AraciFirma,
|
||||
|
||||
/* İZİN TARİHİ (yeni - 7. başlık)*/ odlast.IzinTarihi AS IzinTarihi, /* İZİN SAYISI (yeni - 8. başlık)*/ odlast.IzinSayisi AS IzinSayisi,
|
||||
|
||||
/* ÇEKİLİŞ GÖREVLİSİ (yeni - 12. başlık)*/
|
||||
CASE
|
||||
WHEN odlast.CekilisGorevlisi = 1 THEN 'Antalya Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 2 THEN 'Gaziantep Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 3 THEN 'Aksaray Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 4 THEN 'Kadıköy Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 5 THEN 'Karşıyaka Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 6 THEN 'Muğla Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 7 THEN 'Trabzon Şube Müdürlüğü'
|
||||
WHEN odlast.CekilisGorevlisi = 8 THEN 'Noter'
|
||||
WHEN odlast.CekilisGorevlisi = 9 THEN 'Başkanlık Personeli'
|
||||
ELSE COALESCE (LTRIM(RTRIM(COALESCE (personel.GercekAdi, '') + ' ' + COALESCE (personel.GercekSoyadi, ''))), LTRIM(RTRIM(COALESCE (birimSefi.GercekAdi, '') + ' ' + COALESCE (birimSefi.GercekSoyadi, ''))), '')
|
||||
END AS CekilisGorevlisi,
|
||||
|
||||
/* GAZETE İLAN TARİHİ (yeni - 13. başlık)*/ MIN(cb.ilantarihi) AS GazeteIlanTarihi, /* GAZETE ADI (yeni - 14. başlık)*/ MIN(cb.ilanEdilecekGazete)
|
||||
|
||||
AS GazeteAdi, /* KDV Oranı = 0.20 (sabit)*/ CASE WHEN ikramiyeTutar.ToplamTutar IS NOT NULL AND izinBedelOrani.Oran IS NOT NULL THEN CAST((ikramiyeTutar.ToplamTutar * izinBedelOrani.Oran / 100.0)
|
||||
|
||||
* 1.20 AS DECIMAL(18, 2)) ELSE NULL END AS IzinBedeliTutari, /* İKRAMİYE TUTARI (yeni - 16. başlık)*/ ISNULL(ikramiyeTutar.ToplamTutar, 0) AS IkramiyeTutari,
|
||||
|
||||
/* TEMİNAT TARİHİ (yeni - 17. başlık)*/ ts .TeminantDate AS TeminatTarihi, /* TEMİNAT SAYISI (yeni - 18. başlık)*/ ts .TeminantNo AS TeminatSayisi, /* TEMİNAT BANKASI (yeni - 19. başlık)*/ ts .BankName AS TeminatBankasi,
|
||||
|
||||
/* TEMİNAT TUTARI (yeni - 20. başlık)*/ ts .Amount AS TeminatTutari, /* T. PARA CİNSİ (yeni - 21. başlık)*/ ISNULL(paraBirimi.ParaBirimiSembol, '') AS ParaBirimiSembol,
|
||||
|
||||
/* T. İADE TARİHİ (yeni - 22. başlık)*/ ts .RefundDate AS TeminatIadeTarihi, /* T. İADE SAYISI (yeni - 23. başlık)*/ ts .RefundCount AS TeminatIadeSayisi
|
||||
|
||||
FROM Cekilisler c LEFT JOIN
|
||||
|
||||
CekilisBilgiler cb ON cb.CekilisId = c.Id LEFT JOIN
|
||||
|
||||
AspNetUsers d ON d .Id = c.DuzenleyenId LEFT JOIN
|
||||
|
||||
Birimler birim ON birim.Id = d .BirimId /* MÜDÜRLÜK için*/ LEFT JOIN
|
||||
|
||||
AspNetUsers parentUser ON parentUser.Id = d .ParentUserId /* ARACI FİRMA için*/ LEFT JOIN
|
||||
|
||||
AspNetUsers personel ON personel.Id = c.PersonelId /* ÇEKİLİŞ GÖREVLİSİ için*/ LEFT JOIN
|
||||
|
||||
AspNetUsers birimSefi ON birimSefi.Id = c.BirimSefiId /* ÇEKİLİŞ GÖREVLİSİ için*/ LEFT JOIN
|
||||
|
||||
PiyangoAmacs ap ON ap.Id = c.amacpiyangoId LEFT JOIN
|
||||
|
||||
OnayCekilisler oc ON oc.CekilisId = c.Id LEFT JOIN
|
||||
|
||||
CekilisYontemleri cy ON cb.CekilisYontemiId = cy.Id LEFT JOIN
|
||||
|
||||
KatilimciListesiTeslimYontemleri klt ON cb.KatilimciListesiTeslimYontemiId = klt.Id /* APPLY ile son OnayDurumu (İZİN TARİHİ, İZİN SAYISI, MÜDÜRLÜK ve ÇEKİLİŞ GÖREVLİSİ dahil)*/ OUTER APPLY
|
||||
|
||||
(SELECT TOP 1 od.OnayDurumuIslemTipiId, od.IslemTipi, od.IzinTarihi, od.IzinSayisi, od.Mudurluk, od.CekilisGorevlisi
|
||||
|
||||
FROM OnayCekilisler oc2 INNER JOIN
|
||||
|
||||
OnayDurumlari od ON oc2.Id = od.OnayCekilisId
|
||||
|
||||
WHERE oc2.CekilisId = c.Id
|
||||
|
||||
ORDER BY od.Tarih DESC) odlast /* APPLY ile ikramiyeler string*/ OUTER APPLY
|
||||
|
||||
(SELECT STUFF
|
||||
|
||||
((SELECT ', ' + i2.Marka + ' ' + i2.Model
|
||||
|
||||
FROM Ikramiyeler i2
|
||||
|
||||
WHERE i2.CekilisId = c.Id FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)'), 1, 2, '')) ik(Ikramiyeler) /* APPLY ile ikramiye tutarı toplamı*/ OUTER APPLY
|
||||
|
||||
(SELECT SUM(i3.BirimFiyat * i3.AsilTalihliAdedi) AS ToplamTutar
|
||||
|
||||
FROM Ikramiyeler i3
|
||||
|
||||
WHERE i3.CekilisId = c.Id) ikramiyeTutar /* APPLY ile aktif izin bedel oranı (ilk aktif oran)*/ OUTER APPLY
|
||||
|
||||
(SELECT TOP 1 ibo.Oran
|
||||
|
||||
FROM IzinBedelOranlari ibo
|
||||
|
||||
WHERE ibo.Aktif = 1
|
||||
|
||||
ORDER BY ibo.Id) izinBedelOrani /* APPLY ile para birimi sembolü (ilk ikramiyenin para birimi)*/ OUTER APPLY
|
||||
|
||||
(SELECT TOP 1 pb.ParaBirimiSembol
|
||||
|
||||
FROM Ikramiyeler i4 LEFT JOIN
|
||||
|
||||
ParaBirimleri pb ON pb.Id = i4.ParaBirimiId
|
||||
|
||||
WHERE i4.CekilisId = c.Id AND pb.ParaBirimiSembol IS NOT NULL
|
||||
|
||||
ORDER BY i4.Id) paraBirimi /* APPLY ile irtibat bilgileri string*/ OUTER APPLY
|
||||
|
||||
(SELECT STUFF
|
||||
|
||||
((SELECT ', ' + ib2.AdSoyad
|
||||
|
||||
FROM IrtibatBilgiler ib2
|
||||
|
||||
WHERE ib2.CekilisId = c.Id FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)'), 1, 2, '')) iblist(IrtibatAdSoyad) /* APPLY ile atanan kullanıcı isimleri*/ OUTER APPLY
|
||||
|
||||
(SELECT STUFF
|
||||
|
||||
((SELECT ', ' + u.GercekAdi + ' ' + u.GercekSoyadi
|
||||
|
||||
FROM AspNetUsers u
|
||||
|
||||
WHERE u.Id IN (ISNULL(oc.OnayVerecekKisi1Id, 0), ISNULL(oc.OnayVerecekKisi2Id, 0), ISNULL(oc.OnayVerecekKisi3Id, 0)) FOR XML PATH(''), TYPE ).value('.',
|
||||
|
||||
'NVARCHAR(MAX)'), 1, 2, '')) atananlar(AlananIsimler) /* APPLY ile teminat bilgileri (son teminat kaydı)*/ OUTER APPLY
|
||||
|
||||
(SELECT TOP 1 ts2.TeminantDate, ts2.TeminantNo, ts2.BankName, ts2.Amount, ts2.RefundDate, ts2.RefundCount
|
||||
|
||||
FROM TeminantStates ts2
|
||||
|
||||
WHERE ts2.CekilisId = c.Id
|
||||
|
||||
ORDER BY ts2.Id DESC) ts
|
||||
|
||||
GROUP BY c.Id, c.PiyangoId, c.Baslik, c.CreateDate, d .DernekUnvan, d .GercekTicariUnvan, d .kamuUnvan, d .SirketUnvan, d .TuzelUnvan, d .GercekAdi, d .GercekSoyadi, d .Id, d .ParentUserId,
|
||||
|
||||
birim.BirimAdi, ap.AmacAdi, c.amacpiyangoId, oc.OnayVerecekKisi1Id, oc.OnayVerecekKisi2Id, oc.OnayVerecekKisi3Id, c.izinBedelNo, c.BasvuruBedelNo, c.izinBedeliDurum,
|
||||
|
||||
c.basvuruBedeliDurum, c.baglisirketId, ik.Ikramiyeler, iblist.IrtibatAdSoyad, odlast.OnayDurumuIslemTipiId, odlast.IslemTipi, odlast.IzinTarihi, odlast.IzinSayisi,
|
||||
|
||||
atananlar.AlananIsimler, personel.GercekAdi, personel.GercekSoyadi, birimSefi.GercekAdi, birimSefi.GercekSoyadi, parentUser.DernekUnvan, parentUser.GercekTicariUnvan,
|
||||
|
||||
parentUser.kamuUnvan, parentUser.SirketUnvan, parentUser.TuzelUnvan, parentUser.GercekAdi, parentUser.GercekSoyadi, ikramiyeTutar.ToplamTutar, izinBedelOrani.Oran,
|
||||
|
||||
paraBirimi.ParaBirimiSembol, ts .TeminantDate, ts .TeminantNo, ts .BankName, ts .Amount, ts .RefundDate, ts .RefundCount, odlast.Mudurluk, odlast.CekilisGorevlisi;
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
<template>
|
||||
<form-piyango-cekilis-tutanagi-display
|
||||
v-if="
|
||||
usersStore.isPanelUser ||
|
||||
(piyangoStore.lotteryApprove !== 0 &&
|
||||
piyangoStore.lotteryApprove !== 3 &&
|
||||
piyangoStore.lotteryApprove !== 8)
|
||||
" />
|
||||
<form-piyango-cekilis-tutanagi v-else />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import FormPiyangoCekilisTutanagi from './form/FormPiyangoCekilisTutanagi.vue'
|
||||
import FormPiyangoCekilisTutanagiDisplay from './display/FormPiyangoCekilisTutanagiDisplay.vue'
|
||||
</script>
|
||||
|
||||
@ -0,0 +1,107 @@
|
||||
<template>
|
||||
<div class="form-part">
|
||||
<div class="form-part-title">
|
||||
<h4>Çekiliş Tutanağı</h4>
|
||||
<div class="form-part-title-buttons">
|
||||
<icon-button
|
||||
v-if="usersStore.isPanelUser"
|
||||
icon="plus"
|
||||
class="ico-section ico-section-header-btn"
|
||||
@click="AddNewDocument" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="cekilisTutanagiStore.loaded">
|
||||
<template v-if="cekilisTutanagiStore.cekilisTutanagiList.length > 0">
|
||||
<template v-for="(file, i) in cekilisTutanagiStore.cekilisTutanagiList">
|
||||
<file-list-item
|
||||
:editable="false"
|
||||
:data="file"
|
||||
title="dokumanAdi"
|
||||
:filePath="file.url">
|
||||
<template #actionButtons v-if="usersStore.isPanelUser">
|
||||
<i
|
||||
class="ico-c ico-btn ico-section back-grad-alert"
|
||||
@click.stop="DeleteDocumentPop(file)">
|
||||
<svg><use href="/src/assets/images/icons.svg#trash"></use></svg>
|
||||
</i>
|
||||
</template>
|
||||
</file-list-item>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="form-inner-comment" v-if="usersStore.isPanelUser">
|
||||
Eklenmiş dosya bulunamadı.
|
||||
</div>
|
||||
<div class="form-inner-comment" v-else>
|
||||
Eklenmiş dosya bulunamadı.
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<panel-wrapper
|
||||
v-if="cekilisTutanagiStore.documentPanel"
|
||||
v-model="cekilisTutanagiStore.documentPanel"
|
||||
panel-title="Doküman Ekle">
|
||||
<template #panelContent>
|
||||
<panel-piyango-cekilis-tutanagi />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="cekilisTutanagiService.SaveDocument">
|
||||
Ekle
|
||||
</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
|
||||
import PanelPiyangoCekilisTutanagi from '../panel/PanelPiyangoCekilisTutanagi.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoCekilisTutanagiStore } from '../../stores/piyangoCekilisTutanagiStore'
|
||||
const cekilisTutanagiStore = usePiyangoCekilisTutanagiStore()
|
||||
import { usePiyangoCekilisTutanagiService } from '../../service/piyangoCekilisTutanagiService'
|
||||
const cekilisTutanagiService = usePiyangoCekilisTutanagiService()
|
||||
import { useDialogStore } from '@/components/global/dialogStore'
|
||||
const dialogStore = useDialogStore()
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
|
||||
const AddNewDocument = () => {
|
||||
cekilisTutanagiStore.ResetForm()
|
||||
cekilisTutanagiStore.isUpdate = false
|
||||
cekilisTutanagiStore.documentPanel = true
|
||||
}
|
||||
|
||||
const DeleteDocumentPop = (data: Record<string, any>) => {
|
||||
dialogStore.CreateDialog({
|
||||
title: 'Doküman Sil',
|
||||
id: 'deletedoc',
|
||||
content: 'Dokümanı silmek istediğinize emin misiniz? Bu işlem geri alınamaz.',
|
||||
closeText: 'Vazgeç',
|
||||
buttons: [
|
||||
{
|
||||
label: 'Doküman Sil',
|
||||
type: 'alert',
|
||||
function: () => DeleteDocument(data.id)
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
const DeleteDocument = async (id: number | string) => {
|
||||
var dt = await dataStore.dataDelete('CekilisTutanak/' + id)
|
||||
|
||||
if (dt !== 'errorfalse') {
|
||||
dialogStore.CloseDialog('deletedoc')
|
||||
await cekilisTutanagiService.GetDocumentList()
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await cekilisTutanagiService.GetDocumentList()
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
<template>
|
||||
<div class="form-part">
|
||||
<div class="form-part-title">
|
||||
<h4>Çekiliş Tutanağı</h4>
|
||||
<div class="form-part-title-buttons">
|
||||
<icon-button
|
||||
v-if="!usersStore.isPanelUser"
|
||||
icon="plus"
|
||||
class="ico-section ico-section-header-btn"
|
||||
@click="AddNewDocument" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="cekilisTutanagiStore.loaded">
|
||||
<template v-if="cekilisTutanagiStore.cekilisTutanagiList.length > 0">
|
||||
<template v-for="(file, i) in cekilisTutanagiStore.cekilisTutanagiList">
|
||||
<file-list-item
|
||||
:data="file"
|
||||
title="dokumanAdi"
|
||||
:filePath="file.url"
|
||||
:editable="false" />
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="form-inner-comment">
|
||||
<span>
|
||||
Eklenmiş dosya bulunamadı. Üstteki butonu kullanarak dosya ekleyebilirsiniz.
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<panel-wrapper
|
||||
v-if="cekilisTutanagiStore.documentPanel"
|
||||
v-model="cekilisTutanagiStore.documentPanel"
|
||||
panel-title="Doküman Ekle">
|
||||
<template #panelContent>
|
||||
<panel-piyango-cekilis-tutanagi />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="cekilisTutanagiService.SaveDocument">
|
||||
Ekle
|
||||
</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
|
||||
import PanelPiyangoCekilisTutanagi from '../panel/PanelPiyangoCekilisTutanagi.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoCekilisTutanagiStore } from '../../stores/piyangoCekilisTutanagiStore'
|
||||
const cekilisTutanagiStore = usePiyangoCekilisTutanagiStore()
|
||||
import { usePiyangoCekilisTutanagiService } from '../../service/piyangoCekilisTutanagiService'
|
||||
const cekilisTutanagiService = usePiyangoCekilisTutanagiService()
|
||||
|
||||
const AddNewDocument = () => {
|
||||
cekilisTutanagiStore.ResetForm()
|
||||
cekilisTutanagiStore.isUpdate = false
|
||||
cekilisTutanagiStore.documentPanel = true
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await cekilisTutanagiService.GetDocumentList()
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -52,6 +52,24 @@
|
||||
return piyangoDataStore.piyangoOnayDurumlari
|
||||
})
|
||||
|
||||
const mudurlukListesi = ref<Record<string, any>[]>([
|
||||
{ id: 1, name: '1 No\'lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü' },
|
||||
{ id: 2, name: '2 No\'lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü' },
|
||||
{ id: 3, name: '3 No\'lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü' }
|
||||
])
|
||||
|
||||
const cekilisGorevlisiListesi = ref<Record<string, any>[]>([
|
||||
{ id: 1, name: 'Antalya Şube Müdürlüğü' },
|
||||
{ id: 2, name: 'Gaziantep Şube Müdürlüğü' },
|
||||
{ id: 3, name: 'Aksaray Şube Müdürlüğü' },
|
||||
{ id: 4, name: 'Kadıköy Şube Müdürlüğü' },
|
||||
{ id: 5, name: 'Karşıyaka Şube Müdürlüğü' },
|
||||
{ id: 6, name: 'Muğla Şube Müdürlüğü' },
|
||||
{ id: 7, name: 'Trabzon Şube Müdürlüğü' },
|
||||
{ id: 8, name: 'Noter' },
|
||||
{ id: 9, name: 'Başkanlık Personeli' }
|
||||
])
|
||||
|
||||
const tableHeader = ref<Record<string, any>[]>([
|
||||
{
|
||||
name: 'tarih',
|
||||
@ -125,6 +143,28 @@
|
||||
name: 'kapsamDisiSebebi',
|
||||
title: 'Kapsam Dışı Sebebi'
|
||||
},
|
||||
{
|
||||
name: 'mudurluk',
|
||||
title: 'Müdürlük',
|
||||
compute: (v: Record<string, any>): string => {
|
||||
if (v.mudurluk === null || v.mudurluk === undefined || v.mudurluk === '') {
|
||||
return ''
|
||||
}
|
||||
const mudurluk = mudurlukListesi.value.find((item: Record<string, any>) => item.id === v.mudurluk)
|
||||
return mudurluk ? mudurluk.name : ''
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'cekilisGorevlisi',
|
||||
title: 'Çekiliş Görevlisi',
|
||||
compute: (v: Record<string, any>): string => {
|
||||
if (v.cekilisGorevlisi === null || v.cekilisGorevlisi === undefined || v.cekilisGorevlisi === '') {
|
||||
return ''
|
||||
}
|
||||
const gorevli = cekilisGorevlisiListesi.value.find((item: Record<string, any>) => item.id === v.cekilisGorevlisi)
|
||||
return gorevli ? gorevli.name : ''
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
const EditOnay = (d: Record<string, any>) => {
|
||||
@ -132,7 +172,9 @@
|
||||
...piyangoOnayStore.piyangoOnayBaseForm,
|
||||
...d,
|
||||
izinAciklamasi: d.izinAciklamasi != null ? d.izinAciklamasi : '',
|
||||
kapsamDisiSebebi: d.kapsamDisiSebebi != null ? d.kapsamDisiSebebi : null
|
||||
kapsamDisiSebebi: d.kapsamDisiSebebi != null ? d.kapsamDisiSebebi : null,
|
||||
mudurlukId: d.mudurluk != null ? d.mudurluk : null,
|
||||
cekilisGorevlisiId: d.cekilisGorevlisi != null ? d.cekilisGorevlisi : null
|
||||
})
|
||||
piyangoOnayStore.onayFormPanel = true
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
<template>
|
||||
<form-input
|
||||
v-model="cekilisTutanagiStore.cekilisTutanagiForm.dokumanAdi"
|
||||
label="Dosya Başlığı"
|
||||
modelKey="dokumanAdi"
|
||||
minlength="2"
|
||||
:invalidText="cekilisTutanagiValidationStore.invalidTexts.dokumanAdi" />
|
||||
<form-file
|
||||
v-model="cekilisTutanagiStore.cekilisTutanagiForm.dosya"
|
||||
elclass="panel-documents-item"
|
||||
:invalidText="cekilisTutanagiValidationStore.invalidTexts.dosya" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoCekilisTutanagiStore } from '../../stores/piyangoCekilisTutanagiStore'
|
||||
const cekilisTutanagiStore = usePiyangoCekilisTutanagiStore()
|
||||
import { usePiyangoCekilisTutanagiValidationStore } from '../../validation/piyangoCekilisTutanagiValidationStore'
|
||||
const cekilisTutanagiValidationStore = usePiyangoCekilisTutanagiValidationStore()
|
||||
</script>
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoCekilisTutanagiStore } from '../stores/piyangoCekilisTutanagiStore'
|
||||
import { usePiyangoCekilisTutanagiValidationStore } from '../validation/piyangoCekilisTutanagiValidationStore'
|
||||
|
||||
export const usePiyangoCekilisTutanagiService = defineStore('piyangoCekilisTutanagiService', () => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const cekilisTutanagiStore = usePiyangoCekilisTutanagiStore()
|
||||
const cekilisTutanagiValidationStore = usePiyangoCekilisTutanagiValidationStore()
|
||||
|
||||
const GetDocumentList = async () => {
|
||||
cekilisTutanagiStore.cekilisTutanagiList.splice(
|
||||
0,
|
||||
cekilisTutanagiStore.cekilisTutanagiList.length
|
||||
)
|
||||
|
||||
let dt = await dataStore.dataGet('CekilisTutanak/Cekilis/' + piyangoStore.selectedLottery, {
|
||||
params: {
|
||||
pageSize: 50
|
||||
}
|
||||
})
|
||||
|
||||
if (dt !== 'errorfalse') {
|
||||
const dataList = Array.isArray(dt) ? dt : (dt.data || [])
|
||||
cekilisTutanagiStore.cekilisTutanagiList.splice(
|
||||
0,
|
||||
cekilisTutanagiStore.cekilisTutanagiList.length,
|
||||
...dataList
|
||||
)
|
||||
}
|
||||
setTimeout(() => {
|
||||
cekilisTutanagiStore.loaded = true
|
||||
}, 30)
|
||||
}
|
||||
|
||||
const SaveDocument = async () => {
|
||||
if (cekilisTutanagiValidationStore.FormCheck()) {
|
||||
const formData = new FormData()
|
||||
formData.append('dosya', cekilisTutanagiStore.cekilisTutanagiForm.dosya)
|
||||
formData.append('dokumanAdi', cekilisTutanagiStore.cekilisTutanagiForm.dokumanAdi)
|
||||
formData.append('cekilisId', String(piyangoStore.selectedLottery))
|
||||
let dt: any
|
||||
|
||||
if (!cekilisTutanagiStore.isUpdate) {
|
||||
dt = await dataStore.dataPost('CekilisTutanak', {
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
} else {
|
||||
dt = await dataStore.dataPut(
|
||||
'CekilisTutanak/' + cekilisTutanagiStore.cekilisTutanagiForm.id,
|
||||
{
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
}
|
||||
)
|
||||
}
|
||||
if (dt !== 'errorfalse') {
|
||||
await GetDocumentList()
|
||||
cekilisTutanagiStore.documentPanel = false
|
||||
cekilisTutanagiStore.isUpdate = false
|
||||
}
|
||||
} else {
|
||||
cekilisTutanagiValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
return { GetDocumentList, SaveDocument }
|
||||
})
|
||||
|
||||
@ -39,6 +39,10 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
|
||||
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()) {
|
||||
piyangoOnayStore.piyangoOnayForm.kapsamDisiSebebi = null
|
||||
}
|
||||
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== 4) {
|
||||
piyangoOnayStore.piyangoOnayForm.mudurlukId = null
|
||||
piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId = null
|
||||
}
|
||||
dataForm.append(
|
||||
'onayDurumuIslemTipiId',
|
||||
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId
|
||||
@ -61,6 +65,18 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
|
||||
? String(piyangoOnayStore.piyangoOnayForm.kapsamDisiSebebi)
|
||||
: ''
|
||||
)
|
||||
dataForm.append(
|
||||
'mudurluk',
|
||||
piyangoOnayStore.piyangoOnayForm.mudurlukId != null
|
||||
? String(piyangoOnayStore.piyangoOnayForm.mudurlukId)
|
||||
: ''
|
||||
)
|
||||
dataForm.append(
|
||||
'cekilisGorevlisi',
|
||||
piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId != null
|
||||
? String(piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId)
|
||||
: ''
|
||||
)
|
||||
|
||||
form = await dataStore.dataPost('OnayDurumu/', {
|
||||
data: dataForm,
|
||||
|
||||
37
src/module/cekilisler/stores/piyangoCekilisTutanagiStore.ts
Normal file
37
src/module/cekilisler/stores/piyangoCekilisTutanagiStore.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
|
||||
export const usePiyangoCekilisTutanagiStore = defineStore('piyangoCekilisTutanagiStore', () => {
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const cekilisTutanagiList = ref<Record<string, any>[]>([])
|
||||
const cekilisTutanagiBaseForm = reactive<Record<string, any>>({
|
||||
dosya: null,
|
||||
cekilisId: piyangoStore.selectedLottery,
|
||||
dokumanAdi: ''
|
||||
})
|
||||
const cekilisTutanagiForm = reactive<Record<string, any>>({})
|
||||
const cekilisTutanagiSafeForm = reactive<Record<string, any>>({})
|
||||
const isUpdate = ref<boolean>(false)
|
||||
const refreshList = ref<boolean>(false)
|
||||
const documentPanel = ref<boolean>(false)
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const ResetForm = () => {
|
||||
Object.assign(cekilisTutanagiForm, cekilisTutanagiBaseForm)
|
||||
}
|
||||
|
||||
return {
|
||||
cekilisTutanagiList,
|
||||
cekilisTutanagiBaseForm,
|
||||
cekilisTutanagiForm,
|
||||
cekilisTutanagiSafeForm,
|
||||
isUpdate,
|
||||
refreshList,
|
||||
documentPanel,
|
||||
loaded,
|
||||
ResetForm
|
||||
}
|
||||
})
|
||||
|
||||
@ -16,7 +16,9 @@ export const usePiyangoOnayStore = defineStore('piyangoOnayStore', () => {
|
||||
izinSayisi: '',
|
||||
izinTarihi: '',
|
||||
izinAciklamasi: '',
|
||||
kapsamDisiSebebi: null
|
||||
kapsamDisiSebebi: null,
|
||||
mudurlukId: null,
|
||||
cekilisGorevlisiId: null
|
||||
})
|
||||
const piyangoOnayForm = reactive<Record<string, any>>({})
|
||||
const piyangoPanelOnayForm = reactive<Record<string, any>>({})
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoCekilisTutanagiStore } from '../stores/piyangoCekilisTutanagiStore'
|
||||
|
||||
export const usePiyangoCekilisTutanagiValidationStore = defineStore(
|
||||
'piyangoCekilisTutanagiValidationStore',
|
||||
() => {
|
||||
const cekilisTutanagiStore = usePiyangoCekilisTutanagiStore()
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
cekilisTutanagiStore.cekilisTutanagiForm,
|
||||
invalidTexts,
|
||||
'dokumanAdi',
|
||||
'Döküman için bir başlık belirtmelisiniz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
cekilisTutanagiStore.cekilisTutanagiForm,
|
||||
invalidTexts,
|
||||
'dosya',
|
||||
'Bir döküman eklemelisiniz.'
|
||||
)
|
||||
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@ -51,6 +51,20 @@ export const usePiyangoOnayValidationStore = defineStore(
|
||||
'İzin tarihi seçmelisiniz.'
|
||||
)
|
||||
}
|
||||
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoOnayStore.piyangoOnayForm,
|
||||
invalidTexts,
|
||||
'mudurlukId',
|
||||
'Müdürlük seçmelisiniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoOnayStore.piyangoOnayForm,
|
||||
invalidTexts,
|
||||
'cekilisGorevlisiId',
|
||||
'Çekiliş görevlisi seçmelisiniz.'
|
||||
)
|
||||
}
|
||||
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoOnayStore.piyangoOnayForm,
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
<tab-piyango-bilgileri v-else />
|
||||
</template>
|
||||
<template #katilim-listesi><tab-piyango-katilimci-listesi /></template>
|
||||
<template #cekilis-tutanagi><tab-piyango-cekilis-tutanagi /></template>
|
||||
<template #talihliler><tab-piyango-talihli-listesi /></template>
|
||||
<template #itiraz-sikayet><tab-piyango-itiraz /></template>
|
||||
<template #piyango-loglari><tab-piyango-loglari /></template>
|
||||
@ -54,6 +55,7 @@
|
||||
import TabPiyangoLoglari from '@/module/cekilisler/components/TabPiyangoLoglari.vue'
|
||||
import TabPiyangoKatilimciListesi from '@/module/cekilisler/components/TabPiyangoKatilimciListesi.vue'
|
||||
import TabPiyangoTalihliListesi from '@/module/cekilisler/components/TabPiyangoTalihliListesi.vue'
|
||||
import TabPiyangoCekilisTutanagi from '@/module/cekilisler/components/TabPiyangoCekilisTutanagi.vue'
|
||||
import TabPiyangoBilgileri from '@/module/cekilisler/components/TabPiyangoBilgileri.vue'
|
||||
import TabPiyangoBilgileriDisplay from '../components/TabPiyangoBilgileriDisplay.vue'
|
||||
import TabPiyangoItiraz from '@/module/cekilisler/components/TabPiyangoItiraz.vue'
|
||||
@ -75,11 +77,15 @@
|
||||
usersStore.isPanelUser) &&
|
||||
piyangoStore.lotteryPurposeId !== 3
|
||||
) {
|
||||
|
||||
tabList.value.push(
|
||||
{ text: 'Katılım Listesi', id: 'katilim-listesi' },
|
||||
{ text: 'Çekiliş Tutanağı', id: 'cekilis-tutanagi' },
|
||||
{ text: 'Talihliler', id: 'talihliler' },
|
||||
{ text: 'İtiraz/Şikayet', id: 'itiraz-sikayet' }
|
||||
)
|
||||
} else {
|
||||
tabList.value.push({ text: 'Çekiliş Tutanağı', id: 'cekilis-tutanagi' })
|
||||
}
|
||||
if (usersStore.isPanelUser) {
|
||||
tabList.value.push(
|
||||
@ -89,6 +95,7 @@
|
||||
}
|
||||
tabList.value.push({ text: 'Onay Durumu', id: 'onay-durumu' })
|
||||
|
||||
|
||||
if (piyangoStore.lotteryApprove !== 0 && piyangoStore.lotteryPurposeId !== 3) {
|
||||
tabList.value.push({ text: 'Teminat Listesi', id: 'teminat-listesi' })
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
style:{width:'15%'}
|
||||
},
|
||||
{
|
||||
name: 'kisiAdi',
|
||||
name: 'email',
|
||||
title: 'Kişi',
|
||||
sort: true,
|
||||
style:{width:'20%'}
|
||||
|
||||
Reference in New Issue
Block a user