610 lines
34 KiB
C#
610 lines
34 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Specialized;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Web.Mvc;
|
|
using Aspose.BarCode.Generation;
|
|
using ICSharpCode.SharpZipLib.Zip;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.Client.KozpontiKreta.Model;
|
|
using Kreta.Core;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Framework;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Error;
|
|
using Kreta.Web.Security;
|
|
|
|
namespace Kreta.Web.Areas.Nyomtatvanyok.Controllers
|
|
{
|
|
public partial class NyomtatvanyokController : BaseNyomtatvanyokController
|
|
{
|
|
private string GetIgazolasKiallitasanakOkaText(IgazolasKiallitasanakOkaEnum kiallitasOka)
|
|
{
|
|
var kiallitasOkaText = string.Empty;
|
|
switch (kiallitasOka)
|
|
{
|
|
case IgazolasKiallitasanakOkaEnum.Folyamatban:
|
|
kiallitasOkaText = NyomtatvanyokResource.IgazolasKiallitasanakOkaFolyamatban;
|
|
break;
|
|
case IgazolasKiallitasanakOkaEnum.KormRendeletAlapjan:
|
|
kiallitasOkaText = NyomtatvanyokResource.IgazolasKiallitasanakOkaKormRendeletAlapjan;
|
|
break;
|
|
}
|
|
return kiallitasOkaText;
|
|
}
|
|
|
|
private string GetEgyebIntezmenyiAdatok(NyomtatvanyModel model)
|
|
{
|
|
var sb = new StringBuilder();
|
|
|
|
if (!string.IsNullOrWhiteSpace(model.MasodikIntezmenyNeve))
|
|
{
|
|
sb.Append($"{NyomtatvanyokResource.MasodikIntezmenyNeve} {model.MasodikIntezmenyNeve}");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(model.MasodikFeladatellatasiHelyCime))
|
|
{
|
|
if (sb.Length != 0)
|
|
{
|
|
sb.AppendLine().AppendLine();
|
|
}
|
|
|
|
sb.Append($"{NyomtatvanyokResource.FeladatellatasiHelyCime} {model.MasodikFeladatellatasiHelyCime}");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(model.GyakorlatiKepzesiHelyNeve))
|
|
{
|
|
if (sb.Length != 0)
|
|
{
|
|
sb.AppendLine().AppendLine();
|
|
}
|
|
|
|
sb.Append($"{NyomtatvanyokResource.GyakorlatiKepzesiHelyNeve} {model.GyakorlatiKepzesiHelyNeve}");
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(model.GyakorlatiKepzesiHelyCime))
|
|
{
|
|
if (sb.Length != 0)
|
|
{
|
|
sb.AppendLine().AppendLine();
|
|
}
|
|
|
|
sb.Append($"{NyomtatvanyokResource.GyakorlatiKepzesiHelyCime} {model.GyakorlatiKepzesiHelyCime}");
|
|
}
|
|
|
|
return sb.ToString();
|
|
}
|
|
|
|
private Bitmap GenerateQrCodeForPedagogusIgazolas(NyomtatvanyModel model)
|
|
{
|
|
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var (NyomtatasiNev, OktatasiAzonosito) = felhasznaloHelper.GetFelhasznaloNevOktAzonById(model.PedagogusId);
|
|
|
|
var qrCodeText = $"{NyomtatasiNev} - {OktatasiAzonosito} - {model.IgazolasSorszama} - {DateTime.Today.ToString(Core.Constants.ToStringPattern.HungarianDate)}";
|
|
|
|
var generator = new BarcodeGenerator(EncodeTypes.QR, qrCodeText);
|
|
generator.Parameters.Resolution = 400f;
|
|
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;
|
|
generator.Parameters.Barcode.QR.CodeTextEncoding = Encoding.UTF8;
|
|
generator.Parameters.Barcode.QR.QrEncodeMode = QREncodeMode.Auto;
|
|
generator.Parameters.Barcode.QR.QrEncodeType = QREncodeType.ForceQR;
|
|
generator.Parameters.Barcode.QR.QrErrorLevel = QRErrorLevel.LevelL;
|
|
|
|
return generator.GenerateBarCodeImage();
|
|
}
|
|
|
|
private string GetIgazolasKiallitasHelyEsIdo(NyomtatvanyModel model)
|
|
{
|
|
var telepulesHelper = new TelepulesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var igazolasKiallitasHely = telepulesHelper.GetTelepulesek().First(t => t.Id == model.IgazolasKiallitasanakHelyeId).TelepulesNev;
|
|
if (igazolasKiallitasHely.Contains(Core.Constants.General.Budapest))
|
|
{
|
|
igazolasKiallitasHely = Core.Constants.General.Budapest;
|
|
}
|
|
|
|
var igazolasKiallitasHelyEsIdo = $"{igazolasKiallitasHely}, {NyomtatvanyokLogic.KeltSzoveg(DateTime.Today, model.FormatumId)}";
|
|
return igazolasKiallitasHelyEsIdo;
|
|
}
|
|
|
|
private ActionResult HaladasiMunkafuzet(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvanyEnum, Enums.DokumentumTipusEnum dokumentumTipus)
|
|
{
|
|
try
|
|
{
|
|
var OutPut = new MemoryStream();
|
|
var ZipOutPut = new ZipOutputStream(OutPut);
|
|
|
|
var buffer = new byte[Constants.General.BufferSize];
|
|
List<int> idList;
|
|
Enums.DokumentumElemiSzintEnum elemiSzint;
|
|
|
|
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
|
|
|
|
switch (nyomtatvanyEnum)
|
|
{
|
|
case NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent:
|
|
idList = GetOsztalyCsoportIdListByFelhasznaloId(model.OsztalyCsoportIdList, oktNevKategoria);
|
|
if (idList.Count == 0)
|
|
{
|
|
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
|
|
}
|
|
break;
|
|
case NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent:
|
|
default:
|
|
idList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList);
|
|
break;
|
|
}
|
|
|
|
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
|
|
|
|
foreach (var id in idList)
|
|
{
|
|
NyomtatvanyNevGeneralasModel nevmodel;
|
|
DataSet ds;
|
|
int? osztalyId = null;
|
|
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
switch (nyomtatvanyEnum)
|
|
{
|
|
case NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent:
|
|
var isCsoport = !helper.IsCsoportVagyOsztalyByTanev(id);
|
|
elemiSzint = (isCsoport) ? DokumentumElemiSzintEnum.Csoport : DokumentumElemiSzintEnum.Osztaly;
|
|
ds = helper.GetHaladasiMunkafuzet(id, (int?)null, isCsoport, oktNevKategoria, true);
|
|
nevmodel = new NyomtatvanyNevGeneralasModel() { OsztalyCsoportId = id, TanevID = ClaimData.SelectedTanevID.Value };
|
|
osztalyId = id;
|
|
break;
|
|
case NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent:
|
|
default:
|
|
elemiSzint = DokumentumElemiSzintEnum.Tanulo;
|
|
ds = helper.GetHaladasiMunkafuzet((int?)null, id, (bool?)null, null);
|
|
nevmodel = new NyomtatvanyNevGeneralasModel() { TanarID = id, TanevID = ClaimData.SelectedTanevID.Value };
|
|
break;
|
|
}
|
|
|
|
if (idList.Count > 1)
|
|
{
|
|
if (ds.Tables[0].Rows.Count == 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if (!model.Iktatas)
|
|
{
|
|
ds.Tables.Remove("IktatasAdatok");
|
|
if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent)
|
|
{
|
|
ds.Tables.Remove("Tanarok");
|
|
}
|
|
|
|
var stream = ExcelNyomtatasByMemoryStream(ds, false, dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus);
|
|
AddExcelMintZipEntry(ZipOutPut, stream, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel));
|
|
}
|
|
else
|
|
{
|
|
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint);
|
|
|
|
ds.Tables.Remove("IktatasAdatok");
|
|
if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent)
|
|
{
|
|
ds.Tables.Remove("Tanarok");
|
|
}
|
|
|
|
ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows.Count == 0)
|
|
{
|
|
throw new ApplicationException(NyomtatvanyokResource.UresDokumentum);
|
|
}
|
|
|
|
if (model.Iktatas)
|
|
{
|
|
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, dokumentumTipus, ds, elemiSzint);
|
|
}
|
|
|
|
ds.Tables.Remove("IktatasAdatok");
|
|
if (nyomtatvanyEnum == NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent)
|
|
{
|
|
ds.Tables.Remove("Tanarok");
|
|
}
|
|
|
|
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HaladasiMunkafuzet", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: dokumentumTipus, osztalyId: osztalyId, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio);
|
|
}
|
|
}
|
|
|
|
ZipOutPut.Finish();
|
|
|
|
OutPut.Position = 0;
|
|
|
|
if (!model.Iktatas)
|
|
{
|
|
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
|
|
|
|
return new FileStreamResult(OutPut, Constants.ImportExport.ContentType)
|
|
{
|
|
FileDownloadName = $"{CommonExtensions.NevGeneralas("HaladasiMunkafuzet", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
|
|
};
|
|
}
|
|
|
|
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
private ActionResult NemKotottMunkaidoReszletezo(NyomtatvanyModel model, NyomtatvanyEnum nyomtatvany, Enums.DokumentumTipusEnum dokumentumTipus)
|
|
{
|
|
var OutPut = new MemoryStream();
|
|
var ZipOutPut = new ZipOutputStream(OutPut);
|
|
|
|
try
|
|
{
|
|
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetNemKotottMunkaidoReszletezo));
|
|
Dictionary<string, object> dsParameterek = new Dictionary<string, object>();
|
|
string distinctTables = null;
|
|
if (nyomtatvany == NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHavi)
|
|
{
|
|
dsParameterek.Add("honapId", model.HonapId);
|
|
distinctTables = "Idoszak";
|
|
}
|
|
|
|
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
|
|
{
|
|
{"Kelt", model.KeltDatum.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix)}
|
|
};
|
|
return AltalanosPedagogusGeneralas(model, nyomtatvany.ToString(), DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus, metodus, 0, dsParameterek, frxParameterek, distinctTables: distinctTables);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
private ActionResult HelyettesitesekListajaOsszesito(DataSet ds, NyomtatvanyModel model, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, NameValueCollection kulcsSzavak, BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel foszamDefinicio)
|
|
{
|
|
var parameters = new Dictionary<string, object>
|
|
{
|
|
{ nameof(model.HelyettesitesListaFormatumId), model.HelyettesitesListaFormatumId },
|
|
{ nameof(model.HelyettesitesTipusanakMegjelenitese), model.HelyettesitesTipusanakMegjelenitese }
|
|
};
|
|
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID };
|
|
|
|
return Nyomtatas(ds, "HelyettesitesekListaja", parameters, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel, true), formatumId: model.FormatumId, dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio);
|
|
}
|
|
|
|
private ActionResult HelyettesitesekListajaPedagogusonkent(DataSet ds, NyomtatvanyModel model, DokumentumKategoriaEnum dokumentumKategoria, Enums.DokumentumTipusEnum dokumentumTipus, NameValueCollection kulcsSzavak, BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel foszamDefinicio)
|
|
{
|
|
ds.Tables.RemoveAt(ds.Tables.Count - 1);
|
|
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID };
|
|
|
|
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("HelyettesitesekListaja", nevmodel, true), dokumentumKategoria: dokumentumKategoria, dokumentumTipus: dokumentumTipus, kulcsSzavak: kulcsSzavak, foszamDefinicio: foszamDefinicio);
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult PedagogusAltalAdottOsztalyzatok([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
var outPut = new MemoryStream();
|
|
var zipOutPut = new ZipOutputStream(outPut);
|
|
var nincsAdat = true;
|
|
try
|
|
{
|
|
var buffer = new byte[Constants.General.BufferSize];
|
|
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
|
|
|
|
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
|
|
|
|
var pedagogusIdList = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList, oktNevKategoria);
|
|
foreach (var pedagogusId in pedagogusIdList)
|
|
{
|
|
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value, TanarID = pedagogusId };
|
|
if (model.PedagogusId != 0)
|
|
{
|
|
nevmodel.TanarID = pedagogusId;
|
|
}
|
|
|
|
var ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetPedagogusAltalAdottOsztalyzatok(pedagogusId, model.ErtekelesmodSuly, oktNevKategoria);
|
|
|
|
if (pedagogusIdList.Count > 1)
|
|
{
|
|
if ((model.ErtekelesmodSuly && ds.Tables.Count == 2)
|
|
|| (!model.ErtekelesmodSuly && ds.Tables.Count == 1))
|
|
{
|
|
continue;
|
|
}
|
|
nincsAdat = false;
|
|
if (!model.Iktatas)
|
|
{
|
|
ds.Tables.Remove("IktatasAdatok");
|
|
var stream = ExcelNyomtatasByMemoryStream(ds, false, dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List<int> { ds.Tables.Count - 1 } : null));
|
|
AddExcelMintZipEntry(zipOutPut, stream, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel));
|
|
}
|
|
else
|
|
{
|
|
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, ds, DokumentumElemiSzintEnum.Tanulo);
|
|
|
|
ds.Tables.Remove("IktatasAdatok");
|
|
ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List<int> { ds.Tables.Count - 1 } : null));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((model.ErtekelesmodSuly && ds.Tables.Count == 2)
|
|
|| (!model.ErtekelesmodSuly && ds.Tables.Count == 1))
|
|
{
|
|
throw new StatusError(
|
|
HttpStatusCode.InternalServerError,
|
|
StringResourcesUtil.GetString(3653) /*Üres*/);
|
|
}
|
|
if (model.Iktatas)
|
|
{
|
|
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, ds, DokumentumElemiSzintEnum.Tanulo);
|
|
}
|
|
|
|
ds.Tables.Remove("IktatasAdatok");
|
|
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel), model.Iktatas, CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", nevmodel, true), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: Enums.DokumentumTipusEnum.PedagogusAltalAdottOsztalyzatokErtekelesek, kulcsSzavak: foszamKulcsSzavak.kulcsSzavak, foszamDefinicio: foszamKulcsSzavak.foszamDefinicio, lastRowStyleLikeHeader: true, sheetsWithoutLastRowStyleLikeHeader: (model.ErtekelesmodSuly ? new List<int> { ds.Tables.Count - 1 } : null));
|
|
}
|
|
}
|
|
|
|
zipOutPut.Finish();
|
|
|
|
outPut.Position = 0;
|
|
|
|
if (nincsAdat)
|
|
{
|
|
throw new StatusError(
|
|
HttpStatusCode.InternalServerError,
|
|
StringResourcesUtil.GetString(3653) /*Üres*/);
|
|
}
|
|
|
|
if (!model.Iktatas)
|
|
{
|
|
var zipnevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
|
|
|
|
return new FileStreamResult(outPut, Constants.ImportExport.ContentType)
|
|
{
|
|
FileDownloadName = $"{CommonExtensions.NevGeneralas("PedagogusAltalAdottOsztalyzatok", zipnevmodel)}.{Constants.ImportExport.FileFormatZip}"
|
|
};
|
|
}
|
|
|
|
return RedirectToAction("Index", Constants.Controllers.IktatottDokumentumok, new { area = Constants.Areas.Nyomtatvanyok });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult HaladasiMunkafuzetOsztalyCsoportonkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
return HaladasiMunkafuzet(model, NyomtatvanyEnum.HaladasiMunkafuzetOsztalyCsoportonkent, Enums.DokumentumTipusEnum.HaladasiMunkafuzetOsztalyonkent);
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult HaladasiMunkafuzetTanaronkent([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
return HaladasiMunkafuzet(model, NyomtatvanyEnum.HaladasiMunkafuzetTanaronkent, Enums.DokumentumTipusEnum.HaladasiMunkafuzetTanaronkent);
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult TanarOrarendiLefedettseg(NyomtatvanyModel model)
|
|
{
|
|
try
|
|
{
|
|
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanarOrarendiLefedettseg();
|
|
|
|
var nevmodel = new NyomtatvanyNevGeneralasModel() { TanevID = ClaimData.SelectedTanevID.Value };
|
|
|
|
return ExcelNyomtatas(ds, CommonExtensions.NevGeneralas("TanarOrarendiLefedettseg", nevmodel), dokumentumKategoria: DokumentumKategoriaEnum.Pedagogusok, dokumentumTipus: null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
public ActionResult MunkaidoElszamlololap([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
try
|
|
{
|
|
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
bool isKlebersbergOrNSZFH =
|
|
FeatureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg)
|
|
|| FeatureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH);
|
|
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetMunkaidoElszamololap));
|
|
OktNevelesiKategoriaEnum? oktNevKategoria = (model.OktNevelesiKategoriaId.IsEntityId()) ? (OktNevelesiKategoriaEnum?)model.OktNevelesiKategoriaId : null;
|
|
|
|
var kotelezoOraszamokResponse = KozpontiKretaHelper.GetKotelezoOraszam(new KotelezoOraszamRequestModel
|
|
{
|
|
AlkalmazottLista = GetPedagogusIdListByFelhasznaloId(model.PedagogusIdList),
|
|
IntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
|
TanevId = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanevInfo().Sorszam,
|
|
});
|
|
|
|
Dictionary<string, object> dsParameterek = new Dictionary<string, object>()
|
|
{
|
|
{"honapId", model.HonapId},
|
|
{"isKlebersbergOrNSZFH", isKlebersbergOrNSZFH},
|
|
{"kategoria", oktNevKategoria},
|
|
{"bontas", (int)model.MunkaidoelszamolasBontas },
|
|
{"felnottkepzesKulon", model.FelnottkepzesiOrakElkulonitese },
|
|
{"elmeletGyakorlatKulon", model.ElmeletiGyakorlatiOrakElkulonitese},
|
|
{"tanoraiFoglalkozasokUresBlokkMegjelenites", model.TanoraiFoglalkozasokUresBlokkMegjelenites },
|
|
{"tanoranKivuliFoglalkozasokUresBlokkMegjelenites", model.TanoranKivuliFoglalkozasokUresBlokkMegjelenites },
|
|
{"egyeniFoglalkozasokUresBlokkMegjelenites", model.EgyeniFoglalkozasokUresBlokkMegjelenites },
|
|
{"helyettesitesekUresBlokkMegjelenites", model.HelyettesitesekUresBlokkMegjelenites },
|
|
{"oktNevLeNemKotottMunkaidoUresBlokkMegjelenites", model.OktNevLeNemKotottMunkaidoUresBlokkMegjelenites },
|
|
{"szakszeruHelySzorzo", null },
|
|
{"nemSzakszeruHelySzorzo", null },
|
|
{"osszevonasSzorzo", null },
|
|
{"osszevontFelSzorzo", null },
|
|
{"parhuzamosOrakMegjelenitese", model.ParhuzamosOrakMegjelenitese },
|
|
};
|
|
|
|
if (kotelezoOraszamokResponse != null && kotelezoOraszamokResponse.AlkalmazottLista != null && kotelezoOraszamokResponse.AlkalmazottLista.Count > 0)
|
|
dsParameterek.Add("kotelezoOraszamok", kotelezoOraszamokResponse.AlkalmazottLista.ToDictionary(x => x.AlkalmazottId, x => x.KotelezoOraszamSzoveg));
|
|
else if (model.PedagogusIdList != null)
|
|
dsParameterek.Add("kotelezoOraszamok", model.PedagogusIdList.ToDictionary(x => int.Parse(x.ToString()), x => x.ToString(NyomtatvanyokResource.NA)));
|
|
else
|
|
{
|
|
var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var alkalmazottak = alkHelper.GetAlkalmazottak();
|
|
List<string> keys = new List<string>(alkalmazottak.Keys);
|
|
foreach (string key in keys) alkalmazottak[key] = NyomtatvanyokResource.NA;
|
|
dsParameterek.Add("kotelezoOraszamok", alkalmazottak.ToDictionary(x => int.Parse(x.Key), x => x.Value));
|
|
}
|
|
|
|
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
|
|
{
|
|
{"Kelt", DateTime.Today.ToString(Core.Constants.ToStringPattern.HungarianDateWithSuffix + ".")},
|
|
{"bontas", (int)model.MunkaidoelszamolasBontas },
|
|
{"TanoraiFoglalkozasokUresBlokkMegjelenites", model.TanoraiFoglalkozasokUresBlokkMegjelenites },
|
|
{"TanoranKivuliFoglalkozasokUresBlokkMegjelenites", model.TanoranKivuliFoglalkozasokUresBlokkMegjelenites },
|
|
{"EgyeniFoglalkozasokUresBlokkMegjelenites", model.EgyeniFoglalkozasokUresBlokkMegjelenites },
|
|
{"HelyettesitesekUresBlokkMegjelenites", model.HelyettesitesekUresBlokkMegjelenites },
|
|
{"OktNevLeNemKotottMunkaidoUresBlokkMegjelenites", model.OktNevLeNemKotottMunkaidoUresBlokkMegjelenites },
|
|
{"ElmeletiGyakorlatiOrakElkulonitese", model.ElmeletiGyakorlatiOrakElkulonitese },
|
|
{"FelnottkepzesiOrakElkulonitese", model.FelnottkepzesiOrakElkulonitese },
|
|
{"szakszeruHelySzorzo", null },
|
|
{"nemSzakszeruHelySzorzo", null },
|
|
{"osszevonasSzorzo", null },
|
|
{"osszevontFelSzorzo", null }
|
|
};
|
|
return AltalanosPedagogusGeneralas(model, NyomtatvanyEnum.MunkaidoElszamololap.ToString(), DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.MunkaidoElszamololapHonap, metodus, 2, dsParameterek, frxParameterek, distinctTables: "Honapok,Hetek,EvHonapok", egyediLablecKellOldalszam: false);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
public ActionResult NemKotottMunkaidoReszletezoHeti([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
return NemKotottMunkaidoReszletezo(model, NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHeti, Enums.DokumentumTipusEnum.NemKotottMunkaidoReszletezoHetiBontas);
|
|
}
|
|
|
|
public ActionResult NemKotottMunkaidoReszletezoHavi([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
return NemKotottMunkaidoReszletezo(model, NyomtatvanyEnum.KotottMunkaidoNevelesselOktatassalLeNemKotottReszletezoHavi, Enums.DokumentumTipusEnum.NemKotottMunkaidoReszletezoHaviBontasHonap);
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult HelyettesitesekListaja([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
try
|
|
{
|
|
bool isPedagogusonkent = model.FormatumId == (int)NyomtatvanyFormatumEnum.Excel;
|
|
|
|
DataSet ds = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetHelyettesitesekListaDetails(model.IdoszakKezdete, model.IdoszakVege, model.HelyettesitesListaFormatumId, isPedagogusonkent);
|
|
|
|
var foszamKulcsSzavak = (kulcsSzavak: (NameValueCollection)null, foszamDefinicio: (BusinessLogic.Helpers.Nyomtatvanyok.Iktatas.FoszamDefinicioValueModel)null);
|
|
|
|
if (model.Iktatas)
|
|
{
|
|
foszamKulcsSzavak = KulcsszavakEsFoszamGeneralas(model, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, ds, DokumentumElemiSzintEnum.Intezmeny);
|
|
}
|
|
|
|
return isPedagogusonkent
|
|
? HelyettesitesekListajaPedagogusonkent(ds, model, DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, foszamKulcsSzavak.kulcsSzavak, foszamKulcsSzavak.foszamDefinicio)
|
|
: HelyettesitesekListajaOsszesito(ds, model, DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesekListajaHetSorszama, foszamKulcsSzavak.kulcsSzavak, foszamKulcsSzavak.foszamDefinicio);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult HelyettesitesiNaplo([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
try
|
|
{
|
|
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
System.Reflection.MethodInfo metodus = helper.GetType().GetMethod(nameof(helper.GetHelyettesitesiNaplo));
|
|
Dictionary<string, object> dsParameterek = new Dictionary<string, object>()
|
|
{
|
|
{"bontas", model.HelyettesitesiNaploBontas}
|
|
};
|
|
Dictionary<string, object> frxParameterek = new Dictionary<string, object>
|
|
{
|
|
{"Intezmeny_OM_Azon", ClaimData.OrganizationCode},
|
|
{"Intezmeny_Nev", ClaimData.OrganizationName.ToUpper()},
|
|
{"bontas", (int) model.HelyettesitesiNaploBontas}
|
|
};
|
|
return AltalanosPedagogusGeneralas(model, "HelyettesitesiNaplo", DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.HelyettesitesiNaplo, metodus, 0, dsParameterek, frxParameterek, emptyDocumentTable: "Fejlec");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult PedagogusigazolvanyHelyettKiallitottIgazolas([ModelBinder(typeof(NyomtatvanyModelBinderWithPoszeidonIktatasDefiniciok))]
|
|
NyomtatvanyModel model)
|
|
{
|
|
try
|
|
{
|
|
var nyomtatvanyokHelper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
var maHelper = new AlkalmazottMunkaugyiAdatokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
model.PedagogusIdList = new List<int> { model.PedagogusId };
|
|
|
|
var alulirottMegnevezese = maHelper.GetAlkalmazottByVezetoiOraszamOk(true).Where(x => x.Value == model.AlulirottMegnevezesId.ToString()).FirstOrDefault()?.Text;
|
|
|
|
var metodus = nyomtatvanyokHelper.GetType().GetMethod(nameof(nyomtatvanyokHelper.GetPedagogusIgazolas));
|
|
var dsParameterek = new Dictionary<string, object>()
|
|
{
|
|
{ "alkalmazottId", model.PedagogusId },
|
|
{ "isIntezmenyNevMegjelenik", model.IntezmenyNevenekMegjelenitese },
|
|
{ "isFelhelyCimMegjelenik", model.FeladatellatasiHelyCimenekMegjelenitese }
|
|
};
|
|
|
|
var frxParameterek = new Dictionary<string, object>
|
|
{
|
|
{ "IgazolasSorszama", model.IgazolasSorszama },
|
|
{ "ErvenyessegVege", model.ErvenyessegVege.ToString(Core.Constants.ToStringPattern.HungarianDate) },
|
|
{ "IgazolasKiallitasanakOka", GetIgazolasKiallitasanakOkaText(model.IgazolasKiallitasanakOka) },
|
|
{ "IgazolasKiallitasHelyIdo", GetIgazolasKiallitasHelyEsIdo(model) },
|
|
{ "EgyebIntezmenyiAdatok", GetEgyebIntezmenyiAdatok(model) },
|
|
{ "AlulirottMegnevezese" , alulirottMegnevezese },
|
|
};
|
|
|
|
var qrCode = GenerateQrCodeForPedagogusIgazolas(model);
|
|
|
|
return AltalanosPedagogusGeneralas(model, "PedagogusIgazolas", DokumentumKategoriaEnum.Pedagogusok, Enums.DokumentumTipusEnum.pedagogusigazolvany_helyett_kiallitott_igazolas, metodus, 0, dsParameterek, frxParameterek, qrCode: qrCode, egyediLablecKellOldalszam: false, emptyDocumentTable: "Adatok");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
|
|
}
|
|
}
|
|
}
|
|
}
|