public ActionResult GetProfileQuitList([DataSourceRequest] DataSourceRequest request, Hre_ProfileQuitSearchModel model) { var profileServices = new Hre_ProfileServices(); var service = new ActionService(UserLogin); bool isGroup = profileServices.IsGroupByOrgProfileQuit(); if (isGroup == true) { #region Group theo DS phòng ban - DDF var rptServices = new Hre_ReportServices(); string status = string.Empty; var orgServices = new Cat_OrgStructureServices(); var lstObjOrg = new List<object>(); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(1); lstObjOrg.Add(int.MaxValue - 1); var lstOrg = service.GetData<Cat_OrgStructureEntity>(lstObjOrg, ConstantSql.hrm_cat_sp_get_OrgStructure, ref status).ToList(); var orgTypeService = new Cat_OrgStructureTypeServices(); var lstObjOrgType = new List<object>(); lstObjOrgType.Add(null); lstObjOrgType.Add(null); lstObjOrgType.Add(1); lstObjOrgType.Add(int.MaxValue - 1); var lstOrgType = service.GetData<Cat_OrgStructureTypeEntity>(lstObjOrgType, ConstantSql.hrm_cat_sp_get_OrgStructureType, ref status).ToList(); ListQueryModel lstModel = new ListQueryModel { PageIndex = request.Page, PageSize = request.PageSize, Filters = ExtractFilterAttributes(request), Sorts = ExtractSortAttributes(request), AdvanceFilters = ExtractAdvanceFilterAttributes(model) }; var lstEntity = service.GetData<Hre_ProfileEntity>(lstModel, ConstantSql.hrm_hr_sp_get_ProfileQuit, ref status); var lstProfileEntity = new List<Hre_ProfileEntity>(); var lstProfileModel = new List<Hre_ProfileModel>(); if (lstEntity != null) { request.Page = 1; foreach (var item in lstEntity) { var profileEntity = new Hre_ProfileEntity(); var orgName = new List<string>(); if (item.OrgStructureID != null) { orgName = rptServices.GetParentOrgName(lstOrg, lstOrgType, item.OrgStructureID); } // orgName = rptServices.GetParentOrgName(lstOrg, lstOrgType, item.OrgStructureID); if (orgName.Count == 0) continue; if (orgName.Count < 3) { orgName.Insert(0, string.Empty); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); } } profileEntity = item.CopyData<Hre_ProfileEntity>(); profileEntity.Channel = orgName[2]; profileEntity.Region = orgName[1]; profileEntity.Area = orgName[0]; lstProfileEntity.Add(profileEntity); } lstProfileModel = lstProfileEntity.Translate<Hre_ProfileModel>(); var dataSourceResult = lstProfileModel.ToDataSourceResult(request); if (lstProfileModel.FirstOrDefault().GetPropertyValue("TotalRow") != null) { dataSourceResult.Total = lstProfileModel.Count() <= 0 ? 0 : (int)lstProfileModel.FirstOrDefault().GetPropertyValue("TotalRow"); } return Json(dataSourceResult, JsonRequestBehavior.AllowGet); } #endregion } return GetListDataAndReturn<Hre_ProfileModel, Hre_ProfileEntity, Hre_ProfileQuitSearchModel>(request, model, ConstantSql.hrm_hr_sp_get_ProfileQuit); }
public ActionResult GetReportPrenancy([DataSourceRequest] DataSourceRequest request, Hre_ReportPregnancyModel Model) { #region Validate string message = string.Empty; var checkValidate = ValidatorService.OnValidateData<Hre_ReportPregnancyModel>(Model, "Hre_ReportPregnancy", ref message); if (!checkValidate) { return Json(message); } #endregion var service = new Hre_ReportServices(); var actionServices = new ActionService(UserLogin); string status = string.Empty; DateTime From = SqlDateTime.MinValue.Value; DateTime To = SqlDateTime.MaxValue.Value; if (Model.DateStart != null) { From = Model.DateStart.Value; } if (Model.DateEnd != null) { To = Model.DateEnd.Value; } var isDataTable = false; object obj = new Hre_ReportPregnancyModel(); List<object> listObj = new List<object>(); listObj.Add(Model.DateStart); listObj.Add(Model.DateEnd); listObj.Add(Model.OrgStructureID); listObj.Add(Model.ProfileName); listObj.Add(Model.CodeEmp); var result = actionServices.GetData<Hre_ReportPregnancyEntity>(listObj, ConstantSql.hrm_hr_sp_get_RptPrenancy, ref status).ToList(); var orgServices = new Cat_OrgStructureServices(); var lstObjOrg = new List<object>(); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(1); lstObjOrg.Add(int.MaxValue - 1); var lstOrg = actionServices.GetData<Cat_OrgStructureEntity>(lstObjOrg, ConstantSql.hrm_cat_sp_get_OrgStructure, ref status).ToList(); var orgTypeService = new Cat_OrgStructureTypeServices(); var lstObjOrgType = new List<object>(); lstObjOrgType.Add(null); lstObjOrgType.Add(null); lstObjOrgType.Add(1); lstObjOrgType.Add(int.MaxValue - 1); var lstOrgType = actionServices.GetData<Cat_OrgStructureTypeEntity>(lstObjOrgType, ConstantSql.hrm_cat_sp_get_OrgStructureType, ref status).ToList(); var lstRptPrenancyEntity = new List<Hre_ReportPregnancyEntity>(); foreach (var item in result) { var pregnancyEntity = new Hre_ReportPregnancyEntity(); var orgName = service.GetParentOrgName(lstOrg, lstOrgType, item.OrgID); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); } } pregnancyEntity = item.CopyData<Hre_ReportPregnancyEntity>(); pregnancyEntity.Channel = orgName[2]; pregnancyEntity.Region = orgName[1]; pregnancyEntity.Area = orgName[0]; lstRptPrenancyEntity.Add(pregnancyEntity); } var lstRptPrenancyModel = lstRptPrenancyEntity.Translate<Hre_ReportPregnancyModel>(); if (Model.IsCreateTemplateForDynamicGrid) { obj = lstRptPrenancyModel; isDataTable = true; } if (Model != null && Model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = obj, FileName = "Hre_ReportPregnancyModel", OutPutPath = path, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = isDataTable }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } if (Model.ExportID != Guid.Empty) { string[] valueField = null; if (Model.ValueFields != null) { valueField = Model.ValueFields.Split(','); } var fullPath = ExportService.Export(Model.ExportID, lstRptPrenancyModel, null, Model.ExportType); return Json(fullPath); } return Json(lstRptPrenancyModel.ToDataSourceResult(request)); }
public ActionResult GetReportWorkHistoryDept([DataSourceRequest] DataSourceRequest request, Hre_ReportWorkHistoryDeptModel Model) { #region Validate string message = string.Empty; var checkValidate = ValidatorService.OnValidateData<Hre_ReportWorkHistoryDeptModel>(Model, "Hre_ReportWorkHistoryDept", ref message); if (!checkValidate) { return Json(message); } #endregion var actionServices = new ActionService(UserLogin); var profileServices = new Hre_ProfileServices(); var rptServices = new Hre_ReportServices(); List<object> listObj = new List<object>(); listObj.Add(Model.DateFrom); listObj.Add(Model.DateTo); listObj.Add(Model.ProfileName); listObj.Add(Model.CodeEmp); listObj.Add(Model.JobTitleID); listObj.Add(Model.PositionID); listObj.Add(Model.OrgStructureIDs); listObj.Add(Model.TypeOfTransferID); listObj.Add(Model.SalaryClassID); listObj.Add(Model.WorkPlaceID); listObj.Add(Model.Status); listObj.Add(1); listObj.Add(int.MaxValue - 1); string status = string.Empty; var result = actionServices.GetData<Hre_ReportWorkHistoryDeptEntity>(listObj, ConstantSql.hrm_hr_sp_get_RptWorkHistoryDept, ref status).ToList().Translate<Hre_ReportWorkHistoryDeptModel>(); HeaderInfo headerInfo1 = new HeaderInfo() { Name = "DateFrom", Value = Model.DateFrom != null ? Model.DateFrom : DateTime.Now }; HeaderInfo headerInfo2 = new HeaderInfo() { Name = "DateTo", Value = Model.DateTo != null ? Model.DateTo : DateTime.Now }; HeaderInfo headerInfo3 = new HeaderInfo() { Name = "WorkPlaceName", Value = ((result != null && result.FirstOrDefault() != null) && result.FirstOrDefault().WorkPlaceName != null) ? result.FirstOrDefault().WorkPlaceName : "" }; List<HeaderInfo> listHeaderInfo = new List<HeaderInfo>() { headerInfo1, headerInfo2, headerInfo3 }; if (Model != null && Model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = new Hre_ReportWorkHistoryDeptModel(), FileName = "Hre_ReportWorkHistoryDept", OutPutPath = path, HeaderInfo = listHeaderInfo, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = false }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } bool isgroup = profileServices.IsGroupByOrgProfileQuit(); if (isgroup == true) { List<Hre_ReportWorkHistoryDeptModel> resultNew = new List<Hre_ReportWorkHistoryDeptModel>(); if (result.Count > 0) { var orgServices = new Cat_OrgStructureServices(); var lstObjOrg = new List<object>(); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(1); lstObjOrg.Add(int.MaxValue - 1); var lstOrg = actionServices.GetData<Cat_OrgStructureEntity>(lstObjOrg, ConstantSql.hrm_cat_sp_get_OrgStructure, ref status).ToList(); var orgTypeService = new Cat_OrgStructureTypeServices(); var lstObjOrgType = new List<object>(); lstObjOrgType.Add(null); lstObjOrgType.Add(null); lstObjOrgType.Add(1); lstObjOrgType.Add(int.MaxValue - 1); var lstOrgType = actionServices.GetData<Cat_OrgStructureTypeEntity>(lstObjOrgType, ConstantSql.hrm_cat_sp_get_OrgStructureType, ref status).ToList(); foreach (var item in result) { var orgName = new List<string>(); if (item.OrgStructureID != null) { orgName = rptServices.GetParentOrgName(lstOrg, lstOrgType, item.OrgStructureID); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); } } } if (orgName.Count > 0) { item.Channel = orgName[2]; item.Region = orgName[1]; item.Area = orgName[0]; } resultNew.Add(item); } } if (Model.ExportID != Guid.Empty) { var fullPath = ExportService.Export(Model.ExportID, resultNew, listHeaderInfo, Model.ExportType); return Json(fullPath); } return Json(resultNew.ToDataSourceResult(request)); } if (Model.ExportID != Guid.Empty) { var fullPath = ExportService.Export(Model.ExportID, result, listHeaderInfo, Model.ExportType); return Json(fullPath); } return Json(result.ToDataSourceResult(request)); }
public ActionResult ExportProfileListByTemplate([DataSourceRequest] DataSourceRequest request, Hre_ProfileActiveSearchModel model) { //if(model.ExportId == Guid.Empty) //{ // return null; //} var actionService = new ActionService(UserLogin); string status = string.Empty; var profileServices = new Hre_ProfileServices(); bool isGroup = profileServices.IsGroupByOrgProfileQuit(); var isDataTable = false; object obj = new Hre_ProfileModel(); var result = GetListData<Hre_ProfileModel, Hre_ProfileEntity, Hre_ProfileActiveSearchModel>(request, model, ConstantSql.hrm_hr_sp_get_ProfileActive, ref status); if (isGroup == true) { var rptServices = new Hre_ReportServices(); var orgServices = new Cat_OrgStructureServices(); var lstObjOrg = new List<object>(); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(null); lstObjOrg.Add(1); lstObjOrg.Add(int.MaxValue - 1); var lstOrg = actionService.GetData<Cat_OrgStructureEntity>(lstObjOrg, ConstantSql.hrm_cat_sp_get_OrgStructure, ref status).ToList(); var orgTypeService = new Cat_OrgStructureTypeServices(); var lstObjOrgType = new List<object>(); lstObjOrgType.Add(null); lstObjOrgType.Add(null); lstObjOrgType.Add(1); lstObjOrgType.Add(int.MaxValue - 1); var lstOrgType = actionService.GetData<Cat_OrgStructureTypeEntity>(lstObjOrgType, ConstantSql.hrm_cat_sp_get_OrgStructureType, ref status).ToList(); result = GetListData<Hre_ProfileModel, Hre_ProfileEntity, Hre_ProfileActiveSearchModel>(request, model, ConstantSql.hrm_hr_sp_get_ProfileActive, ref status); DataTable table = new DataTable("Hre_ProfileModel"); table.Columns.Add("CodeEmp"); table.Columns.Add("ProfileName"); table.Columns.Add("FirstName"); table.Columns.Add("NameFamily"); table.Columns.Add("Channel"); table.Columns.Add("Region"); table.Columns.Add("Area"); table.Columns.Add("IDNo"); table.Columns.Add("IDDateOfIssue", typeof(DateTime)); table.Columns.Add("IDPlaceOfIssue"); table.Columns.Add("DateOfBirth", typeof(DateTime)); table.Columns.Add("PlaceOfBirth"); table.Columns.Add("Gender"); table.Columns.Add("MarriageStatus"); table.Columns.Add("NationalityName"); table.Columns.Add("ReligionName"); table.Columns.Add("EthnicGroupName"); table.Columns.Add("Email"); table.Columns.Add("CellPhone"); table.Columns.Add("CodeTax"); table.Columns.Add("TDistrictName"); table.Columns.Add("PDistrictName"); table.Columns.Add("JobTitleName"); table.Columns.Add("DateHire", typeof(DateTime)); table.Columns.Add("ContractNo"); table.Columns.Add("DateStartContract"); table.Columns.Add("DateEndContract"); table.Columns.Add("ContractTypeName"); table.Columns.Add("TimesOfContract"); table.Columns.Add("Notes"); table.Columns.Add("TAddress"); table.Columns.Add("PAddress"); table.Columns.Add("BasicSalary", typeof(double)); var salaryServices = new Sal_BasicSalaryServices(); var objSalary = new List<object>(); objSalary.AddRange(new object[10]); objSalary[8] = 1; objSalary[9] = int.MaxValue - 1; var lstBasicSalary = actionService.GetData<Sal_BasicSalaryEntity>(objSalary, ConstantSql.hrm_sal_sp_get_BasicPayroll, ref status).ToList(); var unuServices = new Sal_UnusualAllowanceServices(); var objUnu = new List<object>(); objUnu.AddRange(new object[9]); objUnu[7] = 1; objUnu[8] = int.MaxValue - 1; var lstUnu = actionService.GetData<Sal_UnusualAllowanceEntity>(objUnu, ConstantSql.hrm_sal_sp_get_UnusualED, ref status).ToList(); foreach (var item in result) { var basicSalaryEntity = lstBasicSalary.Where(s => s.ProfileID == item.ID).OrderByDescending(s => s.DateUpdate).FirstOrDefault(); var lstUnuByProfileID = lstUnu.Where(s => s.ProfileID == item.ID).ToList(); var orgName = new List<string>(); if (item.OrgStructureID != null) { orgName = rptServices.GetParentOrgName(lstOrg, lstOrgType, item.OrgStructureID); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); if (orgName.Count < 3) { orgName.Insert(0, string.Empty); } } } var lstObjPayroll = new List<object>(); lstObjPayroll.Add(item.ID); lstObjPayroll.Add(null); lstObjPayroll.Add(null); lstObjPayroll.Add(null); lstObjPayroll.Add(1); lstObjPayroll.Add(int.MaxValue - 1); var payrollTableByProfileID = actionService.GetData<Sal_PayrollTableItemEntity>(lstObjPayroll, ConstantSql.hrm_sal_sp_get_PayrollTableItemByProfile, ref status).OrderByDescending(s => s.DateCreate); var lstObjContract = new List<object>(); lstObjContract.Add(item.ID); var lstContract = actionService.GetData<Hre_ContractEntity>(lstObjContract, ConstantSql.hrm_hr_sp_get_ContractsByProfileId, ref status).OrderBy(s => s.DateCreate).ToList(); var lstObjRelative = new List<object>(); lstObjRelative.Add(item.ID); lstObjRelative.Add(1); lstObjRelative.Add(Int32.MaxValue - 1); var lstDependant = actionService.GetData<Hre_DependantEntity>(lstObjRelative, ConstantSql.hrm_hr_sp_get_DependantByProfileId, ref status).ToList(); DataRow dr = table.NewRow(); dr["CodeEmp"] = item.CodeEmp; dr["ProfileName"] = item.ProfileName; dr["FirstName"] = item.FirstName; dr["NameFamily"] = item.NameFamily; if (orgName.Count > 0) { dr["Channel"] = orgName[2]; dr["Region"] = orgName[1]; dr["Area"] = orgName[0]; } dr["IDNo"] = item.IDNo; if (item.IDDateOfIssue != null) { dr["IDDateOfIssue"] = item.IDDateOfIssue.Value; } dr["IDPlaceOfIssue"] = item.IDPlaceOfIssue; if (item.DateOfBirth != null) { dr["DateOfBirth"] = item.DateOfBirth; } dr["Gender"] = item.Gender; if (item.Gender == EnumDropDown.Gender.E_FEMALE.ToString()) { dr["Gender"] = "Nữ"; } if (item.Gender == EnumDropDown.Gender.E_MALE.ToString()) { dr["Gender"] = "Nam"; } dr["MarriageStatus"] = item.MarriageStatus; dr["NationalityName"] = item.NationalityName; dr["ReligionName"] = item.ReligionName; dr["EthnicGroupName"] = item.EthnicGroupName; dr["Email"] = item.Email; dr["CellPhone"] = item.Cellphone; dr["CodeTax"] = item.CodeTax; dr["TDistrictName"] = item.TDistrictName; dr["PDistrictName"] = item.PDistrictName; dr["JobTitleName"] = item.JobTitleName; dr["Notes"] = item.Notes; dr["TAddress"] = item.TAddress; dr["PAddress"] = item.PAddress; if (basicSalaryEntity != null) { dr["BasicSalary"] = double.Parse(basicSalaryEntity.GrossAmount); } if (item.DateHire != null) { dr["DateHire"] = item.DateHire.Value; } //if (payrollTableByProfileID != null) //{ // foreach (var payroll in payrollTableByProfileID) // { // Double value = 0; // if (!table.Columns.Contains(payroll.Code)) // { // table.Columns.Add(payroll.Code, typeof(Double)); // } // if (table.Columns.Contains(payroll.Code)) // { // if (payroll.ValueType == typeof(Double).Name) // { // Double.TryParse(payroll.Value, out value); // } // dr[payroll.Code] = value; // } // } //} if (lstContract != null && lstContract.Count > 0) { var contractEntity = lstContract.FirstOrDefault(); dr["TimesOfContract"] = lstContract.Count; dr["ContractNo"] = contractEntity.ContractNo; dr["ContractTypeName"] = contractEntity.ContractTypeName; dr["DateStartContract"] = contractEntity.DateStart; if (contractEntity.DateEnd != null) { dr["DateStartContract"] = contractEntity.DateEnd.Value; } } if (lstUnuByProfileID.Count > 0 && lstUnuByProfileID != null) { foreach (var unu in lstUnuByProfileID) { var titleName = unu.UnusualEDTypeCode + "|" + unu.UnusualAllowanceCfgName; if (!table.Columns.Contains(titleName)) { table.Columns.Add(titleName); } if (table.Columns.Contains(titleName)) { dr[titleName] = unu.Amount; } } } if (lstDependant.Count > 0 && lstDependant != null) { foreach (var dependant in lstDependant) { var titleName = dependant.DependantName + "|" + dependant.RelativeTypeName; if (!table.Columns.Contains(titleName)) { table.Columns.Add(titleName); } if (table.Columns.Contains(titleName)) { dr[titleName] = dependant.DependantName; } } } table.Rows.Add(dr); } if (model.IsCreateTemplateForDynamicGrid) { obj = result; isDataTable = false; } if (model != null && model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = table, FileName = "Hre_ProfileModel", OutPutPath = path, // HeaderInfo = listHeaderInfo, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = true }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } if (model.ExportId != Guid.Empty) { var fullPath = ExportService.Export(model.ExportId, table, null, model.ExportType); return Json(fullPath); } return Json(result.ToDataSourceResult(request)); } if (model.IsCreateTemplateForDynamicGrid) { obj = result; isDataTable = false; } if (model != null && model.IsCreateTemplate) { var path = Common.GetPath("Templates"); ExportService exportService = new ExportService(); ConfigExport cfgExport = new ConfigExport() { Object = obj, FileName = "Hre_ProfileModel", OutPutPath = path, // HeaderInfo = listHeaderInfo, DownloadPath = Hrm_Main_Web + "Templates", IsDataTable = isDataTable }; var str = exportService.CreateTemplate(cfgExport); return Json(str); } if (model.ExportId != Guid.Empty) { var fullPath = ExportService.Export(model.ExportId, result, null, model.ExportType); return Json(fullPath); } return Json(result.ToDataSourceResult(request)); }