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 6241fcf..895fcf7 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 @@ -149,8 +149,23 @@ namespace TodoAPI2.Models return ""; } + private (decimal?, decimal?) GetRangePercentage(List level_detail, decimal? score) + { + var item = (from i in level_detail + where i.min_value <= score && i.max_value >= score + select i).FirstOrDefault(); + if(item != null) + { + return (item.min_percentage, item.max_percentage); + } + return (-100, 100); + } + public List GetListBySearch(eva_adjust_postponement_detail_normal_02SearchModel model) { + var level_detail = (from i in _repository.Context.eva_level_score_detail + select i).ToList(); + var all_emp = emp.GetListByemployee_type(null, null); var endDate = (from m_eva_adjust_postponement_detail_normal_02 in _repository.Context.eva_adjust_postponement_detail @@ -255,6 +270,9 @@ namespace TodoAPI2.Models salary_max = fk_external_linkageResult2.salary_max, themax = fk_external_linkageResult2.themax, + min_percentage = GetRangePercentage(level_detail, 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).Item1, + max_percentage = GetRangePercentage(level_detail, 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).Item2, + isActive = m_eva_adjust_postponement_detail_normal_02.isActive, Created = m_eva_adjust_postponement_detail_normal_02.created, Updated = m_eva_adjust_postponement_detail_normal_02.updated diff --git a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02ViewModel.cs b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02ViewModel.cs index 4c26d6f..cbfc0fa 100644 --- a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02ViewModel.cs +++ b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02ViewModel.cs @@ -67,5 +67,9 @@ namespace TodoAPI2.Models public decimal? reward_old { get; set; } public decimal? reward_new { get; set; } + + public decimal? min_percentage { get; set; } + + public decimal? max_percentage { get; set; } } } \ No newline at end of file diff --git a/Models/eva_level_score_detail/eva_level_score_detailService.cs b/Models/eva_level_score_detail/eva_level_score_detailService.cs index 35868dc..6753c86 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailService.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailService.cs @@ -110,7 +110,7 @@ namespace TodoAPI2.Models && (m_eva_level_score_detail.level_score_id == model.level_score_id) - orderby m_eva_level_score_detail.created descending + orderby m_eva_level_score_detail.min_value descending select new eva_level_score_detailViewModel() { id = m_eva_level_score_detail.id, 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 1ee39ef..dd16ce3 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 @@ -26,6 +26,9 @@ $("#eva_adjust_postponement_detail_normal_02_reward_old_" + i).text(""); $("#eva_adjust_postponement_detail_normal_02_reward_new_" + i).text(""); + + $("#min_percentage_" + i).val(""); + $("#max_percentage_" + i).val(""); } function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankItem) { @@ -72,6 +75,8 @@ function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankI $("#eva_adjust_postponement_detail_normal_02_reward_new_" + i).text(formatNumber2(data.reward_new, 3)); $("#themax_" + i).val(data.themax); + $("#min_percentage_" + i).val(data.min_percentage); + $("#max_percentage_" + i).val(data.max_percentage); } function eva_adjust_postponement_detail_normal_02_GetFromForm(obj, i) { @@ -139,7 +144,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { } tag += ''; - tag += ''; + tag += ''; tag += '

'; tag += '

'; tag += '

'; @@ -243,4 +248,6 @@ function eva_adjust_postponement_detail_normal_02_InitialForm(id) { }; startLoad(); AjaxGetRequest(apisite + "/api/eva_adjust_postponement_detail_normal_02/" + "GetBlankItem", successFunc, AlertDanger); -} \ No newline at end of file +} + + 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 df927de..60f43ee 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 @@ -162,6 +162,20 @@ function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(m var salary_max = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_salary_max_" + i).text().replace(/[,-]/g, '')); var themax = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_themax_" + i).text().replace(/[,-]/g, '')); + var min_percentage = $("#min_percentage_" + i).val(); + var max_percentage = $("#max_percentage_" + i).val(); + + if (percentage > 0 && percentage < min_percentage) { + alert("ร้อยละที่ได้เลื่อน น้อยกว่า เกณฑ์ที่กำหนด (" + min_percentage + " - " + max_percentage + ")\nกรุณาระบุร้อยละที่ได้เลื่อน อีกครั้ง"); + percentage = 0.000; + $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val("0.000"); + } + if (percentage > 0 && percentage > max_percentage) { + alert("ร้อยละที่ได้เลื่อน มากกว่า เกณฑ์ที่กำหนด (" + min_percentage + " - " + max_percentage + ")\nกรุณาระบุร้อยละที่ได้เลื่อน อีกครั้ง"); + percentage = 0.000; + $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val("0.000"); + } + 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;