init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,74 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.Extensions;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.HRModul.Logic;
|
||||
using Kreta.Web.Areas.HRModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.TavolletIgenylo.ClaimValue)]
|
||||
//[ApiFeatureAuthorize(Core.Constants.FeatureName.HRModul)]
|
||||
public class TavolletListaApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTavolletListaGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TavolletListaSearchModel>(data);
|
||||
var LResult = new List<TavolletListaGridModel>();
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var (kozpontiResult, sztszAzonositok) = new TavolletListaLogic().GetTavolletBefogadottLista(model, helper, alkalmazottHelper);
|
||||
|
||||
if (!kozpontiResult?.IsSuccess ?? true)
|
||||
{
|
||||
return new DataSourceResult
|
||||
{
|
||||
Errors = "error"
|
||||
};
|
||||
}
|
||||
|
||||
if (kozpontiResult.Data != null)
|
||||
{
|
||||
var aa = alkalmazottHelper.GetAlkalmazottSztszAzonositoTavolletAlkalmazott(sztszAzonositok);
|
||||
|
||||
foreach (var item in kozpontiResult.Data)
|
||||
{
|
||||
LResult.Add(new TavolletListaGridModel
|
||||
{
|
||||
ID = item.Id.ToString(),
|
||||
TipusId_DNAME = item.TavolletTipusNev,
|
||||
SzTSzAzonosito = item.SzTSzAzonosito,
|
||||
IdoszakKezdet = item.TavolletKezdete,
|
||||
IdoszakVeg = item.TavolletVege,
|
||||
TavolletIdotartamNap = item.TavolletIdotartamaNap,
|
||||
EvesSzabadsagKeret = item.EvesKeret,
|
||||
AlkalmazottNev = (aa.TryGetValue(item.SzTSzAzonosito, out var value) ? value.AlkalmazottNev : ErrorResource.NevSzinkronizalasaSikertelen)
|
||||
});
|
||||
}
|
||||
|
||||
if (LResult.Count > 0)
|
||||
{
|
||||
var result = new DataSourceResult
|
||||
{
|
||||
Data = LResult.ToDataSourceResult(request).Data,
|
||||
Total = LResult.Count
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
return new DataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,396 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.Extensions;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.Tavollet;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
|
||||
using Kreta.Core.SAP.CommunicationModels;
|
||||
using Kreta.Core.SAP.CommunicationModels.TavolletIgenyekKezelese;
|
||||
using Kreta.Core.SAP.Enums;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.HRModul.Logic;
|
||||
using Kreta.Web.Areas.HRModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.TavolletIgenylo.ClaimValue)]
|
||||
//[ApiFeatureAuthorize(Core.Constants.FeatureName.HRModul)]
|
||||
public class TavolletjelentoApiController : ApiController
|
||||
{
|
||||
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
|
||||
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
|
||||
|
||||
private readonly IFileServiceHelper fileServiceHelper;
|
||||
|
||||
public TavolletjelentoApiController(IIktatoRepositoryFactory iktatoRepositoryFactory, IktatoServiceConfiguration iktatoServiceConfiguration, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
IktatoRepositoryFactory = iktatoRepositoryFactory ?? throw new ArgumentNullException(nameof(iktatoRepositoryFactory));
|
||||
IktatoServiceConfiguration = iktatoServiceConfiguration ?? throw new ArgumentNullException(nameof(iktatoServiceConfiguration));
|
||||
this.fileServiceHelper = fileServiceHelper;
|
||||
}
|
||||
|
||||
public DataSourceResult GetTavolletjelentoGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
List<TavolletjelentoGridModel> LResult = new List<TavolletjelentoGridModel>();
|
||||
|
||||
var model = JsonConvert.DeserializeObject<TavolletjelentoSearchModel>(data);
|
||||
|
||||
var kozpontiResult = new TavolletjelentoLogic().GetTavolletjelentoLista(model, helper);
|
||||
|
||||
if (!kozpontiResult?.IsSuccess ?? true)
|
||||
{
|
||||
return new DataSourceResult
|
||||
{
|
||||
Errors = "error"
|
||||
};
|
||||
}
|
||||
|
||||
if (kozpontiResult != null && kozpontiResult.IsSuccess && kozpontiResult.TavolletjelentoResultList != null)
|
||||
{
|
||||
bool isIntezmenyvezeto = helper.IsIntezmenyvezeto(ClaimData.FelhasznaloId);
|
||||
foreach (var item in kozpontiResult.TavolletjelentoResultList)
|
||||
{
|
||||
LResult.Add(new TavolletjelentoGridModel()
|
||||
{
|
||||
ID = item.TavolletJelentoId.ToString(),
|
||||
TipusId = item.TavolletTipusId,
|
||||
StatuszId = item.TavolletStatuszId.ToString(),
|
||||
Torolt_BOOL = item.IsTorolt,
|
||||
IsTorolheto = helper.IsTorolheto(item, isIntezmenyvezeto),
|
||||
AlkalmazottNev = item.AlkalmazottNev,
|
||||
SzTSzAzonosito = item.AlkalmazottSzTSz,
|
||||
AlkalmazottGuid = item.AlkalmazottGuid.ToString(),
|
||||
RogzitoGuid = item.RogzitoGuid.ToString(),
|
||||
IdoszakKezdet = item.TavolletKezdete,
|
||||
IdoszakVeg = item.TavolletVege,
|
||||
HasMelleklet_BOOL = item.IsMellekletTartozikHozza,
|
||||
HasMelleklet_BNAME = item.IsMellekletTartozikHozza ? CommonResource.Igen : CommonResource.Nem,
|
||||
RogzitesDatuma = item.RogzitesIdopontja,
|
||||
MunkanapSzam = item.TavolletIdotartamaNap,
|
||||
StatuszId_DNAME = item.TavolletStatuszId.GetDisplayName<TavolletStatuszEnum>(ClaimData.SelectedTanevID.Value),
|
||||
TipusId_DNAME = item.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
HatralevoNapokSzama = item.HatralevoNapokSzama ?? default
|
||||
});
|
||||
}
|
||||
|
||||
if (LResult.Count > 0)
|
||||
{
|
||||
var result = new DataSourceResult
|
||||
{
|
||||
Data = LResult.ToDataSourceResult(request).Data,
|
||||
Total = LResult.Count
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetTavolletjelentoDokGrid(int tavolletId)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var result = helper.TavolletjelentoDokList(tavolletId);
|
||||
return result.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetAlkalmazottakAdatai(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TavolletjelentoSearchModel>(data);
|
||||
List<TavolletAlkalmazottGridModel> LResult = new List<TavolletAlkalmazottGridModel>();
|
||||
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var kozpontiResult = client.GetTavolletAlkalmazottakAdatai(model.ConvertToTavolletAdatokRequestModel(tanevCo.Sorszam));
|
||||
|
||||
if (!kozpontiResult?.IsSuccess ?? true)
|
||||
{
|
||||
return new DataSourceResult
|
||||
{
|
||||
Errors = "error"
|
||||
};
|
||||
}
|
||||
|
||||
if (kozpontiResult.TavolletAdatokResultList != null)
|
||||
{
|
||||
foreach (var item in kozpontiResult.TavolletAdatokResultList)
|
||||
{
|
||||
LResult.Add(new TavolletAlkalmazottGridModel()
|
||||
{
|
||||
ID = item.AlkalmazottId.ToString(),
|
||||
AlkalmazottNev = item.AlkalmazottNev,
|
||||
SzTSzAzonosito = item.SzTSzAzonosito,
|
||||
IsFointezmenyeE_BNAME = item.IsTavolletFoIntezmenye ? CommonResource.Igen : CommonResource.Nem,
|
||||
SzabadsagKeret = item.EvesKeret,
|
||||
IgenybeVehetoTavolletek = item.FelhasznalhatoKeret,
|
||||
IgenybeVettTavolletek = item.FelhasznaltKeret,
|
||||
FuggobenLevoTavolletek = item.FuggoTavolletIgenyek,
|
||||
});
|
||||
}
|
||||
|
||||
if (LResult.Count > 0)
|
||||
{
|
||||
var result = new DataSourceResult
|
||||
{
|
||||
Data = LResult.ToDataSourceResult(request).Data,
|
||||
Total = LResult.Count
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public int GetTavolletIdotartam(TavolletjelentoDateModel model)
|
||||
{
|
||||
if (model.TavolletKezdet.HasValue && model.TavolletVeg.HasValue)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
return helper.GetTavolletIdotartam(model.TavolletKezdet.Value.ToLocalTime(), model.TavolletVeg.Value.ToLocalTime());
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTavollet(TavolletjelentoModel model)
|
||||
{
|
||||
TavolletjelentoLogic tavolletJelentoLogic = new TavolletjelentoLogic();
|
||||
|
||||
tavolletJelentoLogic.CustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model = tavolletJelentoLogic.UpdateModelAuthorizationData(model);
|
||||
var co = tavolletJelentoLogic.ConvertModelToCo(model);
|
||||
|
||||
var saveModel = tavolletJelentoLogic.SaveOrUpdateTavollet(model, co);
|
||||
|
||||
if (model.Muvelet == WorkflowMuveletEnum.UjRogzites && saveModel.AlkalmazottList != null && saveModel.AlkalmazottList.Any(i => string.IsNullOrWhiteSpace(i.RogzitoFunkcioTerulet)))
|
||||
{
|
||||
ModelState.AddModelError("NincsFTError", string.Format(HRModulResource.FunkcioTeruletHianyzik,
|
||||
string.Join(", ", saveModel.AlkalmazottList.Where(i => string.IsNullOrWhiteSpace(i.RogzitoFunkcioTerulet)).Select(d => d.AlkalmazottNev))));
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var kozpontiResult = client.SaveOrUpdateTavollet(saveModel);
|
||||
|
||||
if (kozpontiResult.IsSuccess)
|
||||
{
|
||||
if (model.FilesArray != null && model.FilesArray.Count > 0)
|
||||
{
|
||||
var entitys = new List<int>();
|
||||
foreach (var item in kozpontiResult.AlkalmazottResultList)
|
||||
{
|
||||
entitys.Add(item.TavolletJelentoId);
|
||||
}
|
||||
|
||||
helper.InsertDokumentum(IktatoRepositoryFactory, IktatoServiceConfiguration, fileServiceHelper, co, entitys);
|
||||
}
|
||||
|
||||
tavolletJelentoLogic.SendEmail(co, model.EredetiRogzitoGuid);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
ModelState.AddModelStateErrorsFromString(kozpontiResult.ErrorMessage);
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveTobbesTavollet(TavolletjelentoTobbesModel tobbesModel)
|
||||
{
|
||||
TavolletjelentoLogic tavolletJelentoLogic = new TavolletjelentoLogic();
|
||||
tavolletJelentoLogic.CustomValidation(ModelState, tobbesModel);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var tavolletjelentoModel = new TavolletjelentoModel()
|
||||
{
|
||||
Muvelet = WorkflowMuveletEnum.CsakModositas,
|
||||
StatuszId = (int)TavolletStatuszEnum.Fuggo,
|
||||
MegjegyzesMezo = tobbesModel.MegjegyzesMezo,
|
||||
AlkalmazottList = tobbesModel.TavolletAlkalmazottIdArray,
|
||||
TavolletIdotartamNap = tobbesModel.TavolletIdotartamNap,
|
||||
TavolletOka = tobbesModel.TavolletOka,
|
||||
TavolletKezdet = tobbesModel.TavolletKezdet,
|
||||
TavolletVeg = tobbesModel.TavolletVeg
|
||||
};
|
||||
|
||||
var co = tavolletJelentoLogic.ConvertModelToCo(tavolletjelentoModel);
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var saveModel = tavolletJelentoLogic.SaveOrUpdateTavollet(tavolletjelentoModel, co);
|
||||
//var saveModel = new TavolletjelentoCRUDRequestModel();
|
||||
//saveModel.Action = WorkflowMuveletek.Modosit;
|
||||
//saveModel.TavolletTipusId = tobbesModel.TavolletOka.Value;
|
||||
//saveModel.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
|
||||
//saveModel.TavolletKezdete = tobbesModel.TavolletKezdet.Value.ToLocalTime();
|
||||
//saveModel.TavolletVege = tobbesModel.TavolletVeg.Value.ToLocalTime();
|
||||
//saveModel.TavolletIdotartamaNap = tobbesModel.TavolletIdotartamNap ?? default;
|
||||
//saveModel.Megjegyzes = tobbesModel.Megjegyzes;
|
||||
//saveModel.RogzitoNev = ClaimData.FelhasznaloNev;
|
||||
//saveModel.RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId));
|
||||
//saveModel.RogzitoIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
|
||||
//saveModel.TanevId
|
||||
|
||||
foreach (var tavollet in tobbesModel.TavolletekDictionary)
|
||||
{
|
||||
saveModel.AlkalmazottList.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = tavollet.Key,
|
||||
AlkalmazottSzTSz = tavollet.Value.AlkalmazottSzTSz,
|
||||
RogzitoFunkcioTerulet = tavollet.Value.RogzitoFunkcioTerulet,
|
||||
});
|
||||
}
|
||||
|
||||
var kozpontiResult = client.SaveOrUpdateTavollet(saveModel);
|
||||
|
||||
if (kozpontiResult.IsSuccess)
|
||||
{
|
||||
co.StatuszId = (int)TavolletStatuszEnum.Fuggo;
|
||||
tavolletJelentoLogic.SendEmail(co);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
ModelState.AddModelStateErrorsFromString(kozpontiResult.ErrorMessage);
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public void SaveTavolletElfogadas([FromBody] List<TavolletjelentoElfogadasModel> ids)
|
||||
{
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
|
||||
var saveModels = new List<IntezmenyiTavolletIgenyElfogadasRequestModel>();
|
||||
var rogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId));
|
||||
foreach (var item in ids)
|
||||
{
|
||||
var saveModel = new IntezmenyiTavolletIgenyElfogadasRequestModel
|
||||
{
|
||||
Action = WorkflowMuveletek.Jovahagy,
|
||||
TavolletTipusId = (int)item.TipusId,
|
||||
TavolletStatuszId = (int)HRModulHelper.GetElfogadasStatuszByTipus(item.TipusId),
|
||||
RogzitoNev = ClaimData.FelhasznaloNev,
|
||||
RogzitoGuid = rogzitoGuid,
|
||||
TavolletJelentoId = item.ID
|
||||
};
|
||||
|
||||
saveModels.Add(saveModel);
|
||||
}
|
||||
|
||||
var kozpontiResult = client.JovahagyTavolletek(saveModels);
|
||||
|
||||
if (!kozpontiResult.IsSuccess)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, kozpontiResult.ErrorMessage);
|
||||
}
|
||||
|
||||
foreach (var item in kozpontiResult.Data)
|
||||
{
|
||||
new TavolletjelentoLogic().SendEmail(item,
|
||||
(int)HRModulHelper.GetElfogadasStatuszByTipus(ids.Where(x => x.ID == item.TavolletJelentoId).First().TipusId)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public void SaveTavolletElutasitas([FromBody] List<TavolletjelentoElutasitasModel> ids)
|
||||
{
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var saveModels = new TavolletjelentoCRUDRequestModel
|
||||
{
|
||||
Action = WorkflowMuveletek.Elutasit,
|
||||
TavolletStatuszId = (int)TavolletStatuszEnum.Elutasitva,
|
||||
RogzitoNev = ClaimData.FelhasznaloNev,
|
||||
RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId)),
|
||||
};
|
||||
foreach (var item in ids)
|
||||
{
|
||||
saveModels.AlkalmazottList.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = item.ID
|
||||
});
|
||||
}
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var kozpontiResult = client.SaveOrUpdateTavollet(saveModels);
|
||||
|
||||
if (!kozpontiResult.IsSuccess)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, kozpontiResult.ErrorMessage);
|
||||
}
|
||||
|
||||
foreach (var alkalmazott in kozpontiResult.AlkalmazottResultList)
|
||||
{
|
||||
new TavolletjelentoLogic().SendEmail(alkalmazott, (int)TavolletStatuszEnum.Elutasitva, ids.Single(x => x.ID == alkalmazott.TavolletJelentoId).RogzitoGuid);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public void DeleteTavollet(TavolletjelentoDeleteModel model)
|
||||
{
|
||||
var tavolletDeleteModel = new TavolletjelentoLogic().DeleteTavollet(model);
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
client.DeleteTavollet(tavolletDeleteModel);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.HRModul.Logic;
|
||||
using Kreta.Web.Areas.HRModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.TavolletIgenylo.ClaimValue)]
|
||||
//[MvcFeatureMaintenance(Core.Constants.FeatureName.HRModul)]
|
||||
//[MvcFeatureAuthorize(Core.Constants.FeatureName.HRModul)]
|
||||
public class TavolletListaController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
if (ClaimData.IsAdministrator || new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).IsHrKezelo() || new TavolletjelentoLogic().HasSZTSZKOD(ClaimData.FelhasznaloId))
|
||||
{
|
||||
var model = new TavolletListaLogic().GetTavolletListaSearchModel();
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
return View("~/Areas/HRModul/Views/Tavolletjelento/IndexError.cshtml");
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcValidateAjaxAntiForgeryToken]
|
||||
public ActionResult Export(TavolletListaSearchModel model)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var (kozpontiResult, sztszAzonositok) = new TavolletListaLogic().GetTavolletBefogadottLista(model, helper, alkalmazottHelper);
|
||||
|
||||
using (var ms = helper.GetTavolletListaExport(kozpontiResult, sztszAzonositok, alkalmazottHelper))
|
||||
{
|
||||
return new FileContentResult(ms.ToArray(), MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(HRModulResource.SzamfejtettTavolletekExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
212
KretaWeb/Areas/HRModul/Controllers/TavolletjelentoController.cs
Normal file
212
KretaWeb/Areas/HRModul/Controllers/TavolletjelentoController.cs
Normal file
|
@ -0,0 +1,212 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Client.Tavollet;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
using Kreta.Core.Iktato.Poszeidon.Factory.Interface;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.HRModul.Logic;
|
||||
using Kreta.Web.Areas.HRModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.TavolletIgenylo.ClaimValue)]
|
||||
//[MvcFeatureMaintenance(Core.Constants.FeatureName.HRModul)]
|
||||
//[MvcFeatureAuthorize(Core.Constants.FeatureName.HRModul)]
|
||||
public class TavolletjelentoController : Controller
|
||||
{
|
||||
private IIktatoRepositoryFactory IktatoRepositoryFactory { get; }
|
||||
private IktatoServiceConfiguration IktatoServiceConfiguration { get; }
|
||||
private IFileServiceHelper FileServiceHelper { get; }
|
||||
|
||||
public TavolletjelentoController(IIktatoRepositoryFactory iktatoServiceFactory, IktatoServiceConfiguration iktatoServiceConfiguration, IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
IktatoRepositoryFactory = iktatoServiceFactory ?? throw new ArgumentNullException(nameof(iktatoServiceFactory));
|
||||
IktatoServiceConfiguration = iktatoServiceConfiguration ?? throw new ArgumentNullException(nameof(iktatoServiceConfiguration));
|
||||
FileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
var logic = new TavolletjelentoLogic();
|
||||
|
||||
if (!logic.HasValidMunkaviszony(ClaimData.FelhasznaloId))
|
||||
{
|
||||
return View("IndexErrorMunkaviszony");
|
||||
}
|
||||
|
||||
if (ClaimData.IsAdministrator || logic.HasSZTSZKOD(ClaimData.FelhasznaloId))
|
||||
{
|
||||
var model = logic.GetNewTavolletjelentoSearchModel(false);
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
else
|
||||
{
|
||||
return View("IndexError");
|
||||
}
|
||||
}
|
||||
|
||||
public ActionResult Kezeles()
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (helper.IsLeader() || ClaimData.IsDefaultAdminUser || ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator || helper.IsHrKezelo())
|
||||
{
|
||||
var logic = new TavolletjelentoLogic();
|
||||
var model = logic.GetNewTavolletjelentoSearchModel(true);
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
return View("~/Views/ErrorHandler/AccessDenied.cshtml");
|
||||
}
|
||||
|
||||
public ActionResult FoglalkoztatottakAdatai()
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (helper.IsLeader() || ClaimData.IsDefaultAdminUser || ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator || helper.IsHrKezelo())
|
||||
{
|
||||
var logic = new TavolletjelentoLogic();
|
||||
var model = logic.GetNewTavolletjelentoSearchModel(true);
|
||||
|
||||
return View("FoglalkoztatottakAdatai", model);
|
||||
}
|
||||
|
||||
return View("~/Views/ErrorHandler/AccessDenied.cshtml");
|
||||
}
|
||||
|
||||
public ActionResult OpenTavolletjelentoDetailPopUp(int Id)
|
||||
{
|
||||
var model = new TavolletjelentoLogic().GetModifyTavolletjelentoModel(Id);
|
||||
model.ViewType = TavolletjelentoViewTypeEnum.Detail;
|
||||
|
||||
var pm = new PopUpModel(model, "Tavolletjelento_Bevitel");
|
||||
pm = pm.AddCancelBtn(pm, "TavolletjelentoHelper.CancelTavolletjelentoWindow");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult OpenTavolletjelentoNewPopUp(bool isKezeles)
|
||||
{
|
||||
var model = new TavolletjelentoLogic().GetNewTavolletjelentoModel(isKezeles);
|
||||
|
||||
var pm = new PopUpModel(model, "Tavolletjelento_Bevitel");
|
||||
pm = pm.AddCancelBtn(pm, "TavolletjelentoHelper.CancelTavolletjelentoWindow");
|
||||
pm = pm.AddBtn(pm, "saveBtn", HRModulResource.Feladas, "TavolletjelentoHelper.GetFilesToPost", containerCssClass: "BtnOk");
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult OpenTavolletjelentoModifyPopUp(int Id, bool IsHianypotlas, WorkflowMuveletEnum Muvelet, Guid? eredetiRogzitoGuid)
|
||||
{
|
||||
var model = new TavolletjelentoLogic().GetModifyTavolletjelentoModel(Id, Muvelet);
|
||||
|
||||
var btnMsg = HRModulResource.Modositas;
|
||||
if (model.IsHianypotlas && Muvelet == WorkflowMuveletEnum.CsakModositas)
|
||||
{
|
||||
btnMsg = HRModulResource.Ujrafeladás;
|
||||
}
|
||||
else if (model.Muvelet == WorkflowMuveletEnum.Hianypotlas && model.IsLeaderCall)
|
||||
{
|
||||
btnMsg = HRModulResource.HPVisszakuldes;
|
||||
model.EredetiRogzitoGuid = eredetiRogzitoGuid;
|
||||
}
|
||||
|
||||
var pm = new PopUpModel(model, "Tavolletjelento_Bevitel");
|
||||
pm = pm.AddCancelBtn(pm, "TavolletjelentoHelper.CancelTavolletjelentoWindow");
|
||||
pm = pm.AddBtn(pm, "ModifyBtn", btnMsg, "TavolletjelentoHelper.GetFilesToPost", containerCssClass: "BtnOk");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult OpenTobbesTavolletjelentoModifyPopUp(List<int> Ids, bool ElteroSorok = false)
|
||||
{
|
||||
var model = new TavolletjelentoLogic().GetTobbesModifyTavolletjelentoModel(Ids);
|
||||
var btnMsg = HRModulResource.Modositasok;
|
||||
|
||||
var pm = new PopUpModel(model, "Tavolletjelento_TobbesBevitel");
|
||||
pm = pm.AddCancelBtn(pm, "TavolletjelentoHelper.CancelTavolletjelentoWindow");
|
||||
pm = pm.AddBtn(pm, "ModifyBtn", btnMsg, "TavolletjelentoHelper.saveTobbesTavollet", containerCssClass: "BtnOk");
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult GetFile(int fileId, string isDokumentum)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new PoszeidonHelper(ConnectionTypeExtensions.GetSessionConnectionType(), IktatoRepositoryFactory, IktatoServiceConfiguration);
|
||||
var (fajlnev, tartalom) = (isDokumentum == "T") ? helper.Lekeres(fileId.ToString()) : helper.LekeresCsatolmany(FileServiceHelper, fileId.ToString());
|
||||
|
||||
return new FileStreamResult(new MemoryStream(tartalom), "application/octet-stream")
|
||||
{
|
||||
FileDownloadName = fajlnev
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message, ex);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[MvcValidateAjaxAntiForgeryToken]
|
||||
public ActionResult Export(TavolletjelentoSearchModel model)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var kozpontiResult = new TavolletjelentoLogic().GetTavolletjelentoLista(model, helper);
|
||||
|
||||
using (var ms = helper.GetTavolletjelentoExport(kozpontiResult))
|
||||
{
|
||||
return new FileContentResult(ms.ToArray(), MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(HRModulResource.TavolletIgenyekExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public ActionResult ExportAlkalmazottakAdatai(TavolletjelentoSearchModel model)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (helper.IsLeader() || ClaimData.IsDefaultAdminUser || ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator || helper.IsHrKezelo())
|
||||
{
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var kozpontiResult = client.GetTavolletAlkalmazottakAdatai(model.ConvertToTavolletAdatokRequestModel(tanevCo.Sorszam));
|
||||
|
||||
using (var ms = helper.GetTavolletAlkalmazottakAdataiExport(kozpontiResult))
|
||||
{
|
||||
return new FileContentResult(ms.ToArray(), MediaTypeNames.Application.Octet)
|
||||
{
|
||||
FileDownloadName = HttpUtility.UrlEncode(HRModulResource.AlkalmazottakAdataiExportFileName, Encoding.UTF8),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Megfelelő jog nélkül nem lehet exportálni!
|
||||
throw new StatusError((int)HttpStatusCode.InternalServerError, HRModulResource.NincsJogosultsagaALetolteshez);
|
||||
}
|
||||
}
|
||||
}
|
24
KretaWeb/Areas/HRModul/HRModulAreaRegistration.cs
Normal file
24
KretaWeb/Areas/HRModul/HRModulAreaRegistration.cs
Normal file
|
@ -0,0 +1,24 @@
|
|||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul
|
||||
{
|
||||
public class HRModulAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "HRModul";
|
||||
}
|
||||
}
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.MapRoute(
|
||||
"HRModul_default",
|
||||
"HRModul/{controller}/{action}/{id}",
|
||||
new { action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
121
KretaWeb/Areas/HRModul/Logic/TavolletListaLogic.cs
Normal file
121
KretaWeb/Areas/HRModul/Logic/TavolletListaLogic.cs
Normal file
|
@ -0,0 +1,121 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Client.Tavollet;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
using Kreta.Core.SAP.CommunicationModels.SzamfejtettTavolletek;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Areas.HRModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Logic
|
||||
{
|
||||
public class TavolletListaLogic
|
||||
{
|
||||
public TavolletListaSearchModel GetTavolletListaSearchModel()
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
TavolletListaSearchModel model = new TavolletListaSearchModel()
|
||||
{
|
||||
SrcIsLeaderCall = helper.IsLeader(),
|
||||
};
|
||||
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
|
||||
if (!ClaimData.IsDefaultAdminUser)
|
||||
{
|
||||
var kozpontiResult = client.GetTavolletAlkalmazottakAdatai(model.ConvertToTavolletAdatokRequestModel(tanevCo.Sorszam, ClaimData.FelhasznaloId));
|
||||
|
||||
if (kozpontiResult.IsSuccess && kozpontiResult.TavolletAdatokResultList != null && kozpontiResult.TavolletAdatokResultList.Count > 0)
|
||||
{
|
||||
model.SzTSzAzonosito = kozpontiResult.TavolletAdatokResultList[0].SzTSzAzonosito;
|
||||
model.SzabadsagKeret = kozpontiResult.TavolletAdatokResultList[0].EvesKeret;
|
||||
model.IgenybeVehetoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznalhatoKeret;
|
||||
model.IgenybeVettTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznaltKeret;
|
||||
model.FuggobenLevoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FuggoTavolletIgenyek;
|
||||
model.UtolsoSzinkron = kozpontiResult.TavolletAdatokResultList[0].UtolsoSzinkron;
|
||||
model.IsTavolletFoIntezmenye = kozpontiResult.TavolletAdatokResultList[0].IsTavolletFoIntezmenye;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
model.IsTavolletFoIntezmenye = true;
|
||||
}
|
||||
|
||||
if ((ClaimData.FelhasznaloSzerepkor == Enums.SzerepkorTipusEnum.Adminisztrator) || helper.IsHrKezelo())
|
||||
model.SrcIsAdminCall = true;
|
||||
|
||||
if (!model.SrcIsLeaderCall && !model.SrcIsAdminCall)
|
||||
{
|
||||
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
|
||||
model.AlkalmazottFilterId = ClaimData.FelhasznaloId;
|
||||
}
|
||||
|
||||
model.MinimumSrcIdoszakKezdet = model.MinimumSrcIdoszakVeg = helper.GetMinimumNaptariEv(ClaimData.IsAdministrator);
|
||||
|
||||
model.SrcNaptariEv = new int[] { DateTime.Now.Year };
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public (IntezmenyiTavolletBefogadottResponseModel, List<string>) GetTavolletBefogadottLista(TavolletListaSearchModel model, HRModulHelper helper, AlkalmazottHelper alkalmazottHelper)
|
||||
{
|
||||
IntezmenyiTavolletBefogadottResponseModel kozpontiResult = null;
|
||||
List<string> sztszAzonositok = null;
|
||||
|
||||
var isLeader = helper.IsLeader();
|
||||
|
||||
if (!isLeader && ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator && !helper.IsHrKezelo())
|
||||
{
|
||||
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
|
||||
}
|
||||
else
|
||||
{
|
||||
if (model.SrcAlkalmazott == null || model.SrcAlkalmazott.Length < 1)
|
||||
{
|
||||
model.SrcAlkalmazott = alkalmazottHelper.GetAlkalmazottIds(null).ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
model.SrcAlkalmazott = model.SrcAlkalmazott.Intersect(alkalmazottHelper.GetAlkalmazottIds(null)).ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
if (model.SrcAlkalmazott.Length > 0)
|
||||
{
|
||||
var alkalmazottByAlkalmazottId = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(model.SrcAlkalmazott.ToList());
|
||||
|
||||
sztszAzonositok = alkalmazottByAlkalmazottId.Values.Where(x => !string.IsNullOrWhiteSpace(x.AlkalmazottSzTSz)).Select(x => x.AlkalmazottSzTSz).Distinct().ToList();
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var requestModel = new IntezmenyiTavolletBefogadottRequestModel
|
||||
{
|
||||
SzTSzAzonositok = sztszAzonositok,
|
||||
TavolletRogzitesEvek = (model.SrcNaptariEv != null && model.SrcNaptariEv.Length > 0) ? model.SrcNaptariEv.ToList() : new List<int> { DateTime.Now.Year },
|
||||
TavolletKezdete = model.SrcIdoszakKezdet,
|
||||
TavolletVege = model.SrcIdoszakVeg,
|
||||
TavolletTipusId = model.SrcTipus
|
||||
};
|
||||
|
||||
if (!isLeader && ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator && !helper.IsHrKezelo())
|
||||
{
|
||||
kozpontiResult = client.GetAlkalmazottakTavolletAdatok(requestModel);
|
||||
}
|
||||
else
|
||||
{
|
||||
kozpontiResult = client.GetVezetokTavolletAdatok(requestModel);
|
||||
}
|
||||
}
|
||||
|
||||
return (kozpontiResult, sztszAzonositok);
|
||||
}
|
||||
}
|
||||
}
|
835
KretaWeb/Areas/HRModul/Logic/TavolletjelentoLogic.cs
Normal file
835
KretaWeb/Areas/HRModul/Logic/TavolletjelentoLogic.cs
Normal file
|
@ -0,0 +1,835 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Client.Tavollet;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
using Kreta.Core.SAP.CommunicationModels;
|
||||
using Kreta.Core.SAP.Enums;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.HRModul.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Logic
|
||||
{
|
||||
public class TavolletjelentoLogic
|
||||
{
|
||||
public TavolletjelentoSearchModel GetNewTavolletjelentoSearchModel(bool isKezeles)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
TavolletjelentoSearchModel model = new TavolletjelentoSearchModel()
|
||||
{
|
||||
SrcIsLeaderCall = isKezeles && helper.IsLeader(),
|
||||
SrcToroltekMegjelenitese = IgenNemEnum.Igen.AsInt(),
|
||||
SrcKezeles = isKezeles,
|
||||
};
|
||||
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
|
||||
if (!ClaimData.IsDefaultAdminUser)
|
||||
{
|
||||
var kozpontiResult = client.GetTavolletAlkalmazottakAdatai(model.ConvertToTavolletAdatokRequestModel(tanevCo.Sorszam, ClaimData.FelhasznaloId));
|
||||
|
||||
if (kozpontiResult.IsSuccess && kozpontiResult.TavolletAdatokResultList != null && kozpontiResult.TavolletAdatokResultList.Count > 0)
|
||||
{
|
||||
model.SzTSzAzonosito = kozpontiResult.TavolletAdatokResultList[0].SzTSzAzonosito;
|
||||
model.SzabadsagKeret = kozpontiResult.TavolletAdatokResultList[0].EvesKeret;
|
||||
model.IgenybeVehetoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznalhatoKeret;
|
||||
model.IgenybeVettTavolletek = kozpontiResult.TavolletAdatokResultList[0].FelhasznaltKeret;
|
||||
model.FuggobenLevoTavolletek = kozpontiResult.TavolletAdatokResultList[0].FuggoTavolletIgenyek;
|
||||
model.UtolsoSzinkron = kozpontiResult.TavolletAdatokResultList[0].UtolsoSzinkron;
|
||||
model.IsTavolletFoIntezmenye = kozpontiResult.TavolletAdatokResultList[0].IsTavolletFoIntezmenye;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
model.IsTavolletFoIntezmenye = true;
|
||||
}
|
||||
|
||||
var tavolletJogosultSzerepkor = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Tavollet_Jogosult_Szerepkor);
|
||||
if (ClaimData.IsAdministrator || helper.IsLeader()
|
||||
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.alkalmazott && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Alkalmazott))
|
||||
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Pedagogus))
|
||||
|| helper.IsHrKezelo()
|
||||
&& model.IsTavolletFoIntezmenye)
|
||||
{
|
||||
model.SrcTavolletRogzitheto = true;
|
||||
model.SrcFoIntezmenyeE = 1;
|
||||
}
|
||||
|
||||
if ((ClaimData.FelhasznaloSzerepkor == Enums.SzerepkorTipusEnum.Adminisztrator)
|
||||
|| (helper.IsHrKezelo()))
|
||||
model.SrcIsAdminCall = true;
|
||||
|
||||
if (!isKezeles)
|
||||
{
|
||||
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
|
||||
model.AlkalmazottFilterId = ClaimData.FelhasznaloId;
|
||||
}
|
||||
|
||||
model.MinimumSrcIdoszakKezdet = model.MinimumSrcIdoszakVeg = helper.GetMinimumNaptariEv(ClaimData.IsAdministrator);
|
||||
|
||||
model.SrcNaptariEv = new int[] { DateTime.Now.Year };
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public TavolletjelentoModel GetNewTavolletjelentoModel(bool isKezeles)
|
||||
{
|
||||
var now = DateTime.Now;
|
||||
var model = new TavolletjelentoModel
|
||||
{
|
||||
TavolletKezdet = now.StartOfWeek(DayOfWeek.Monday),
|
||||
TavolletVeg = now.StartOfWeek(DayOfWeek.Monday).AddDays(5),
|
||||
ViewType = TavolletjelentoViewTypeEnum.New,
|
||||
//
|
||||
MinKezdet = now.Day < 6
|
||||
? new DateTime(now.AddMonths(-1).Year, now.AddMonths(-1).Month, 1)
|
||||
: new DateTime(now.Year, now.Month, 1),
|
||||
Muvelet = WorkflowMuveletEnum.UjRogzites,
|
||||
IsKezeles = isKezeles,
|
||||
};
|
||||
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
model.IsLeaderCall = helper.IsLeader();
|
||||
model.TavolletIdotartamNap = helper.GetTavolletIdotartam(model.TavolletKezdet.Value, model.TavolletVeg.Value);
|
||||
|
||||
var attribute = (StringLengthAttribute)typeof(TavolletjelentoModel).GetProperty(nameof(model.Megjegyzes)).GetCustomAttributes(typeof(StringLengthAttribute), false).First();
|
||||
model.MegjegyzesMezoMaxHossza = attribute.MaximumLength;
|
||||
|
||||
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator)
|
||||
|| helper.IsHrKezelo())
|
||||
model.IsAdminCall = true;
|
||||
|
||||
if (!isKezeles)
|
||||
{
|
||||
model.AlkalmazottList = new string[] { string.Format("{0}", ClaimData.FelhasznaloId) };
|
||||
model.AlkalmazottFilterId = ClaimData.FelhasznaloId;
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public TavolletjelentoModel GetModifyTavolletjelentoModel(int id, WorkflowMuveletEnum muvelet = WorkflowMuveletEnum.CsakModositas)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
//var model = ConvertCoToModel(helper.GetTavolletCO(id));
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var alkalmazottak = new List<TavolletAlkalmazottData>();
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = id
|
||||
});
|
||||
var kozpontiResult = client.GetTavollet(new TavolletjelentoCRUDRequestModel { AlkalmazottList = alkalmazottak });
|
||||
var co = new TavolletjelentoCO()
|
||||
{
|
||||
ID = kozpontiResult.TavolletJelentoId,
|
||||
TavolletOka = kozpontiResult.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(ClaimData.SelectedTanevID.Value),
|
||||
TavolletOkaId = kozpontiResult.TavolletTipusId,
|
||||
AlkalmazottNeve = kozpontiResult.AlkalmazottNev,
|
||||
TavolletKezdet = kozpontiResult.TavolletKezdete,
|
||||
TavolletVeg = kozpontiResult.TavolletVege,
|
||||
TavolletIdotartamNap = kozpontiResult.TavolletIdotartamaNap,
|
||||
StatuszId = kozpontiResult.TavolletStatuszId,
|
||||
StatuszNeve = kozpontiResult.TavolletStatuszId.GetDisplayName<TavolletStatuszEnum>(ClaimData.SelectedTanevID.Value),
|
||||
RogzitoNeve = kozpontiResult.RogzitoNev,
|
||||
MegjegyzesekList = kozpontiResult.MegjegyzesekList,
|
||||
//Dokumentum = kozpontiResult.DokumentumokList,
|
||||
AlkalmazottId = ClaimData.IntezmenyAzonosito == kozpontiResult.RogzitoIntezmenyAzonosito
|
||||
? alkalmazottHelper.GetAlkalmazottIdByGUID(kozpontiResult.AlkalmazottGuid.ToString())
|
||||
: default
|
||||
};
|
||||
|
||||
var model = ConvertCoToModel(co);
|
||||
model.IsNemRogzitoIntezmeny = ClaimData.IntezmenyAzonosito != kozpontiResult.RogzitoIntezmenyAzonosito;
|
||||
model.OsszefuzottMegjegyzesek = new List<TavolletjelentoMegjegyzesItem>();
|
||||
foreach (var megjegyzes in kozpontiResult.MegjegyzesekList)
|
||||
{
|
||||
var megjegyzesLine = string.Format("{0} ({1}) - {2}", megjegyzes.RogzitesIdopontja.ToString("yyyy.MM.dd HH:mm:ss"), megjegyzes.RogzitoNev, megjegyzes.Megjegyzes);
|
||||
model.OsszefuzottMegjegyzesek.Add(new TavolletjelentoMegjegyzesItem(megjegyzesLine, (megjegyzes.MegjegyzesTipus == MegjegyzesTipusok.Hianypotlas ? "hp" : "")));
|
||||
}
|
||||
var attribute = (StringLengthAttribute)typeof(TavolletjelentoModel).GetProperty(nameof(model.MegjegyzesMezo)).GetCustomAttributes(typeof(StringLengthAttribute), false).First();
|
||||
model.MegjegyzesMezoMaxHossza = attribute.MaximumLength;
|
||||
model.ViewType = TavolletjelentoViewTypeEnum.Modify;
|
||||
model.IsHianypotlas = model.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve || model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve;
|
||||
model.IsLeaderCall = helper.IsLeader();
|
||||
model.Muvelet = muvelet;
|
||||
|
||||
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator)
|
||||
|| helper.IsHrKezelo())
|
||||
model.IsAdminCall = true;
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public TavolletjelentoTobbesModel GetTobbesModifyTavolletjelentoModel(List<int> ids)
|
||||
{
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
var alkalmazottak = new List<TavolletAlkalmazottData>();
|
||||
var alkalmazottIds = new List<int>();
|
||||
var alkalmazottNevek = new List<string>();
|
||||
var tavolletekDict = new Dictionary<int, AlkalmazottAdat>();
|
||||
|
||||
foreach (var id in ids)
|
||||
{
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = id
|
||||
});
|
||||
}
|
||||
|
||||
var kozpontiResult = client.GetTavolletDetailList(new TavolletjelentoCRUDRequestModel { AlkalmazottList = alkalmazottak });
|
||||
|
||||
foreach (var alkalmazott in kozpontiResult.TavolletjelentoResultList)
|
||||
{
|
||||
alkalmazottIds.Add(alkalmazottHelper.GetAlkalmazottIdByGUID(alkalmazott.AlkalmazottGuid.ToString()));
|
||||
alkalmazottNevek.Add(alkalmazott.AlkalmazottNev);
|
||||
tavolletekDict.Add(alkalmazott.TavolletJelentoId, new AlkalmazottAdat { AlkalmazottSzTSz = alkalmazott.AlkalmazottSzTSz, RogzitoFunkcioTerulet = alkalmazott.RogzitoFunkcioTerulet });
|
||||
}
|
||||
|
||||
var model = new TavolletjelentoTobbesModel();
|
||||
var idArrayString = string.Join(",", ids);
|
||||
model.TavolletIDArrayString = idArrayString;
|
||||
model.TavolletAlkalmazottIdArrayString = string.Join(",", alkalmazottIds.Distinct());
|
||||
model.TavolletAlkalmazottNevArray = string.Join(", ", alkalmazottNevek.Distinct());
|
||||
model.TavolletekDictionary = tavolletekDict;
|
||||
|
||||
var firstTipusId = kozpontiResult.TavolletjelentoResultList.FirstOrDefault()?.TavolletTipusId;
|
||||
var firstTavolletKezdete = kozpontiResult.TavolletjelentoResultList.FirstOrDefault()?.TavolletKezdete;
|
||||
var firstTavolletVege = kozpontiResult.TavolletjelentoResultList.FirstOrDefault()?.TavolletVege;
|
||||
model.ElteroSorok = kozpontiResult.TavolletjelentoResultList.Any(i => i.TavolletTipusId != firstTipusId) ||
|
||||
kozpontiResult.TavolletjelentoResultList.Any(I => I.TavolletKezdete != firstTavolletKezdete) ||
|
||||
kozpontiResult.TavolletjelentoResultList.Any(i => i.TavolletVege != firstTavolletVege);
|
||||
|
||||
model.FelhasznaloTobbszorKivalasztva =
|
||||
kozpontiResult.TavolletjelentoResultList.Select(i => i.AlkalmazottGuid).Count() !=
|
||||
kozpontiResult.TavolletjelentoResultList.Select(i => i.AlkalmazottGuid).Distinct().Count();
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public TavolletjelentoCRUDRequestModel SaveOrUpdateTavollet(TavolletjelentoModel model, TavolletjelentoCO co)
|
||||
{
|
||||
//FIXME!!!4!!!!
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var HRModulHelper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var alkalmazottak = new List<TavolletAlkalmazottData>();
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
var aIds = model.AlkalmazottList.Select(int.Parse).Distinct().ToList();
|
||||
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(aIds);
|
||||
|
||||
if (model.AlkalmazottList.Length > 0 && model.Muvelet != WorkflowMuveletEnum.CsakModositas)
|
||||
{
|
||||
if (model.Muvelet != WorkflowMuveletEnum.Elutasitas)
|
||||
{
|
||||
foreach (var id in aIds)
|
||||
{
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = model.ID ?? default,
|
||||
RogzitoFunkcioTerulet = aa[id].FunkcioTerulet,
|
||||
AlkalmazottSzTSz = aa[id].AlkalmazottSzTSz,
|
||||
AlkalmazottGuid = aa[id].AlkalmazottGuid,
|
||||
AlkalmazottNev = aa[id].AlkalmazottNev,
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var alkalmazott in model.AlkalmazottList)
|
||||
{
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = model.ID ?? default,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (model.AlkalmazottList.Length > 0 && !model.ID.HasValue)
|
||||
{
|
||||
//foreach (var alkalmazott in model.AlkalmazottList)
|
||||
//{
|
||||
// alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
// {
|
||||
// TavolletJelentoId = default
|
||||
// });
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = model.ID.Value,
|
||||
RogzitoFunkcioTerulet = aa[aIds.First()].FunkcioTerulet,
|
||||
AlkalmazottSzTSz = aa[aIds.First()].AlkalmazottSzTSz,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var request = new TavolletjelentoCRUDRequestModel();
|
||||
request.AlkalmazottList = alkalmazottak;
|
||||
|
||||
if (co != null)
|
||||
{/*
|
||||
saveModel.Action = WorkflowMuveletek.Modosit;
|
||||
saveModel.TavolletTipusId = tobbesModel.TavolletOka.Value;
|
||||
saveModel.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
|
||||
saveModel.TavolletKezdete = tobbesModel.TavolletKezdet.Value.ToLocalTime();
|
||||
saveModel.TavolletVege = tobbesModel.TavolletVeg.Value.ToLocalTime();
|
||||
saveModel.TavolletIdotartamaNap = tobbesModel.TavolletIdotartamNap ?? default;
|
||||
saveModel.Megjegyzes = tobbesModel.Megjegyzes;
|
||||
saveModel.RogzitoNev = ClaimData.FelhasznaloNev;
|
||||
saveModel.RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId));
|
||||
saveModel.RogzitoIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
|
||||
*/
|
||||
request.KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
|
||||
request.KretaIntezmenyId = ClaimData.IntezmenyId;
|
||||
request.TanevId = tanevCo.Sorszam;
|
||||
//request.FunkcioTerulet = felhasznaloHelper.GetFunkcioTeruletSAPKod(ClaimData.FelhasznaloId);
|
||||
request.RogzitoIntezmenyAzonosito = ClaimData.IntezmenyAzonosito;
|
||||
request.RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId));
|
||||
request.RogzitoNev = ClaimData.FelhasznaloNev;// alkalmazottHelper.GetAlkalmazottNevById(ClaimData.FelhasznaloId); //ClaimData.FelhasznaloNev
|
||||
request.TavolletNaptariEv = DateTime.Now.Year; //TODO: ha következő évre rögzítünk, akkor az az év legyen?
|
||||
request.TavolletKezdete = model.TavolletKezdet.HasValue ? model.TavolletKezdet.Value.ToLocalTime() : default; //TODO
|
||||
request.TavolletVege = model.TavolletVeg.HasValue ? model.TavolletVeg.Value.ToLocalTime() : default; //TODO
|
||||
request.TavolletIdotartamaNap = model.TavolletIdotartamNap.Value;
|
||||
request.TavolletIdotartamaOra = 0;
|
||||
request.TavolletTipusId = model.TavolletOka ?? default; //TODO
|
||||
request.Megjegyzes = co.Megjegyzes;
|
||||
request.IsMellekletTartozikHozza = model.FilesArray != null && model.FilesArray.Count > 0;
|
||||
}
|
||||
|
||||
switch (model.Muvelet)
|
||||
{
|
||||
case WorkflowMuveletEnum.UjRogzites:
|
||||
if (HRModulHelper.IsIntezmenyvezeto(ClaimData.FelhasznaloId))
|
||||
{
|
||||
request.TavolletStatuszId = (int)HRModulHelper.GetElfogadasStatuszByTipus((TavolletTipusEnum)co.TavolletOkaId);
|
||||
}
|
||||
else
|
||||
{
|
||||
request.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
|
||||
}
|
||||
request.Action = WorkflowMuveletek.Letrehoz;
|
||||
break;
|
||||
case WorkflowMuveletEnum.CsakModositas:
|
||||
if (model.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve || model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve)
|
||||
{
|
||||
request.TavolletStatuszId = (int)TavolletStatuszEnum.Fuggo;
|
||||
}
|
||||
else
|
||||
{
|
||||
request.TavolletStatuszId = model.StatuszId;
|
||||
}
|
||||
request.Action = WorkflowMuveletek.Modosit;
|
||||
break;
|
||||
case WorkflowMuveletEnum.Hianypotlas:
|
||||
request.TavolletStatuszId = (int)TavolletStatuszEnum.HianypotlasraVisszakuldve;
|
||||
request.Action = WorkflowMuveletek.Hianypotlas;
|
||||
break;
|
||||
case WorkflowMuveletEnum.Elutasitas:
|
||||
request.TavolletStatuszId = (int)TavolletStatuszEnum.Elutasitva;
|
||||
request.Action = WorkflowMuveletek.Elutasit;
|
||||
break;
|
||||
}
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
public TavolletjelentoCRUDRequestModel ElfogadTavollet(TavolletjelentoModel model, TavolletjelentoCO co)
|
||||
{
|
||||
var alkalmazottak = new List<TavolletAlkalmazottData>();
|
||||
|
||||
if (model.AlkalmazottList.Length > 0)
|
||||
{
|
||||
foreach (var alkalmazott in model.AlkalmazottList)
|
||||
{
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = int.Parse(alkalmazott),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var request = new TavolletjelentoCRUDRequestModel();
|
||||
request.AlkalmazottList = alkalmazottak;
|
||||
request.TavolletTipusId = model.TavolletOka ?? 0;
|
||||
request.Action = WorkflowMuveletek.Modosit;
|
||||
request.TavolletKezdete = model.TavolletKezdet.HasValue ? model.TavolletKezdet.Value.ToLocalTime() : default;
|
||||
request.TavolletVege = model.TavolletVeg.HasValue ? model.TavolletVeg.Value.ToLocalTime() : default;
|
||||
request.TavolletStatuszId = model.StatuszId;
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
public TavolletjelentoCRUDRequestModel DeleteTavollet(TavolletjelentoDeleteModel model)
|
||||
{
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var felhasznaloHelper = new FelhasznaloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
//var megjegyzes = CreateTimestampedComment(model.Note);
|
||||
//if (!string.IsNullOrWhiteSpace(megjegyzes))
|
||||
//{
|
||||
// megjegyzes += string.IsNullOrWhiteSpace(megjegyzes) ? megjegyzes : "\n" + megjegyzes;
|
||||
//}
|
||||
|
||||
var alkalmazottak = new List<TavolletAlkalmazottData>();
|
||||
alkalmazottak.Add(new TavolletAlkalmazottData
|
||||
{
|
||||
TavolletJelentoId = model.Id
|
||||
});
|
||||
|
||||
var request = new TavolletjelentoCRUDRequestModel
|
||||
{
|
||||
AlkalmazottList = alkalmazottak,
|
||||
Megjegyzes = model.Note,
|
||||
Action = WorkflowMuveletek.Torol,
|
||||
RogzitoNev = alkalmazottHelper.GetAlkalmazottNevById(ClaimData.FelhasznaloId),
|
||||
RogzitoGuid = Guid.Parse(felhasznaloHelper.GetFelhasznaloEgyediAzonosito(ClaimData.FelhasznaloId))
|
||||
};
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
public void CustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ModelState, TavolletjelentoModel model)
|
||||
{
|
||||
if (model.AlkalmazottList.Length > 0)
|
||||
{
|
||||
var alkalmazottakSzTSzAzonositoNelkul = new List<string>();
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
foreach (var alkalmazott in model.AlkalmazottList)
|
||||
{
|
||||
if (!HasSZTSZKOD(Convert.ToInt32(alkalmazott)))
|
||||
{
|
||||
alkalmazottakSzTSzAzonositoNelkul.Add(alkalmazottHelper.GetAlkalmazottNevById(Convert.ToInt32(alkalmazott)));
|
||||
}
|
||||
}
|
||||
if (alkalmazottakSzTSzAzonositoNelkul.Count > 0)
|
||||
{
|
||||
ModelState.AddModelError("NincsSzTSzAzonositoError",
|
||||
string.Format(HRModulResource.NincsSzTSzAzonosito, string.Join(", ", alkalmazottakSzTSzAzonositoNelkul)));
|
||||
}
|
||||
}
|
||||
|
||||
if (model.AlkalmazottList.Length > 1 && model.FilesArray != null && model.FilesArray.Any())
|
||||
{
|
||||
ModelState.AddModelError("FilesArrayError", HRModulResource.WarnCsatolmanyNemRogzithetoTobbAlkalmazottnak);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(model.MegjegyzesMezo))
|
||||
{
|
||||
var attribute = (StringLengthAttribute)typeof(TavolletjelentoModel).GetProperty(nameof(model.Megjegyzes)).GetCustomAttributes(typeof(StringLengthAttribute), false).First();
|
||||
|
||||
if (model.MegjegyzesMezo.Length > attribute.MaximumLength)
|
||||
{
|
||||
ModelState.AddModelError("MegjegyzesMaxHossz", HRModulResource.MegjegyzesMax255Karakter);
|
||||
}
|
||||
}
|
||||
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
var tavolletJogosultSzerepkor = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Tavollet_Jogosult_Szerepkor);
|
||||
var error = true;
|
||||
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.alkalmazott && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Alkalmazott))
|
||||
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Pedagogus))
|
||||
|| ClaimData.IsAdministrator || helper.IsLeader() || helper.IsHrKezelo())
|
||||
{
|
||||
error = false;
|
||||
}
|
||||
if (error)
|
||||
{
|
||||
ModelState.AddModelError("JogosultsagError", HRModulResource.NincsJogosultsagaTavolletetRogziteni);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((DateTime.Now.Hour >= 16 && model.TavolletKezdet.HasValue && model.TavolletKezdet.Value.Day - 1 == DateTime.Now.Day)
|
||||
&& (!ClaimData.IsAdministrator || !helper.IsLeader()))
|
||||
{
|
||||
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.MaMarNemRogzithetTavolletetHolnapra);
|
||||
}
|
||||
}
|
||||
|
||||
if (!model.TavolletKezdet.HasValue)
|
||||
{
|
||||
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.TavolletKezdetKotelezo);
|
||||
}
|
||||
|
||||
if (!model.TavolletVeg.HasValue)
|
||||
{
|
||||
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.TavolletVegKotelezo);
|
||||
}
|
||||
|
||||
if (model.TavolletKezdet.Value > model.TavolletVeg.Value)
|
||||
{
|
||||
ModelState.AddModelError("DatumError", HRModulResource.KezdetNemLehetNagyobbAVegenel);
|
||||
}
|
||||
|
||||
if (model.TavolletKezdet.Value < DateTime.Now &&
|
||||
DateTime.Now.Day > 5 &&
|
||||
model.TavolletKezdet.Value.Month < DateTime.Now.Month &&
|
||||
model.TavolletKezdet.Value.Year == model.TavolletVeg.Value.Year)
|
||||
{
|
||||
ModelState.AddModelError("DatumError", HRModulResource.TavolletRogziteseNemLehetsegesAzAdottIdoszakban);
|
||||
}
|
||||
|
||||
if (!model.TavolletOka.HasValue)
|
||||
{
|
||||
ModelState.AddModelError("TavolletOkaError", HRModulResource.TavolletOkaKotelezo);
|
||||
}
|
||||
|
||||
if (model.AlkalmazottList.Length <= 0 && !model.ID.HasValue)
|
||||
{
|
||||
ModelState.AddModelError("AlkalmazottListError", HRModulResource.LegalabbEgyAlkalmazott);
|
||||
}
|
||||
}
|
||||
|
||||
public void CustomValidation(System.Web.Http.ModelBinding.ModelStateDictionary ModelState, TavolletjelentoTobbesModel model)
|
||||
{
|
||||
if (model.TavolletAlkalmazottIdArray.Length > 0)
|
||||
{
|
||||
var alkalmazottakSzTSzAzonositoNelkul = new List<string>();
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
foreach (var alkalmazott in model.TavolletAlkalmazottIdArray)
|
||||
{
|
||||
if (!HasSZTSZKOD(Convert.ToInt32(alkalmazott)))
|
||||
{
|
||||
alkalmazottakSzTSzAzonositoNelkul.Add(alkalmazottHelper.GetAlkalmazottNevById(Convert.ToInt32(alkalmazott)));
|
||||
}
|
||||
}
|
||||
if (alkalmazottakSzTSzAzonositoNelkul.Count > 0)
|
||||
{
|
||||
ModelState.AddModelError("NincsSzTSzAzonositoError",
|
||||
string.Format(HRModulResource.NincsSzTSzAzonosito, string.Join(", ", alkalmazottakSzTSzAzonositoNelkul)));
|
||||
}
|
||||
}
|
||||
|
||||
var HRModulHelper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tavolletJogosultSzerepkor = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Tavollet_Jogosult_Szerepkor);
|
||||
var error = true;
|
||||
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.alkalmazott && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Alkalmazott))
|
||||
|| (ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo && tavolletJogosultSzerepkor.Contains((int)TavolletJogosultSzerepkorEnum.Pedagogus))
|
||||
|| ClaimData.IsAdministrator || HRModulHelper.IsLeader())
|
||||
{
|
||||
error = false;
|
||||
}
|
||||
if (error)
|
||||
{
|
||||
ModelState.AddModelError("JogosultsagError", HRModulResource.NincsJogosultsagaTavolletetRogziteni);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((DateTime.Now.Hour >= 16 && model.TavolletKezdet.HasValue && model.TavolletKezdet.Value.Day - 1 == DateTime.Now.Day)
|
||||
&& (!ClaimData.IsAdministrator || !HRModulHelper.IsLeader()))
|
||||
{
|
||||
ModelState.AddModelError("RogzitesiIdoError", HRModulResource.MaMarNemRogzithetTavolletetHolnapra);
|
||||
}
|
||||
}
|
||||
|
||||
if (model.TavolletKezdet.Value > model.TavolletVeg.Value)
|
||||
{
|
||||
ModelState.AddModelError("DatumError", HRModulResource.KezdetNemLehetNagyobbAVegenel);
|
||||
}
|
||||
|
||||
if (model.TavolletAlkalmazottIdArray.Length <= 0)
|
||||
{
|
||||
ModelState.AddModelError("AlkalmazottListError", HRModulResource.LegalabbEgyAlkalmazott);
|
||||
}
|
||||
}
|
||||
|
||||
public TavolletjelentoModel ConvertCoToModel(TavolletjelentoCO co)
|
||||
{
|
||||
var model = new TavolletjelentoModel()
|
||||
{
|
||||
ID = co.ID ?? default(int),
|
||||
AlkalmazottFilterId = co.AlkalmazottId,
|
||||
StatuszId = co.StatuszId,
|
||||
RogzitoId = co.RogzitoId,
|
||||
TavolletOka = co.TavolletOkaId,
|
||||
AlkalmazottList = co.AlkalmazottList,
|
||||
AlkalmazottNeve = co.AlkalmazottNeve,
|
||||
TavolletKezdet = co.TavolletKezdet,
|
||||
TavolletVeg = co.TavolletVeg,
|
||||
TavolletIdotartamNap = co.TavolletIdotartamNap,
|
||||
StatuszNeve = co.StatuszNeve,
|
||||
RogzitoNeve = co.RogzitoNeve,
|
||||
Megjegyzes = co.Megjegyzes,
|
||||
HianypotlasSzoveg = co.HianypotlasSzoveg,
|
||||
KozpontiHianypotlasSzoveg = co.KozpontiHianypotlasSzoveg
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A model-ben az IsLeaderCall és az IsAdminCall frissítése szerveroldali értékkel!
|
||||
/// </summary>
|
||||
public TavolletjelentoModel UpdateModelAuthorizationData(TavolletjelentoModel model)
|
||||
{
|
||||
var helper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.IsLeaderCall = helper.IsLeader();
|
||||
if ((ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator)
|
||||
|| helper.IsHrKezelo())
|
||||
model.IsAdminCall = true;
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public TavolletjelentoCO ConvertModelToCo(TavolletjelentoModel model)
|
||||
{
|
||||
var co = new TavolletjelentoCO()
|
||||
{
|
||||
ID = model.ID ?? default(int),
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
StatuszId = model.StatuszId,
|
||||
TavolletOkaId = model.TavolletOka.Value,
|
||||
AlkalmazottList = model.AlkalmazottList,
|
||||
TavolletKezdet = model.TavolletKezdet.Value,
|
||||
TavolletVeg = model.TavolletVeg.Value,
|
||||
TavolletIdotartamNap = model.TavolletIdotartamNap.Value,
|
||||
Megjegyzes = model.MegjegyzesMezo,
|
||||
};
|
||||
|
||||
if (model.Muvelet == WorkflowMuveletEnum.Hianypotlas &&
|
||||
(model.StatuszId == (int)TavolletStatuszEnum.Fuggo || model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve) &&
|
||||
(model.IsLeaderCall || model.IsAdminCall))
|
||||
{
|
||||
co.StatuszId = (int)TavolletStatuszEnum.HianypotlasraVisszakuldve;
|
||||
}
|
||||
|
||||
if (model.Muvelet == WorkflowMuveletEnum.CsakModositas &&
|
||||
((model.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve && (model.IsLeaderCall || model.IsAdminCall || model.AlkalmazottList.First() == ClaimData.FelhasznaloId.ToString() || model.RogzitoId == ClaimData.FelhasznaloId)) ||
|
||||
model.StatuszId == (int)TavolletStatuszEnum.Tankerulet_altal_hianypotlasra_visszakuldve && model.IsLeaderCall))
|
||||
{
|
||||
co.StatuszId = (int)TavolletStatuszEnum.Fuggo;
|
||||
}
|
||||
|
||||
if (model.FilesArray?.Count > 0)
|
||||
{
|
||||
co.FilesArray = new List<CsatolmanyCO>();
|
||||
foreach (var item in model.FilesArray)
|
||||
{
|
||||
var index = item.ContentAsBase64EncodedString.IndexOf(',');
|
||||
|
||||
co.FilesArray.Add(new CsatolmanyCO() { Name = item.Name, ContentAsBase64EncodedString = item.ContentAsBase64EncodedString.Substring(index + 1) });
|
||||
}
|
||||
}
|
||||
|
||||
return co;
|
||||
}
|
||||
|
||||
public void SendEmail(TavolletjelentoCO co, Guid? eredetiRogzitoGuid = null)
|
||||
{
|
||||
var dateString = " - " + co.TavolletKezdet.ToShortDateString();
|
||||
if (co.TavolletKezdet.Date != co.TavolletVeg.Date)
|
||||
dateString += " - " + co.TavolletVeg.ToShortDateString();
|
||||
|
||||
var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var hrHelper = new HRModulHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var intezmenyVezetoData = alkHelper.GetAlkalmazottNeveEsEmailCime((int)EmailTipusEnum.Hivatalos,
|
||||
new List<int> { (int)VezetoiOraszamokTipusEnum.Intezmenyvezeto, (int)VezetoiOraszamokTipusEnum.igazgato }, null);
|
||||
|
||||
if (intezmenyVezetoData.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
var vezetoNev = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("Nev");
|
||||
var vezetoEmailCim = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("EmailCim");
|
||||
var vezetoEmailGuid = SDAConvert.ToNullableGuid(intezmenyVezetoData.Tables[0].Rows[0]["EmailGuid"]);
|
||||
|
||||
foreach (var item in co.AlkalmazottList)
|
||||
{
|
||||
var alkalmazottData = alkHelper.GetAlkalmazottNeveEsEmailCime((int)EmailTipusEnum.Hivatalos, null, int.Parse(item));
|
||||
var alkalmazottNev = alkalmazottData.Tables[0].Rows[0].Field<string>("Nev");
|
||||
var alkalmazottEmail = alkalmazottData.Tables[0].Rows[0].Field<string>("EmailCim");
|
||||
var alkalmazottEmailGuid = SDAConvert.ToNullableGuid(alkalmazottData.Tables[0].Rows[0]["EmailGuid"]);
|
||||
var tavolletOka = hrHelper.GetTavolletOkaDictionaryItemName(co.TavolletOkaId);
|
||||
var helper = new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
if (co.StatuszId == 0 && string.IsNullOrWhiteSpace(co.HianypotlasSzoveg) && !string.IsNullOrWhiteSpace(vezetoEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(
|
||||
string.Format(EmailResource.TavolletIgenylesFeladasContent, vezetoNev, alkalmazottNev, tavolletOka, dateString),
|
||||
EmailResource.TavolletIgenylesFeladasSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
|
||||
}
|
||||
else if (co.StatuszId == (int)TavolletStatuszEnum.Fuggo && string.IsNullOrWhiteSpace(co.HianypotlasSzoveg) && !string.IsNullOrWhiteSpace(vezetoEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(
|
||||
string.Format(EmailResource.TavolletIgenylesModositasContent, vezetoNev, alkalmazottNev, tavolletOka, dateString),
|
||||
EmailResource.TavolletIgenylesModositasSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
|
||||
}
|
||||
else if (co.StatuszId == (int)TavolletStatuszEnum.Fuggo && !string.IsNullOrWhiteSpace(co.HianypotlasSzoveg) && !string.IsNullOrWhiteSpace(vezetoEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(
|
||||
string.Format(EmailResource.TavolletIgenylesHPUjraKuldesContent, vezetoNev, alkalmazottNev, tavolletOka, dateString, co.HianypotlasSzoveg),
|
||||
EmailResource.TavolletIgenylesHPUjraKuldesSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
|
||||
}
|
||||
else if (co.StatuszId == (int)TavolletStatuszEnum.HianypotlasraVisszakuldve)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(alkalmazottEmail))
|
||||
{
|
||||
helper.EmailKuldes(
|
||||
string.Format(EmailResource.TavolletIgenylesHPKuldesContent, alkalmazottNev, alkalmazottNev, tavolletOka, dateString, co.HianypotlasSzoveg),
|
||||
EmailResource.TavolletIgenylesHPKuldesSubject + dateString, alkalmazottEmail, alkalmazottEmailGuid);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(vezetoEmailCim) && (vezetoEmailCim != alkalmazottEmail))
|
||||
{
|
||||
helper.EmailKuldes(
|
||||
string.Format(EmailResource.TavolletIgenylesHPKuldesContent, vezetoNev, alkalmazottNev, tavolletOka, dateString, co.HianypotlasSzoveg),
|
||||
EmailResource.TavolletIgenylesHPKuldesSubject + dateString, vezetoEmailCim, vezetoEmailGuid);
|
||||
}
|
||||
|
||||
if (eredetiRogzitoGuid != null)
|
||||
{
|
||||
var rogzitoData = hrHelper.GetAlkalmazottEmailDataByGuid(eredetiRogzitoGuid.Value);
|
||||
if (rogzitoData != null && !string.IsNullOrWhiteSpace(rogzitoData.EmailCim) && (rogzitoData.EmailCim != alkalmazottEmail) && (rogzitoData.EmailCim != vezetoEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesHPKuldesContent, rogzitoData.AlkalmazottNev, alkalmazottNev, tavolletOka, dateString), EmailResource.TavolletIgenylesHPKuldesSubject + dateString, rogzitoData.EmailCim, rogzitoData.EmailGuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SendEmail(TavolletAlkalmazottResponseData tavolletAlkalmazottData, int statuszId, Guid? rogzitoGuid = null)
|
||||
{
|
||||
var hrHelper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var helper = new UzenetekHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
var emailData = hrHelper.GetAlkalmazottEmailDataByGuid(tavolletAlkalmazottData.AlkalmazottGuid);
|
||||
var alkalmazottEmailCim = emailData?.EmailCim;
|
||||
var alkalmazottEmailGuid = emailData?.EmailGuid;
|
||||
var alkalmazottNeve = tavolletAlkalmazottData.AlkalmazottNev;
|
||||
var tipus = tavolletAlkalmazottData.TavolletTipusId.GetDisplayName<TavolletTipusEnum>(ClaimData.SelectedTanevID.Value);
|
||||
var idoszak = string.Format("{0} - {1}", tavolletAlkalmazottData.TavolletKezdete.ToString("yyyy-MM-dd"), tavolletAlkalmazottData.TavolletVege.ToString("yyyy-MM-dd"));
|
||||
List<int> elfogadasStatuszok = new List<int>
|
||||
{
|
||||
TavolletStatuszEnum.Elfogadva_atadva_tankeruletnek.AsInt(),
|
||||
TavolletStatuszEnum.Engedelyezve_atadva_tankeruletnek.AsInt(),
|
||||
TavolletStatuszEnum.Tudomasul_veve_atadva_tankeruletnek.AsInt()
|
||||
};
|
||||
|
||||
if (elfogadasStatuszok.Contains(statuszId) && !string.IsNullOrWhiteSpace(alkalmazottEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(string.Format(
|
||||
@"Tisztelt {0}!
|
||||
<br /><br />
|
||||
A KRÉTA rendszerben az alábbi távollét igény került elfogadásra:
|
||||
<br /><br />
|
||||
Távollétet igénylő alkalmazott: {0}<br />
|
||||
Távollét jogcíme: {1}<br />
|
||||
Távollét időtartama: {2}
|
||||
<br /><br />
|
||||
", alkalmazottNeve, tipus, idoszak), "Elfogadott távollét igénylés - " + idoszak, alkalmazottEmailCim, alkalmazottEmailGuid);
|
||||
}
|
||||
else if (statuszId == (int)TavolletStatuszEnum.Elutasitva)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(alkalmazottEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesElutasitasContent, alkalmazottNeve, alkalmazottNeve, tipus, idoszak), string.Format(EmailResource.TavolletIgenylesElutasitasSubject, idoszak), alkalmazottEmailCim, alkalmazottEmailGuid);
|
||||
}
|
||||
|
||||
var alkHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var intezmenyVezetoData = alkHelper.GetAlkalmazottNeveEsEmailCime((int)EmailTipusEnum.Hivatalos,
|
||||
new List<int> { (int)VezetoiOraszamokTipusEnum.Intezmenyvezeto, (int)VezetoiOraszamokTipusEnum.igazgato }, null);
|
||||
|
||||
string vezetoEmailCim = null;
|
||||
if (intezmenyVezetoData.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
var vezetoNev = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("Nev");
|
||||
vezetoEmailCim = intezmenyVezetoData.Tables[0].Rows[0].Field<string>("EmailCim");
|
||||
var vezetoEmailGuid = SDAConvert.ToNullableGuid(intezmenyVezetoData.Tables[0].Rows[0]["EmailGuid"]);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(vezetoEmailCim) && (vezetoEmailCim != alkalmazottEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesElutasitasContent, vezetoNev, alkalmazottNeve, tipus, idoszak), string.Format(EmailResource.TavolletIgenylesElutasitasSubject, idoszak), vezetoEmailCim, vezetoEmailGuid);
|
||||
}
|
||||
}
|
||||
|
||||
if (rogzitoGuid != null)
|
||||
{
|
||||
var rogzitoData = hrHelper.GetAlkalmazottEmailDataByGuid(rogzitoGuid.Value);
|
||||
if (rogzitoData != null && !string.IsNullOrWhiteSpace(rogzitoData.EmailCim) && (rogzitoData.EmailCim != alkalmazottEmailCim) && (rogzitoData.EmailCim != vezetoEmailCim))
|
||||
{
|
||||
helper.EmailKuldes(string.Format(EmailResource.TavolletIgenylesElutasitasContent, rogzitoData.AlkalmazottNev, alkalmazottNeve, tipus, idoszak), string.Format(EmailResource.TavolletIgenylesElutasitasSubject, idoszak), rogzitoData.EmailCim, rogzitoData.EmailGuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasSZTSZKOD(int userId)
|
||||
{
|
||||
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasSZTSZKOD(userId);
|
||||
}
|
||||
|
||||
public string GetSZTSZKOD(int felhasznaloId)
|
||||
{
|
||||
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSZTSZKOD(felhasznaloId);
|
||||
}
|
||||
|
||||
public bool HasValidMunkaviszony(int userId)
|
||||
{
|
||||
return new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType()).HasValidMunkaviszony(userId);
|
||||
}
|
||||
|
||||
public TavolletjelentoListaResponseModel GetTavolletjelentoLista(TavolletjelentoSearchModel model, HRModulHelper helper)
|
||||
{
|
||||
var isLeader = helper.IsLeader();
|
||||
|
||||
if (!model.SrcKezeles || (!isLeader && ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator && !helper.IsHrKezelo()))
|
||||
{
|
||||
model.SrcAlkalmazott = new int[] { ClaimData.FelhasznaloId };
|
||||
}
|
||||
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var tanevCo = tanev.GetTanevInfo();
|
||||
|
||||
var kozpontiKreta = (KozpontiKretaConfiguration)ConfigurationManager.GetSection("KozpontiKretaConfig");
|
||||
var client = new TavolletClient(kozpontiKreta.KgrUrl, kozpontiKreta.ApiKey);
|
||||
return client.GetTavolletek(model.ConvertToTavolletjelentoListaRequestModel(tanevCo.Sorszam));
|
||||
}
|
||||
}
|
||||
|
||||
public class TavolletjelentoMegjegyzesItem
|
||||
{
|
||||
public string CommentContent { get; set; }
|
||||
public string CommentTypeClass { get; set; }
|
||||
|
||||
public TavolletjelentoMegjegyzesItem(string megjegyzes, string type)
|
||||
{
|
||||
CommentContent = megjegyzes;
|
||||
CommentTypeClass = type;
|
||||
}
|
||||
}
|
||||
|
||||
public static class DateTimeExtensions
|
||||
{
|
||||
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
|
||||
{
|
||||
int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7;
|
||||
return dt.AddDays(-1 * diff).Date;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletAlkalmazottGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Alkalmazott), ResourceType = typeof(HRModulResource))]
|
||||
public string AlkalmazottNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.SzTSzAzonosito), ResourceType = typeof(HRModulResource))]
|
||||
public string SzTSzAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.FoIntezmenyeE), ResourceType = typeof(HRModulResource))]
|
||||
public string IsFointezmenyeE_BNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.EvesSzabadsagKeret), ResourceType = typeof(HRModulResource))]
|
||||
public int SzabadsagKeret { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.IgenybeVehetoTavolletek), ResourceType = typeof(HRModulResource))]
|
||||
public int IgenybeVehetoTavolletek { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.IgenybeVettTavolletek), ResourceType = typeof(HRModulResource))]
|
||||
public int IgenybeVettTavolletek { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.FuggobenLevoTavolletek), ResourceType = typeof(HRModulResource))]
|
||||
public int FuggobenLevoTavolletek { get; set; }
|
||||
}
|
||||
}
|
33
KretaWeb/Areas/HRModul/Models/TavolletListaGridModel.cs
Normal file
33
KretaWeb/Areas/HRModul/Models/TavolletListaGridModel.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletListaGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Alkalmazott), ResourceType = typeof(HRModulResource))]
|
||||
public string AlkalmazottNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.SzTSzAzonosito), ResourceType = typeof(HRModulResource))]
|
||||
public string SzTSzAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletKezdet), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime IdoszakKezdet { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletVeg), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime IdoszakVeg { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletOka), ResourceType = typeof(HRModulResource))]
|
||||
public string TipusId_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.EvesSzabadsagKeret), ResourceType = typeof(HRModulResource))]
|
||||
public int EvesSzabadsagKeret { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletIdotartamNap), ResourceType = typeof(HRModulResource))]
|
||||
public int TavolletIdotartamNap { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletListaSearchModel : TavolletSearchBaseModel
|
||||
{
|
||||
}
|
||||
}
|
196
KretaWeb/Areas/HRModul/Models/TavolletSearchBaseModel.cs
Normal file
196
KretaWeb/Areas/HRModul/Models/TavolletSearchBaseModel.cs
Normal file
|
@ -0,0 +1,196 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.SAP.CommunicationModels;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletSearchBaseModel
|
||||
{
|
||||
public bool SrcKezeles { get; set; }
|
||||
public bool SrcIsAdminCall { get; set; }
|
||||
public bool SrcIsLeaderCall { get; set; }
|
||||
|
||||
public int SzabadsagKeret { get; set; }
|
||||
public string SzabadsagKeretDisplayValue => this.SzabadsagKeret <= 0 ? "-" : this.SzabadsagKeret.ToString();
|
||||
public int IgenybeVehetoTavolletek { get; set; }
|
||||
public string IgenybeVehetoTavolletekDisplayValue => this.IgenybeVehetoTavolletek <= 0 ? "-" : this.IgenybeVehetoTavolletek.ToString();
|
||||
public int IgenybeVettTavolletek { get; set; }
|
||||
public int FuggobenLevoTavolletek { get; set; }
|
||||
public string SzTSzAzonosito { get; set; }
|
||||
public string UtolsoSzinkronDisplayValue => UtolsoSzinkron.HasValue ? SDAFormat.GetShortDateFormat(UtolsoSzinkron.Value) : "-";
|
||||
public DateTime? UtolsoSzinkron { get; set; }
|
||||
public bool IsTavolletFoIntezmenye { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletOka), ResourceType = typeof(HRModulResource))]
|
||||
public int? SrcTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.AlkalmazottAk), ResourceType = typeof(HRModulResource))]
|
||||
public int[] SrcAlkalmazott { get; set; }
|
||||
public string[] SzTSzArray { get; set; }
|
||||
|
||||
public int? AlkalmazottFilterId { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Statusz), ResourceType = typeof(HRModulResource))]
|
||||
public int? SrcStatusz { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletRogzitesEve), ResourceType = typeof(HRModulResource))]
|
||||
public int[] SrcNaptariEv { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletKezdet), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? SrcIdoszakKezdet { get; set; }
|
||||
|
||||
public DateTime MinimumSrcIdoszakKezdet { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletVeg), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? SrcIdoszakVeg { get; set; }
|
||||
|
||||
public DateTime MinimumSrcIdoszakVeg { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.RogzitesDatuma), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? SrcRogzitesDatumaTol { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.RogzitesDatuma), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? SrcRogzitesDatumaIg { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.MelleklettelRendelkezik), ResourceType = typeof(HRModulResource))]
|
||||
public int? SrcMelleklettelRendelkezik { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.FoIntezmenyeE), ResourceType = typeof(HRModulResource))]
|
||||
public int? SrcFoIntezmenyeE { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.ToroltekMegjelenitese), ResourceType = typeof(HRModulResource))]
|
||||
public int? SrcToroltekMegjelenitese { get; set; }
|
||||
|
||||
internal TavolletSearchCo ConvertToCo()
|
||||
{
|
||||
return ConvertToCo(ClaimData.IntezmenyId, ClaimData.IntezmenyAzonosito, ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
|
||||
internal TavolletSearchCo ConvertToCo(int intezmenyId, string intezmenyAzonosito, int tanevId)
|
||||
{
|
||||
return new TavolletSearchCo()
|
||||
{
|
||||
NaptariEv = (SrcNaptariEv != null && SrcNaptariEv.Length > 0) ? SrcNaptariEv : new int[] { DateTime.Now.Year },
|
||||
HivoAlkalmazottId = ClaimData.FelhasznaloId,
|
||||
TanevId = tanevId,
|
||||
IntezmenyId = intezmenyId,
|
||||
IntezmenyAzonosito = intezmenyAzonosito,
|
||||
TipusId = SrcTipus,
|
||||
AlkalmazottIdArray = SrcAlkalmazott,
|
||||
StatuszId = SrcStatusz,
|
||||
TavolletKezdete = SrcIdoszakKezdet,
|
||||
TavolletVege = SrcIdoszakVeg,
|
||||
RogzitesDatumaTol = SrcRogzitesDatumaTol,
|
||||
RogzitesDatumaIg = SrcRogzitesDatumaIg.HasValue ? SrcRogzitesDatumaIg.Value.Date.AddDays(1).AddSeconds(-1) : SrcRogzitesDatumaIg,
|
||||
MelleklettelRendelkezik = (!SrcMelleklettelRendelkezik.HasValue ? (bool?)null : SrcMelleklettelRendelkezik.Value == (int)IgenNemEnum.Igen),
|
||||
FoIntezmenyeE = (!SrcFoIntezmenyeE.HasValue ? (bool?)null : SrcFoIntezmenyeE.Value == (int)IgenNemEnum.Igen),
|
||||
ToroltekMegjelenitese = SrcToroltekMegjelenitese.HasValue && SrcToroltekMegjelenitese.Value == (int)IgenNemEnum.Igen,
|
||||
};
|
||||
}
|
||||
|
||||
internal TavolletjelentoListaRequestModel ConvertToTavolletjelentoListaRequestModel(int tanevId)
|
||||
{
|
||||
if (SrcAlkalmazott?.Length > 0)
|
||||
{
|
||||
var aIds = SrcAlkalmazott.ToList();
|
||||
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(aIds);
|
||||
|
||||
var szTSzArray = new List<string>();
|
||||
|
||||
foreach (var alkalmazott in aa)
|
||||
{
|
||||
var sztszKod = alkalmazott.Value.AlkalmazottSzTSz;
|
||||
if (!string.IsNullOrWhiteSpace(sztszKod))
|
||||
{
|
||||
szTSzArray.Add(sztszKod);
|
||||
}
|
||||
}
|
||||
|
||||
SzTSzArray = szTSzArray.ToArray();
|
||||
}
|
||||
|
||||
return new TavolletjelentoListaRequestModel
|
||||
{
|
||||
NaptariEv = ((SrcNaptariEv != null) && (SrcNaptariEv.Length > 0)) ? SrcNaptariEv : new int[] { DateTime.Now.Year },
|
||||
HivoAlkalmazottId = ClaimData.FelhasznaloId,
|
||||
TanevId = tanevId,
|
||||
KretaIntezmenyId = ClaimData.IntezmenyId,
|
||||
KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
||||
TavolletTipusId = SrcTipus,
|
||||
AlkalmazottIdArray = SrcAlkalmazott,
|
||||
SzTSzArray = SzTSzArray,
|
||||
TavolletStatuszId = SrcStatusz,
|
||||
IdoszakKezdet = SrcIdoszakKezdet,
|
||||
IdoszakVeg = SrcIdoszakVeg,
|
||||
RogzitesDatumaTol = SrcRogzitesDatumaTol,
|
||||
RogzitesDatumaIg = SrcRogzitesDatumaIg.HasValue ? SrcRogzitesDatumaIg.Value.Date.AddDays(1).AddSeconds(-1) : SrcRogzitesDatumaIg,
|
||||
IsMelleklettelRendelkezik = (!SrcMelleklettelRendelkezik.HasValue ? (bool?)null : SrcMelleklettelRendelkezik.Value == (int)IgenNemEnum.Igen),
|
||||
IsFoIntezmenyeE = SrcKezeles ? (SrcFoIntezmenyeE.HasValue ? SrcFoIntezmenyeE.Value == IgenNemEnum.Igen.AsInt() : (bool?)null) : IsTavolletFoIntezmenye,
|
||||
IsToroltekMegjelenitese = SrcToroltekMegjelenitese.HasValue && SrcToroltekMegjelenitese.Value == (int)IgenNemEnum.Igen,
|
||||
};
|
||||
}
|
||||
|
||||
internal TavolletAdatokRequestModel ConvertToTavolletAdatokRequestModel(int tanevId, int? felhasznaloId = null)
|
||||
{
|
||||
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
if (!ClaimData.IsDefaultAdminUser && felhasznaloId.HasValue)
|
||||
{
|
||||
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(new List<int> { felhasznaloId.Value });
|
||||
|
||||
foreach (var alkalmazott in aa)
|
||||
{
|
||||
SzTSzArray = new string[] { alkalmazott.Value.AlkalmazottSzTSz };
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (SrcAlkalmazott?.Length > 0)
|
||||
{
|
||||
var aIds = SrcAlkalmazott.ToList();
|
||||
|
||||
var aa = alkalmazottHelper.GetAlkalmazottIDTavolletAlkalmazott(aIds);
|
||||
|
||||
var szTSzArray = new List<string>();
|
||||
|
||||
foreach (var alkalmazott in aa)
|
||||
{
|
||||
var sztszKod = alkalmazott.Value.AlkalmazottSzTSz;
|
||||
if (!string.IsNullOrWhiteSpace(sztszKod))
|
||||
{
|
||||
szTSzArray.Add(sztszKod);
|
||||
}
|
||||
}
|
||||
|
||||
SzTSzArray = szTSzArray.ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
SzTSzArray = null;
|
||||
}
|
||||
}
|
||||
|
||||
return new TavolletAdatokRequestModel
|
||||
{
|
||||
NaptariEv = ((SrcNaptariEv != null) && (SrcNaptariEv.Length > 0)) ? SrcNaptariEv : new int[] { DateTime.Now.Year },
|
||||
TanevId = tanevId,
|
||||
KretaIntezmenyId = ClaimData.IntezmenyId,
|
||||
KretaIntezmenyAzonosito = ClaimData.IntezmenyAzonosito,
|
||||
AlkalmazottIdArray = SrcAlkalmazott,
|
||||
SzTSzArray = SzTSzArray,
|
||||
IsFoIntezmeny = SrcFoIntezmenyeE.HasValue ? SrcFoIntezmenyeE.Value == IgenNemEnum.Igen.AsInt() : (bool?)null,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
11
KretaWeb/Areas/HRModul/Models/TavolletjelentoDateModel.cs
Normal file
11
KretaWeb/Areas/HRModul/Models/TavolletjelentoDateModel.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoDateModel
|
||||
{
|
||||
public DateTime? TavolletKezdet { get; set; }
|
||||
|
||||
public DateTime? TavolletVeg { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoDeleteModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Note { get; set; }
|
||||
}
|
||||
}
|
19
KretaWeb/Areas/HRModul/Models/TavolletjelentoDokGridModel.cs
Normal file
19
KretaWeb/Areas/HRModul/Models/TavolletjelentoDokGridModel.cs
Normal file
|
@ -0,0 +1,19 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoDokGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.DokumentumNev), ResourceType = typeof(HRModulResource))]
|
||||
public string DokumentumNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Iktatoszam), ResourceType = typeof(HRModulResource))]
|
||||
public string Iktatoszam { get; set; }
|
||||
|
||||
public string IsDokumentum { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoElfogadasModel
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public TavolletTipusEnum TipusId { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoElutasitasModel
|
||||
{
|
||||
public int ID { get; set; }
|
||||
|
||||
public Guid RogzitoGuid { get; set; }
|
||||
}
|
||||
}
|
55
KretaWeb/Areas/HRModul/Models/TavolletjelentoGridModel.cs
Normal file
55
KretaWeb/Areas/HRModul/Models/TavolletjelentoGridModel.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
public int TipusId { get; set; }
|
||||
public string StatuszId { get; set; }
|
||||
public string AlkalmazottId { get; set; }
|
||||
public string AlkalmazottGuid { get; set; }
|
||||
public string RogzitoId { get; set; }
|
||||
public string RogzitoGuid { get; set; }
|
||||
public bool Torolt_BOOL { get; set; }
|
||||
public string ToroltStatusz { get { return HRModulResource.Torolt; } }
|
||||
public bool IsTorolheto { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Alkalmazott), ResourceType = typeof(HRModulResource))]
|
||||
public string AlkalmazottNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.SzTSzAzonosito), ResourceType = typeof(HRModulResource))]
|
||||
public string SzTSzAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletKezdet), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime IdoszakKezdet { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletVeg), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime IdoszakVeg { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.MelleklettelRendelkezik), ResourceType = typeof(HRModulResource))]
|
||||
public bool HasMelleklet_BOOL { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.MelleklettelRendelkezik), ResourceType = typeof(HRModulResource))]
|
||||
public string HasMelleklet_BNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.RogzitesDatuma), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime RogzitesDatuma { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletIdotartamNap), ResourceType = typeof(HRModulResource))]
|
||||
public int? MunkanapSzam { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.HatralevoSzabadnapokSzama), ResourceType = typeof(HRModulResource))]
|
||||
public int? HatralevoNapokSzama { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Statusz), ResourceType = typeof(HRModulResource))]
|
||||
public string StatuszId_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.TavolletOka), ResourceType = typeof(HRModulResource))]
|
||||
public string TipusId_DNAME { get; set; }
|
||||
}
|
||||
}
|
74
KretaWeb/Areas/HRModul/Models/TavolletjelentoModel.cs
Normal file
74
KretaWeb/Areas/HRModul/Models/TavolletjelentoModel.cs
Normal file
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.HRModul.Logic;
|
||||
using Kreta.Web.Areas.UgyfelSzolgalat.Models;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoModel
|
||||
{
|
||||
public int? ID { get; set; }
|
||||
public bool IsKezeles { get; set; }
|
||||
public bool IsAdminCall { get; set; }
|
||||
public bool IsLeaderCall { get; set; }
|
||||
public bool IsHianypotlas { get; set; }
|
||||
public bool IsNemRogzitoIntezmeny { get; set; }
|
||||
public int StatuszId { get; set; }
|
||||
public int RogzitoId { get; set; }
|
||||
public Guid? EredetiRogzitoGuid { get; set; }
|
||||
public DateTime MinKezdet { get; set; }
|
||||
public WorkflowMuveletEnum Muvelet { get; set; }
|
||||
public TavolletjelentoViewTypeEnum ViewType { get; set; }
|
||||
public List<CsatolmanyModel> FilesArray { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletOkaKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletOka), ResourceType = typeof(HRModulResource))]
|
||||
public int? TavolletOka { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.AlkalmazottListKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.AlkalmazottAk), ResourceType = typeof(HRModulResource))]
|
||||
public string[] AlkalmazottList { get; set; }
|
||||
public int? AlkalmazottFilterId { get; set; }
|
||||
[Display(Name = nameof(HRModulResource.AlkalmazottAk), ResourceType = typeof(HRModulResource))]
|
||||
public string AlkalmazottNeve { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletIdotartamNapKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletIdotartamNap), ResourceType = typeof(HRModulResource))]
|
||||
public int? TavolletIdotartamNap { get; set; }
|
||||
|
||||
[StringLength(1000, ErrorMessageResourceName = nameof(HRModulResource.HianypotlasSzovegMaxKarakter), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.HianypotlasSzoveg), ResourceType = typeof(HRModulResource))]
|
||||
public string HianypotlasSzoveg { get; set; }
|
||||
|
||||
public string KozpontiHianypotlasSzoveg { get; set; }
|
||||
|
||||
[StringLength(255, ErrorMessageResourceName = nameof(HRModulResource.MegjegyzesMaxKarakter), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.Megjegyzes), ResourceType = typeof(HRModulResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
public int MegjegyzesMezoMaxHossza { get; set; }
|
||||
[StringLength(255, ErrorMessageResourceName = nameof(HRModulResource.MegjegyzesMaxKarakter), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.UjMegjegyzes), ResourceType = typeof(HRModulResource))]
|
||||
public string MegjegyzesMezo { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Megjegyzes), ResourceType = typeof(HRModulResource))]
|
||||
public IList<TavolletjelentoMegjegyzesItem> OsszefuzottMegjegyzesek { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletKezdetKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletKezdet), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? TavolletKezdet { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletVegKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletVeg), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? TavolletVeg { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.Statusz), ResourceType = typeof(HRModulResource))]
|
||||
public string StatuszNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(HRModulResource.RogzitoNeve), ResourceType = typeof(HRModulResource))]
|
||||
public string RogzitoNeve { get; set; }
|
||||
}
|
||||
}
|
55
KretaWeb/Areas/HRModul/Models/TavolletjelentoSearchModel.cs
Normal file
55
KretaWeb/Areas/HRModul/Models/TavolletjelentoSearchModel.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
using System.Collections.Generic;
|
||||
using Kreta.Enums;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoSearchModel : TavolletSearchBaseModel
|
||||
{
|
||||
public bool SrcTavolletRogzitheto { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Azoknak a TavolletTipus-oknak a listája, amiknél 'Engedélyezem' szöveg fog megjelenni
|
||||
/// </summary>
|
||||
public IList<int> EngedelyezList
|
||||
{
|
||||
get
|
||||
{
|
||||
return 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
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
48
KretaWeb/Areas/HRModul/Models/TavolletjelentoTobbesModel.cs
Normal file
48
KretaWeb/Areas/HRModul/Models/TavolletjelentoTobbesModel.cs
Normal file
|
@ -0,0 +1,48 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.HRModul.Models
|
||||
{
|
||||
public class TavolletjelentoTobbesModel
|
||||
{
|
||||
public bool ElteroSorok { get; set; }
|
||||
public bool FelhasznaloTobbszorKivalasztva { get; set; }
|
||||
public string TavolletIDArrayString { get; set; }
|
||||
|
||||
public Dictionary<int, AlkalmazottAdat> TavolletekDictionary { get; set; }
|
||||
public string[] TavolletIdArray => TavolletIDArrayString?.Split(',');
|
||||
public string TavolletAlkalmazottIdArrayString { get; set; }
|
||||
public string[] TavolletAlkalmazottIdArray => this.TavolletAlkalmazottIdArrayString?.Split(',');
|
||||
|
||||
[Display(Name = nameof(HRModulResource.KivalasztottAlkalmazottak), ResourceType = typeof(HRModulResource))]
|
||||
public string TavolletAlkalmazottNevArray { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletOkaKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletOka), ResourceType = typeof(HRModulResource))]
|
||||
public int? TavolletOka { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletIdotartamNapKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletIdotartamNap), ResourceType = typeof(HRModulResource))]
|
||||
public int? TavolletIdotartamNap { get; set; }
|
||||
|
||||
[StringLength(255, ErrorMessageResourceName = nameof(HRModulResource.MegjegyzesMax255Karakter), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.Megjegyzes), ResourceType = typeof(HRModulResource))]
|
||||
public string MegjegyzesMezo { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletKezdetKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletKezdet), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? TavolletKezdet { get; set; }
|
||||
|
||||
[Required(ErrorMessageResourceName = nameof(HRModulResource.TavolletVegKotelezo), ErrorMessageResourceType = typeof(HRModulResource))]
|
||||
[Display(Name = nameof(HRModulResource.TavolletVeg), ResourceType = typeof(HRModulResource))]
|
||||
public DateTime? TavolletVeg { get; set; }
|
||||
}
|
||||
|
||||
public class AlkalmazottAdat
|
||||
{
|
||||
public string AlkalmazottSzTSz { get; set; }
|
||||
public string RogzitoFunkcioTerulet { get; set; }
|
||||
}
|
||||
}
|
38
KretaWeb/Areas/HRModul/Views/Shared/_InfoBar.cshtml
Normal file
38
KretaWeb/Areas/HRModul/Views/Shared/_InfoBar.cshtml
Normal file
|
@ -0,0 +1,38 @@
|
|||
@using Kreta.Web.Areas.HRModul.Models;
|
||||
@using Kreta.Web.Security;
|
||||
@using Kreta.Resources;
|
||||
|
||||
@model TavolletSearchBaseModel
|
||||
|
||||
@{
|
||||
var keretWarnClass = "";
|
||||
if (Model.SzabadsagKeret < Model.IgenybeVettTavolletek + Model.FuggobenLevoTavolletek) { keretWarnClass = "keretWarn"; }
|
||||
}
|
||||
|
||||
@if (!ClaimData.IsDefaultAdminUser)
|
||||
{
|
||||
<div class="parent">
|
||||
<div class="child keretHead">
|
||||
<span>
|
||||
@HRModulResource.SajatAdatok:
|
||||
<span class="kretaLabelTooltip kretaLabelTooltipForLabel @keretWarnClass">
|
||||
<img class="kretaLabelTooltipImg" />
|
||||
<span class="kretaLabelTooltipText">@HRModulResource.WarnKeretTullepes</span>
|
||||
|
||||
</span>
|
||||
</span>
|
||||
<label class="windowInputLabel">@System.DateTime.Now.Year</label>
|
||||
</div>
|
||||
<div class="child"><span>@HRModulResource.EvesSzabadsagKeret:</span><label class="windowInputLabel @keretWarnClass">@Model.SzabadsagKeretDisplayValue nap</label></div>
|
||||
<div class="child"><span>@HRModulResource.IgenybeVehetoSzabadsagnapokSzama:
|
||||
<span class="kretaLabelTooltip kretaLabelTooltipForLabel">
|
||||
<img class="kretaLabelTooltipImg" />
|
||||
<span class="kretaLabelTooltipText">@HRModulResource.InfoFelhasznalhatoKeret</span>
|
||||
</span>
|
||||
</span><label class="windowInputLabel">@Model.IgenybeVehetoTavolletekDisplayValue nap</label></div>
|
||||
<div class="child"><span>@HRModulResource.IgenybeVettSzabadsagnapokSzama:</span><label class="windowInputLabel @keretWarnClass">@Model.IgenybeVettTavolletek nap</label></div>
|
||||
<div class="child"><span>@HRModulResource.FuggobenLevoNapokSzama:</span><label class="windowInputLabel @keretWarnClass">@Model.FuggobenLevoTavolletek nap</label></div>
|
||||
<div class="child"><span>@HRModulResource.SzTSzAzonosito:</span><label class="windowInputLabel">@Model.SzTSzAzonosito</label></div>
|
||||
<div class="child"><span>@HRModulResource.UtolsoSzinkron:</span><label class="windowInputLabel">@Model.UtolsoSzinkronDisplayValue</label></div>
|
||||
</div>
|
||||
}
|
104
KretaWeb/Areas/HRModul/Views/TavolletLista/Index.cshtml
Normal file
104
KretaWeb/Areas/HRModul/Views/TavolletLista/Index.cshtml
Normal file
|
@ -0,0 +1,104 @@
|
|||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.Web.Areas.HRModul.Models;
|
||||
@using Kreta.BusinessLogic.Classes;
|
||||
@using Kreta.Resources;
|
||||
|
||||
@model TavolletListaSearchModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
|
||||
var isLeaderCallClass = "disabledItem";
|
||||
if (Model.SrcIsLeaderCall || Model.SrcIsAdminCall) { isLeaderCallClass = ""; }
|
||||
}
|
||||
|
||||
@section AddCss {
|
||||
@Styles.Render("~/Content/HRModul")
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", "TavolletListaGrid"))
|
||||
{
|
||||
@Html.KretaMultiSelectFor(x => x.SrcNaptariEv, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoNaptariEvekList" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.SrcTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoTipusList" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
<div class="@isLeaderCallClass">
|
||||
@Html.KretaMultiSelectFor(x => x.SrcAlkalmazott, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAllAlkalmazott", id = Model.AlkalmazottFilterId }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
</div>
|
||||
@Html.KretaDatePickerFor(x => x.SrcIdoszakKezdet).Min(Model.MinimumSrcIdoszakKezdet).RenderSearchPanelSideBar()
|
||||
@Html.KretaDatePickerFor(x => x.SrcIdoszakVeg).Min(Model.MinimumSrcIdoszakVeg).RenderSearchPanelSideBar()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var grid = Html.KretaGrid<TavolletListaGridModel>
|
||||
(
|
||||
name: "TavolletListaGrid",
|
||||
getUrl: new GridApiUrl("TavolletListaApi", "GetTavolletListaGrid", new Dictionary<string, string> { }),
|
||||
dataParameterFunction: "searchForm",
|
||||
allowScrolling: true,
|
||||
sort: sort => sort.Add(m => m.AlkalmazottNev)
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TipusId_DNAME).Width("20%");
|
||||
columns.Bound(c => c.AlkalmazottNev);
|
||||
columns.Bound(c => c.SzTSzAzonosito).Width("10%");
|
||||
columns.Bound(c => c.IdoszakKezdet).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
|
||||
columns.Bound(c => c.IdoszakVeg).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
|
||||
columns.Bound(c => c.TavolletIdotartamNap).Width("7%");
|
||||
columns.Bound(c => c.EvesSzabadsagKeret);
|
||||
})
|
||||
.AutoBind(true)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn));
|
||||
grid.FunctionCommand(Html, new List<FunctionCommand> { new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "TavolletlistaHelper.exportGrid" } });
|
||||
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
$("input[name='SrcNaptariEv']").change(function () {
|
||||
$("#SrcIdoszakKezdet").val("");
|
||||
$("#SrcIdoszakVeg").val("");
|
||||
});
|
||||
$("#SrcIdoszakKezdet").change(function () {
|
||||
$("input[name='SrcNaptariEv_input']").val("");
|
||||
});
|
||||
$("#SrcIdoszakVeg").change(function () {
|
||||
$("input[name='SrcNaptariEv_input']").val("");
|
||||
});
|
||||
|
||||
szerkesztesKikapcsolasa("input[name='SrcNaptariEv_input']");
|
||||
szerkesztesKikapcsolasa("#SrcIdoszakKezdet");
|
||||
szerkesztesKikapcsolasa("#SrcIdoszakVeg");
|
||||
function szerkesztesKikapcsolasa(control) {
|
||||
$(control).prop("readonly", true);
|
||||
$(control).on("keydown", function (e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var TavolletlistaHelper = (function () {
|
||||
var tavolletlistaHelper = function () { };
|
||||
|
||||
var searchFormName = "searchForm";
|
||||
var url = {
|
||||
exportTavolletLista: "@Url.Action("Export", Constants.Controllers.TavolletLista, new { area = Constants.Areas.HRModul })",
|
||||
}
|
||||
|
||||
tavolletlistaHelper.exportGrid = function () {
|
||||
var data = KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName);
|
||||
|
||||
AjaxHelper.DownloadFile(url.exportTavolletLista, data);
|
||||
}
|
||||
|
||||
return tavolletlistaHelper;
|
||||
})();
|
||||
</script>
|
||||
|
||||
@Html.Partial("_InfoBar", Model)
|
||||
|
||||
<div>@(grid)</div>
|
|
@ -0,0 +1,71 @@
|
|||
@using Kreta.Web.Areas.HRModul.Models;
|
||||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.Resources;
|
||||
@model TavolletjelentoSearchModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", "AlkalmazottakAdataiGrid"))
|
||||
{
|
||||
@Html.KretaMultiSelectFor(x => x.SrcAlkalmazott, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAllAlkalmazott", id = Model.AlkalmazottFilterId }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.SrcFoIntezmenyeE, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).AutoBind(true).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var functionCommands = new List<FunctionCommand>();
|
||||
var grid = Html.KretaGrid<TavolletAlkalmazottGridModel>
|
||||
(
|
||||
name: "AlkalmazottakAdataiGrid",
|
||||
getUrl: new GridApiUrl(Constants.ApiControllers.TavolletjelentoApi, "GetAlkalmazottakAdatai"),
|
||||
dataParameterFunction: "searchForm",
|
||||
allowScrolling: true,
|
||||
sort: sort => sort.Add(m => m.AlkalmazottNev)
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.AlkalmazottNev);
|
||||
columns.Bound(c => c.SzTSzAzonosito);
|
||||
columns.Bound(c => c.IsFointezmenyeE_BNAME);
|
||||
columns.Bound(c => c.SzabadsagKeret);
|
||||
columns.Bound(c => c.IgenybeVehetoTavolletek).HeaderTemplate(
|
||||
@<text>
|
||||
@(HRModulResource.IgenybeVehetoTavolletek):
|
||||
<span class='kretaLabelTooltip kretaLabelTooltipForLabel'>
|
||||
<img class='kretaLabelTooltipImg' />
|
||||
<span class='kretaLabelTooltipText' style="position:fixed;">@(HRModulResource.InfoFelhasznalhatoKeret)</span>
|
||||
</span>
|
||||
</text>);
|
||||
columns.Bound(c => c.IgenybeVettTavolletek);
|
||||
columns.Bound(c => c.FuggobenLevoTavolletek);
|
||||
})
|
||||
.AutoBind(true)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn));
|
||||
|
||||
functionCommands.Add(new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "TavolletAlkalmazottHelper.exportGrid" });
|
||||
grid.FunctionCommand(Html, functionCommands);
|
||||
}
|
||||
<div>@(grid)</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var TavolletAlkalmazottHelper = (function () {
|
||||
var tavolletAlkalmazottHelper = function () { };
|
||||
|
||||
var searchFormName = "searchForm";
|
||||
var url = {
|
||||
exportTavolletAlkalmazottLista: "@Url.Action("ExportAlkalmazottakAdatai", Constants.Controllers.Tavolletjelento, new { area = Constants.Areas.HRModul })",
|
||||
}
|
||||
|
||||
tavolletAlkalmazottHelper.exportGrid = function () {
|
||||
var data = KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName);
|
||||
|
||||
AjaxHelper.DownloadFile(url.exportTavolletAlkalmazottLista, data);
|
||||
}
|
||||
|
||||
return tavolletAlkalmazottHelper;
|
||||
})();
|
||||
</script>
|
490
KretaWeb/Areas/HRModul/Views/Tavolletjelento/Index.cshtml
Normal file
490
KretaWeb/Areas/HRModul/Views/Tavolletjelento/Index.cshtml
Normal file
|
@ -0,0 +1,490 @@
|
|||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.Web.Areas.HRModul.Models;
|
||||
@using Kreta.Resources;
|
||||
@using Kreta.BusinessLogic.Classes;
|
||||
@using Kreta.Enums.ManualEnums;
|
||||
@using Kreta.Web.Security;
|
||||
|
||||
@model TavolletjelentoSearchModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
|
||||
var isLeaderCallClass = "disabledItem";
|
||||
if (Model.SrcKezeles) { isLeaderCallClass = ""; }
|
||||
}
|
||||
|
||||
@section AddCss {
|
||||
@Styles.Render("~/Content/HRModul")
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", "TavolletjelentoGrid"))
|
||||
{
|
||||
@Html.HiddenFor(x => x.SrcKezeles)
|
||||
@Html.HiddenFor(x => x.SrcFoIntezmenyeE)
|
||||
@Html.HiddenFor(x => x.IsTavolletFoIntezmenye)
|
||||
@Html.KretaMultiSelectFor(x => x.SrcNaptariEv, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoNaptariEvekList" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.SrcTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoTipusList" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
<div class="@isLeaderCallClass">
|
||||
@Html.KretaMultiSelectFor(x => x.SrcAlkalmazott, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAllAlkalmazott", id = Model.AlkalmazottFilterId }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
|
||||
</div>
|
||||
@Html.KretaComboBoxFor(x => x.SrcStatusz, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoStatuszList" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
@Html.KretaDatePickerFor(x => x.SrcIdoszakKezdet).Min(Model.MinimumSrcIdoszakKezdet).RenderSearchPanelSideBar()
|
||||
@Html.KretaDatePickerFor(x => x.SrcIdoszakVeg).Min(Model.MinimumSrcIdoszakVeg).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.SrcMelleklettelRendelkezik, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.SrcRogzitesDatumaTol, x => x.SrcRogzitesDatumaIg)
|
||||
@Html.KretaComboBoxFor(x => x.SrcToroltekMegjelenitese, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
<script type="text/javascript">
|
||||
var DetailGridHelper = (function () {
|
||||
var detailGridHelper = function () { };
|
||||
|
||||
detailGridHelper.setRowEditing = function (rowData) {
|
||||
var now = new Date();
|
||||
var past = new Date();
|
||||
past.setFullYear(past.getFullYear(), past.getMonth() - 1, 1);
|
||||
if (CommonUtils.parseBool("@Model.IsTavolletFoIntezmenye") && !rowData.Torolt_BOOL
|
||||
&& (((rowData.StatuszId == 7574 || rowData.StatuszId == 7577) && (rowData.AlkalmazottGuid === "@ClaimData.FelhasznaloGuid".toLowerCase() || rowData.RogzitoGuid === "@ClaimData.FelhasznaloGuid".toLowerCase() || CommonUtils.parseBool("@Model.SrcIsLeaderCall") || CommonUtils.parseBool("@Model.SrcIsAdminCall")))
|
||||
|| (rowData.StatuszId == 7654 && CommonUtils.parseBool("@Model.SrcIsLeaderCall")))
|
||||
&& ((now.getDate() < 6 && (rowData.IdoszakKezdet.getFullYear() * 100 + rowData.IdoszakKezdet.getMonth()) >= (past.getFullYear() * 100 + past.getMonth()))
|
||||
|| (rowData.IdoszakKezdet.getFullYear() * 100 + rowData.IdoszakKezdet.getMonth()) >= (now.getFullYear() * 100 + now.getMonth()))
|
||||
&& (CommonUtils.parseBool(@Model.SrcFoIntezmenyeE))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
detailGridHelper.setDeleteRowEditing = function (rowData) {
|
||||
var now = new Date();
|
||||
var past = new Date();
|
||||
past.setFullYear(past.getFullYear(), past.getMonth() - 1, 1);
|
||||
if (CommonUtils.parseBool("@Model.IsTavolletFoIntezmenye") && rowData.IsTorolheto
|
||||
&& ((now.getDate() < 6 && (rowData.IdoszakKezdet.getFullYear() * 100 + rowData.IdoszakKezdet.getMonth()) >= (past.getFullYear() * 100 + past.getMonth()))
|
||||
|| (rowData.IdoszakKezdet.getFullYear() * 100 + rowData.IdoszakKezdet.getMonth()) >= (now.getFullYear() * 100 + now.getMonth()))
|
||||
&& (CommonUtils.parseBool(@Model.SrcFoIntezmenyeE))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return detailGridHelper;
|
||||
})();
|
||||
</script>
|
||||
|
||||
@{
|
||||
var functionCommands = new List<FunctionCommand>();
|
||||
var multipleRowFunctions = new List<RowFunction>();
|
||||
|
||||
var grid = Html.KretaGrid<TavolletjelentoGridModel>
|
||||
(
|
||||
name: "TavolletjelentoGrid",
|
||||
getUrl: new GridApiUrl("TavolletjelentoApi", "GetTavolletjelentoGrid", new Dictionary<string, string> { }),
|
||||
dataParameterFunction: "searchForm",
|
||||
allowScrolling: true,
|
||||
allowSorting: true,
|
||||
sort: sort => sort.Add(m => m.RogzitesDatuma).Descending()
|
||||
)
|
||||
.AutoBind(true);
|
||||
|
||||
if (Model.IsTavolletFoIntezmenye && Model.SrcKezeles && (Model.SrcIsAdminCall || Model.SrcIsLeaderCall))
|
||||
{
|
||||
grid.Columns(c => c.Template(t => t.ToString()).HeaderHtmlAttributes(new { @class = "tavolletjelentoGridColumnHeaderTh" }).Title(@"
|
||||
<div class='gridHeaderCheckBox'><input type='checkbox' id='SelectedHeaderBox' class='k-checkbox'>
|
||||
<label class='k-checkbox-label' for='SelectedHeaderBox'></label>
|
||||
</div>
|
||||
").ClientTemplate(@"
|
||||
#if((StatuszId == 7574 || StatuszId == 7654) && !Torolt_BOOL) {#
|
||||
<div class='gridCheckBox' data-inputparentgrid='TavolletjelentoGrid'>
|
||||
<input type='checkbox' id='TavolletjelentoGrid_Selected_#=ID#' data-rowinputname='Selected' class='k-checkbox' value='false'>
|
||||
<label class='k-checkbox-label' for='TavolletjelentoGrid_Selected_#=ID#'></label>
|
||||
</div>
|
||||
#}#
|
||||
").Width("3%"));
|
||||
}
|
||||
|
||||
grid.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TipusId_DNAME);
|
||||
columns.Bound(c => c.AlkalmazottNev).Width("10%");
|
||||
columns.Bound(c => c.SzTSzAzonosito).Width("7%");
|
||||
columns.Bound(c => c.IdoszakKezdet).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("6%");
|
||||
columns.Bound(c => c.IdoszakVeg).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("6%");
|
||||
columns.Bound(c => c.HasMelleklet_BNAME).ClientTemplate("#if(HasMelleklet_BOOL){#<b>#:HasMelleklet_BNAME#</b>#}else{# #:HasMelleklet_BNAME# #}#").Width("8%");
|
||||
columns.Bound(c => c.RogzitesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("6%");
|
||||
columns.Bound(c => c.MunkanapSzam).Width("8%");
|
||||
columns.Bound(c => c.HatralevoNapokSzama).ClientTemplate("# if(TipusId == 7606 || TipusId == 7610 || TipusId == 7609) { # #:HatralevoNapokSzama# # } else { # - # } #").Sortable(false).Width("8%");
|
||||
columns.Bound(c => c.StatuszId_DNAME).ClientTemplate("#if(Torolt_BOOL){#<b>Törölt</b>#}else{##:StatuszId_DNAME##}#").Width("10%");
|
||||
columns.Bound(c => c.RogzitoGuid).Hidden();
|
||||
});
|
||||
|
||||
if (Model.IsTavolletFoIntezmenye && Model.SrcTavolletRogzitheto && (Model.SrcFoIntezmenyeE.HasValue && Model.SrcFoIntezmenyeE == 1))
|
||||
{
|
||||
functionCommands.Add(new FunctionCommand { Name = HRModulResource.UjTavolletRogzites, ClientAction = "TavolletjelentoHelper.openTavolletjelentoNewWindow" });
|
||||
}
|
||||
multipleRowFunctions.Add(new RowFunction { Name = CommonResource.Adatok, ClientAction = "TavolletjelentoHelper.openTavolletjelentoDetailWindow", IconEnum = GridRowFunctionIconEnum.Adatok, IsConditional = false });
|
||||
multipleRowFunctions.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Modositas,
|
||||
ClientAction = "TavolletjelentoHelper.openTavolletjelentoModifyWindow",
|
||||
IconEnum = GridRowFunctionIconEnum.Modositas,
|
||||
IsConditional = true,
|
||||
IsMultipleConditionalColumn = true,
|
||||
IsVisibleRowFunctionJsFunctionName = "DetailGridHelper.setRowEditing"
|
||||
});
|
||||
multipleRowFunctions.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles,
|
||||
ClientAction = "TavolletjelentoHelper.deleteConfirmWindow",
|
||||
IconEnum = GridRowFunctionIconEnum.Torles,
|
||||
IsConditional = true,
|
||||
IsMultipleConditionalColumn = true,
|
||||
IsVisibleRowFunctionJsFunctionName = "DetailGridHelper.setDeleteRowEditing"
|
||||
});
|
||||
|
||||
if (Model.IsTavolletFoIntezmenye && Model.SrcKezeles && (Model.SrcIsLeaderCall || Model.SrcIsAdminCall) && (Model.SrcFoIntezmenyeE.HasValue && Model.SrcFoIntezmenyeE == 1))
|
||||
{
|
||||
List<FunctionCommand> nestedFunctions = new List<FunctionCommand> { };
|
||||
if (Model.SrcIsLeaderCall)
|
||||
{
|
||||
nestedFunctions.Add(new FunctionCommand { Name = HRModulResource.KijeloltekElfogadasa, ClientAction = "TavolletjelentoHelper.selectedTavolletElfogadas" });
|
||||
nestedFunctions.Add(new FunctionCommand { Name = HRModulResource.KijeloltekElutasitasa, ClientAction = "TavolletjelentoHelper.selectedTavolletElutasitas" });
|
||||
}
|
||||
nestedFunctions.Add(new FunctionCommand { Name = HRModulResource.KijeloltekModositasa, ClientAction = "TavolletjelentoHelper.openTobbesTavolletUpdateModifyWindow" });
|
||||
|
||||
functionCommands.Add(new FunctionCommand { Name = "Kijelöltekre vonatkozó műveletek".ToUpper(), NestedCommands = nestedFunctions });
|
||||
}
|
||||
functionCommands.Add(new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "TavolletjelentoHelper.exportGrid" });
|
||||
|
||||
grid.RowFunction(Html, multipleRowFunctions);
|
||||
grid.FunctionCommand(Html, functionCommands);
|
||||
|
||||
if (Model.IsTavolletFoIntezmenye && Model.SrcKezeles && Model.SrcIsLeaderCall && (Model.SrcFoIntezmenyeE.HasValue && Model.SrcFoIntezmenyeE == 1))
|
||||
{
|
||||
grid.Columns(column =>
|
||||
{
|
||||
column.Template(@<text></text>).Width(140).ClientTemplate(
|
||||
@"#var now = new Date(); var prevMonth = new Date(); prevMonth.setMonth(prevMonth.getMonth() - 1, 1);#
|
||||
#if((StatuszId == 7574 || StatuszId == 7654) && !Torolt_BOOL
|
||||
&& (
|
||||
IdoszakKezdet.getFullYear() > now.getFullYear()
|
||||
|| (IdoszakKezdet.getFullYear() == now.getFullYear() && IdoszakKezdet.getMonth() >= now.getMonth())
|
||||
|| (IdoszakKezdet.getFullYear() == prevMonth.getFullYear() && IdoszakKezdet.getMonth() == prevMonth.getMonth() && now.getDate() < 6)
|
||||
)) {
|
||||
if(TavolletjelentoHelper.checkActionTitle(TipusId)) {#
|
||||
<button title='" + HRModulResource.Engedelyezem + @"' id='jovahagyas_#: ID #' type='button' data-role='button' class='btn btn-success' role='button' aria-disabled='false' tabindex='0' onclick='TavolletjelentoHelper.saveTavolletElfogadas(#: ID #, #: TipusId #)'><i class='fa fa-check'></i></button>
|
||||
#}
|
||||
else {#
|
||||
<button title='" + HRModulResource.TudomasulVeszem + @"' id='jovahagyas_#: ID #' type='button' data-role='button' class='btn btn-success' role='button' aria-disabled='false' tabindex='0' onclick='TavolletjelentoHelper.saveTavolletElfogadas(#: ID #, #: TipusId #)'><i class='fa fa-check'></i></button>
|
||||
#}
|
||||
#
|
||||
<button title='" + HRModulResource.Hianypotlas + @"' id='hianypotlas_#: ID #' type='button' data-role='button' class='btn btn-warning' role='button' aria-disabled='false' tabindex='0' onclick='TavolletjelentoHelper.openTavolletjelentoHPWindow(#: ID #, ""#: RogzitoGuid #"")'><i class='fa fa-file'></i></button>
|
||||
<button title='" + HRModulResource.Elutasitom + @"' id='elutasitas_#: ID #' type='button' data-role='button' class='btn btn-danger' role='button' aria-disabled='false' tabindex='0' onclick='TavolletjelentoHelper.saveTavolletElutasitas(#: ID #, ""#: RogzitoGuid #"")'><i class='fa fa-times'></i></button>
|
||||
#}#");
|
||||
});
|
||||
}
|
||||
else if (Model.IsTavolletFoIntezmenye && Model.SrcKezeles && Model.SrcIsAdminCall && (Model.SrcFoIntezmenyeE.HasValue && Model.SrcFoIntezmenyeE == 1))
|
||||
{
|
||||
grid.Columns(column =>
|
||||
{
|
||||
column.Template(@<text></text>).Width(140).ClientTemplate(
|
||||
@"#var now = new Date(); var prevMonth = new Date(); prevMonth.setMonth(prevMonth.getMonth() - 1, 1);#
|
||||
#if((StatuszId == 7574 || StatuszId == 7654) && !Torolt_BOOL
|
||||
&& (
|
||||
IdoszakKezdet.getFullYear() > now.getFullYear()
|
||||
|| (IdoszakKezdet.getFullYear() == now.getFullYear() && IdoszakKezdet.getMonth() >= now.getMonth())
|
||||
|| (IdoszakKezdet.getFullYear() == prevMonth.getFullYear() && IdoszakKezdet.getMonth() == prevMonth.getMonth() && now.getDate() < 6)
|
||||
)) {
|
||||
#
|
||||
<button title='" + HRModulResource.Hianypotlas + @"' id='hianypotlas_#: ID #' type='button' data-role='button' class='btn btn-warning' role='button' aria-disabled='false' tabindex='0' onclick='TavolletjelentoHelper.openTavolletjelentoHPWindow(#: ID #, ""#: RogzitoGuid #"")'><i class='fa fa-file'></i></button>
|
||||
#}#");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@if (Model.SrcFoIntezmenyeE.HasValue && Model.SrcFoIntezmenyeE == 0)
|
||||
{
|
||||
<div class="container-fluid details">
|
||||
<div class="col-xs-12 settings fa-border" style="background-color:whitesmoke">
|
||||
<h3>@HRModulResource.WarnNemFointezmenyCsokkentettJogosultsag</h3>
|
||||
<div class="col-xs-12">
|
||||
<h5>@HRModulResource.WarnNemFointezmenyCsokkentettJogosultsagMiattNemElerhetoFunkciok</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Model.IsTavolletFoIntezmenye)
|
||||
{
|
||||
<div class="row" style="padding: 20px; text-align: center;">
|
||||
<label style="font-size: 20px;">@HRModulResource.WarnNemFointezmeny</label>
|
||||
</div>
|
||||
}
|
||||
|
||||
@Html.Partial("_InfoBar", Model)
|
||||
|
||||
<div>@(grid)</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var TavolletjelentoHelper = (function () {
|
||||
var tavolletjelentoHelper = function () { };
|
||||
|
||||
var gridName = "TavolletjelentoGrid";
|
||||
var formName = "TavolletjelentoForm";
|
||||
var searchFormName = "searchForm";
|
||||
var url = {
|
||||
openTavolletjelentoDetailWindow: "@Url.Action("OpenTavolletjelentoDetailPopUp", Constants.Controllers.Tavolletjelento, new { area = Constants.Areas.HRModul })",
|
||||
openTavolletjelentoNewWindow: "@Url.Action("OpenTavolletjelentoNewPopUp", Constants.Controllers.Tavolletjelento, new { area = Constants.Areas.HRModul })",
|
||||
openTavolletjelentoModifyWindow: "@Url.Action("OpenTavolletjelentoModifyPopUp", Constants.Controllers.Tavolletjelento, new { area = Constants.Areas.HRModul })",
|
||||
openTobbesTavolletjelentoModifyWindow: "@Url.Action("OpenTobbesTavolletjelentoModifyPopUp", Constants.Controllers.Tavolletjelento, new { area = Constants.Areas.HRModul })",
|
||||
saveTavolletElfogadas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TavolletjelentoApi, action = "SaveTavolletElfogadas" })",
|
||||
saveTavolletElutasitas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TavolletjelentoApi, action = "SaveTavolletElutasitas" })",
|
||||
getTavolletIdotartam: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TavolletjelentoApi, action = "GetTavolletIdotartam" })",
|
||||
saveTavollet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TavolletjelentoApi, action = "SaveTavollet" })",
|
||||
saveTobbesTavollet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TavolletjelentoApi, action = "saveTobbesTavollet" })",
|
||||
deleteTavollet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TavolletjelentoApi, action = "DeleteTavollet" })",
|
||||
exportTavolletjelento: "@Url.Action("Export", Constants.Controllers.Tavolletjelento, new { area = Constants.Areas.HRModul })"
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.openTavolletjelentoDetailWindow = function (data) {
|
||||
AjaxHelper.DoPost(url.openTavolletjelentoDetailWindow, { Id: data.ID }, popUpTavolletjelentoWindow);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.openTavolletjelentoNewWindow = function () {
|
||||
AjaxHelper.DoPost(url.openTavolletjelentoNewWindow, { isKezeles: CommonUtils.parseBool("@(Model.SrcKezeles)") }, popUpTavolletjelentoWindow);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.openTavolletjelentoModifyWindow = function (data) {
|
||||
var IsHianypotlas = false;
|
||||
if (data.StatuszId == 7577) IsHianypotlas = true;
|
||||
|
||||
AjaxHelper.DoPost(url.openTavolletjelentoModifyWindow, { Id: data.ID, IsHianypotlas: IsHianypotlas, Muvelet: @((int)WorkflowMuveletEnum.CsakModositas) }, popUpTavolletjelentoWindow);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.openTavolletjelentoHPWindow = function (Id, RogzitoGuid) {
|
||||
AjaxHelper.DoPost(url.openTavolletjelentoModifyWindow, { Id: Id, IsHianypotlas: true, Muvelet: @((int)WorkflowMuveletEnum.Hianypotlas), EredetiRogzitoGuid: RogzitoGuid }, popUpTavolletjelentoWindow);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.CancelTavolletjelentoWindow = function () {
|
||||
KretaWindowHelper.destroyWindow("TavolletjelentoWindow");
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.deleteConfirmWindow = function (rowData) {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanSzeretneTorolni)", deleteTavollet, rowData.ID, undefined, undefined, undefined, undefined, undefined, true, true, "@(CommonResource.ATorlesOka)");
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.GetFilesToPost = function () {
|
||||
KretaFileUpload.SendAttachmentsAsBase64EncodedString("TavolletjelentoDok", TavolletjelentoHelper.saveTavollet)
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.saveTavollet = function (filesArray) {
|
||||
var data = $("#" + formName).toObject();
|
||||
var json = {
|
||||
ID: data.ID,
|
||||
TavolletOka: data.TavolletOka,
|
||||
AlkalmazottList: data.AlkalmazottList,
|
||||
TavolletKezdet: data.TavolletKezdet,
|
||||
TavolletVeg: data.TavolletVeg,
|
||||
TavolletIdotartamNap: $("#TavolletIdotartamNap").val(),
|
||||
Megjegyzes: data.Megjegyzes,
|
||||
HianypotlasSzoveg: data.HianypotlasSzoveg,
|
||||
MegjegyzesMezo: data.MegjegyzesMezo,
|
||||
Muvelet: data.Muvelet,
|
||||
FilesArray: filesArray,
|
||||
IsHianypotlas: data.IsHianypotlas,
|
||||
StatuszId: data.StatuszId,
|
||||
IsLeaderCall: data.IsLeaderCall,
|
||||
RogzitoId: data.RogzitoId,
|
||||
EredetiRogzitoGuid: data.EredetiRogzitoGuid
|
||||
};
|
||||
|
||||
AjaxHelper.DoAsyncValidationPost(url.saveTavollet, formName, json, function () { locationReload(); });
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.saveTobbesTavollet = function () {
|
||||
var data = $("#" + formName).toObject();
|
||||
var dict = {};
|
||||
for (var i = 0; i < data.TavolletekDict.length; i++) {
|
||||
dict[data.TavolletekDict[i].Key] = {
|
||||
'AlkalmazottSzTSz': data.TavolletekDict[i].Value.AlkalmazottSzTSz,
|
||||
'RogzitoFunkcioTerulet': data.TavolletekDict[i].Value.RogzitoFunkcioTerulet
|
||||
};
|
||||
}
|
||||
var json = {
|
||||
TavolletIDArrayString: data.TavolletIDArrayString,
|
||||
TavolletAlkalmazottIdArrayString: data.TavolletAlkalmazottIdArrayString,
|
||||
TavolletekDictionary: dict,
|
||||
TavolletOka: data.TavolletOka,
|
||||
TavolletKezdet: data.TavolletKezdet,
|
||||
TavolletVeg: data.TavolletVeg,
|
||||
TavolletIdotartamNap: $("#TavolletIdotartamNap").val(),
|
||||
MegjegyzesMezo: data.MegjegyzesMezo,
|
||||
};
|
||||
|
||||
AjaxHelper.DoAsyncValidationPost(url.saveTobbesTavollet, formName, json, function () { locationReload(); });
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.saveTavolletElfogadas = function (Id, tipusId) {
|
||||
var values = [];
|
||||
values.push({ 'ID': Id, 'TipusId': tipusId });
|
||||
AjaxHelper.DoPost(url.saveTavolletElfogadas, values, gridRefresh);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.saveTavolletElutasitas = function (Id, RogzitoGuid) {
|
||||
var values = []; values.push({ 'ID': Id, 'RogzitoGuid': RogzitoGuid });
|
||||
AjaxHelper.DoPost(url.saveTavolletElutasitas, values, gridRefresh);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.GetTavolletIdotartam = function () {
|
||||
var tavolletKezdet = $("#TavolletKezdet").data('kendoDatePicker').value();
|
||||
var tavolletVeg = $("#TavolletVeg").data('kendoDatePicker').value();
|
||||
AjaxHelper.DoPost(url.getTavolletIdotartam, { tavolletKezdet: tavolletKezdet, tavolletVeg: tavolletVeg }, getTavolletIdotartamSuccess);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.selectedTavolletElfogadas = function () {
|
||||
var values = TavolletjelentoHelper.getSelectedCheckboxDatas();
|
||||
if (values.length > 0) {
|
||||
AjaxHelper.DoPost(url.saveTavolletElfogadas, values, gridRefresh);
|
||||
}
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.selectedTavolletElutasitas = function () {
|
||||
var values = TavolletjelentoHelper.getSelectedCheckboxIds(true);
|
||||
if (values.length > 0) {
|
||||
AjaxHelper.DoPost(url.saveTavolletElutasitas, values, gridRefresh);
|
||||
}
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.getSelectedCheckboxIds = function (isData) {
|
||||
var Items = [];
|
||||
|
||||
$.each($("div.gridCheckBox input:checkbox"), function (i, v) {
|
||||
if ($(v).prop("checked") == true) {
|
||||
var data = KretaGridHelper.getRowData($(v), "TavolletjelentoGrid");
|
||||
if (isData === true) {
|
||||
Items.push({ 'ID': parseInt(data.ID), 'RogzitoGuid': data.RogzitoGuid });
|
||||
}
|
||||
else {
|
||||
Items.push(parseInt(data.ID));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return Items;
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.getSelectedCheckboxDatas = function () {
|
||||
var Items = [];
|
||||
|
||||
$.each($("div.gridCheckBox input:checkbox"), function (i, v) {
|
||||
if ($(v).prop("checked") == true) {
|
||||
var row = KretaGridHelper.getRowData($(v), "TavolletjelentoGrid");
|
||||
var data = { 'ID': parseInt(row.ID), 'TipusId': parseInt(row.TipusId) };
|
||||
Items.push(data);
|
||||
}
|
||||
});
|
||||
|
||||
return Items;
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.openTobbesTavolletUpdateModifyWindow = function () {
|
||||
var values = TavolletjelentoHelper.getSelectedCheckboxIds();
|
||||
if (values.length > 0) {
|
||||
|
||||
if (values.length == 1) {
|
||||
AjaxHelper.DoPost(url.openTavolletjelentoModifyWindow, { Id: values[0], IsHianypotlas: false, Muvelet: @((int)WorkflowMuveletEnum.CsakModositas) }, popUpTavolletjelentoWindow);
|
||||
}
|
||||
else {
|
||||
AjaxHelper.DoPost(url.openTobbesTavolletjelentoModifyWindow, { Ids: values }, popUpTavolletjelentoWindow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.checkActionTitle = function (tipusId) {
|
||||
var engedelyezList = @Html.Raw(Json.Encode(Model.EngedelyezList));
|
||||
return $.inArray(tipusId, engedelyezList) >= 0;
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.exportGrid = function () {
|
||||
var data = KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName);
|
||||
|
||||
AjaxHelper.DownloadFile(url.exportTavolletjelento, data);
|
||||
}
|
||||
|
||||
tavolletjelentoHelper.handleError = (error) => {
|
||||
if (error.status === 'customerror') {
|
||||
KretaWindowHelper.notification('A szolgáltatás nem elérhető.', 'error');
|
||||
return;
|
||||
}
|
||||
KretaWindowHelper.notification('Hiba történt a művelet végrehajtása közben.', 'error');
|
||||
}
|
||||
|
||||
function popUpTavolletjelentoWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@HRModulResource.TavolletAdatok";
|
||||
config.width = "80%";
|
||||
config.height = 600;
|
||||
config.maxWidth = 1200;
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("TavolletjelentoWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
function gridRefresh() {
|
||||
TavolletjelentoHelper.CancelTavolletjelentoWindow();
|
||||
KretaGridHelper.refreshGrid(gridName);
|
||||
}
|
||||
|
||||
function locationReload() {
|
||||
location.reload();
|
||||
}
|
||||
|
||||
function getTavolletIdotartamSuccess(data) {
|
||||
$("#TavolletIdotartamNap").val(data);
|
||||
}
|
||||
|
||||
function deleteTavollet(data, note) {
|
||||
var json = {
|
||||
'id': data,
|
||||
'note': note
|
||||
};
|
||||
AjaxHelper.DoPost(url.deleteTavollet, json, locationReload);
|
||||
}
|
||||
|
||||
return tavolletjelentoHelper;
|
||||
})();
|
||||
|
||||
$(document).ready(function () {
|
||||
$("input[name='SrcNaptariEv']").change(function () {
|
||||
$("#SrcIdoszakKezdet").val("");
|
||||
$("#SrcIdoszakVeg").val("");
|
||||
});
|
||||
$("#SrcIdoszakKezdet").change(function () {
|
||||
$("input[name='SrcNaptariEv_input']").val("");
|
||||
});
|
||||
$("#SrcIdoszakVeg").change(function () {
|
||||
$("input[name='SrcNaptariEv_input']").val("");
|
||||
});
|
||||
|
||||
szerkesztesKikapcsolasa("input[name='SrcNaptariEv_input']");
|
||||
szerkesztesKikapcsolasa("#SrcIdoszakKezdet");
|
||||
szerkesztesKikapcsolasa("#SrcIdoszakVeg");
|
||||
function szerkesztesKikapcsolasa(control) {
|
||||
$(control).prop("readonly", true);
|
||||
$(control).on("keydown", function (e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
}
|
||||
|
||||
$("#SelectedHeaderBox").click(function () {
|
||||
var globalValue = false;
|
||||
if ($(this).prop('checked')) { globalValue = true; }
|
||||
|
||||
$.each($("[data-rowinputname='Selected']"), function (i, v) {
|
||||
if (v.checked != globalValue) {
|
||||
$(this).click();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,8 @@
|
|||
@using Kreta.Resources;
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
||||
|
||||
<div class="row" style="padding: 20px; text-align: center;">
|
||||
<label style="font-size: 20px;">@HRModulResource.SZTSZKODHiany</label>
|
||||
</div>
|
|
@ -0,0 +1,8 @@
|
|||
@using Kreta.Resources;
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
||||
|
||||
<div class="row" style="padding: 20px; text-align: center;">
|
||||
<label style="font-size: 20px;">@HRModulResource.ErrorMunkaviszony</label>
|
||||
</div>
|
|
@ -0,0 +1,263 @@
|
|||
@using Kreta.Web.Areas.HRModul.Models;
|
||||
@using Kreta.Enums.ManualEnums;
|
||||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.Web.Security;
|
||||
@using Kreta.Resources;
|
||||
@model TavolletjelentoModel
|
||||
|
||||
@{
|
||||
var customOpacity = "opacity: 1!important;";
|
||||
|
||||
var viewTypeClass = "";
|
||||
if (Model.ViewType == TavolletjelentoViewTypeEnum.Detail) { viewTypeClass = "disabledItem"; customOpacity = "opacity: 0.8!important;"; }
|
||||
|
||||
var isLeaderCallClass = "disabledItem";
|
||||
if (Model.IsLeaderCall || Model.ViewType == TavolletjelentoViewTypeEnum.Detail || Model.IsAdminCall) { isLeaderCallClass = ""; }
|
||||
|
||||
var isHianypotlasClass = "";
|
||||
if (Model.Muvelet == WorkflowMuveletEnum.Hianypotlas && (Model.IsLeaderCall || ClaimData.IsDefaultAdminUser)) { isHianypotlasClass = "disabledItem"; }
|
||||
}
|
||||
|
||||
<style>
|
||||
.commentRow,
|
||||
.commentRow ul {
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.commentRow label {
|
||||
padding: 10px 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.commentRow li {
|
||||
background-color: azure;
|
||||
padding: 2px;
|
||||
}
|
||||
.commentRow li:nth-child(odd) {
|
||||
background-color: lightgrey;
|
||||
}
|
||||
.commentRow .hp {
|
||||
padding-left: 2em;
|
||||
background-color: bisque;
|
||||
}
|
||||
.commentRow li.hp:nth-child(odd) {
|
||||
background-color: lightgoldenrodyellow;
|
||||
}
|
||||
.tavolletTooltip .kretaLabelTooltipText {
|
||||
width: 200px;
|
||||
}
|
||||
</style>
|
||||
<div style="@customOpacity" class="container-fluid details @viewTypeClass">
|
||||
@using (Html.KretaForm("TavolletjelentoForm"))
|
||||
{
|
||||
@Html.KretaValidationSummary()
|
||||
@Html.HiddenFor(x => x.ID)
|
||||
@Html.HiddenFor(x => x.IsKezeles)
|
||||
@Html.HiddenFor(x => x.IsHianypotlas)
|
||||
@Html.HiddenFor(x => x.IsAdminCall)
|
||||
@Html.HiddenFor(x => x.IsLeaderCall)
|
||||
@Html.HiddenFor(x => x.StatuszId)
|
||||
@Html.HiddenFor(x => x.RogzitoId)
|
||||
@Html.HiddenFor(x => x.Muvelet)
|
||||
@Html.HiddenFor(x => x.Megjegyzes)
|
||||
@Html.HiddenFor(x => x.HianypotlasSzoveg)
|
||||
@Html.HiddenFor(x => x.AlkalmazottFilterId)
|
||||
@Html.HiddenFor(x => x.EredetiRogzitoGuid)
|
||||
|
||||
if (Model.IsNemRogzitoIntezmeny)
|
||||
{
|
||||
<div class="row" style="padding: 5px; text-align: center;">
|
||||
<label>@HRModulResource.WarnNemRogzitoIntezmeny</label>
|
||||
</div>
|
||||
}
|
||||
<div class="row @isHianypotlasClass">
|
||||
@Html.KretaComboBoxFor(x => x.TavolletOka, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoTipusList"}), "Text", "Value").AutoBind(true).RenderWithName(2, 10)
|
||||
</div>
|
||||
<div class="row @isHianypotlasClass">
|
||||
@if (Model.IsNemRogzitoIntezmeny)
|
||||
{
|
||||
@Html.KretaLabelFor(x => x.AlkalmazottNeve, 2, 9)
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="@{
|
||||
if ((Model.ID.HasValue && isHianypotlasClass == "" && viewTypeClass == "") || Model.IsKezeles == false)
|
||||
{
|
||||
@Html.Raw("disabledItem")
|
||||
;
|
||||
}
|
||||
} ">
|
||||
@Html.KretaMultiSelectFor(x => x.AlkalmazottList, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "ComboBoxHelperApi", action = "GetAllAlkalmazott", id = Model.AlkalmazottFilterId, isNemCsakFointezmenyesek = Model.ID.HasValue}), "Text", "Value").AutoBind(true).RenderWithName(2, 9)
|
||||
|
||||
@if (Model.IsKezeles && (Model.IsLeaderCall || Model.IsAdminCall))
|
||||
{
|
||||
<button id="select" type="button" data-role="button" class="k-button" role="button" aria-disabled="false" tabindex="0">+</button>
|
||||
<button id="deselect" type="button" data-role="button" class="k-button" role="button" aria-disabled="false" tabindex="0">-</button>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="row @isHianypotlasClass">
|
||||
@Html.KretaDatePickerFor(x => x.TavolletKezdet).Events(x => x.Change("TavolletjelentoHelper.GetTavolletIdotartam")).RenderWithName(2, 2)
|
||||
@Html.KretaDatePickerFor(x => x.TavolletVeg).Events(x => x.Change("TavolletjelentoHelper.GetTavolletIdotartam")).RenderWithName(2, 2)
|
||||
<div>
|
||||
@Html.KretaTextBoxFor(x => x.TavolletIdotartamNap).Enable(false).RenderWithName(2, 1, tooltipResource: HRModulResource.TavolletNapokTooltip, customClass: "tavolletTooltip")
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.StatuszNeve, 2, 4)
|
||||
@Html.KretaLabelFor(x => x.RogzitoNeve, 2, 4)
|
||||
</div>
|
||||
if (Model.ViewType != TavolletjelentoViewTypeEnum.Detail)
|
||||
{
|
||||
<div class="row">
|
||||
@Html.KretaTextBoxFor(x => x.MegjegyzesMezo).RenderWithBottomInfoAndName(null, 2, 10, bottomInfo: string.Format(HRModulResource.MegjegyzesMezoMaxHossza, Model.MegjegyzesMezoMaxHossza))
|
||||
</div>
|
||||
}
|
||||
<div class="row commentRow">
|
||||
<label class="windowInputLabel">@HRModulResource.Megjegyzesek</label>
|
||||
<ul>
|
||||
@{
|
||||
if (Model.OsszefuzottMegjegyzesek != null && Model.OsszefuzottMegjegyzesek.Count > 0)
|
||||
{
|
||||
foreach (var item in Model.OsszefuzottMegjegyzesek)
|
||||
{
|
||||
<li class="@item.CommentTypeClass">@item.CommentContent</li>
|
||||
}
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
if (Model.ViewType != TavolletjelentoViewTypeEnum.Detail)
|
||||
{
|
||||
<div id="CsatolmanyokInputContainer" class="row @isHianypotlasClass">
|
||||
@Html.KretaFileUpload("TavolletjelentoDok", onSelectEvent: "function(e){ TavolletFileUploadHelper.onSelect(e); }")
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
@{
|
||||
var grid = Html.KretaGrid<TavolletjelentoDokGridModel>
|
||||
(
|
||||
name: "TavolletjelentoDokGrid",
|
||||
getUrl: new GridApiUrl("TavolletjelentoApi", "GetTavolletjelentoDokGrid", new Dictionary<string, string> { { "tavolletId", Model.ID.ToString() } })
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.DokumentumNev);
|
||||
columns.Bound(c => c.Iktatoszam);
|
||||
columns.Template(@<text></text>).Width(140).ClientTemplate(@"<a href='/HRModul/Tavolletjelento/GetFile?fileId=#: ID #&isDokumentum=#: IsDokumentum#'>Letöltés</a>");
|
||||
})
|
||||
.AutoBind(true)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn));
|
||||
}
|
||||
|
||||
@if (Model.ID.HasValue && (Model.IsAdminCall || Model.IsLeaderCall || Model.RogzitoId == ClaimData.FelhasznaloId))
|
||||
{
|
||||
<div>@(grid)</div>
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
var TavolletFileUploadHelper = (function () {
|
||||
var tavolletFileUploadHelper = function () { };
|
||||
|
||||
tavolletFileUploadHelper.onSelect = function (e) {
|
||||
KretaFileUpload.StopAnimation();
|
||||
|
||||
var allowedFileExtensionArray = [".txt", ".pdf", ".png", ".bmp", ".jpg", ".jpeg", ".xls", ".xlsx", ".doc", ".docx", ".roz"];
|
||||
var attachmentMaxFileSizeInBytes = 5242880;
|
||||
var attachments = e.files;
|
||||
|
||||
for(var i = 0; i<attachments.length;i++){
|
||||
if (attachmentMaxFileSizeInBytes<attachments[i].size){
|
||||
e.preventDefault();
|
||||
var errorMessage = "@ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete";
|
||||
errorMessage=errorMessage.replace("{0}",attachmentMaxFileSizeInBytes/(1024*1024));
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
|
||||
break;
|
||||
}
|
||||
|
||||
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray)===-1){
|
||||
e.preventDefault();
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba","@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tavolletFileUploadHelper;
|
||||
})();
|
||||
|
||||
$(document).ready(function () {
|
||||
KretaFileUpload.DisplayValidationInfo("CsatolmanyokInputContainer", "FileUploadValidationInfo");
|
||||
|
||||
var allowedFileExtensionArray = ["Megengedett típusok: ",
|
||||
".txt", ".pdf", ".png", ".bmp", ".jpg", ".jpeg", ".xls", ".xlsx", ".doc", ".docx", ".roz",
|
||||
" Maximális méret: 5MB"
|
||||
];
|
||||
|
||||
var uploadButton = $("#CsatolmanyokInputContainer");
|
||||
var validationVisible = false;
|
||||
|
||||
uploadButton.mouseenter(function () {
|
||||
if (!validationVisible) {
|
||||
validationVisible = true;
|
||||
KretaFileUpload.StartAnimation();
|
||||
KretaFileUpload.VaidationInfoExtensionContainerAnimation("FileUploadValidationInfo", allowedFileExtensionArray, 0);
|
||||
}
|
||||
});
|
||||
|
||||
uploadButton.mouseleave(function () {
|
||||
validationVisible = false;
|
||||
KretaFileUpload.StopAnimation("FileUploadValidationInfo");
|
||||
});
|
||||
|
||||
var lista = $("#AlkalmazottList").data("kendoMultiSelect");
|
||||
$("#select").click(function () {
|
||||
var values = [];
|
||||
$.each(lista.dataSource.data(), function (i, v) { values.push(v.Value); });
|
||||
lista.value(values);
|
||||
});
|
||||
|
||||
$("#deselect").click(function() { lista.value([]); });
|
||||
|
||||
var disInputs = $("div.disabledItem .row :input.k-input");
|
||||
$.each(disInputs, function () {
|
||||
$(this)[0].disabled = true;
|
||||
$(this)[0].classList.add('k-state-disabled');
|
||||
$(this).parent('.k-state-default').addClass('k-state-disabled');
|
||||
});
|
||||
|
||||
tavolletDatumBeallitasa();
|
||||
function tavolletDatumBeallitasa() {
|
||||
szerkesztesKikapcsolasa("#TavolletKezdet");
|
||||
szerkesztesKikapcsolasa("#TavolletVeg");
|
||||
function szerkesztesKikapcsolasa(control) {
|
||||
$(control).prop("readonly", true);
|
||||
$(control).on("keydown", function (e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
}
|
||||
|
||||
var tavolletKezdet = $("#TavolletKezdet").data("kendoDatePicker");
|
||||
var tavolletVeg = $("#TavolletVeg").data("kendoDatePicker");
|
||||
var now = new Date();
|
||||
var past = new Date();
|
||||
past.setFullYear(past.getFullYear(), past.getMonth() - 1);
|
||||
|
||||
if (now.getDate() <= 5) {
|
||||
tavolletKezdet.min(new Date(past.getFullYear(), past.getMonth(), 1));
|
||||
tavolletVeg.min(new Date(past.getFullYear(), past.getMonth(), 1));
|
||||
}
|
||||
else {
|
||||
tavolletKezdet.min(new Date(now.getFullYear(), now.getMonth(), 1));
|
||||
tavolletVeg.min(new Date(now.getFullYear(), now.getMonth(), 1));
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,51 @@
|
|||
@using Kreta.Web.Areas.HRModul.Models;
|
||||
@using Kreta.Resources;
|
||||
@model TavolletjelentoTobbesModel
|
||||
|
||||
<style>
|
||||
.warningRow {
|
||||
color: darkred;
|
||||
padding: 5px 20px;
|
||||
}
|
||||
</style>
|
||||
<div class="container-fluid details">
|
||||
@using (Html.KretaForm("TavolletjelentoForm"))
|
||||
{
|
||||
@Html.KretaValidationSummary()
|
||||
@Html.HiddenFor(x => x.TavolletIDArrayString)
|
||||
@Html.HiddenFor(x => x.TavolletAlkalmazottIdArrayString)
|
||||
var i = 0;
|
||||
foreach (var item in Model.TavolletekDictionary)
|
||||
{
|
||||
@Html.Hidden(string.Format("TavolletekDict[{0}].Key", i), item.Key);
|
||||
@Html.Hidden(string.Format("TavolletekDict[{0}].Value.AlkalmazottSzTSz", i), item.Value.AlkalmazottSzTSz);
|
||||
@Html.Hidden(string.Format("TavolletekDict[{0}].Value.RogzitoFunkcioTerulet", i), item.Value.RogzitoFunkcioTerulet);
|
||||
i++;
|
||||
}
|
||||
|
||||
if (Model.ElteroSorok || Model.FelhasznaloTobbszorKivalasztva)
|
||||
{
|
||||
<div class="row warningRow">
|
||||
<label class="windowInputLabel">@HRModulResource.WarnElteresVan</label>
|
||||
@if (Model.FelhasznaloTobbszorKivalasztva)
|
||||
{
|
||||
<br/><label class="windowInputLabel">@HRModulResource.WarnFelhasznaloTobbszorVan</label>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
@Html.KretaComboBoxFor(x => x.TavolletOka, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetTavolletjelentoTipusList" }), "Text", "Value").AutoBind(true).RenderWithName(2, 2)
|
||||
@Html.KretaLabelFor(x => x.TavolletAlkalmazottNevArray, 2, 6)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaDatePickerFor(x => x.TavolletKezdet).Events(x => x.Change("TavolletjelentoHelper.GetTavolletIdotartam")).RenderWithName(2, 2)
|
||||
@Html.KretaDatePickerFor(x => x.TavolletVeg).Events(x => x.Change("TavolletjelentoHelper.GetTavolletIdotartam")).RenderWithName(2, 2)
|
||||
<div style="pointer-events: none;">
|
||||
@Html.KretaTextBoxFor(x => x.TavolletIdotartamNap).Enable(false).RenderWithName(2, 2)
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaTextAreaFor(x => x.MegjegyzesMezo, 3).RenderWithName(3, 9)
|
||||
</div>
|
||||
}
|
||||
</div>
|
3
KretaWeb/Areas/HRModul/Views/_ViewStart.cshtml
Normal file
3
KretaWeb/Areas/HRModul/Views/_ViewStart.cshtml
Normal file
|
@ -0,0 +1,3 @@
|
|||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
38
KretaWeb/Areas/HRModul/Views/web.config
Normal file
38
KretaWeb/Areas/HRModul/Views/web.config
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="System.Web.Optimization" />
|
||||
<add namespace="Kreta.Web" />
|
||||
<add namespace="Kreta.BusinessLogic.Utils" />
|
||||
<add namespace="Kendo.Mvc.UI" />
|
||||
<add namespace="Kreta.Web.Helpers" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
Loading…
Add table
Add a link
Reference in a new issue