500 lines
27 KiB
C#
500 lines
27 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text.RegularExpressions;
|
|
using System.Web;
|
|
using Hangfire;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers.Nyomtatvanyok.Iktatas;
|
|
using Kreta.BusinessLogic.Interfaces;
|
|
using Kreta.BusinessLogic.Logic;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
|
|
using Kreta.Core.SAP.CommunicationModels;
|
|
using Kreta.Core.SAP.CommunicationModels.SzamfejtettTavolletek;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Job.Tasks.Core;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class HRModulHelper : LogicBase
|
|
{
|
|
public HRModulHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public bool IsTorolheto(TavolletjelentoListaData item, bool isIntezmenyvezeto)
|
|
{
|
|
if (item.TavolletStatuszId == (int)TavolletStatuszEnum.Munkaugynek_atadva || item.IsTorolt)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if (isIntezmenyvezeto)
|
|
{
|
|
return Constants.TavolletStatuszTorolhetoseg.IntezmenyVezetoAltalTorolhetok.Contains(item.TavolletStatuszId);
|
|
}
|
|
|
|
return Constants.TavolletStatuszTorolhetoseg.BarkiAltalTorolhetok.Contains(item.TavolletStatuszId);
|
|
}
|
|
|
|
public DataSet TavolletjelentoDokList(int tavolletId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.HRModulDAL(GridParameters);
|
|
return dal.TavolletjelentoDokList(tavolletId);
|
|
});
|
|
}
|
|
|
|
public MemoryStream GetTavolletjelentoExport(TavolletjelentoListaResponseModel kozpontiResult)
|
|
{
|
|
var coList = new List<TavolletjelentoCO>();
|
|
|
|
if (kozpontiResult != null && kozpontiResult.IsSuccess && kozpontiResult.TavolletjelentoResultList != null && kozpontiResult.TavolletjelentoResultList.Count > 0)
|
|
{
|
|
foreach (var item in kozpontiResult.TavolletjelentoResultList)
|
|
{
|
|
coList.Add(new TavolletjelentoCO
|
|
{
|
|
TavolletOka = item.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(TanevId),
|
|
AlkalmazottNeve = item.AlkalmazottNev,
|
|
SzTSzAzonosito = item.AlkalmazottSzTSz,
|
|
RogzitesDatuma = item.RogzitesIdopontja,
|
|
RogzitoNeve = item.RogzitoNev,
|
|
MelleklettelRendelkezik = item.IsMellekletTartozikHozza,
|
|
StatuszNeve = item.TavolletStatuszId.GetDisplayName<TavolletStatuszEnum>(TanevId),
|
|
Torolt = item.IsTorolt,
|
|
TavolletKezdet = item.TavolletKezdete,
|
|
TavolletVeg = item.TavolletVege,
|
|
TavolletIdotartamNap = item.TavolletIdotartamaNap,
|
|
HatralevoNapokSzama = item.HatralevoNapokSzama
|
|
});
|
|
}
|
|
}
|
|
|
|
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TavolletjelentoCO>(TavolletjelentoCO.ExportPropertyId);
|
|
return SimpleExportLogic.GetExport(HRModulResource.TavolletIgenyek, simpleExportColumnCos, coList.OrderByDescending(o => o.RogzitesDatuma).ToList(), TanevId);
|
|
}
|
|
|
|
public MemoryStream GetTavolletListaExport(IntezmenyiTavolletBefogadottResponseModel kozpontiResult, List<string> sztszAzonositok, AlkalmazottHelper alkalmazottHelper)
|
|
{
|
|
var coList = new List<TavolletListaCo>();
|
|
|
|
if (kozpontiResult != null && kozpontiResult.IsSuccess && kozpontiResult.Data != null && kozpontiResult.Data.Count > 0)
|
|
{
|
|
var aa = alkalmazottHelper.GetAlkalmazottSztszAzonositoTavolletAlkalmazott(sztszAzonositok);
|
|
|
|
foreach (var item in kozpontiResult.Data)
|
|
{
|
|
coList.Add(new TavolletListaCo
|
|
{
|
|
TavolletOka = item.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(TanevId),
|
|
FoglalkoztatottNeve = aa.TryGetValue(item.SzTSzAzonosito, out var value) ? value.AlkalmazottNev : ErrorResource.NevSzinkronizalasaSikertelen,
|
|
SzTSzAzonosito = item.SzTSzAzonosito,
|
|
IdoszakKezdet = item.TavolletKezdete,
|
|
IdoszakVeg = item.TavolletVege,
|
|
TavolletIdotartamNap = item.TavolletIdotartamaNap,
|
|
EvesSzabadsagKeret = item.EvesKeret,
|
|
});
|
|
}
|
|
}
|
|
|
|
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TavolletListaCo>(TavolletListaCo.ExportPropertyId);
|
|
return SimpleExportLogic.GetExport(HRModulResource.SzamfejtettTavolletek, simpleExportColumnCos, coList, TanevId);
|
|
}
|
|
|
|
public MemoryStream GetTavolletAlkalmazottakAdataiExport(TavolletAdatokResponseModel kozpontiResult)
|
|
{
|
|
var coList = new List<TavolletAlkalmazottAdatokCo>();
|
|
|
|
if (kozpontiResult.IsSuccess && kozpontiResult.TavolletAdatokResultList != null)
|
|
{
|
|
foreach (var item in kozpontiResult.TavolletAdatokResultList)
|
|
{
|
|
coList.Add(new TavolletAlkalmazottAdatokCo
|
|
{
|
|
AlkalmazottNev = item.AlkalmazottNev,
|
|
SzTSzAzonosito = item.SzTSzAzonosito,
|
|
IsFointezmenyeE = item.IsTavolletFoIntezmenye,
|
|
IsFointezmenyeE_BNAME = item.IsTavolletFoIntezmenye ? CommonResource.Igen : CommonResource.Nem,
|
|
SzabadsagKeret = item.EvesKeret,
|
|
IgenybeVehetoTavolletek = item.FelhasznalhatoKeret,
|
|
IgenybeVettTavolletek = item.FelhasznaltKeret,
|
|
FuggobenLevoTavolletek = item.FuggoTavolletIgenyek,
|
|
});
|
|
}
|
|
}
|
|
|
|
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TavolletAlkalmazottAdatokCo>(TavolletAlkalmazottAdatokCo.ExportPropertyId);
|
|
return SimpleExportLogic.GetExport(HRModulResource.AlkalmazottakAdatai, simpleExportColumnCos, coList, TanevId);
|
|
}
|
|
|
|
public void InsertDokumentum(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration, IFileServiceHelper fileServiceHelper, TavolletjelentoCO co, List<int> entityIds)
|
|
{
|
|
var dokuId = Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var ret = InsertDokumentumWithDal(h, iktatoRepositoryFactory, iktatoServiceConfiguration, co);
|
|
foreach (var tavolletId in entityIds)
|
|
{
|
|
h.HRModulDAL().InsertDokumentum(tavolletId, ret);
|
|
}
|
|
return ret;
|
|
});
|
|
var path = $"TavolletCsatolmany/{IntezmenyAzonosito}/{TanevId}/{dokuId}";
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var iktatottDokumentumDal = h.IktatottDokumentumDal();
|
|
var iktatottDokumentumCsatolmanyDal = h.IktatottDokumentumCsatolmanyDal();
|
|
var iktatottDokumentum = iktatottDokumentumDal.Get(dokuId);
|
|
var idFilename = new Dictionary<int, string>();
|
|
var fileHelper = new FileHelper(new DalHandlerConnectionType(ConnectionType, h), fileServiceHelper);
|
|
foreach (var item in co.FilesArray)
|
|
{
|
|
var fileId = fileHelper.UploadFile(item.Name, Convert.FromBase64String(item.ContentAsBase64EncodedString), MimeMapping.GetMimeMapping(item.Name), path);
|
|
if (fileId.HasValue)
|
|
{
|
|
var csatolmany = iktatottDokumentumCsatolmanyDal.Get();
|
|
csatolmany.IktatottDokumentumId = dokuId;
|
|
csatolmany.FileId = fileId.Value;
|
|
csatolmany.Fajlnev = item.Name;
|
|
var csatolmanyId = iktatottDokumentumCsatolmanyDal.Insert(csatolmany);
|
|
BackgroundJob.ContinueWith<ITavolletIktatasJob>(iktatottDokumentum.EnqueuedJobId.Value.ToString(), (iktatas) => iktatas.AddCsatolmanyokDokumentumhoz(dokuId, csatolmanyId, IntezmenyAzonosito, TanevId, null));
|
|
}
|
|
//idFilename.Add(kapottDokumentumId, item.Name);
|
|
}
|
|
//BackgroundJob.ContinueWith<ITavolletIktatasJob>(iktatottDokumentum.EnqueuedJobId.Value.ToString(), (iktatas) => iktatas.AddCsatolmanyokDokumentumhoz(dokuId, IntezmenyAzonosito, TanevId, idFilename, null));
|
|
});
|
|
}
|
|
|
|
private int InsertDokumentumWithDal(IDalHandler h, IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration, TavolletjelentoCO co)
|
|
{
|
|
var dal = h.HRModulDAL();
|
|
|
|
var poszeidonHelper = new PoszeidonHelper(new DalHandlerConnectionType(ConnectionType, h), iktatoRepositoryFactory, iktatoServiceConfiguration);
|
|
var kulcsszoHelper = new KulcsszoHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var alkalmazottHelper = new AlkalmazottHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var felhasznaloHelper = new FelhasznaloHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
|
|
var dokumentumTipus = DokumentumTipusEnum.tavollet;
|
|
var kulcsszodefiniciok = new List<KulcsszoDefinicioModel>()
|
|
{
|
|
new KulcsszoDefinicioModel()
|
|
{
|
|
Type = DokumentumKulcsszoTipusEnum.tavollet_oka,
|
|
TableName = "Kulcsszavak",
|
|
ColumnName = "TavolletOka",
|
|
},
|
|
new KulcsszoDefinicioModel()
|
|
{
|
|
Type = DokumentumKulcsszoTipusEnum.igenylo_SZTSZ_szama,
|
|
TableName = "Kulcsszavak",
|
|
ColumnName = "SZTSZazonosito",
|
|
},
|
|
new KulcsszoDefinicioModel()
|
|
{
|
|
Type = DokumentumKulcsszoTipusEnum.igenylo_neve,
|
|
TableName = "Kulcsszavak",
|
|
ColumnName = "IgenyloNeve",
|
|
},
|
|
new KulcsszoDefinicioModel()
|
|
{
|
|
Type = DokumentumKulcsszoTipusEnum.rogzito_neve,
|
|
TableName = "Kulcsszavak",
|
|
ColumnName = "RogzitoNeve",
|
|
},
|
|
new KulcsszoDefinicioModel()
|
|
{
|
|
Type = DokumentumKulcsszoTipusEnum.tavollet_napok_szama,
|
|
TableName = "Kulcsszavak",
|
|
ColumnName = "TavolletNapokSzama",
|
|
},
|
|
new KulcsszoDefinicioModel()
|
|
{
|
|
Type = DokumentumKulcsszoTipusEnum.AlkalmazottEgyediAzonosito,
|
|
TableName = "Kulcsszavak",
|
|
ColumnName = "AlkalmazottEgyediAzonosito",
|
|
},
|
|
};
|
|
var ds = new DataSet();
|
|
var table = new DataTable("Kulcsszavak");
|
|
ds.Tables.Add(table);
|
|
table.Columns.AddRange(new DataColumn[]
|
|
{
|
|
new DataColumn("TavolletOka", typeof(int)),
|
|
new DataColumn("SZTSZazonosito", typeof(string)),
|
|
new DataColumn("IgenyloNeve", typeof(int)),
|
|
new DataColumn("RogzitoNeve", typeof(int)),
|
|
new DataColumn("TavolletNapokSzama", typeof(int)),
|
|
new DataColumn("AlkalmazottEgyediAzonosito", typeof(string)),
|
|
});
|
|
var row = table.NewRow();
|
|
row["TavolletOka"] = co.TavolletOkaId;
|
|
var sztszAzonosito = alkalmazottHelper.GetAlkalmazottSztszKod(int.Parse(co.AlkalmazottList[0]));
|
|
row["SZTSZazonosito"] = sztszAzonosito;
|
|
row["IgenyloNeve"] = co.AlkalmazottList[0];
|
|
row["RogzitoNeve"] = co.RogzitoId;
|
|
row["TavolletNapokSzama"] = co.TavolletIdotartamNap;
|
|
row["AlkalmazottEgyediAzonosito"] = sztszAzonosito;
|
|
table.Rows.Add(row);
|
|
|
|
var kulcsSzavak = kulcsszoHelper.GetKulcsszavak(dokumentumTipus, kulcsszodefiniciok, ds);
|
|
var foszamDefinicio = new FoszamDefinicioModel()
|
|
{
|
|
IntezmenyId = true,
|
|
TanevId = true,
|
|
Szint = DokumentumElemiSzintEnum.Tanulo,
|
|
AlkalmazottEgyediAzonosito = true,
|
|
};
|
|
var foszamDefinicioErtekek = kulcsszoHelper.FillFoszamDefinicioErtekek(kulcsSzavak, foszamDefinicio);
|
|
|
|
var sablonPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @"Resources\HRModulSablonok\TavolletIktatasSablon.docx");
|
|
Aspose.Words.Replacing.FindReplaceOptions options = new Aspose.Words.Replacing.FindReplaceOptions
|
|
{
|
|
MatchCase = true,
|
|
FindWholeWordsOnly = false,
|
|
ReplacingCallback = new Job.Tasks.Helpers.Iktatas.WordIktatoszamVonalkodTextReplacer(),
|
|
};
|
|
|
|
var doc = new Aspose.Words.Document(sablonPath, new Aspose.Words.LoadOptions());
|
|
Aspose.Words.Story body = doc.FirstSection.Body;
|
|
body.Range.Replace(new Regex("{igenylo}"), felhasznaloHelper.GetNyomtatasiNev(int.Parse(co.AlkalmazottList[0])), options);
|
|
body.Range.Replace(new Regex("{rogzito}"), felhasznaloHelper.GetNyomtatasiNev(co.RogzitoId), options);
|
|
body.Range.Replace(new Regex("{sztsz}"), sztszAzonosito, options);
|
|
body.Range.Replace(new Regex("{ok}"), co.TavolletOkaId.GetItemNameFromCache(TanevId), options);
|
|
body.Range.Replace(new Regex("{napokszama}"), $"{co.TavolletIdotartamNap}", options);
|
|
body.Range.Replace(new Regex("{datum}"), DateTime.Today.ToString(Constants.ToStringPattern.HungarianDate), options);
|
|
body.Range.Replace(new Regex("{tavollettol}"), co.TavolletKezdet.ToString(Constants.ToStringPattern.HungarianDate), options);
|
|
body.Range.Replace(new Regex("{tavolletig}"), co.TavolletVeg.ToString(Constants.ToStringPattern.HungarianDate), options);
|
|
body.Range.Replace(new Regex("{megjegyzes}"), co.Megjegyzes ?? "", options);
|
|
|
|
var ms = new MemoryStream();
|
|
doc.Save(ms, Aspose.Words.SaveFormat.Pdf);
|
|
ms.Position = 0;
|
|
|
|
return poszeidonHelper.Iktatas(ms, HRModulResource.TavolletIktatasSablonGeneraltFajlNeve, co.RogzitoId, DokumentumKategoriaEnum.szemelyzeti_ugyek, dokumentumTipus, null, kulcsSzavak, foszamDefinicioErtekek, Constants.ContentTypes.Pdf);
|
|
}
|
|
|
|
private static readonly List<string> s_leaderTypes = new List<string>
|
|
{
|
|
((int)VezetoiOraszamokTipusEnum.Intezmenyvezeto).ToString(),
|
|
((int)VezetoiOraszamokTipusEnum.IntezmenyvezetoHelyettes).ToString(),
|
|
((int)VezetoiOraszamokTipusEnum.TagintezmenyVezeto).ToString(),
|
|
((int)VezetoiOraszamokTipusEnum.IntezmenyegysegVezeto).ToString(),
|
|
((int)VezetoiOraszamokTipusEnum.igazgato).ToString(),
|
|
((int)VezetoiOraszamokTipusEnum.igazgatohelyettes).ToString(),
|
|
};
|
|
|
|
public bool IsLeader()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott(GridParameters);
|
|
var result = dal.IsLeader(FelhasznaloId, TanevId);
|
|
|
|
return s_leaderTypes.Any(x => x == result);
|
|
});
|
|
}
|
|
|
|
public bool IsIntezmenyvezeto(int alkalmazottId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott(GridParameters);
|
|
var result = dal.IsLeader(alkalmazottId, TanevId);
|
|
|
|
return result == ((int)VezetoiOraszamokTipusEnum.Intezmenyvezeto).ToString() ||
|
|
result == ((int)VezetoiOraszamokTipusEnum.igazgato).ToString();
|
|
});
|
|
}
|
|
|
|
public int GetTavolletIdotartam(DateTime tavolletKezdet, DateTime tavolletVeg)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.HRModulDAL();
|
|
return dal.GetTavolletIdotartam(tavolletKezdet, tavolletVeg);
|
|
});
|
|
}
|
|
|
|
public AlkalmazottEmailDataCo GetAlkalmazottEmailDataByGuid(Guid felhasznaloEgyediAzonosito)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Felhasznalo(null);
|
|
var ds = dal.GetFelhasznaloEmailByGuid(felhasznaloEgyediAzonosito.ToString(), IntezmenyId, TanevId);
|
|
|
|
if (ds.Tables[0].Rows.Count == 0)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
var row = ds.Tables[0].Rows[0];
|
|
var co = new AlkalmazottEmailDataCo
|
|
{
|
|
AlkalmazottId = SDAConvert.ToInt32(row["AlkalmazottId"]),
|
|
AlkalmazottGuid = SDAConvert.ToGuid(row["AlkalmazottGuid"]),
|
|
AlkalmazottNev = SDAConvert.ToString(row["AlkalmazottNev"]),
|
|
EmailCim = SDAConvert.ToString(row["EmailCim"]),
|
|
EmailGuid = SDAConvert.ToGuid(row["EmailGuid"]),
|
|
};
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public string GetTavolletOkaDictionaryItemName(int tavolletOkaId)
|
|
=> tavolletOkaId.GetItemNameFromCache(TanevId);
|
|
|
|
/// <summary>
|
|
/// Azoknak a TavolletTipus-oknak a listája, amiknél 'Engedélyezem' szöveg fog megjelenni
|
|
/// </summary>
|
|
public IList<int> EngedelyezList =>
|
|
new List<int>
|
|
{
|
|
(int)TavolletTipusEnum.Szabadsag,
|
|
(int)TavolletTipusEnum.Apat_megilleto_potszabadsag_gyermeke_szuletese_eseten,
|
|
(int)TavolletTipusEnum.Tanulmanyi_munkaido_kedvezmeny,
|
|
(int)TavolletTipusEnum.tanulmanyi_szabadsag_illetmeny_szamfejtessel,
|
|
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_meghalado_tartamu_biztositas_szunetel,
|
|
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_nem_meghalado_tartamu_biztositas_szunetel,
|
|
(int)TavolletTipusEnum.Egyeb_hianyzas_dijazassal,
|
|
(int)TavolletTipusEnum.Egyeb_hianyzas_dijazas_nelkul,
|
|
(int)TavolletTipusEnum.egyeb_hianyzas_dijazas_nelkul_ora,
|
|
(int)TavolletTipusEnum.Mentesites_a_munkavegzes_alol_felmentesi_felmondasi_ido_tartamara,
|
|
(int)TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet_ora_vagy_teljesitmenyberezes_eseten,
|
|
(int)TavolletTipusEnum.Fizetes_nelkuli_szabadsag_biztositas_nem_szunetel,
|
|
(int)TavolletTipusEnum.Onkentes_tartalekos_katonai_szolgalatteljesites,
|
|
(int)TavolletTipusEnum.Jogviszony_folyositas,
|
|
(int)TavolletTipusEnum.Kirendeles_a_fogado_munkaltato_fizet,
|
|
(int)TavolletTipusEnum.Munkaltato_engedelye_alapjan,
|
|
(int)TavolletTipusEnum.munkaltato_engedelye_alapjan_ora,
|
|
(int)TavolletTipusEnum.Allasido_dijazassal,
|
|
(int)TavolletTipusEnum.allasido_dijazassal_ora,
|
|
(int)TavolletTipusEnum.Felfuggesztes_jogviszonyt_megszunteto_hatarozat_kezbesitese,
|
|
(int)TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet,
|
|
(int)TavolletTipusEnum.Kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_,
|
|
(int)TavolletTipusEnum.kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_ora,
|
|
(int)TavolletTipusEnum.Allasido_dijazas_nelkul,
|
|
(int)TavolletTipusEnum.allasido_dijazas_nelkul_ora,
|
|
(int)TavolletTipusEnum.nagyszulot_megilleto_potszabadsag,
|
|
(int)TavolletTipusEnum.elso_hazassag_utani_potszabadsag,
|
|
(int)TavolletTipusEnum.igazolatlan_tortnapi,
|
|
(int)TavolletTipusEnum.veszelyhelyzet_miatti_fizetes_nelkuli_szabadsag_biztositas_szunetel,
|
|
(int)TavolletTipusEnum.orokbefogadas_elokeszitese_celjabol,
|
|
(int)TavolletTipusEnum.vedooltas_hianya_miatti_fizetes_nelkuli_szabadsag,
|
|
(int)TavolletTipusEnum.szuletesnapi_szabadsag,
|
|
};
|
|
|
|
/// <summary>
|
|
/// TavolletTipus alapján visszaadja a megfelelő 'Elfogadó' TavolletStatusz-t
|
|
/// </summary>
|
|
/// <param name="tipusId"></param>
|
|
/// <returns></returns>
|
|
public static TavolletStatuszEnum GetElfogadasStatuszByTipus(TavolletTipusEnum tipusId)
|
|
{
|
|
switch (tipusId)
|
|
{
|
|
case TavolletTipusEnum.Szabadsag:
|
|
case TavolletTipusEnum.Apat_megilleto_potszabadsag_gyermeke_szuletese_eseten:
|
|
case TavolletTipusEnum.Tanulmanyi_munkaido_kedvezmeny:
|
|
case TavolletTipusEnum.tanulmanyi_szabadsag_illetmeny_szamfejtessel:
|
|
case TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_meghalado_tartamu_biztositas_szunetel:
|
|
case TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kerelemre_30_napot_nem_meghalado_tartamu_biztositas_szunetel:
|
|
case TavolletTipusEnum.Egyeb_hianyzas_dijazassal:
|
|
case TavolletTipusEnum.Egyeb_hianyzas_dijazas_nelkul:
|
|
case TavolletTipusEnum.egyeb_hianyzas_dijazas_nelkul_ora:
|
|
case TavolletTipusEnum.Mentesites_a_munkavegzes_alol_felmentesi_felmondasi_ido_tartamara:
|
|
case TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet_ora_vagy_teljesitmenyberezes_eseten:
|
|
case TavolletTipusEnum.Fizetes_nelkuli_szabadsag_biztositas_nem_szunetel:
|
|
case TavolletTipusEnum.Onkentes_tartalekos_katonai_szolgalatteljesites:
|
|
case TavolletTipusEnum.Jogviszony_folyositas:
|
|
case TavolletTipusEnum.Kirendeles_a_fogado_munkaltato_fizet:
|
|
case TavolletTipusEnum.Munkaltato_engedelye_alapjan:
|
|
case TavolletTipusEnum.munkaltato_engedelye_alapjan_ora:
|
|
case TavolletTipusEnum.Allasido_dijazassal:
|
|
case TavolletTipusEnum.allasido_dijazassal_ora:
|
|
case TavolletTipusEnum.Felfuggesztes_jogviszonyt_megszunteto_hatarozat_kezbesitese:
|
|
case TavolletTipusEnum.Munkaszuneti_nap_miatti_tavollet:
|
|
case TavolletTipusEnum.Kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_:
|
|
case TavolletTipusEnum.kotelezettsegszeges_korulmenyei_kivizsgalasanak_idotartamara_mentesites_munkavegzes_alol_max_30_nap_ora:
|
|
case TavolletTipusEnum.Allasido_dijazas_nelkul:
|
|
case TavolletTipusEnum.allasido_dijazas_nelkul_ora:
|
|
case TavolletTipusEnum.nagyszulot_megilleto_potszabadsag:
|
|
case TavolletTipusEnum.elso_hazassag_utani_potszabadsag:
|
|
case TavolletTipusEnum.igazolatlan_tortnapi:
|
|
case TavolletTipusEnum.veszelyhelyzet_miatti_fizetes_nelkuli_szabadsag_biztositas_szunetel:
|
|
case TavolletTipusEnum.orokbefogadas_elokeszitese_celjabol:
|
|
case TavolletTipusEnum.vedooltas_hianya_miatti_fizetes_nelkuli_szabadsag:
|
|
case TavolletTipusEnum.szuletesnapi_szabadsag:
|
|
return TavolletStatuszEnum.Engedelyezve_atadva_tankeruletnek;
|
|
|
|
case TavolletTipusEnum.Hozzatartozo_halalakor_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Szakszervezeti_tisztsegviselo_munkaido_kedvezmenye:
|
|
case TavolletTipusEnum.Keresokeptelenseg:
|
|
case TavolletTipusEnum.Sztrajk:
|
|
case TavolletTipusEnum.Kulonos_meltanylast_erdemlo_szemelyi_csaladi_vagy_elharithatatlan_ok_miatt_indokolt_tavollet_tartamara_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Szulesi_szabadsag:
|
|
case TavolletTipusEnum.Kotelezo_orvosi_vizsgalat_tartamara_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Veradashoz_szukseges_idotartamra_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Szoptatas_idotartamara_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Valasztas_miatt_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Tanukenti_meghallgatas:
|
|
case TavolletTipusEnum.Kepviseloi_feladatok_ellatasa:
|
|
case TavolletTipusEnum.Emberi_reprodukcios_eljarassal_osszefuggo_egeszsegugyi_intezmenyben_torteno_kezeles_tartamara_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Kepzesben_tovabbkepzesben_felek_megallapodasa_alapjan_valo_reszvetelhez_szukseges_idotartamra_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Onkentes_vagy_letesitmenyi_tuzoltoi_szolgalat_ellatasanak_tartamara_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Birosag_hatosag_felhivasara_vagy_az_eljarasban_valo_reszvetelhez_szukseges_idotartamra_mentesules_munkavegzes_alol:
|
|
case TavolletTipusEnum.Fizetes_nelkuli_szabadsag_kulszolgalatba_helyezes_idotartamara:
|
|
case TavolletTipusEnum.Elozetes_letartoztatas_szabadsagvesztes:
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return TavolletStatuszEnum.Tudomasul_veve_atadva_tankeruletnek;
|
|
}
|
|
|
|
public List<string> GetTavolletjelentoNaptariEvek(bool isAdministrator)
|
|
{
|
|
List<string> evek = new List<string>()
|
|
{
|
|
DateTime.Now.Year.ToString(),
|
|
DateTime.Now.AddYears(-1).Year.ToString()
|
|
};
|
|
|
|
if (isAdministrator || IsIntezmenyvezeto(FelhasznaloId))
|
|
{
|
|
var tanevHelper = new TanevHelper(ConnectionType);
|
|
var dictionary = tanevHelper.GetTanevekForDDL(string.Empty);
|
|
evek = string.Join("/", dictionary.Select(x => x.Value)).Split('/').ToList().Distinct().ToList();
|
|
}
|
|
|
|
return evek;
|
|
}
|
|
|
|
public DateTime GetMinimumNaptariEv(bool isAdministrator)
|
|
{
|
|
var minimumNaptariEv = GetTavolletjelentoNaptariEvek(isAdministrator).Select(int.Parse).ToList().Min();
|
|
|
|
return new DateTime(minimumNaptariEv, 1, 1);
|
|
}
|
|
|
|
public bool IsHrKezelo()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott(GridParameters);
|
|
var result = dal.IsHrKezelo(FelhasznaloId, TanevId);
|
|
|
|
return result;
|
|
});
|
|
}
|
|
}
|
|
}
|