From 42e1878aa81e7668bd53276ef3d94c6b47c70927 Mon Sep 17 00:00:00 2001 From: nakorn Date: Sun, 1 May 2022 12:20:21 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=AD=E0=B8=99=E0=B8=B8=E0=B8=A1=E0=B8=B1?= =?UTF-8?q?=E0=B8=95=E0=B8=B4=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=AA=E0=B9=88?= =?UTF-8?q?=E0=B8=87=E0=B8=95=E0=B9=88=E0=B8=AD=20=E0=B8=81=E0=B8=B2?= =?UTF-8?q?=E0=B8=A3=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B9=80=E0=B8=A5?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=20=E0=B8=84=E0=B9=88?= =?UTF-8?q?=E0=B8=B2=E0=B8=95=E0=B8=AD=E0=B8=9A=E0=B9=81=E0=B8=97=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...t_postponement_update_statusControllers.cs | 230 +++ ...eva_adjust_postponement_update_status.xlsx | Bin 0 -> 10430 bytes ...01044125_AddPostponementStatus.Designer.cs | 1257 +++++++++++++++++ .../20220501044125_AddPostponementStatus.cs | 92 ++ Migrations/DataContextModelSnapshot.cs | 22 + .../eva_adjust_postponementEntity.cs | 18 + ...djust_postponement_update_statusService.cs | 31 + ...st_postponement_update_statusInputModel.cs | 30 + ...onement_update_statusReportRequestModel.cs | 21 + ...t_postponement_update_statusSearchModel.cs | 23 + ...djust_postponement_update_statusService.cs | 239 ++++ ...ust_postponement_update_statusViewModel.cs | 31 + ...ent_update_statusWithSelectionViewModel.cs | 14 + .../Iexternal_linkageService.cs | 1 + .../external_linkageService.cs | 25 + Startup.cs | 6 + .../eva_adjust_postponement_normal_d.cshtml | 54 + ...a_adjust_postponement_update_status.cshtml | 120 ++ tb320eva.csproj | 2 + tb320eva.xml | 61 + .../eva_adjust_postponement_update_status.js | 226 +++ 21 files changed, 2503 insertions(+) create mode 100644 ApiControllers/eva_adjust_postponement_update_statusControllers.cs create mode 100644 EXCEL/eva_adjust_postponement@eva_adjust_postponement_update_status.xlsx create mode 100644 Migrations/20220501044125_AddPostponementStatus.Designer.cs create mode 100644 Migrations/20220501044125_AddPostponementStatus.cs create mode 100644 Models/eva_adjust_postponement_update_status/Ieva_adjust_postponement_update_statusService.cs create mode 100644 Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusInputModel.cs create mode 100644 Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusReportRequestModel.cs create mode 100644 Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusSearchModel.cs create mode 100644 Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusService.cs create mode 100644 Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusViewModel.cs create mode 100644 Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusWithSelectionViewModel.cs create mode 100644 Views/eva_adjust_postponement_update_statusView/eva_adjust_postponement_update_status.cshtml create mode 100644 wwwroot/js/eva_adjust_postponement_update_status/eva_adjust_postponement_update_status.js diff --git a/ApiControllers/eva_adjust_postponement_update_statusControllers.cs b/ApiControllers/eva_adjust_postponement_update_statusControllers.cs new file mode 100644 index 0000000..45945f4 --- /dev/null +++ b/ApiControllers/eva_adjust_postponement_update_statusControllers.cs @@ -0,0 +1,230 @@ +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_adjust_postponement_update_status")] + public class eva_adjust_postponement_update_statusController : BaseController + { + #region Private Variables + private ILogger _logger; + private Ieva_adjust_postponement_update_statusService _repository; + private Iexternal_employeeService emp; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_adjust_postponement_update_statusController(ILogger logger, + Ieva_adjust_postponement_update_statusService repository, IConfiguration configuration, + Iexternal_employeeService inemp) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + emp = inemp; + } + + /// + /// Get specific item by id + /// + /// + /// + /// Return Get specific item by id + /// Returns the item + /// Error Occurred + [HttpGet("{id}")] + [ProducesResponseType(typeof(eva_adjust_postponement_update_statusWithSelectionViewModel), 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_adjust_postponement_update_statusWithSelectionViewModel), 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 postponement_status_note + /// + /// + /// + /// 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(string postponement_status_note) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBypostponement_status_note(postponement_status_note)); + } + 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_adjust_postponement_update_statusSearchModel 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}"); + } + } + + + /// + /// 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_adjust_postponement_update_statusInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + + int? e = null; + + if (!string.IsNullOrEmpty(HttpContext.Request.Cookies["user_id"])) + { + var loginid = Convert.ToInt32(HttpContext.Request.Cookies["user_id"]); + var theEmp = emp.GetEmployeeForLogin(Convert.ToInt32(loginid)); + if(theEmp != null) + { + e = theEmp.id; + } + else + { + return Unauthorized(); + } + } + else + { + return Unauthorized(); + } + + var result = _repository.Update(id, model, true, e); + 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); + } + + + } +} diff --git a/EXCEL/eva_adjust_postponement@eva_adjust_postponement_update_status.xlsx b/EXCEL/eva_adjust_postponement@eva_adjust_postponement_update_status.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d53111b28475160ea8db9ffd50900961c7226178 GIT binary patch literal 10430 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 +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("20220501044125_AddPostponementStatus")] + partial class AddPostponementStatus + { + 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(32000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(32000); + + 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("postponement_status") + .HasMaxLength(5); + + b.Property("postponement_status_by") + .HasMaxLength(255); + + b.Property("postponement_status_date"); + + b.Property("postponement_status_note") + .HasMaxLength(1000); + + b.Property("quota_status") + .HasMaxLength(5); + + b.Property("quota_status_by") + .HasMaxLength(255); + + b.Property("quota_status_date"); + + b.Property("quota_status_note") + .HasMaxLength(1000); + + 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("reward_new"); + + b.Property("reward_new2"); + + b.Property("reward_old"); + + 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("supervisor3_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_competency_supervisor3A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("Final_summary_supervisor3A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("achievement_supervisor3A"); + + 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("competency_supervisor3A"); + + 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("level_score_supervisor3A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("score_supervisor3A"); + + 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_supervisor3A") + .HasMaxLength(1); + + b.Property("status_supervisor3A_click_date"); + + b.Property("status_supervisor_a") + .HasMaxLength(1); + + b.Property("status_supervisor_a_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("supervisor3A"); + + b.Property("supervisor3A_date"); + + b.Property("supervisor3A_remark") + .HasMaxLength(1000); + + b.Property("supervisor3A_result") + .HasMaxLength(1); + + b.Property("supervisor3_id"); + + 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_competency_supervisor3A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("total_summary_supervisor3A"); + + 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("history_group"); + + 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(16000); + + b.Property("achievement_line1") + .HasMaxLength(16000); + + 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_achievement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_detail") + .HasMaxLength(16000); + + b.Property("achievement_id"); + + b.Property("achievement_order"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(16000); + + 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_level_score_detailEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_percentage"); + + b.Property("max_value"); + + b.Property("min_percentage"); + + b.Property("min_value"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("group_guid"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_level_score_detail"); + }); + + 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("remark2") + .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("end_leave"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("remark") + .HasMaxLength(500); + + b.Property("start_leave"); + + 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("salary_max"); + + 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_setup_permissionEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_setup_permission"); + }); + + 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_achievement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement") + .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_level_score_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score_level_score_id") + .WithMany() + .HasForeignKey("level_score_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/20220501044125_AddPostponementStatus.cs b/Migrations/20220501044125_AddPostponementStatus.cs new file mode 100644 index 0000000..805c6d5 --- /dev/null +++ b/Migrations/20220501044125_AddPostponementStatus.cs @@ -0,0 +1,92 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddPostponementStatus : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "postponement_status", + table: "eva_adjust_postponement", + maxLength: 5, + nullable: true); + + migrationBuilder.AddColumn( + name: "postponement_status_by", + table: "eva_adjust_postponement", + maxLength: 255, + nullable: true); + + migrationBuilder.AddColumn( + name: "postponement_status_date", + table: "eva_adjust_postponement", + nullable: true); + + migrationBuilder.AddColumn( + name: "postponement_status_note", + table: "eva_adjust_postponement", + maxLength: 1000, + nullable: true); + + migrationBuilder.AddColumn( + name: "quota_status", + table: "eva_adjust_postponement", + maxLength: 5, + nullable: true); + + migrationBuilder.AddColumn( + name: "quota_status_by", + table: "eva_adjust_postponement", + maxLength: 255, + nullable: true); + + migrationBuilder.AddColumn( + name: "quota_status_date", + table: "eva_adjust_postponement", + nullable: true); + + migrationBuilder.AddColumn( + name: "quota_status_note", + table: "eva_adjust_postponement", + maxLength: 1000, + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "postponement_status", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "postponement_status_by", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "postponement_status_date", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "postponement_status_note", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "quota_status", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "quota_status_by", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "quota_status_date", + table: "eva_adjust_postponement"); + + migrationBuilder.DropColumn( + name: "quota_status_note", + table: "eva_adjust_postponement"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 712c9d2..f275b44 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -90,6 +90,28 @@ namespace tb320eva.Migrations b.Property("percentage"); + b.Property("postponement_status") + .HasMaxLength(5); + + b.Property("postponement_status_by") + .HasMaxLength(255); + + b.Property("postponement_status_date"); + + b.Property("postponement_status_note") + .HasMaxLength(1000); + + b.Property("quota_status") + .HasMaxLength(5); + + b.Property("quota_status_by") + .HasMaxLength(255); + + b.Property("quota_status_date"); + + b.Property("quota_status_note") + .HasMaxLength(1000); + b.Property("report_type") .HasMaxLength(1000); diff --git a/Models/eva_adjust_postponement/eva_adjust_postponementEntity.cs b/Models/eva_adjust_postponement/eva_adjust_postponementEntity.cs index e14bee5..5c7e296 100644 --- a/Models/eva_adjust_postponement/eva_adjust_postponementEntity.cs +++ b/Models/eva_adjust_postponement/eva_adjust_postponementEntity.cs @@ -58,5 +58,23 @@ namespace TodoAPI2.Models public string report_type { get; set; } public DateTime? imported_date { get; set; } + + [MaxLength(5)] + public string postponement_status { get; set; } + + public DateTime? postponement_status_date { get; set; } + [MaxLength(255)] + public int? postponement_status_by { get; set; } + [MaxLength(1000)] + public string postponement_status_note { get; set; } + + [MaxLength(5)] + public string quota_status { get; set; } + + public DateTime? quota_status_date { get; set; } + [MaxLength(255)] + public int? quota_status_by { get; set; } + [MaxLength(1000)] + public string quota_status_note { get; set; } } } diff --git a/Models/eva_adjust_postponement_update_status/Ieva_adjust_postponement_update_statusService.cs b/Models/eva_adjust_postponement_update_status/Ieva_adjust_postponement_update_statusService.cs new file mode 100644 index 0000000..b05265a --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/Ieva_adjust_postponement_update_statusService.cs @@ -0,0 +1,31 @@ +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_adjust_postponement_update_statusService + { + + new eva_adjust_postponement_update_statusViewModel Update(int id, eva_adjust_postponement_update_statusInputModel model, bool is_force_save, int? updateby); + List GetListBypostponement_status_note(string postponement_status_note); + List GetListBySearch(eva_adjust_postponement_update_statusSearchModel model); + + + eva_adjust_postponement_update_statusWithSelectionViewModel GetWithSelection(int id); + eva_adjust_postponement_update_statusWithSelectionViewModel GetBlankItem(); + + eva_adjust_postponementEntity GetEntity(int id); + DataContext GetContext(); + + + + } +} + diff --git a/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusInputModel.cs b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusInputModel.cs new file mode 100644 index 0000000..824edf0 --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusInputModel.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_adjust_postponement_update_statusInputModel + { + + public int? id { get; set; } + + public string postponement_status { get; set; } + + public DateTime? postponement_status_date { get; set; } + + public int? postponement_status_by { get; set; } + + public string postponement_status_note { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusReportRequestModel.cs b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusReportRequestModel.cs new file mode 100644 index 0000000..acbc0cd --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusReportRequestModel.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_adjust_postponement_update_statusReportRequestModel : eva_adjust_postponement_update_statusSearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusSearchModel.cs b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusSearchModel.cs new file mode 100644 index 0000000..21f4d42 --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusSearchModel.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_adjust_postponement_update_statusSearchModel + { + + public int id { get; set; } + + public string postponement_status_note { get; set; } + + } +} + diff --git a/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusService.cs b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusService.cs new file mode 100644 index 0000000..755a82e --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusService.cs @@ -0,0 +1,239 @@ +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_adjust_postponement_update_statusService : Ieva_adjust_postponement_update_statusService + { + private IBaseRepository2 _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + private Iexternal_employeeService emp; + + public eva_adjust_postponement_update_statusService( + IBaseRepository2 repository, + IMyDatabase mydb, + Iexternal_linkageService inext, + Iexternal_employeeService inemp + ) + { + _repository = repository; + db = mydb; + ext = inext; + emp = inemp; + } + + #region Private Functions + private eva_adjust_postponementEntity GetEntity(eva_adjust_postponement_update_statusInputModel model) + { + return Mapper.Map(model); + } + private List GetEntityList(List models) + { + return Mapper.Map>(models); + } + private eva_adjust_postponement_update_statusViewModel GetDto(eva_adjust_postponementEntity entity) + { + return Mapper.Map(entity); + } + private List GetDtoList(List entities) + { + return Mapper.Map>(entities); + } + + #endregion + + #region Public Functions + #region Query Functions + + public eva_adjust_postponement_update_statusViewModel Get(int id) + { + var entity = _repository.Get(id); + + if (!entity.postponement_status_date.HasValue) entity.postponement_status_date = DateTime.Now; + + return GetDto(entity); + } + + public eva_adjust_postponementEntity GetEntity(int id) + { + var entity = _repository.Get(id); + + if (!entity.postponement_status_date.HasValue) entity.postponement_status_date = DateTime.Now; + + return entity; + } + + public DataContext GetContext() + { + return _repository.Context; + } + + public eva_adjust_postponement_update_statusWithSelectionViewModel GetWithSelection(int id) + { + var entity = _repository.Get(id); + var i = Mapper.Map(entity); + i.item_postponement_status = (from x in ext.GetAgreeDisagree4() select x).ToList(); + i.item_postponement_status_by = (from x in emp.GetAllEmployee() select x).ToList(); + i.postponement_status_date = DateTime.Now; + + return i; + } + public eva_adjust_postponement_update_statusWithSelectionViewModel GetBlankItem() + { + var i = new eva_adjust_postponement_update_statusWithSelectionViewModel(); + i.item_postponement_status = (from x in ext.GetAgreeDisagree4() select x).ToList(); + i.item_postponement_status_by = (from x in emp.GetAllEmployee() select x).ToList(); + i.postponement_status_date = DateTime.Now; + + return i; + } + + public List GetListBypostponement_status_note(string postponement_status_note) + { + var model = new eva_adjust_postponement_update_statusSearchModel(); + model.postponement_status_note = postponement_status_note; + return GetListBySearch(model); + } + + public List GetListBySearch(eva_adjust_postponement_update_statusSearchModel model) + { + var data = ( + from m_eva_adjust_postponement_update_status in _repository.Context.eva_adjust_postponement + + join fk_external_linkage1 in ext.GetAgreeDisagree4() on m_eva_adjust_postponement_update_status.postponement_status equals fk_external_linkage1.external_code + into external_linkageResult1 + from fk_external_linkageResult1 in external_linkageResult1.DefaultIfEmpty() + + join fk_external_linkage3 in ext.GetAgreeDisagree4() on m_eva_adjust_postponement_update_status.postponement_status_by equals fk_external_linkage3.id + into external_linkageResult3 + from fk_external_linkageResult3 in external_linkageResult3.DefaultIfEmpty() + + + where + 1 == 1 + && (string.IsNullOrEmpty(model.postponement_status_note) || m_eva_adjust_postponement_update_status.postponement_status_note.Contains(model.postponement_status_note)) + + + orderby m_eva_adjust_postponement_update_status.created descending + select new eva_adjust_postponement_update_statusViewModel() + { + id = m_eva_adjust_postponement_update_status.id, + postponement_status = m_eva_adjust_postponement_update_status.postponement_status, + postponement_status_date = m_eva_adjust_postponement_update_status.postponement_status_date, + postponement_status_by = m_eva_adjust_postponement_update_status.postponement_status_by, + postponement_status_note = m_eva_adjust_postponement_update_status.postponement_status_note, + + postponement_status_external_linkage_external_name = fk_external_linkageResult1.external_name, + postponement_status_by_external_linkage_external_name = fk_external_linkageResult3.external_name, + + isActive = m_eva_adjust_postponement_update_status.isActive, + Created = m_eva_adjust_postponement_update_status.created, + Updated = m_eva_adjust_postponement_update_status.updated + } + ).Take(1000).ToList(); + + return data; + } + + #endregion + + #region Manipulation Functions + + + public int GetNewPrimaryKey() + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_adjust_postponement + orderby i.id descending + select i).Take(1).ToList(); + + if(x.Count > 0) + { + newkey = x[0].id + 1; + } + + return newkey.Value; + } + + + public eva_adjust_postponement_update_statusViewModel Update(int id, eva_adjust_postponement_update_statusInputModel model, bool is_force_save, int? updateby) + { + var existingEntity = _repository.Get(id); + if (existingEntity != null) + { + existingEntity.postponement_status = model.postponement_status; + existingEntity.postponement_status_date = DateTime.Now; + existingEntity.postponement_status_by = updateby; + existingEntity.postponement_status_note = model.postponement_status_note; + + var updated = _repository.Update(id, existingEntity); + return Get(updated.id); + } + else + throw new NotificationException("No data to update"); + } + + + + public eva_adjust_postponement_update_statusViewModel SetAsActive(int id) + { + var updated = _repository.SetAsActive(id); + + return Get(updated.id); + } + public eva_adjust_postponement_update_statusViewModel SetAsInactive(int id) + { + var updated = _repository.SetAsInActive(id); + + return Get(updated.id); + } + public void Delete(int id) + { + _repository.Delete(id); + + return; + } + + + + private Dictionary GetLookupForLog() + { + var i = new Dictionary(); + + + i.Add("postponement_status", "สถานะการปรับเลื่อนเงินเดือน"); + i.Add("postponement_status_external_linkage_external_name", "สถานะการปรับเลื่อนเงินเดือน"); + i.Add("postponement_status_date", "วันที่"); + i.Add("txt_postponement_status_date", "วันที่"); + i.Add("postponement_status_by", "ปรับสถานะโดย"); + i.Add("postponement_status_by_external_linkage_external_name", "ปรับสถานะโดย"); + i.Add("postponement_status_note", "หมายเหตุ"); + + return i; + } + + #endregion + + #region Match Item + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusViewModel.cs b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusViewModel.cs new file mode 100644 index 0000000..43159f0 --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusViewModel.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_adjust_postponement_update_statusViewModel : BaseViewModel2 + { + + public string postponement_status { get; set; } + + public DateTime? postponement_status_date { get; set; } + + public string txt_postponement_status_date { get { return MyHelper.GetDateStringForReport(this.postponement_status_date); } } + + public int? postponement_status_by { get; set; } + + public string postponement_status_note { get; set; } + + public string postponement_status_external_linkage_external_name { get; set; } + public string postponement_status_by_external_linkage_external_name { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusWithSelectionViewModel.cs b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusWithSelectionViewModel.cs new file mode 100644 index 0000000..4218ff6 --- /dev/null +++ b/Models/eva_adjust_postponement_update_status/eva_adjust_postponement_update_statusWithSelectionViewModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class eva_adjust_postponement_update_statusWithSelectionViewModel: eva_adjust_postponement_update_statusViewModel + { + public List item_postponement_status { get; set; } + public List item_postponement_status_by { get; set; } + + } +} \ No newline at end of file diff --git a/Models/external_linkage/Iexternal_linkageService.cs b/Models/external_linkage/Iexternal_linkageService.cs index becb24d..cfc0d80 100644 --- a/Models/external_linkage/Iexternal_linkageService.cs +++ b/Models/external_linkage/Iexternal_linkageService.cs @@ -41,6 +41,7 @@ namespace TodoAPI2.Models string GetMainDept(int? dep_id); List GetSalaryReportType(); + List GetAgreeDisagree4(); } } diff --git a/Models/external_linkage/external_linkageService.cs b/Models/external_linkage/external_linkageService.cs index 911e9a5..bf41c9d 100644 --- a/Models/external_linkage/external_linkageService.cs +++ b/Models/external_linkage/external_linkageService.cs @@ -308,6 +308,31 @@ namespace TodoAPI2.Models return result; } + public List GetAgreeDisagree4() + { + var result = new List(); + + var k = new external_linkageViewModel(); + k.external_id = 1; + k.external_code = ""; + k.external_name = "อยู่ระหว่างพิจารณา"; + result.Add(k); + + var i = new external_linkageViewModel(); + i.external_id = 2; + i.external_code = "Y"; + i.external_name = "อนุมัติและส่งต่อ"; + result.Add(i); + + var j = new external_linkageViewModel(); + j.external_id = 3; + j.external_code = "N"; + j.external_name = "ตีกลับ"; + result.Add(j); + + return result; + } + public List GetDepartmentData() { var sql_parent = string.Format("select" + diff --git a/Startup.cs b/Startup.cs index 52a3ccf..3d0327d 100644 --- a/Startup.cs +++ b/Startup.cs @@ -345,6 +345,8 @@ namespace Test01 services.AddScoped, BaseRepository2>(); services.AddScoped(); + services.AddScoped(); + #endregion services.TryAddSingleton(); @@ -655,6 +657,10 @@ namespace Test01 cfg.CreateMap(); cfg.CreateMap(); cfg.CreateMap(); + + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); }); #endregion 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 cbba8a1..491fdce 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 @@ -5,7 +5,55 @@ Layout = "_LayoutDirect"; } +
@@ -104,6 +152,9 @@
+ + +
@@ -169,16 +220,19 @@ @section FooterPlaceHolder{ + } diff --git a/Views/eva_adjust_postponement_update_statusView/eva_adjust_postponement_update_status.cshtml b/Views/eva_adjust_postponement_update_statusView/eva_adjust_postponement_update_status.cshtml new file mode 100644 index 0000000..5896e08 --- /dev/null +++ b/Views/eva_adjust_postponement_update_statusView/eva_adjust_postponement_update_status.cshtml @@ -0,0 +1,120 @@ +@using Microsoft.Extensions.Configuration +@inject IConfiguration Configuration +@{ + ViewData["Title"] = "eva_adjust_postponement_update_status"; +} + + + +
+ +
+
ค้นหา eva_adjust_postponement_update_status
+
+
+ +
+ + +
+ +
+ + + +
+ +
+
+ + + + + + + + + + + + + + + +
เครื่องมือ
+
+ +@section FooterPlaceHolder{ + + +} + diff --git a/tb320eva.csproj b/tb320eva.csproj index 371525d..257c363 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -67,6 +67,7 @@ + @@ -86,6 +87,7 @@ + diff --git a/tb320eva.xml b/tb320eva.xml index b7f7826..a0f601a 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -896,6 +896,67 @@ 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 postponement_status_note + + + + 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 + + + + Update item + + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + Default constructure for dependency injection diff --git a/wwwroot/js/eva_adjust_postponement_update_status/eva_adjust_postponement_update_status.js b/wwwroot/js/eva_adjust_postponement_update_status/eva_adjust_postponement_update_status.js new file mode 100644 index 0000000..78bc4c3 --- /dev/null +++ b/wwwroot/js/eva_adjust_postponement_update_status/eva_adjust_postponement_update_status.js @@ -0,0 +1,226 @@ +var eva_adjust_postponement_update_status_editMode = "CREATE"; +var eva_adjust_postponement_update_status_API = "/api/eva_adjust_postponement_update_status/"; + +//================= Search Customizaiton ========================================= + +function eva_adjust_postponement_update_status_GetSearchParameter() { + var eva_adjust_postponement_update_statusSearchObject = new Object(); + eva_adjust_postponement_update_statusSearchObject.postponement_status_note = $("#s_eva_adjust_postponement_update_status_postponement_status_note").val(); + + return eva_adjust_postponement_update_statusSearchObject; +} + +function eva_adjust_postponement_update_status_FeedDataToSearchForm(data) { + $("#s_eva_adjust_postponement_update_status_postponement_status_note").val(data.postponement_status_note); + +} + +//================= Form Data Customizaiton ========================================= + +function eva_adjust_postponement_update_status_FeedDataToForm(data) { + $("#eva_adjust_postponement_update_status_id").val(data.id); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_update_status_postponement_status"), data, "id", "external_name", "item_postponement_status", data.postponement_status); + $("#eva_adjust_postponement_update_status_postponement_status_date").val(formatDate(data.postponement_status_date)); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_update_status_postponement_status_by"), data, "id", "external_name", "item_postponement_status_by", data.postponement_status_by); + $("#eva_adjust_postponement_update_status_postponement_status_note").val(data.postponement_status_note); + +} + +function eva_adjust_postponement_update_status_GetFromForm() { + var eva_adjust_postponement_update_statusObject = new Object(); + eva_adjust_postponement_update_statusObject.id = $("#eva_adjust_postponement_update_status_id").val(); + eva_adjust_postponement_update_statusObject.postponement_status = $("#eva_adjust_postponement_update_status_postponement_status").val(); + eva_adjust_postponement_update_statusObject.postponement_status_date = getDate($("#eva_adjust_postponement_update_status_postponement_status_date").val()); + eva_adjust_postponement_update_statusObject.postponement_status_by = $("#eva_adjust_postponement_update_status_postponement_status_by").val(); + eva_adjust_postponement_update_statusObject.postponement_status_note = $("#eva_adjust_postponement_update_status_postponement_status_note").val(); + + + return eva_adjust_postponement_update_statusObject; +} + +function eva_adjust_postponement_update_status_InitialForm(s) { + var successFunc = function (result) { + eva_adjust_postponement_update_status_FeedDataToForm(result); + eva_adjust_postponement_update_status_FeedDataToSearchForm(result); + if (s) { + // Incase model popup + $("#eva_adjust_postponement_update_statusModel").modal("show"); + } + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_adjust_postponement_update_status_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Form Mode Setup and Flow ========================================= + +function eva_adjust_postponement_update_status_GoCreate() { + // Incase model popup + eva_adjust_postponement_update_status_SetCreateForm(true); + + // Incase open new page + //window_open(appsite + "/eva_adjust_postponement_update_statusView/eva_adjust_postponement_update_status_d"); +} + +function eva_adjust_postponement_update_status_GoEdit(a) { + // Incase model popup + eva_adjust_postponement_update_status_SetEditForm(a); + + // Incase open new page + //window_open(appsite + "/eva_adjust_postponement_update_statusView/eva_adjust_postponement_update_status_d?id=" + a); +} + +function eva_adjust_postponement_update_status_SetEditForm(a) { + var successFunc = function (result) { + eva_adjust_postponement_update_status_editMode = "UPDATE"; + eva_adjust_postponement_update_status_FeedDataToForm(result); + $("#eva_adjust_postponement_update_statusModel").modal("show"); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_adjust_postponement_update_status_API + a, successFunc, AlertDanger); +} + +function eva_adjust_postponement_update_status_SetCreateForm(s) { + eva_adjust_postponement_update_status_editMode = "CREATE"; + eva_adjust_postponement_update_status_InitialForm(s); +} + +function eva_adjust_postponement_update_status_RefreshTable() { + // Incase model popup + eva_adjust_postponement_update_status_DoSearch(); + + // Incase open new page + //window.parent.eva_adjust_postponement_update_status_DoSearch(); +} + +//================= Update and Delete ========================================= + +var eva_adjust_postponement_update_status_customValidation = function (group) { + return ""; +}; + +function eva_adjust_postponement_update_status_PutUpdate() { + if (!ValidateForm('eva_adjust_postponement_update_status', eva_adjust_postponement_update_status_customValidation)) { + return; + } + + var data = eva_adjust_postponement_update_status_GetFromForm(); + + //Update Mode + if (eva_adjust_postponement_update_status_editMode === "UPDATE") { + var successFunc1 = function (result) { + $("#eva_adjust_postponement_update_statusModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + //eva_adjust_postponement_update_status_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + eva_adjust_postponement_update_status_API + data.id, data, successFunc1, AlertDanger); + } + // Create mode + else { + var successFunc2 = function (result) { + $("#eva_adjust_postponement_update_statusModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + //eva_adjust_postponement_update_status_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPostRequest(apisite + eva_adjust_postponement_update_status_API, data, successFunc2, AlertDanger); + } +} + +function eva_adjust_postponement_update_status_GoDelete(a) { + if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) { + var successFunc = function (result) { + $("#eva_adjust_postponement_update_statusModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_adjust_postponement_update_status_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxDeleteRequest(apisite + eva_adjust_postponement_update_status_API + a, null, successFunc, AlertDanger); + } +} + +//================= Data Table ========================================= + +var eva_adjust_postponement_update_statusTableV; + +var eva_adjust_postponement_update_status_setupTable = function (result) { + tmp = '"'; + eva_adjust_postponement_update_statusTableV = $('#eva_adjust_postponement_update_statusTable').DataTable({ + "processing": true, + "serverSide": false, + "data": result, + //"select": { + // "style": 'multi' + //}, + "columns": [ + //{ "data": "" }, + { "data": "id" }, + { "data": "id" }, + { "data": "postponement_status_external_linkage_external_name" }, + { "data": "txt_postponement_status_date" }, + { "data": "postponement_status_by_external_linkage_external_name" }, + { "data": "postponement_status_note" }, + ], + "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_adjust_postponement_update_status_InitiateDataTable() { + startLoad(); + var p = $.param(eva_adjust_postponement_update_status_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_adjust_postponement_update_status/GetListBySearch?" + p, eva_adjust_postponement_update_status_setupTable, AlertDanger); +} + +function eva_adjust_postponement_update_status_DoSearch() { + var p = $.param(eva_adjust_postponement_update_status_GetSearchParameter()); + var eva_adjust_postponement_update_status_reload = function (result) { + eva_adjust_postponement_update_statusTableV.destroy(); + eva_adjust_postponement_update_status_setupTable(result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_adjust_postponement_update_status/GetListBySearch?" + p, eva_adjust_postponement_update_status_reload, AlertDanger); +} + +function eva_adjust_postponement_update_status_GetSelect(f) { + var eva_adjust_postponement_update_status_selectitem = []; + $.each(eva_adjust_postponement_update_statusTableV.rows('.selected').data(), function (key, value) { + eva_adjust_postponement_update_status_selectitem.push(value[f]); + }); + alert(eva_adjust_postponement_update_status_selectitem); +} + +//================= File Upload ========================================= + + + +//================= Multi-Selection Function ========================================= + + +