From 60eec3b098c7ff68899962bf261c4388b38a46d6 Mon Sep 17 00:00:00 2001 From: Nakorn Rientrakrunchai Date: Tue, 15 Dec 2020 14:31:58 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=87=E0=B8=B2?= =?UTF-8?q?=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95?= =?UTF-8?q?=E0=B8=B4=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=80=E0=B8=A5=E0=B8=B7?= =?UTF-8?q?=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99?= =?UTF-8?q?=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99=E0=B8=A3=E0=B8=B2?= =?UTF-8?q?=E0=B8=A2=E0=B8=9A=E0=B8=B8=E0=B8=84=E0=B8=84=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rep_eva_self_review_allControllers.cs | 127 ++++++++++++++++++ ...a_level_score@rep_eva_self_review_all.xlsx | Bin 0 -> 9827 bytes .../Irep_eva_self_review_allService.cs | 19 +++ .../rep_eva_self_review_allInputModel.cs | 24 ++++ ...p_eva_self_review_allReportRequestModel.cs | 21 +++ .../rep_eva_self_review_allSearchModel.cs | 23 ++++ .../rep_eva_self_review_allService.cs | 41 ++++++ .../rep_eva_self_review_allViewModel.cs | 21 +++ ...a_self_review_allWithSelectionViewModel.cs | 12 ++ Startup.cs | 6 +- .../rep_eva_self_review_allViewControllers.cs | 55 ++++++++ .../rep_eva_self_review_all_report.cshtml | 45 +++++++ tb320eva.csproj | 2 + tb320eva.xml | 37 +++++ .../rep_eva_self_review_all_report.js | 59 ++++++++ 15 files changed, 491 insertions(+), 1 deletion(-) create mode 100644 ApiControllers/rep_eva_self_review_allControllers.cs create mode 100644 EXCEL/eva_level_score@rep_eva_self_review_all.xlsx create mode 100644 Models/rep_eva_self_review_all/Irep_eva_self_review_allService.cs create mode 100644 Models/rep_eva_self_review_all/rep_eva_self_review_allInputModel.cs create mode 100644 Models/rep_eva_self_review_all/rep_eva_self_review_allReportRequestModel.cs create mode 100644 Models/rep_eva_self_review_all/rep_eva_self_review_allSearchModel.cs create mode 100644 Models/rep_eva_self_review_all/rep_eva_self_review_allService.cs create mode 100644 Models/rep_eva_self_review_all/rep_eva_self_review_allViewModel.cs create mode 100644 Models/rep_eva_self_review_all/rep_eva_self_review_allWithSelectionViewModel.cs create mode 100644 ViewControllers/rep_eva_self_review_allViewControllers.cs create mode 100644 Views/rep_eva_self_review_allView/rep_eva_self_review_all_report.cshtml create mode 100644 wwwroot/js/rep_eva_self_review_all/rep_eva_self_review_all_report.js diff --git a/ApiControllers/rep_eva_self_review_allControllers.cs b/ApiControllers/rep_eva_self_review_allControllers.cs new file mode 100644 index 0000000..d0e7982 --- /dev/null +++ b/ApiControllers/rep_eva_self_review_allControllers.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Logging; +using TTSW.Controllers; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; +using System.Data; +using Microsoft.Extensions.Configuration; +using System.IO; +using System.Net; + +namespace TodoAPI2.Controllers +{ + //[Authorize] + [Produces("application/json")] + [Route("api/rep_eva_self_review_all")] + public class rep_eva_self_review_allController : BaseController + { + #region Private Variables + private ILogger _logger; + private Irep_eva_self_review_allService _repository; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public rep_eva_self_review_allController(ILogger logger, Irep_eva_self_review_allService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + + /// + /// Get Blank Item + /// + /// + /// + /// Return a blank item + /// Returns the item + /// Error Occurred + [HttpGet("GetBlankItem")] + [ProducesResponseType(typeof(rep_eva_self_review_allWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetBlankItem() + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetBlankItem(); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetBlankItem.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Download Report + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("rep_eva_self_review_all_report")] + [ProducesResponseType(typeof(FileStreamResult), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult rep_eva_self_review_all_report(rep_eva_self_review_allReportRequestModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var httpclient = new WebClient(); + string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); + string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); + string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); + string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); + + model.employee_id = Convert.ToInt32(HttpContext.Request.Cookies["emp_id"]); + + string url = $"{mainurl}{reportsite}/rep_eva_self_review_all.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + var stream = new MemoryStream(data); + + return File(stream, model.contentType); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while GetReport.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + + } +} diff --git a/EXCEL/eva_level_score@rep_eva_self_review_all.xlsx b/EXCEL/eva_level_score@rep_eva_self_review_all.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..088972bb1979a67a0219de8d09c13d33f408e9d9 GIT binary patch literal 9827 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 literal 0 HcmV?d00001 diff --git a/Models/rep_eva_self_review_all/Irep_eva_self_review_allService.cs b/Models/rep_eva_self_review_all/Irep_eva_self_review_allService.cs new file mode 100644 index 0000000..8f9fa7d --- /dev/null +++ b/Models/rep_eva_self_review_all/Irep_eva_self_review_allService.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; + +namespace TodoAPI2.Models +{ + public interface Irep_eva_self_review_allService + { + rep_eva_self_review_allWithSelectionViewModel GetBlankItem(); + + } +} + diff --git a/Models/rep_eva_self_review_all/rep_eva_self_review_allInputModel.cs b/Models/rep_eva_self_review_all/rep_eva_self_review_allInputModel.cs new file mode 100644 index 0000000..198ee9b --- /dev/null +++ b/Models/rep_eva_self_review_all/rep_eva_self_review_allInputModel.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class rep_eva_self_review_allInputModel + { + + public Guid? id { get; set; } + + public int? employee_id { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/rep_eva_self_review_all/rep_eva_self_review_allReportRequestModel.cs b/Models/rep_eva_self_review_all/rep_eva_self_review_allReportRequestModel.cs new file mode 100644 index 0000000..44829e6 --- /dev/null +++ b/Models/rep_eva_self_review_all/rep_eva_self_review_allReportRequestModel.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class rep_eva_self_review_allReportRequestModel : rep_eva_self_review_allSearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/rep_eva_self_review_all/rep_eva_self_review_allSearchModel.cs b/Models/rep_eva_self_review_all/rep_eva_self_review_allSearchModel.cs new file mode 100644 index 0000000..5b69f1d --- /dev/null +++ b/Models/rep_eva_self_review_all/rep_eva_self_review_allSearchModel.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class rep_eva_self_review_allSearchModel + { + + public Guid id { get; set; } + + public int? employee_id { get; set; } + + } +} + diff --git a/Models/rep_eva_self_review_all/rep_eva_self_review_allService.cs b/Models/rep_eva_self_review_all/rep_eva_self_review_allService.cs new file mode 100644 index 0000000..dac4248 --- /dev/null +++ b/Models/rep_eva_self_review_all/rep_eva_self_review_allService.cs @@ -0,0 +1,41 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; +using System.IO; +using System.Web; +using System.Net; +using TTSW.Configure; +using Microsoft.Extensions.Options; +using System.Data; + +namespace TodoAPI2.Models +{ + public class rep_eva_self_review_allService : Irep_eva_self_review_allService + { + private IBaseRepository _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + + public rep_eva_self_review_allService(IBaseRepository repository, IMyDatabase mydb, Iexternal_linkageService inext) + { + _repository = repository; + db = mydb; + ext = inext; + } + + public rep_eva_self_review_allWithSelectionViewModel GetBlankItem() + { + var i = new rep_eva_self_review_allWithSelectionViewModel(); + + + return i; + } + } +} \ No newline at end of file diff --git a/Models/rep_eva_self_review_all/rep_eva_self_review_allViewModel.cs b/Models/rep_eva_self_review_all/rep_eva_self_review_allViewModel.cs new file mode 100644 index 0000000..e6d2efb --- /dev/null +++ b/Models/rep_eva_self_review_all/rep_eva_self_review_allViewModel.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class rep_eva_self_review_allViewModel : BaseViewModel2 + { + + public int? employee_id { get; set; } + + + } +} \ No newline at end of file diff --git a/Models/rep_eva_self_review_all/rep_eva_self_review_allWithSelectionViewModel.cs b/Models/rep_eva_self_review_all/rep_eva_self_review_allWithSelectionViewModel.cs new file mode 100644 index 0000000..c81184b --- /dev/null +++ b/Models/rep_eva_self_review_all/rep_eva_self_review_allWithSelectionViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class rep_eva_self_review_allWithSelectionViewModel: rep_eva_self_review_allViewModel + { + + } +} \ No newline at end of file diff --git a/Startup.cs b/Startup.cs index 515a506..bb7184a 100644 --- a/Startup.cs +++ b/Startup.cs @@ -303,6 +303,8 @@ namespace Test01 services.AddScoped(); + services.AddScoped(); + #endregion services.TryAddSingleton(); @@ -546,7 +548,9 @@ namespace Test01 cfg.CreateMap(); cfg.CreateMap(); - + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); }); #endregion diff --git a/ViewControllers/rep_eva_self_review_allViewControllers.cs b/ViewControllers/rep_eva_self_review_allViewControllers.cs new file mode 100644 index 0000000..2794cfa --- /dev/null +++ b/ViewControllers/rep_eva_self_review_allViewControllers.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using TodoAPI2.Models; +using STAFF_API.Models; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Configuration; +using TodoAPI2.Controllers; + +namespace TodoAPI2.Controllers +{ + public class rep_eva_self_review_allViewController : Controller + { + private ILogger _logger; + private Irep_eva_self_review_allService _repository; + private IConfiguration Configuration { get; set; } + private Iexternal_employeeService emp; + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + /// + public rep_eva_self_review_allViewController(ILogger logger, Irep_eva_self_review_allService repository, + IConfiguration configuration, Iexternal_employeeService inemp) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + emp = inemp; + } + + + public IActionResult rep_eva_self_review_all_report() + { + MyHelper.get_login(HttpContext, emp, Response); + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + return View(); + } + + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public IActionResult Error() + { + return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); + } + } +} + + diff --git a/Views/rep_eva_self_review_allView/rep_eva_self_review_all_report.cshtml b/Views/rep_eva_self_review_allView/rep_eva_self_review_all_report.cshtml new file mode 100644 index 0000000..a29a5bc --- /dev/null +++ b/Views/rep_eva_self_review_allView/rep_eva_self_review_all_report.cshtml @@ -0,0 +1,45 @@ +@using Microsoft.Extensions.Configuration +@inject IConfiguration Configuration +@{ + ViewData["Title"] = "rep_eva_self_review_all"; +} + +
+
+
+ @Configuration["SiteInformation:modulename"] +
+
+
+ +
+
+ +
+
รายงานประวัติการเลื่อนเงินเดือนรายบุคคล
+
+
+ +
+ +
+
+
+
+
+ + +@section FooterPlaceHolder{ + + +} + diff --git a/tb320eva.csproj b/tb320eva.csproj index 1485eec..68c6c13 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -73,11 +73,13 @@ + + Always diff --git a/tb320eva.xml b/tb320eva.xml index 8a94aa8..7802db4 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -3710,6 +3710,34 @@ Returns the item Error Occurred + + + Default constructure for dependency injection + + + + + + + + Get Blank Item + + + + Return a blank item + Returns the item + Error Occurred + + + + Download Report + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + Default constructure for dependency injection @@ -4296,6 +4324,15 @@ + + + Default constructure for dependency injection + + + + + + Default constructure for dependency injection diff --git a/wwwroot/js/rep_eva_self_review_all/rep_eva_self_review_all_report.js b/wwwroot/js/rep_eva_self_review_all/rep_eva_self_review_all_report.js new file mode 100644 index 0000000..db7722d --- /dev/null +++ b/wwwroot/js/rep_eva_self_review_all/rep_eva_self_review_all_report.js @@ -0,0 +1,59 @@ +var rep_eva_self_review_all_API = "/api/rep_eva_self_review_all/"; + +//================= Search Customizaiton ========================================= + +function rep_eva_self_review_all_GetSearchParameter(fileType) { + var rep_eva_self_review_allSearchObject = new Object(); + rep_eva_self_review_allSearchObject.employee_id = $("#s_rep_eva_self_review_all_employee_id").val(); + + + rep_eva_self_review_allSearchObject.fileType = fileType; + + console.log(rep_eva_self_review_allSearchObject); + + return rep_eva_self_review_allSearchObject; +} + +function rep_eva_self_review_all_FeedDataToSearchForm(data) { + $("#s_rep_eva_self_review_all_employee_id").val(data.employee_id); + +} + +//================= Form Data Customizaiton ========================================= + +function rep_eva_self_review_all_InitialForm(s) { + var successFunc = function (result) { + rep_eva_self_review_all_FeedDataToSearchForm(result); + rep_eva_self_review_all_DoSearch('pdf'); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + rep_eva_self_review_all_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Data Table ========================================= + +var s_rep_eva_self_review_all_customValidation = function (group) { + return ""; +}; + + +function rep_eva_self_review_all_DoSearch(fileType) { + if (!ValidateForm('s_rep_eva_self_review_all', s_rep_eva_self_review_all_customValidation)) { + return; + } + + var p = $.param(rep_eva_self_review_all_GetSearchParameter(fileType)); + + var report_url = apisite + "/api/rep_eva_self_review_all/rep_eva_self_review_all_report?" + p; + + if (fileType === "pdf") { + $("#report_result").attr("src", report_url); + $("#report_result").show(); + //window.open(report_url); + } else { + $("#report_result").hide(); + window.open(report_url); + } +} +