From 9bac5ef7d300424cc63b0f23e5984f7770ae9df9 Mon Sep 17 00:00:00 2001 From: Nakorn Rientrakrunchai Date: Sun, 7 Mar 2021 12:48:25 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=20op=2010=20=E0=B8=82=E0=B9=89=E0=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_evaluation_achievementControllers.cs | 43 +- ApiControllers/rep_eva_xControllers.cs | 20 + ...640307042106_IncreaseFieldSize.Designer.cs | 922 ++++++++++++++++++ .../25640307042106_IncreaseFieldSize.cs | 31 + Migrations/DataContextModelSnapshot.cs | 2 +- ..._create_evaluation_detail_statusService.cs | 2 +- .../Ieva_evaluation_achievementService.cs | 2 +- .../eva_evaluation_achievementEntity.cs | 2 +- .../eva_evaluation_achievementService.cs | 48 +- .../eva_evaluation_achievementViewModel.cs | 9 +- ...evaluation_achievement_processViewModel.cs | 8 + ...valuation_achievement_process2ViewModel.cs | 8 + Models/rep_eva_x/rep_eva_xSearchModel.cs | 1 + .../eva_create_evaluation.cshtml | 12 +- ...reate_evaluation_detail_agreement_d.cshtml | 55 +- ...create_evaluation_detail_firstdoc_d.cshtml | 7 +- ..._create_evaluation_detail_process_d.cshtml | 191 ++-- ...create_evaluation_detail_process_d2.cshtml | 345 ++++--- tb320eva.xml | 12 + .../eva_create_evaluation_detail_summary.js | 117 ++- ...va_create_evaluation_detail_agreement_d.js | 53 +- .../eva_evaluation_achievement.js | 16 +- wwwroot/js/rep_eva_x/rep_eva_x_report.js | 16 +- 23 files changed, 1567 insertions(+), 355 deletions(-) create mode 100644 Migrations/25640307042106_IncreaseFieldSize.Designer.cs create mode 100644 Migrations/25640307042106_IncreaseFieldSize.cs diff --git a/ApiControllers/eva_evaluation_achievementControllers.cs b/ApiControllers/eva_evaluation_achievementControllers.cs index a003e3f..c45cd96 100644 --- a/ApiControllers/eva_evaluation_achievementControllers.cs +++ b/ApiControllers/eva_evaluation_achievementControllers.cs @@ -235,14 +235,53 @@ namespace TodoAPI2.Controllers } return BadRequest(ModelState); - } + } + + /// + /// reset_achievement + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("reset_achievement")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult reset_achievement(int id) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.reset_achievement(id); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ปรับปรุงข้อมูล เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while update {id.ToString()}.", ex); + return StatusCode(500, $"Exception while update {id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } /// /// Delete item /// /// /// - /// + /// /// Response Result Message /// Response Result Message /// If the model is invalid diff --git a/ApiControllers/rep_eva_xControllers.cs b/ApiControllers/rep_eva_xControllers.cs index cce21f9..092595f 100644 --- a/ApiControllers/rep_eva_xControllers.cs +++ b/ApiControllers/rep_eva_xControllers.cs @@ -216,6 +216,26 @@ namespace TodoAPI2.Controllers } reader.Close(); + + if(model.is_print_22 == 1) + { + rep_eva_p01ReportRequestModel model2 = new rep_eva_p01ReportRequestModel(); + model2.filetype = model.filetype; + model2.detail_id = k; + + var data2x = GetReportP01(model2); + + PdfReader reader2 = new PdfReader(data2x); + reader2.ConsolidateNamedDestinations(); + + for (int i = 1; i <= reader2.NumberOfPages; i++) + { + PdfImportedPage page = writer.GetImportedPage(reader2, i); + writer.AddPage(page); + } + + reader2.Close(); + } } writer.Close(); diff --git a/Migrations/25640307042106_IncreaseFieldSize.Designer.cs b/Migrations/25640307042106_IncreaseFieldSize.Designer.cs new file mode 100644 index 0000000..6ac6182 --- /dev/null +++ b/Migrations/25640307042106_IncreaseFieldSize.Designer.cs @@ -0,0 +1,922 @@ +// +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("25640307042106_IncreaseFieldSize")] + partial class IncreaseFieldSize + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .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("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + 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("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("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("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_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_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.HasKey("id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(3000); + + 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("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("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("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("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_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/25640307042106_IncreaseFieldSize.cs b/Migrations/25640307042106_IncreaseFieldSize.cs new file mode 100644 index 0000000..5e6d2d7 --- /dev/null +++ b/Migrations/25640307042106_IncreaseFieldSize.cs @@ -0,0 +1,31 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class IncreaseFieldSize : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "achievement", + table: "eva_evaluation_achievement", + maxLength: 3000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 1000, + oldNullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "achievement", + table: "eva_evaluation_achievement", + maxLength: 1000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 3000, + oldNullable: true); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index b4e6928..01450ef 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -347,7 +347,7 @@ namespace tb320eva.Migrations b.Property("id"); b.Property("achievement") - .HasMaxLength(1000); + .HasMaxLength(3000); b.Property("create_evaluation_detail_id"); 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 5356b52..9e9bd64 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 @@ -312,7 +312,7 @@ namespace TodoAPI2.Models select i).FirstOrDefault(); string sql = $@" insert into notifications(id,type,notifiable_type,notifiable_id,data,created_at) -values('{Guid.NewGuid().ToString()}','App\Notifications\WorkflowNotification','App\Models\User',{noti_to_user_id.ToString()},@data,NOW()) +values('{Guid.NewGuid().ToString()}','App\Notifications\WorkflowNotification','App\Models\User',{noti_to_user_id.ToString()},@data,NOW()now()+interval'7h') "; DataOfNotification d = new DataOfNotification(); d.title = noti_message.Replace("{0}", owner_info.fullname); diff --git a/Models/eva_evaluation_achievement/Ieva_evaluation_achievementService.cs b/Models/eva_evaluation_achievement/Ieva_evaluation_achievementService.cs index f14a9ad..36ecf6f 100644 --- a/Models/eva_evaluation_achievement/Ieva_evaluation_achievementService.cs +++ b/Models/eva_evaluation_achievement/Ieva_evaluation_achievementService.cs @@ -21,7 +21,7 @@ namespace TodoAPI2.Models eva_evaluation_achievementWithSelectionViewModel GetWithSelection(int id); eva_evaluation_achievementWithSelectionViewModel GetBlankItem(); - + void reset_achievement(int id); } } diff --git a/Models/eva_evaluation_achievement/eva_evaluation_achievementEntity.cs b/Models/eva_evaluation_achievement/eva_evaluation_achievementEntity.cs index b749a74..1317131 100644 --- a/Models/eva_evaluation_achievement/eva_evaluation_achievementEntity.cs +++ b/Models/eva_evaluation_achievement/eva_evaluation_achievementEntity.cs @@ -20,7 +20,7 @@ namespace TodoAPI2.Models public eva_create_evaluation_detailEntity eva_create_evaluation_detail { get; set; } public int? create_evaluation_detail_id { get; set; } - [MaxLength(1000)] + [MaxLength(3000)] public string achievement { get; set; } public decimal? weight { get; set; } diff --git a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs index 9c980e5..74912e2 100644 --- a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs +++ b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs @@ -23,7 +23,8 @@ namespace TodoAPI2.Models private IMyDatabase db; private Iexternal_linkageService ext; - public eva_evaluation_achievementService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) + public eva_evaluation_achievementService(IBaseRepository2 repository, + IMyDatabase mydb, Iexternal_linkageService inext) { _repository = repository; db = mydb; @@ -96,7 +97,7 @@ namespace TodoAPI2.Models && (m_eva_evaluation_achievement.create_evaluation_detail_id == model.create_evaluation_detail_id || !model.create_evaluation_detail_id.HasValue) - orderby m_eva_evaluation_achievement.achievement + orderby m_eva_evaluation_achievement.created select new eva_evaluation_achievementViewModel() { id = m_eva_evaluation_achievement.id, @@ -161,7 +162,7 @@ namespace TodoAPI2.Models where i.id == model.create_evaluation_detail_id select i).FirstOrDefault(); - if(current_detail.status_self == "Y") + if (current_detail.status_self == "Y") { throw new Exception("คุณนำส่งข้อตกลงการประเมินไปแล้ว ไม่สามารถบันทึกได้"); } @@ -240,6 +241,47 @@ namespace TodoAPI2.Models throw new NotificationException("No data to update"); } + public void reset_achievement(int id) + { + var current_detail = (from i in _repository.Context.eva_create_evaluation_detail + where i.id == id + select i).FirstOrDefault(); + + if(current_detail == null) throw new NotificationException("No data to update"); + + if (current_detail.status_self == "Y") + { + throw new Exception("คุณนำส่งข้อตกลงการประเมินไปแล้ว ไม่สามารถบันทึกได้"); + } + + var current_achievement = (from i in _repository.Context.eva_evaluation_achievement + where i.create_evaluation_detail_id == id + select i); + _repository.Context.RemoveRange(current_achievement); + + var opt = (from i in _repository.Context.eva_evaluation_operating_agreement + where i.create_evaluation_detail_id == id + orderby i.mission_no + select i).ToList(); + + var newid = GetNewPrimaryKey(); + var enter = "\n"; + + 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.weight = 0; + n.created = DateTime.Now.AddMinutes(-1 * newid); + newid++; + _repository.Context.Add(n); + } + + _repository.Context.SaveChanges(); + } + public string UpdateMultiple(List model) { foreach (var i in model) diff --git a/Models/eva_evaluation_achievement/eva_evaluation_achievementViewModel.cs b/Models/eva_evaluation_achievement/eva_evaluation_achievementViewModel.cs index 404f124..5441314 100644 --- a/Models/eva_evaluation_achievement/eva_evaluation_achievementViewModel.cs +++ b/Models/eva_evaluation_achievement/eva_evaluation_achievementViewModel.cs @@ -42,7 +42,14 @@ namespace TodoAPI2.Models public string target_score5 { get; set; } public int? create_evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id { get; set; } - + public string achievement_display + { + get + { + if (achievement == null) achievement = ""; + return achievement.Replace("\n", "
"); + } + } } } diff --git a/Models/eva_evaluation_achievement_process/eva_evaluation_achievement_processViewModel.cs b/Models/eva_evaluation_achievement_process/eva_evaluation_achievement_processViewModel.cs index 3410679..63d9bab 100644 --- a/Models/eva_evaluation_achievement_process/eva_evaluation_achievement_processViewModel.cs +++ b/Models/eva_evaluation_achievement_process/eva_evaluation_achievement_processViewModel.cs @@ -36,5 +36,13 @@ namespace TodoAPI2.Models public int? create_evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id { get; set; } + public string achievement_display { + get + { + if (achievement == null) achievement = ""; + return achievement.Replace("\n", "
"); + } + } + } } \ No newline at end of file diff --git a/Models/eva_evaluation_achievement_process2/eva_evaluation_achievement_process2ViewModel.cs b/Models/eva_evaluation_achievement_process2/eva_evaluation_achievement_process2ViewModel.cs index ba1bc37..d8c5363 100644 --- a/Models/eva_evaluation_achievement_process2/eva_evaluation_achievement_process2ViewModel.cs +++ b/Models/eva_evaluation_achievement_process2/eva_evaluation_achievement_process2ViewModel.cs @@ -58,5 +58,13 @@ namespace TodoAPI2.Models public int? create_evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id { get; set; } + public string achievement_display + { + get + { + if (achievement == null) achievement = ""; + return achievement.Replace("\n", "
"); + } + } } } \ No newline at end of file diff --git a/Models/rep_eva_x/rep_eva_xSearchModel.cs b/Models/rep_eva_x/rep_eva_xSearchModel.cs index 89b36f7..aecd88f 100644 --- a/Models/rep_eva_x/rep_eva_xSearchModel.cs +++ b/Models/rep_eva_x/rep_eva_xSearchModel.cs @@ -18,6 +18,7 @@ namespace TodoAPI2.Models public List detail_id { get; set; } + public int? is_print_22 { get; set; } } } diff --git a/Views/eva_create_evaluationView/eva_create_evaluation.cshtml b/Views/eva_create_evaluationView/eva_create_evaluation.cshtml index a528028..aa93003 100644 --- a/Views/eva_create_evaluationView/eva_create_evaluation.cshtml +++ b/Views/eva_create_evaluationView/eva_create_evaluation.cshtml @@ -133,9 +133,15 @@ eva_create_evaluation_InitiateDataTable(); eva_create_evaluation_InitialForm(); SetupValidationRemark("eva_create_evaluation"); - $("#eva_create_evaluation_employee_id").select2(); - $("#eva_create_evaluation_supervisor1_id").select2(); - $("#eva_create_evaluation_supervisor2_id").select2(); + $("#eva_create_evaluation_employee_id").select2({ + dropdownParent: $('#eva_create_evaluationModel') + }); + $("#eva_create_evaluation_supervisor1_id").select2({ + dropdownParent: $('#eva_create_evaluationModel') + }); + $("#eva_create_evaluation_supervisor2_id").select2({ + dropdownParent: $('#eva_create_evaluationModel') + }); $("#eva_create_evaluation_detail_employee_id").select2(); $("#eva_create_evaluation_detail_chief").select2(); }); 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 c949d0c..675559a 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 @@ -6,6 +6,29 @@ } + +