diff --git a/ApiControllers/eva_create_evaluation_detail_historyControllers.cs b/ApiControllers/eva_create_evaluation_detail_historyControllers.cs new file mode 100644 index 0000000..a354ddb --- /dev/null +++ b/ApiControllers/eva_create_evaluation_detail_historyControllers.cs @@ -0,0 +1,403 @@ +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/eva_create_evaluation_detail_history")] + public class eva_create_evaluation_detail_historyController : BaseController + { + #region Private Variables + private ILogger _logger; + private Ieva_create_evaluation_detail_historyService _repository; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_create_evaluation_detail_historyController(ILogger logger, Ieva_create_evaluation_detail_historyService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + /// + /// Get specific item by id + /// + /// + /// + /// Return Get specific item by id + /// Returns the item + /// Error Occurred + [HttpGet("{id}")] + [ProducesResponseType(typeof(eva_create_evaluation_detail_historyWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Get(int id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetWithSelection(id); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult Get.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get Blank Item + /// + /// + /// + /// Return a blank item + /// Returns the item + /// Error Occurred + [HttpGet("GetBlankItem")] + [ProducesResponseType(typeof(eva_create_evaluation_detail_historyWithSelectionViewModel), 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}"); + } + } + + /// + /// Get list items by evaluation_detail_id + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetList(int? evaluation_detail_id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListByevaluation_detail_id(evaluation_detail_id)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetList.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by search + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("GetListBySearch")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetListBySearch(eva_create_evaluation_detail_historySearchModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBySearch(model)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetListBySearch.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Download Report + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("eva_create_evaluation_detail_history_report")] + [ProducesResponseType(typeof(FileStreamResult), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult eva_create_evaluation_detail_history_report(eva_create_evaluation_detail_historyReportRequestModel 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"); + + string url = $"{mainurl}{reportsite}/xxใส่ชื่อรายงานตรงนี้xx.{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}"); + } + } + + /// + /// Create new item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPost("")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Insert([FromBody] eva_create_evaluation_detail_historyInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Insert(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"เพิ่มข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while insert.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update item + /// + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Update(int id, [FromBody] eva_create_evaluation_detail_historyInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Update(id, model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while update {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Delete item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpDelete("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Delete(int id) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.Delete(id); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ลบข้อมูล เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while delete {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update multiple item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("UpdateMultiple")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult UpdateMultiple([FromBody] List model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + string rowCount = _repository.UpdateMultiple(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = "ปรับปรุงข้อมูลเรียบร้อย จำนวน "+rowCount+" รายการ"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while UpdateMultiple.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Refresh AutoField of all items + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("RefreshAutoField")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult RefreshAutoField() + { + if (ModelState.IsValid) + { + try + { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.RefreshAutoFieldOfAllData(); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ปรับปรุง Auto Field ของทุก record เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while RefreshAutoField.", ex); + return StatusCode(500, $"มีปัญหาระหว่างการปรับปรุง Auto Field. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + + + } +} diff --git a/ApiControllers/eva_create_evaluation_detail_statusControllers.cs b/ApiControllers/eva_create_evaluation_detail_statusControllers.cs index c7ea76f..29b445d 100644 --- a/ApiControllers/eva_create_evaluation_detail_statusControllers.cs +++ b/ApiControllers/eva_create_evaluation_detail_statusControllers.cs @@ -27,6 +27,7 @@ namespace TodoAPI2.Controllers private ILogger _logger; private Ieva_create_evaluation_detail_statusService _repository; private IConfiguration Configuration { get; set; } + private Iexternal_employeeService emp; #endregion #region Properties @@ -37,13 +38,17 @@ namespace TodoAPI2.Controllers /// Default constructure for dependency injection /// /// - /// + /// + /// /// - public eva_create_evaluation_detail_statusController(ILogger logger, Ieva_create_evaluation_detail_statusService repository, IConfiguration configuration) + public eva_create_evaluation_detail_statusController(ILogger logger, + Ieva_create_evaluation_detail_statusService repository, IConfiguration configuration, + Iexternal_employeeService inemp) { _logger = logger; _repository = repository; Configuration = configuration; + emp = inemp; } /// @@ -220,12 +225,25 @@ namespace TodoAPI2.Controllers try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); - var result = _repository.Update(id, model); - var message = new CommonResponseMessage(); - message.code = "200"; - message.message = $"แก้ไขข้อมูล เรียบร้อย"; - message.data = result; - return Ok(message); + + if (!string.IsNullOrEmpty(HttpContext.Request.Cookies["user_id"])) + { + var loginid = Convert.ToInt32(HttpContext.Request.Cookies["user_id"]); + var e = emp.GetEmployeeForLogin(Convert.ToInt32(loginid)); + model.employee_id = e.id; + var result = _repository.Update(id, model); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + else + { + return Unauthorized(); + } + + } catch (Exception ex) { diff --git a/ApiControllers/eva_evaluation_achievement_attachControllers.cs b/ApiControllers/eva_evaluation_achievement_attachControllers.cs new file mode 100644 index 0000000..b3be847 --- /dev/null +++ b/ApiControllers/eva_evaluation_achievement_attachControllers.cs @@ -0,0 +1,403 @@ +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/eva_evaluation_achievement_attach")] + public class eva_evaluation_achievement_attachController : BaseController + { + #region Private Variables + private ILogger _logger; + private Ieva_evaluation_achievement_attachService _repository; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_evaluation_achievement_attachController(ILogger logger, Ieva_evaluation_achievement_attachService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + /// + /// Get specific item by id + /// + /// + /// + /// Return Get specific item by id + /// Returns the item + /// Error Occurred + [HttpGet("{id}")] + [ProducesResponseType(typeof(eva_evaluation_achievement_attachWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Get(int id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetWithSelection(id); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult Get.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get Blank Item + /// + /// + /// + /// Return a blank item + /// Returns the item + /// Error Occurred + [HttpGet("GetBlankItem")] + [ProducesResponseType(typeof(eva_evaluation_achievement_attachWithSelectionViewModel), 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}"); + } + } + + /// + /// Get list items by achievement_id + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetList(int? achievement_id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListByachievement_id(achievement_id)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetList.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by search + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("GetListBySearch")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetListBySearch(eva_evaluation_achievement_attachSearchModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBySearch(model)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetListBySearch.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Download Report + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("eva_evaluation_achievement_attach_report")] + [ProducesResponseType(typeof(FileStreamResult), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult eva_evaluation_achievement_attach_report(eva_evaluation_achievement_attachReportRequestModel 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"); + + string url = $"{mainurl}{reportsite}/xxใส่ชื่อรายงานตรงนี้xx.{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}"); + } + } + + /// + /// Create new item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPost("")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Insert([FromBody] eva_evaluation_achievement_attachInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Insert(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"เพิ่มข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while insert.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update item + /// + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Update(int id, [FromBody] eva_evaluation_achievement_attachInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Update(id, model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while update {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Delete item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpDelete("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Delete(int id) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.Delete(id); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ลบข้อมูล เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while delete {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update multiple item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("UpdateMultiple")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult UpdateMultiple([FromBody] List model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + string rowCount = _repository.UpdateMultiple(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = "ปรับปรุงข้อมูลเรียบร้อย จำนวน "+rowCount+" รายการ"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while UpdateMultiple.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Refresh AutoField of all items + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("RefreshAutoField")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult RefreshAutoField() + { + if (ModelState.IsValid) + { + try + { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.RefreshAutoFieldOfAllData(); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ปรับปรุง Auto Field ของทุก record เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while RefreshAutoField.", ex); + return StatusCode(500, $"มีปัญหาระหว่างการปรับปรุง Auto Field. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + + + } +} diff --git a/ApiControllers/eva_idp_plan_reviewerControllers.cs b/ApiControllers/eva_idp_plan_reviewerControllers.cs new file mode 100644 index 0000000..36c462e --- /dev/null +++ b/ApiControllers/eva_idp_plan_reviewerControllers.cs @@ -0,0 +1,403 @@ +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/eva_idp_plan_reviewer")] + public class eva_idp_plan_reviewerController : BaseController + { + #region Private Variables + private ILogger _logger; + private Ieva_idp_plan_reviewerService _repository; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_idp_plan_reviewerController(ILogger logger, Ieva_idp_plan_reviewerService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + /// + /// Get specific item by id + /// + /// + /// + /// Return Get specific item by id + /// Returns the item + /// Error Occurred + [HttpGet("{id}")] + [ProducesResponseType(typeof(eva_idp_plan_reviewerWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Get(int id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetWithSelection(id); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult Get.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get Blank Item + /// + /// + /// + /// Return a blank item + /// Returns the item + /// Error Occurred + [HttpGet("GetBlankItem")] + [ProducesResponseType(typeof(eva_idp_plan_reviewerWithSelectionViewModel), 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}"); + } + } + + /// + /// Get list items by create_evaluation_detail_id + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetList(int? create_evaluation_detail_id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBycreate_evaluation_detail_id(create_evaluation_detail_id)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetList.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by search + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("GetListBySearch")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetListBySearch(eva_idp_plan_reviewerSearchModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBySearch(model)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetListBySearch.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Download Report + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("eva_idp_plan_reviewer_report")] + [ProducesResponseType(typeof(FileStreamResult), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult eva_idp_plan_reviewer_report(eva_idp_plan_reviewerReportRequestModel 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"); + + string url = $"{mainurl}{reportsite}/xxใส่ชื่อรายงานตรงนี้xx.{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}"); + } + } + + /// + /// Create new item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPost("")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Insert([FromBody] eva_idp_plan_reviewerInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Insert(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"เพิ่มข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while insert.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update item + /// + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Update(int id, [FromBody] eva_idp_plan_reviewerInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Update(id, model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while update {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Delete item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpDelete("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Delete(int id) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.Delete(id); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ลบข้อมูล เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while delete {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update multiple item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("UpdateMultiple")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult UpdateMultiple([FromBody] List model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + string rowCount = _repository.UpdateMultiple(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = "ปรับปรุงข้อมูลเรียบร้อย จำนวน "+rowCount+" รายการ"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while UpdateMultiple.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Refresh AutoField of all items + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("RefreshAutoField")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult RefreshAutoField() + { + if (ModelState.IsValid) + { + try + { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.RefreshAutoFieldOfAllData(); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ปรับปรุง Auto Field ของทุก record เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while RefreshAutoField.", ex); + return StatusCode(500, $"มีปัญหาระหว่างการปรับปรุง Auto Field. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + + + } +} diff --git a/ApiControllers/rep_eva_limit_frame_planControllers.cs b/ApiControllers/rep_eva_limit_frame_planControllers.cs index 7abfaf8..6483992 100644 --- a/ApiControllers/rep_eva_limit_frame_planControllers.cs +++ b/ApiControllers/rep_eva_limit_frame_planControllers.cs @@ -138,7 +138,13 @@ namespace TodoAPI2.Controllers reader.Close(); var all_group = (from t in _repository.GetContext().eva_limit_frame_group + + join fk_eva_evaluation_group2 in _repository.GetContext().eva_evaluation_group on t.group_guid equals fk_eva_evaluation_group2.id + into eva_evaluation_groupResult2 + from fk_eva_evaluation_groupResult2 in eva_evaluation_groupResult2.DefaultIfEmpty() + where t.frame_plan_guid == model.frame_plan_guid + orderby fk_eva_evaluation_groupResult2.code select t); foreach(var u in all_group) { diff --git a/ApiControllers/rep_eva_self_reviewControllers.cs b/ApiControllers/rep_eva_self_reviewControllers.cs index b48698a..db53aff 100644 --- a/ApiControllers/rep_eva_self_reviewControllers.cs +++ b/ApiControllers/rep_eva_self_reviewControllers.cs @@ -16,6 +16,8 @@ using System.Data; using Microsoft.Extensions.Configuration; using System.IO; using System.Net; +using iTextSharp.text; +using iTextSharp.text.pdf; namespace TodoAPI2.Controllers { @@ -96,43 +98,39 @@ namespace TodoAPI2.Controllers { 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"); - var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail - join y in _repository.GetContext().eva_adjust_postponement - on x.adjust_postponement_id equals y.id - where x.id == model.detail_id - select y).FirstOrDefault(); - if(temp != null) + var stream = new MemoryStream(); + Document document = new Document(); + PdfCopy writer = new PdfCopy(document, stream); + document.Open(); + + var data1 = GetReport01(model); + PdfReader reader1 = new PdfReader(data1); + reader1.ConsolidateNamedDestinations(); + for (int i = 1; i <= reader1.NumberOfPages; i++) { - model.theround = temp.theRound.ToString(); - model.theyear = temp.fiscal_year.ToString(); + PdfImportedPage page = writer.GetImportedPage(reader1, i); + writer.AddPage(page); } + reader1.Close(); - var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail - where x.id == model.detail_id - select x).FirstOrDefault(); + //var data2 = GetReport02(model); + //PdfReader reader2 = new PdfReader(data2); + //reader2.ConsolidateNamedDestinations(); + //for (int i = 1; i <= reader2.NumberOfPages; i++) + //{ + // PdfImportedPage page = writer.GetImportedPage(reader2, i); + // writer.AddPage(page); + //} + //reader2.Close(); - if(temp2 != null && temp2.promoted_percentage.HasValue) - { - model.x1 = temp2.promoted_percentage.Value > 0 ? "X" : ""; - model.x2 = temp2.promoted_percentage.Value <= 0 ? "X" : ""; - } + writer.Close(); + document.Close(); - string url = $"{mainurl}{reportsite}/rep_eva_self_review.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + var datax = stream.ToArray(); + var streamx = new MemoryStream(datax); - if (model.filetype == "xlsx") - { - url += "&ignorePagination=true"; - } - - var data = httpclient.DownloadData(url); - var stream = new MemoryStream(data); - - return File(stream, model.contentType); + return File(streamx, model.contentType); } catch (Exception ex) { @@ -141,6 +139,134 @@ namespace TodoAPI2.Controllers } } + private byte[] GetReport01(rep_eva_self_reviewReportRequestModel model) + { + 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"); + + var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail + + join fk_eva_adjust_postponement1 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_id equals fk_eva_adjust_postponement1.id + into eva_adjust_postponementResult1 + from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() + + join fk_eva_adjust_postponement2 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_quota_id equals fk_eva_adjust_postponement2.id + into eva_adjust_postponementResult2 + from fk_eva_adjust_postponementResult2 in eva_adjust_postponementResult2.DefaultIfEmpty() + + where x.id == model.detail_id + select fk_eva_adjust_postponementResult1 == null? fk_eva_adjust_postponementResult1 : fk_eva_adjust_postponementResult2).FirstOrDefault(); + if (temp != null) + { + model.theround = temp.theRound.ToString(); + model.theyear = temp.fiscal_year.ToString(); + + var all_eva = (from x in _repository.GetContext().eva_performance_plan + where x.fiscal_year == temp.fiscal_year + && x.theTime == temp.theRound + orderby x.theTime + select x).ToList(); + foreach (var x2 in all_eva) + { + var start = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.start_date).Min(); + var end = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.end_date).Min(); + model.thedesc = "ตั้งแต่วันที่ " + MyHelper.GetDateStringForReport(start) + " ถึงวันที่ " + MyHelper.GetDateStringForReport(end); + } + } + + var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail + where x.id == model.detail_id + select x).FirstOrDefault(); + + if (temp2 != null && temp2.promoted_percentage.HasValue) + { + model.x1 = temp2.promoted_percentage.Value > 0 ? "/" : ""; + model.x2 = temp2.promoted_percentage.Value <= 0 ? "/" : ""; + } + + + + string url = $"{mainurl}{reportsite}/rep_eva_self_review.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + return data; + } + + private byte[] GetReport02(rep_eva_self_reviewReportRequestModel model) + { + 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"); + + var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail + + join fk_eva_adjust_postponement1 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_id equals fk_eva_adjust_postponement1.id + into eva_adjust_postponementResult1 + from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() + + join fk_eva_adjust_postponement2 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_quota_id equals fk_eva_adjust_postponement2.id + into eva_adjust_postponementResult2 + from fk_eva_adjust_postponementResult2 in eva_adjust_postponementResult2.DefaultIfEmpty() + + where x.id == model.detail_id + select fk_eva_adjust_postponementResult1 == null ? fk_eva_adjust_postponementResult1 : fk_eva_adjust_postponementResult2).FirstOrDefault(); + if (temp != null) + { + model.theround = temp.theRound.ToString(); + model.theyear = temp.fiscal_year.ToString(); + + var all_eva = (from x in _repository.GetContext().eva_performance_plan + where x.fiscal_year == temp.fiscal_year + && x.theTime == temp.theRound + orderby x.theTime + select x).ToList(); + foreach (var x2 in all_eva) + { + var start = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.start_date).Min(); + var end = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.end_date).Min(); + model.thedesc = "ตั้งแต่วันที่ " + MyHelper.GetDateStringForReport(start) + " ถึงวันที่ " + MyHelper.GetDateStringForReport(end); + } + } + + var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail + where x.id == model.detail_id + select x).FirstOrDefault(); + + if (temp2 != null && temp2.promoted_percentage.HasValue) + { + model.x1 = temp2.promoted_percentage.Value > 0 ? "/" : ""; + model.x2 = temp2.promoted_percentage.Value <= 0 ? "/" : ""; + } + + string url = $"{mainurl}{reportsite}/rep_eva_self_review_cover.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + return data; + } } } diff --git a/EF/DataContext.cs b/EF/DataContext.cs index 231ef81..992fa69 100644 --- a/EF/DataContext.cs +++ b/EF/DataContext.cs @@ -41,8 +41,13 @@ namespace TTSW.EF { public DbSet eva_limit_frame_employee { get; set; } public DbSet eva_limit_frame_group { get; set; } public DbSet eva_limit_frame_plan { get; set; } - public DbSet eva_idp_plan { get; set; } + public DbSet eva_create_evaluation_detail_history { get; set; } + + public DbSet eva_evaluation_achievement_attach { get; set; } + + public DbSet activity_log_eva { get; set; } + protected override void OnModelCreating (ModelBuilder modelBuilder) { base.OnModelCreating (modelBuilder); diff --git a/EF/_BaseRepository.cs b/EF/_BaseRepository.cs index babc98d..fd74f9c 100644 --- a/EF/_BaseRepository.cs +++ b/EF/_BaseRepository.cs @@ -1,15 +1,18 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; -using System.Transactions; using AutoMapper; using System.Linq.Expressions; using TTSW.Common; using TodoAPI2.Models; using Microsoft.AspNetCore.Http; using IdentityModel; +using Newtonsoft.Json; +using System.Reflection; +using System.Data; +using System.ComponentModel.DataAnnotations; +using TTSW.Utils; namespace TTSW.EF { @@ -18,6 +21,7 @@ namespace TTSW.EF { #region Private Variables private DataContext _context; + private IMyDatabase _db; public DataContext Context { get @@ -38,11 +42,12 @@ namespace TTSW.EF } #endregion - public BaseRepository(DataContext context, IHttpContextAccessor contextAccessor + public BaseRepository(DataContext context, IHttpContextAccessor contextAccessor, IMyDatabase mydatabase ) { _context = context; _contextAccessor = contextAccessor; + _db = mydatabase; } #region Private Functions @@ -211,6 +216,26 @@ namespace TTSW.EF entity = SetUpdatorProperties(entity); entity = SetActiveProperty(entity); + var log = new activity_log(); + log.attributes = entity; + log.old = null; + + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = entity.GetType().Name.Replace("Entity", ""); + activity_log.description = "Add " + entity.GetType().Name.Replace("Entity", ""); + activity_log.subject_id = 0; + activity_log.subject_type = entity.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + var result = Entities.Add(entity); if(!SaveToDB()) @@ -237,17 +262,49 @@ namespace TTSW.EF if (!SaveToDB()) throw new NotificationException($"Unable to insert item to database."); } + + + public T Update(Key id, object model) { var userLogin = GetLoginProfile(); - var existingItem = Get(id); + object old_existingItem; - if(existingItem == null) + try + { + var x = MyHelper.GetDataRow(id, model, _db); + old_existingItem = MyHelper.GetObject(x, model.GetType().Name.Replace("Entity", "")); + } + catch(Exception ex) + { + old_existingItem = null; + } + + if (existingItem == null) throw new NotificationException($"No item in database."); Mapper.Map(model, existingItem); + var log = new activity_log(); + log.attributes = existingItem; + log.old = old_existingItem; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Update " + existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + existingItem = SetUpdatorProperties(existingItem); if (!SaveToDB()) @@ -295,6 +352,25 @@ namespace TTSW.EF var existingItem = Get(id); + var log = new activity_log(); + log.attributes = existingItem; + log.old = null; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Delete " + existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + if (existingItem == null) throw new NotificationException($"No item in database."); diff --git a/EF/_BaseRepository2.cs b/EF/_BaseRepository2.cs index a24d59e..1d23f38 100644 --- a/EF/_BaseRepository2.cs +++ b/EF/_BaseRepository2.cs @@ -10,14 +10,24 @@ using TTSW.Common; using TodoAPI2.Models; using Microsoft.AspNetCore.Http; using IdentityModel; +using Newtonsoft.Json.Serialization; +using Newtonsoft.Json; +using TTSW.Utils; namespace TTSW.EF { + public class activity_log + { + public object attributes { get; set; } + public object old { get; set; } + } + public class BaseRepository2 : IBaseRepository2 where T : class, IBaseEntity2 { #region Private Variables private DataContext _context; + private IMyDatabase _db; public DataContext Context { get @@ -38,11 +48,12 @@ namespace TTSW.EF } #endregion - public BaseRepository2(DataContext context, IHttpContextAccessor contextAccessor + public BaseRepository2(DataContext context, IHttpContextAccessor contextAccessor, IMyDatabase mydatabase ) { _context = context; _contextAccessor = contextAccessor; + _db = mydatabase; } #region Private Functions @@ -213,7 +224,27 @@ namespace TTSW.EF var result = Entities.Add(entity); - if(!SaveToDB()) + var log = new activity_log(); + log.attributes = entity; + log.old = null; + + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = entity.GetType().Name.Replace("Entity", ""); + activity_log.description = "Add " + entity.GetType().Name.Replace("Entity", ""); + activity_log.subject_id = 0; + activity_log.subject_type = entity.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + + if (!SaveToDB()) throw new NotificationException($"Unable to add new item to database."); return Get(result.Entity.id); @@ -242,12 +273,42 @@ namespace TTSW.EF var userLogin = GetLoginProfile(); var existingItem = Get(id); + object old_existingItem; - if(existingItem == null) + try + { + var x = MyHelper.GetDataRow(id, model, _db); + old_existingItem = MyHelper.GetObject(x, model.GetType().Name.Replace("Entity", "")); + } + catch (Exception ex) + { + old_existingItem = null; + } + + if (existingItem == null) throw new NotificationException($"No item in database."); Mapper.Map(model, existingItem); + var log = new activity_log(); + log.attributes = existingItem; + log.old = old_existingItem; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Update " + existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + existingItem = SetUpdatorProperties(existingItem); if (!SaveToDB()) @@ -294,6 +355,24 @@ namespace TTSW.EF var userLogin = GetLoginProfile(); var existingItem = Get(id); + var log = new activity_log(); + log.attributes = existingItem; + log.old = null; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Delete " + existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); if (existingItem == null) throw new NotificationException($"No item in database."); diff --git a/EXCEL/eva_adjust_postponement@eva_adjust_postponement_normal.xlsx b/EXCEL/eva_adjust_postponement@eva_adjust_postponement_normal.xlsx index 305e1cf..104412c 100644 Binary files a/EXCEL/eva_adjust_postponement@eva_adjust_postponement_normal.xlsx and b/EXCEL/eva_adjust_postponement@eva_adjust_postponement_normal.xlsx differ diff --git a/EXCEL/eva_adjust_postponement_detail.xlsx b/EXCEL/eva_adjust_postponement_detail.xlsx index 01eb6dd..dbed5e3 100644 Binary files a/EXCEL/eva_adjust_postponement_detail.xlsx and b/EXCEL/eva_adjust_postponement_detail.xlsx differ diff --git a/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx b/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx index 11b3716..db1f210 100644 Binary files a/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx and b/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx differ diff --git a/EXCEL/eva_create_evaluation_detail_history.xlsx b/EXCEL/eva_create_evaluation_detail_history.xlsx new file mode 100644 index 0000000..b634e6e Binary files /dev/null and b/EXCEL/eva_create_evaluation_detail_history.xlsx differ diff --git a/EXCEL/eva_evaluation_achievement_attach.xlsx b/EXCEL/eva_evaluation_achievement_attach.xlsx new file mode 100644 index 0000000..eb0c35b Binary files /dev/null and b/EXCEL/eva_evaluation_achievement_attach.xlsx differ diff --git a/EXCEL/eva_evaluation_behavior.xlsx b/EXCEL/eva_evaluation_behavior.xlsx index 26255b8..b41ded1 100644 Binary files a/EXCEL/eva_evaluation_behavior.xlsx and b/EXCEL/eva_evaluation_behavior.xlsx differ diff --git a/EXCEL/eva_idp_plan@eva_idp_plan_reviewer.xlsx b/EXCEL/eva_idp_plan@eva_idp_plan_reviewer.xlsx new file mode 100644 index 0000000..1d0fddd Binary files /dev/null and b/EXCEL/eva_idp_plan@eva_idp_plan_reviewer.xlsx differ diff --git a/EXCEL/eva_performance_plan.xlsx b/EXCEL/eva_performance_plan.xlsx index 96c6f63..aa1a030 100644 Binary files a/EXCEL/eva_performance_plan.xlsx and b/EXCEL/eva_performance_plan.xlsx differ diff --git a/EXCEL/eva_salary_cylinder.xlsx b/EXCEL/eva_salary_cylinder.xlsx index 4d8f6e1..ef60e9c 100644 Binary files a/EXCEL/eva_salary_cylinder.xlsx and b/EXCEL/eva_salary_cylinder.xlsx differ diff --git a/Migrations/20210328084209_UpdatePlan.Designer.cs b/Migrations/20210328084209_UpdatePlan.Designer.cs new file mode 100644 index 0000000..4346f16 --- /dev/null +++ b/Migrations/20210328084209_UpdatePlan.Designer.cs @@ -0,0 +1,962 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210328084209_UpdatePlan")] + partial class UpdatePlan + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210328084209_UpdatePlan.cs b/Migrations/20210328084209_UpdatePlan.cs new file mode 100644 index 0000000..2269636 --- /dev/null +++ b/Migrations/20210328084209_UpdatePlan.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class UpdatePlan : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "percent", + table: "eva_performance_plan", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "percent", + table: "eva_performance_plan"); + } + } +} diff --git a/Migrations/20210406042734_AddMigrationField003.Designer.cs b/Migrations/20210406042734_AddMigrationField003.Designer.cs new file mode 100644 index 0000000..7174543 --- /dev/null +++ b/Migrations/20210406042734_AddMigrationField003.Designer.cs @@ -0,0 +1,968 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210406042734_AddMigrationField003")] + partial class AddMigrationField003 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210406042734_AddMigrationField003.cs b/Migrations/20210406042734_AddMigrationField003.cs new file mode 100644 index 0000000..32964d8 --- /dev/null +++ b/Migrations/20210406042734_AddMigrationField003.cs @@ -0,0 +1,33 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddMigrationField003 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "employee_no_at_this_time", + table: "eva_adjust_postponement_detail", + maxLength: 1000, + nullable: true); + + migrationBuilder.AddColumn( + name: "fullname_at_this_time", + table: "eva_adjust_postponement_detail", + maxLength: 1000, + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "employee_no_at_this_time", + table: "eva_adjust_postponement_detail"); + + migrationBuilder.DropColumn( + name: "fullname_at_this_time", + table: "eva_adjust_postponement_detail"); + } + } +} diff --git a/Migrations/20210409015522_Addis_for_postponement.Designer.cs b/Migrations/20210409015522_Addis_for_postponement.Designer.cs new file mode 100644 index 0000000..ad7eb9f --- /dev/null +++ b/Migrations/20210409015522_Addis_for_postponement.Designer.cs @@ -0,0 +1,970 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210409015522_Addis_for_postponement")] + partial class Addis_for_postponement + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210409015522_Addis_for_postponement.cs b/Migrations/20210409015522_Addis_for_postponement.cs new file mode 100644 index 0000000..9ef9afd --- /dev/null +++ b/Migrations/20210409015522_Addis_for_postponement.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class Addis_for_postponement : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "is_for_postponement", + table: "eva_adjust_postponement_detail", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "is_for_postponement", + table: "eva_adjust_postponement_detail"); + } + } +} diff --git a/Migrations/20210411122053_AddAttach.Designer.cs b/Migrations/20210411122053_AddAttach.Designer.cs new file mode 100644 index 0000000..64fa97e --- /dev/null +++ b/Migrations/20210411122053_AddAttach.Designer.cs @@ -0,0 +1,999 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210411122053_AddAttach")] + partial class AddAttach + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210411122053_AddAttach.cs b/Migrations/20210411122053_AddAttach.cs new file mode 100644 index 0000000..003c3e4 --- /dev/null +++ b/Migrations/20210411122053_AddAttach.cs @@ -0,0 +1,44 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddAttach : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "eva_evaluation_achievement_attach", + columns: table => new + { + id = table.Column(nullable: false), + created = table.Column(nullable: false), + updated = table.Column(nullable: false), + isActive = table.Column(nullable: false), + achievement_id = table.Column(nullable: true), + the_file = table.Column(maxLength: 1000, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_eva_evaluation_achievement_attach", x => x.id); + table.ForeignKey( + name: "FK_eva_evaluation_achievement_attach_eva_evaluation_achievemen~", + column: x => x.achievement_id, + principalTable: "eva_evaluation_achievement", + principalColumn: "id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_eva_evaluation_achievement_attach_achievement_id", + table: "eva_evaluation_achievement_attach", + column: "achievement_id"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "eva_evaluation_achievement_attach"); + } + } +} diff --git a/Migrations/20210413072130_AddEvaLog.Designer.cs b/Migrations/20210413072130_AddEvaLog.Designer.cs new file mode 100644 index 0000000..ed93980 --- /dev/null +++ b/Migrations/20210413072130_AddEvaLog.Designer.cs @@ -0,0 +1,1032 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210413072130_AddEvaLog")] + partial class AddEvaLog + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210413072130_AddEvaLog.cs b/Migrations/20210413072130_AddEvaLog.cs new file mode 100644 index 0000000..932de5d --- /dev/null +++ b/Migrations/20210413072130_AddEvaLog.cs @@ -0,0 +1,46 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddEvaLog : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "eva_create_evaluation_detail_history", + columns: table => new + { + id = table.Column(nullable: false), + created = table.Column(nullable: false), + updated = table.Column(nullable: false), + isActive = table.Column(nullable: false), + evaluation_detail_id = table.Column(nullable: true), + action_dt = table.Column(nullable: true), + action_detail = table.Column(maxLength: 4000, nullable: true), + action_emp_id = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_eva_create_evaluation_detail_history", x => x.id); + table.ForeignKey( + name: "FK_eva_create_evaluation_detail_history_eva_create_evaluation_~", + column: x => x.evaluation_detail_id, + principalTable: "eva_create_evaluation_detail", + principalColumn: "id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_eva_create_evaluation_detail_history_evaluation_detail_id", + table: "eva_create_evaluation_detail_history", + column: "evaluation_detail_id"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "eva_create_evaluation_detail_history"); + } + } +} diff --git a/Migrations/20210519141654_AddLog.Designer.cs b/Migrations/20210519141654_AddLog.Designer.cs new file mode 100644 index 0000000..b92efa7 --- /dev/null +++ b/Migrations/20210519141654_AddLog.Designer.cs @@ -0,0 +1,1071 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210519141654_AddLog")] + partial class AddLog + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(4000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(8000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210519141654_AddLog.cs b/Migrations/20210519141654_AddLog.cs new file mode 100644 index 0000000..97da9c9 --- /dev/null +++ b/Migrations/20210519141654_AddLog.cs @@ -0,0 +1,41 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace tb320eva.Migrations +{ + public partial class AddLog : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "activity_log_eva", + columns: table => new + { + id = table.Column(nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn), + log_name = table.Column(maxLength: 191, nullable: true), + description = table.Column(maxLength: 4000, nullable: true), + subject_id = table.Column(nullable: true), + subject_type = table.Column(maxLength: 191, nullable: true), + causer_id = table.Column(nullable: true), + causer_type = table.Column(maxLength: 191, nullable: true), + properties = table.Column(maxLength: 8000, nullable: true), + ip_address = table.Column(maxLength: 191, nullable: true), + mac_address = table.Column(maxLength: 191, nullable: true), + created_at = table.Column(nullable: true), + updated_at = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_activity_log_eva", x => x.id); + }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "activity_log_eva"); + } + } +} diff --git a/Migrations/20210708074957_Updatesalary_cylinder.Designer.cs b/Migrations/20210708074957_Updatesalary_cylinder.Designer.cs new file mode 100644 index 0000000..68fefc3 --- /dev/null +++ b/Migrations/20210708074957_Updatesalary_cylinder.Designer.cs @@ -0,0 +1,1075 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210708074957_Updatesalary_cylinder")] + partial class Updatesalary_cylinder + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(4000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(8000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("monthly_compensation"); + + b.Property("position_allowance"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210708074957_Updatesalary_cylinder.cs b/Migrations/20210708074957_Updatesalary_cylinder.cs new file mode 100644 index 0000000..8c06716 --- /dev/null +++ b/Migrations/20210708074957_Updatesalary_cylinder.cs @@ -0,0 +1,31 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class Updatesalary_cylinder : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "monthly_compensation", + table: "eva_salary_cylinder", + nullable: true); + + migrationBuilder.AddColumn( + name: "position_allowance", + table: "eva_salary_cylinder", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "monthly_compensation", + table: "eva_salary_cylinder"); + + migrationBuilder.DropColumn( + name: "position_allowance", + table: "eva_salary_cylinder"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 48d3c0c..907deae 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -19,6 +19,45 @@ namespace tb320eva.Migrations .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 63); + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(4000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(8000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => { b.Property("id"); @@ -85,8 +124,16 @@ namespace tb320eva.Migrations b.Property("employee_id"); + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + b.Property("isActive"); + b.Property("is_for_postponement"); + b.Property("level_score_final") .HasMaxLength(255); @@ -365,6 +412,32 @@ namespace tb320eva.Migrations b.ToTable("eva_create_evaluation_detail"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => { b.Property("id"); @@ -423,6 +496,28 @@ namespace tb320eva.Migrations b.ToTable("eva_evaluation_achievement"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => { b.Property("id"); @@ -747,6 +842,8 @@ namespace tb320eva.Migrations b.Property("isActive"); + b.Property("percent"); + b.Property("theTime"); b.Property("updated"); @@ -832,6 +929,10 @@ namespace tb320eva.Migrations b.Property("middle"); + b.Property("monthly_compensation"); + + b.Property("position_allowance"); + b.Property("position_level"); b.Property("position_type"); @@ -886,6 +987,13 @@ namespace tb320eva.Migrations .HasForeignKey("create_evaluation_id"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => { b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") @@ -893,6 +1001,13 @@ namespace tb320eva.Migrations .HasForeignKey("create_evaluation_detail_id"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => { b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") diff --git a/Models/activity_log_evaEntity.cs b/Models/activity_log_evaEntity.cs new file mode 100644 index 0000000..0b8ec3e --- /dev/null +++ b/Models/activity_log_evaEntity.cs @@ -0,0 +1,49 @@ +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; +using System.IO; + +namespace TodoAPI2.Models +{ + public class activity_log_evaEntity + { + [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int id { get; set; } + + [MaxLength(191)] + public string log_name { get; set; } + + [MaxLength(4000)] + public string description { get; set; } + + public int? subject_id { get; set; } + + [MaxLength(191)] + public string subject_type { get; set; } + + public int? causer_id { get; set; } + + [MaxLength(191)] + public string causer_type { get; set; } + + [MaxLength(8000)] + public string properties { get; set; } + + [MaxLength(191)] + public string ip_address { get; set; } + + [MaxLength(191)] + public string mac_address { get; set; } + + public DateTime? created_at { get; set; } + + public DateTime? updated_at { get; set; } + } +} diff --git a/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs b/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs index af984b3..2d99504 100644 --- a/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs +++ b/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs @@ -74,6 +74,13 @@ namespace TodoAPI2.Models [MaxLength(255)] public string level_score_final { get; set; } + [MaxLength(1000)] + public string fullname_at_this_time { get; set; } + + [MaxLength(1000)] + public string employee_no_at_this_time { get; set; } + + public bool? is_for_postponement { get; set; } } } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs index ba77dc4..7be4c2e 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs @@ -58,8 +58,13 @@ namespace TodoAPI2.Models public int? order_at_this_time { get; set; } - public string active_mode { get; set; } + public string fullname_at_this_time { get; set; } + public string employee_no_at_this_time { get; set; } + + public bool? is_for_postponement { get; set; } + + public string active_mode { get; set; } } } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs index 5b03e72..611fb02 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs @@ -158,6 +158,12 @@ namespace TodoAPI2.Models adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult2.fiscal_year, employee_id_external_linkage_external_name = fk_external_linkageResult3.fullname, + fullname_at_this_time = m_eva_adjust_postponement_detail_migration.fullname_at_this_time, + employee_no_at_this_time = m_eva_adjust_postponement_detail_migration.employee_no_at_this_time, + is_for_postponement = m_eva_adjust_postponement_detail_migration.is_for_postponement, + + workingstatus = fk_external_linkageResult3.workingstatus, + isActive = m_eva_adjust_postponement_detail_migration.isActive, Created = m_eva_adjust_postponement_detail_migration.created, Updated = m_eva_adjust_postponement_detail_migration.updated @@ -204,8 +210,8 @@ namespace TodoAPI2.Models var existingEntity = _repository.Get(id); if (existingEntity != null) { - existingEntity.adjust_postponement_id = model.adjust_postponement_id; - existingEntity.adjust_postponement_quota_id = model.adjust_postponement_quota_id; + //existingEntity.adjust_postponement_id = model.adjust_postponement_id; + //existingEntity.adjust_postponement_quota_id = model.adjust_postponement_quota_id; existingEntity.employee_id = model.employee_id; existingEntity.sarary = model.sarary; existingEntity.cost_living = model.cost_living; @@ -227,6 +233,10 @@ namespace TodoAPI2.Models existingEntity.org_at_this_time = model.org_at_this_time; existingEntity.order_at_this_time = model.order_at_this_time; + existingEntity.fullname_at_this_time = model.fullname_at_this_time; + existingEntity.employee_no_at_this_time = model.employee_no_at_this_time; + existingEntity.is_for_postponement = model.is_for_postponement; + var updated = _repository.Update(id, existingEntity); return Get(updated.id); } @@ -243,8 +253,8 @@ namespace TodoAPI2.Models var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.adjust_postponement_id = i.adjust_postponement_id; - existingEntity.adjust_postponement_quota_id = i.adjust_postponement_quota_id; + //existingEntity.adjust_postponement_id = i.adjust_postponement_id; + //existingEntity.adjust_postponement_quota_id = i.adjust_postponement_quota_id; existingEntity.employee_id = i.employee_id; existingEntity.sarary = i.sarary; existingEntity.cost_living = i.cost_living; @@ -266,6 +276,10 @@ namespace TodoAPI2.Models existingEntity.org_at_this_time = i.org_at_this_time; existingEntity.order_at_this_time = i.order_at_this_time; + existingEntity.fullname_at_this_time = i.fullname_at_this_time; + existingEntity.employee_no_at_this_time = i.employee_no_at_this_time; + existingEntity.is_for_postponement = i.is_for_postponement; + //existingEntity.SetAutoField(_repository.Context); _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } @@ -325,7 +339,6 @@ namespace TodoAPI2.Models { var i = new Dictionary(); - i.Add("adjust_postponement_id", "รหัสอ้างอิงตาราง eva_adjust_postponement"); i.Add("adjust_postponement_id_eva_adjust_postponement_fiscal_year", "รหัสอ้างอิงตาราง eva_adjust_postponement"); i.Add("adjust_postponement_quota_id", "รหัสอ้างอิงตาราง eva_adjust_postponement"); @@ -344,6 +357,9 @@ namespace TodoAPI2.Models i.Add("new_sarary_with_quota", "เงินเดือนใหม่ (รวมโควต้า)"); i.Add("position_this_time", "ตำแหน่ง (ณ วันปรับเลื่อน)"); i.Add("level_this_time", "ระดับ (ณ วันปรับเลื่อน)"); + i.Add("fullname_at_this_time", "ชื่อ-ชื่อสกุล (ณ วันปรับเลื่อน)"); + i.Add("employee_no_at_this_time", "เลขที่พนักงาน (ณ วันปรับเลื่อน)"); + i.Add("is_for_postponement", "ใช้สำหรับ ปรับเลื่อนเงินเดือน/โควตา"); return i; } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs index 9b27d4e..2c495d5 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs @@ -51,13 +51,25 @@ namespace TodoAPI2.Models public decimal? migration_total_score { get; set; } public string migration_eva_result { get; set; } + public int? org_at_this_time { get; set; } public int? order_at_this_time { get; set; } + public string fullname_at_this_time { get; set; } + + public string employee_no_at_this_time { get; set; } + + public bool? is_for_postponement { get; set; } + public int? adjust_postponement_id_eva_adjust_postponement_fiscal_year { get; set; } public int? adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year { get; set; } public string employee_id_external_linkage_external_name { get; set; } + public string org_at_this_time_external_linkage_external_name { get; set; } + + public string workingstatus { get; set; } + + } } \ No newline at end of file diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs index 6110db5..497e94e 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs @@ -9,5 +9,6 @@ namespace TodoAPI2.Models { public List item_employee_id { get; set; } public List item_org_at_this_time { get; set; } + } } \ No newline at end of file diff --git a/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs b/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs index 6665479..b89778f 100644 --- a/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs +++ b/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs @@ -322,6 +322,9 @@ namespace TodoAPI2.Models n.level_score_final = qq; } + //n.migration_total_score = n.score_final; + //n.migration_eva_result = n.level_score_final; + _repository.Context.eva_adjust_postponement_detail.Add(n); } @@ -366,15 +369,10 @@ namespace TodoAPI2.Models if (theemp == null) continue; - if (theemp.fullname.Contains("อุบลวรรณ")) - { - string zz = "1"; - } - var n = (from t in _repository.Context.eva_adjust_postponement_detail where t.adjust_postponement_id == entity.id && t.employee_id == m.employee_id - select t).FirstOrDefault(); + select t).FirstOrDefault(); n.updated = DateTime.Now; n.isActive = true; @@ -399,7 +397,8 @@ namespace TodoAPI2.Models select s.detail).FirstOrDefault(); n.level_score_final = qq; } - + //n.migration_total_score = n.score_final; + //n.migration_eva_result = n.level_score_final; } entity.limit = sum_salary; diff --git a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs index 56d9b40..90d853f 100644 --- a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs +++ b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs @@ -108,10 +108,10 @@ namespace TodoAPI2.Models into eva_adjust_postponementResult1 from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() - join create_detail in _repository.Context.eva_create_evaluation_detail - on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id - into create_detailResult - from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail + // on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id + // into create_detailResult + //from fk_create_detailResult in create_detailResult.DefaultIfEmpty() join create_data in _repository.Context.eva_create_evaluation on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_data.id @@ -136,10 +136,14 @@ namespace TodoAPI2.Models into external_linkageResult2 from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on m_eva_adjust_postponement_detail_normal_02.org_at_this_time.HasValue ? m_eva_adjust_postponement_detail_normal_02.org_at_this_time : fk_external_linkageResult2.department_id equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + join sort_dep2 in ext.GetSortingDep() on m_eva_adjust_postponement_detail_normal_02.org_at_this_time equals sort_dep2.id + into external_linkageResult11 + from fk_external_linkageResult11 in sort_depResult2.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail //on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id //into create_detailResult @@ -149,9 +153,14 @@ namespace TodoAPI2.Models //&& (m_eva_adjust_postponement_detail_normal_02.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_detail_normal_02.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue) //&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal_02.employee_id + //&& (m_eva_adjust_postponement_detail_normal_02.is_for_postponement == null?true: m_eva_adjust_postponement_detail_normal_02.is_for_postponement.Value) + && fk_external_linkageResult2.workingstatus == "สถานะปฏิบัติงาน" orderby fk_sort_depResult2.external_code, + + m_eva_adjust_postponement_detail_normal_02.org_at_this_time.HasValue ? 1 : 0, + //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, fk_external_linkageResult2.hpt_position_type_id, @@ -178,10 +187,11 @@ namespace TodoAPI2.Models achievement = m_eva_adjust_postponement_detail_normal_02.achievement_final, competency = m_eva_adjust_postponement_detail_normal_02.competency_final, - total_score = m_eva_adjust_postponement_detail_normal_02.score_final, - eva_result = m_eva_adjust_postponement_detail_normal_02.level_score_final, - emp_department_name = fk_external_linkageResult2.department_name, + total_score = m_eva_adjust_postponement_detail_normal_02.migration_total_score.HasValue ? m_eva_adjust_postponement_detail_normal_02.migration_total_score : m_eva_adjust_postponement_detail_normal_02.score_final, + eva_result = !string.IsNullOrEmpty(m_eva_adjust_postponement_detail_normal_02.migration_eva_result) ? m_eva_adjust_postponement_detail_normal_02.migration_eva_result : m_eva_adjust_postponement_detail_normal_02.level_score_final, + + emp_department_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_sort_depResult2.external_name, adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, position_allowance = fk_external_linkageResult2.position_allowance, diff --git a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs index 2528349..aa5efb2 100644 --- a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs +++ b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs @@ -112,10 +112,10 @@ namespace TodoAPI2.Models into eva_adjust_postponementResult1A from fk_eva_adjust_postponementResult1A in eva_adjust_postponementResult1A.DefaultIfEmpty() - join create_detail in _repository.Context.eva_create_evaluation_detail - on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id - into create_detailResult - from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail + // on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id + // into create_detailResult + //from fk_create_detailResult in create_detailResult.DefaultIfEmpty() join create_data in _repository.Context.eva_create_evaluation on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_data.id @@ -142,29 +142,39 @@ namespace TodoAPI2.Models join fk_external_linkage2 in all_emp on m_eva_adjust_postponement_detail_quota_02.employee_id equals fk_external_linkage2.id into external_linkageResult2 - from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() + from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id + //join create_detail in _repository.Context.eva_create_evaluation_detail + //on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id + //into create_detailResult + //from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + + join sort_dep in ext.GetSortingDep() on m_eva_adjust_postponement_detail_quota_02.org_at_this_time.HasValue ? m_eva_adjust_postponement_detail_quota_02.org_at_this_time : fk_external_linkageResult2.department_id equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() - join create_detail in _repository.Context.eva_create_evaluation_detail - on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id - into create_detailResult - from fk_create_detailResult in create_detailResult.DefaultIfEmpty() - join create_data in _repository.Context.eva_create_evaluation on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_data.id into create_dataResult from fk_create_dataResult in create_dataResult.DefaultIfEmpty() + join sort_dep2 in ext.GetSortingDep() on m_eva_adjust_postponement_detail_quota_02.org_at_this_time equals sort_dep2.id + into external_linkageResult11 + from fk_external_linkageResult11 in sort_depResult2.DefaultIfEmpty() + where 1==1 //&& (m_eva_adjust_postponement_detail_quota_02.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_detail_quota_02.adjust_postponement_quota_id == model.adjust_postponement_quota_id || !model.adjust_postponement_quota_id.HasValue) - && (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null) + //&& (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null) + + //&& (m_eva_adjust_postponement_detail_quota_02.is_for_postponement == null ? true : m_eva_adjust_postponement_detail_quota_02.is_for_postponement.Value) + && fk_external_linkageResult2.workingstatus == "สถานะปฏิบัติงาน" orderby fk_sort_depResult2.external_code, + + m_eva_adjust_postponement_detail_quota_02.org_at_this_time.HasValue ? 1 : 0, + //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, fk_external_linkageResult2.hpt_position_type_id, @@ -190,9 +200,11 @@ namespace TodoAPI2.Models emp_fullname = fk_external_linkageResult2.fullname, emp_position = fk_external_linkageResult2.position_name, emp_level = fk_external_linkageResult2.position_level_text, - emp_department_name = fk_sort_depResult2.external_name, - total_score = fk_create_detailResult.score_supervisor, - eva_result = fk_create_detailResult.level_score_supervisor, + + emp_department_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_sort_depResult2.external_name, + + total_score = m_eva_adjust_postponement_detail_quota_02.migration_total_score.HasValue? m_eva_adjust_postponement_detail_quota_02.migration_total_score : m_eva_adjust_postponement_detail_quota_02.score_final, + eva_result = !string.IsNullOrEmpty(m_eva_adjust_postponement_detail_quota_02.migration_eva_result) ? m_eva_adjust_postponement_detail_quota_02.migration_eva_result : m_eva_adjust_postponement_detail_quota_02.level_score_final, adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, position_allowance = fk_external_linkageResult2.position_allowance, diff --git a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs index 6d967d7..f608fc5 100644 --- a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs +++ b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs @@ -14,7 +14,6 @@ using System.Net; using TTSW.Configure; using Microsoft.Extensions.Options; using System.Data; -using System.IO; namespace TodoAPI2.Models { @@ -81,9 +80,18 @@ namespace TodoAPI2.Models public eva_adjust_postponement_migrationWithSelectionViewModel GetWithSelection(int id) { var entity = _repository.Get(id); - var i = Mapper.Map(entity); - i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation select x).ToList(); var all_emp = emp.GetAllEmployee(); + + var i = Mapper.Map(entity); + i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation + join y in _repository.Context.eva_performance_plan on x.performance_plan_id equals y.id + join z in all_emp on x.employee_id equals z.id + join g in _repository.Context.eva_evaluation_group on x.evaluation_group_id equals g.id + select new external_linkageViewModel { + external_id = x.id, + external_name = y.theTime.ToString() + "/" + y.fiscal_year.ToString() + " " + g.thegroup + " " + z.fullname + }).ToList(); + i.item_managed_by = all_emp.ToList(); i.item_report_type = (from x in ext.GetSalaryReportType() select x).ToList(); @@ -92,8 +100,18 @@ namespace TodoAPI2.Models public eva_adjust_postponement_migrationWithSelectionViewModel GetBlankItem() { var i = new eva_adjust_postponement_migrationWithSelectionViewModel(); - i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation select x).ToList(); var all_emp = emp.GetAllEmployee(); + + i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation + join y in _repository.Context.eva_performance_plan on x.performance_plan_id equals y.id + join z in all_emp on x.employee_id equals z.id + join g in _repository.Context.eva_evaluation_group on x.evaluation_group_id equals g.id + select new external_linkageViewModel + { + external_id = x.id, + external_name = y.theTime.ToString() + "/" + y.fiscal_year.ToString() + " " + g.thegroup + " " + z.fullname + }).ToList(); + i.item_managed_by = all_emp.ToList(); i.item_report_type = (from x in ext.GetSalaryReportType() select x).ToList(); @@ -145,6 +163,7 @@ namespace TodoAPI2.Models imported_file = m_eva_adjust_postponement_migration.imported_file, imported_fileDisplay = m_eva_adjust_postponement_migration.imported_fileDisplay, report_type = m_eva_adjust_postponement_migration.report_type, + workingstatus = fk_external_linkageResult11.workingstatus, create_evaluation_id_eva_create_evaluation_performance_plan_id = fk_eva_create_evaluationResult4.performance_plan_id, managed_by_external_linkage_external_name = fk_external_linkageResult11.fullname, @@ -322,6 +341,8 @@ namespace TodoAPI2.Models existingEntity.percentage = model.percentage; existingEntity.command_no = model.command_no; existingEntity.managed_by = model.managed_by; + existingEntity.report_type = model.report_type; + if (!string.IsNullOrEmpty(model.imported_file)) { if (model.imported_file.StartsWith("Uploads")) diff --git a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs index 07a86ae..1ececc5 100644 --- a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs +++ b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs @@ -55,5 +55,9 @@ namespace TodoAPI2.Models public string report_type { get; set; } + public string workingstatus { get; set; } + + public string txt_data_type { get { if (create_evaluation_id.HasValue) return "ปรับเลื่อนเงินเดือน"; else return "โควต้า"; } } + } } \ No newline at end of file diff --git a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs index cd66581..a410d59 100644 --- a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs +++ b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs @@ -7,7 +7,7 @@ namespace TodoAPI2.Models { public class eva_adjust_postponement_migrationWithSelectionViewModel: eva_adjust_postponement_migrationViewModel { - public List item_create_evaluation_id { get; set; } + public List item_create_evaluation_id { get; set; } public List item_managed_by { get; set; } public List item_report_type { get; set; } } diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs index fd7af3c..41391f7 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs @@ -87,6 +87,26 @@ namespace TodoAPI2.Models i.item_managed_by = all_emp.ToList(); i.item_org_id = (from x in ext.GetDepartmentData() select x).ToList(); + var data_fiscal_year = (from f_y in _repository.Context.eva_adjust_postponement + group f_y by f_y.fiscal_year into new_group + orderby new_group.Key descending + select new + { + fiscal_year = new_group.Key + } + ).ToList(); + var result = new List(); + foreach (var x in data_fiscal_year) + { + result.Add(new external_linkageViewModel + { + external_id = x.fiscal_year, + external_code = x.fiscal_year.ToString(), + external_name = x.fiscal_year.ToString() + }); + } + + i.item_fiscal_year = result; return i; } @@ -96,6 +116,24 @@ namespace TodoAPI2.Models where j.employee_id == emp_id select j.id).ToList(); + var data_fiscal_year = (from f_y in _repository.Context.eva_adjust_postponement + group f_y by f_y.fiscal_year into new_group + orderby new_group.Key descending + select new + { + fiscal_year = new_group.Key + } + ).ToList(); + var result = new List(); + foreach(var x in data_fiscal_year) + { + result.Add(new external_linkageViewModel { + external_id = x.fiscal_year, + external_code = x.fiscal_year.ToString(), + external_name = x.fiscal_year.ToString() + }); + } + var i = new eva_adjust_postponement_normalWithSelectionViewModel(); var temp = create.GetListBySearch(new eva_create_evaluationSearchModel()); i.item_create_evaluation_id = (from x in temp where avaliable_eva.Contains(x.id) select x).ToList(); @@ -103,6 +141,7 @@ namespace TodoAPI2.Models i.item_managed_by = all_emp.ToList(); i.item_org_id = (from x in ext.GetDepartmentData() select x).ToList(); + i.item_fiscal_year = result; return i; } @@ -301,7 +340,7 @@ namespace TodoAPI2.Models public void Delete(int id) { var details = from i in _repository.Context.eva_adjust_postponement_detail - where i.adjust_postponement_id == id + where i.adjust_postponement_id == id || i.adjust_postponement_quota_id == id select i; _repository.Context.eva_adjust_postponement_detail.RemoveRange(details); diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs index 5162a19..791b2f5 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs @@ -7,6 +7,7 @@ namespace TodoAPI2.Models { public class eva_adjust_postponement_normalWithSelectionViewModel: eva_adjust_postponement_normalViewModel { + public List item_fiscal_year { get; set; } public List item_create_evaluation_id { get; set; } public List item_managed_by { get; set; } public List item_org_id { get; set; } diff --git a/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs b/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs index c20be12..2486f10 100644 --- a/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs +++ b/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs @@ -20,18 +20,18 @@ namespace TodoAPI2.Models public class eva_adjust_postponement_quotaService : Ieva_adjust_postponement_quotaService { private IBaseRepository2 _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; private Iexternal_employeeService emp; private Ieva_adjust_postponement_detail_quota_02Service quota02; - public eva_adjust_postponement_quotaService(IBaseRepository2 repository, IMyDatabase mydb, + public eva_adjust_postponement_quotaService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, Ieva_adjust_postponement_detail_quota_02Service inquota02) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; emp = inemp; quota02 = inquota02; } @@ -53,7 +53,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + #endregion #region Public Functions @@ -85,12 +85,12 @@ namespace TodoAPI2.Models public List GetListByfiscal_year(int? fiscal_year) { - var model = new eva_adjust_postponement_quotaSearchModel(); + var model = new eva_adjust_postponement_quotaSearchModel(); model.fiscal_year = fiscal_year; return GetListBySearch(model); } - public List GetListBySearch(eva_adjust_postponement_quotaSearchModel model) + public List GetListBySearch(eva_adjust_postponement_quotaSearchModel model) { var all_emp = emp.GetListByemployee_type(null, null); @@ -100,8 +100,8 @@ namespace TodoAPI2.Models join fk_external_linkage7 in all_emp on m_eva_adjust_postponement_quota.managed_by equals fk_external_linkage7.id into external_linkageResult7 from fk_external_linkageResult7 in external_linkageResult7.DefaultIfEmpty() - - where 1==1 + + where 1 == 1 //&& (m_eva_adjust_postponement_quota.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_quota.fiscal_year == model.fiscal_year || !model.fiscal_year.HasValue) && (m_eva_adjust_postponement_quota.theRound == model.theRound || !model.theRound.HasValue) @@ -140,10 +140,10 @@ namespace TodoAPI2.Models int? newkey = 0; var x = (from i in _repository.Context.eva_adjust_postponement - orderby i.id descending - select i).Take(1).ToList(); + orderby i.id descending + select i).Take(1).ToList(); - if(x.Count > 0) + if (x.Count > 0) { newkey = x[0].id + 1; } @@ -179,7 +179,7 @@ namespace TodoAPI2.Models entity.limit = AddMultipleDetail(entity.id, all_emp_id_list, entity.fiscal_year, entity.theRound, all_emp); var inserted = _repository.Insert(entity); - + return Get(inserted.id); } @@ -203,7 +203,7 @@ namespace TodoAPI2.Models where x.adjust_postponement_quota_id == adjust_postponement_quota_id select x.employee_id).ToList(); - + foreach (var i in model) { @@ -215,7 +215,7 @@ namespace TodoAPI2.Models if (theemp.salary.HasValue) { sum_salary += theemp.salary.Value; - } + } var q = (from p in _repository.Context.eva_adjust_postponement_detail where p.employee_id == i @@ -326,31 +326,129 @@ namespace TodoAPI2.Models existingEntity.managed_by = model.managed_by; // limit + UpdatePostponementDetailQuota(existingEntity); quota02.UpdateMultiple(model.adjust_postponement_detail_quota_02_model); var updated = _repository.Update(id, existingEntity); return Get(updated.id); } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model) + public string UpdatePostponementDetailQuota(eva_adjust_postponementEntity entity) { - foreach(var i in model) + int? adjust_postponement_id = entity.id; + + var cylinder = (from z in _repository.Context.eva_salary_cylinder + select z).ToList(); + + var all_emp = emp.GetListByemployee_type(null, null); + + var adjust_postponement = entity; + + var evaluation_group_id = (from m in _repository.Context.eva_create_evaluation + where m.id == adjust_postponement.create_evaluation_id + select m.evaluation_group_id).FirstOrDefault(); + + var current_eva_evaluation_group_detail = from k in _repository.Context.eva_evaluation_group_detail + where k.evaluation_group_id == evaluation_group_id + select k; + + var current_eva_create_evaluation_detail = from k in _repository.Context.eva_create_evaluation_detail + where k.create_evaluation_id == adjust_postponement.create_evaluation_id + select k; + + var current_level_score = (from e in _repository.Context.eva_level_score + select e).ToList(); + + decimal sum_salary = 0; + + foreach (var m in current_eva_evaluation_group_detail) + { + var theemp = (from i in all_emp where i.id == m.employee_id select i).FirstOrDefault(); + + if (theemp == null) continue; + + var n = (from t in _repository.Context.eva_adjust_postponement_detail + where t.adjust_postponement_quota_id == entity.id + && t.employee_id == m.employee_id + select t).FirstOrDefault(); + + n.updated = DateTime.Now; + n.isActive = true; + + var temp = (from z in current_eva_create_evaluation_detail + where z.employee_id == n.employee_id + select new + { + achievement_final = getData(z).Item1.HasValue ? getData(z).Item1 : 0, + competency_final = getData(z).Item2.HasValue ? getData(z).Item2 : 0, + score_final = getData(z).Item3.HasValue ? getData(z).Item3 : 0, + work_period = getData(z).Item4.HasValue ? getData(z).Item4 : 6, + }); + + n.achievement_final = temp.Sum(w => w.achievement_final * w.work_period / 6); + n.competency_final = temp.Sum(w => w.competency_final * w.work_period / 6); + n.score_final = temp.Sum(w => w.score_final * w.work_period / 6); + if (n.score_final.HasValue) + { + var qq = (from s in current_level_score + where s.min_score <= n.score_final && s.max_score >= n.score_final + select s.detail).FirstOrDefault(); + n.level_score_final = qq; + } + //n.migration_total_score = n.score_final; + //n.migration_eva_result = n.level_score_final; + } + + entity.limit = sum_salary; + + //_repository.Context.SaveChanges(); + + return current_eva_evaluation_group_detail.Count().ToString(); + } + + private (decimal?, decimal?, decimal?, decimal?) getData(eva_create_evaluation_detailEntity detail) + { + if (detail.status_supervisor2A == "Y") + { + return (detail.achievement_supervisor2A, detail.competency_supervisor2A, detail.score_supervisor2A, detail.work_period); + } + else if (detail.status_supervisor1A == "Y") + { + return (detail.achievement_supervisor1A, detail.competency_supervisor1A, detail.score_supervisor1A, detail.work_period); + } + else if (detail.status_supervisor == "Y") + { + return (detail.achievement_supervisor, detail.competency_supervisor, detail.score_supervisor, detail.work_period); + } + else if (detail.status_chief == "Y") + { + return (detail.achievement_chief, detail.competency_chief, detail.score_chief, detail.work_period); + } + else + { + return (0, 0, 0, detail.work_period); + } + } + + public string UpdateMultiple(List model) + { + foreach (var i in model) { if (i.active_mode == "1" && i.id.HasValue) // update - { + { var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.fiscal_year = i.fiscal_year; - existingEntity.theDate = i.theDate; - existingEntity.theRound = i.theRound; - existingEntity.limit_quota = i.limit_quota; - existingEntity.limit_frame_quota = i.limit_frame_quota; - existingEntity.command_no = i.command_no; - existingEntity.managed_by = i.managed_by; + existingEntity.fiscal_year = i.fiscal_year; + existingEntity.theDate = i.theDate; + existingEntity.theRound = i.theRound; + existingEntity.limit_quota = i.limit_quota; + existingEntity.limit_frame_quota = i.limit_frame_quota; + existingEntity.command_no = i.command_no; + existingEntity.managed_by = i.managed_by; // limit _repository.UpdateWithoutCommit(i.id.Value, existingEntity); @@ -363,15 +461,15 @@ namespace TodoAPI2.Models _repository.InsertWithoutCommit(entity); } else if (i.active_mode == "0" && i.id.HasValue) // remove - { + { _repository.DeleteWithoutCommit(i.id.Value); } else if (i.active_mode == "0" && !i.id.HasValue) { // nothing to do - } + } } - _repository.Context.SaveChanges(); + _repository.Context.SaveChanges(); return model.Count().ToString(); } @@ -396,10 +494,10 @@ namespace TodoAPI2.Models _repository.Context.RemoveRange(data); var data2 = from i in _repository.Context.eva_adjust_postponement_detail - where i.adjust_postponement_quota_id == id && i.adjust_postponement_id != null - select i; + where i.adjust_postponement_quota_id == id && i.adjust_postponement_id != null + select i; - foreach(var i in data2) + foreach (var i in data2) { i.adjust_postponement_quota_id = null; } diff --git a/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs b/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs index 581379e..a8ae210 100644 --- a/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs +++ b/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs @@ -130,7 +130,8 @@ namespace TodoAPI2.Models into external_linkageResult25 from fk_external_linkageResult25 in external_linkageResult25.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on + (m_eva_create_evaluation_detail.help_org_id.HasValue ? m_eva_create_evaluation_detail.help_org_id : fk_external_linkageResult2.department_id) equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() @@ -138,11 +139,16 @@ namespace TodoAPI2.Models into external_linkageResult46 from fk_external_linkageResult46 in external_linkageResult46.DefaultIfEmpty() + join fk_external_linkage99 in ext.GetDepartmentData() on (m_eva_create_evaluation_detail.help_org_id.HasValue ? m_eva_create_evaluation_detail.help_org_id : fk_external_linkageResult2.department_id) equals fk_external_linkage99.id + into external_linkageResult99 + from fk_external_linkageResult99 in external_linkageResult99.DefaultIfEmpty() + where 1 == 1 && (m_eva_create_evaluation_detail.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue) orderby fk_sort_depResult2.external_code, + (m_eva_create_evaluation_detail.help_org_id.HasValue ? 1 : 0), //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, fk_external_linkageResult2.hpt_position_type_id, @@ -211,7 +217,7 @@ namespace TodoAPI2.Models status_supervisor1A_click_date = m_eva_create_evaluation_detail.status_supervisor1A_click_date, status_supervisor2A_click_date = m_eva_create_evaluation_detail.status_supervisor2A_click_date, - department_name = fk_external_linkageResult2.department_name, + department_name = fk_external_linkageResult99.external_name, help_org_id_external_linkage_external_name = fk_external_linkageResult46.external_name, isActive = m_eva_create_evaluation_detail.isActive, diff --git a/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs b/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs index be64814..b53171c 100644 --- a/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs +++ b/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs @@ -60,9 +60,9 @@ namespace TodoAPI2.Models public decimal? score2 { get; set; } - public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date); } } - public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date); } } - public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date); } } + public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_click_date) + getHistoryLink(status_self); } } + public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_click_date) + getHistoryLink(status_chief); } } + public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor_click_date) + getHistoryLink(status_supervisor); } } private string getStatusText(string s) { @@ -80,5 +80,15 @@ namespace TodoAPI2.Models return " "; } + private string getHistoryLink(string s) + { + if (!string.IsNullOrEmpty(s)) + { + return ("
ดูประวัติ").Replace("{0}", '"'.ToString()); + } + return ""; + } + } -} \ No newline at end of file +} + diff --git a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs index c070cba..475a73e 100644 --- a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs +++ b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs @@ -143,9 +143,9 @@ namespace TodoAPI2.Models role_code = getRoleCode(emp_id, m_eva_create_evaluation_detail_agreement.chief, m_eva_create_evaluation_detail_agreement.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_agreement.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_agreement.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_agreement.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_agreement.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_agreement.employee_id, m_eva_create_evaluation_detail_agreement.status_self_a, m_eva_create_evaluation_detail_agreement.status_chief_a @@ -254,6 +254,10 @@ namespace TodoAPI2.Models into external_employeeResult from fk_external_employee in external_employeeResult.DefaultIfEmpty() + join sort_dep in ext.GetSortingDep() on m_eva_create_evaluation_detail_agreement.help_org_id.HasValue? m_eva_create_evaluation_detail_agreement.help_org_id : fk_external_employee.department_id equals sort_dep.id + into sort_depResult2 + from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + join fk_external_chief in allemp on m_eva_create_evaluation_detail_agreement.chief equals fk_external_chief.id into external_chiefResult from fk_external_chief in external_chiefResult.DefaultIfEmpty() @@ -266,6 +270,10 @@ namespace TodoAPI2.Models into planResult from fk_planResult in planResult.DefaultIfEmpty() + join fk_external_linkage11 in ext.GetDepartmentData() on m_eva_create_evaluation_detail_agreement.help_org_id equals fk_external_linkage11.id + into external_linkageResult11 + from fk_external_linkageResult11 in external_linkageResult11.DefaultIfEmpty() + where 1 == 1 && (m_eva_create_evaluation_detail_agreement.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue) && (fk_external_employee.department_id == model.org_id || !model.org_id.HasValue) @@ -273,7 +281,16 @@ namespace TodoAPI2.Models && (fk_external_employee.fullname.Contains(model.search_employee_fullname) || string.IsNullOrEmpty(model.search_employee_fullname)) && (m_eva_create_evaluation_detail_agreement.employee_id == emp_id || m_eva_create_evaluation_detail_agreement.chief == emp_id) - orderby m_eva_create_evaluation_detail_agreement.created descending + orderby + fk_sort_depResult2.external_code, + //fk_external_employee.department_degree_id, + //fk_external_employee.department_code, + + (!string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? 1 : 0), + + fk_external_employee.hpt_position_type_id, + fk_external_employee.hpl_position_level_id, + fk_external_employee.employee_no select new eva_create_evaluation_detail_firstdocViewModel() { id = m_eva_create_evaluation_detail_agreement.id, @@ -296,7 +313,7 @@ namespace TodoAPI2.Models status_chief_a = m_eva_create_evaluation_detail_agreement.status_chief_a, status_supervisor = m_eva_create_evaluation_detail_agreement.status_supervisor, - org_id_external_linkage_external_name = fk_external_employee.department_name, + org_id_external_linkage_external_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_external_employee.department_name, status_self_click_date = m_eva_create_evaluation_detail_agreement.status_self_click_date, status_chief_click_date = m_eva_create_evaluation_detail_agreement.status_chief_click_date, @@ -309,9 +326,9 @@ namespace TodoAPI2.Models role_code = getRoleCode(emp_id, m_eva_create_evaluation_detail_agreement.chief, m_eva_create_evaluation_detail_agreement.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_agreement.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_agreement.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_agreement.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_agreement.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_agreement.employee_id, m_eva_create_evaluation_detail_agreement.status_self_a, m_eva_create_evaluation_detail_agreement.status_chief_a), @@ -319,9 +336,9 @@ namespace TodoAPI2.Models role_desc = getRoleName(emp_id, m_eva_create_evaluation_detail_agreement.chief, m_eva_create_evaluation_detail_agreement.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_agreement.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_agreement.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_agreement.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_agreement.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_agreement.employee_id, m_eva_create_evaluation_detail_agreement.status_self_a, m_eva_create_evaluation_detail_agreement.status_chief_a), diff --git a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs index e64f18f..3e78561 100644 --- a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs +++ b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs @@ -68,19 +68,28 @@ namespace TodoAPI2.Models public decimal? score2 { get; set; } - public string txt_status_self_a { get { return getStatusText2(status_self_a) + MyHelper.GetDateStringForReport(status_self_a_click_date); } } + public string txt_status_self_a { get { return getStatusText2(status_self_a) + MyHelper.GetDateStringForReport(status_self_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_a_click_date) + getHistoryLink(status_self_a); } } - public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date); } } + public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_click_date) + getHistoryLink(status_self); } } - public string txt_status_chief_a { get { return getStatusText2(status_chief_a) + MyHelper.GetDateStringForReport(status_chief_a_click_date); } } + public string txt_status_chief_a { get { return getStatusText2(status_chief_a) + MyHelper.GetDateStringForReport(status_chief_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_a_click_date) + getHistoryLink(status_chief_a); } } - public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date); } } - public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date); } } + public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_click_date) + getHistoryLink(status_chief); } } + public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor_click_date) + getHistoryLink(status_supervisor); } } public string role_desc { get; set; } public string role_code { get; set; } + private string getHistoryLink(string s) + { + if (!string.IsNullOrEmpty(s)) + { + return ("
ดูประวัติ").Replace("{0}", '"'.ToString()); + } + return ""; + } + private string getStatusText(string s) { if (!string.IsNullOrEmpty(s)) diff --git a/Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs b/Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs new file mode 100644 index 0000000..1746352 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs @@ -0,0 +1,32 @@ +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 Ieva_create_evaluation_detail_historyService : IBaseService2 + { + new eva_create_evaluation_detail_historyViewModel Insert(eva_create_evaluation_detail_historyInputModel model, bool is_force_save); + new eva_create_evaluation_detail_historyViewModel Update(int id, eva_create_evaluation_detail_historyInputModel model, bool is_force_save); + List GetListByevaluation_detail_id(int? evaluation_detail_id); + List GetListBySearch(eva_create_evaluation_detail_historySearchModel model); + + string UpdateMultiple(List model, bool is_force_save); + eva_create_evaluation_detail_historyWithSelectionViewModel GetWithSelection(int id); + eva_create_evaluation_detail_historyWithSelectionViewModel GetBlankItem(); + + void RefreshAutoFieldOfAllData(); + eva_create_evaluation_detail_historyEntity GetEntity(int id); + DataContext GetContext(); + + + + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs new file mode 100644 index 0000000..17e0e37 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs @@ -0,0 +1,42 @@ +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; +using System.IO; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyEntity : BaseEntity2 + { + + + [ForeignKey("evaluation_detail_id")] + public eva_create_evaluation_detailEntity eva_create_evaluation_detail_evaluation_detail_id { get; set; } + public int? evaluation_detail_id { get; set; } + + public DateTime? action_dt { get; set; } + + [MaxLength(4000)] + public string action_detail { get; set; } + + public int? action_emp_id { get; set; } + + + public void SetAutoField(DataContext context) + { + + } + + public void DoAfterInsertUpdate(DataContext context) + { + + } + + } +} diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs new file mode 100644 index 0000000..461d2ff --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs @@ -0,0 +1,30 @@ +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 eva_create_evaluation_detail_historyInputModel + { + + public int? id { get; set; } + + public int? evaluation_detail_id { get; set; } + + public DateTime? action_dt { get; set; } + + public string action_detail { get; set; } + + public int? action_emp_id { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.cs new file mode 100644 index 0000000..e3c8f5a --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.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 eva_create_evaluation_detail_historyReportRequestModel : eva_create_evaluation_detail_historySearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.cs new file mode 100644 index 0000000..385381f --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.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 eva_create_evaluation_detail_historySearchModel + { + + public int id { get; set; } + + public int? evaluation_detail_id { get; set; } + + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs new file mode 100644 index 0000000..4129a92 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs @@ -0,0 +1,310 @@ +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 eva_create_evaluation_detail_historyService : Ieva_create_evaluation_detail_historyService + { + private IBaseRepository2 _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + private Iexternal_employeeService emp; + + public eva_create_evaluation_detail_historyService(IBaseRepository2 repository, IMyDatabase mydb, + Iexternal_linkageService inext, Iexternal_employeeService inemp) + { + _repository = repository; + db = mydb; + ext = inext; + emp = inemp; + } + + #region Private Functions + private eva_create_evaluation_detail_historyEntity GetEntity(eva_create_evaluation_detail_historyInputModel model) + { + return Mapper.Map(model); + } + private List GetEntityList(List models) + { + return Mapper.Map>(models); + } + private eva_create_evaluation_detail_historyViewModel GetDto(eva_create_evaluation_detail_historyEntity entity) + { + return Mapper.Map(entity); + } + private List GetDtoList(List entities) + { + return Mapper.Map>(entities); + } + + #endregion + + #region Public Functions + #region Query Functions + + public eva_create_evaluation_detail_historyViewModel Get(int id) + { + var entity = _repository.Get(id); + + return GetDto(entity); + } + + public eva_create_evaluation_detail_historyEntity GetEntity(int id) + { + var entity = _repository.Get(id); + + return entity; + } + + public DataContext GetContext() + { + return _repository.Context; + } + + public eva_create_evaluation_detail_historyWithSelectionViewModel GetWithSelection(int id) + { + var entity = _repository.Get(id); + var i = Mapper.Map(entity); + i.item_action_emp_id = emp.GetAllEmployee(); + + + return i; + } + public eva_create_evaluation_detail_historyWithSelectionViewModel GetBlankItem() + { + var i = new eva_create_evaluation_detail_historyWithSelectionViewModel(); + i.item_action_emp_id = emp.GetAllEmployee(); + + + return i; + } + + public List GetListByevaluation_detail_id(int? evaluation_detail_id) + { + var model = new eva_create_evaluation_detail_historySearchModel(); + model.evaluation_detail_id = evaluation_detail_id; + return GetListBySearch(model); + } + + public List GetListBySearch(eva_create_evaluation_detail_historySearchModel model) + { + var data = ( + from m_eva_create_evaluation_detail_history in _repository.Context.eva_create_evaluation_detail_history + + join fk_eva_create_evaluation_detail1 in _repository.Context.eva_create_evaluation_detail on m_eva_create_evaluation_detail_history.evaluation_detail_id equals fk_eva_create_evaluation_detail1.id + into eva_create_evaluation_detailResult1 + from fk_eva_create_evaluation_detailResult1 in eva_create_evaluation_detailResult1.DefaultIfEmpty() + + join fk_external_employee4 in emp.GetAllEmployee() on m_eva_create_evaluation_detail_history.action_emp_id equals fk_external_employee4.id + into external_employeeResult4 + from fk_external_employeeResult4 in external_employeeResult4.DefaultIfEmpty() + + where + 1 == 1 + && (!model.evaluation_detail_id.HasValue || m_eva_create_evaluation_detail_history.evaluation_detail_id == model.evaluation_detail_id) + + orderby m_eva_create_evaluation_detail_history.action_dt + select new eva_create_evaluation_detail_historyViewModel() + { + id = m_eva_create_evaluation_detail_history.id, + evaluation_detail_id = m_eva_create_evaluation_detail_history.evaluation_detail_id, + action_dt = m_eva_create_evaluation_detail_history.action_dt, + action_detail = m_eva_create_evaluation_detail_history.action_detail, + action_emp_id = m_eva_create_evaluation_detail_history.action_emp_id, + + evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id = fk_eva_create_evaluation_detailResult1.create_evaluation_id, + action_emp_id_external_employee_fullname = fk_external_employeeResult4.fullname, + + isActive = m_eva_create_evaluation_detail_history.isActive, + Created = m_eva_create_evaluation_detail_history.created, + Updated = m_eva_create_evaluation_detail_history.updated + } + ).Take(1000).ToList(); + + return data; + } + + #endregion + + #region Manipulation Functions + + + public int GetNewPrimaryKey() + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_create_evaluation_detail_history + orderby i.id descending + select i).Take(1).ToList(); + + if(x.Count > 0) + { + newkey = x[0].id + 1; + } + + return newkey.Value; + } + + + public eva_create_evaluation_detail_historyViewModel Insert(eva_create_evaluation_detail_historyInputModel model, bool is_force_save) + { + var entity = GetEntity(model); + entity.id = GetNewPrimaryKey(); + + + entity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var inserted = _repository.Insert(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Get(inserted.id); + } + else + { + _repository.InsertWithoutCommit(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(entity); + } + } + + public eva_create_evaluation_detail_historyViewModel Update(int id, eva_create_evaluation_detail_historyInputModel model, bool is_force_save) + { + var existingEntity = _repository.Get(id); + if (existingEntity != null) + { + existingEntity.evaluation_detail_id = model.evaluation_detail_id; + existingEntity.action_dt = model.action_dt; + existingEntity.action_detail = model.action_detail; + existingEntity.action_emp_id = model.action_emp_id; + + existingEntity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var updated = _repository.Update(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Get(updated.id); + } + else + { + _repository.UpdateWithoutCommit(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(existingEntity); + } + } + else + throw new NotificationException("No data to update"); + } + + public string UpdateMultiple(List model, bool is_force_save) + { + foreach(var i in model) + { + if (i.active_mode == "1" && i.id.HasValue) // update + { + var existingEntity = _repository.Get(i.id.Value); + if (existingEntity != null) + { + existingEntity.evaluation_detail_id = i.evaluation_detail_id; + existingEntity.action_dt = i.action_dt; + existingEntity.action_detail = i.action_detail; + existingEntity.action_emp_id = i.action_emp_id; + + existingEntity.SetAutoField(_repository.Context); + _repository.UpdateWithoutCommit(i.id.Value, existingEntity); + } + } + else if (i.active_mode == "1" && !i.id.HasValue) // add + { + var entity = GetEntity(i); + entity.id = GetNewPrimaryKey(); + entity.SetAutoField(_repository.Context); + _repository.InsertWithoutCommit(entity); + } + else if (i.active_mode == "0" && i.id.HasValue) // remove + { + _repository.DeleteWithoutCommit(i.id.Value); + } + else if (i.active_mode == "0" && !i.id.HasValue) + { + // nothing to do + } + } + if (is_force_save) + { + _repository.Context.SaveChanges(); + } + + return model.Count().ToString(); + } + + public eva_create_evaluation_detail_historyViewModel SetAsActive(int id) + { + var updated = _repository.SetAsActive(id); + + return Get(updated.id); + } + public eva_create_evaluation_detail_historyViewModel SetAsInactive(int id) + { + var updated = _repository.SetAsInActive(id); + + return Get(updated.id); + } + public void Delete(int id) + { + _repository.Delete(id); + + return; + } + + public void RefreshAutoFieldOfAllData() + { + var all_items = from i in _repository.Context.eva_create_evaluation_detail_history + select i; + foreach (var item in all_items) + { + item.SetAutoField(_repository.Context); + } + _repository.Context.SaveChanges(); + } + + private Dictionary GetLookupForLog() + { + var i = new Dictionary(); + + + i.Add("evaluation_detail_id", "การประเมิน"); + i.Add("evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id", "การประเมิน"); + i.Add("action_dt", "วันที่/เวลา"); + i.Add("txt_action_dt", "วันที่/เวลา"); + i.Add("action_detail", "รายละเอียด"); + i.Add("action_emp_id", "ผู้ดำเนินการ"); + i.Add("action_emp_id_external_employee_employee_type", "ผู้ดำเนินการ"); + + return i; + } + + #endregion + + #region Match Item + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs new file mode 100644 index 0000000..61a5215 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs @@ -0,0 +1,31 @@ +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 eva_create_evaluation_detail_historyViewModel : BaseViewModel2 + { + + public int? evaluation_detail_id { get; set; } + + public DateTime? action_dt { get; set; } + + public string txt_action_dt { get { return MyHelper.GetDateStringForReport(this.action_dt); } } + + public string action_detail { get; set; } + + public int? action_emp_id { get; set; } + + public int? evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id { get; set; } + public string action_emp_id_external_employee_fullname { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs new file mode 100644 index 0000000..85ce478 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyWithSelectionViewModel: eva_create_evaluation_detail_historyViewModel + { + public List item_action_emp_id { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs index d132d9d..6a3a797 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs @@ -164,15 +164,17 @@ namespace TodoAPI2.Models role_code = getRoleCode(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, path), + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, + path), role_desc = getRoleName(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, path), + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, + path), remark_hrm_work_record = fk_external_employee.remark_hrm_work_record + GetWorkTimeText(fk_external_employee.packing_date, end_date), @@ -198,7 +200,7 @@ namespace TodoAPI2.Models item.item_level_score = (from i in _repository.Context.eva_level_score orderby i.min_score select Mapper.Map(i)).ToList(); - item.item_employee_id = (from x in emp.GetListByemployee_type(null,null) select x).ToList(); + item.item_employee_id = (from x in emp.GetAllEmployee() where x.count_resigns == 0 select x).ToList(); return item; } @@ -206,7 +208,7 @@ namespace TodoAPI2.Models { var i = new eva_create_evaluation_detail_processWithSelectionViewModel(); i.item_org_id = ext.GetDepartmentData(); - i.item_employee_id = (from x in emp.GetListByemployee_type(null, null) select x).ToList(); + i.item_employee_id = (from x in emp.GetAllEmployee() where x.count_resigns == 0 select x).ToList(); //i.item_level_score = (from j in _repository.Context.eva_level_score // orderby j.min_score // select Mapper.Map(i)).ToList(); @@ -246,7 +248,7 @@ namespace TodoAPI2.Models into external_employeeResult from fk_external_employee in external_employeeResult.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_employee.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on m_eva_create_evaluation_detail_process.help_org_id.HasValue ? m_eva_create_evaluation_detail_process.help_org_id : fk_external_employee.department_id equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() @@ -262,6 +264,10 @@ namespace TodoAPI2.Models into planResult from fk_planResult in planResult.DefaultIfEmpty() + join fk_external_linkage11 in ext.GetDepartmentData() on m_eva_create_evaluation_detail_process.help_org_id equals fk_external_linkage11.id + into external_linkageResult11 + from fk_external_linkageResult11 in external_linkageResult11.DefaultIfEmpty() + where 1 == 1 && (m_eva_create_evaluation_detail_process.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue) && (all_org_id.Contains(fk_external_employee.department_id) || !model.org_id.HasValue) @@ -270,9 +276,9 @@ namespace TodoAPI2.Models && emp_id.HasValue && ( (m_eva_create_evaluation_detail_process.chief.HasValue && emp_id == m_eva_create_evaluation_detail_process.chief) - || (fk_eva_create_evaluationResult10.employee_id.HasValue && emp_id == fk_eva_create_evaluationResult10.employee_id) - || (fk_eva_create_evaluationResult10.supervisor1_id.HasValue && emp_id == fk_eva_create_evaluationResult10.supervisor1_id) - || (fk_eva_create_evaluationResult10.supervisor2_id.HasValue && emp_id == fk_eva_create_evaluationResult10.supervisor2_id) + || (((m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id)).HasValue && emp_id == (m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id)) + || ((m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id).HasValue && emp_id == (m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id)) + || ((m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id).HasValue && emp_id == (m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id)) ) && (!model.employee_id.HasValue || m_eva_create_evaluation_detail_process.employee_id == model.employee_id) @@ -301,7 +307,7 @@ namespace TodoAPI2.Models search_employee_code = fk_external_employee.employee_no, search_employee_fullname = fk_external_employee.fullname, - org_id_external_linkage_external_name = fk_sort_depResult2.external_name, + org_id_external_linkage_external_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_external_employee.department_name, status_self = m_eva_create_evaluation_detail_process.status_self, status_chief = m_eva_create_evaluation_detail_process.status_chief, @@ -312,17 +318,18 @@ namespace TodoAPI2.Models role_code = getRoleCodeSearch(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_process.status_chief ), role_desc = getRoleName(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, path), + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, + path), status_self_click_date = m_eva_create_evaluation_detail_process.status_self_click_date, status_chief_click_date = m_eva_create_evaluation_detail_process.status_chief_click_date, diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs index be97079..8af11e3 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs @@ -88,11 +88,20 @@ namespace TodoAPI2.Models public DateTime? status_supervisor1A_click_date { get; set; } public DateTime? status_supervisor2A_click_date { get; set; } - public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date); } } - public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date); } } - public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date); } } - public string txt_status_supervisor1A { get { return getStatusText(status_supervisor1A) + MyHelper.GetDateStringForReport(status_supervisor1A_click_date); } } - public string txt_status_supervisor2A { get { return getStatusText(status_supervisor2A) + MyHelper.GetDateStringForReport(status_supervisor2A_click_date); } } + public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_click_date) + getHistoryLink(status_self); } } + public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_click_date) + getHistoryLink(status_chief); } } + public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor_click_date) + getHistoryLink(status_supervisor); } } + public string txt_status_supervisor1A { get { return getStatusText(status_supervisor1A) + MyHelper.GetDateStringForReport(status_supervisor1A_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor1A_click_date) + getHistoryLink(status_supervisor1A); } } + public string txt_status_supervisor2A { get { return getStatusText(status_supervisor2A) + MyHelper.GetDateStringForReport(status_supervisor2A_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor2A_click_date) + getHistoryLink(status_supervisor2A); } } + + private string getHistoryLink(string s) + { + if (!string.IsNullOrEmpty(s)) + { + return ("
ดูประวัติ").Replace("{0}", '"'.ToString()); + } + return ""; + } private string getStatusText(string s) { @@ -110,8 +119,8 @@ namespace TodoAPI2.Models return " "; } - public string txt_status_self_a_click_date { get { return MyHelper.GetDateStringForReport(status_self_a_click_date); } } - public string txt_status_chief_a_click_date { get { return MyHelper.GetDateStringForReport(status_chief_a_click_date); } } + public string txt_status_self_a_click_date { get { return MyHelper.GetDateStringForReport(status_self_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_a_click_date); } } + public string txt_status_chief_a_click_date { get { return MyHelper.GetDateStringForReport(status_chief_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_a_click_date); } } } } diff --git a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs index 75bd35e..47aca51 100644 --- a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs +++ b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs @@ -34,6 +34,8 @@ namespace TodoAPI2.Models public string status_mode { get; set; } + public int? employee_id { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs index 492954d..7e0d3f4 100644 --- a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs +++ b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs @@ -28,16 +28,18 @@ namespace TodoAPI2.Models private IMyDatabase db; private Iexternal_linkageService ext; private Iexternal_employeeService emp; + private Ieva_create_evaluation_detail_historyService his; private IConfiguration Configuration { get; set; } public eva_create_evaluation_detail_statusService(IBaseRepository2 repository, - IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, IConfiguration configuration) + IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, IConfiguration configuration, Ieva_create_evaluation_detail_historyService inhis) { _repository = repository; db = mydb; ext = inext; emp = inemp; Configuration = configuration; + his = inhis; } #region Private Functions @@ -155,13 +157,33 @@ namespace TodoAPI2.Models var entity = GetEntity(model); entity.id = GetNewPrimaryKey(); - - var inserted = _repository.Insert(entity); return Get(inserted.id); } + private void add_history(DateTime? dt, string action, int? action_user_id, int? detail_id) + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_create_evaluation_detail_history + orderby i.id descending + select i).Take(1).ToList(); + + if (x.Count > 0) + { + newkey = x[0].id + 1; + } + + var n = new eva_create_evaluation_detail_historyEntity(); + n.id = newkey.Value; + n.action_detail = action; + n.action_dt = dt; + n.action_emp_id = action_user_id; + n.evaluation_detail_id = detail_id; + _repository.Context.Add(n); + } + public eva_create_evaluation_detail_statusViewModel Update(int id, eva_create_evaluation_detail_statusInputModel model) { var existingEntity = _repository.Get(id); @@ -192,25 +214,31 @@ namespace TodoAPI2.Models string noti_url = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d2?id=" + existingEntity.id.ToString(); bool need_noti = true; + string noti_message2 = ""; + string noti_url2 = ""; + int? noti_to_employee_id2 = null; + if (model.status_mode == "nextA") { - existingEntity.status_self_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_self_a_click_date = DateTime.Now; existingEntity.status_chief_a_click_date = null; noti_to_employee_id = existingEntity.chief; noti_message = "กรุณาตรวจสอบ ข้อตกลงการประเมิน ของ {0}"; noti_url = "/eva/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ส่งข้อตกลงการประเมิน", model.employee_id, existingEntity.id); } else if (model.status_mode == "backB") { - existingEntity.status_chief_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_a_click_date = DateTime.Now; existingEntity.status_self_a_click_date = null; noti_to_employee_id = existingEntity.employee_id; noti_message = "ข้อตกลงการประเมินของคุณ ({0}) ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ข้อตกลงการประเมิน ถูกตีกลับ", model.employee_id, existingEntity.id); } else if (model.status_mode == "nextB") { - existingEntity.status_chief_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_a_click_date = DateTime.Now; if (current_eva.employee_id == existingEntity.chief) // หัวหน้าและผู้ประเมินสูงสุด เป็นคนคนเดียวกัน { noti_to_employee_id = current_eva.supervisor1_id; @@ -220,17 +248,23 @@ namespace TodoAPI2.Models noti_to_employee_id = current_eva.employee_id; } need_noti = false; + add_history(DateTime.Now, "อนุมัติ ข้อตกลงการประเมิน", existingEntity.chief, existingEntity.id); } else if (model.status_mode == "next0") { - existingEntity.status_self_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_self_click_date = DateTime.Now; noti_to_employee_id = existingEntity.chief; noti_message = "กรุณาตรวจสอบแบบประเมินของ {0}"; noti_url = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + + noti_to_employee_id2 = owner_eva_employee_id; + noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว"; + noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ส่งแบบประเมิน", model.employee_id, existingEntity.id); } else if (model.status_mode == "next1") { - existingEntity.status_chief_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_click_date = DateTime.Now; if (current_eva.employee_id == existingEntity.chief) // หัวหน้าและผู้ประเมินสูงสุด เป็นคนคนเดียวกัน { noti_to_employee_id = current_eva.supervisor1_id; @@ -242,55 +276,78 @@ namespace TodoAPI2.Models } else if (model.status_mode == "back1") { - existingEntity.status_chief_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_click_date = DateTime.Now; existingEntity.status_self_click_date = null; noti_to_employee_id = existingEntity.employee_id; noti_message = "ข้อตกลงการประเมินของคุณ ({0}) ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ข้อตกลงการประเมิน ถูกตีกลับ โดยผู้ประเมิน", model.employee_id, existingEntity.id); } else if (model.status_mode == "next2") { - existingEntity.status_supervisor_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor_click_date = DateTime.Now; noti_to_employee_id = current_eva.supervisor1_id; + + noti_to_employee_id2 = owner_eva_employee_id; + noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว"; + noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ผู้ประเมินสูงสุด อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id); } else if (model.status_mode == "back2") { - existingEntity.status_supervisor_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor_click_date = DateTime.Now; existingEntity.status_chief_click_date = null; noti_to_employee_id = existingEntity.chief; noti_message = "แบบประเมินของ {0} ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "แบบประเมิน ถูกตีกลับ โดยผู้ประเมินสูงสุด", model.employee_id, existingEntity.id); } else if (model.status_mode == "next3") { - existingEntity.status_supervisor1A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor1A_click_date = DateTime.Now; noti_to_employee_id = current_eva.supervisor2_id; + + noti_to_employee_id2 = owner_eva_employee_id; + noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว"; + noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id); } else if (model.status_mode == "back3") { - existingEntity.status_supervisor1A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor1A_click_date = DateTime.Now; existingEntity.status_supervisor_click_date = null; noti_to_employee_id = current_eva.employee_id; noti_message = "แบบประเมินของ {0} ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d2?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "แบบประเมินถูกตีกลับ โดย ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง", model.employee_id, existingEntity.id); } else if (model.status_mode == "next4") { - existingEntity.status_supervisor2A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor2A_click_date = DateTime.Now; + + noti_to_employee_id2 = owner_eva_employee_id; + noti_message2 = "แบบประเมินของ {0} ได้รับการประเมินเรียบร้อยแล้ว"; + noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง (สูงสุด) อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id); } else if (model.status_mode == "back4") { - existingEntity.status_supervisor2A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor2A_click_date = DateTime.Now; existingEntity.status_supervisor1A_click_date = null; noti_to_employee_id = current_eva.supervisor1_id; noti_message = "แบบประเมินของ {0} ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d2?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "แบบประเมินถูกตีกลับ โดย ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง (สูงสุด)", model.employee_id, existingEntity.id); } if (need_noti) { SendNotification(noti_to_employee_id, owner_eva_employee_id, existingEntity.id, noti_message, noti_url); } + if (noti_to_employee_id2.HasValue) + { + SendNotification(noti_to_employee_id2, owner_eva_employee_id, existingEntity.id, noti_message2, noti_url2); + } var updated = _repository.Update(id, existingEntity); return Get(updated.id); @@ -320,7 +377,7 @@ values('{Guid.NewGuid().ToString()}','App\Notifications\WorkflowNotification','A d.url = noti_url; NpgsqlParameter data = new NpgsqlParameter(); - data.DbType = DbType.String; + data.NpgsqlDbType = NpgsqlDbType.Json; data.Direction = ParameterDirection.Input; data.ParameterName = "data"; data.Value = JsonConvert.SerializeObject(d); diff --git a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs index 74912e2..4d6c3aa 100644 --- a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs +++ b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs @@ -266,15 +266,16 @@ namespace TodoAPI2.Models var newid = GetNewPrimaryKey(); var enter = "\n"; + var start_id = newid; foreach (var i in opt) { var n = new eva_evaluation_achievementEntity(); n.id = newid; n.create_evaluation_detail_id = id; - n.achievement = "รายละเอียดภารกิจ" + enter + enter + i.mission_detail + enter + enter + "เป้าหมาย" + enter + enter + i.target + enter + enter + "ตัวชี้วัด" + enter + enter + i.indicators; + n.achievement = "รายละเอียดภารกิจ" + enter + i.mission_detail + enter + enter + "เป้าหมาย" + enter + i.target + enter + enter + "ตัวชี้วัด" + enter + i.indicators; n.weight = 0; - n.created = DateTime.Now.AddMinutes(-1 * newid); + n.created = DateTime.Now.AddMinutes(newid - start_id).AddMinutes(opt.Count * -1); newid++; _repository.Context.Add(n); } diff --git a/Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs b/Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs new file mode 100644 index 0000000..637dbad --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs @@ -0,0 +1,32 @@ +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 Ieva_evaluation_achievement_attachService : IBaseService2 + { + new eva_evaluation_achievement_attachViewModel Insert(eva_evaluation_achievement_attachInputModel model, bool is_force_save); + new eva_evaluation_achievement_attachViewModel Update(int id, eva_evaluation_achievement_attachInputModel model, bool is_force_save); + List GetListByachievement_id(int? achievement_id); + List GetListBySearch(eva_evaluation_achievement_attachSearchModel model); + + string UpdateMultiple(List model, bool is_force_save); + eva_evaluation_achievement_attachWithSelectionViewModel GetWithSelection(int id); + eva_evaluation_achievement_attachWithSelectionViewModel GetBlankItem(); + + void RefreshAutoFieldOfAllData(); + eva_evaluation_achievement_attachEntity GetEntity(int id); + DataContext GetContext(); + + + + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs new file mode 100644 index 0000000..0b5e58b --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs @@ -0,0 +1,48 @@ +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; +using System.IO; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachEntity : BaseEntity2 + { + + + [ForeignKey("achievement_id")] + public eva_evaluation_achievementEntity eva_evaluation_achievement_achievement_id { get; set; } + public int? achievement_id { get; set; } + + [MaxLength(1000)] + public string the_file { get; set; } + + [NotMapped] + public string the_fileDisplay + { + get + { + return (string.IsNullOrEmpty(the_file) ? "" : + FileUtil.GetFileInfo(TTSW.Constant.FilePathConstant.DirType.FilesTestUpload, id, the_file).RelativePath).Replace(@"\", "/"); + } + } + + + public void SetAutoField(DataContext context) + { + + } + + public void DoAfterInsertUpdate(DataContext context) + { + + } + + } +} diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs new file mode 100644 index 0000000..92ef2b0 --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs @@ -0,0 +1,26 @@ +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 eva_evaluation_achievement_attachInputModel + { + + public int? id { get; set; } + + public int? achievement_id { get; set; } + + public string the_file { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.cs new file mode 100644 index 0000000..6cdae6f --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.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 eva_evaluation_achievement_attachReportRequestModel : eva_evaluation_achievement_attachSearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.cs new file mode 100644 index 0000000..312da4c --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.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 eva_evaluation_achievement_attachSearchModel + { + + public int id { get; set; } + + public int? achievement_id { get; set; } + + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs new file mode 100644 index 0000000..a249a2d --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs @@ -0,0 +1,332 @@ +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 eva_evaluation_achievement_attachService : Ieva_evaluation_achievement_attachService + { + private IBaseRepository2 _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + + public eva_evaluation_achievement_attachService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) + { + _repository = repository; + db = mydb; + ext = inext; + } + + #region Private Functions + private eva_evaluation_achievement_attachEntity GetEntity(eva_evaluation_achievement_attachInputModel model) + { + return Mapper.Map(model); + } + private List GetEntityList(List models) + { + return Mapper.Map>(models); + } + private eva_evaluation_achievement_attachViewModel GetDto(eva_evaluation_achievement_attachEntity entity) + { + return Mapper.Map(entity); + } + private List GetDtoList(List entities) + { + return Mapper.Map>(entities); + } + + #endregion + + #region Public Functions + #region Query Functions + + public eva_evaluation_achievement_attachViewModel Get(int id) + { + var entity = _repository.Get(id); + + return GetDto(entity); + } + + public eva_evaluation_achievement_attachEntity GetEntity(int id) + { + var entity = _repository.Get(id); + + return entity; + } + + public DataContext GetContext() + { + return _repository.Context; + } + + public eva_evaluation_achievement_attachWithSelectionViewModel GetWithSelection(int id) + { + var entity = _repository.Get(id); + var i = Mapper.Map(entity); + + + return i; + } + public eva_evaluation_achievement_attachWithSelectionViewModel GetBlankItem() + { + var i = new eva_evaluation_achievement_attachWithSelectionViewModel(); + + + return i; + } + + public List GetListByachievement_id(int? achievement_id) + { + var model = new eva_evaluation_achievement_attachSearchModel(); + model.achievement_id = achievement_id; + return GetListBySearch(model); + } + + public List GetListBySearch(eva_evaluation_achievement_attachSearchModel model) + { + var data = ( + from m_eva_evaluation_achievement_attach in _repository.Context.eva_evaluation_achievement_attach + + join fk_eva_evaluation_achievement1 in _repository.Context.eva_evaluation_achievement on m_eva_evaluation_achievement_attach.achievement_id equals fk_eva_evaluation_achievement1.id + into eva_evaluation_achievementResult1 + from fk_eva_evaluation_achievementResult1 in eva_evaluation_achievementResult1.DefaultIfEmpty() + + + where + 1 == 1 + && (!model.achievement_id.HasValue || m_eva_evaluation_achievement_attach.achievement_id == model.achievement_id) + + + orderby m_eva_evaluation_achievement_attach.created descending + select new eva_evaluation_achievement_attachViewModel() + { + id = m_eva_evaluation_achievement_attach.id, + achievement_id = m_eva_evaluation_achievement_attach.achievement_id, + the_file = m_eva_evaluation_achievement_attach.the_file, + the_fileDisplay = m_eva_evaluation_achievement_attach.the_fileDisplay, + + achievement_id_eva_evaluation_achievement_create_evaluation_detail_id = fk_eva_evaluation_achievementResult1.create_evaluation_detail_id, + + isActive = m_eva_evaluation_achievement_attach.isActive, + Created = m_eva_evaluation_achievement_attach.created, + Updated = m_eva_evaluation_achievement_attach.updated + } + ).Take(1000).ToList(); + + return data; + } + + #endregion + + #region Manipulation Functions + + + public int GetNewPrimaryKey() + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_evaluation_achievement_attach + orderby i.id descending + select i).Take(1).ToList(); + + if(x.Count > 0) + { + newkey = x[0].id + 1; + } + + return newkey.Value; + } + + + public eva_evaluation_achievement_attachViewModel Insert(eva_evaluation_achievement_attachInputModel model, bool is_force_save) + { + var entity = GetEntity(model); + entity.id = GetNewPrimaryKey(); + + if (!string.IsNullOrEmpty(model.the_file)) + { + //Move file from temp to physical + string the_fileFileName = FileUtil.MoveTempUploadFileToActualPath( + model.the_file, FilePathConstant.DirType.FilesTestUpload, entity.id); + entity.the_file = the_fileFileName; + } + entity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var inserted = _repository.Insert(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Get(inserted.id); + } + else + { + _repository.InsertWithoutCommit(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(entity); + } + } + + public eva_evaluation_achievement_attachViewModel Update(int id, eva_evaluation_achievement_attachInputModel model, bool is_force_save) + { + var existingEntity = _repository.Get(id); + if (existingEntity != null) + { + existingEntity.achievement_id = model.achievement_id; + if (!string.IsNullOrEmpty(model.the_file)) + { + if (model.the_file.StartsWith("Uploads")) + { + var the_fileFileName = FileUtil.MoveTempUploadFileToActualPath( + model.the_file, FilePathConstant.DirType.FilesTestUpload, existingEntity.id, existingEntity.the_file); + existingEntity.the_file = the_fileFileName; + } + else + { + existingEntity.the_file = model.the_file; + } + } + else + { + existingEntity.the_file = null; + } + + + existingEntity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var updated = _repository.Update(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Get(updated.id); + } + else + { + _repository.UpdateWithoutCommit(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(existingEntity); + } + } + else + throw new NotificationException("No data to update"); + } + + public string UpdateMultiple(List model, bool is_force_save) + { + foreach(var i in model) + { + if (i.active_mode == "1" && i.id.HasValue) // update + { + var existingEntity = _repository.Get(i.id.Value); + if (existingEntity != null) + { + existingEntity.achievement_id = i.achievement_id; + if (!string.IsNullOrEmpty(i.the_file)) + { + if (i.the_file.StartsWith("Uploads")) + { + var the_fileFileName = FileUtil.MoveTempUploadFileToActualPath( + i.the_file, FilePathConstant.DirType.FilesTestUpload, existingEntity.id, existingEntity.the_file); + existingEntity.the_file = the_fileFileName; + } + else + { + existingEntity.the_file = i.the_file; + } + } + else + { + existingEntity.the_file = null; + } + + + existingEntity.SetAutoField(_repository.Context); + _repository.UpdateWithoutCommit(i.id.Value, existingEntity); + } + } + else if (i.active_mode == "1" && !i.id.HasValue) // add + { + var entity = GetEntity(i); + entity.id = GetNewPrimaryKey(); + entity.SetAutoField(_repository.Context); + _repository.InsertWithoutCommit(entity); + } + else if (i.active_mode == "0" && i.id.HasValue) // remove + { + _repository.DeleteWithoutCommit(i.id.Value); + } + else if (i.active_mode == "0" && !i.id.HasValue) + { + // nothing to do + } + } + if (is_force_save) + { + _repository.Context.SaveChanges(); + } + + return model.Count().ToString(); + } + + public eva_evaluation_achievement_attachViewModel SetAsActive(int id) + { + var updated = _repository.SetAsActive(id); + + return Get(updated.id); + } + public eva_evaluation_achievement_attachViewModel SetAsInactive(int id) + { + var updated = _repository.SetAsInActive(id); + + return Get(updated.id); + } + public void Delete(int id) + { + _repository.Delete(id); + + return; + } + + public void RefreshAutoFieldOfAllData() + { + var all_items = from i in _repository.Context.eva_evaluation_achievement_attach + select i; + foreach (var item in all_items) + { + item.SetAutoField(_repository.Context); + } + _repository.Context.SaveChanges(); + } + + private Dictionary GetLookupForLog() + { + var i = new Dictionary(); + + + i.Add("achievement_id", "อ้างอิงตาราง eva_create_evaluation_detail"); + i.Add("achievement_id_eva_evaluation_achievement_create_evaluation_detail_id", "อ้างอิงตาราง eva_create_evaluation_detail"); + + return i; + } + + #endregion + + #region Match Item + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs new file mode 100644 index 0000000..8e5731f --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs @@ -0,0 +1,34 @@ +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 eva_evaluation_achievement_attachViewModel : BaseViewModel2 + { + + public int? achievement_id { get; set; } + + public string the_file { get; set; } + public string the_fileDisplay { get; set; } + + public string txt_the_file + { + get + { + return (string.IsNullOrEmpty(the_file) ? "" : + $"{the_file}"); + } + } + + public int? achievement_id_eva_evaluation_achievement_create_evaluation_detail_id { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs new file mode 100644 index 0000000..de257c1 --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachWithSelectionViewModel: eva_evaluation_achievement_attachViewModel + { + + } +} \ No newline at end of file diff --git a/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs b/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs index 1636267..7c1aca7 100644 --- a/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs +++ b/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs @@ -239,14 +239,15 @@ namespace TodoAPI2.Models throw new Exception("ผู้รับการประเมิน ส่งแบบประเมินไปแล้ว บันทึกไม่ได้"); } - existingEntity.create_evaluation_detail_id = i.create_evaluation_detail_id; - existingEntity.behavior = i.behavior; existingEntity.weight = i.weight; - existingEntity.target_score1 = i.target_score1; - existingEntity.target_score2 = i.target_score2; - existingEntity.target_score3 = i.target_score3; - existingEntity.target_score4 = i.target_score4; - existingEntity.target_score5 = i.target_score5; + + //existingEntity.create_evaluation_detail_id = i.create_evaluation_detail_id; + //existingEntity.behavior = i.behavior; + //existingEntity.target_score1 = i.target_score1; + //existingEntity.target_score2 = i.target_score2; + //existingEntity.target_score3 = i.target_score3; + //existingEntity.target_score4 = i.target_score4; + //existingEntity.target_score5 = i.target_score5; _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } diff --git a/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs b/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs index 41959bf..f4363a5 100644 --- a/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs +++ b/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs @@ -157,6 +157,20 @@ namespace TodoAPI2.Models var entity = GetEntity(model); entity.id = GetNewPrimaryKey(); + if (!model.mission_no.HasValue) + { + var max_mission = (from i in _repository.Context.eva_evaluation_operating_agreement + where i.create_evaluation_detail_id == model.create_evaluation_detail_id + select i.mission_no).Max(); + if (max_mission.HasValue) + { + entity.mission_no = max_mission + 1; + } + else + { + entity.mission_no = 1; + } + } entity.SetAutoField(_repository.Context); diff --git a/Models/eva_idp_plan_reviewer/Ieva_idp_plan_reviewerService.cs b/Models/eva_idp_plan_reviewer/Ieva_idp_plan_reviewerService.cs new file mode 100644 index 0000000..837a973 --- /dev/null +++ b/Models/eva_idp_plan_reviewer/Ieva_idp_plan_reviewerService.cs @@ -0,0 +1,32 @@ +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 Ieva_idp_plan_reviewerService : IBaseService2 + { + new eva_idp_plan_reviewerViewModel Insert(eva_idp_plan_reviewerInputModel model, bool is_force_save); + new eva_idp_plan_reviewerViewModel Update(int id, eva_idp_plan_reviewerInputModel model, bool is_force_save); + List GetListBycreate_evaluation_detail_id(int? create_evaluation_detail_id); + List GetListBySearch(eva_idp_plan_reviewerSearchModel model); + + string UpdateMultiple(List model, bool is_force_save); + eva_idp_plan_reviewerWithSelectionViewModel GetWithSelection(int id); + eva_idp_plan_reviewerWithSelectionViewModel GetBlankItem(); + + void RefreshAutoFieldOfAllData(); + eva_idp_planEntity GetEntity(int id); + DataContext GetContext(); + + + + } +} + diff --git a/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerInputModel.cs b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerInputModel.cs new file mode 100644 index 0000000..e1dacd2 --- /dev/null +++ b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerInputModel.cs @@ -0,0 +1,32 @@ +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 eva_idp_plan_reviewerInputModel + { + + public int? id { get; set; } + + public int? create_evaluation_detail_id { get; set; } + + public string develop { get; set; } + + public string development_method { get; set; } + + public DateTime? start_date { get; set; } + + public DateTime? end_date { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerReportRequestModel.cs b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerReportRequestModel.cs new file mode 100644 index 0000000..6f169ff --- /dev/null +++ b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerReportRequestModel.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 eva_idp_plan_reviewerReportRequestModel : eva_idp_plan_reviewerSearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerSearchModel.cs b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerSearchModel.cs new file mode 100644 index 0000000..cde384d --- /dev/null +++ b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerSearchModel.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 eva_idp_plan_reviewerSearchModel + { + + public int id { get; set; } + + public int? create_evaluation_detail_id { get; set; } + + } +} + diff --git a/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerService.cs b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerService.cs new file mode 100644 index 0000000..3d1bd01 --- /dev/null +++ b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerService.cs @@ -0,0 +1,300 @@ +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 eva_idp_plan_reviewerService : Ieva_idp_plan_reviewerService + { + private IBaseRepository2 _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + + public eva_idp_plan_reviewerService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) + { + _repository = repository; + db = mydb; + ext = inext; + } + + #region Private Functions + private eva_idp_planEntity GetEntity(eva_idp_plan_reviewerInputModel model) + { + return Mapper.Map(model); + } + private List GetEntityList(List models) + { + return Mapper.Map>(models); + } + private eva_idp_plan_reviewerViewModel GetDto(eva_idp_planEntity entity) + { + return Mapper.Map(entity); + } + private List GetDtoList(List entities) + { + return Mapper.Map>(entities); + } + + #endregion + + #region Public Functions + #region Query Functions + + public eva_idp_plan_reviewerViewModel Get(int id) + { + var entity = _repository.Get(id); + + return GetDto(entity); + } + + public eva_idp_planEntity GetEntity(int id) + { + var entity = _repository.Get(id); + + return entity; + } + + public DataContext GetContext() + { + return _repository.Context; + } + + public eva_idp_plan_reviewerWithSelectionViewModel GetWithSelection(int id) + { + var entity = _repository.Get(id); + var i = Mapper.Map(entity); + + + return i; + } + public eva_idp_plan_reviewerWithSelectionViewModel GetBlankItem() + { + var i = new eva_idp_plan_reviewerWithSelectionViewModel(); + + + return i; + } + + public List GetListBycreate_evaluation_detail_id(int? create_evaluation_detail_id) + { + var model = new eva_idp_plan_reviewerSearchModel(); + model.create_evaluation_detail_id = create_evaluation_detail_id; + return GetListBySearch(model); + } + + public List GetListBySearch(eva_idp_plan_reviewerSearchModel model) + { + var data = ( + from m_eva_idp_plan_reviewer in _repository.Context.eva_idp_plan + + + where + 1 == 1 + && (!model.create_evaluation_detail_id.HasValue || m_eva_idp_plan_reviewer.create_evaluation_detail_id == model.create_evaluation_detail_id) + + + orderby m_eva_idp_plan_reviewer.created descending + select new eva_idp_plan_reviewerViewModel() + { + id = m_eva_idp_plan_reviewer.id, + create_evaluation_detail_id = m_eva_idp_plan_reviewer.create_evaluation_detail_id, + develop = m_eva_idp_plan_reviewer.develop, + development_method = m_eva_idp_plan_reviewer.development_method, + start_date = m_eva_idp_plan_reviewer.start_date, + end_date = m_eva_idp_plan_reviewer.end_date, + + + isActive = m_eva_idp_plan_reviewer.isActive, + Created = m_eva_idp_plan_reviewer.created, + Updated = m_eva_idp_plan_reviewer.updated + } + ).Take(1000).ToList(); + + return data; + } + + #endregion + + #region Manipulation Functions + + + public int GetNewPrimaryKey() + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_idp_plan + orderby i.id descending + select i).Take(1).ToList(); + + if(x.Count > 0) + { + newkey = x[0].id + 1; + } + + return newkey.Value; + } + + + public eva_idp_plan_reviewerViewModel Insert(eva_idp_plan_reviewerInputModel model, bool is_force_save) + { + var entity = GetEntity(model); + entity.id = GetNewPrimaryKey(); + + + entity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var inserted = _repository.Insert(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Get(inserted.id); + } + else + { + _repository.InsertWithoutCommit(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(entity); + } + } + + public eva_idp_plan_reviewerViewModel Update(int id, eva_idp_plan_reviewerInputModel model, bool is_force_save) + { + var existingEntity = _repository.Get(id); + if (existingEntity != null) + { + existingEntity.create_evaluation_detail_id = model.create_evaluation_detail_id; + existingEntity.develop = model.develop; + existingEntity.development_method = model.development_method; + existingEntity.start_date = model.start_date; + existingEntity.end_date = model.end_date; + + existingEntity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var updated = _repository.Update(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Get(updated.id); + } + else + { + _repository.UpdateWithoutCommit(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(existingEntity); + } + } + else + throw new NotificationException("No data to update"); + } + + public string UpdateMultiple(List model, bool is_force_save) + { + foreach(var i in model) + { + if (i.active_mode == "1" && i.id.HasValue) // update + { + var existingEntity = _repository.Get(i.id.Value); + if (existingEntity != null) + { + existingEntity.create_evaluation_detail_id = i.create_evaluation_detail_id; + existingEntity.develop = i.develop; + existingEntity.development_method = i.development_method; + existingEntity.start_date = i.start_date; + existingEntity.end_date = i.end_date; + + existingEntity.SetAutoField(_repository.Context); + _repository.UpdateWithoutCommit(i.id.Value, existingEntity); + } + } + else if (i.active_mode == "1" && !i.id.HasValue) // add + { + var entity = GetEntity(i); + entity.id = GetNewPrimaryKey(); + entity.SetAutoField(_repository.Context); + _repository.InsertWithoutCommit(entity); + } + else if (i.active_mode == "0" && i.id.HasValue) // remove + { + _repository.DeleteWithoutCommit(i.id.Value); + } + else if (i.active_mode == "0" && !i.id.HasValue) + { + // nothing to do + } + } + if (is_force_save) + { + _repository.Context.SaveChanges(); + } + + return model.Count().ToString(); + } + + public eva_idp_plan_reviewerViewModel SetAsActive(int id) + { + var updated = _repository.SetAsActive(id); + + return Get(updated.id); + } + public eva_idp_plan_reviewerViewModel SetAsInactive(int id) + { + var updated = _repository.SetAsInActive(id); + + return Get(updated.id); + } + public void Delete(int id) + { + _repository.Delete(id); + + return; + } + + public void RefreshAutoFieldOfAllData() + { + var all_items = from i in _repository.Context.eva_idp_plan + select i; + foreach (var item in all_items) + { + item.SetAutoField(_repository.Context); + } + _repository.Context.SaveChanges(); + } + + private Dictionary GetLookupForLog() + { + var i = new Dictionary(); + + + i.Add("create_evaluation_detail_id", "create_evaluation_detail_id"); + i.Add("develop", "ความรู้/ทักษะ/สมรรถนะที่ต้องได้รับการพัฒนา"); + i.Add("development_method", "วิธีการพัฒนา"); + i.Add("start_date", "ช่วงเวลาเริ่มต้นพัฒนา"); + i.Add("txt_start_date", "ช่วงเวลาเริ่มต้นพัฒนา"); + i.Add("end_date", "ช่วงเวลาสิ้นสุดพัฒนา"); + i.Add("txt_end_date", "ช่วงเวลาสิ้นสุดพัฒนา"); + + return i; + } + + #endregion + + #region Match Item + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerViewModel.cs b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerViewModel.cs new file mode 100644 index 0000000..61d66cb --- /dev/null +++ b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerViewModel.cs @@ -0,0 +1,33 @@ +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 eva_idp_plan_reviewerViewModel : BaseViewModel2 + { + + public int? create_evaluation_detail_id { get; set; } + + public string develop { get; set; } + + public string development_method { get; set; } + + public DateTime? start_date { get; set; } + + public string txt_start_date { get { return MyHelper.GetDateStringForReport(this.start_date); } } + + public DateTime? end_date { get; set; } + + public string txt_end_date { get { return MyHelper.GetDateStringForReport(this.end_date); } } + + + } +} \ No newline at end of file diff --git a/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerWithSelectionViewModel.cs b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerWithSelectionViewModel.cs new file mode 100644 index 0000000..7958c97 --- /dev/null +++ b/Models/eva_idp_plan_reviewer/eva_idp_plan_reviewerWithSelectionViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class eva_idp_plan_reviewerWithSelectionViewModel: eva_idp_plan_reviewerViewModel + { + + } +} \ No newline at end of file diff --git a/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs b/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs index 6118a25..1a32bed 100644 --- a/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs +++ b/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs @@ -132,6 +132,11 @@ namespace TodoAPI2.Models into external_linkageResult11 from fk_external_linkageResult11 in external_linkageResult11.DefaultIfEmpty() + join sort_dep in ext.GetSortingDep() on + (m_eva_limit_frame_employee.help_org_id.HasValue ? m_eva_limit_frame_employee.help_org_id : fk_external_linkageResult2.department_id) equals sort_dep.id + into sort_depResult2 + from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + where 1 == 1 && (!model.frame_group_guid.HasValue || m_eva_limit_frame_employee.frame_group_guid == model.frame_group_guid) @@ -156,7 +161,7 @@ namespace TodoAPI2.Models frame_group_guid_eva_limit_frame_group_group_guid = fk_eva_limit_frame_groupResult1.group_guid, employee_id_external_linkage_external_name = fk_external_linkageResult2.fullname, - org_id_external_linkage_external_name = fk_external_linkageResult3.external_name, + org_id_external_linkage_external_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_external_linkageResult3.external_name, help_org_id_external_linkage_external_name = fk_external_linkageResult11.external_name, isActive = m_eva_limit_frame_employee.isActive, diff --git a/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs b/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs index d0f4ed7..570baf6 100644 --- a/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs +++ b/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs @@ -22,12 +22,15 @@ namespace TodoAPI2.Models private IBaseRepository2 _repository; private IMyDatabase db; private Iexternal_linkageService ext; + private Iexternal_employeeService emp; - public eva_limit_frame_groupService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) + public eva_limit_frame_groupService(IBaseRepository2 repository, + IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp) { _repository = repository; db = mydb; ext = inext; + emp = inemp; } #region Private Functions @@ -172,6 +175,18 @@ namespace TodoAPI2.Models public eva_limit_frame_groupViewModel Update(Guid id, eva_limit_frame_groupInputModel model, bool is_force_save) { var existingEntity = _repository.Get(id); + + var plan = (from i in _repository.Context.eva_limit_frame_plan where i.plan_guid == existingEntity.frame_plan_guid select i).FirstOrDefault(); + + var all_all_emp = emp.GetAllEmployee(); + var mapping_dept = emp.GetDeptMapping(); + var working_record = from i in emp.GetWorkingRecord() +// where +//plan.executed_date.HasValue +//&& i.start_date <= plan.executed_date +//&& i.end_date >= plan.executed_date + select i; + if (existingEntity != null) { existingEntity.frame_plan_guid = model.frame_plan_guid; @@ -182,7 +197,24 @@ namespace TodoAPI2.Models existingEntity.total_salary_limit_rounded = model.total_salary_limit_rounded; existingEntity.remark = model.remark; - existingEntity.SetAutoField(_repository.Context); + int j = 1; + foreach (var y in from z in _repository.Context.eva_limit_frame_employee where z.frame_group_guid == model.id orderby z.order_of_data select z) + { + if (y.help_org_id.HasValue) + { + var theemp = (from q in all_all_emp where q.id == y.employee_id select q).FirstOrDefault(); + var thedetail = (from r in working_record where r.employee_id == y.employee_id select r).FirstOrDefault(); + var help_at = (from s in mapping_dept where s.id == thedetail.place select s).FirstOrDefault(); + if (theemp != null && thedetail != null && help_at != null) + { + if (existingEntity.remark != "") existingEntity.remark += "\n"; + existingEntity.remark += $"{j}.ในลำดับที่ {y.order_of_data} {theemp.fullname} ตำแหน่ง{theemp.position_name} {theemp.department_name} \nมาช่วยปฏิบัติงานที่{help_at.department_name} ตั้งแต่วันที่ {MyHelper.GetDateStringForReport(thedetail.start_date)} - {MyHelper.GetDateStringForReport(thedetail.end_date)} \nตาม{thedetail.subject}"; + } + j++; + } + } + + existingEntity.SetAutoField(_repository.Context); if (is_force_save) { diff --git a/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs b/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs index aaec12d..ea0192b 100644 --- a/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs +++ b/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs @@ -57,9 +57,10 @@ namespace TodoAPI2.Models public void DoAfterInsertUpdate(DataContext context) { total_salary = (from i in context.eva_limit_frame_employee - join j in context.eva_limit_frame_group - on i.frame_group_guid equals j.id - select i.salary).Sum(); + join j in context.eva_limit_frame_group + on i.frame_group_guid equals j.id + where j.frame_plan_guid == this.id + select i.salary).Sum(); limit_frame_005_total = total_salary * limit_frame_005 / 100; limit_frame_005_total_rounded = MyHelper.RoundOff(limit_frame_005_total.Value, 10); } diff --git a/Models/eva_performance_plan/eva_performance_planEntity.cs b/Models/eva_performance_plan/eva_performance_planEntity.cs index 726d0e2..f77b9ac 100644 --- a/Models/eva_performance_plan/eva_performance_planEntity.cs +++ b/Models/eva_performance_plan/eva_performance_planEntity.cs @@ -19,6 +19,8 @@ namespace TodoAPI2.Models public int? theTime { get; set; } + public decimal? percent { get; set; } + [NotMapped] public string display_text { diff --git a/Models/eva_performance_plan/eva_performance_planInputModel.cs b/Models/eva_performance_plan/eva_performance_planInputModel.cs index a638ec7..c4d4220 100644 --- a/Models/eva_performance_plan/eva_performance_planInputModel.cs +++ b/Models/eva_performance_plan/eva_performance_planInputModel.cs @@ -20,6 +20,8 @@ namespace TodoAPI2.Models public int? theTime { get; set; } + public decimal? percent { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_performance_plan/eva_performance_planService.cs b/Models/eva_performance_plan/eva_performance_planService.cs index df6e808..2395646 100644 --- a/Models/eva_performance_plan/eva_performance_planService.cs +++ b/Models/eva_performance_plan/eva_performance_planService.cs @@ -20,14 +20,14 @@ namespace TodoAPI2.Models public class eva_performance_planService : Ieva_performance_planService { private IBaseRepository _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; public eva_performance_planService(IBaseRepository repository, IMyDatabase mydb, Iexternal_linkageService inext) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; } #region Private Functions @@ -47,7 +47,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + private List GetListWithoutBase64Fields(IQueryable listQuery) { return listQuery.Select(c => new eva_performance_planEntity() @@ -98,7 +98,7 @@ namespace TodoAPI2.Models id = m_eva_performance_plan.id, fiscal_year = m_eva_performance_plan.fiscal_year, theTime = m_eva_performance_plan.theTime, - + percent = m_eva_performance_plan.percent, isActive = m_eva_performance_plan.isActive, Created = m_eva_performance_plan.created, @@ -115,7 +115,7 @@ namespace TodoAPI2.Models from m_eva_performance_plan in _repository.Context.eva_performance_plan - where m_eva_performance_plan.fiscal_year == fiscal_year || !fiscal_year.HasValue + where m_eva_performance_plan.fiscal_year == fiscal_year || !fiscal_year.HasValue orderby m_eva_performance_plan.created descending select new eva_performance_planViewModel() @@ -123,7 +123,7 @@ namespace TodoAPI2.Models id = m_eva_performance_plan.id, fiscal_year = m_eva_performance_plan.fiscal_year, theTime = m_eva_performance_plan.theTime, - + percent = m_eva_performance_plan.percent, isActive = m_eva_performance_plan.isActive, Created = m_eva_performance_plan.created, @@ -134,13 +134,13 @@ namespace TodoAPI2.Models return data; } - public List GetListBySearch(eva_performance_planSearchModel model) + public List GetListBySearch(eva_performance_planSearchModel model) { var data = ( from m_eva_performance_plan in _repository.Context.eva_performance_plan - where 1==1 + where 1 == 1 && (m_eva_performance_plan.fiscal_year == model.fiscal_year || !model.fiscal_year.HasValue) && (m_eva_performance_plan.theTime == model.theTime || !model.theTime.HasValue) @@ -151,7 +151,7 @@ namespace TodoAPI2.Models id = m_eva_performance_plan.id, fiscal_year = m_eva_performance_plan.fiscal_year, theTime = m_eva_performance_plan.theTime, - + percent = m_eva_performance_plan.percent, isActive = m_eva_performance_plan.isActive, Created = m_eva_performance_plan.created, @@ -173,7 +173,7 @@ namespace TodoAPI2.Models var inserted = _repository.Insert(entity); - + return Get(inserted.id); } @@ -184,27 +184,27 @@ namespace TodoAPI2.Models { existingEntity.fiscal_year = model.fiscal_year; existingEntity.theTime = model.theTime; - + existingEntity.percent = model.percent; var updated = _repository.Update(id, existingEntity); return Get(updated.id); } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model) + public string UpdateMultiple(List model) { - foreach(var i in model) + foreach (var i in model) { if (i.active_mode == "1" && i.id.HasValue) // update - { + { var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.fiscal_year = i.fiscal_year; - existingEntity.theTime = i.theTime; - + existingEntity.fiscal_year = i.fiscal_year; + existingEntity.theTime = i.theTime; + existingEntity.percent = i.percent; _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } @@ -216,15 +216,15 @@ namespace TodoAPI2.Models _repository.InsertWithoutCommit(entity); } else if (i.active_mode == "0" && i.id.HasValue) // remove - { + { _repository.DeleteWithoutCommit(i.id.Value); } else if (i.active_mode == "0" && !i.id.HasValue) { // nothing to do - } + } } - _repository.Context.SaveChanges(); + _repository.Context.SaveChanges(); return model.Count().ToString(); } diff --git a/Models/eva_performance_plan/eva_performance_planViewModel.cs b/Models/eva_performance_plan/eva_performance_planViewModel.cs index d812004..7a1fc8d 100644 --- a/Models/eva_performance_plan/eva_performance_planViewModel.cs +++ b/Models/eva_performance_plan/eva_performance_planViewModel.cs @@ -18,6 +18,6 @@ namespace TodoAPI2.Models public int? theTime { get; set; } - + public decimal? percent { get; set; } } } \ No newline at end of file diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs b/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs index ad96fab..3cfdf6c 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs @@ -30,6 +30,8 @@ namespace TodoAPI2.Models public decimal? cost_living { get; set; } + public decimal? position_allowance { get; set; } + public decimal? monthly_compensation { get; set; } } } diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs b/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs index 211b276..679d5ab 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs @@ -30,6 +30,10 @@ namespace TodoAPI2.Models public decimal? cost_living { get; set; } + public decimal? position_allowance { get; set; } + + public decimal? monthly_compensation { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderService.cs b/Models/eva_salary_cylinder/eva_salary_cylinderService.cs index 846ddcd..68e8634 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderService.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderService.cs @@ -20,14 +20,14 @@ namespace TodoAPI2.Models public class eva_salary_cylinderService : Ieva_salary_cylinderService { private IBaseRepository2 _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; public eva_salary_cylinderService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; } #region Private Functions @@ -47,7 +47,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + #endregion #region Public Functions @@ -93,7 +93,7 @@ namespace TodoAPI2.Models from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - where m_eva_salary_cylinder.position_type == position_type || !position_type.HasValue + where m_eva_salary_cylinder.position_type == position_type || !position_type.HasValue orderby m_eva_salary_cylinder.created descending select new eva_salary_cylinderViewModel() @@ -105,7 +105,9 @@ namespace TodoAPI2.Models themin = m_eva_salary_cylinder.themin, themax = m_eva_salary_cylinder.themax, middle = m_eva_salary_cylinder.middle, - cost_living = m_eva_salary_cylinder.cost_living , + cost_living = m_eva_salary_cylinder.cost_living, + position_allowance = m_eva_salary_cylinder.position_allowance, + monthly_compensation = m_eva_salary_cylinder.monthly_compensation, position_type_external_linkage_external_name = fk_external_linkageResult1.external_name, position_level_external_linkage_external_name = fk_external_linkageResult2.external_name, @@ -119,7 +121,7 @@ namespace TodoAPI2.Models return data; } - public List GetListBySearch(eva_salary_cylinderSearchModel model) + public List GetListBySearch(eva_salary_cylinderSearchModel model) { var data = ( from m_eva_salary_cylinder in _repository.Context.eva_salary_cylinder @@ -133,7 +135,7 @@ namespace TodoAPI2.Models from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - where 1==1 + where 1 == 1 && (m_eva_salary_cylinder.position_type == model.position_type || !model.position_type.HasValue) @@ -147,7 +149,9 @@ namespace TodoAPI2.Models themin = m_eva_salary_cylinder.themin, themax = m_eva_salary_cylinder.themax, middle = m_eva_salary_cylinder.middle, - cost_living = m_eva_salary_cylinder.cost_living , + cost_living = m_eva_salary_cylinder.cost_living, + position_allowance = m_eva_salary_cylinder.position_allowance, + monthly_compensation = m_eva_salary_cylinder.monthly_compensation, position_type_external_linkage_external_name = fk_external_linkageResult1.external_name, position_level_external_linkage_external_name = fk_external_linkageResult2.external_name, @@ -161,6 +165,7 @@ namespace TodoAPI2.Models return data; } + #endregion #region Manipulation Functions @@ -170,10 +175,10 @@ namespace TodoAPI2.Models int? newkey = 0; var x = (from i in _repository.Context.eva_salary_cylinder - orderby i.id descending - select i).Take(1).ToList(); + orderby i.id descending + select i).Take(1).ToList(); - if(x.Count > 0) + if (x.Count > 0) { newkey = x[0].id + 1; } @@ -189,7 +194,7 @@ namespace TodoAPI2.Models var inserted = _repository.Insert(entity); - + return Get(inserted.id); } @@ -204,33 +209,35 @@ namespace TodoAPI2.Models existingEntity.themin = model.themin; existingEntity.themax = model.themax; existingEntity.middle = model.middle; - existingEntity.cost_living = model.cost_living ; - + existingEntity.cost_living = model.cost_living; + existingEntity.position_allowance = model.position_allowance; + existingEntity.monthly_compensation = model.monthly_compensation; var updated = _repository.Update(id, existingEntity); return Get(updated.id); } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model) + public string UpdateMultiple(List model) { - foreach(var i in model) + foreach (var i in model) { if (i.active_mode == "1" && i.id.HasValue) // update - { + { var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.position_type = i.position_type; - existingEntity.position_level = i.position_level; - existingEntity.temporary_min = i.temporary_min; - existingEntity.themin = i.themin; - existingEntity.themax = i.themax; - existingEntity.middle = i.middle; - existingEntity.cost_living = i.cost_living ; - + existingEntity.position_type = i.position_type; + existingEntity.position_level = i.position_level; + existingEntity.temporary_min = i.temporary_min; + existingEntity.themin = i.themin; + existingEntity.themax = i.themax; + existingEntity.middle = i.middle; + existingEntity.cost_living = i.cost_living; + existingEntity.position_allowance = i.position_allowance; + existingEntity.monthly_compensation = i.monthly_compensation; _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } @@ -242,15 +249,15 @@ namespace TodoAPI2.Models _repository.InsertWithoutCommit(entity); } else if (i.active_mode == "0" && i.id.HasValue) // remove - { + { _repository.DeleteWithoutCommit(i.id.Value); } else if (i.active_mode == "0" && !i.id.HasValue) { // nothing to do - } + } } - _repository.Context.SaveChanges(); + _repository.Context.SaveChanges(); return model.Count().ToString(); } diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs b/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs index 52e3f2f..98fd7bf 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs @@ -28,6 +28,10 @@ namespace TodoAPI2.Models public decimal? cost_living { get; set; } + public decimal? position_allowance { get; set; } + + public decimal? monthly_compensation { get; set; } + public string position_type_external_linkage_external_name { get; set; } public string position_level_external_linkage_external_name { get; set; } diff --git a/Models/eva_self_review/eva_self_reviewService.cs b/Models/eva_self_review/eva_self_reviewService.cs index 5c91dbd..24a744d 100644 --- a/Models/eva_self_review/eva_self_reviewService.cs +++ b/Models/eva_self_review/eva_self_reviewService.cs @@ -94,9 +94,9 @@ namespace TodoAPI2.Models select x.fiscal_year).Distinct().OrderBy(x => x.Value).ToList(); i.item_eva_year = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.fiscal_year).Distinct().OrderBy(x => x.Value).ToList()); + select x.fiscal_year).Distinct().OrderByDescending(x => x.Value).ToList()); i.item_eva_no = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.theRound).Distinct().OrderBy(x => x.Value).ToList()); + select x.theRound).Distinct().OrderByDescending(x => x.Value).ToList()); return i; } @@ -104,9 +104,9 @@ namespace TodoAPI2.Models { var i = new eva_self_reviewWithSelectionViewModel(); i.item_eva_year = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.fiscal_year).Distinct().OrderBy(x => x.Value).ToList()); + select x.fiscal_year).Distinct().OrderByDescending(x => x.Value).ToList()); i.item_eva_no = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.theRound).Distinct().OrderBy(x => x.Value).ToList()); + select x.theRound).Distinct().OrderByDescending(x => x.Value).ToList()); return i; @@ -145,28 +145,30 @@ namespace TodoAPI2.Models (model.employee_id.HasValue && m_eva_self_review.employee_id == model.employee_id) && (!model.eva_year.HasValue || fk_eva_adjust_postponementResult1.fiscal_year == model.eva_year) && (!model.eva_no.HasValue || fk_eva_adjust_postponementResult1.theRound == model.eva_no) + && fk_eva_adjust_postponementResult1.fiscal_year.HasValue - - orderby m_eva_self_review.created descending + orderby + (fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year) descending, + (fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound) descending select new eva_self_reviewViewModel() { id = m_eva_self_review.id, adjust_postponement_id = m_eva_self_review.adjust_postponement_id, adjust_postponement_quota_id = m_eva_self_review.adjust_postponement_quota_id, employee_id = m_eva_self_review.employee_id, - eva_year = fk_eva_adjust_postponementResult1.fiscal_year, - eva_no = fk_eva_adjust_postponementResult1.theRound, + eva_year = (fk_eva_adjust_postponementResult1.fiscal_year.HasValue? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year), + eva_no = fk_eva_adjust_postponementResult1.theRound.HasValue? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, - adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, - adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult2.fiscal_year, - eva_year_external_linkage_external_name = fk_eva_adjust_postponementResult1.fiscal_year.ToString(), - eva_no_external_linkage_external_name = fk_eva_adjust_postponementResult1.theRound.ToString(), + adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, + adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, + eva_year_external_linkage_external_name = (fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year).ToString(), + eva_no_external_linkage_external_name = (fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound).ToString(), isActive = m_eva_self_review.isActive, Created = m_eva_self_review.created, Updated = m_eva_self_review.updated } - ).OrderBy(x => x.eva_year * 10 + x.eva_no).ToList(); + ).ToList(); return data; } diff --git a/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs b/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs index f6e9fd4..01620e7 100644 --- a/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs +++ b/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs @@ -241,7 +241,7 @@ namespace TodoAPI2.Models public string RecieveFingerScanFromLocal(List model) { - var all_emp = emp.GetListByemployee_type(null, null); + var all_emp = emp.GetAllEmployee(); //var result = (from i in model // join e in all_emp on ClearName(i.fullname) equals ClearName(e.halfname) diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs index 54ea988..69e88b2 100644 --- a/Models/external_employee/external_employeeService.cs +++ b/Models/external_employee/external_employeeService.cs @@ -95,7 +95,9 @@ hpt.position_type_name,he.packing_date,he.cost_of_living, LIMIT 1) IS NOT null THEN 'ช่วยปฎิบัติหน้าที่' ELSE null END) as remark_hrm_work_record, -org_type_depart.department_degree_id, he.timerecorder_id +org_type_depart.department_degree_id, he.timerecorder_id, +(select count(*) from hrm_resigns where hrm_resigns.employee_id = he.employee_id) as count_resigns, +he.workingstatus from public.hrm_employees as he left join public.hrm_position_types as hpt on he.position_type_id=hpt.id @@ -108,6 +110,30 @@ left join public.hrm_employee_types as het on het.id = he.employee_type_id left join public.users as u on u.employee_id = he.employee_id left join public.org_type_departments as org_type_depart on orgdata.department_type_id = org_type_depart.id left join public.org_type_department_colors as org_depart_color on org_type_depart.department_degree_id = org_depart_color.id +left join (select orgdata.id,orgdata2.id as id2, +case when orgdata2.department_name is not null then +concat(orgdata2.department_name,' - ',orgdata.department_name) +else orgdata.department_name end as full_dep, +orgdata.department_name, +orgdata.department_code,detail.parent_department_id, +case +when org_type_depart.department_degree_id = 1 then orgdata.department_code::int*1000 +when detail.parent_department_id is not null and detail.parent_department_id>0 +then orgdata2.department_code::int*1000+orgdata.department_code::int +else orgdata.department_code::int*100000 end as sort_order,org_type_depart.department_degree_id +from public.{0}DepartmentData{0} orgdata +left join org_organization_chart_details detail on orgdata.id = detail.department_id +left join public.{0}DepartmentData{0} orgdata2 on orgdata2.id = detail.parent_department_id +left join public.org_type_departments as org_type_depart on orgdata.department_type_id = org_type_depart.id +left join public.org_type_department_colors as org_depart_color +on org_type_depart.department_degree_id = org_depart_color.id +where orgdata.department_name is not null +order by case +when org_type_depart.department_degree_id = 1 then orgdata.department_code::int*1000 +when detail.parent_department_id is not null and detail.parent_department_id>0 +then orgdata2.department_code::int*1000+orgdata.department_code::int +else orgdata.department_code::int*100000 end) as sorting_dep +on sorting_dep.id = he.department_id where he.deleted_at is null and hpt.deleted_at is null and hpl.deleted_at is null @@ -119,7 +145,7 @@ and het.deleted_at is null and u.deleted_at is null and org_type_depart.deleted_at is null and org_depart_color.deleted_at is null -order by he.firstname, he.lastname; +order by sorting_dep.sort_order, hpt.position_type_id, hpl.position_level_id, employee_no desc; ", '"'.ToString()); var para = db.GetParameterListNpgsql(); DataTable dt = db.ExecuteDataTableNpgsql(sql, para); @@ -210,6 +236,15 @@ order by he.firstname, he.lastname; { i.timerecorder_id = ""; } + if (dr["count_resigns"] != DBNull.Value) + { + i.count_resigns = Convert.ToInt32(dr["count_resigns"]); + } + else + { + i.count_resigns = 0; + } + i.workingstatus = dr["workingstatus"].ToString(); result.Add(i); } @@ -227,7 +262,7 @@ left join public.mpp_position_numbers as mpn on he.position_no = mpn.id left join public.org_position_datas as opd on opd.position_id = mpn.position_id left join public.hrm_title_masters as htm on htm.id = he.prefix_card_name left join public.users as u on u.employee_id = he.employee_id -where he.workingstatus = 'สถานะปฏิบัติงาน' and he.deleted_at is null and mpn.deleted_at is null +where he.deleted_at is null and mpn.deleted_at is null and opd.deleted_at is null --and htm.deleted_at is null and u.id=@user_id; "; diff --git a/Models/external_employee/external_employeeViewModel.cs b/Models/external_employee/external_employeeViewModel.cs index 3c0e4fc..d79f341 100644 --- a/Models/external_employee/external_employeeViewModel.cs +++ b/Models/external_employee/external_employeeViewModel.cs @@ -69,6 +69,9 @@ namespace TodoAPI2.Models public string profile_picture { get; set; } public string timerecorder_id { get; set; } + public int count_resigns { get; set; } + + public string workingstatus { get; set; } public int? worked_month // ทำงานมาแล้วกี่เดือน { diff --git a/Models/external_linkage/external_linkageService.cs b/Models/external_linkage/external_linkageService.cs index a9a2d94..1b44c11 100644 --- a/Models/external_linkage/external_linkageService.cs +++ b/Models/external_linkage/external_linkageService.cs @@ -72,7 +72,7 @@ namespace TodoAPI2.Models var i = new external_linkageViewModel(); i.external_id = Convert.ToInt32(dr["id"]); i.external_code = dr["position_type_id"].ToString(); - i.external_name = dr["position_type_id"].ToString() + " " + dr["position_type_name"].ToString(); + i.external_name = dr["position_type_name"].ToString(); result.Add(i); } return result; @@ -89,7 +89,7 @@ namespace TodoAPI2.Models var i = new external_linkageViewModel(); i.external_id = Convert.ToInt32(dr["id"]); i.external_code = dr["position_level_id"].ToString(); - i.external_name = dr["position_level_id"].ToString() + " " + dr["position_level_name"].ToString(); + i.external_name = dr["position_level_name"].ToString(); result.Add(i); } return result; @@ -286,21 +286,125 @@ namespace TodoAPI2.Models public List GetDepartmentData() { - var sql = string.Format("select * from public.{0}DepartmentData{0} where department_name != '' and deleted_at is null order by department_name; ", '"'.ToString()); - var para = db.GetParameterListNpgsql(); - DataTable dt = db.ExecuteDataTableNpgsql(sql, para); + var sql_parent = string.Format("select" + + " org_chart_detail.department_id," + + " org_depart.department_code," + + + " (case when org_chart_detail.department_id is not null then" + + " (select org_short.department_name" + + " from public.org_department_version_names as org_short" + + " where org_short.deleted_at is null" + + " and org_short.department_id = org_chart_detail.department_id" + + " and org_short.effective_date <= now()" + + " order by org_short.effective_date desc limit 1) else null end) as department_name," + + + " (case when cast(org_chart_detail.parent_department_id AS int) < 0 then" + + " (select org.organization_name from public.org_organization_datas as org" + + " where org.deleted_at is null" + + " and org.organization_id = ABS(org_chart_detail.parent_department_id))" + + " else (select org_department_version.department_name from public.org_department_version_names as org_department_version" + + " where org_department_version.deleted_at is null" + + " and org_department_version.department_id = ABS(org_chart_detail.parent_department_id)" + + " and org_department_version.effective_date <= now()" + + " order by org_department_version.effective_date desc limit 1)" + + " end) as parent_name," + + + " cast(org_chart_detail.parent_department_id as int) as parent_department_id" + + + " from public.org_organization_chart_details as org_chart_detail" + + " left join public.org_organization_charts as org_chart on org_chart_detail.organization_chart_id = org_chart.id" + + " left join public.org_department_datas as org_depart on org_chart_detail.department_id = org_depart.id" + + " left join public.org_type_departments as org_type_depart on org_depart.department_type_id = org_type_depart.id" + + " where org_chart_detail.deleted_at is null" + + " and org_chart.deleted_at is null" + + " and org_depart.deleted_at is null" + + " and org_type_depart.deleted_at is null" + + " and org_chart.version = (select max(max_org_chart.version) from public.org_organization_charts as max_org_chart where max_org_chart.deleted_at is null and max_org_chart.effective_date <= now())" + + " and org_chart_detail.parent_department_id <= 0" + + " order by cast(org_depart.department_code as int) asc;", '"'.ToString()); + + var sql_childs = string.Format("select" + + " org_chart_detail.department_id," + + " org_depart.department_code," + + + " (case when org_chart_detail.department_id is not null then" + + " (select org_short.department_name" + + " from public.org_department_version_names as org_short" + + " where org_short.deleted_at is null" + + " and org_short.department_id = org_chart_detail.department_id" + + " and org_short.effective_date <= now()" + + " order by org_short.effective_date desc limit 1) else null end) as department_name," + + + " (case when cast(org_chart_detail.parent_department_id AS int) < 0 then" + + " (select org.organization_name from public.org_organization_datas as org" + + " where org.deleted_at is null" + + " and org.organization_id = ABS(org_chart_detail.parent_department_id))" + + " else (select org_department_version.department_name from public.org_department_version_names as org_department_version" + + " where org_department_version.deleted_at is null" + + " and org_department_version.department_id = ABS(org_chart_detail.parent_department_id)" + + " and org_department_version.effective_date <= now()" + + " order by org_department_version.effective_date desc limit 1)" + + " end) as parent_name," + + + " cast(org_chart_detail.parent_department_id as int) as parent_department_id" + + + " from public.org_organization_chart_details as org_chart_detail" + + " left join public.org_organization_charts as org_chart on org_chart_detail.organization_chart_id = org_chart.id" + + " left join public.org_department_datas as org_depart on org_chart_detail.department_id = org_depart.id" + + " left join public.org_type_departments as org_type_depart on org_depart.department_type_id = org_type_depart.id" + + " where org_chart_detail.deleted_at is null" + + " and org_chart.deleted_at is null" + + " and org_depart.deleted_at is null" + + " and org_type_depart.deleted_at is null" + + " and org_chart.version = (select max(max_org_chart.version) from public.org_organization_charts as max_org_chart where max_org_chart.deleted_at is null and max_org_chart.effective_date <= now())" + + " and org_chart_detail.parent_department_id > 0" + + " order by cast(org_depart.department_code as int) asc;", '"'.ToString()); + + var p_para = db.GetParameterListNpgsql(); + DataTable data_parent = db.ExecuteDataTableNpgsql(sql_parent, p_para); + + var c_para = db.GetParameterListNpgsql(); + DataTable data_childs = db.ExecuteDataTableNpgsql(sql_childs, c_para); + var result = new List(); - foreach (DataRow dr in dt.Rows) + foreach (DataRow parent_depart in data_parent.Rows) { var i = new external_linkageViewModel(); - i.external_id = Convert.ToInt32(dr["id"]); - i.external_code = dr["department_code"].ToString(); - i.external_name = dr["department_name"].ToString(); + i.external_id = Convert.ToInt32(parent_depart["department_id"]); + i.external_code = parent_depart["department_code"].ToString(); + i.external_name = parent_depart["department_name"].ToString(); result.Add(i); + + var val_department_id = Convert.ToInt32(parent_depart["department_id"]); + var val_department_name = parent_depart["department_name"].ToString(); + RecursiveLoopDepartmentParentToChilds(result, val_department_id, val_department_name, data_childs); } + return result; } + public void RecursiveLoopDepartmentParentToChilds(List result, int param_department_id, string param_department_name, DataTable data_childs) + { + foreach(DataRow childs_parent in data_childs.Rows) + { + var val_parent_department_id = Convert.ToInt32(childs_parent["parent_department_id"]); + if (val_parent_department_id == param_department_id) + { + var i = new external_linkageViewModel(); + i.external_id = Convert.ToInt32(childs_parent["department_id"]); + i.external_code = childs_parent["department_code"].ToString(); + i.external_name = param_department_name + " - " + childs_parent["department_name"].ToString(); + result.Add(i); + + var val_child_department_id = Convert.ToInt32(childs_parent["department_id"]); + var val_child_department_name = childs_parent["department_name"].ToString(); + RecursiveLoopDepartmentParentToChilds(result, val_child_department_id, val_child_department_name, data_childs); + } + } + + return; + } + // FOR REPORT public List GetDepartmentDataForReport() @@ -440,7 +544,7 @@ namespace TodoAPI2.Models var i = new external_linkageViewModel(); i.external_id = Convert.ToInt32(dr["id"]); //i.id_guid = Guid.Parse(dr["id"].ToString()); - i.external_code = dr["theRound"].ToString(); + i.external_code = dr["fiscal_year"].ToString() + dr["theRound"].ToString(); i.external_name = dr["theRound"].ToString() + "/" + dr["fiscal_year"].ToString(); result.Add(i); } diff --git a/Models/rep_eva01/rep_eva01Service.cs b/Models/rep_eva01/rep_eva01Service.cs index 13588ee..898cd10 100644 --- a/Models/rep_eva01/rep_eva01Service.cs +++ b/Models/rep_eva01/rep_eva01Service.cs @@ -58,7 +58,7 @@ namespace TodoAPI2.Models var entity = _repository.Get(id); var i = Mapper.Map(entity); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; @@ -67,7 +67,7 @@ namespace TodoAPI2.Models { var i = new rep_eva01WithSelectionViewModel(); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; diff --git a/Models/rep_eva02/rep_eva02Service.cs b/Models/rep_eva02/rep_eva02Service.cs index c740a3e..544d7e6 100644 --- a/Models/rep_eva02/rep_eva02Service.cs +++ b/Models/rep_eva02/rep_eva02Service.cs @@ -58,7 +58,7 @@ namespace TodoAPI2.Models var entity = _repository.Get(id); var i = Mapper.Map(entity); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; @@ -67,7 +67,7 @@ namespace TodoAPI2.Models { var i = new rep_eva02WithSelectionViewModel(); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; diff --git a/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs b/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs index 44b3da7..b104b59 100644 --- a/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs +++ b/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs @@ -24,6 +24,8 @@ namespace TodoAPI2.Models public string x1 { get; set; } public string x2 { get; set; } + + public string thedesc { get; set; } } } diff --git a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs index 2195ba6..f810d3b 100644 --- a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs +++ b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs @@ -79,7 +79,7 @@ namespace TodoAPI2.Models { var entity = _repository.Get(id); var i = Mapper.Map(entity); - i.item_plan_guid = (from x in _repository.Context.eva_performance_plan select x).ToList(); + i.item_plan_guid = (from x in _repository.Context.eva_performance_plan orderby x.fiscal_year descending,x.theTime descending select x).ToList(); return i; @@ -87,7 +87,7 @@ namespace TodoAPI2.Models public vw_limit_frame_planWithSelectionViewModel GetBlankItem() { var i = new vw_limit_frame_planWithSelectionViewModel(); - i.item_plan_guid = (from x in _repository.Context.eva_performance_plan select x).ToList(); + i.item_plan_guid = (from x in _repository.Context.eva_performance_plan orderby x.fiscal_year descending, x.theTime descending select x).ToList(); return i; @@ -256,6 +256,10 @@ namespace TodoAPI2.Models _repository.Context.AddRange(result_frame_group); _repository.Context.AddRange(result_frame_employee); + //entity.total_salary = all_all_emp.Sum(z => z.salary); + //entity.limit_frame_005_total = entity.total_salary * entity.limit_frame_005 / 100; + //entity.limit_frame_005_total_rounded = MyHelper.RoundOff(entity.limit_frame_005_total.Value, 10); + entity.SetAutoField(_repository.Context); if (is_force_save) @@ -276,6 +280,15 @@ namespace TodoAPI2.Models public vw_limit_frame_planViewModel Update(Guid id, vw_limit_frame_planInputModel model, bool is_force_save) { var existingEntity = _repository.Get(id); + var all_all_emp = emp.GetAllEmployee(); + var mapping_dept = emp.GetDeptMapping(); + var working_record = from i in emp.GetWorkingRecord() + where +model.executed_date.HasValue +&& i.start_date <= model.executed_date +&& i.end_date >= model.executed_date + select i; + if (existingEntity != null) { existingEntity.plan_guid = model.plan_guid; @@ -286,6 +299,27 @@ namespace TodoAPI2.Models existingEntity.limit_frame_005_total = model.limit_frame_005_total; existingEntity.limit_frame_005_total_rounded = model.limit_frame_005_total_rounded; + foreach (var x in from i in _repository.Context.eva_limit_frame_group where i.frame_plan_guid == id select i) + { + x.remark = ""; + foreach (var y in from z in _repository.Context.eva_limit_frame_employee where z.frame_group_guid == x.id orderby z.order_of_data select z) + { + int j = 1; + if (y.help_org_id.HasValue) + { + var theemp = (from q in all_all_emp where q.id == y.employee_id select q).FirstOrDefault(); + var thedetail = (from r in working_record where r.employee_id == y.employee_id select r).FirstOrDefault(); + var help_at = (from s in mapping_dept where s.id == thedetail.place select s).FirstOrDefault(); + if (theemp != null && thedetail != null && help_at != null) + { + if (x.remark != "") x.remark += "\n"; + x.remark += $"{j}.ในลำดับที่ {y.order_of_data} {theemp.fullname} ตำแหน่ง{theemp.position_name} {theemp.department_name} \nมาช่วยปฏิบัติงานที่{help_at.department_name} ตั้งแต่วันที่ {MyHelper.GetDateStringForReport(thedetail.start_date)} - {MyHelper.GetDateStringForReport(thedetail.end_date)} \nตาม{thedetail.subject}"; + } + j++; + } + } + } + existingEntity.SetAutoField(_repository.Context); if (is_force_save) diff --git a/Startup.cs b/Startup.cs index 8f8ab37..e89fc55 100644 --- a/Startup.cs +++ b/Startup.cs @@ -327,6 +327,14 @@ namespace Test01 services.AddScoped(); + services.AddScoped, BaseRepository2>(); + services.AddScoped(); + + services.AddScoped(); + + services.AddScoped, BaseRepository2>(); + services.AddScoped(); + #endregion services.TryAddSingleton(); @@ -610,6 +618,18 @@ namespace Test01 cfg.CreateMap(); cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + }); #endregion diff --git a/Utils/MyDatabase.cs b/Utils/MyDatabase.cs index 0dae08f..a24d3b8 100644 --- a/Utils/MyDatabase.cs +++ b/Utils/MyDatabase.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Data; using System.Linq; +using System.Reflection; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; @@ -19,6 +21,8 @@ namespace TTSW.Utils Configuration = configuration; } + + public DataTable ExecuteDataTableNpgsql(string queryString, List para) { System.Data.DataSet ds = new DataSet(); diff --git a/Utils/MyHelper.cs b/Utils/MyHelper.cs index 19f3754..794384e 100644 --- a/Utils/MyHelper.cs +++ b/Utils/MyHelper.cs @@ -9,17 +9,97 @@ using Microsoft.Extensions.Configuration; using System.Net; using TodoAPI2.Models; using Microsoft.AspNetCore.Http; +using System.ComponentModel.DataAnnotations; +using TTSW.Utils; /// /// Summary description for MyHelper /// -public class MyHelper +public static class MyHelper { - public MyHelper() + public static DataRow GetDataRow(object id, object model, IMyDatabase _db) { - // - // TODO: Add constructor logic here - // + DataRow result = null; + if (id.GetType().Name.Contains("int")) + { + result = _db.ExecuteDataTableNpgsql($"select * from {model.GetType().Name.Replace("Entity", "")} where id={id.ToString()} ", null).Rows[0]; + } + else + { + result = _db.ExecuteDataTableNpgsql($"select * from {model.GetType().Name.Replace("Entity", "")} where id='{id.ToString()}' ", null).Rows[0]; + } + return result; + } + + public static object GetObject(this DataRow dataRow, string data_type) + { + if (data_type == "eva_adjust_postponement") return ToObject(dataRow); + if (data_type == "eva_adjust_postponement_detail") return ToObject(dataRow); + if (data_type == "eva_create_evaluation") return ToObject(dataRow); + if (data_type == "eva_create_evaluation_detail") return ToObject(dataRow); + if (data_type == "eva_create_evaluation_detail_history") return ToObject(dataRow); + if (data_type == "eva_evaluation_achievement") return ToObject(dataRow); + if (data_type == "eva_evaluation_achievement_attach") return ToObject(dataRow); + if (data_type == "eva_evaluation_behavior") return ToObject(dataRow); + if (data_type == "eva_evaluation_group") return ToObject(dataRow); + if (data_type == "eva_evaluation_group_detail") return ToObject(dataRow); + if (data_type == "eva_evaluation_operating_agreement") return ToObject(dataRow); + if (data_type == "eva_idp_plan") return ToObject(dataRow); + if (data_type == "eva_level_score") return ToObject(dataRow); + if (data_type == "eva_limit_frame_employee") return ToObject(dataRow); + if (data_type == "eva_limit_frame_group") return ToObject(dataRow); + if (data_type == "eva_limit_frame_plan") return ToObject(dataRow); + if (data_type == "eva_performance_plan") return ToObject(dataRow); + if (data_type == "eva_performance_plan_detail") return ToObject(dataRow); + if (data_type == "eva_promoted_percentage") return ToObject(dataRow); + if (data_type == "eva_salary_cylinder") return ToObject(dataRow); + + return null; + } + public static T ToObject(this DataRow dataRow) where T : new() + { + T item = new T(); + + foreach (DataColumn column in dataRow.Table.Columns) + { + PropertyInfo property = GetProperty(typeof(T), column.ColumnName); + + if (property != null && dataRow[column] != DBNull.Value && dataRow[column].ToString() != "NULL") + { + property.SetValue(item, ChangeType(dataRow[column], property.PropertyType), null); + } + } + + return item; + } + + private static PropertyInfo GetProperty(Type type, string attributeName) + { + PropertyInfo property = type.GetProperty(attributeName); + + if (property != null) + { + return property; + } + + return type.GetProperties() + .Where(p => p.IsDefined(typeof(DisplayAttribute), false) && p.GetCustomAttributes(typeof(DisplayAttribute), false).Cast().Single().Name == attributeName) + .FirstOrDefault(); + } + + public static object ChangeType(object value, Type type) + { + if (type.IsGenericType && type.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) + { + if (value == null) + { + return null; + } + + return Convert.ChangeType(value, Nullable.GetUnderlyingType(type)); + } + + return Convert.ChangeType(value, type); } public static string GetDummyText() @@ -95,6 +175,18 @@ public class MyHelper } } + public static string GetTimeStringFromDate(DateTime? date) + { + if (date.HasValue) + { + return date.Value.ToShortTimeString() + "น."; + } + else + { + return ""; + } + } + public static DateTime? GetDateFromString(string date) { if (string.IsNullOrEmpty(date)) return null; @@ -334,6 +426,8 @@ public class MyHelper public static decimal RoundOff(decimal i, decimal round_number) { - return (Math.Round(i / round_number)) * round_number; + string temp = i.ToString().Split(".")[0]; + + return Convert.ToDecimal(temp.Substring(0, temp.Length - 1)) * 10 + 10; } } diff --git a/ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs b/ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs new file mode 100644 index 0000000..34d32b1 --- /dev/null +++ b/ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs @@ -0,0 +1,66 @@ +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 eva_create_evaluation_detail_historyViewController : Controller + { + private ILogger _logger; + private Ieva_create_evaluation_detail_historyService _repository; + private IConfiguration Configuration { get; set; } + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_create_evaluation_detail_historyViewController(ILogger logger, Ieva_create_evaluation_detail_historyService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + public IActionResult eva_create_evaluation_detail_history() + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + return View(); + } + + // public IActionResult eva_create_evaluation_detail_history_d() + // { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + // } + + //public IActionResult eva_create_evaluation_detail_history_report() + //{ + // if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + //} + + //public IActionResult eva_create_evaluation_detail_history_inline() + //{ + // 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/ViewControllers/eva_evaluation_achievement_attachViewControllers.cs b/ViewControllers/eva_evaluation_achievement_attachViewControllers.cs new file mode 100644 index 0000000..f9d0e18 --- /dev/null +++ b/ViewControllers/eva_evaluation_achievement_attachViewControllers.cs @@ -0,0 +1,66 @@ +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 eva_evaluation_achievement_attachViewController : Controller + { + private ILogger _logger; + private Ieva_evaluation_achievement_attachService _repository; + private IConfiguration Configuration { get; set; } + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_evaluation_achievement_attachViewController(ILogger logger, Ieva_evaluation_achievement_attachService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + public IActionResult eva_evaluation_achievement_attach() + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + return View(); + } + + // public IActionResult eva_evaluation_achievement_attach_d() + // { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + // } + + //public IActionResult eva_evaluation_achievement_attach_report() + //{ + // if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + //} + + //public IActionResult eva_evaluation_achievement_attach_inline() + //{ + // 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/Shared/_Layout.cshtml b/Views/Shared/_Layout.cshtml index 07806f3..43e2787 100644 --- a/Views/Shared/_Layout.cshtml +++ b/Views/Shared/_Layout.cshtml @@ -137,9 +137,9 @@ - ประวัติเงินเดือนและการเลื่อนเงินเดือน + ประวัติเงินเดือนและการเลื่อนเงินเดือน -
    +
      @@ -148,7 +148,7 @@
      - ออกจากระบบ + ออกจากระบบ diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml index 00746c8..866445c 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml @@ -150,6 +150,7 @@ เครื่องมือ + diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml index f1c25e9..bfdf872 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml @@ -5,6 +5,158 @@ Layout = "_LayoutDirect"; } +
      @@ -150,6 +302,7 @@ เครื่องมือ + @@ -172,145 +325,7 @@
      -
      -
      บันทึกรายละเอียด
      -
      -
      - -
      -
      - - - - - -
      -
      - - -
      - -
      - - -
      - -
      - - -
      - -
      -
      - -
      - - -
      - -
      - - -
      -
      -
      - -
      - - -
      - - - -
      - - -
      - -
      - - -
      -
      -
      -
      - - -
      - -
      - - -
      - -
      - - -
      -
      -
      - - -
      - - -
      - -
      - - -
      -
      - -
      -
      - - -
      - -
      - - -
      -
      -
      -
      - - -
      - -
      - - -
      - -
      - - -
      -
      - -
      -
      - - -
      -
      -
      -
      -
      -
      - -
      -
      - -
      -
      - -
      - -
      @section FooterPlaceHolder{ @@ -328,8 +343,12 @@ } $("#eva_adjust_postponement_migration_managed_by").select2(); - $("#eva_adjust_postponement_detail_migration_employee_id").select2(); - $("#eva_adjust_postponement_detail_migration_org_at_this_time").select2(); + $("#eva_adjust_postponement_detail_migration_employee_id").select2({ + dropdownParent: $('#eva_adjust_postponement_detail_migrationModel') + }); + $("#eva_adjust_postponement_detail_migration_org_at_this_time").select2({ + dropdownParent: $('#eva_adjust_postponement_detail_migrationModel') + }); SetupValidationRemark("eva_adjust_postponement_migration"); SetupValidationRemark("eva_adjust_postponement_detail_migration"); diff --git a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml index 107fa18..2cd05d9 100644 --- a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml +++ b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml @@ -86,7 +86,7 @@
      - +
      @@ -131,7 +131,7 @@ eva_adjust_postponement_normal_InitiateDataTable(); eva_adjust_postponement_normal_InitialForm(); SetupValidationRemark("eva_adjust_postponement_normal"); - //$("#s_eva_adjust_postponement_normal_org_id").select2(); + $("#s_eva_adjust_postponement_normal_org_id").select2(); }); } diff --git a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml index bd3a7db..7575b02 100644 --- a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml +++ b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml @@ -100,6 +100,13 @@
      รายชื่อบุคคลากร
      +
      +
      +
      + +
      +
      +
      diff --git a/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml b/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml index 475a60a..d449432 100644 --- a/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml +++ b/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml @@ -99,6 +99,14 @@
      รายชื่อบุคลลากร
      +
      +
      +
      + +
      +
      +
      +
      diff --git a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml index 1795b2b..ad6b317 100644 --- a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml +++ b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml @@ -68,7 +68,7 @@ - + diff --git a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml index d75552d..10fefbc 100644 --- a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml +++ b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml @@ -118,15 +118,7 @@
      - -

      - ดูหรือดาวโหลดไฟล์ของคุณ - ลบไฟล์ -

      - - นำเข้าไฟล์ใหม่ - - +
      - - - + + + @@ -343,28 +335,31 @@
      +
      พฤติกรรมการปฏิบัติงาน (น้ำหนัก %)
      เครื่องมือเครื่องมือ
      - + - + - + - +
      เครื่องมือลำดับ
      รวมน้ำหนัก
      +
      -
      +
      +
      @@ -410,7 +405,7 @@
      - + @@ -425,7 +420,7 @@ @section FooterPlaceHolder{ - + @@ -439,8 +434,7 @@ eva_create_evaluation_detail_agreement_SetEditForm(id); eva_evaluation_achievement_InitiateDataTable(id); eva_evaluation_achievement_InitialForm(); - eva_evaluation_behavior_InitiateDataTable(id); - eva_evaluation_behavior_InitialForm(); + eva_evaluation_behavior_InitialForm(id); eva_create_evaluation_detail_status_SetEditForm(id); eva_idp_plan_owner_InitiateDataTable(id); eva_idp_plan_owner_InitialForm(); @@ -461,6 +455,7 @@ function CheckPermission() { if (status_self === "Y") { $(".status_self").hide(); + $(".status_self_text").attr("disabled", true); $("#status").text("คุณส่งแบบประเมินไปแล้ว"); } } @@ -482,6 +477,16 @@ } } + function cal_behavior_total() { + var w1 = 0; + $('#eva_evaluation_behaviorBody tr').each(function () { + var i = $(this).find("#rowCount").text(); + var eva_evaluation_behavior = eva_evaluation_behavior_GetFromForm($(this), i); + w1 += parseFloat(eva_evaluation_behavior.weight); + }); + $("#sum_weight_eva_evaluation_behavior").text(w1); + } + function print_report() { var eva_create_evaluation_detail_selectitem = []; eva_create_evaluation_detail_selectitem.push(getUrlParameter("id")); @@ -490,6 +495,14 @@ } + function open_manage_file() { + window_open(appsite +"/eva_evaluation_achievement_attachView/eva_evaluation_achievement_attach?id="+$("#eva_evaluation_achievement_id").val()); + } + + function open_manage_file_id(id) { + window_open(appsite + "/eva_evaluation_achievement_attachView/eva_evaluation_achievement_attach?id=" + id); + } + } diff --git a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml index 5887f65..6f95944 100644 --- a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml +++ b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml @@ -48,8 +48,8 @@
      - - + +
      @@ -154,7 +154,7 @@
      - +
      diff --git a/Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml b/Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml new file mode 100644 index 0000000..c92ae60 --- /dev/null +++ b/Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml @@ -0,0 +1,59 @@ +@using Microsoft.Extensions.Configuration +@inject IConfiguration Configuration +@{ + ViewData["Title"] = "eva_create_evaluation_detail_history"; + Layout = "_LayoutDirect"; +} + +
      +
      +
      + @Configuration["SiteInformation:modulename"] +
      +
      +
      + +
      +
      + +
      +
      ประวัติการดำเนินการ
      + +
      +
      +
      + +
      + +
      +
      + + + + + + + + + + + + +
      +
      + +@section FooterPlaceHolder{ + + +} + diff --git a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml index 2b13d02..d5ed24f 100644 --- a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml +++ b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml @@ -5,6 +5,56 @@ Layout = "_LayoutDirect"; } + +
      +
      + +
      +
      แผนพัฒนาการปฏิบัติงานรายบุคคล
      +
      +
      + + + +
      + +
      + +
      +
      + + + + + + + + + + + + + +
      เครื่องมือ
      +
      +
      @@ -388,6 +469,7 @@ + + +} + diff --git a/Views/eva_idp_plan_reviewerView/eva_idp_plan_reviewer.cshtml b/Views/eva_idp_plan_reviewerView/eva_idp_plan_reviewer.cshtml new file mode 100644 index 0000000..4033c12 --- /dev/null +++ b/Views/eva_idp_plan_reviewerView/eva_idp_plan_reviewer.cshtml @@ -0,0 +1,121 @@ +@using Microsoft.Extensions.Configuration +@inject IConfiguration Configuration +@{ + ViewData["Title"] = "eva_idp_plan_reviewer"; +} + + + +
      +
      +
      + @Configuration["SiteInformation:modulename"] +
      +
      + +
      + +
      +
      ค้นหา eva_idp_plan_reviewer
      +
      +
      + +
      + + +
      + +
      + + + +
      + +
      +
      + + + + + + + + + + + + + + + + +
      เครื่องมือ
      +
      + +@section FooterPlaceHolder{ + + +} + diff --git a/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml b/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml index 6581d44..237b7b2 100644 --- a/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml +++ b/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml @@ -128,25 +128,25 @@
      - - วงเงินในการเลื่อนเงินเดือน ร้อยละ +
      - +
      - +
      - +
      diff --git a/Views/eva_performance_planView/eva_performance_plan.cshtml b/Views/eva_performance_planView/eva_performance_plan.cshtml index 61f6c7e..9ae5f7e 100644 --- a/Views/eva_performance_planView/eva_performance_plan.cshtml +++ b/Views/eva_performance_planView/eva_performance_plan.cshtml @@ -29,6 +29,12 @@
      +
      +
      + + +
      +
      @@ -87,7 +93,7 @@ เครื่องมือ - + diff --git a/Views/eva_performance_planView/eva_performance_plan_d.cshtml b/Views/eva_performance_planView/eva_performance_plan_d.cshtml index 5e1b655..5d5d337 100644 --- a/Views/eva_performance_planView/eva_performance_plan_d.cshtml +++ b/Views/eva_performance_planView/eva_performance_plan_d.cshtml @@ -100,7 +100,12 @@ - +
      +
      + + +
      +
      diff --git a/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml b/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml index 9651a91..2ae3b25 100644 --- a/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml +++ b/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml @@ -32,33 +32,41 @@
      - +
      - +
      - +
      - +
      -
      +
      - + +
      +
      + + +
      + +
      + +
      -
      @@ -113,12 +121,18 @@ - - + + +

      + หมายเหตุ : ค่าครองชีพ +

      +

      1.เงินเดือนไม่ถึงเดือนละ 13,285 บาท ได้ค่าครองชีพ 2,000 บาท แต่เมื่อรวมกับเงินเดือนแล้ว ต้องไม่เกินเดือนละ 13,285 บาท

      +

      2. กรณีได้รับค่าครองชีพ 2,000 บาท เมื่อรวมกับเงินเดือนแล้วไม่ถึง 10,000 บาท ให้ได้รับค่าครองชีพเพิ่มขึ้นอีกจนถึงเดือนละ 10,000 บาท

      + diff --git a/Views/home/index2.cshtml b/Views/home/index2.cshtml index bcccc3b..7a2fd7e 100644 --- a/Views/home/index2.cshtml +++ b/Views/home/index2.cshtml @@ -85,6 +85,12 @@ + + diff --git a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml index 98be1f9..0a4cf40 100644 --- a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml +++ b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml @@ -55,60 +55,30 @@ -
      -
      +
      -
      - - -
      - -
      +
      -
      -
      + +
      +
      - -
      - -
      - - +
      -
      -
      - - -
      - -
      - - -
      -
      -
      -
      -
      - - - -
      -
      -
      @@ -119,18 +89,63 @@ - + - + + + + + + + + + + + + + + + + + + + + + + +
      เครื่องมือ
      + + +
      + + + + + +
      + + + +
      + +
      +
      + + + +
      +
      + @section FooterPlaceHolder{ diff --git a/object_index.xlsx b/object_index.xlsx new file mode 100644 index 0000000..dd3144b Binary files /dev/null and b/object_index.xlsx differ diff --git a/tb320eva.csproj b/tb320eva.csproj index 92e7e82..f557aa5 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -69,7 +69,10 @@ + + + @@ -82,8 +85,11 @@ + + + diff --git a/tb320eva.xml b/tb320eva.xml index 1b73ada..d6cf165 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -1191,6 +1191,124 @@ Returns the item Error Occurred + + + Default constructure for dependency injection + + + + + + + + Get specific item by id + + + + Return Get specific item by id + Returns the item + Error Occurred + + + + Get Blank Item + + + + Return a blank item + Returns the item + Error Occurred + + + + Get list items by evaluation_detail_id + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Get list items by search + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Download Report + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Create new item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update item + + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Delete item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update multiple item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Refresh AutoField of all items + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + Default constructure for dependency injection @@ -1746,12 +1864,13 @@ If the model is invalid Error Occurred - + Default constructure for dependency injection + @@ -2146,6 +2265,124 @@ If the model is invalid Error Occurred + + + Default constructure for dependency injection + + + + + + + + Get specific item by id + + + + Return Get specific item by id + Returns the item + Error Occurred + + + + Get Blank Item + + + + Return a blank item + Returns the item + Error Occurred + + + + Get list items by achievement_id + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Get list items by search + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Download Report + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Create new item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update item + + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Delete item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update multiple item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Refresh AutoField of all items + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + Default constructure for dependency injection @@ -3161,6 +3398,124 @@ If the model is invalid Error Occurred + + + Default constructure for dependency injection + + + + + + + + Get specific item by id + + + + Return Get specific item by id + Returns the item + Error Occurred + + + + Get Blank Item + + + + Return a blank item + Returns the item + Error Occurred + + + + Get list items by create_evaluation_detail_id + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Get list items by search + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Download Report + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Create new item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update item + + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Delete item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update multiple item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Refresh AutoField of all items + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + Default constructure for dependency injection @@ -5030,6 +5385,14 @@ + + + Default constructure for dependency injection + + + + + Default constructure for dependency injection @@ -5048,6 +5411,14 @@ + + + Default constructure for dependency injection + + + + + Default constructure for dependency injection diff --git a/wwwroot/js/coregen.js b/wwwroot/js/coregen.js index 0a4abf5..01bb8c4 100644 --- a/wwwroot/js/coregen.js +++ b/wwwroot/js/coregen.js @@ -638,7 +638,7 @@ function GetMenu(module, mymenu, menu_url){ var tag = ''; if(typeof(data.submenu) === "undefined"){ tag = '
    • ·'+data.name+''; + tag += '
    • ·'+data.name+''; tag += '
    • '; }else{ tag = ''+data.name+''; @@ -665,6 +665,26 @@ function coreFormatPrice(value, digits) { var currency = 0; if (value) { currency = (value / 1).toFixed(digits); + } else { + currency = currency.toFixed(digits); } return currency.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } + +function coreCurrencyToDecimal(currency) { + var number = 0; + if (currency) { + number = Number(currency.replace(/[^0-9.-]+/g, "")); + } + return number; +} + +function coreIsNumber(event) { + var charCode = (event.which) ? event.which : event.keyCode; + console.log("charCode",charCode); + if (charCode > 31 && (charCode < 48 || charCode > 57)){ + event.preventDefault(); + }else{ + return true; + } +} diff --git a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js index 3cf8656..3b3408f 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js +++ b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js @@ -42,7 +42,9 @@ function eva_adjust_postponement_detail_migration_FeedDataToForm(data) { $("#eva_adjust_postponement_detail_migration_migration_eva_result").val(data.migration_eva_result); DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_detail_migration_org_at_this_time"), data, "id", "external_name", "item_org_at_this_time", data.org_at_this_time); $("#eva_adjust_postponement_detail_migration_order_at_this_time").val(data.order_at_this_time); - + $("#eva_adjust_postponement_detail_migration_fullname_at_this_time").val(data.fullname_at_this_time); + $("#eva_adjust_postponement_detail_migration_employee_no_at_this_time").val(data.employee_no_at_this_time); + CheckBoxFeedDataToForm($("#eva_adjust_postponement_detail_migration_is_for_postponement"), data.is_for_postponement); } function eva_adjust_postponement_detail_migration_GetFromForm() { @@ -69,6 +71,11 @@ function eva_adjust_postponement_detail_migration_GetFromForm() { eva_adjust_postponement_detail_migrationObject.migration_eva_result = $("#eva_adjust_postponement_detail_migration_migration_eva_result").val(); eva_adjust_postponement_detail_migrationObject.org_at_this_time = $("#eva_adjust_postponement_detail_migration_org_at_this_time").val(); eva_adjust_postponement_detail_migrationObject.order_at_this_time = $("#eva_adjust_postponement_detail_migration_order_at_this_time").val(); + eva_adjust_postponement_detail_migrationObject.fullname_at_this_time = $("#eva_adjust_postponement_detail_migration_fullname_at_this_time").val(); + eva_adjust_postponement_detail_migrationObject.employee_no_at_this_time = $("#eva_adjust_postponement_detail_migration_employee_no_at_this_time").val(); + eva_adjust_postponement_detail_migrationObject.is_for_postponement = CheckBoxGetFromForm($("#eva_adjust_postponement_detail_migration_is_for_postponement")); + + return eva_adjust_postponement_detail_migrationObject; } @@ -100,7 +107,7 @@ function eva_adjust_postponement_detail_migration_GoCreate() { function eva_adjust_postponement_detail_migration_GoEdit(a) { // Incase model popup - alert("กรุณาเลื่อนจอ ไปด้านล่างสุด เพื่อกรอกแบบฟอร์มแก้ไขข้อมูล"); + //alert("กรุณาเลื่อนจอ ไปด้านล่างสุด เพื่อกรอกแบบฟอร์มแก้ไขข้อมูล"); eva_adjust_postponement_detail_migration_SetEditForm(a); // Incase open new page @@ -111,7 +118,7 @@ function eva_adjust_postponement_detail_migration_SetEditForm(a) { var successFunc = function (result) { eva_adjust_postponement_detail_migration_editMode = "UPDATE"; eva_adjust_postponement_detail_migration_FeedDataToForm(result); - //$("#eva_adjust_postponement_detail_migrationModel").modal("show"); + $("#eva_adjust_postponement_detail_migrationModel").modal("show"); endLoad(); }; startLoad(); @@ -121,6 +128,7 @@ function eva_adjust_postponement_detail_migration_SetEditForm(a) { function eva_adjust_postponement_detail_migration_SetCreateForm(s) { eva_adjust_postponement_detail_migration_editMode = "CREATE"; eva_adjust_postponement_detail_migration_InitialForm(s); + $("#eva_adjust_postponement_detail_migrationModel").modal("show"); } function eva_adjust_postponement_detail_migration_RefreshTable() { @@ -199,6 +207,7 @@ var eva_adjust_postponement_detail_migration_setupTable = function (result) { { "data": "id" }, { "data": "order_at_this_time" }, { "data": "employee_id_external_linkage_external_name" }, + { "data": "workingstatus" }, { "data": "sarary" }, { "data": "cost_living" }, { "data": "middle" }, diff --git a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js index f19d41c..71f80a3 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js +++ b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js @@ -9,7 +9,7 @@ $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(""); $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(""); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(""); - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(""); + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(""); $("#eva_adjust_postponement_detail_normal_02_remark_" + i).text(""); $("#eva_adjust_postponement_detail_normal_02_emp_code_" + i).text(""); $("#eva_adjust_postponement_detail_normal_02_emp_fullname_" + i).text(""); @@ -29,7 +29,9 @@ function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankI data.achievement = Number(data.achievement).toFixed(digits_position); data.competency = Number(data.competency).toFixed(digits_position); data.total_score = Number(data.total_score).toFixed(digits_position); - + + //console.log(data); + $("#eva_adjust_postponement_detail_normal_02_id_" + i).val(data.id); $("#eva_adjust_postponement_detail_normal_02_adjust_postponement_id_" + i).val(data.adjust_postponement_id); $("#eva_adjust_postponement_detail_normal_02_employee_id_" + i).val(data.employee_id); @@ -39,7 +41,7 @@ function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankI $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(data.promoted_percentage); $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(data.total_promote); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(formatNumber(data.new_sarary)); - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(formatNumber(data.new_cost_living)); + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(data.new_cost_living); $("#eva_adjust_postponement_detail_normal_02_remark_" + i).text(data.remark); $("#eva_adjust_postponement_detail_normal_02_emp_code_" + i).text(data.emp_code); $("#eva_adjust_postponement_detail_normal_02_emp_fullname_" + i).text(data.emp_fullname); @@ -65,7 +67,7 @@ function eva_adjust_postponement_detail_normal_02_GetFromForm(obj, i) { eva_adjust_postponement_detail_normal_02Object.promoted_percentage = obj.find("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(); eva_adjust_postponement_detail_normal_02Object.total_promote = obj.find("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(); eva_adjust_postponement_detail_normal_02Object.new_sarary = obj.find("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text().replace(/[,-]/g, ''); - eva_adjust_postponement_detail_normal_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(); + eva_adjust_postponement_detail_normal_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(); eva_adjust_postponement_detail_normal_02Object.remark = obj.find("#eva_adjust_postponement_detail_normal_02_remark_" + i).text(); eva_adjust_postponement_detail_normal_02Object.emp_code = obj.find("#eva_adjust_postponement_detail_normal_02_emp_code_" + i).text(); eva_adjust_postponement_detail_normal_02Object.emp_fullname = obj.find("#eva_adjust_postponement_detail_normal_02_emp_fullname_" + i).text(); @@ -111,7 +113,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { if (cur_dep !== data.emp_department_name) { cur_dep = data.emp_department_name; - tag = "" + cur_dep + ""; + tag = "" + cur_dep + ""; } tag += ''; @@ -129,10 +131,10 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += '

      '; tag += '

      '; tag += '

      '; - tag += ''; - tag += ''; + tag += ''; + tag += ''; tag += '

      '; - tag += '

      '; + tag += ''; tag += '

      '; tag += ''; @@ -145,6 +147,8 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += ''; tag += ''; tag += ''; + tag += ''; + tag += ''; tag += '' + formatNumber(data.position_allowance) + ''; tag += ''; tag += ''; @@ -165,6 +169,8 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += ''; tag += ''; tag += ''; + tag += ''; + tag += ''; tag += '' + formatNumber(data.other_money) + ''; tag += ''; tag += ''; @@ -180,7 +186,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, (i + 1), blankItem); }); //eva_adjust_postponement_detail_normal_02_Summary(); - Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); + Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); endLoad(); }; startLoad(); diff --git a/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js b/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js index fa6a274..a683b17 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js +++ b/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js @@ -9,7 +9,7 @@ $("#eva_adjust_postponement_detail_quota_02_promoted_percentage_" + i).text(""); $("#eva_adjust_postponement_detail_quota_02_total_promote_" + i).text(""); $("#eva_adjust_postponement_detail_quota_02_new_sarary_" + i).text(""); - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(""); + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(""); $("#eva_adjust_postponement_detail_quota_02_remark_" + i).text(""); $("#eva_adjust_postponement_detail_quota_02_receive_quota_" + i).val(""); $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(""); @@ -32,7 +32,7 @@ function eva_adjust_postponement_detail_quota_02_FeedDataToForm(data, i, blankIt $("#eva_adjust_postponement_detail_quota_02_promoted_percentage_" + i).text(formatNumberTemp(data.promoted_percentage)); $("#eva_adjust_postponement_detail_quota_02_total_promote_" + i).text(formatNumber(data.total_promote)); $("#eva_adjust_postponement_detail_quota_02_new_sarary_" + i).text(formatNumberTemp(data.new_sarary)); - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(formatNumber(data.new_cost_living)); + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(data.new_cost_living); $("#eva_adjust_postponement_detail_quota_02_remark_" + i).text(data.remark); $("#eva_adjust_postponement_detail_quota_02_receive_quota_" + i).val(data.receive_quota); $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(formatNumber(data.new_sarary_with_quota)); @@ -56,7 +56,7 @@ function eva_adjust_postponement_detail_quota_02_GetFromForm(obj, i) { eva_adjust_postponement_detail_quota_02Object.promoted_percentage = obj.find("#eva_adjust_postponement_detail_quota_02_promoted_percentage_" + i).text(); eva_adjust_postponement_detail_quota_02Object.total_promote = obj.find("#eva_adjust_postponement_detail_quota_02_total_promote_" + i).text(); eva_adjust_postponement_detail_quota_02Object.new_sarary = obj.find("#eva_adjust_postponement_detail_quota_02_new_sarary_" + i).text(); - eva_adjust_postponement_detail_quota_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(); + eva_adjust_postponement_detail_quota_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(); eva_adjust_postponement_detail_quota_02Object.remark = obj.find("#eva_adjust_postponement_detail_quota_02_remark_" + i).text(); eva_adjust_postponement_detail_quota_02Object.receive_quota = obj.find("#eva_adjust_postponement_detail_quota_02_receive_quota_" + i).val(); eva_adjust_postponement_detail_quota_02Object.new_sarary_with_quota = obj.find("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(); @@ -129,9 +129,9 @@ function eva_adjust_postponement_detail_quota_02_Get(a, blankItem) { tag += '

      '; tag += '

      '; - tag += '

      '; + tag += ''; tag += '

      '; @@ -191,7 +191,7 @@ function eva_adjust_postponement_detail_quota_02_Get(a, blankItem) { Oneva_adjust_postponement_quota_limit_frame_quotaChange(); - //CalculateRemainQuota(); + //CalculateRemainQuota(false); endLoad(); }; startLoad(); diff --git a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js index a5c206b..e06d9ea 100644 --- a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js +++ b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js @@ -184,6 +184,7 @@ var eva_adjust_postponement_migration_setupTable = function (result) { { "data": "id" }, { "data": "fiscal_year" }, { "data": "theRound" }, + { "data": "txt_data_type" }, { "data": "limit" }, { "data": "limit_frame" }, { "data": "limit_quota" }, diff --git a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js index e5c13cf..064b8c2 100644 --- a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js +++ b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js @@ -4,11 +4,12 @@ var eva_adjust_postponement_migration_API = "/api/eva_adjust_postponement_migrat //================= Form Data Customizaiton ========================================= function eva_adjust_postponement_migration_FeedDataToForm(data) { + //console.log(data); $("#eva_adjust_postponement_migration_id").val(data.id); $("#eva_adjust_postponement_migration_fiscal_year").val(data.fiscal_year); $("#eva_adjust_postponement_migration_theDate").val(formatDate(data.theDate)); $("#eva_adjust_postponement_migration_theRound").val(data.theRound); - DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_migration_create_evaluation_id"), data, "id", "performance_plan_id", "item_create_evaluation_id", data.create_evaluation_id); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_migration_create_evaluation_id"), data, "external_id", "external_name", "item_create_evaluation_id", data.create_evaluation_id); $("#eva_adjust_postponement_migration_limit").val(data.limit); $("#eva_adjust_postponement_migration_limit_frame").val(data.limit_frame); $("#eva_adjust_postponement_migration_limit_quota").val(data.limit_quota); diff --git a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js index b120e2d..74ecea6 100644 --- a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js +++ b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js @@ -5,17 +5,17 @@ var eva_adjust_postponement_normal_API = "/api/eva_adjust_postponement_normal/"; function eva_adjust_postponement_normal_GetSearchParameter() { var eva_adjust_postponement_normalSearchObject = new Object(); -eva_adjust_postponement_normalSearchObject.fiscal_year = $("#s_eva_adjust_postponement_normal_fiscal_year").val(); -eva_adjust_postponement_normalSearchObject.theRound = $("#s_eva_adjust_postponement_normal_theRound").val(); -eva_adjust_postponement_normalSearchObject.org_id = $("#s_eva_adjust_postponement_normal_org_id").val(); + eva_adjust_postponement_normalSearchObject.fiscal_year = $("#s_eva_adjust_postponement_normal_fiscal_year").val(); + eva_adjust_postponement_normalSearchObject.theRound = $("#s_eva_adjust_postponement_normal_theRound").val(); + eva_adjust_postponement_normalSearchObject.org_id = $("#s_eva_adjust_postponement_normal_org_id").val(); return eva_adjust_postponement_normalSearchObject; } function eva_adjust_postponement_normal_FeedDataToSearchForm(data) { -$("#s_eva_adjust_postponement_normal_fiscal_year").val(data.fiscal_year); -$("#s_eva_adjust_postponement_normal_theRound").val(data.theRound); -DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); + DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_fiscal_year"), data, "id", "external_name", "item_fiscal_year", data.fiscal_year); + $("#s_eva_adjust_postponement_normal_theRound").val(data.theRound); + DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); } @@ -23,38 +23,42 @@ DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_org_id"), function eva_adjust_postponement_normal_FeedDataToForm(data) { -//console.log(data); + //console.log(data); -$("#eva_adjust_postponement_normal_id").val(data.id); -$("#eva_adjust_postponement_normal_fiscal_year").val(data.fiscal_year); -$("#eva_adjust_postponement_normal_theDate").val(formatDate(data.theDate)); -$("#eva_adjust_postponement_normal_theRound").val(data.theRound); -DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_create_evaluation_id"), data, "id", "description", "item_create_evaluation_id", data.create_evaluation_id); -$("#eva_adjust_postponement_normal_limit").val(data.limit); -$("#eva_adjust_postponement_normal_limit_frame").val(data.limit_frame); -// $("#eva_adjust_postponement_normal_limit_quota").val(data.limit_quota); -$("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask',data.limit_quota); + $("#eva_adjust_postponement_normal_id").val(data.id); + $("#eva_adjust_postponement_normal_fiscal_year").val(data.fiscal_year); + $("#eva_adjust_postponement_normal_theDate").val(formatDate(data.theDate)); + $("#eva_adjust_postponement_normal_theRound").val(data.theRound); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_create_evaluation_id"), data, "id", "description", "item_create_evaluation_id", data.create_evaluation_id); + $("#eva_adjust_postponement_normal_limit").val(data.limit); + $("#eva_adjust_postponement_normal_limit_frame").val(data.limit_frame); + // $("#eva_adjust_postponement_normal_limit_quota").val(data.limit_quota); + $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask', data.limit_quota); -$("#eva_adjust_postponement_normal_percentage").val(data.percentage); -DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_managed_by"), data, "id", "fullname", "item_managed_by", getCookie("emp_id")); -//DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); + $("#eva_adjust_postponement_normal_percentage").val(data.percentage); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_managed_by"), data, "id", "fullname", "item_managed_by", getCookie("emp_id")); + //DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); + $("#eva_salary_cylinder_position_allowance").val(data.position_allowance); + $("#eva_salary_cylinder_monthly_compensation").val(data.monthly_compensation); } function eva_adjust_postponement_normal_GetFromForm() { var eva_adjust_postponement_normalObject = new Object(); -eva_adjust_postponement_normalObject.id = $("#eva_adjust_postponement_normal_id").val(); -eva_adjust_postponement_normalObject.fiscal_year = $("#eva_adjust_postponement_normal_fiscal_year").val(); -eva_adjust_postponement_normalObject.theDate = getDate($("#eva_adjust_postponement_normal_theDate").val()); -eva_adjust_postponement_normalObject.theRound = $("#eva_adjust_postponement_normal_theRound").val(); -eva_adjust_postponement_normalObject.create_evaluation_id = $("#eva_adjust_postponement_normal_create_evaluation_id").val(); -eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val(); -eva_adjust_postponement_normalObject.limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); -eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val(); -eva_adjust_postponement_normalObject.percentage = $("#eva_adjust_postponement_normal_percentage").val(); -eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); -//eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); + eva_adjust_postponement_normalObject.id = $("#eva_adjust_postponement_normal_id").val(); + eva_adjust_postponement_normalObject.fiscal_year = $("#eva_adjust_postponement_normal_fiscal_year").val(); + eva_adjust_postponement_normalObject.theDate = getDate($("#eva_adjust_postponement_normal_theDate").val()); + eva_adjust_postponement_normalObject.theRound = $("#eva_adjust_postponement_normal_theRound").val(); + eva_adjust_postponement_normalObject.create_evaluation_id = $("#eva_adjust_postponement_normal_create_evaluation_id").val(); + eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val(); + eva_adjust_postponement_normalObject.limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); + eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val(); + eva_adjust_postponement_normalObject.percentage = $("#eva_adjust_postponement_normal_percentage").val(); + eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); + //eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); + eva_salary_cylinderObject.position_allowance = $("#eva_salary_cylinder_position_allowance").val(); + eva_salary_cylinderObject.monthly_compensation = $("#eva_salary_cylinder_monthly_compensation").val(); return eva_adjust_postponement_normalObject; } @@ -62,14 +66,14 @@ eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_no function eva_adjust_postponement_normal_InitialForm(s) { var successFunc = function (result) { eva_adjust_postponement_normal_FeedDataToForm(result); - eva_adjust_postponement_normal_FeedDataToSearchForm(result); + eva_adjust_postponement_normal_FeedDataToSearchForm(result); if (s) { // Incase model popup $("#eva_adjust_postponement_normalModel").modal("show"); } - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + "GetBlankItem", successFunc, AlertDanger); } @@ -96,15 +100,15 @@ function eva_adjust_postponement_normal_SetEditForm(a) { eva_adjust_postponement_normal_editMode = "UPDATE"; eva_adjust_postponement_normal_FeedDataToForm(result); $("#eva_adjust_postponement_normalModel").modal("show"); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + a, successFunc, AlertDanger); } function eva_adjust_postponement_normal_SetCreateForm(s) { eva_adjust_postponement_normal_editMode = "CREATE"; - eva_adjust_postponement_normal_InitialForm(s); + eva_adjust_postponement_normal_InitialForm(s); } function eva_adjust_postponement_normal_RefreshTable() { @@ -122,8 +126,7 @@ var eva_adjust_postponement_normal_customValidation = function (group) { }; function eva_adjust_postponement_normal_PutUpdate() { - if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) - { + if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) { return; } @@ -135,9 +138,9 @@ function eva_adjust_postponement_normal_PutUpdate() { $("#eva_adjust_postponement_normalModel").modal("hide"); AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_adjust_postponement_normal_API + data.id, data, successFunc1, AlertDanger); } // Create mode @@ -146,9 +149,9 @@ function eva_adjust_postponement_normal_PutUpdate() { $("#eva_adjust_postponement_normalModel").modal("hide"); AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_adjust_postponement_normal_API, data, successFunc2, AlertDanger); } } @@ -159,9 +162,9 @@ function eva_adjust_postponement_normal_GoDelete(a) { $("#eva_adjust_postponement_normalModel").modal("hide"); AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_adjust_postponement_normal_API + a, null, successFunc, AlertDanger); } } @@ -171,18 +174,18 @@ function eva_adjust_postponement_normal_GoDelete(a) { var eva_adjust_postponement_normalTableV; var eva_adjust_postponement_normal_setupTable = function (result) { - tmp = '"'; + tmp = '"'; eva_adjust_postponement_normalTableV = $('#eva_adjust_postponement_normalTable').DataTable({ "processing": true, "serverSide": false, "data": result, - "select": false, + "select": false, "columns": [ - { "data": "id" }, - { "data": "fiscal_year" }, - { "data": "txt_theDate" }, - { "data": "theRound" }, - { "data": "create_evaluation_id_description" }, + { "data": "id" }, + { "data": "fiscal_year" }, + { "data": "txt_theDate" }, + { "data": "theRound" }, + { "data": "create_evaluation_id_description" }, ], "columnDefs": [ { @@ -196,15 +199,15 @@ var eva_adjust_postponement_normal_setupTable = function (result) { "url": appsite + "/DataTables-1.10.16/thai.json" }, "paging": true, - "searching": false + "searching": false }); - endLoad(); + endLoad(); }; function eva_adjust_postponement_normal_InitiateDataTable() { - startLoad(); - var p = $.param(eva_adjust_postponement_normal_GetSearchParameter()); - AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?"+p, eva_adjust_postponement_normal_setupTable, AlertDanger); + startLoad(); + var p = $.param(eva_adjust_postponement_normal_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?" + p, eva_adjust_postponement_normal_setupTable, AlertDanger); } function eva_adjust_postponement_normal_DoSearch() { @@ -212,10 +215,10 @@ function eva_adjust_postponement_normal_DoSearch() { var eva_adjust_postponement_normal_reload = function (result) { eva_adjust_postponement_normalTableV.destroy(); eva_adjust_postponement_normal_setupTable(result); - endLoad(); + endLoad(); }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?"+p, eva_adjust_postponement_normal_reload, AlertDanger); + startLoad(); + AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?" + p, eva_adjust_postponement_normal_reload, AlertDanger); } function eva_adjust_postponement_normal_GetSelect(f) { diff --git a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js index 0916634..b0d70ed 100644 --- a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js +++ b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js @@ -9,8 +9,8 @@ function eva_adjust_postponement_normal_FeedDataToForm(data) { $("#eva_adjust_postponement_normal_theDate").val(formatDate(data.theDate)); $("#eva_adjust_postponement_normal_theRound").val(data.theRound); DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_create_evaluation_id"), data, "id", "description", "item_create_evaluation_id", data.create_evaluation_id); - $("#eva_adjust_postponement_normal_limit").maskMoney('mask',data.limit); - $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask',data.limit_quota); + $("#eva_adjust_postponement_normal_limit").val(coreFormatPrice(data.limit, 3)); + $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask', data.limit_quota); $("#eva_adjust_postponement_normal_limit_frame").val(data.limit_frame); $("#eva_adjust_postponement_normal_percentage").val(data.percentage); @@ -28,9 +28,9 @@ function eva_adjust_postponement_normal_GetFromForm() { eva_adjust_postponement_normalObject.theDate = getDate($("#eva_adjust_postponement_normal_theDate").val()); eva_adjust_postponement_normalObject.theRound = $("#eva_adjust_postponement_normal_theRound").val(); eva_adjust_postponement_normalObject.create_evaluation_id = $("#eva_adjust_postponement_normal_create_evaluation_id").val(); - eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g,''); + eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g, ''); eva_adjust_postponement_normalObject.limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); - eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g,''); + eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g, ''); eva_adjust_postponement_normalObject.percentage = $("#eva_adjust_postponement_normal_percentage").val(); eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); //eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); @@ -38,9 +38,9 @@ function eva_adjust_postponement_normal_GetFromForm() { var eva_adjust_postponement_detail_normal_02 = []; $('#eva_adjust_postponement_detail_normal_02Body tr').each(function () { var i = $(this).find("#rowCount").text(); - var eacheva_adjust_postponement_detail_normal_02 = eva_adjust_postponement_detail_normal_02_GetFromForm($(this), i); - eva_adjust_postponement_detail_normal_02.push(eacheva_adjust_postponement_detail_normal_02); - }); + var eacheva_adjust_postponement_detail_normal_02 = eva_adjust_postponement_detail_normal_02_GetFromForm($(this), i); + eva_adjust_postponement_detail_normal_02.push(eacheva_adjust_postponement_detail_normal_02); + }); eva_adjust_postponement_normalObject.eva_adjust_postponement_detail_normal_02_model = eva_adjust_postponement_detail_normal_02; @@ -50,9 +50,9 @@ function eva_adjust_postponement_normal_GetFromForm() { function eva_adjust_postponement_normal_InitialForm() { var successFunc = function (result) { eva_adjust_postponement_normal_FeedDataToForm(result); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + "GetBlankItem", successFunc, AlertDanger); } @@ -64,16 +64,16 @@ function eva_adjust_postponement_normal_SetEditForm(a) { eva_adjust_postponement_normal_FeedDataToForm(result); //Oneva_adjust_postponement_normal_limit_frameChange(); //Oneva_adjust_postponement_normal_percentageChange(); - Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); - endLoad(); + Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + a, successFunc, AlertDanger); } function eva_adjust_postponement_normal_SetCreateForm() { eva_adjust_postponement_normal_editMode = "CREATE"; - eva_adjust_postponement_normal_InitialForm(); + eva_adjust_postponement_normal_InitialForm(); } //================= Update and Delete ========================================= @@ -83,8 +83,7 @@ var eva_adjust_postponement_normal_customValidation = function (group) { }; function eva_adjust_postponement_normal_PutUpdate() { - if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) - { + if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) { return; } var data = eva_adjust_postponement_normal_GetFromForm(); @@ -95,18 +94,18 @@ function eva_adjust_postponement_normal_PutUpdate() { eva_adjust_postponement_detail_normal_02_Save(getUrlParameter("id")); //AlertSuccess(result.message); //setTimeout(window.location.reload(), 3000); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_adjust_postponement_normal_API + data.id, data, successFunc1, AlertDanger); } // Create mode else { var successFunc2 = function (result) { AlertSuccess(result.message); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_adjust_postponement_normal_API, data, successFunc2, AlertDanger); } } @@ -116,72 +115,76 @@ function eva_adjust_postponement_normal_GoDelete(a) { var successFunc = function (result) { AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_adjust_postponement_normal_API + a, null, successFunc, AlertDanger); } } //================= Control Function ========================================= -function Oneva_adjust_postponement_normal_limit_frameChange(){ - var limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g,''); +function Oneva_adjust_postponement_normal_limit_frameChange() { + var limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g, ''); var limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); - limit_frame = Math.round(limit_frame*100)/100; + limit_frame = (Math.round(limit_frame * 1000) / 1000).toFixed(3); $("#eva_adjust_postponement_normal_limit_frame").val(limit_frame); //$("#eva_adjust_postponement_normal_limit_quota").val(Math.ceil((limit*limit_frame/1000))*10); - $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask',Math.ceil((limit*limit_frame/1000))*10); + $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask', Math.ceil((limit * limit_frame / 1000)) * 10); } -function Oneva_adjust_postponement_normal_percentageChange(){ +function Oneva_adjust_postponement_normal_percentageChange() { var percentage = $("#eva_adjust_postponement_normal_percentage").val(); - percentage = Math.round(percentage*100)/100; + percentage = Math.round(percentage * 100) / 100; $("#eva_adjust_postponement_normal_percentage").val(percentage) $('#eva_adjust_postponement_detail_normal_02Body tr').each(function () { var i = $(this).find("#rowCount").text(); $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage); - }); - Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); + }); + Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); } -function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(){ - var current_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g,''); +function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(m) { + var current_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g, ''); var sum_postpone = 0; var sum_before = 0; var sum_after = 0; - + $('#eva_adjust_postponement_detail_normal_02Body tr').each(function () { var i = $(this).find("#rowCount").text(); - if(i){ - var percentage = $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val().replace(/[,-]/g,''); - percentage = Math.round(percentage*100)/100; - $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage); - - var middle = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_middle_" + i).text().replace(/[,-]/g,'')); - var old_salary = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_sarary_" + i).text().replace(/[,-]/g,'')); - var new_added = Math.ceil(((percentage * middle)/100)/10)*10; + if (i) { + var percentage = $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val().replace(/[,-]/g, ''); + percentage = Math.round(percentage * 1000) / 1000; + $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage.toFixed(3)); + + var middle = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_middle_" + i).text().replace(/[,-]/g, '')); + var old_salary = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_sarary_" + i).text().replace(/[,-]/g, '')); + var new_added = Math.ceil(((percentage * middle) / 100) / 10) * 10; var new_salary = parseFloat(old_salary + new_added); - $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(new_added); + var format_new_added = coreFormatPrice(new_added, 3); + + $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(format_new_added); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(formatNumber(new_salary)); - if(new_salary < 13285){ - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(13285-new_salary); - }else{ - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(0); - } + if (m) { + if (new_salary < 13285) { + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(13285 - new_salary); + } else { + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(0); + } + } + sum_postpone += new_added; sum_before += old_salary; sum_after += new_salary; } - }); + }); // $("#remain_cost").val(Math.round((current_quota - sum_postpone)*100)/100); $("#remain_cost").maskMoney('mask', Math.round((current_quota - sum_postpone) * 100) / 100); $("#sum_before").text(formatNumber(sum_before)); $("#sum_after").text(formatNumber(sum_after)); -} - +} \ No newline at end of file diff --git a/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js b/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js index f05970d..f2b94e3 100644 --- a/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js +++ b/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js @@ -137,10 +137,10 @@ function Oneva_adjust_postponement_quota_limit_frame_quotaChange() { //console.log(limit); $("#eva_adjust_postponement_quota_limit_quota").maskMoney('mask', Math.ceil(limit_quota/10)*10); - CalculateRemainQuota(); + CalculateRemainQuota(false); } -function CalculateRemainQuota() { +function CalculateRemainQuota(m) { //console.log("xx"); var sum_receive_quota = 0; var limit_quota = parseFloat($("#eva_adjust_postponement_quota_limit_quota").val().replace(/[,-]/g,'')); @@ -160,11 +160,14 @@ function CalculateRemainQuota() { var new_sarary_with_quota = new_sarary + receive_quota; $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(formatNumber(new_sarary_with_quota)); - if (new_sarary_with_quota < 13285) { - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(formatNumber(13285-new_sarary_with_quota)); - } else { - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(0); + if (m) { + if (new_sarary_with_quota < 13285) { + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(formatNumber(13285 - new_sarary_with_quota)); + } else { + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(0); + } } + sum_receive_quota += receive_quota; } diff --git a/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js b/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js index 17ca1de..b010ca8 100644 --- a/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js +++ b/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js @@ -177,7 +177,7 @@ function eva_create_evaluation_detail_firstdoc_GoDelete(a) { var eva_create_evaluation_detail_firstdocTableV; var eva_create_evaluation_detail_firstdoc_setupTable = function (result) { - console.log(result); + var groupColumn = 6; tmp = '"'; eva_create_evaluation_detail_firstdocTableV = $('#eva_create_evaluation_detail_firstdocTable').DataTable({ @@ -205,13 +205,29 @@ var eva_create_evaluation_detail_firstdoc_setupTable = function (result) { "render": function (data, type, row, meta) { return " "; } - } + }, + { "visible": false, "targets": groupColumn } ], "language": { "url": appsite + "/DataTables-1.10.16/thai.json" }, "paging": true, - "searching": false + "searching": false, + "drawCallback": function (settings) { + var api = this.api(); + var rows = api.rows({ page: 'current' }).nodes(); + var last = null; + + api.column(groupColumn, { page: 'current' }).data().each(function (group, i) { + if (last !== group) { + $(rows).eq(i).before( + '' + group + '' + ); + + last = group; + } + }); + } }); endLoad(); }; diff --git a/wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js b/wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js new file mode 100644 index 0000000..4660b8f --- /dev/null +++ b/wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js @@ -0,0 +1,209 @@ +var eva_create_evaluation_detail_history_editMode = "CREATE"; +var eva_create_evaluation_detail_history_API = "/api/eva_create_evaluation_detail_history/"; + +//================= Search Customizaiton ========================================= + +function eva_create_evaluation_detail_history_GetSearchParameter() { + var eva_create_evaluation_detail_historySearchObject = new Object(); + eva_create_evaluation_detail_historySearchObject.evaluation_detail_id = getUrlParameter("id"); + + return eva_create_evaluation_detail_historySearchObject; +} + +function eva_create_evaluation_detail_history_FeedDataToSearchForm(data) { + $("#s_eva_create_evaluation_detail_history_evaluation_detail_id").val(data.evaluation_detail_id); + +} + +//================= Form Data Customizaiton ========================================= + +function eva_create_evaluation_detail_history_FeedDataToForm(data) { + $("#eva_create_evaluation_detail_history_id").val(data.id); + $("#eva_create_evaluation_detail_history_evaluation_detail_id").val(data.evaluation_detail_id); + $("#eva_create_evaluation_detail_history_action_dt").val(formatDate(data.action_dt)); + $("#eva_create_evaluation_detail_history_action_detail").val(data.action_detail); + //DropDownClearFormAndFeedWithData($("#eva_create_evaluation_detail_history_action_emp_id"), data, "id", "employee_type", "item_action_emp_id", data.action_emp_id); + +} + +function eva_create_evaluation_detail_history_GetFromForm() { + var eva_create_evaluation_detail_historyObject = new Object(); + eva_create_evaluation_detail_historyObject.id = $("#eva_create_evaluation_detail_history_id").val(); + eva_create_evaluation_detail_historyObject.evaluation_detail_id = getUrlParameter("id"); + eva_create_evaluation_detail_historyObject.action_dt = getDate($("#eva_create_evaluation_detail_history_action_dt").val()); + eva_create_evaluation_detail_historyObject.action_detail = $("#eva_create_evaluation_detail_history_action_detail").val(); + eva_create_evaluation_detail_historyObject.action_emp_id = $("#eva_create_evaluation_detail_history_action_emp_id").val(); + + + return eva_create_evaluation_detail_historyObject; +} + +function eva_create_evaluation_detail_history_InitialForm(s) { + var successFunc = function (result) { + eva_create_evaluation_detail_history_FeedDataToForm(result); + eva_create_evaluation_detail_history_FeedDataToSearchForm(result); + if (s) { + // Incase model popup + $("#eva_create_evaluation_detail_historyModel").modal("show"); + } + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_create_evaluation_detail_history_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Form Mode Setup and Flow ========================================= + +function eva_create_evaluation_detail_history_GoCreate() { + // Incase model popup + eva_create_evaluation_detail_history_SetCreateForm(true); + + // Incase open new page + //window_open(appsite + "/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history_d"); +} + +function eva_create_evaluation_detail_history_GoEdit(a) { + // Incase model popup + eva_create_evaluation_detail_history_SetEditForm(a); + + // Incase open new page + //window_open(appsite + "/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history_d?id=" + a); +} + +function eva_create_evaluation_detail_history_SetEditForm(a) { + var successFunc = function (result) { + eva_create_evaluation_detail_history_editMode = "UPDATE"; + eva_create_evaluation_detail_history_FeedDataToForm(result); + $("#eva_create_evaluation_detail_historyModel").modal("show"); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_create_evaluation_detail_history_API + a, successFunc, AlertDanger); +} + +function eva_create_evaluation_detail_history_SetCreateForm(s) { + eva_create_evaluation_detail_history_editMode = "CREATE"; + eva_create_evaluation_detail_history_InitialForm(s); +} + +function eva_create_evaluation_detail_history_RefreshTable() { + // Incase model popup + eva_create_evaluation_detail_history_DoSearch(); + + // Incase open new page + //window.parent.eva_create_evaluation_detail_history_DoSearch(); +} + +//================= Update and Delete ========================================= + +var eva_create_evaluation_detail_history_customValidation = function (group) { + return ""; +}; + +function eva_create_evaluation_detail_history_PutUpdate() { + if (!ValidateForm('eva_create_evaluation_detail_history', eva_create_evaluation_detail_history_customValidation)) { + return; + } + + var data = eva_create_evaluation_detail_history_GetFromForm(); + + //Update Mode + if (eva_create_evaluation_detail_history_editMode === "UPDATE") { + var successFunc1 = function (result) { + $("#eva_create_evaluation_detail_historyModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_create_evaluation_detail_history_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + eva_create_evaluation_detail_history_API + data.id, data, successFunc1, AlertDanger); + } + // Create mode + else { + var successFunc2 = function (result) { + $("#eva_create_evaluation_detail_historyModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_create_evaluation_detail_history_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPostRequest(apisite + eva_create_evaluation_detail_history_API, data, successFunc2, AlertDanger); + } +} + +function eva_create_evaluation_detail_history_GoDelete(a) { + if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) { + var successFunc = function (result) { + $("#eva_create_evaluation_detail_historyModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_create_evaluation_detail_history_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxDeleteRequest(apisite + eva_create_evaluation_detail_history_API + a, null, successFunc, AlertDanger); + } +} + +//================= Data Table ========================================= + +var eva_create_evaluation_detail_historyTableV; + +var eva_create_evaluation_detail_history_setupTable = function (result) { + tmp = '"'; + eva_create_evaluation_detail_historyTableV = $('#eva_create_evaluation_detail_historyTable').DataTable({ + "processing": true, + "serverSide": false, + "data": result, + //"select": { + // "style": 'multi' + //}, + "columns": [ + { "data": "txt_action_dt" }, + { "data": "action_detail" }, + { "data": "action_emp_id_external_employee_fullname" }, + ], + "columnDefs": [ + + ], + "language": { + "url": appsite + "/DataTables-1.10.16/thai.json" + }, + "paging": true, + "searching": false + }); + endLoad(); +}; + +function eva_create_evaluation_detail_history_InitiateDataTable() { + startLoad(); + var p = $.param(eva_create_evaluation_detail_history_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_create_evaluation_detail_history/GetListBySearch?" + p, eva_create_evaluation_detail_history_setupTable, AlertDanger); +} + +function eva_create_evaluation_detail_history_DoSearch() { + var p = $.param(eva_create_evaluation_detail_history_GetSearchParameter()); + var eva_create_evaluation_detail_history_reload = function (result) { + eva_create_evaluation_detail_historyTableV.destroy(); + eva_create_evaluation_detail_history_setupTable(result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_create_evaluation_detail_history/GetListBySearch?" + p, eva_create_evaluation_detail_history_reload, AlertDanger); +} + +function eva_create_evaluation_detail_history_GetSelect(f) { + var eva_create_evaluation_detail_history_selectitem = []; + $.each(eva_create_evaluation_detail_historyTableV.rows('.selected').data(), function (key, value) { + eva_create_evaluation_detail_history_selectitem.push(value[f]); + }); + alert(eva_create_evaluation_detail_history_selectitem); +} + +//================= File Upload ========================================= + + + +//================= Multi-Selection Function ========================================= + + + diff --git a/wwwroot/js/eva_evaluation_achievement/eva_evaluation_achievement.js b/wwwroot/js/eva_evaluation_achievement/eva_evaluation_achievement.js index 0b61ae6..ac673bf 100644 --- a/wwwroot/js/eva_evaluation_achievement/eva_evaluation_achievement.js +++ b/wwwroot/js/eva_evaluation_achievement/eva_evaluation_achievement.js @@ -22,7 +22,7 @@ function eva_evaluation_achievement_FeedDataToForm(data) { $("#eva_evaluation_achievement_create_evaluation_detail_id").val(data.create_evaluation_detail_id); $("#eva_evaluation_achievement_achievement").val(data.achievement); $("#eva_evaluation_achievement_weight").val(data.weight); - feedFileToControl(data.thefile, data.thefileDisplay, "eva_evaluation_achievement_thefile", "file"); + //feedFileToControl(data.thefile, data.thefileDisplay, "eva_evaluation_achievement_thefile", "file"); $("#eva_evaluation_achievement_target_score1").val(data.target_score1); $("#eva_evaluation_achievement_target_score2").val(data.target_score2); $("#eva_evaluation_achievement_target_score3").val(data.target_score3); @@ -36,11 +36,11 @@ function eva_evaluation_achievement_GetFromForm() { eva_evaluation_achievementObject.create_evaluation_detail_id = getUrlParameter("id"); //$("#eva_evaluation_achievement_create_evaluation_detail_id").val(); eva_evaluation_achievementObject.achievement = $("#eva_evaluation_achievement_achievement").val(); eva_evaluation_achievementObject.weight = $("#eva_evaluation_achievement_weight").val(); - if ($("#eva_evaluation_achievement_thefile_hidURL").val() !== null) { - eva_evaluation_achievementObject.thefile = $("#eva_evaluation_achievement_thefile_hidURL").val(); - } else { - eva_evaluation_achievementObject.thefile = ""; - } + //if ($("#eva_evaluation_achievement_thefile_hidURL").val() !== null) { + // eva_evaluation_achievementObject.thefile = $("#eva_evaluation_achievement_thefile_hidURL").val(); + //} else { + // eva_evaluation_achievementObject.thefile = ""; + //} eva_evaluation_achievementObject.target_score1 = $("#eva_evaluation_achievement_target_score1").val(); eva_evaluation_achievementObject.target_score2 = $("#eva_evaluation_achievement_target_score2").val(); eva_evaluation_achievementObject.target_score3 = $("#eva_evaluation_achievement_target_score3").val(); @@ -208,6 +208,13 @@ var eva_evaluation_achievement_setupTable = function (result) { }, { targets: [3, 4, 5, 6, 7], visible: false + }, + { + "targets": -1, + "data": "id", + "render": function (data, type, row, meta) { + return ""; + } }], "language": { "url": appsite + "/DataTables-1.10.16/thai.json" diff --git a/wwwroot/js/eva_evaluation_achievement_attach/eva_evaluation_achievement_attach.js b/wwwroot/js/eva_evaluation_achievement_attach/eva_evaluation_achievement_attach.js new file mode 100644 index 0000000..b01cc05 --- /dev/null +++ b/wwwroot/js/eva_evaluation_achievement_attach/eva_evaluation_achievement_attach.js @@ -0,0 +1,227 @@ +var eva_evaluation_achievement_attach_editMode = "CREATE"; +var eva_evaluation_achievement_attach_API = "/api/eva_evaluation_achievement_attach/"; + +//================= Search Customizaiton ========================================= + +function eva_evaluation_achievement_attach_GetSearchParameter() { + var eva_evaluation_achievement_attachSearchObject = new Object(); + eva_evaluation_achievement_attachSearchObject.achievement_id = getUrlParameter("id"); + + return eva_evaluation_achievement_attachSearchObject; +} + +function eva_evaluation_achievement_attach_FeedDataToSearchForm(data) { + $("#s_eva_evaluation_achievement_attach_achievement_id").val(data.achievement_id); + +} + +//================= Form Data Customizaiton ========================================= + +function eva_evaluation_achievement_attach_FeedDataToForm(data) { + $("#eva_evaluation_achievement_attach_id").val(data.id); + $("#eva_evaluation_achievement_attach_achievement_id").val(data.achievement_id); + feedFileToControl(data.the_file, data.the_fileDisplay, "eva_evaluation_achievement_attach_the_file", "file"); + +} + +function eva_evaluation_achievement_attach_GetFromForm() { + var eva_evaluation_achievement_attachObject = new Object(); + eva_evaluation_achievement_attachObject.id = $("#eva_evaluation_achievement_attach_id").val(); + eva_evaluation_achievement_attachObject.achievement_id = getUrlParameter("id"); + if ($("#eva_evaluation_achievement_attach_the_file_hidURL").val() !== null) { + eva_evaluation_achievement_attachObject.the_file = $("#eva_evaluation_achievement_attach_the_file_hidURL").val(); + } else { + eva_evaluation_achievement_attachObject.the_file = ""; + } + + + return eva_evaluation_achievement_attachObject; +} + +function eva_evaluation_achievement_attach_InitialForm(s) { + var successFunc = function (result) { + eva_evaluation_achievement_attach_FeedDataToForm(result); + eva_evaluation_achievement_attach_FeedDataToSearchForm(result); + if (s) { + // Incase model popup + $("#eva_evaluation_achievement_attachModel").modal("show"); + } + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_evaluation_achievement_attach_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Form Mode Setup and Flow ========================================= + +function eva_evaluation_achievement_attach_GoCreate() { + // Incase model popup + eva_evaluation_achievement_attach_SetCreateForm(true); + + // Incase open new page + //window_open(appsite + "/eva_evaluation_achievement_attachView/eva_evaluation_achievement_attach_d"); +} + +function eva_evaluation_achievement_attach_GoEdit(a) { + // Incase model popup + eva_evaluation_achievement_attach_SetEditForm(a); + + // Incase open new page + //window_open(appsite + "/eva_evaluation_achievement_attachView/eva_evaluation_achievement_attach_d?id=" + a); +} + +function eva_evaluation_achievement_attach_SetEditForm(a) { + var successFunc = function (result) { + eva_evaluation_achievement_attach_editMode = "UPDATE"; + eva_evaluation_achievement_attach_FeedDataToForm(result); + $("#eva_evaluation_achievement_attachModel").modal("show"); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_evaluation_achievement_attach_API + a, successFunc, AlertDanger); +} + +function eva_evaluation_achievement_attach_SetCreateForm(s) { + eva_evaluation_achievement_attach_editMode = "CREATE"; + eva_evaluation_achievement_attach_InitialForm(s); +} + +function eva_evaluation_achievement_attach_RefreshTable() { + // Incase model popup + eva_evaluation_achievement_attach_DoSearch(); + + // Incase open new page + //window.parent.eva_evaluation_achievement_attach_DoSearch(); +} + +//================= Update and Delete ========================================= + +var eva_evaluation_achievement_attach_customValidation = function (group) { + return ""; +}; + +function eva_evaluation_achievement_attach_PutUpdate() { + if (!ValidateForm('eva_evaluation_achievement_attach', eva_evaluation_achievement_attach_customValidation)) { + return; + } + + var data = eva_evaluation_achievement_attach_GetFromForm(); + + //Update Mode + if (eva_evaluation_achievement_attach_editMode === "UPDATE") { + var successFunc1 = function (result) { + $("#eva_evaluation_achievement_attachModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_evaluation_achievement_attach_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + eva_evaluation_achievement_attach_API + data.id, data, successFunc1, AlertDanger); + } + // Create mode + else { + var successFunc2 = function (result) { + $("#eva_evaluation_achievement_attachModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_evaluation_achievement_attach_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPostRequest(apisite + eva_evaluation_achievement_attach_API, data, successFunc2, AlertDanger); + } +} + +function eva_evaluation_achievement_attach_GoDelete(a) { + if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) { + var successFunc = function (result) { + $("#eva_evaluation_achievement_attachModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_evaluation_achievement_attach_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxDeleteRequest(apisite + eva_evaluation_achievement_attach_API + a, null, successFunc, AlertDanger); + } +} + +//================= Data Table ========================================= + +var eva_evaluation_achievement_attachTableV; + +var eva_evaluation_achievement_attach_setupTable = function (result) { + tmp = '"'; + eva_evaluation_achievement_attachTableV = $('#eva_evaluation_achievement_attachTable').DataTable({ + "processing": true, + "serverSide": false, + "data": result, + //"select": { + // "style": 'multi' + //}, + "columns": [ + //{ "data": "" }, + { "data": "id" }, + //{ "data": "id" }, + //{ "data": "achievement_id_eva_evaluation_achievement_create_evaluation_detail_id" }, + { "data": "txt_the_file" }, + ], + "columnDefs": [ + { + "targets": 0, //1, + "data": "id", + "render": function (data, type, row, meta) { + return " "; + } + }, + //{ + // targets: 0, + // data: "", + // defaultContent: '', + // orderable: false, + // className: 'select-checkbox' + //} + ], + "language": { + "url": appsite + "/DataTables-1.10.16/thai.json" + }, + "paging": true, + "searching": false + }); + endLoad(); +}; + +function eva_evaluation_achievement_attach_InitiateDataTable() { + startLoad(); + var p = $.param(eva_evaluation_achievement_attach_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_evaluation_achievement_attach/GetListBySearch?" + p, eva_evaluation_achievement_attach_setupTable, AlertDanger); +} + +function eva_evaluation_achievement_attach_DoSearch() { + var p = $.param(eva_evaluation_achievement_attach_GetSearchParameter()); + var eva_evaluation_achievement_attach_reload = function (result) { + eva_evaluation_achievement_attachTableV.destroy(); + eva_evaluation_achievement_attach_setupTable(result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_evaluation_achievement_attach/GetListBySearch?" + p, eva_evaluation_achievement_attach_reload, AlertDanger); +} + +function eva_evaluation_achievement_attach_GetSelect(f) { + var eva_evaluation_achievement_attach_selectitem = []; + $.each(eva_evaluation_achievement_attachTableV.rows('.selected').data(), function (key, value) { + eva_evaluation_achievement_attach_selectitem.push(value[f]); + }); + alert(eva_evaluation_achievement_attach_selectitem); +} + +//================= File Upload ========================================= + +$('#eva_evaluation_achievement_attach_the_file_file').change(function () { + UploadImage($('#eva_evaluation_achievement_attach_the_file_file'), 'eva_evaluation_achievement_attach_the_file'); +}); + + +//================= Multi-Selection Function ========================================= + + + diff --git a/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js b/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js index 4a8243b..bee5759 100644 --- a/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js +++ b/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js @@ -3,7 +3,7 @@ $("#eva_evaluation_achievement_process_id_" + i).val(""); $("#eva_evaluation_achievement_process_create_evaluation_detail_id_" + i).val(""); $("#eva_evaluation_achievement_process_achievement_" + i).text(""); - $("#eva_evaluation_achievement_process_weight_" + i).text(""); + $("#eva_evaluation_achievement_process_weight_" + i).val(""); $("#eva_evaluation_achievement_process_score_" + i).val(""); $("#eva_evaluation_achievement_process_sumary_" + i).text(""); //$("#eva_evaluation_achievement_process_target_score1_" + i).val(""); @@ -22,7 +22,7 @@ function eva_evaluation_achievement_process_FeedDataToForm(data, i, blankItem) { $("#eva_evaluation_achievement_process_id_" + i).val(data.id); $("#eva_evaluation_achievement_process_create_evaluation_detail_id_" + i).val(data.create_evaluation_detail_id); $("#eva_evaluation_achievement_process_achievement_" + i).text(data.achievement); - $("#eva_evaluation_achievement_process_weight_" + i).text(data.weight); + $("#eva_evaluation_achievement_process_weight_" + i).val(data.weight); $("#eva_evaluation_achievement_process_score_" + i).val(data.score); $("#eva_evaluation_achievement_process_sumary_" + i).text(data.sumary); //$("#eva_evaluation_achievement_process_target_score1_" + i).val(data.target_score1); @@ -38,7 +38,7 @@ function eva_evaluation_achievement_process_GetFromForm(obj, i) { eva_evaluation_achievement_processObject.id = obj.find("#eva_evaluation_achievement_process_id_" + i).val(); eva_evaluation_achievement_processObject.create_evaluation_detail_id = obj.find("#eva_evaluation_achievement_process_create_evaluation_detail_id_" + i).val(); eva_evaluation_achievement_processObject.achievement = obj.find("#eva_evaluation_achievement_process_achievement_" + i).text(); - eva_evaluation_achievement_processObject.weight = obj.find("#eva_evaluation_achievement_process_weight_" + i).text(); + eva_evaluation_achievement_processObject.weight = obj.find("#eva_evaluation_achievement_process_weight_" + i).val(); eva_evaluation_achievement_processObject.score = obj.find("#eva_evaluation_achievement_process_score_" + i).val(); eva_evaluation_achievement_processObject.sumary = obj.find("#eva_evaluation_achievement_process_sumary_" + i).text(); //eva_evaluation_achievement_processObject.target_score1 = obj.find("#eva_evaluation_achievement_process_target_score1_" + i).val(); @@ -77,12 +77,7 @@ function eva_evaluation_achievement_process_Get(a, blankItem) { var tag = ''; tag += ''; tag += '

      '; - tag += '

      '; - //tag += ''; - //tag += ''; - //tag += ''; - //tag += ''; - //tag += ''; + tag += ''; tag += ''; tag += '

      '; @@ -116,8 +111,19 @@ function Oneva_evaluation_achievement_process_scoreChange() { var total_achievement_score = 0; $('#eva_evaluation_achievement_processBody tr').each(function () { var i = $(this).find("#rowCount").text(); - var score = $("#eva_evaluation_achievement_process_score_" + i).val(); - var weight = $("#eva_evaluation_achievement_process_weight_" + i).text(); + var score = 0; + var weight = 0; + var val_achievment_score = $("#eva_evaluation_achievement_process_score_" + i).val(); + var val_achievment_weight = $("#eva_evaluation_achievement_process_weight_" + i).val(); + + if (val_achievment_score) { + score = val_achievment_score; + } + + if (val_achievment_weight) { + weight = val_achievment_weight; + } + var total = (score * weight / 100).toFixed(3); $("#eva_evaluation_achievement_process_sumary_" + i).text(total); total_achievement += parseFloat(total); diff --git a/wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js b/wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js new file mode 100644 index 0000000..37e87f5 --- /dev/null +++ b/wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js @@ -0,0 +1,142 @@ +function eva_evaluation_behavior_ClearForm(i, blankItem) { + var data = blankItem; + $("#eva_evaluation_behavior_id_" + i).val(""); + $("#eva_evaluation_behavior_create_evaluation_detail_id_" + i).val(""); + $("#eva_evaluation_behavior_behavior_" + i).text(""); + $("#eva_evaluation_behavior_weight_" + i).val(""); + $("#eva_evaluation_behavior_score_" + i).val(""); + $("#eva_evaluation_behavior_score2_" + i).val(""); + $("#eva_evaluation_behavior_sumary_" + i).text(""); + $("#eva_evaluation_behavior_sumary2_" + i).text(""); + $("#eva_evaluation_behavior_target_score1_" + i).val(""); + $("#eva_evaluation_behavior_target_score2_" + i).val(""); + $("#eva_evaluation_behavior_target_score3_" + i).val(""); + $("#eva_evaluation_behavior_target_score4_" + i).val(""); + $("#eva_evaluation_behavior_target_score5_" + i).val(""); + +} + +function eva_evaluation_behavior_FeedDataToForm(data, i, blankItem) { + $("#eva_evaluation_behavior_id_" + i).val(data.id); + $("#eva_evaluation_behavior_create_evaluation_detail_id_" + i).val(data.create_evaluation_detail_id); + $("#eva_evaluation_behavior_behavior_" + i).text(data.behavior); + $("#eva_evaluation_behavior_weight_" + i).val(data.weight); + $("#eva_evaluation_behavior_score_" + i).val(data.score); + $("#eva_evaluation_behavior_score2_" + i).val(data.score2); + $("#eva_evaluation_behavior_sumary_" + i).text(data.sumary); + $("#eva_evaluation_behavior_sumary2_" + i).text(data.sumary2); + $("#eva_evaluation_behavior_target_score1_" + i).val(data.target_score1); + $("#eva_evaluation_behavior_target_score2_" + i).val(data.target_score2); + $("#eva_evaluation_behavior_target_score3_" + i).val(data.target_score3); + $("#eva_evaluation_behavior_target_score4_" + i).val(data.target_score4); + $("#eva_evaluation_behavior_target_score5_" + i).val(data.target_score5); + +} + +function eva_evaluation_behavior_GetFromForm(obj, i) { + var eva_evaluation_behaviorObject = new Object(); + eva_evaluation_behaviorObject.id = obj.find("#eva_evaluation_behavior_id_" + i).val(); + eva_evaluation_behaviorObject.create_evaluation_detail_id = obj.find("#eva_evaluation_behavior_create_evaluation_detail_id_" + i).val(); + eva_evaluation_behaviorObject.behavior = obj.find("#eva_evaluation_behavior_behavior_" + i).text(); + eva_evaluation_behaviorObject.weight = obj.find("#eva_evaluation_behavior_weight_" + i).val(); + eva_evaluation_behaviorObject.score = obj.find("#eva_evaluation_behavior_score_" + i).val(); + eva_evaluation_behaviorObject.score2 = obj.find("#eva_evaluation_behavior_score2_" + i).val(); + eva_evaluation_behaviorObject.sumary = obj.find("#eva_evaluation_behavior_sumary_" + i).text(); + eva_evaluation_behaviorObject.sumary2 = obj.find("#eva_evaluation_behavior_sumary2_" + i).text(); + eva_evaluation_behaviorObject.target_score1 = obj.find("#eva_evaluation_behavior_target_score1_" + i).val(); + eva_evaluation_behaviorObject.target_score2 = obj.find("#eva_evaluation_behavior_target_score2_" + i).val(); + eva_evaluation_behaviorObject.target_score3 = obj.find("#eva_evaluation_behavior_target_score3_" + i).val(); + eva_evaluation_behaviorObject.target_score4 = obj.find("#eva_evaluation_behavior_target_score4_" + i).val(); + eva_evaluation_behaviorObject.target_score5 = obj.find("#eva_evaluation_behavior_target_score5_" + i).val(); + + eva_evaluation_behaviorObject.active_mode = obj.find("#isActive_" + i + "_eva_evaluation_behavior").val(); + return eva_evaluation_behaviorObject; +} + + + +function eva_evaluation_behavior_GetAllData() { + //Insert eva_evaluation_behavior List + var eva_evaluation_behavior = []; + $('#eva_evaluation_behaviorBody tr').each(function () { + var i = $(this).find("#rowCount").text(); + var eacheva_evaluation_behavior = eva_evaluation_behavior_GetFromForm($(this), i); + eva_evaluation_behavior.push(eacheva_evaluation_behavior); + }); + return eva_evaluation_behavior; +} + +function eva_evaluation_behavior_Save(id) { + //Insert eva_evaluation_behavior List + var eva_evaluation_behavior = eva_evaluation_behavior_GetAllData(); + + var successFunc = function (result) { + AlertSuccess("ปรับปรุงข้อมูลเรียบร้อยแล้ว"); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + '/api/eva_evaluation_behavior/UpdateMultiple', eva_evaluation_behavior, successFunc, AlertDanger); +} + +function eva_evaluation_behavior_Get(id, blankItem) { + + $('#eva_evaluation_behaviorBody').empty(); + + var successFunc = function (response) { + //console.log(response); + $.each(response, function (i, data) { + var tag = ''; + tag += ''; + tag += '

      '; + tag += ''; + + tag += ''; + $('#eva_evaluation_behaviorBody').append($(tag)); + eva_evaluation_behavior_FeedDataToForm(data, (i + 1), blankItem); + }); + eva_evaluation_behavior_Summary(); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + '/api/eva_evaluation_behavior?create_evaluation_detail_id=' + getUrlParameter("id"), successFunc, AlertDanger); + +} + + + +function eva_evaluation_behavior_Removeeva_evaluation_behavior(e) { + if (confirm('กรุณากดตกลง เพื่อยืนยันการลบ?')) { + $(e).closest('tr').find("input,select,textarea").attr('disabled', true); + $(e).closest('tr').find("input,select,textarea").css({ opacity: '0.5' }); + $(e).hide(); + $(e).closest('tr').find("#restoreBtn").show(); + $(e).closest('tr').find("input").first().val("0"); + console.log($(e).closest('tr').find("input").first().val()); + eva_evaluation_behavior_Summary(); + } +} + +function eva_evaluation_behavior_Restoreeva_evaluation_behavior(e) { + if (confirm('กรุณากดตกลง เพื่อยืนยันการกู้คืน?')) { + $(e).closest('tr').find("input,select,textarea").attr('disabled', false); + $(e).closest('tr').find("input,select,textarea").css({ opacity: '1' }); + $(e).hide(); + $(e).closest('tr').find("#removeBtn").show(); + $(e).closest('tr').find("input").first().val("1"); + console.log($(e).closest('tr').find("input").first().val()); + eva_evaluation_behavior_Summary(); + } +} + +function eva_evaluation_behavior_Summary() { + cal_behavior_total(); +} + +function eva_evaluation_behavior_InitialForm(id) { + var successFunc = function (result) { + eva_evaluation_behavior_Get(id, result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_evaluation_behavior/" + "GetBlankItem", successFunc, AlertDanger); +} diff --git a/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js b/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js index 5fecbf8..8851b03 100644 --- a/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js +++ b/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js @@ -3,7 +3,7 @@ $("#eva_evaluation_behavior_process_id_" + i).val(""); $("#eva_evaluation_behavior_process_create_evaluation_detail_id_" + i).val(""); $("#eva_evaluation_behavior_process_behavior_" + i).text(""); - $("#eva_evaluation_behavior_process_weight_" + i).text(""); + $("#eva_evaluation_behavior_process_weight_" + i).val(""); $("#eva_evaluation_behavior_process_score_" + i).val(""); $("#eva_evaluation_behavior_process_sumary_" + i).text(""); //$("#eva_evaluation_behavior_process_target_score1_" + i).val(""); @@ -22,7 +22,7 @@ function eva_evaluation_behavior_process_FeedDataToForm(data, i, blankItem) { $("#eva_evaluation_behavior_process_id_" + i).val(data.id); $("#eva_evaluation_behavior_process_create_evaluation_detail_id_" + i).val(data.create_evaluation_detail_id); $("#eva_evaluation_behavior_process_behavior_" + i).text(data.behavior); - $("#eva_evaluation_behavior_process_weight_" + i).text(data.weight); + $("#eva_evaluation_behavior_process_weight_" + i).val(data.weight); $("#eva_evaluation_behavior_process_score_" + i).val(data.score); $("#eva_evaluation_behavior_process_sumary_" + i).text(data.sumary); //$("#eva_evaluation_behavior_process_target_score1_" + i).val(data.target_score1); @@ -38,7 +38,7 @@ function eva_evaluation_behavior_process_GetFromForm(obj, i) { eva_evaluation_behavior_processObject.id = obj.find("#eva_evaluation_behavior_process_id_" + i).val(); eva_evaluation_behavior_processObject.create_evaluation_detail_id = obj.find("#eva_evaluation_behavior_process_create_evaluation_detail_id_" + i).val(); eva_evaluation_behavior_processObject.behavior = obj.find("#eva_evaluation_behavior_process_behavior_" + i).text(); - eva_evaluation_behavior_processObject.weight = obj.find("#eva_evaluation_behavior_process_weight_" + i).text(); + eva_evaluation_behavior_processObject.weight = obj.find("#eva_evaluation_behavior_process_weight_" + i).val(); eva_evaluation_behavior_processObject.score = obj.find("#eva_evaluation_behavior_process_score_" + i).val(); eva_evaluation_behavior_processObject.sumary = obj.find("#eva_evaluation_behavior_process_sumary_" + i).text(); //eva_evaluation_behavior_processObject.target_score1 = obj.find("#eva_evaluation_behavior_process_target_score1_" + i).val(); @@ -73,18 +73,12 @@ function eva_evaluation_behavior_process_Get(a, blankItem) { $('#eva_evaluation_behavior_processBody').empty(); var successFunc = function (response) { - //console.log(response); $.each(response, function (i, data) { var tag = ''; tag += ''; tag += '

      '; - tag += '

      '; - //tag += '

      '; - //tag += '

      '; - // tag += '

      '; - //tag += '

      '; - // tag += '

      '; + tag += ''; tag += ''; tag += '

      '; @@ -120,8 +114,18 @@ function Oneva_evaluation_behavior_process_scoreChange() { var total_behavior_score = 0; $('#eva_evaluation_behavior_processBody tr').each(function () { var i = $(this).find("#rowCount").text(); - var score = $("#eva_evaluation_behavior_process_score_" + i).val(); - var weight = $("#eva_evaluation_behavior_process_weight_" + i).text(); + var score = 0; + var weight = 0; + var val_score = $("#eva_evaluation_behavior_process_score_" + i).val(); + var val_weight = $("#eva_evaluation_behavior_process_weight_" + i).val(); + + if (val_score) { + score = val_score; + } + + if (val_weight) { + weight = val_weight; + } var total = (score * weight / 100).toFixed(3); $("#eva_evaluation_behavior_process_sumary_" + i).text(total); total_behavior += parseFloat(total); diff --git a/wwwroot/js/eva_idp_plan_reviewer/eva_idp_plan_reviewer.js b/wwwroot/js/eva_idp_plan_reviewer/eva_idp_plan_reviewer.js new file mode 100644 index 0000000..3e46437 --- /dev/null +++ b/wwwroot/js/eva_idp_plan_reviewer/eva_idp_plan_reviewer.js @@ -0,0 +1,229 @@ +var eva_idp_plan_reviewer_editMode = "CREATE"; +var eva_idp_plan_reviewer_API = "/api/eva_idp_plan_reviewer/"; + +//================= Search Customizaiton ========================================= + +function eva_idp_plan_reviewer_GetSearchParameter() { + var eva_idp_plan_reviewerSearchObject = new Object(); + eva_idp_plan_reviewerSearchObject.create_evaluation_detail_id = getUrlParameter("id"); + + return eva_idp_plan_reviewerSearchObject; +} + +function eva_idp_plan_reviewer_FeedDataToSearchForm(data) { + $("#s_eva_idp_plan_reviewer_create_evaluation_detail_id").val(data.create_evaluation_detail_id); + +} + +//================= Form Data Customizaiton ========================================= + +function eva_idp_plan_reviewer_FeedDataToForm(data) { + $("#eva_idp_plan_reviewer_id").val(data.id); + $("#eva_idp_plan_reviewer_create_evaluation_detail_id").val(data.create_evaluation_detail_id); + $("#eva_idp_plan_reviewer_develop").val(data.develop); + $("#eva_idp_plan_reviewer_development_method").val(data.development_method); + $("#eva_idp_plan_reviewer_start_date").val(formatDate(data.start_date)); + $("#eva_idp_plan_reviewer_end_date").val(formatDate(data.end_date)); + +} + +function eva_idp_plan_reviewer_GetFromForm() { + var eva_idp_plan_reviewerObject = new Object(); + eva_idp_plan_reviewerObject.id = $("#eva_idp_plan_reviewer_id").val(); + eva_idp_plan_reviewerObject.create_evaluation_detail_id = getUrlParameter("id"); + eva_idp_plan_reviewerObject.develop = $("#eva_idp_plan_reviewer_develop").val(); + eva_idp_plan_reviewerObject.development_method = $("#eva_idp_plan_reviewer_development_method").val(); + eva_idp_plan_reviewerObject.start_date = getDate($("#eva_idp_plan_reviewer_start_date").val()); + eva_idp_plan_reviewerObject.end_date = getDate($("#eva_idp_plan_reviewer_end_date").val()); + + + return eva_idp_plan_reviewerObject; +} + +function eva_idp_plan_reviewer_InitialForm(s) { + var successFunc = function (result) { + eva_idp_plan_reviewer_FeedDataToForm(result); + eva_idp_plan_reviewer_FeedDataToSearchForm(result); + if (s) { + // Incase model popup + $("#eva_idp_plan_reviewerModel").modal("show"); + } + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_idp_plan_reviewer_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Form Mode Setup and Flow ========================================= + +function eva_idp_plan_reviewer_GoCreate() { + // Incase model popup + eva_idp_plan_reviewer_SetCreateForm(true); + + // Incase open new page + //window_open(appsite + "/eva_idp_plan_reviewerView/eva_idp_plan_reviewer_d"); +} + +function eva_idp_plan_reviewer_GoEdit(a) { + // Incase model popup + eva_idp_plan_reviewer_SetEditForm(a); + + // Incase open new page + //window_open(appsite + "/eva_idp_plan_reviewerView/eva_idp_plan_reviewer_d?id=" + a); +} + +function eva_idp_plan_reviewer_SetEditForm(a) { + var successFunc = function (result) { + eva_idp_plan_reviewer_editMode = "UPDATE"; + eva_idp_plan_reviewer_FeedDataToForm(result); + $("#eva_idp_plan_reviewerModel").modal("show"); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_idp_plan_reviewer_API + a, successFunc, AlertDanger); +} + +function eva_idp_plan_reviewer_SetCreateForm(s) { + eva_idp_plan_reviewer_editMode = "CREATE"; + eva_idp_plan_reviewer_InitialForm(s); +} + +function eva_idp_plan_reviewer_RefreshTable() { + // Incase model popup + eva_idp_plan_reviewer_DoSearch(); + + // Incase open new page + //window.parent.eva_idp_plan_reviewer_DoSearch(); +} + +//================= Update and Delete ========================================= + +var eva_idp_plan_reviewer_customValidation = function (group) { + return ""; +}; + +function eva_idp_plan_reviewer_PutUpdate() { + if (!ValidateForm('eva_idp_plan_reviewer', eva_idp_plan_reviewer_customValidation)) { + return; + } + + var data = eva_idp_plan_reviewer_GetFromForm(); + + //Update Mode + if (eva_idp_plan_reviewer_editMode === "UPDATE") { + var successFunc1 = function (result) { + $("#eva_idp_plan_reviewerModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_idp_plan_reviewer_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + eva_idp_plan_reviewer_API + data.id, data, successFunc1, AlertDanger); + } + // Create mode + else { + var successFunc2 = function (result) { + $("#eva_idp_plan_reviewerModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_idp_plan_reviewer_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPostRequest(apisite + eva_idp_plan_reviewer_API, data, successFunc2, AlertDanger); + } +} + +function eva_idp_plan_reviewer_GoDelete(a) { + if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) { + var successFunc = function (result) { + $("#eva_idp_plan_reviewerModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_idp_plan_reviewer_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxDeleteRequest(apisite + eva_idp_plan_reviewer_API + a, null, successFunc, AlertDanger); + } +} + +//================= Data Table ========================================= + +var eva_idp_plan_reviewerTableV; + +var eva_idp_plan_reviewer_setupTable = function (result) { + tmp = '"'; + eva_idp_plan_reviewerTableV = $('#eva_idp_plan_reviewerTable').DataTable({ + "processing": true, + "serverSide": false, + "data": result, + //"select": { + // "style": 'multi' + //}, + "columns": [ + //{ "data": "" }, + //{ "data": "id" }, + { "data": "id" }, + //{ "data": "create_evaluation_detail_id" }, + { "data": "develop" }, + { "data": "development_method" }, + { "data": "txt_start_date" }, + { "data": "txt_end_date" }, + ], + "columnDefs": [ + { + "targets": 0, //1, + "data": "id", + "render": function (data, type, row, meta) { + return " "; + } + }, + //{ + // targets: 0, + // data: "", + // defaultContent: '', + // orderable: false, + // className: 'select-checkbox' + //} + ], + "language": { + "url": appsite + "/DataTables-1.10.16/thai.json" + }, + "paging": true, + "searching": false + }); + endLoad(); +}; + +function eva_idp_plan_reviewer_InitiateDataTable() { + startLoad(); + var p = $.param(eva_idp_plan_reviewer_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_idp_plan_reviewer/GetListBySearch?" + p, eva_idp_plan_reviewer_setupTable, AlertDanger); +} + +function eva_idp_plan_reviewer_DoSearch() { + var p = $.param(eva_idp_plan_reviewer_GetSearchParameter()); + var eva_idp_plan_reviewer_reload = function (result) { + eva_idp_plan_reviewerTableV.destroy(); + eva_idp_plan_reviewer_setupTable(result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_idp_plan_reviewer/GetListBySearch?" + p, eva_idp_plan_reviewer_reload, AlertDanger); +} + +function eva_idp_plan_reviewer_GetSelect(f) { + var eva_idp_plan_reviewer_selectitem = []; + $.each(eva_idp_plan_reviewerTableV.rows('.selected').data(), function (key, value) { + eva_idp_plan_reviewer_selectitem.push(value[f]); + }); + alert(eva_idp_plan_reviewer_selectitem); +} + +//================= File Upload ========================================= + + + +//================= Multi-Selection Function ========================================= + + + diff --git a/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js b/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js index 235f6d9..dccb113 100644 --- a/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js +++ b/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js @@ -170,7 +170,7 @@ var eva_limit_frame_employee_setupTable = function (result) { $.each(result, function (index_result, obj_result) { /*console.log("index_result", index_result); console.log("obj_result", obj_result);*/ - var digits = 2; + var digits = 3; var currency_salary = coreFormatPrice(obj_result.salary, digits); var currency_position_allowance = coreFormatPrice(obj_result.position_allowance, digits); var currency_monthly_remuneration = coreFormatPrice(obj_result.monthly_remuneration, digits); @@ -179,7 +179,7 @@ var eva_limit_frame_employee_setupTable = function (result) { obj_result.salary = currency_salary; obj_result.position_allowance = currency_position_allowance; obj_result.monthly_remuneration = currency_monthly_remuneration; - obj_result.currency_cost_of_living = currency_cost_of_living + obj_result.cost_of_living = currency_cost_of_living; /*console.log(obj_result);*/ }); diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js index 7936bf8..77c2c6f 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js @@ -1,5 +1,6 @@ var eva_limit_frame_group_editMode = "CREATE"; var eva_limit_frame_group_API = "/api/eva_limit_frame_group/"; +var limit_frame_group_digits = 3; //================= Search Customizaiton ========================================= @@ -157,6 +158,42 @@ function eva_limit_frame_group_GoDelete(a) { var eva_limit_frame_groupTableV; var eva_limit_frame_group_setupTable = function (result) { + let num_row = 1; + let sum_total_salary = 0; + let sum_total_salary_limit = 0; + let sum_total_salary_limit_rounded = 0; + let sum_emp_qty = 0; + $.each(result, function (index_result, obj_result) { + /*console.log("index_result", index_result); + console.log("obj_result", obj_result);*/ + + sum_total_salary += Number(obj_result.total_salary); + sum_total_salary_limit += Number(obj_result.total_salary_limit); + sum_total_salary_limit_rounded += Number(obj_result.total_salary_limit_rounded); + + var currency_total_salary = coreFormatPrice(obj_result.total_salary, limit_frame_group_digits); + var currency_total_salary_limit = coreFormatPrice(obj_result.total_salary_limit, limit_frame_group_digits); + var currency_total_salary_limit_rounded = coreFormatPrice(obj_result.total_salary_limit_rounded, limit_frame_group_digits); + + obj_result.total_salary = currency_total_salary; + obj_result.total_salary_limit = currency_total_salary_limit; + obj_result.total_salary_limit_rounded = currency_total_salary_limit_rounded; + obj_result.num_row = num_row; + obj_result.emp_qty = 0; + + sum_emp_qty += obj_result.emp_qty; + num_row++; + }); + + /*console.log("sum_total_salary", sum_total_salary); + console.log("sum_total_salary_limit", sum_total_salary_limit); + console.log("sum_total_salary_limit_rounded", sum_total_salary_limit_rounded); + console.log("sum_emp_qty", sum_emp_qty);*/ + $("#sum_total_salary").text(coreFormatPrice(sum_total_salary, limit_frame_group_digits)); + $("#sum_total_salary_limit").text(coreFormatPrice(sum_total_salary_limit, limit_frame_group_digits)); + $("#sum_total_salary_limit_rounded").text(coreFormatPrice(sum_total_salary_limit_rounded, limit_frame_group_digits)); + $("#sum_emp_qty").text(sum_emp_qty); + tmp = '"'; eva_limit_frame_groupTableV = $('#eva_limit_frame_groupTable').DataTable({ "processing": true, @@ -166,13 +203,14 @@ var eva_limit_frame_group_setupTable = function (result) { // "style": 'multi' //}, "columns": [ - //{ "data": "" }, { "data": "id" }, + { "data": "num_row" }, { "data": "group_guid_eva_evaluation_group_code" }, - { "data": "limit_frame_295" }, { "data": "total_salary" }, + { "data": "limit_frame_295" }, { "data": "total_salary_limit" }, { "data": "total_salary_limit_rounded" }, + { "data": "emp_qty" }, { "data": "remark_formatted" }, ], "columnDefs": [ diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js index a8d7cb7..44f895c 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js @@ -4,13 +4,14 @@ var eva_limit_frame_group_API = "/api/eva_limit_frame_group/"; //================= Form Data Customizaiton ========================================= function eva_limit_frame_group_FeedDataToForm(data) { + var digits = 3; $("#eva_limit_frame_group_id").val(data.id); $("#eva_limit_frame_group_frame_plan_guid").val(data.frame_plan_guid); DropDownClearFormAndFeedWithData($("#eva_limit_frame_group_group_guid"), data, "id", "thegroup", "item_group_guid", data.group_guid); $("#eva_limit_frame_group_limit_frame_295").val(data.limit_frame_295); - $("#eva_limit_frame_group_total_salary").val(data.total_salary); - $("#eva_limit_frame_group_total_salary_limit").val(data.total_salary_limit); - $("#eva_limit_frame_group_total_salary_limit_rounded").val(data.total_salary_limit_rounded); + $("#eva_limit_frame_group_total_salary").val(coreFormatPrice(data.total_salary, digits)); + $("#eva_limit_frame_group_total_salary_limit").val(coreFormatPrice(data.total_salary_limit, digits)); + $("#eva_limit_frame_group_total_salary_limit_rounded").val(coreFormatPrice(data.total_salary_limit_rounded, digits)); $("#eva_limit_frame_group_remark").val(data.remark); } @@ -72,6 +73,7 @@ function eva_limit_frame_group_PutUpdate() { if (eva_limit_frame_group_editMode === "UPDATE") { var successFunc1 = function (result) { AlertSuccess(result.code + " " + result.message); + window.location.reload(); endLoad(); }; startLoad(); @@ -110,6 +112,7 @@ function funcCeilCalculateSalaryLimit(params) { console.log("params", params); var input_id = params.srcElement.id; var val_input = params.srcElement.value; + var digits = 3; var num_check = 10; var val_divine = 100; var val_decimal = 0; @@ -117,20 +120,21 @@ function funcCeilCalculateSalaryLimit(params) { if (val_input) { val_decimal = Number(parseFloat(val_input)); } - var val_salary = Number($("#eva_limit_frame_group_total_salary").val()); + var val_salary = coreCurrencyToDecimal($("#eva_limit_frame_group_total_salary").val()); var cal_divine_salary = Number(((val_salary * val_decimal) / val_divine).toFixed(3)); - $("#eva_limit_frame_group_total_salary_limit").val(cal_divine_salary.toFixed(3)); + $("#eva_limit_frame_group_total_salary_limit").val(coreFormatPrice(cal_divine_salary, digits)); var cal_ceil = Math.ceil(cal_divine_salary); console.log("cal_ceil", cal_ceil); var str_ceil = cal_ceil.toString(); var split_ceil = str_ceil.split(''); var num_last = Number(split_ceil[split_ceil.length - 1]); + console.log(num_last); if (num_last) { after_cal = num_check - num_last; } var set_salary_limit_rounded = cal_ceil + after_cal; /*console.log("set_salary_limit_rounded", set_salary_limit_rounded);*/ - $("#eva_limit_frame_group_total_salary_limit_rounded").val(set_salary_limit_rounded.toFixed(3)); + $("#eva_limit_frame_group_total_salary_limit_rounded").val(coreFormatPrice(set_salary_limit_rounded, digits)); } diff --git a/wwwroot/js/eva_performance_plan/eva_performance_plan.js b/wwwroot/js/eva_performance_plan/eva_performance_plan.js index d80104e..250c6e6 100644 --- a/wwwroot/js/eva_performance_plan/eva_performance_plan.js +++ b/wwwroot/js/eva_performance_plan/eva_performance_plan.js @@ -5,33 +5,33 @@ var eva_performance_plan_API = "/api/eva_performance_plan/"; function eva_performance_plan_GetSearchParameter() { var eva_performance_planSearchObject = new Object(); -eva_performance_planSearchObject.fiscal_year = $("#s_eva_performance_plan_fiscal_year").val(); -eva_performance_planSearchObject.theTime = $("#s_eva_performance_plan_theTime").val(); + eva_performance_planSearchObject.fiscal_year = $("#s_eva_performance_plan_fiscal_year").val(); + eva_performance_planSearchObject.theTime = $("#s_eva_performance_plan_theTime").val(); return eva_performance_planSearchObject; } function eva_performance_plan_FeedDataToSearchForm(data) { -$("#s_eva_performance_plan_fiscal_year").val(data.fiscal_year); -$("#s_eva_performance_plan_theTime").val(data.theTime); + $("#s_eva_performance_plan_fiscal_year").val(data.fiscal_year); + $("#s_eva_performance_plan_theTime").val(data.theTime); } //================= Form Data Customizaiton ========================================= function eva_performance_plan_FeedDataToForm(data) { -$("#eva_performance_plan_id").val(data.id); -$("#eva_performance_plan_fiscal_year").val(data.fiscal_year); -$("#eva_performance_plan_theTime").val(data.theTime); - + $("#eva_performance_plan_id").val(data.id); + $("#eva_performance_plan_fiscal_year").val(data.fiscal_year); + $("#eva_performance_plan_theTime").val(data.theTime); + $("#eva_performance_plan_percent").val(data.percent); } function eva_performance_plan_GetFromForm() { var eva_performance_planObject = new Object(); -eva_performance_planObject.id = $("#eva_performance_plan_id").val(); -eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); -eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); - + eva_performance_planObject.id = $("#eva_performance_plan_id").val(); + eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); + eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); + eva_performance_planObject.percent = $("#eva_performance_plan_percent").val(); return eva_performance_planObject; } @@ -39,14 +39,14 @@ eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); function eva_performance_plan_InitialForm(s) { var successFunc = function (result) { eva_performance_plan_FeedDataToForm(result); - eva_performance_plan_FeedDataToSearchForm(result); + eva_performance_plan_FeedDataToSearchForm(result); if (s) { // Incase model popup $("#eva_performance_planModel").modal("show"); } - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + "GetBlankItem", successFunc, AlertDanger); } @@ -73,15 +73,15 @@ function eva_performance_plan_SetEditForm(a) { eva_performance_plan_editMode = "UPDATE"; eva_performance_plan_FeedDataToForm(result); $("#eva_performance_planModel").modal("show"); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + a, successFunc, AlertDanger); } function eva_performance_plan_SetCreateForm(s) { eva_performance_plan_editMode = "CREATE"; - eva_performance_plan_InitialForm(s); + eva_performance_plan_InitialForm(s); } function eva_performance_plan_RefreshTable() { @@ -99,8 +99,7 @@ var eva_performance_plan_customValidation = function (group) { }; function eva_performance_plan_PutUpdate() { - if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) - { + if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) { return; } @@ -112,9 +111,9 @@ function eva_performance_plan_PutUpdate() { $("#eva_performance_planModel").modal("hide"); AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_performance_plan_API + data.id, data, successFunc1, AlertDanger); } // Create mode @@ -123,9 +122,9 @@ function eva_performance_plan_PutUpdate() { $("#eva_performance_planModel").modal("hide"); AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_performance_plan_API, data, successFunc2, AlertDanger); } } @@ -136,9 +135,9 @@ function eva_performance_plan_GoDelete(a) { $("#eva_performance_planModel").modal("hide"); AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_performance_plan_API + a, null, successFunc, AlertDanger); } } @@ -148,16 +147,17 @@ function eva_performance_plan_GoDelete(a) { var eva_performance_planTableV; var eva_performance_plan_setupTable = function (result) { - tmp = '"'; + tmp = '"'; eva_performance_planTableV = $('#eva_performance_planTable').DataTable({ "processing": true, "serverSide": false, "data": result, - "select": false, + "select": false, "columns": [ - { "data": "id" }, - { "data": "fiscal_year" }, - { "data": "theTime" }, + { "data": "id" }, + { "data": "fiscal_year" }, + { "data": "theTime" }, + { "data": "percent" }, ], "columnDefs": [ { @@ -171,13 +171,13 @@ var eva_performance_plan_setupTable = function (result) { "url": appsite + "/DataTables-1.10.16/thai.json" }, "paging": true, - "searching": false + "searching": false }); - endLoad(); + endLoad(); }; function eva_performance_plan_InitiateDataTable() { - startLoad(); + startLoad(); AjaxGetRequest(apisite + "/api/eva_performance_plan/GetListBySearch", eva_performance_plan_setupTable, AlertDanger); } @@ -186,10 +186,10 @@ function eva_performance_plan_DoSearch() { var eva_performance_plan_reload = function (result) { eva_performance_planTableV.destroy(); eva_performance_plan_setupTable(result); - endLoad(); + endLoad(); }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_performance_plan/GetListBySearch?"+p, eva_performance_plan_reload, AlertDanger); + startLoad(); + AjaxGetRequest(apisite + "/api/eva_performance_plan/GetListBySearch?" + p, eva_performance_plan_reload, AlertDanger); } function eva_performance_plan_GetSelect(f) { diff --git a/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js b/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js index aa32e75..272e5a0 100644 --- a/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js +++ b/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js @@ -4,18 +4,18 @@ var eva_performance_plan_API = "/api/eva_performance_plan/"; //================= Form Data Customizaiton ========================================= function eva_performance_plan_FeedDataToForm(data) { -$("#eva_performance_plan_id").val(data.id); -$("#eva_performance_plan_fiscal_year").val(data.fiscal_year); -$("#eva_performance_plan_theTime").val(data.theTime); - + $("#eva_performance_plan_id").val(data.id); + $("#eva_performance_plan_fiscal_year").val(data.fiscal_year); + $("#eva_performance_plan_theTime").val(data.theTime); + $("#eva_performance_plan_percent").val(data.percent); } function eva_performance_plan_GetFromForm() { var eva_performance_planObject = new Object(); -eva_performance_planObject.id = $("#eva_performance_plan_id").val(); -eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); -eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); - + eva_performance_planObject.id = $("#eva_performance_plan_id").val(); + eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); + eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); + eva_performance_planObject.percent = $("#eva_performance_plan_percent").val(); return eva_performance_planObject; } @@ -23,9 +23,9 @@ eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); function eva_performance_plan_InitialForm() { var successFunc = function (result) { eva_performance_plan_FeedDataToForm(result); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + "GetBlankItem", successFunc, AlertDanger); } @@ -35,15 +35,15 @@ function eva_performance_plan_SetEditForm(a) { var successFunc = function (result) { eva_performance_plan_editMode = "UPDATE"; eva_performance_plan_FeedDataToForm(result); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + a, successFunc, AlertDanger); } function eva_performance_plan_SetCreateForm() { eva_performance_plan_editMode = "CREATE"; - eva_performance_plan_InitialForm(); + eva_performance_plan_InitialForm(); } //================= Update and Delete ========================================= @@ -53,8 +53,7 @@ var eva_performance_plan_customValidation = function (group) { }; function eva_performance_plan_PutUpdate() { - if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) - { + if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) { return; } var data = eva_performance_plan_GetFromForm(); @@ -63,18 +62,18 @@ function eva_performance_plan_PutUpdate() { if (eva_performance_plan_editMode === "UPDATE") { var successFunc1 = function (result) { AlertSuccess(result.message); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_performance_plan_API + data.id, data, successFunc1, AlertDanger); } // Create mode else { var successFunc2 = function (result) { AlertSuccess(result.message); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_performance_plan_API, data, successFunc2, AlertDanger); } } @@ -84,9 +83,9 @@ function eva_performance_plan_GoDelete(a) { var successFunc = function (result) { AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_performance_plan_API + a, null, successFunc, AlertDanger); } } diff --git a/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js b/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js index b3b9deb..3886e56 100644 --- a/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js +++ b/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js @@ -21,17 +21,13 @@ function eva_salary_cylinder_FeedDataToForm(data) { $("#eva_salary_cylinder_id").val(data.id); DropDownClearFormAndFeedWithData($("#eva_salary_cylinder_position_type"), data, "id", "external_name", "item_position_type", data.position_type); DropDownClearFormAndFeedWithData($("#eva_salary_cylinder_position_level"), data, "id", "external_name", "item_position_level", data.position_level); - // $("#eva_salary_cylinder_temporary_min").val(data.temporary_min); - // $("#eva_salary_cylinder_themin").val(data.themin); - // $("#eva_salary_cylinder_themax").val(data.themax); - // $("#eva_salary_cylinder_middle").val(data.middle); - // $("#eva_salary_cylinder_cost_living").val(data.cost_living); - $("#eva_salary_cylinder_temporary_min").maskMoney('mask',data.temporary_min); - $("#eva_salary_cylinder_themin").maskMoney('mask',data.themin); - $("#eva_salary_cylinder_themax").maskMoney('mask',data.themax); - $("#eva_salary_cylinder_middle").maskMoney('mask',data.middle); - $("#eva_salary_cylinder_cost_living").maskMoney('mask',data.cost_living); - + $("#eva_salary_cylinder_temporary_min").val(data.temporary_min); + $("#eva_salary_cylinder_themin").val(data.themin); + $("#eva_salary_cylinder_themax").val(data.themax); + $("#eva_salary_cylinder_middle").val(data.middle); + $("#eva_salary_cylinder_cost_living").val(data.cost_living); + $("#eva_salary_cylinder_position_allowance").val(data.position_allowance); + $("#eva_salary_cylinder_monthly_compensation").val(data.monthly_compensation); } function eva_salary_cylinder_GetFromForm() { @@ -39,12 +35,13 @@ function eva_salary_cylinder_GetFromForm() { eva_salary_cylinderObject.id = $("#eva_salary_cylinder_id").val(); eva_salary_cylinderObject.position_type = $("#eva_salary_cylinder_position_type").val(); eva_salary_cylinderObject.position_level = $("#eva_salary_cylinder_position_level").val(); - eva_salary_cylinderObject.temporary_min = $("#eva_salary_cylinder_temporary_min").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.themin = $("#eva_salary_cylinder_themin").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.themax = $("#eva_salary_cylinder_themax").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.middle = $("#eva_salary_cylinder_middle").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.cost_living = $("#eva_salary_cylinder_cost_living").val().replace(/[,-]/g,''); - + eva_salary_cylinderObject.temporary_min = $("#eva_salary_cylinder_temporary_min").val(); + eva_salary_cylinderObject.themin = $("#eva_salary_cylinder_themin").val(); + eva_salary_cylinderObject.themax = $("#eva_salary_cylinder_themax").val(); + eva_salary_cylinderObject.middle = $("#eva_salary_cylinder_middle").val(); + eva_salary_cylinderObject.cost_living = $("#eva_salary_cylinder_cost_living").val(); + eva_salary_cylinderObject.position_allowance = $("#eva_salary_cylinder_position_allowance").val(); + eva_salary_cylinderObject.monthly_compensation = $("#eva_salary_cylinder_monthly_compensation").val(); return eva_salary_cylinderObject; } @@ -117,6 +114,7 @@ function eva_salary_cylinder_PutUpdate() { } var data = eva_salary_cylinder_GetFromForm(); + console.log(data); //Update Mode if (eva_salary_cylinder_editMode === "UPDATE") { @@ -175,7 +173,8 @@ var eva_salary_cylinder_setupTable = function (result) { { "data": "themin" }, { "data": "themax" }, { "data": "middle" }, - { "data": "cost_living" }, + { "data": "position_allowance" }, + { "data": "monthly_compensation" }, ], "columnDefs": [ { @@ -213,9 +212,23 @@ var eva_salary_cylinder_setupTable = function (result) { return formatNumber(data); } }, + //{ + // "targets": 7, + // "data": "cost_living", + // "render": function (data, type, row, meta) { + // return formatNumber(data); + // } + //}, { "targets": 7, - "data": "cost_living", + "data": "position_allowance", + "render": function (data, type, row, meta) { + return formatNumber(data); + } + }, + { + "targets": 8, + "data": "monthly_compensation", "render": function (data, type, row, meta) { return formatNumber(data); } diff --git a/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js b/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js index 24eec32..9bcdba4 100644 --- a/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js +++ b/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js @@ -1,5 +1,6 @@ var vw_limit_frame_plan_editMode = "CREATE"; var vw_limit_frame_plan_API = "/api/vw_limit_frame_plan/"; +var limit_frame_digits = 3; //================= Form Data Customizaiton ========================================= @@ -7,12 +8,14 @@ function vw_limit_frame_plan_FeedDataToForm(data) { $("#vw_limit_frame_plan_id").val(data.id); DropDownClearFormAndFeedWithData($("#vw_limit_frame_plan_plan_guid"), data, "id", "display_text", "item_plan_guid", data.plan_guid); $("#vw_limit_frame_plan_executed_date").val(formatDate(data.executed_date)); - $("#vw_limit_frame_plan_limit_frame_005").val(data.limit_frame_005); + $("#vw_limit_frame_plan_limit_frame_005").val(data.limit_frame_005.toFixed(limit_frame_digits)); $("#vw_limit_frame_plan_salary_adjustment_date").val(formatDate(data.salary_adjustment_date)); - $("#vw_limit_frame_plan_total_salary").val(data.total_salary); - $("#vw_limit_frame_plan_limit_frame_005_total").val(data.limit_frame_005_total); - $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(data.limit_frame_005_total_rounded); + $("#vw_limit_frame_plan_total_salary").val(coreFormatPrice(data.total_salary, limit_frame_digits)); + $("#vw_limit_frame_plan_limit_frame_005_total").val(coreFormatPrice(data.limit_frame_005_total, limit_frame_digits)); + $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(coreFormatPrice(data.limit_frame_005_total_rounded, limit_frame_digits)); + // สำหรับ แสดง กันวงเงินร้อยละ ใช้จริง + changeForRealLimitFrame(); } function vw_limit_frame_plan_GetFromForm() { @@ -107,3 +110,47 @@ function vw_limit_frame_plan_GoDelete(a) { //================= Multi-Selection Function ========================================= +function changeDigitsLimitFrame() { + var val_limit_frame_005 = $("#vw_limit_frame_plan_limit_frame_005").val(); + if (val_limit_frame_005) { + var round_value = Math.round(val_limit_frame_005 * 1000) / 1000; + $("#vw_limit_frame_plan_limit_frame_005").val(round_value.toFixed(3)); + } +} + + +function funcCalculateCeilTotalRoundedLimitFramePlan(params) { + var val_input = params.srcElement.value; + var num_check = 10; + var val_divine = 100; + var val_decimal = 0; + var after_cal = 0; + if (val_input) { + val_decimal = parseFloat(val_input); + } + var val_salary = coreCurrencyToDecimal($("#vw_limit_frame_plan_total_salary").val()); + var cal_divine_salary = Number(((val_salary * val_decimal) / val_divine).toFixed(limit_frame_digits)); + $("#vw_limit_frame_plan_limit_frame_005_total").val(coreFormatPrice(cal_divine_salary, limit_frame_digits)); + var cal_ceil = Math.ceil(cal_divine_salary); + var str_ceil = cal_ceil.toString(); + var split_ceil = str_ceil.split(''); + var num_last = Number(split_ceil[split_ceil.length - 1]); + if (num_last) { + after_cal = num_check - num_last; + } + var set_salary_limit_rounded = cal_ceil + after_cal; + $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(coreFormatPrice(set_salary_limit_rounded, limit_frame_digits)); +} + + +function changeForRealLimitFrame() { + let val_input_limit_frame = $("#vw_limit_frame_plan_limit_frame_005").val(); + let real_limit_frame = 0; + if (val_input_limit_frame) { + real_limit_frame = Number(val_input_limit_frame); + } + real_limit_frame = real_limit_frame.toFixed(2); + /*console.log(real_limit_frame);*/ + $("#text_real_limit_frame").text("กันวงเงินร้อยละ " + real_limit_frame + " ใช้จริง"); + return real_limit_frame; +} \ No newline at end of file