From eebd1a8beeb61fcc75727b89a6e95153a8362a65 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 28 Mar 2021 15:48:02 +0700 Subject: [PATCH 01/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20op=20?= =?UTF-8?q?=E0=B8=AB=E0=B8=A5=E0=B8=B2=E0=B8=A2=E0=B8=82=E0=B9=89=E0=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXCEL/eva_performance_plan.xlsx | Bin 10206 -> 10263 bytes .../20210328084209_UpdatePlan.Designer.cs | 962 ++++++++++++++++++ Migrations/20210328084209_UpdatePlan.cs | 22 + Migrations/DataContextModelSnapshot.cs | 2 + .../eva_performance_planEntity.cs | 2 + .../eva_performance_planInputModel.cs | 2 + .../eva_performance_planService.cs | 46 +- .../eva_performance_planViewModel.cs | 2 +- ..._create_evaluation_detail_agreement.cshtml | 2 +- .../eva_performance_plan.cshtml | 8 +- .../eva_performance_plan_d.cshtml | 7 +- .../eva_performance_plan.js | 74 +- .../eva_performance_plan_d.js | 41 +- 13 files changed, 1085 insertions(+), 85 deletions(-) create mode 100644 Migrations/20210328084209_UpdatePlan.Designer.cs create mode 100644 Migrations/20210328084209_UpdatePlan.cs diff --git a/EXCEL/eva_performance_plan.xlsx b/EXCEL/eva_performance_plan.xlsx index 96c6f63266e48c7ca0e5812e77c00375a3f59739..aa1a030a7454873d50d7fec4d1fb548c45e52bbd 100644 GIT binary patch delta 4331 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 S|A$@XLgV?lujPaPoc;$(quJpA diff --git a/Migrations/20210328084209_UpdatePlan.Designer.cs b/Migrations/20210328084209_UpdatePlan.Designer.cs new file mode 100644 index 0000000..4346f16 --- /dev/null +++ b/Migrations/20210328084209_UpdatePlan.Designer.cs @@ -0,0 +1,962 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210328084209_UpdatePlan")] + partial class UpdatePlan + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210328084209_UpdatePlan.cs b/Migrations/20210328084209_UpdatePlan.cs new file mode 100644 index 0000000..2269636 --- /dev/null +++ b/Migrations/20210328084209_UpdatePlan.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class UpdatePlan : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "percent", + table: "eva_performance_plan", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "percent", + table: "eva_performance_plan"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 48d3c0c..f23c1f2 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -747,6 +747,8 @@ namespace tb320eva.Migrations b.Property("isActive"); + b.Property("percent"); + b.Property("theTime"); b.Property("updated"); diff --git a/Models/eva_performance_plan/eva_performance_planEntity.cs b/Models/eva_performance_plan/eva_performance_planEntity.cs index 726d0e2..f77b9ac 100644 --- a/Models/eva_performance_plan/eva_performance_planEntity.cs +++ b/Models/eva_performance_plan/eva_performance_planEntity.cs @@ -19,6 +19,8 @@ namespace TodoAPI2.Models public int? theTime { get; set; } + public decimal? percent { get; set; } + [NotMapped] public string display_text { diff --git a/Models/eva_performance_plan/eva_performance_planInputModel.cs b/Models/eva_performance_plan/eva_performance_planInputModel.cs index a638ec7..c4d4220 100644 --- a/Models/eva_performance_plan/eva_performance_planInputModel.cs +++ b/Models/eva_performance_plan/eva_performance_planInputModel.cs @@ -20,6 +20,8 @@ namespace TodoAPI2.Models public int? theTime { get; set; } + public decimal? percent { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_performance_plan/eva_performance_planService.cs b/Models/eva_performance_plan/eva_performance_planService.cs index df6e808..2395646 100644 --- a/Models/eva_performance_plan/eva_performance_planService.cs +++ b/Models/eva_performance_plan/eva_performance_planService.cs @@ -20,14 +20,14 @@ namespace TodoAPI2.Models public class eva_performance_planService : Ieva_performance_planService { private IBaseRepository _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; public eva_performance_planService(IBaseRepository repository, IMyDatabase mydb, Iexternal_linkageService inext) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; } #region Private Functions @@ -47,7 +47,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + private List GetListWithoutBase64Fields(IQueryable listQuery) { return listQuery.Select(c => new eva_performance_planEntity() @@ -98,7 +98,7 @@ namespace TodoAPI2.Models id = m_eva_performance_plan.id, fiscal_year = m_eva_performance_plan.fiscal_year, theTime = m_eva_performance_plan.theTime, - + percent = m_eva_performance_plan.percent, isActive = m_eva_performance_plan.isActive, Created = m_eva_performance_plan.created, @@ -115,7 +115,7 @@ namespace TodoAPI2.Models from m_eva_performance_plan in _repository.Context.eva_performance_plan - where m_eva_performance_plan.fiscal_year == fiscal_year || !fiscal_year.HasValue + where m_eva_performance_plan.fiscal_year == fiscal_year || !fiscal_year.HasValue orderby m_eva_performance_plan.created descending select new eva_performance_planViewModel() @@ -123,7 +123,7 @@ namespace TodoAPI2.Models id = m_eva_performance_plan.id, fiscal_year = m_eva_performance_plan.fiscal_year, theTime = m_eva_performance_plan.theTime, - + percent = m_eva_performance_plan.percent, isActive = m_eva_performance_plan.isActive, Created = m_eva_performance_plan.created, @@ -134,13 +134,13 @@ namespace TodoAPI2.Models return data; } - public List GetListBySearch(eva_performance_planSearchModel model) + public List GetListBySearch(eva_performance_planSearchModel model) { var data = ( from m_eva_performance_plan in _repository.Context.eva_performance_plan - where 1==1 + where 1 == 1 && (m_eva_performance_plan.fiscal_year == model.fiscal_year || !model.fiscal_year.HasValue) && (m_eva_performance_plan.theTime == model.theTime || !model.theTime.HasValue) @@ -151,7 +151,7 @@ namespace TodoAPI2.Models id = m_eva_performance_plan.id, fiscal_year = m_eva_performance_plan.fiscal_year, theTime = m_eva_performance_plan.theTime, - + percent = m_eva_performance_plan.percent, isActive = m_eva_performance_plan.isActive, Created = m_eva_performance_plan.created, @@ -173,7 +173,7 @@ namespace TodoAPI2.Models var inserted = _repository.Insert(entity); - + return Get(inserted.id); } @@ -184,27 +184,27 @@ namespace TodoAPI2.Models { existingEntity.fiscal_year = model.fiscal_year; existingEntity.theTime = model.theTime; - + existingEntity.percent = model.percent; var updated = _repository.Update(id, existingEntity); return Get(updated.id); } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model) + public string UpdateMultiple(List model) { - foreach(var i in model) + foreach (var i in model) { if (i.active_mode == "1" && i.id.HasValue) // update - { + { var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.fiscal_year = i.fiscal_year; - existingEntity.theTime = i.theTime; - + existingEntity.fiscal_year = i.fiscal_year; + existingEntity.theTime = i.theTime; + existingEntity.percent = i.percent; _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } @@ -216,15 +216,15 @@ namespace TodoAPI2.Models _repository.InsertWithoutCommit(entity); } else if (i.active_mode == "0" && i.id.HasValue) // remove - { + { _repository.DeleteWithoutCommit(i.id.Value); } else if (i.active_mode == "0" && !i.id.HasValue) { // nothing to do - } + } } - _repository.Context.SaveChanges(); + _repository.Context.SaveChanges(); return model.Count().ToString(); } diff --git a/Models/eva_performance_plan/eva_performance_planViewModel.cs b/Models/eva_performance_plan/eva_performance_planViewModel.cs index d812004..7a1fc8d 100644 --- a/Models/eva_performance_plan/eva_performance_planViewModel.cs +++ b/Models/eva_performance_plan/eva_performance_planViewModel.cs @@ -18,6 +18,6 @@ namespace TodoAPI2.Models public int? theTime { get; set; } - + public decimal? percent { get; set; } } } \ No newline at end of file diff --git a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml index 1795b2b..ad6b317 100644 --- a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml +++ b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement.cshtml @@ -68,7 +68,7 @@ - + diff --git a/Views/eva_performance_planView/eva_performance_plan.cshtml b/Views/eva_performance_planView/eva_performance_plan.cshtml index 61f6c7e..9ae5f7e 100644 --- a/Views/eva_performance_planView/eva_performance_plan.cshtml +++ b/Views/eva_performance_planView/eva_performance_plan.cshtml @@ -29,6 +29,12 @@ +
+
+ + +
+
@@ -87,7 +93,7 @@ เครื่องมือ - + diff --git a/Views/eva_performance_planView/eva_performance_plan_d.cshtml b/Views/eva_performance_planView/eva_performance_plan_d.cshtml index 5e1b655..5d5d337 100644 --- a/Views/eva_performance_planView/eva_performance_plan_d.cshtml +++ b/Views/eva_performance_planView/eva_performance_plan_d.cshtml @@ -100,7 +100,12 @@ - +
+
+ + +
+
diff --git a/wwwroot/js/eva_performance_plan/eva_performance_plan.js b/wwwroot/js/eva_performance_plan/eva_performance_plan.js index d80104e..250c6e6 100644 --- a/wwwroot/js/eva_performance_plan/eva_performance_plan.js +++ b/wwwroot/js/eva_performance_plan/eva_performance_plan.js @@ -5,33 +5,33 @@ var eva_performance_plan_API = "/api/eva_performance_plan/"; function eva_performance_plan_GetSearchParameter() { var eva_performance_planSearchObject = new Object(); -eva_performance_planSearchObject.fiscal_year = $("#s_eva_performance_plan_fiscal_year").val(); -eva_performance_planSearchObject.theTime = $("#s_eva_performance_plan_theTime").val(); + eva_performance_planSearchObject.fiscal_year = $("#s_eva_performance_plan_fiscal_year").val(); + eva_performance_planSearchObject.theTime = $("#s_eva_performance_plan_theTime").val(); return eva_performance_planSearchObject; } function eva_performance_plan_FeedDataToSearchForm(data) { -$("#s_eva_performance_plan_fiscal_year").val(data.fiscal_year); -$("#s_eva_performance_plan_theTime").val(data.theTime); + $("#s_eva_performance_plan_fiscal_year").val(data.fiscal_year); + $("#s_eva_performance_plan_theTime").val(data.theTime); } //================= Form Data Customizaiton ========================================= function eva_performance_plan_FeedDataToForm(data) { -$("#eva_performance_plan_id").val(data.id); -$("#eva_performance_plan_fiscal_year").val(data.fiscal_year); -$("#eva_performance_plan_theTime").val(data.theTime); - + $("#eva_performance_plan_id").val(data.id); + $("#eva_performance_plan_fiscal_year").val(data.fiscal_year); + $("#eva_performance_plan_theTime").val(data.theTime); + $("#eva_performance_plan_percent").val(data.percent); } function eva_performance_plan_GetFromForm() { var eva_performance_planObject = new Object(); -eva_performance_planObject.id = $("#eva_performance_plan_id").val(); -eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); -eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); - + eva_performance_planObject.id = $("#eva_performance_plan_id").val(); + eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); + eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); + eva_performance_planObject.percent = $("#eva_performance_plan_percent").val(); return eva_performance_planObject; } @@ -39,14 +39,14 @@ eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); function eva_performance_plan_InitialForm(s) { var successFunc = function (result) { eva_performance_plan_FeedDataToForm(result); - eva_performance_plan_FeedDataToSearchForm(result); + eva_performance_plan_FeedDataToSearchForm(result); if (s) { // Incase model popup $("#eva_performance_planModel").modal("show"); } - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + "GetBlankItem", successFunc, AlertDanger); } @@ -73,15 +73,15 @@ function eva_performance_plan_SetEditForm(a) { eva_performance_plan_editMode = "UPDATE"; eva_performance_plan_FeedDataToForm(result); $("#eva_performance_planModel").modal("show"); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + a, successFunc, AlertDanger); } function eva_performance_plan_SetCreateForm(s) { eva_performance_plan_editMode = "CREATE"; - eva_performance_plan_InitialForm(s); + eva_performance_plan_InitialForm(s); } function eva_performance_plan_RefreshTable() { @@ -99,8 +99,7 @@ var eva_performance_plan_customValidation = function (group) { }; function eva_performance_plan_PutUpdate() { - if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) - { + if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) { return; } @@ -112,9 +111,9 @@ function eva_performance_plan_PutUpdate() { $("#eva_performance_planModel").modal("hide"); AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_performance_plan_API + data.id, data, successFunc1, AlertDanger); } // Create mode @@ -123,9 +122,9 @@ function eva_performance_plan_PutUpdate() { $("#eva_performance_planModel").modal("hide"); AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_performance_plan_API, data, successFunc2, AlertDanger); } } @@ -136,9 +135,9 @@ function eva_performance_plan_GoDelete(a) { $("#eva_performance_planModel").modal("hide"); AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_performance_plan_API + a, null, successFunc, AlertDanger); } } @@ -148,16 +147,17 @@ function eva_performance_plan_GoDelete(a) { var eva_performance_planTableV; var eva_performance_plan_setupTable = function (result) { - tmp = '"'; + tmp = '"'; eva_performance_planTableV = $('#eva_performance_planTable').DataTable({ "processing": true, "serverSide": false, "data": result, - "select": false, + "select": false, "columns": [ - { "data": "id" }, - { "data": "fiscal_year" }, - { "data": "theTime" }, + { "data": "id" }, + { "data": "fiscal_year" }, + { "data": "theTime" }, + { "data": "percent" }, ], "columnDefs": [ { @@ -171,13 +171,13 @@ var eva_performance_plan_setupTable = function (result) { "url": appsite + "/DataTables-1.10.16/thai.json" }, "paging": true, - "searching": false + "searching": false }); - endLoad(); + endLoad(); }; function eva_performance_plan_InitiateDataTable() { - startLoad(); + startLoad(); AjaxGetRequest(apisite + "/api/eva_performance_plan/GetListBySearch", eva_performance_plan_setupTable, AlertDanger); } @@ -186,10 +186,10 @@ function eva_performance_plan_DoSearch() { var eva_performance_plan_reload = function (result) { eva_performance_planTableV.destroy(); eva_performance_plan_setupTable(result); - endLoad(); + endLoad(); }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_performance_plan/GetListBySearch?"+p, eva_performance_plan_reload, AlertDanger); + startLoad(); + AjaxGetRequest(apisite + "/api/eva_performance_plan/GetListBySearch?" + p, eva_performance_plan_reload, AlertDanger); } function eva_performance_plan_GetSelect(f) { diff --git a/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js b/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js index aa32e75..272e5a0 100644 --- a/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js +++ b/wwwroot/js/eva_performance_plan/eva_performance_plan_d.js @@ -4,18 +4,18 @@ var eva_performance_plan_API = "/api/eva_performance_plan/"; //================= Form Data Customizaiton ========================================= function eva_performance_plan_FeedDataToForm(data) { -$("#eva_performance_plan_id").val(data.id); -$("#eva_performance_plan_fiscal_year").val(data.fiscal_year); -$("#eva_performance_plan_theTime").val(data.theTime); - + $("#eva_performance_plan_id").val(data.id); + $("#eva_performance_plan_fiscal_year").val(data.fiscal_year); + $("#eva_performance_plan_theTime").val(data.theTime); + $("#eva_performance_plan_percent").val(data.percent); } function eva_performance_plan_GetFromForm() { var eva_performance_planObject = new Object(); -eva_performance_planObject.id = $("#eva_performance_plan_id").val(); -eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); -eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); - + eva_performance_planObject.id = $("#eva_performance_plan_id").val(); + eva_performance_planObject.fiscal_year = $("#eva_performance_plan_fiscal_year").val(); + eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); + eva_performance_planObject.percent = $("#eva_performance_plan_percent").val(); return eva_performance_planObject; } @@ -23,9 +23,9 @@ eva_performance_planObject.theTime = $("#eva_performance_plan_theTime").val(); function eva_performance_plan_InitialForm() { var successFunc = function (result) { eva_performance_plan_FeedDataToForm(result); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + "GetBlankItem", successFunc, AlertDanger); } @@ -35,15 +35,15 @@ function eva_performance_plan_SetEditForm(a) { var successFunc = function (result) { eva_performance_plan_editMode = "UPDATE"; eva_performance_plan_FeedDataToForm(result); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_performance_plan_API + a, successFunc, AlertDanger); } function eva_performance_plan_SetCreateForm() { eva_performance_plan_editMode = "CREATE"; - eva_performance_plan_InitialForm(); + eva_performance_plan_InitialForm(); } //================= Update and Delete ========================================= @@ -53,8 +53,7 @@ var eva_performance_plan_customValidation = function (group) { }; function eva_performance_plan_PutUpdate() { - if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) - { + if (!ValidateForm('eva_performance_plan', eva_performance_plan_customValidation)) { return; } var data = eva_performance_plan_GetFromForm(); @@ -63,18 +62,18 @@ function eva_performance_plan_PutUpdate() { if (eva_performance_plan_editMode === "UPDATE") { var successFunc1 = function (result) { AlertSuccess(result.message); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_performance_plan_API + data.id, data, successFunc1, AlertDanger); } // Create mode else { var successFunc2 = function (result) { AlertSuccess(result.message); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_performance_plan_API, data, successFunc2, AlertDanger); } } @@ -84,9 +83,9 @@ function eva_performance_plan_GoDelete(a) { var successFunc = function (result) { AlertSuccess(result.message); eva_performance_plan_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_performance_plan_API + a, null, successFunc, AlertDanger); } } From fb536d243669bec6c8a1dea42670aafee7b11463 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Mon, 5 Apr 2021 13:21:42 +0700 Subject: [PATCH 02/48] =?UTF-8?q?=E0=B8=97=E0=B8=94=E0=B8=A5=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82=20?= =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B9=83=E0=B8=AB?= =?UTF-8?q?=E0=B9=89=E0=B8=8A=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=9E=E0=B8=B5?= =?UTF-8?q?=E0=B9=88=E0=B8=A7=E0=B8=B4=20=E0=B9=80=E0=B8=82=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=9A=E0=B8=AA=E0=B9=81?= =?UTF-8?q?=E0=B8=81=E0=B8=99=E0=B8=99=E0=B8=B4=E0=B9=89=E0=B8=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs b/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs index f6e9fd4..01620e7 100644 --- a/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs +++ b/Models/eva_temp_fingerscan/eva_temp_fingerscanService.cs @@ -241,7 +241,7 @@ namespace TodoAPI2.Models public string RecieveFingerScanFromLocal(List model) { - var all_emp = emp.GetListByemployee_type(null, null); + var all_emp = emp.GetAllEmployee(); //var result = (from i in model // join e in all_emp on ClearName(i.fullname) equals ClearName(e.halfname) From c8f4d2317c5f22bdccbca5f39bd512acd3138cd0 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 6 Apr 2021 09:03:11 +0700 Subject: [PATCH 03/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=A3=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7?= =?UTF-8?q?=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=80?= =?UTF-8?q?=E0=B8=A5=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=80=E0=B8=87?= =?UTF-8?q?=E0=B8=B4=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99?= =?UTF-8?q?=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=9A=E0=B8=B8=E0=B8=84=E0=B8=84?= =?UTF-8?q?=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rep_eva_self_reviewControllers.cs | 166 +++++++++++++++--- .../rep_eva_self_reviewReportRequestModel.cs | 2 + Views/home/index2.cshtml | 3 + 3 files changed, 143 insertions(+), 28 deletions(-) diff --git a/ApiControllers/rep_eva_self_reviewControllers.cs b/ApiControllers/rep_eva_self_reviewControllers.cs index b48698a..ff099ff 100644 --- a/ApiControllers/rep_eva_self_reviewControllers.cs +++ b/ApiControllers/rep_eva_self_reviewControllers.cs @@ -16,6 +16,8 @@ using System.Data; using Microsoft.Extensions.Configuration; using System.IO; using System.Net; +using iTextSharp.text; +using iTextSharp.text.pdf; namespace TodoAPI2.Controllers { @@ -96,43 +98,39 @@ namespace TodoAPI2.Controllers { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); var httpclient = new WebClient(); - string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); - string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); - string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); - string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); - var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail - join y in _repository.GetContext().eva_adjust_postponement - on x.adjust_postponement_id equals y.id - where x.id == model.detail_id - select y).FirstOrDefault(); - if(temp != null) + var stream = new MemoryStream(); + Document document = new Document(); + PdfCopy writer = new PdfCopy(document, stream); + document.Open(); + + var data1 = GetReport01(model); + PdfReader reader1 = new PdfReader(data1); + reader1.ConsolidateNamedDestinations(); + for (int i = 1; i <= reader1.NumberOfPages; i++) { - model.theround = temp.theRound.ToString(); - model.theyear = temp.fiscal_year.ToString(); + PdfImportedPage page = writer.GetImportedPage(reader1, i); + writer.AddPage(page); } + reader1.Close(); - var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail - where x.id == model.detail_id - select x).FirstOrDefault(); - - if(temp2 != null && temp2.promoted_percentage.HasValue) + var data2 = GetReport02(model); + PdfReader reader2 = new PdfReader(data2); + reader2.ConsolidateNamedDestinations(); + for (int i = 1; i <= reader2.NumberOfPages; i++) { - model.x1 = temp2.promoted_percentage.Value > 0 ? "X" : ""; - model.x2 = temp2.promoted_percentage.Value <= 0 ? "X" : ""; + PdfImportedPage page = writer.GetImportedPage(reader2, i); + writer.AddPage(page); } + reader2.Close(); - string url = $"{mainurl}{reportsite}/rep_eva_self_review.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + writer.Close(); + document.Close(); - if (model.filetype == "xlsx") - { - url += "&ignorePagination=true"; - } + var datax = stream.ToArray(); + var streamx = new MemoryStream(datax); - var data = httpclient.DownloadData(url); - var stream = new MemoryStream(data); - - return File(stream, model.contentType); + return File(streamx, model.contentType); } catch (Exception ex) { @@ -141,6 +139,118 @@ namespace TodoAPI2.Controllers } } + private byte[] GetReport01(rep_eva_self_reviewReportRequestModel model) + { + var httpclient = new WebClient(); + string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); + string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); + string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); + string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); + + var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail + join y in _repository.GetContext().eva_adjust_postponement + on x.adjust_postponement_id equals y.id + where x.id == model.detail_id + select y).FirstOrDefault(); + if (temp != null) + { + model.theround = temp.theRound.ToString(); + model.theyear = temp.fiscal_year.ToString(); + + var all_eva = (from x in _repository.GetContext().eva_performance_plan + where x.fiscal_year == temp.fiscal_year + orderby x.theTime + select x).ToList(); + foreach (var x2 in all_eva) + { + var start = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.start_date).Min(); + var end = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.end_date).Min(); + model.thedesc = "ตั้งแต่วันที่ " + MyHelper.GetDateStringForReport(start) + " ถึงวันที่ " + MyHelper.GetDateStringForReport(end); + } + } + + var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail + where x.id == model.detail_id + select x).FirstOrDefault(); + + if (temp2 != null && temp2.promoted_percentage.HasValue) + { + model.x1 = temp2.promoted_percentage.Value > 0 ? "/" : ""; + model.x2 = temp2.promoted_percentage.Value <= 0 ? "/" : ""; + } + + + + string url = $"{mainurl}{reportsite}/rep_eva_self_review.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + return data; + } + + private byte[] GetReport02(rep_eva_self_reviewReportRequestModel model) + { + var httpclient = new WebClient(); + + string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); + string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); + string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); + string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); + + var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail + join y in _repository.GetContext().eva_adjust_postponement + on x.adjust_postponement_id equals y.id + where x.id == model.detail_id + select y).FirstOrDefault(); + if (temp != null) + { + model.theround = temp.theRound.ToString(); + model.theyear = temp.fiscal_year.ToString(); + + var all_eva = (from x in _repository.GetContext().eva_performance_plan + where x.fiscal_year == temp.fiscal_year + orderby x.theTime + select x).ToList(); + foreach (var x2 in all_eva) + { + var start = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.start_date).Min(); + var end = (from n in _repository.GetContext().eva_performance_plan_detail + where n.performance_plan_id == x2.id + select n.end_date).Min(); + model.thedesc = "ตั้งแต่วันที่ " + MyHelper.GetDateStringForReport(start) + " ถึงวันที่ " + MyHelper.GetDateStringForReport(end); + } + } + + var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail + where x.id == model.detail_id + select x).FirstOrDefault(); + + if (temp2 != null && temp2.promoted_percentage.HasValue) + { + model.x1 = temp2.promoted_percentage.Value > 0 ? "/" : ""; + model.x2 = temp2.promoted_percentage.Value <= 0 ? "/" : ""; + } + + string url = $"{mainurl}{reportsite}/rep_eva_self_review_cover.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + return data; + } } } diff --git a/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs b/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs index 44b3da7..b104b59 100644 --- a/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs +++ b/Models/rep_eva_self_review/rep_eva_self_reviewReportRequestModel.cs @@ -24,6 +24,8 @@ namespace TodoAPI2.Models public string x1 { get; set; } public string x2 { get; set; } + + public string thedesc { get; set; } } } diff --git a/Views/home/index2.cshtml b/Views/home/index2.cshtml index bcccc3b..893c8c9 100644 --- a/Views/home/index2.cshtml +++ b/Views/home/index2.cshtml @@ -85,6 +85,9 @@ + From 4844a0ad44a245221886b0d24b20d24c664a8d17 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 6 Apr 2021 11:34:25 +0700 Subject: [PATCH 04/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=E0=B8=88=E0=B8=AD=20migration=20=E0=B9=81=E0=B8=A5?= =?UTF-8?q?=E0=B8=B0=20=E0=B9=80=E0=B8=87=E0=B8=B7=E0=B9=88=E0=B8=AD?= =?UTF-8?q?=E0=B8=99=E0=B9=84=E0=B8=82=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=84?= =?UTF-8?q?=E0=B9=89=E0=B8=99=E0=B8=AB=E0=B8=B2=20=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=E0=B8=97=E0=B8=B3=E0=B9=81=E0=B8=9A=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B9=80=E0=B8=A1=E0=B8=B4=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXCEL/eva_adjust_postponement_detail.xlsx | Bin 11473 -> 12094 bytes ..._adjust_postponement_detail_migration.xlsx | Bin 11736 -> 12077 bytes ...406042734_AddMigrationField003.Designer.cs | 968 ++++++++++++++++++ .../20210406042734_AddMigrationField003.cs | 33 + Migrations/DataContextModelSnapshot.cs | 6 + .../eva_adjust_postponement_detailEntity.cs | 5 + ...postponement_detail_migrationInputModel.cs | 5 +- ...st_postponement_detail_migrationService.cs | 12 +- ..._postponement_detail_migrationViewModel.cs | 6 + ..._detail_migrationWithSelectionViewModel.cs | 1 + ...create_evaluation_detail_processService.cs | 4 +- .../external_employeeService.cs | 37 +- .../external_employeeViewModel.cs | 1 + ...eva_adjust_postponement_migration_d.cshtml | 294 +++--- Views/home/index2.cshtml | 5 +- ...va_adjust_postponement_detail_migration.js | 10 +- 16 files changed, 1237 insertions(+), 150 deletions(-) create mode 100644 Migrations/20210406042734_AddMigrationField003.Designer.cs create mode 100644 Migrations/20210406042734_AddMigrationField003.cs diff --git a/EXCEL/eva_adjust_postponement_detail.xlsx b/EXCEL/eva_adjust_postponement_detail.xlsx index 01eb6ddd6b5db245e194fbbaa30a48ccb0e54888..ea1254f357c62e20a22b9909f454272b1e60aab5 100644 GIT binary patch delta 6192 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 T9K^sWCIks59acQ^KO6o7^cHgl diff --git a/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx b/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx index 11b3716b5d8bf957f3f18233996d0887a58adbb3..ab69b66f9634cb1d51b48a1c7ba039bcbe808806 100644 GIT binary patch delta 6058 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 diff --git a/Migrations/20210406042734_AddMigrationField003.Designer.cs b/Migrations/20210406042734_AddMigrationField003.Designer.cs new file mode 100644 index 0000000..7174543 --- /dev/null +++ b/Migrations/20210406042734_AddMigrationField003.Designer.cs @@ -0,0 +1,968 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210406042734_AddMigrationField003")] + partial class AddMigrationField003 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210406042734_AddMigrationField003.cs b/Migrations/20210406042734_AddMigrationField003.cs new file mode 100644 index 0000000..32964d8 --- /dev/null +++ b/Migrations/20210406042734_AddMigrationField003.cs @@ -0,0 +1,33 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddMigrationField003 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "employee_no_at_this_time", + table: "eva_adjust_postponement_detail", + maxLength: 1000, + nullable: true); + + migrationBuilder.AddColumn( + name: "fullname_at_this_time", + table: "eva_adjust_postponement_detail", + maxLength: 1000, + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "employee_no_at_this_time", + table: "eva_adjust_postponement_detail"); + + migrationBuilder.DropColumn( + name: "fullname_at_this_time", + table: "eva_adjust_postponement_detail"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index f23c1f2..e97cdc4 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -85,6 +85,12 @@ namespace tb320eva.Migrations b.Property("employee_id"); + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + b.Property("isActive"); b.Property("level_score_final") diff --git a/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs b/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs index af984b3..1b0e773 100644 --- a/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs +++ b/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs @@ -74,6 +74,11 @@ namespace TodoAPI2.Models [MaxLength(255)] public string level_score_final { get; set; } + [MaxLength(1000)] + public string fullname_at_this_time { get; set; } + + [MaxLength(1000)] + public string employee_no_at_this_time { get; set; } } } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs index ba77dc4..6ce122f 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs @@ -58,8 +58,11 @@ namespace TodoAPI2.Models public int? order_at_this_time { get; set; } - public string active_mode { get; set; } + public string fullname_at_this_time { get; set; } + public string employee_no_at_this_time { get; set; } + + public string active_mode { get; set; } } } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs index 5b03e72..116f57e 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs @@ -158,6 +158,9 @@ namespace TodoAPI2.Models adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult2.fiscal_year, employee_id_external_linkage_external_name = fk_external_linkageResult3.fullname, + fullname_at_this_time = m_eva_adjust_postponement_detail_migration.fullname_at_this_time, + employee_no_at_this_time = m_eva_adjust_postponement_detail_migration.employee_no_at_this_time, + isActive = m_eva_adjust_postponement_detail_migration.isActive, Created = m_eva_adjust_postponement_detail_migration.created, Updated = m_eva_adjust_postponement_detail_migration.updated @@ -227,6 +230,9 @@ namespace TodoAPI2.Models existingEntity.org_at_this_time = model.org_at_this_time; existingEntity.order_at_this_time = model.order_at_this_time; + existingEntity.fullname_at_this_time = model.fullname_at_this_time; + existingEntity.employee_no_at_this_time = model.employee_no_at_this_time; + var updated = _repository.Update(id, existingEntity); return Get(updated.id); } @@ -266,6 +272,9 @@ namespace TodoAPI2.Models existingEntity.org_at_this_time = i.org_at_this_time; existingEntity.order_at_this_time = i.order_at_this_time; + existingEntity.fullname_at_this_time = i.fullname_at_this_time; + existingEntity.employee_no_at_this_time = i.employee_no_at_this_time; + //existingEntity.SetAutoField(_repository.Context); _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } @@ -325,7 +334,6 @@ namespace TodoAPI2.Models { var i = new Dictionary(); - i.Add("adjust_postponement_id", "รหัสอ้างอิงตาราง eva_adjust_postponement"); i.Add("adjust_postponement_id_eva_adjust_postponement_fiscal_year", "รหัสอ้างอิงตาราง eva_adjust_postponement"); i.Add("adjust_postponement_quota_id", "รหัสอ้างอิงตาราง eva_adjust_postponement"); @@ -344,6 +352,8 @@ namespace TodoAPI2.Models i.Add("new_sarary_with_quota", "เงินเดือนใหม่ (รวมโควต้า)"); i.Add("position_this_time", "ตำแหน่ง (ณ วันปรับเลื่อน)"); i.Add("level_this_time", "ระดับ (ณ วันปรับเลื่อน)"); + i.Add("fullname_at_this_time", "ชื่อ-ชื่อสกุล (ณ วันปรับเลื่อน)"); + i.Add("employee_no_at_this_time", "เลขที่พนักงาน (ณ วันปรับเลื่อน)"); return i; } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs index 9b27d4e..02c2fe4 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs @@ -51,13 +51,19 @@ namespace TodoAPI2.Models public decimal? migration_total_score { get; set; } public string migration_eva_result { get; set; } + public int? org_at_this_time { get; set; } public int? order_at_this_time { get; set; } + public string fullname_at_this_time { get; set; } + + public string employee_no_at_this_time { get; set; } + public int? adjust_postponement_id_eva_adjust_postponement_fiscal_year { get; set; } public int? adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year { get; set; } public string employee_id_external_linkage_external_name { get; set; } + public string org_at_this_time_external_linkage_external_name { get; set; } } } \ No newline at end of file diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs index 6110db5..497e94e 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationWithSelectionViewModel.cs @@ -9,5 +9,6 @@ namespace TodoAPI2.Models { public List item_employee_id { get; set; } public List item_org_at_this_time { get; set; } + } } \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs index d132d9d..6812c8c 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs @@ -198,7 +198,7 @@ namespace TodoAPI2.Models item.item_level_score = (from i in _repository.Context.eva_level_score orderby i.min_score select Mapper.Map(i)).ToList(); - item.item_employee_id = (from x in emp.GetListByemployee_type(null,null) select x).ToList(); + item.item_employee_id = (from x in emp.GetAllEmployee() where x.count_resigns == 0 select x).ToList(); return item; } @@ -206,7 +206,7 @@ namespace TodoAPI2.Models { var i = new eva_create_evaluation_detail_processWithSelectionViewModel(); i.item_org_id = ext.GetDepartmentData(); - i.item_employee_id = (from x in emp.GetListByemployee_type(null, null) select x).ToList(); + i.item_employee_id = (from x in emp.GetAllEmployee() where x.count_resigns == 0 select x).ToList(); //i.item_level_score = (from j in _repository.Context.eva_level_score // orderby j.min_score // select Mapper.Map(i)).ToList(); diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs index 54ea988..356faf3 100644 --- a/Models/external_employee/external_employeeService.cs +++ b/Models/external_employee/external_employeeService.cs @@ -95,7 +95,8 @@ hpt.position_type_name,he.packing_date,he.cost_of_living, LIMIT 1) IS NOT null THEN 'ช่วยปฎิบัติหน้าที่' ELSE null END) as remark_hrm_work_record, -org_type_depart.department_degree_id, he.timerecorder_id +org_type_depart.department_degree_id, he.timerecorder_id, +(select count(*) from hrm_resigns where hrm_resigns.employee_id = he.employee_id) as count_resigns from public.hrm_employees as he left join public.hrm_position_types as hpt on he.position_type_id=hpt.id @@ -108,6 +109,30 @@ left join public.hrm_employee_types as het on het.id = he.employee_type_id left join public.users as u on u.employee_id = he.employee_id left join public.org_type_departments as org_type_depart on orgdata.department_type_id = org_type_depart.id left join public.org_type_department_colors as org_depart_color on org_type_depart.department_degree_id = org_depart_color.id +left join (select orgdata.id,orgdata2.id as id2, +case when orgdata2.department_name is not null then +concat(orgdata2.department_name,' - ',orgdata.department_name) +else orgdata.department_name end as full_dep, +orgdata.department_name, +orgdata.department_code,detail.parent_department_id, +case +when org_type_depart.department_degree_id = 1 then orgdata.department_code::int*1000 +when detail.parent_department_id is not null and detail.parent_department_id>0 +then orgdata2.department_code::int*1000+orgdata.department_code::int +else orgdata.department_code::int*100000 end as sort_order,org_type_depart.department_degree_id +from public.{0}DepartmentData{0} orgdata +left join org_organization_chart_details detail on orgdata.id = detail.department_id +left join public.{0}DepartmentData{0} orgdata2 on orgdata2.id = detail.parent_department_id +left join public.org_type_departments as org_type_depart on orgdata.department_type_id = org_type_depart.id +left join public.org_type_department_colors as org_depart_color +on org_type_depart.department_degree_id = org_depart_color.id +where orgdata.department_name is not null +order by case +when org_type_depart.department_degree_id = 1 then orgdata.department_code::int*1000 +when detail.parent_department_id is not null and detail.parent_department_id>0 +then orgdata2.department_code::int*1000+orgdata.department_code::int +else orgdata.department_code::int*100000 end) as sorting_dep +on sorting_dep.id = he.department_id where he.deleted_at is null and hpt.deleted_at is null and hpl.deleted_at is null @@ -119,7 +144,7 @@ and het.deleted_at is null and u.deleted_at is null and org_type_depart.deleted_at is null and org_depart_color.deleted_at is null -order by he.firstname, he.lastname; +order by sorting_dep.sort_order, hpt.position_type_id, hpl.position_level_id, employee_no desc; ", '"'.ToString()); var para = db.GetParameterListNpgsql(); DataTable dt = db.ExecuteDataTableNpgsql(sql, para); @@ -210,6 +235,14 @@ order by he.firstname, he.lastname; { i.timerecorder_id = ""; } + if (dr["count_resigns"] != DBNull.Value) + { + i.count_resigns = Convert.ToInt32(dr["count_resigns"]); + } + else + { + i.count_resigns = 0; + } result.Add(i); } diff --git a/Models/external_employee/external_employeeViewModel.cs b/Models/external_employee/external_employeeViewModel.cs index 3c0e4fc..00bb673 100644 --- a/Models/external_employee/external_employeeViewModel.cs +++ b/Models/external_employee/external_employeeViewModel.cs @@ -69,6 +69,7 @@ namespace TodoAPI2.Models public string profile_picture { get; set; } public string timerecorder_id { get; set; } + public int count_resigns { get; set; } public int? worked_month // ทำงานมาแล้วกี่เดือน { diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml index f1c25e9..4ceca7b 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml @@ -5,6 +5,154 @@ Layout = "_LayoutDirect"; } +
@@ -172,145 +320,7 @@
-
-
บันทึกรายละเอียด
-
-
- -
-
- - - - - -
-
- - -
- -
- - -
- -
- - -
- -
-
- -
- - -
- -
- - -
-
-
- -
- - -
- - - -
- - -
- -
- - -
-
-
-
- - -
- -
- - -
- -
- - -
-
-
- - -
- - -
- -
- - -
-
- -
-
- - -
- -
- - -
-
-
-
- - -
- -
- - -
- -
- - -
-
- -
-
- - -
-
-
-
-
-
- -
-
- -
-
- -
- -
@section FooterPlaceHolder{ @@ -328,8 +338,12 @@ } $("#eva_adjust_postponement_migration_managed_by").select2(); - $("#eva_adjust_postponement_detail_migration_employee_id").select2(); - $("#eva_adjust_postponement_detail_migration_org_at_this_time").select2(); + $("#eva_adjust_postponement_detail_migration_employee_id").select2({ + dropdownParent: $('#eva_adjust_postponement_detail_migrationModel') + }); + $("#eva_adjust_postponement_detail_migration_org_at_this_time").select2({ + dropdownParent: $('#eva_adjust_postponement_detail_migrationModel') + }); SetupValidationRemark("eva_adjust_postponement_migration"); SetupValidationRemark("eva_adjust_postponement_detail_migration"); diff --git a/Views/home/index2.cshtml b/Views/home/index2.cshtml index 893c8c9..7a2fd7e 100644 --- a/Views/home/index2.cshtml +++ b/Views/home/index2.cshtml @@ -86,7 +86,10 @@
  • ·รายงานเงินเดือน
    +
  • diff --git a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js index 3cf8656..47f4b84 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js +++ b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js @@ -42,7 +42,8 @@ function eva_adjust_postponement_detail_migration_FeedDataToForm(data) { $("#eva_adjust_postponement_detail_migration_migration_eva_result").val(data.migration_eva_result); DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_detail_migration_org_at_this_time"), data, "id", "external_name", "item_org_at_this_time", data.org_at_this_time); $("#eva_adjust_postponement_detail_migration_order_at_this_time").val(data.order_at_this_time); - + $("#eva_adjust_postponement_detail_migration_fullname_at_this_time").val(data.fullname_at_this_time); + $("#eva_adjust_postponement_detail_migration_employee_no_at_this_time").val(data.employee_no_at_this_time); } function eva_adjust_postponement_detail_migration_GetFromForm() { @@ -69,6 +70,9 @@ function eva_adjust_postponement_detail_migration_GetFromForm() { eva_adjust_postponement_detail_migrationObject.migration_eva_result = $("#eva_adjust_postponement_detail_migration_migration_eva_result").val(); eva_adjust_postponement_detail_migrationObject.org_at_this_time = $("#eva_adjust_postponement_detail_migration_org_at_this_time").val(); eva_adjust_postponement_detail_migrationObject.order_at_this_time = $("#eva_adjust_postponement_detail_migration_order_at_this_time").val(); + eva_adjust_postponement_detail_migrationObject.fullname_at_this_time = $("#eva_adjust_postponement_detail_migration_fullname_at_this_time").val(); + eva_adjust_postponement_detail_migrationObject.employee_no_at_this_time = $("#eva_adjust_postponement_detail_migration_employee_no_at_this_time").val(); + return eva_adjust_postponement_detail_migrationObject; } @@ -100,7 +104,7 @@ function eva_adjust_postponement_detail_migration_GoCreate() { function eva_adjust_postponement_detail_migration_GoEdit(a) { // Incase model popup - alert("กรุณาเลื่อนจอ ไปด้านล่างสุด เพื่อกรอกแบบฟอร์มแก้ไขข้อมูล"); + //alert("กรุณาเลื่อนจอ ไปด้านล่างสุด เพื่อกรอกแบบฟอร์มแก้ไขข้อมูล"); eva_adjust_postponement_detail_migration_SetEditForm(a); // Incase open new page @@ -111,7 +115,7 @@ function eva_adjust_postponement_detail_migration_SetEditForm(a) { var successFunc = function (result) { eva_adjust_postponement_detail_migration_editMode = "UPDATE"; eva_adjust_postponement_detail_migration_FeedDataToForm(result); - //$("#eva_adjust_postponement_detail_migrationModel").modal("show"); + $("#eva_adjust_postponement_detail_migrationModel").modal("show"); endLoad(); }; startLoad(); From 58cc8018af3eadc843d3d20cdddbb0783c301210 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 6 Apr 2021 15:25:50 +0700 Subject: [PATCH 05/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B9=80=E0=B8=A3=E0=B8=B5=E0=B8=A2=E0=B8=87=E0=B8=A5=E0=B8=B3?= =?UTF-8?q?=E0=B8=94=E0=B8=B1=E0=B8=9A=E0=B8=AB=E0=B8=A5=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=82=E0=B9=89=E0=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ust_postponement_detail_quota_02Service.cs | 21 +++++++++++++----- ...reate_evaluation_detail_firstdocService.cs | 21 ++++++++++++++++-- ...create_evaluation_detail_processService.cs | 8 +++++-- .../eva_limit_frame_employeeService.cs | 2 +- .../eva_create_evaluation_detail_firstdoc.js | 22 ++++++++++++++++--- 5 files changed, 60 insertions(+), 14 deletions(-) diff --git a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs index 2528349..78931b6 100644 --- a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs +++ b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs @@ -142,22 +142,26 @@ namespace TodoAPI2.Models join fk_external_linkage2 in all_emp on m_eva_adjust_postponement_detail_quota_02.employee_id equals fk_external_linkage2.id into external_linkageResult2 - from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - - join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id - into sort_depResult2 - from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() join create_detail in _repository.Context.eva_create_evaluation_detail on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id into create_detailResult from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + join sort_dep in ext.GetSortingDep() on fk_create_detailResult.help_org_id.HasValue ? fk_create_detailResult.help_org_id : fk_external_linkageResult2.department_id equals sort_dep.id + into sort_depResult2 + from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + join create_data in _repository.Context.eva_create_evaluation on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_data.id into create_dataResult from fk_create_dataResult in create_dataResult.DefaultIfEmpty() + join sort_dep2 in ext.GetSortingDep() on fk_create_detailResult.help_org_id equals sort_dep2.id + into external_linkageResult11 + from fk_external_linkageResult11 in sort_depResult2.DefaultIfEmpty() + where 1==1 //&& (m_eva_adjust_postponement_detail_quota_02.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_detail_quota_02.adjust_postponement_quota_id == model.adjust_postponement_quota_id || !model.adjust_postponement_quota_id.HasValue) @@ -165,6 +169,9 @@ namespace TodoAPI2.Models orderby fk_sort_depResult2.external_code, + + fk_create_detailResult.help_org_id.HasValue ? 1 : 0, + //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, fk_external_linkageResult2.hpt_position_type_id, @@ -190,7 +197,9 @@ namespace TodoAPI2.Models emp_fullname = fk_external_linkageResult2.fullname, emp_position = fk_external_linkageResult2.position_name, emp_level = fk_external_linkageResult2.position_level_text, - emp_department_name = fk_sort_depResult2.external_name, + + emp_department_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_sort_depResult2.external_name, + total_score = fk_create_detailResult.score_supervisor, eva_result = fk_create_detailResult.level_score_supervisor, diff --git a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs index c070cba..f98ab71 100644 --- a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs +++ b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs @@ -254,6 +254,10 @@ namespace TodoAPI2.Models into external_employeeResult from fk_external_employee in external_employeeResult.DefaultIfEmpty() + join sort_dep in ext.GetSortingDep() on m_eva_create_evaluation_detail_agreement.help_org_id.HasValue? m_eva_create_evaluation_detail_agreement.help_org_id : fk_external_employee.department_id equals sort_dep.id + into sort_depResult2 + from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + join fk_external_chief in allemp on m_eva_create_evaluation_detail_agreement.chief equals fk_external_chief.id into external_chiefResult from fk_external_chief in external_chiefResult.DefaultIfEmpty() @@ -266,6 +270,10 @@ namespace TodoAPI2.Models into planResult from fk_planResult in planResult.DefaultIfEmpty() + join fk_external_linkage11 in ext.GetDepartmentData() on m_eva_create_evaluation_detail_agreement.help_org_id equals fk_external_linkage11.id + into external_linkageResult11 + from fk_external_linkageResult11 in external_linkageResult11.DefaultIfEmpty() + where 1 == 1 && (m_eva_create_evaluation_detail_agreement.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue) && (fk_external_employee.department_id == model.org_id || !model.org_id.HasValue) @@ -273,7 +281,16 @@ namespace TodoAPI2.Models && (fk_external_employee.fullname.Contains(model.search_employee_fullname) || string.IsNullOrEmpty(model.search_employee_fullname)) && (m_eva_create_evaluation_detail_agreement.employee_id == emp_id || m_eva_create_evaluation_detail_agreement.chief == emp_id) - orderby m_eva_create_evaluation_detail_agreement.created descending + orderby + fk_sort_depResult2.external_code, + //fk_external_employee.department_degree_id, + //fk_external_employee.department_code, + + (!string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? 1 : 0), + + fk_external_employee.hpt_position_type_id, + fk_external_employee.hpl_position_level_id, + fk_external_employee.employee_no select new eva_create_evaluation_detail_firstdocViewModel() { id = m_eva_create_evaluation_detail_agreement.id, @@ -296,7 +313,7 @@ namespace TodoAPI2.Models status_chief_a = m_eva_create_evaluation_detail_agreement.status_chief_a, status_supervisor = m_eva_create_evaluation_detail_agreement.status_supervisor, - org_id_external_linkage_external_name = fk_external_employee.department_name, + org_id_external_linkage_external_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_external_employee.department_name, status_self_click_date = m_eva_create_evaluation_detail_agreement.status_self_click_date, status_chief_click_date = m_eva_create_evaluation_detail_agreement.status_chief_click_date, diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs index 6812c8c..d5faef1 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs @@ -246,7 +246,7 @@ namespace TodoAPI2.Models into external_employeeResult from fk_external_employee in external_employeeResult.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_employee.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on m_eva_create_evaluation_detail_process.help_org_id.HasValue ? m_eva_create_evaluation_detail_process.help_org_id : fk_external_employee.department_id equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() @@ -262,6 +262,10 @@ namespace TodoAPI2.Models into planResult from fk_planResult in planResult.DefaultIfEmpty() + join fk_external_linkage11 in ext.GetDepartmentData() on m_eva_create_evaluation_detail_process.help_org_id equals fk_external_linkage11.id + into external_linkageResult11 + from fk_external_linkageResult11 in external_linkageResult11.DefaultIfEmpty() + where 1 == 1 && (m_eva_create_evaluation_detail_process.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue) && (all_org_id.Contains(fk_external_employee.department_id) || !model.org_id.HasValue) @@ -301,7 +305,7 @@ namespace TodoAPI2.Models search_employee_code = fk_external_employee.employee_no, search_employee_fullname = fk_external_employee.fullname, - org_id_external_linkage_external_name = fk_sort_depResult2.external_name, + org_id_external_linkage_external_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_external_employee.department_name, status_self = m_eva_create_evaluation_detail_process.status_self, status_chief = m_eva_create_evaluation_detail_process.status_chief, diff --git a/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs b/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs index 6118a25..795cd7d 100644 --- a/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs +++ b/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs @@ -156,7 +156,7 @@ namespace TodoAPI2.Models frame_group_guid_eva_limit_frame_group_group_guid = fk_eva_limit_frame_groupResult1.group_guid, employee_id_external_linkage_external_name = fk_external_linkageResult2.fullname, - org_id_external_linkage_external_name = fk_external_linkageResult3.external_name, + org_id_external_linkage_external_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_external_linkageResult3.external_name, help_org_id_external_linkage_external_name = fk_external_linkageResult11.external_name, isActive = m_eva_limit_frame_employee.isActive, diff --git a/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js b/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js index 17ca1de..b010ca8 100644 --- a/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js +++ b/wwwroot/js/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdoc.js @@ -177,7 +177,7 @@ function eva_create_evaluation_detail_firstdoc_GoDelete(a) { var eva_create_evaluation_detail_firstdocTableV; var eva_create_evaluation_detail_firstdoc_setupTable = function (result) { - console.log(result); + var groupColumn = 6; tmp = '"'; eva_create_evaluation_detail_firstdocTableV = $('#eva_create_evaluation_detail_firstdocTable').DataTable({ @@ -205,13 +205,29 @@ var eva_create_evaluation_detail_firstdoc_setupTable = function (result) { "render": function (data, type, row, meta) { return " "; } - } + }, + { "visible": false, "targets": groupColumn } ], "language": { "url": appsite + "/DataTables-1.10.16/thai.json" }, "paging": true, - "searching": false + "searching": false, + "drawCallback": function (settings) { + var api = this.api(); + var rows = api.rows({ page: 'current' }).nodes(); + var last = null; + + api.column(groupColumn, { page: 'current' }).data().each(function (group, i) { + if (last !== group) { + $(rows).eq(i).before( + '' + group + '' + ); + + last = group; + } + }); + } }); endLoad(); }; From 4623ca3ff3238621800738c3abbb044c5ffcc15d Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 6 Apr 2021 21:46:39 +0700 Subject: [PATCH 06/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B9=80=E0=B8=89=E0=B8=9E?= =?UTF-8?q?=E0=B8=B2=E0=B8=B0=E0=B8=AA=E0=B9=88=E0=B8=A7=E0=B8=99=E0=B8=97?= =?UTF-8?q?=E0=B8=B5=E0=B9=88=E0=B9=80=E0=B8=81=E0=B8=B5=E0=B9=88=E0=B8=A2?= =?UTF-8?q?=E0=B8=A7=E0=B8=81=E0=B8=B1=E0=B8=9A=E0=B8=A3=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99=20=E0=B9=81=E0=B8=A5=E0=B8=B0?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A1?= =?UTF-8?q?=E0=B8=A7=E0=B8=A5=E0=B8=9C=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rep_eva_limit_frame_planControllers.cs | 6 ++++ .../eva_limit_frame_groupService.cs | 36 +++++++++++++++++-- .../vw_limit_frame_planService.cs | 30 ++++++++++++++++ .../eva_limit_frame_group_d.js | 1 + 4 files changed, 71 insertions(+), 2 deletions(-) diff --git a/ApiControllers/rep_eva_limit_frame_planControllers.cs b/ApiControllers/rep_eva_limit_frame_planControllers.cs index 7abfaf8..6483992 100644 --- a/ApiControllers/rep_eva_limit_frame_planControllers.cs +++ b/ApiControllers/rep_eva_limit_frame_planControllers.cs @@ -138,7 +138,13 @@ namespace TodoAPI2.Controllers reader.Close(); var all_group = (from t in _repository.GetContext().eva_limit_frame_group + + join fk_eva_evaluation_group2 in _repository.GetContext().eva_evaluation_group on t.group_guid equals fk_eva_evaluation_group2.id + into eva_evaluation_groupResult2 + from fk_eva_evaluation_groupResult2 in eva_evaluation_groupResult2.DefaultIfEmpty() + where t.frame_plan_guid == model.frame_plan_guid + orderby fk_eva_evaluation_groupResult2.code select t); foreach(var u in all_group) { diff --git a/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs b/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs index d0f4ed7..17d2d9b 100644 --- a/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs +++ b/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs @@ -22,12 +22,15 @@ namespace TodoAPI2.Models private IBaseRepository2 _repository; private IMyDatabase db; private Iexternal_linkageService ext; + private Iexternal_employeeService emp; - public eva_limit_frame_groupService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) + public eva_limit_frame_groupService(IBaseRepository2 repository, + IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp) { _repository = repository; db = mydb; ext = inext; + emp = inemp; } #region Private Functions @@ -172,6 +175,18 @@ namespace TodoAPI2.Models public eva_limit_frame_groupViewModel Update(Guid id, eva_limit_frame_groupInputModel model, bool is_force_save) { var existingEntity = _repository.Get(id); + + var plan = (from i in _repository.Context.eva_limit_frame_plan where i.plan_guid == existingEntity.frame_plan_guid select i).FirstOrDefault(); + + var all_all_emp = emp.GetAllEmployee(); + var mapping_dept = emp.GetDeptMapping(); + var working_record = from i in emp.GetWorkingRecord() +// where +//plan.executed_date.HasValue +//&& i.start_date <= plan.executed_date +//&& i.end_date >= plan.executed_date + select i; + if (existingEntity != null) { existingEntity.frame_plan_guid = model.frame_plan_guid; @@ -182,7 +197,24 @@ namespace TodoAPI2.Models existingEntity.total_salary_limit_rounded = model.total_salary_limit_rounded; existingEntity.remark = model.remark; - existingEntity.SetAutoField(_repository.Context); + foreach (var y in from z in _repository.Context.eva_limit_frame_employee where z.frame_group_guid == model.id orderby z.order_of_data select z) + { + int j = 1; + if (y.help_org_id.HasValue) + { + var theemp = (from q in all_all_emp where q.id == y.employee_id select q).FirstOrDefault(); + var thedetail = (from r in working_record where r.employee_id == y.employee_id select r).FirstOrDefault(); + var help_at = (from s in mapping_dept where s.id == thedetail.place select s).FirstOrDefault(); + if (theemp != null && thedetail != null && help_at != null) + { + if (model.remark != "") existingEntity.remark += "\n"; + existingEntity.remark += $"{j}.ในลำดับที่ {y.order_of_data} {theemp.fullname} ตำแหน่ง{theemp.position_name} {theemp.department_name} \nมาช่วยปฏิบัติงานที่{help_at.department_name} ตั้งแต่วันที่ {MyHelper.GetDateStringForReport(thedetail.start_date)} - {MyHelper.GetDateStringForReport(thedetail.end_date)} \nตาม{thedetail.subject}"; + } + j++; + } + } + + existingEntity.SetAutoField(_repository.Context); if (is_force_save) { diff --git a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs index 2195ba6..354cbe9 100644 --- a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs +++ b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs @@ -276,6 +276,15 @@ namespace TodoAPI2.Models public vw_limit_frame_planViewModel Update(Guid id, vw_limit_frame_planInputModel model, bool is_force_save) { var existingEntity = _repository.Get(id); + var all_all_emp = emp.GetAllEmployee(); + var mapping_dept = emp.GetDeptMapping(); + var working_record = from i in emp.GetWorkingRecord() + where +model.executed_date.HasValue +&& i.start_date <= model.executed_date +&& i.end_date >= model.executed_date + select i; + if (existingEntity != null) { existingEntity.plan_guid = model.plan_guid; @@ -286,6 +295,27 @@ namespace TodoAPI2.Models existingEntity.limit_frame_005_total = model.limit_frame_005_total; existingEntity.limit_frame_005_total_rounded = model.limit_frame_005_total_rounded; + foreach (var x in from i in _repository.Context.eva_limit_frame_group where i.frame_plan_guid == id select i) + { + x.remark = ""; + foreach (var y in from z in _repository.Context.eva_limit_frame_employee where z.frame_group_guid == x.id orderby z.order_of_data select z) + { + int j = 1; + if (y.help_org_id.HasValue) + { + var theemp = (from q in all_all_emp where q.id == y.employee_id select q).FirstOrDefault(); + var thedetail = (from r in working_record where r.employee_id == y.employee_id select r).FirstOrDefault(); + var help_at = (from s in mapping_dept where s.id == thedetail.place select s).FirstOrDefault(); + if (theemp != null && thedetail != null && help_at != null) + { + if (x.remark != "") x.remark += "\n"; + x.remark += $"{j}.ในลำดับที่ {y.order_of_data} {theemp.fullname} ตำแหน่ง{theemp.position_name} {theemp.department_name} \nมาช่วยปฏิบัติงานที่{help_at.department_name} ตั้งแต่วันที่ {MyHelper.GetDateStringForReport(thedetail.start_date)} - {MyHelper.GetDateStringForReport(thedetail.end_date)} \nตาม{thedetail.subject}"; + } + j++; + } + } + } + existingEntity.SetAutoField(_repository.Context); if (is_force_save) diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js index a8d7cb7..a728452 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js @@ -72,6 +72,7 @@ function eva_limit_frame_group_PutUpdate() { if (eva_limit_frame_group_editMode === "UPDATE") { var successFunc1 = function (result) { AlertSuccess(result.code + " " + result.message); + window.location.reload(); endLoad(); }; startLoad(); From c408b8aa298ba3ed0cfbfe2f735e6ebd947b3fa1 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Wed, 7 Apr 2021 22:40:23 +0700 Subject: [PATCH 07/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=9A?= =?UTF-8?q?=E0=B8=B1=E0=B8=81=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=87?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1?= =?UTF-8?q?=E0=B8=95=E0=B8=B4=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B9=80?= =?UTF-8?q?=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99=20=E0=B8=81=E0=B8=A3?= =?UTF-8?q?=E0=B8=93=E0=B8=B5=20record=20=E0=B9=84=E0=B8=A1=E0=B9=88?= =?UTF-8?q?=E0=B8=AA=E0=B8=A1=E0=B8=9A=E0=B8=B9=E0=B8=A3=E0=B8=93=E0=B9=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rep_eva_self_reviewControllers.cs | 28 +++++++++++++++---- .../eva_self_review/eva_self_reviewService.cs | 12 ++++---- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/ApiControllers/rep_eva_self_reviewControllers.cs b/ApiControllers/rep_eva_self_reviewControllers.cs index ff099ff..8037307 100644 --- a/ApiControllers/rep_eva_self_reviewControllers.cs +++ b/ApiControllers/rep_eva_self_reviewControllers.cs @@ -149,10 +149,17 @@ namespace TodoAPI2.Controllers string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail - join y in _repository.GetContext().eva_adjust_postponement - on x.adjust_postponement_id equals y.id + + join fk_eva_adjust_postponement1 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_id equals fk_eva_adjust_postponement1.id + into eva_adjust_postponementResult1 + from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() + + join fk_eva_adjust_postponement2 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_quota_id equals fk_eva_adjust_postponement2.id + into eva_adjust_postponementResult2 + from fk_eva_adjust_postponementResult2 in eva_adjust_postponementResult2.DefaultIfEmpty() + where x.id == model.detail_id - select y).FirstOrDefault(); + select fk_eva_adjust_postponementResult1 == null? fk_eva_adjust_postponementResult1 : fk_eva_adjust_postponementResult2).FirstOrDefault(); if (temp != null) { model.theround = temp.theRound.ToString(); @@ -160,6 +167,7 @@ namespace TodoAPI2.Controllers var all_eva = (from x in _repository.GetContext().eva_performance_plan where x.fiscal_year == temp.fiscal_year + && x.theTime == temp.theRound orderby x.theTime select x).ToList(); foreach (var x2 in all_eva) @@ -207,10 +215,17 @@ namespace TodoAPI2.Controllers string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); var temp = (from x in _repository.GetContext().eva_adjust_postponement_detail - join y in _repository.GetContext().eva_adjust_postponement - on x.adjust_postponement_id equals y.id + + join fk_eva_adjust_postponement1 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_id equals fk_eva_adjust_postponement1.id + into eva_adjust_postponementResult1 + from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() + + join fk_eva_adjust_postponement2 in _repository.GetContext().eva_adjust_postponement on x.adjust_postponement_quota_id equals fk_eva_adjust_postponement2.id + into eva_adjust_postponementResult2 + from fk_eva_adjust_postponementResult2 in eva_adjust_postponementResult2.DefaultIfEmpty() + where x.id == model.detail_id - select y).FirstOrDefault(); + select fk_eva_adjust_postponementResult1 == null ? fk_eva_adjust_postponementResult1 : fk_eva_adjust_postponementResult2).FirstOrDefault(); if (temp != null) { model.theround = temp.theRound.ToString(); @@ -218,6 +233,7 @@ namespace TodoAPI2.Controllers var all_eva = (from x in _repository.GetContext().eva_performance_plan where x.fiscal_year == temp.fiscal_year + && x.theTime == temp.theRound orderby x.theTime select x).ToList(); foreach (var x2 in all_eva) diff --git a/Models/eva_self_review/eva_self_reviewService.cs b/Models/eva_self_review/eva_self_reviewService.cs index 5c91dbd..43586b6 100644 --- a/Models/eva_self_review/eva_self_reviewService.cs +++ b/Models/eva_self_review/eva_self_reviewService.cs @@ -154,13 +154,13 @@ namespace TodoAPI2.Models adjust_postponement_id = m_eva_self_review.adjust_postponement_id, adjust_postponement_quota_id = m_eva_self_review.adjust_postponement_quota_id, employee_id = m_eva_self_review.employee_id, - eva_year = fk_eva_adjust_postponementResult1.fiscal_year, - eva_no = fk_eva_adjust_postponementResult1.theRound, + eva_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, + eva_no = fk_eva_adjust_postponementResult1.theRound.HasValue? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, - adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, - adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult2.fiscal_year, - eva_year_external_linkage_external_name = fk_eva_adjust_postponementResult1.fiscal_year.ToString(), - eva_no_external_linkage_external_name = fk_eva_adjust_postponementResult1.theRound.ToString(), + adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, + adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, + eva_year_external_linkage_external_name = (fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year).ToString(), + eva_no_external_linkage_external_name = (fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound).ToString(), isActive = m_eva_self_review.isActive, Created = m_eva_self_review.created, From bdc7560b9e9ec05bad349019786b5fac66551972 Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Thu, 8 Apr 2021 00:02:50 +0700 Subject: [PATCH 08/48] =?UTF-8?q?clickup=20#71vr8a=20=E0=B8=97=E0=B8=B3?= =?UTF-8?q?=E0=B8=95=E0=B8=B1=E0=B9=89=E0=B8=87=E0=B9=81=E0=B8=95=E0=B9=88?= =?UTF-8?q?=20=E0=B8=A7=E0=B8=B1=E0=B8=99=20=E0=B8=9E=E0=B8=B8=E0=B8=98?= =?UTF-8?q?=E0=B8=97=E0=B8=B5=E0=B9=88=2007/04/2564=20=E0=B9=80=E0=B8=A7?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=2021.00=20-=2000.00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...st_postponement_detail_normal_02_inline.js | 6 +- .../eva_adjust_postponement_normal_d.js | 90 +++++++++---------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js index f19d41c..392e764 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js +++ b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js @@ -29,7 +29,7 @@ function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankI data.achievement = Number(data.achievement).toFixed(digits_position); data.competency = Number(data.competency).toFixed(digits_position); data.total_score = Number(data.total_score).toFixed(digits_position); - + $("#eva_adjust_postponement_detail_normal_02_id_" + i).val(data.id); $("#eva_adjust_postponement_detail_normal_02_adjust_postponement_id_" + i).val(data.adjust_postponement_id); $("#eva_adjust_postponement_detail_normal_02_employee_id_" + i).val(data.employee_id); @@ -111,7 +111,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { if (cur_dep !== data.emp_department_name) { cur_dep = data.emp_department_name; - tag = "" + cur_dep + ""; + tag = "" + cur_dep + ""; } tag += ''; @@ -130,7 +130,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += '

    '; tag += '

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

    '; tag += '

    '; tag += '

    '; diff --git a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js index 0916634..a9ab6d4 100644 --- a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js +++ b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js @@ -9,8 +9,8 @@ function eva_adjust_postponement_normal_FeedDataToForm(data) { $("#eva_adjust_postponement_normal_theDate").val(formatDate(data.theDate)); $("#eva_adjust_postponement_normal_theRound").val(data.theRound); DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_create_evaluation_id"), data, "id", "description", "item_create_evaluation_id", data.create_evaluation_id); - $("#eva_adjust_postponement_normal_limit").maskMoney('mask',data.limit); - $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask',data.limit_quota); + $("#eva_adjust_postponement_normal_limit").val(coreFormatPrice(data.limit, 3)); + $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask', data.limit_quota); $("#eva_adjust_postponement_normal_limit_frame").val(data.limit_frame); $("#eva_adjust_postponement_normal_percentage").val(data.percentage); @@ -28,9 +28,9 @@ function eva_adjust_postponement_normal_GetFromForm() { eva_adjust_postponement_normalObject.theDate = getDate($("#eva_adjust_postponement_normal_theDate").val()); eva_adjust_postponement_normalObject.theRound = $("#eva_adjust_postponement_normal_theRound").val(); eva_adjust_postponement_normalObject.create_evaluation_id = $("#eva_adjust_postponement_normal_create_evaluation_id").val(); - eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g,''); + eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g, ''); eva_adjust_postponement_normalObject.limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); - eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g,''); + eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g, ''); eva_adjust_postponement_normalObject.percentage = $("#eva_adjust_postponement_normal_percentage").val(); eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); //eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); @@ -38,9 +38,9 @@ function eva_adjust_postponement_normal_GetFromForm() { var eva_adjust_postponement_detail_normal_02 = []; $('#eva_adjust_postponement_detail_normal_02Body tr').each(function () { var i = $(this).find("#rowCount").text(); - var eacheva_adjust_postponement_detail_normal_02 = eva_adjust_postponement_detail_normal_02_GetFromForm($(this), i); - eva_adjust_postponement_detail_normal_02.push(eacheva_adjust_postponement_detail_normal_02); - }); + var eacheva_adjust_postponement_detail_normal_02 = eva_adjust_postponement_detail_normal_02_GetFromForm($(this), i); + eva_adjust_postponement_detail_normal_02.push(eacheva_adjust_postponement_detail_normal_02); + }); eva_adjust_postponement_normalObject.eva_adjust_postponement_detail_normal_02_model = eva_adjust_postponement_detail_normal_02; @@ -50,9 +50,9 @@ function eva_adjust_postponement_normal_GetFromForm() { function eva_adjust_postponement_normal_InitialForm() { var successFunc = function (result) { eva_adjust_postponement_normal_FeedDataToForm(result); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + "GetBlankItem", successFunc, AlertDanger); } @@ -65,15 +65,15 @@ function eva_adjust_postponement_normal_SetEditForm(a) { //Oneva_adjust_postponement_normal_limit_frameChange(); //Oneva_adjust_postponement_normal_percentageChange(); Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + a, successFunc, AlertDanger); } function eva_adjust_postponement_normal_SetCreateForm() { eva_adjust_postponement_normal_editMode = "CREATE"; - eva_adjust_postponement_normal_InitialForm(); + eva_adjust_postponement_normal_InitialForm(); } //================= Update and Delete ========================================= @@ -83,8 +83,7 @@ var eva_adjust_postponement_normal_customValidation = function (group) { }; function eva_adjust_postponement_normal_PutUpdate() { - if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) - { + if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) { return; } var data = eva_adjust_postponement_normal_GetFromForm(); @@ -95,18 +94,18 @@ function eva_adjust_postponement_normal_PutUpdate() { eva_adjust_postponement_detail_normal_02_Save(getUrlParameter("id")); //AlertSuccess(result.message); //setTimeout(window.location.reload(), 3000); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_adjust_postponement_normal_API + data.id, data, successFunc1, AlertDanger); } // Create mode else { var successFunc2 = function (result) { AlertSuccess(result.message); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_adjust_postponement_normal_API, data, successFunc2, AlertDanger); } } @@ -116,72 +115,73 @@ function eva_adjust_postponement_normal_GoDelete(a) { var successFunc = function (result) { AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_adjust_postponement_normal_API + a, null, successFunc, AlertDanger); } } //================= Control Function ========================================= -function Oneva_adjust_postponement_normal_limit_frameChange(){ - var limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g,''); +function Oneva_adjust_postponement_normal_limit_frameChange() { + var limit = $("#eva_adjust_postponement_normal_limit").val().replace(/[,-]/g, ''); var limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); - limit_frame = Math.round(limit_frame*100)/100; + limit_frame = (Math.round(limit_frame * 1000) / 1000).toFixed(3); $("#eva_adjust_postponement_normal_limit_frame").val(limit_frame); //$("#eva_adjust_postponement_normal_limit_quota").val(Math.ceil((limit*limit_frame/1000))*10); - $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask',Math.ceil((limit*limit_frame/1000))*10); + $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask', Math.ceil((limit * limit_frame / 1000)) * 10); } -function Oneva_adjust_postponement_normal_percentageChange(){ +function Oneva_adjust_postponement_normal_percentageChange() { var percentage = $("#eva_adjust_postponement_normal_percentage").val(); - percentage = Math.round(percentage*100)/100; + percentage = Math.round(percentage * 100) / 100; $("#eva_adjust_postponement_normal_percentage").val(percentage) $('#eva_adjust_postponement_detail_normal_02Body tr').each(function () { var i = $(this).find("#rowCount").text(); $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage); - }); + }); Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); } -function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(){ - var current_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g,''); +function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged() { + var current_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g, ''); var sum_postpone = 0; var sum_before = 0; var sum_after = 0; - + $('#eva_adjust_postponement_detail_normal_02Body tr').each(function () { var i = $(this).find("#rowCount").text(); - if(i){ - var percentage = $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val().replace(/[,-]/g,''); - percentage = Math.round(percentage*100)/100; - $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage); - - var middle = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_middle_" + i).text().replace(/[,-]/g,'')); - var old_salary = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_sarary_" + i).text().replace(/[,-]/g,'')); - var new_added = Math.ceil(((percentage * middle)/100)/10)*10; + if (i) { + var percentage = $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val().replace(/[,-]/g, ''); + percentage = Math.round(percentage * 1000) / 1000; + $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage.toFixed(3)); + + var middle = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_middle_" + i).text().replace(/[,-]/g, '')); + var old_salary = parseFloat($(this).find("#eva_adjust_postponement_detail_normal_02_sarary_" + i).text().replace(/[,-]/g, '')); + var new_added = Math.ceil(((percentage * middle) / 100) / 10) * 10; var new_salary = parseFloat(old_salary + new_added); - $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(new_added); + var format_new_added = coreFormatPrice(new_added, 3); + + $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(format_new_added); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(formatNumber(new_salary)); - if(new_salary < 13285){ - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(13285-new_salary); - }else{ + if (new_salary < 13285) { + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(13285 - new_salary); + } else { $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(0); } sum_postpone += new_added; sum_before += old_salary; sum_after += new_salary; } - }); + }); // $("#remain_cost").val(Math.round((current_quota - sum_postpone)*100)/100); $("#remain_cost").maskMoney('mask', Math.round((current_quota - sum_postpone) * 100) / 100); $("#sum_before").text(formatNumber(sum_before)); $("#sum_after").text(formatNumber(sum_after)); -} - +} \ No newline at end of file From 4848843fc1764e4c878c0ef216c50c8c7be02eb8 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Fri, 9 Apr 2021 09:05:55 +0700 Subject: [PATCH 09/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=20migration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXCEL/eva_adjust_postponement_detail.xlsx | Bin 12094 -> 11931 bytes ..._adjust_postponement_detail_migration.xlsx | Bin 12077 -> 11923 bytes ...9015522_Addis_for_postponement.Designer.cs | 970 ++++++++++++++++++ .../20210409015522_Addis_for_postponement.cs | 22 + Migrations/DataContextModelSnapshot.cs | 2 + .../eva_adjust_postponement_detailEntity.cs | 2 + ...postponement_detail_migrationInputModel.cs | 2 + ...st_postponement_detail_migrationService.cs | 4 + ..._postponement_detail_migrationViewModel.cs | 2 + ...eva_adjust_postponement_migration_d.cshtml | 4 + ...create_evaluation_detail_firstdoc_d.cshtml | 2 +- ...va_adjust_postponement_detail_migration.js | 4 + 12 files changed, 1013 insertions(+), 1 deletion(-) create mode 100644 Migrations/20210409015522_Addis_for_postponement.Designer.cs create mode 100644 Migrations/20210409015522_Addis_for_postponement.cs diff --git a/EXCEL/eva_adjust_postponement_detail.xlsx b/EXCEL/eva_adjust_postponement_detail.xlsx index ea1254f357c62e20a22b9909f454272b1e60aab5..dbed5e3e436c9a9a2a828f1ed44c83443eb3d76f 100644 GIT binary patch delta 5517 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 diff --git a/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx b/EXCEL/eva_adjust_postponement_detail@eva_adjust_postponement_detail_migration.xlsx index ab69b66f9634cb1d51b48a1c7ba039bcbe808806..db1f210590c958024b74bf986c8d18ec9393cec3 100644 GIT binary patch delta 5398 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�)DoiCbF` z6NsBkEzmj$M_cG1*DQGEEi*?x4yqvvgY$y%$#RZ3$;_Cbl_Dd8Suc}-!`efWH?dG; z4+pdor0C3nD=ayo_k`QzYbSAdl~gD3KFx)?$1I-!50ohPlABV^B0)^+geqpzG4O89 z%$sw>zCGIuZ^s9Aey@h$F##-82rx%080=q<)A3!6WdBIg`h!?VC|&R$Q&S|X>af~= z${`qxZD0v;dgFG*%F)3_VLYvbem;t%iTk=;NF^(rTeb3r;laTytz&J?IVmzw2>Xa) zc*ru+Pdm>is}75w&y6UVgXt_m_JYQ)~Of$l>71 zBqeO6otRzPEzhT1vKKJONamifqx3?yS08q>^$Jk>j$?W^$&_eU6ril7D&V|*yK&Fo z{cy|lcA**oDxcLnerH2Kvf=m8^~4NmNhKrhS7hwfP4=7u2HOvP3WFBhC)`0B<8NuT0S!Zd0um}!*WW& zknC*o2+So%%nd{${LcI07WnT^;Hls5v8OVa0Km#q0Dv5TTIGI*EQ1)vEXkAmDs4)? z_X`XaA}G-UThs&^>SlH07caqVZPr+O76nd*nHSD(ACa8$TWTCP6b6Wxox6aTJ2|5n+Wrx$TQyHhUmB5p7$as%OW0e_sF5t$4L zkJm?|#oN!Bh{cvpL2zBtAul12YjuLjf5zWVL6Ekl(=X*YB z9s9y=;tuC+P5e{=NBN;0)P+<|zy|s%q~HJ}!-DxrbVu((xwdw6Av679YM~?jp=Y6E z`Q8?mDeArUSpT@LG!-s{pJfFlI+$-|iy`X6;-DuV3)10Nef80&@F0|6$`qgeLhnvJ zZi@_tbh;`=)~t!%Ri+_#cCWuk{w%y`nVBGPywsGk@j_hie(9a+5WBNC^w8pZm56P) zru}sprTvp+?oItZ21nO9^WJ6{A%>k*0ifOT3ur)=W-vZpN42}Q)haJwt~aR5+&Z<^ z`&ln!b?K(YfVm z16mm~t-9lritMR;DACEHe!mF2`{_L%ghzinq1JaX|8u-sJQJc^>Ur_j!gG7q2;F(+ z-47ZW?+^I=6k(+)_8_ zO?lBqxI}>mHKsdMQ#!uDOH*&6t`jKlSzFMPchsptFXNjk$Z4Y`?r}IHC@#-KiZ*0<# z&GCXyo_Jw*bqzBVQ)zPF)ETG0+%C|@^zUN8d=o4dR=8X6p$p1a6j_|6(D~5nat?z> zJHw9xv1J5D%h-?sm~a!Nq#LKN*0R(L3s{RKOz%@GgZUc1d!F$2r;|V$Xc&3>pNP9; zBa%z7n&YJe@qSeI`^w34RWuOa?>uzMo~jOGlq&`IdgP4c$O!yIYd|d6^8Zds*pT#d zmp>qp!j)az(!I=Dl(NFK#QAAZ#<*{pY|wsb+AyXObamz_c0=^9V<=@NN5>R1wKk~f zVSSB;{+0uE%jSh_>ZXxMUUpeV+p=WHVFE>!;3x-VqZ9UttCK|_Tj|RXNTJKY z{^GScii6`e)^J9*QI@ft_`IA5$gD?TyUeMOP8yo!GIa4%Y?%+YLNxnB&U0K~qeU~NQ zPRy+4x3}SP0I)4-ODK`fnzK z_Fqr=FMy#=xhd%WZ_EB~5CDh+{%zngXc#CUj}{sh3eF?;?**VLc%GqAqI!9x&{Nn^ NSiCQ=A)Nng`yVxgI*b4S delta 5542 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 I`OoZs0AC_di2wiq diff --git a/Migrations/20210409015522_Addis_for_postponement.Designer.cs b/Migrations/20210409015522_Addis_for_postponement.Designer.cs new file mode 100644 index 0000000..ad7eb9f --- /dev/null +++ b/Migrations/20210409015522_Addis_for_postponement.Designer.cs @@ -0,0 +1,970 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210409015522_Addis_for_postponement")] + partial class Addis_for_postponement + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210409015522_Addis_for_postponement.cs b/Migrations/20210409015522_Addis_for_postponement.cs new file mode 100644 index 0000000..9ef9afd --- /dev/null +++ b/Migrations/20210409015522_Addis_for_postponement.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class Addis_for_postponement : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "is_for_postponement", + table: "eva_adjust_postponement_detail", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "is_for_postponement", + table: "eva_adjust_postponement_detail"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index e97cdc4..9d42432 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -93,6 +93,8 @@ namespace tb320eva.Migrations b.Property("isActive"); + b.Property("is_for_postponement"); + b.Property("level_score_final") .HasMaxLength(255); diff --git a/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs b/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs index 1b0e773..2d99504 100644 --- a/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs +++ b/Models/eva_adjust_postponement_detail/eva_adjust_postponement_detailEntity.cs @@ -79,6 +79,8 @@ namespace TodoAPI2.Models [MaxLength(1000)] public string employee_no_at_this_time { get; set; } + + public bool? is_for_postponement { get; set; } } } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs index 6ce122f..7be4c2e 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationInputModel.cs @@ -62,6 +62,8 @@ namespace TodoAPI2.Models public string employee_no_at_this_time { get; set; } + public bool? is_for_postponement { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs index 116f57e..9948f83 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs @@ -160,6 +160,7 @@ namespace TodoAPI2.Models fullname_at_this_time = m_eva_adjust_postponement_detail_migration.fullname_at_this_time, employee_no_at_this_time = m_eva_adjust_postponement_detail_migration.employee_no_at_this_time, + is_for_postponement = m_eva_adjust_postponement_detail_migration.is_for_postponement, isActive = m_eva_adjust_postponement_detail_migration.isActive, Created = m_eva_adjust_postponement_detail_migration.created, @@ -232,6 +233,7 @@ namespace TodoAPI2.Models existingEntity.fullname_at_this_time = model.fullname_at_this_time; existingEntity.employee_no_at_this_time = model.employee_no_at_this_time; + existingEntity.is_for_postponement = model.is_for_postponement; var updated = _repository.Update(id, existingEntity); return Get(updated.id); @@ -274,6 +276,7 @@ namespace TodoAPI2.Models existingEntity.fullname_at_this_time = i.fullname_at_this_time; existingEntity.employee_no_at_this_time = i.employee_no_at_this_time; + existingEntity.is_for_postponement = i.is_for_postponement; //existingEntity.SetAutoField(_repository.Context); _repository.UpdateWithoutCommit(i.id.Value, existingEntity); @@ -354,6 +357,7 @@ namespace TodoAPI2.Models i.Add("level_this_time", "ระดับ (ณ วันปรับเลื่อน)"); i.Add("fullname_at_this_time", "ชื่อ-ชื่อสกุล (ณ วันปรับเลื่อน)"); i.Add("employee_no_at_this_time", "เลขที่พนักงาน (ณ วันปรับเลื่อน)"); + i.Add("is_for_postponement", "ใช้สำหรับ ปรับเลื่อนเงินเดือน/โควตา"); return i; } diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs index 02c2fe4..5e45cc9 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs @@ -60,6 +60,8 @@ namespace TodoAPI2.Models public string employee_no_at_this_time { get; set; } + public bool? is_for_postponement { get; set; } + public int? adjust_postponement_id_eva_adjust_postponement_fiscal_year { get; set; } public int? adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year { get; set; } public string employee_id_external_linkage_external_name { get; set; } diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml index 4ceca7b..5893661 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml @@ -110,6 +110,10 @@ +

    + + +
    diff --git a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml index 5887f65..f3f31a2 100644 --- a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml +++ b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml @@ -49,7 +49,7 @@
    - +
    diff --git a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js index 47f4b84..461d280 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js +++ b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js @@ -44,6 +44,7 @@ function eva_adjust_postponement_detail_migration_FeedDataToForm(data) { $("#eva_adjust_postponement_detail_migration_order_at_this_time").val(data.order_at_this_time); $("#eva_adjust_postponement_detail_migration_fullname_at_this_time").val(data.fullname_at_this_time); $("#eva_adjust_postponement_detail_migration_employee_no_at_this_time").val(data.employee_no_at_this_time); + CheckBoxFeedDataToForm($("#eva_adjust_postponement_detail_migration_is_for_postponement"), data.is_for_postponement); } function eva_adjust_postponement_detail_migration_GetFromForm() { @@ -72,6 +73,8 @@ function eva_adjust_postponement_detail_migration_GetFromForm() { eva_adjust_postponement_detail_migrationObject.order_at_this_time = $("#eva_adjust_postponement_detail_migration_order_at_this_time").val(); eva_adjust_postponement_detail_migrationObject.fullname_at_this_time = $("#eva_adjust_postponement_detail_migration_fullname_at_this_time").val(); eva_adjust_postponement_detail_migrationObject.employee_no_at_this_time = $("#eva_adjust_postponement_detail_migration_employee_no_at_this_time").val(); + eva_adjust_postponement_detail_migrationObject.is_for_postponement = CheckBoxGetFromForm($("#eva_adjust_postponement_detail_migration_is_for_postponement")); + return eva_adjust_postponement_detail_migrationObject; @@ -125,6 +128,7 @@ function eva_adjust_postponement_detail_migration_SetEditForm(a) { function eva_adjust_postponement_detail_migration_SetCreateForm(s) { eva_adjust_postponement_detail_migration_editMode = "CREATE"; eva_adjust_postponement_detail_migration_InitialForm(s); + $("#eva_adjust_postponement_detail_migrationModel").modal("show"); } function eva_adjust_postponement_detail_migration_RefreshTable() { From 3d5af3beac4f16adac752f30d5a2410f1fdb0dd4 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Fri, 9 Apr 2021 10:01:10 +0700 Subject: [PATCH 10/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=80=E0=B8=A5=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_adjust_postponement_detail_normal_02Service.cs | 1 + .../eva_adjust_postponement_detail_quota_02Service.cs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs index 56d9b40..c06f958 100644 --- a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs +++ b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs @@ -149,6 +149,7 @@ namespace TodoAPI2.Models //&& (m_eva_adjust_postponement_detail_normal_02.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_detail_normal_02.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue) //&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal_02.employee_id + && (m_eva_adjust_postponement_detail_normal_02.is_for_postponement == null?true: m_eva_adjust_postponement_detail_normal_02.is_for_postponement.Value) orderby fk_sort_depResult2.external_code, diff --git a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs index 78931b6..135433a 100644 --- a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs +++ b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs @@ -167,6 +167,8 @@ namespace TodoAPI2.Models && (m_eva_adjust_postponement_detail_quota_02.adjust_postponement_quota_id == model.adjust_postponement_quota_id || !model.adjust_postponement_quota_id.HasValue) && (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null) + && (m_eva_adjust_postponement_detail_quota_02.is_for_postponement == null ? true : m_eva_adjust_postponement_detail_quota_02.is_for_postponement.Value) + orderby fk_sort_depResult2.external_code, From e227b87af496566bf3c5c1f1cc6daf2389c981fa Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Fri, 9 Apr 2021 14:10:41 +0700 Subject: [PATCH 11/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=AB?= =?UTF-8?q?=E0=B8=99=E0=B9=89=E0=B8=B2=E0=B9=82=E0=B8=84=E0=B8=A7=E0=B8=95?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=20=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=9B?= =?UTF-8?q?=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B9=80=E0=B8=A5=E0=B8=B7=E0=B9=88?= =?UTF-8?q?=E0=B8=AD=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_adjust_postponement_detail_normal_02Service.cs | 1 + .../eva_adjust_postponement_detail_quota_02Service.cs | 1 + Models/external_employee/external_employeeService.cs | 4 +++- Models/external_employee/external_employeeViewModel.cs | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs index c06f958..d3e2c99 100644 --- a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs +++ b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs @@ -150,6 +150,7 @@ namespace TodoAPI2.Models && (m_eva_adjust_postponement_detail_normal_02.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue) //&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal_02.employee_id && (m_eva_adjust_postponement_detail_normal_02.is_for_postponement == null?true: m_eva_adjust_postponement_detail_normal_02.is_for_postponement.Value) + && fk_external_linkageResult2.workingstatus == "สถานะปฏิบัติงาน" orderby fk_sort_depResult2.external_code, diff --git a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs index 135433a..67f5931 100644 --- a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs +++ b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs @@ -168,6 +168,7 @@ namespace TodoAPI2.Models && (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null) && (m_eva_adjust_postponement_detail_quota_02.is_for_postponement == null ? true : m_eva_adjust_postponement_detail_quota_02.is_for_postponement.Value) + && fk_external_linkageResult2.workingstatus == "สถานะปฏิบัติงาน" orderby fk_sort_depResult2.external_code, diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs index 356faf3..5219c26 100644 --- a/Models/external_employee/external_employeeService.cs +++ b/Models/external_employee/external_employeeService.cs @@ -96,7 +96,8 @@ hpt.position_type_name,he.packing_date,he.cost_of_living, ELSE null END) as remark_hrm_work_record, org_type_depart.department_degree_id, he.timerecorder_id, -(select count(*) from hrm_resigns where hrm_resigns.employee_id = he.employee_id) as count_resigns +(select count(*) from hrm_resigns where hrm_resigns.employee_id = he.employee_id) as count_resigns, +he.workingstatus from public.hrm_employees as he left join public.hrm_position_types as hpt on he.position_type_id=hpt.id @@ -243,6 +244,7 @@ order by sorting_dep.sort_order, hpt.position_type_id, hpl.position_level_id, em { i.count_resigns = 0; } + i.workingstatus = dr["workingstatus"].ToString(); result.Add(i); } diff --git a/Models/external_employee/external_employeeViewModel.cs b/Models/external_employee/external_employeeViewModel.cs index 00bb673..d79f341 100644 --- a/Models/external_employee/external_employeeViewModel.cs +++ b/Models/external_employee/external_employeeViewModel.cs @@ -71,6 +71,8 @@ namespace TodoAPI2.Models public string timerecorder_id { get; set; } public int count_resigns { get; set; } + public string workingstatus { get; set; } + public int? worked_month // ทำงานมาแล้วกี่เดือน { get From 5a9f7370b5db5fe5b35955e30ac00ee72d964c64 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sat, 10 Apr 2021 13:50:34 +0700 Subject: [PATCH 12/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B9=80=E0=B8=A3=E0=B8=B5=E0=B8=A2=E0=B8=87=E0=B8=A5=E0=B8=B3?= =?UTF-8?q?=E0=B8=94=E0=B8=B1=E0=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/vw_limit_frame_plan/vw_limit_frame_planService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs index 354cbe9..4e2329c 100644 --- a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs +++ b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs @@ -79,7 +79,7 @@ namespace TodoAPI2.Models { var entity = _repository.Get(id); var i = Mapper.Map(entity); - i.item_plan_guid = (from x in _repository.Context.eva_performance_plan select x).ToList(); + i.item_plan_guid = (from x in _repository.Context.eva_performance_plan orderby x.fiscal_year descending,x.theTime descending select x).ToList(); return i; @@ -87,7 +87,7 @@ namespace TodoAPI2.Models public vw_limit_frame_planWithSelectionViewModel GetBlankItem() { var i = new vw_limit_frame_planWithSelectionViewModel(); - i.item_plan_guid = (from x in _repository.Context.eva_performance_plan select x).ToList(); + i.item_plan_guid = (from x in _repository.Context.eva_performance_plan orderby x.fiscal_year descending, x.theTime descending select x).ToList(); return i; From 8d1bc4cc34e5b4e31a8c3b5ed2768d9e7f8e6b39 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 11 Apr 2021 12:27:33 +0700 Subject: [PATCH 13/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=88=E0=B8=B1=E0=B8=94=E0=B8=A5=E0=B8=B3=E0=B8=94=E0=B8=B1?= =?UTF-8?q?=E0=B8=9A=20=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=81=E0=B8=B2?= =?UTF-8?q?=E0=B8=A3=E0=B8=AA=E0=B8=A3=E0=B9=89=E0=B8=B2=E0=B8=87=E0=B8=A5?= =?UTF-8?q?=E0=B8=B3=E0=B8=94=E0=B8=B1=E0=B8=9A=E0=B8=AD=E0=B8=B1=E0=B8=95?= =?UTF-8?q?=E0=B9=82=E0=B8=99=E0=B8=A1=E0=B8=B1=E0=B8=95=E0=B8=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_create_evaluation_detailService.cs | 10 ++++++++-- .../eva_evaluation_operating_agreementService.cs | 14 ++++++++++++++ .../eva_limit_frame_employeeService.cs | 5 +++++ .../eva_create_evaluation_detail_firstdoc_d.cshtml | 2 +- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs b/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs index 581379e..a8ae210 100644 --- a/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs +++ b/Models/eva_create_evaluation_detail/eva_create_evaluation_detailService.cs @@ -130,7 +130,8 @@ namespace TodoAPI2.Models into external_linkageResult25 from fk_external_linkageResult25 in external_linkageResult25.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on + (m_eva_create_evaluation_detail.help_org_id.HasValue ? m_eva_create_evaluation_detail.help_org_id : fk_external_linkageResult2.department_id) equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() @@ -138,11 +139,16 @@ namespace TodoAPI2.Models into external_linkageResult46 from fk_external_linkageResult46 in external_linkageResult46.DefaultIfEmpty() + join fk_external_linkage99 in ext.GetDepartmentData() on (m_eva_create_evaluation_detail.help_org_id.HasValue ? m_eva_create_evaluation_detail.help_org_id : fk_external_linkageResult2.department_id) equals fk_external_linkage99.id + into external_linkageResult99 + from fk_external_linkageResult99 in external_linkageResult99.DefaultIfEmpty() + where 1 == 1 && (m_eva_create_evaluation_detail.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue) orderby fk_sort_depResult2.external_code, + (m_eva_create_evaluation_detail.help_org_id.HasValue ? 1 : 0), //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, fk_external_linkageResult2.hpt_position_type_id, @@ -211,7 +217,7 @@ namespace TodoAPI2.Models status_supervisor1A_click_date = m_eva_create_evaluation_detail.status_supervisor1A_click_date, status_supervisor2A_click_date = m_eva_create_evaluation_detail.status_supervisor2A_click_date, - department_name = fk_external_linkageResult2.department_name, + department_name = fk_external_linkageResult99.external_name, help_org_id_external_linkage_external_name = fk_external_linkageResult46.external_name, isActive = m_eva_create_evaluation_detail.isActive, diff --git a/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs b/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs index 41959bf..f4363a5 100644 --- a/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs +++ b/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs @@ -157,6 +157,20 @@ namespace TodoAPI2.Models var entity = GetEntity(model); entity.id = GetNewPrimaryKey(); + if (!model.mission_no.HasValue) + { + var max_mission = (from i in _repository.Context.eva_evaluation_operating_agreement + where i.create_evaluation_detail_id == model.create_evaluation_detail_id + select i.mission_no).Max(); + if (max_mission.HasValue) + { + entity.mission_no = max_mission + 1; + } + else + { + entity.mission_no = 1; + } + } entity.SetAutoField(_repository.Context); diff --git a/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs b/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs index 795cd7d..1a32bed 100644 --- a/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs +++ b/Models/eva_limit_frame_employee/eva_limit_frame_employeeService.cs @@ -132,6 +132,11 @@ namespace TodoAPI2.Models into external_linkageResult11 from fk_external_linkageResult11 in external_linkageResult11.DefaultIfEmpty() + join sort_dep in ext.GetSortingDep() on + (m_eva_limit_frame_employee.help_org_id.HasValue ? m_eva_limit_frame_employee.help_org_id : fk_external_linkageResult2.department_id) equals sort_dep.id + into sort_depResult2 + from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + where 1 == 1 && (!model.frame_group_guid.HasValue || m_eva_limit_frame_employee.frame_group_guid == model.frame_group_guid) diff --git a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml index f3f31a2..93d67e8 100644 --- a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml +++ b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml @@ -48,7 +48,7 @@
    - +
    From 74a02a8657a773d748cea02e082e55ba6459947a Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 11 Apr 2021 13:20:11 +0700 Subject: [PATCH 14/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B9=83=E0=B8=AB=E0=B9=89?= =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82=E0=B9=81=E0=B8=9A?= =?UTF-8?q?=E0=B8=9A=20inline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXCEL/eva_evaluation_behavior.xlsx | Bin 10925 -> 11140 bytes .../eva_evaluation_behaviorService.cs | 15 +- ...reate_evaluation_detail_agreement_d.cshtml | 45 ++++-- tb320eva.csproj | 5 + .../eva_evaluation_behavior_inline.js | 142 ++++++++++++++++++ 5 files changed, 185 insertions(+), 22 deletions(-) create mode 100644 wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js diff --git a/EXCEL/eva_evaluation_behavior.xlsx b/EXCEL/eva_evaluation_behavior.xlsx index 26255b8ada76048f589a50c95c7f9a7712d6ea17..b41ded1ce6723a0bd4d243e01731fbb5ba05aa78 100644 GIT binary patch delta 4519 zcmZ8lcR1YN(qG+1-K^ea)zt~2i<0O>jSzLUAc(d~d|6#WuzHkOiQb~uh+ZQE(Yqi- z3!FQEywCMI$m@+7*<{IZL3zZem%7b`@JBsl(8~52^xno3rul<&ly;frR z*7YZ`uo|a7Belv)olJpOySs-Xr!|^T+fGEg>NbphJt?{GWj@o)i|4C+arrnb1t#o|?gT|^Db5RCr z5nH%6zs)Q&-v?P`aTK3rD0_+~i>PIo-GHc3s9K61!O^R<4b{+;h>8%+BJ! zQ3SdTO%;j>2@$(q$zXL_a9C?++()##&r$~RR7b$m`E}vwq`L3{_o}=I_xlYXZ716HZR_roB(}`+_7qI?*7+#}mB1`XRbzPY z3Bxd>?7AUTUg0%~tlUYF^~W4o?NJ!a(kib8jN@!Ccy~_MA&XnH8Jf+qRc*G}p|c~{ z-8TiZ1Ac=r>QLm9t`IqW1?CWR>cz<7fxrMS0%$)k;8UK6rd*}#>iC5$v?#G0)MX!{|h^+2gGi@%{ zy_yhfajil^Lc1Hd&f_ULj9_y=K56b)XUC{`qgjcq;Hx0JHGnUIc~t!&-LV# z#bPM?5H5*dZH?}0YLecf6#&|gd8R^=h_|6O$ZxY>9r&Uc!!ep`JfPpp_{KqphO<$C zpMOBpWn@((x?e6fM=Vjy`aOqJ7u(fV5>;|dN_T47Am;b1=K*iNDGnD4`mXg}?W5U& zmF_>h1$IYiN(*kg95H3}x36SR_cSHNpB^T0dZ_dHBVd)kqSB6!Du66!?ie#o|0~*b z4{jZGi`y2Thm%fh*&D~cr%cix0wYtU;yuf7+OPfAPS;}3uU?``1{HedBiAmS7Z;dr z7YctJfcJYi0UopgzBV%TlHPci>G6}rC-XL=t0swwX%P378JfMX4>j66+6Cf!tg4C$ z8v1$c`$-yMPE9qTV4&u7u@-uIi#+qY@^$kO%{cR=vlDZlh`-LX+mW|&VgVGd9{tFb zEuUAdvmlu>(CEIHs@t97wa+@5v&}4DHavlquLX6~3MQ}Z0dU+Po}+j!aV?j*CF2!x z4ZASq+iIxcR}Kn$f>VAyMvbrU+)+Dvl%F^40*GcG(6Op_qryVPHiN#? zg_L+vpdHv2{PI91MN4tACtG+b?T*a+=8WQid{a}#mvH;;g|laoJcQYUur_d3A_91yW{iTUxOA z2g5c#A+zB;QE4><|8bM6i(rgviNofKzFKvQ>m!3*fDnn5uW*JC_$YqIm*Fm{Y%UBn zR>FVqfJo+9rwsebgl$8_)7$>;@1B)=Lnw^6gdewuf6kUfjR=KB`g>zNhI8*a!&P!3 z?<}17IoxV@%WOU4#O9z=CA6l(Y4P7}+_wtuNkI($_}CM6UPpdd zL)(L|48(a$px!CQ6^!&whhL6BN@X|�y$GwyBcWBd4^|JgYKFUp-jVh~oM3X1@V# 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 Js`32g{tMc~Qj7oq delta 4294 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 diff --git a/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs b/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs index 1636267..7c1aca7 100644 --- a/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs +++ b/Models/eva_evaluation_behavior/eva_evaluation_behaviorService.cs @@ -239,14 +239,15 @@ namespace TodoAPI2.Models throw new Exception("ผู้รับการประเมิน ส่งแบบประเมินไปแล้ว บันทึกไม่ได้"); } - existingEntity.create_evaluation_detail_id = i.create_evaluation_detail_id; - existingEntity.behavior = i.behavior; existingEntity.weight = i.weight; - existingEntity.target_score1 = i.target_score1; - existingEntity.target_score2 = i.target_score2; - existingEntity.target_score3 = i.target_score3; - existingEntity.target_score4 = i.target_score4; - existingEntity.target_score5 = i.target_score5; + + //existingEntity.create_evaluation_detail_id = i.create_evaluation_detail_id; + //existingEntity.behavior = i.behavior; + //existingEntity.target_score1 = i.target_score1; + //existingEntity.target_score2 = i.target_score2; + //existingEntity.target_score3 = i.target_score3; + //existingEntity.target_score4 = i.target_score4; + //existingEntity.target_score5 = i.target_score5; _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } diff --git a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml index d75552d..fee3847 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 @@ -312,9 +312,9 @@ - - - + + + @@ -343,28 +343,31 @@
    +
    พฤติกรรมการปฏิบัติงาน (น้ำหนัก %)
    เครื่องมือเครื่องมือ
    - + - + - + - +
    เครื่องมือลำดับ
    รวมน้ำหนัก
    +

    -
    +
    +
    @@ -410,7 +413,7 @@
    - + @@ -426,6 +429,7 @@ + @@ -439,8 +443,7 @@ eva_create_evaluation_detail_agreement_SetEditForm(id); eva_evaluation_achievement_InitiateDataTable(id); eva_evaluation_achievement_InitialForm(); - eva_evaluation_behavior_InitiateDataTable(id); - eva_evaluation_behavior_InitialForm(); + eva_evaluation_behavior_InitialForm(id); eva_create_evaluation_detail_status_SetEditForm(id); eva_idp_plan_owner_InitiateDataTable(id); eva_idp_plan_owner_InitialForm(); @@ -459,10 +462,11 @@ }); function CheckPermission() { - if (status_self === "Y") { - $(".status_self").hide(); - $("#status").text("คุณส่งแบบประเมินไปแล้ว"); - } + //if (status_self === "Y") { + // $(".status_self").hide(); + // $(".status_self_text").attr("disabled", true); + // $("#status").text("คุณส่งแบบประเมินไปแล้ว"); + //} } function OnWeightChanged(c) { @@ -482,6 +486,17 @@ } } + function cal_behavior_total() { + var w1 = 0; + $('#eva_evaluation_behaviorBody tr').each(function () { + var i = $(this).find("#rowCount").text(); + var eva_evaluation_behavior = eva_evaluation_behavior_GetFromForm($(this), i); + w1 += parseFloat(eva_evaluation_behavior.weight); + }); + $("#sum_weight_eva_evaluation_behavior").text(w1); + //console.log(w1); + } + function print_report() { var eva_create_evaluation_detail_selectitem = []; eva_create_evaluation_detail_selectitem.push(getUrlParameter("id")); diff --git a/tb320eva.csproj b/tb320eva.csproj index 92e7e82..d8c573c 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -69,6 +69,11 @@ + + + + + diff --git a/wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js b/wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js new file mode 100644 index 0000000..37e87f5 --- /dev/null +++ b/wwwroot/js/eva_evaluation_behavior/eva_evaluation_behavior_inline.js @@ -0,0 +1,142 @@ +function eva_evaluation_behavior_ClearForm(i, blankItem) { + var data = blankItem; + $("#eva_evaluation_behavior_id_" + i).val(""); + $("#eva_evaluation_behavior_create_evaluation_detail_id_" + i).val(""); + $("#eva_evaluation_behavior_behavior_" + i).text(""); + $("#eva_evaluation_behavior_weight_" + i).val(""); + $("#eva_evaluation_behavior_score_" + i).val(""); + $("#eva_evaluation_behavior_score2_" + i).val(""); + $("#eva_evaluation_behavior_sumary_" + i).text(""); + $("#eva_evaluation_behavior_sumary2_" + i).text(""); + $("#eva_evaluation_behavior_target_score1_" + i).val(""); + $("#eva_evaluation_behavior_target_score2_" + i).val(""); + $("#eva_evaluation_behavior_target_score3_" + i).val(""); + $("#eva_evaluation_behavior_target_score4_" + i).val(""); + $("#eva_evaluation_behavior_target_score5_" + i).val(""); + +} + +function eva_evaluation_behavior_FeedDataToForm(data, i, blankItem) { + $("#eva_evaluation_behavior_id_" + i).val(data.id); + $("#eva_evaluation_behavior_create_evaluation_detail_id_" + i).val(data.create_evaluation_detail_id); + $("#eva_evaluation_behavior_behavior_" + i).text(data.behavior); + $("#eva_evaluation_behavior_weight_" + i).val(data.weight); + $("#eva_evaluation_behavior_score_" + i).val(data.score); + $("#eva_evaluation_behavior_score2_" + i).val(data.score2); + $("#eva_evaluation_behavior_sumary_" + i).text(data.sumary); + $("#eva_evaluation_behavior_sumary2_" + i).text(data.sumary2); + $("#eva_evaluation_behavior_target_score1_" + i).val(data.target_score1); + $("#eva_evaluation_behavior_target_score2_" + i).val(data.target_score2); + $("#eva_evaluation_behavior_target_score3_" + i).val(data.target_score3); + $("#eva_evaluation_behavior_target_score4_" + i).val(data.target_score4); + $("#eva_evaluation_behavior_target_score5_" + i).val(data.target_score5); + +} + +function eva_evaluation_behavior_GetFromForm(obj, i) { + var eva_evaluation_behaviorObject = new Object(); + eva_evaluation_behaviorObject.id = obj.find("#eva_evaluation_behavior_id_" + i).val(); + eva_evaluation_behaviorObject.create_evaluation_detail_id = obj.find("#eva_evaluation_behavior_create_evaluation_detail_id_" + i).val(); + eva_evaluation_behaviorObject.behavior = obj.find("#eva_evaluation_behavior_behavior_" + i).text(); + eva_evaluation_behaviorObject.weight = obj.find("#eva_evaluation_behavior_weight_" + i).val(); + eva_evaluation_behaviorObject.score = obj.find("#eva_evaluation_behavior_score_" + i).val(); + eva_evaluation_behaviorObject.score2 = obj.find("#eva_evaluation_behavior_score2_" + i).val(); + eva_evaluation_behaviorObject.sumary = obj.find("#eva_evaluation_behavior_sumary_" + i).text(); + eva_evaluation_behaviorObject.sumary2 = obj.find("#eva_evaluation_behavior_sumary2_" + i).text(); + eva_evaluation_behaviorObject.target_score1 = obj.find("#eva_evaluation_behavior_target_score1_" + i).val(); + eva_evaluation_behaviorObject.target_score2 = obj.find("#eva_evaluation_behavior_target_score2_" + i).val(); + eva_evaluation_behaviorObject.target_score3 = obj.find("#eva_evaluation_behavior_target_score3_" + i).val(); + eva_evaluation_behaviorObject.target_score4 = obj.find("#eva_evaluation_behavior_target_score4_" + i).val(); + eva_evaluation_behaviorObject.target_score5 = obj.find("#eva_evaluation_behavior_target_score5_" + i).val(); + + eva_evaluation_behaviorObject.active_mode = obj.find("#isActive_" + i + "_eva_evaluation_behavior").val(); + return eva_evaluation_behaviorObject; +} + + + +function eva_evaluation_behavior_GetAllData() { + //Insert eva_evaluation_behavior List + var eva_evaluation_behavior = []; + $('#eva_evaluation_behaviorBody tr').each(function () { + var i = $(this).find("#rowCount").text(); + var eacheva_evaluation_behavior = eva_evaluation_behavior_GetFromForm($(this), i); + eva_evaluation_behavior.push(eacheva_evaluation_behavior); + }); + return eva_evaluation_behavior; +} + +function eva_evaluation_behavior_Save(id) { + //Insert eva_evaluation_behavior List + var eva_evaluation_behavior = eva_evaluation_behavior_GetAllData(); + + var successFunc = function (result) { + AlertSuccess("ปรับปรุงข้อมูลเรียบร้อยแล้ว"); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + '/api/eva_evaluation_behavior/UpdateMultiple', eva_evaluation_behavior, successFunc, AlertDanger); +} + +function eva_evaluation_behavior_Get(id, blankItem) { + + $('#eva_evaluation_behaviorBody').empty(); + + var successFunc = function (response) { + //console.log(response); + $.each(response, function (i, data) { + var tag = ''; + tag += ''; + tag += '

    '; + tag += ''; + + tag += ''; + $('#eva_evaluation_behaviorBody').append($(tag)); + eva_evaluation_behavior_FeedDataToForm(data, (i + 1), blankItem); + }); + eva_evaluation_behavior_Summary(); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + '/api/eva_evaluation_behavior?create_evaluation_detail_id=' + getUrlParameter("id"), successFunc, AlertDanger); + +} + + + +function eva_evaluation_behavior_Removeeva_evaluation_behavior(e) { + if (confirm('กรุณากดตกลง เพื่อยืนยันการลบ?')) { + $(e).closest('tr').find("input,select,textarea").attr('disabled', true); + $(e).closest('tr').find("input,select,textarea").css({ opacity: '0.5' }); + $(e).hide(); + $(e).closest('tr').find("#restoreBtn").show(); + $(e).closest('tr').find("input").first().val("0"); + console.log($(e).closest('tr').find("input").first().val()); + eva_evaluation_behavior_Summary(); + } +} + +function eva_evaluation_behavior_Restoreeva_evaluation_behavior(e) { + if (confirm('กรุณากดตกลง เพื่อยืนยันการกู้คืน?')) { + $(e).closest('tr').find("input,select,textarea").attr('disabled', false); + $(e).closest('tr').find("input,select,textarea").css({ opacity: '1' }); + $(e).hide(); + $(e).closest('tr').find("#removeBtn").show(); + $(e).closest('tr').find("input").first().val("1"); + console.log($(e).closest('tr').find("input").first().val()); + eva_evaluation_behavior_Summary(); + } +} + +function eva_evaluation_behavior_Summary() { + cal_behavior_total(); +} + +function eva_evaluation_behavior_InitialForm(id) { + var successFunc = function (result) { + eva_evaluation_behavior_Get(id, result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_evaluation_behavior/" + "GetBlankItem", successFunc, AlertDanger); +} From b96dc008f5a2e37de9598bde08210a870f3a331a Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 11 Apr 2021 13:20:59 +0700 Subject: [PATCH 15/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=20permission?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_create_evaluation_detail_agreement_d.cshtml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 fee3847..e13346b 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 @@ -462,11 +462,11 @@ }); function CheckPermission() { - //if (status_self === "Y") { - // $(".status_self").hide(); - // $(".status_self_text").attr("disabled", true); - // $("#status").text("คุณส่งแบบประเมินไปแล้ว"); - //} + if (status_self === "Y") { + $(".status_self").hide(); + $(".status_self_text").attr("disabled", true); + $("#status").text("คุณส่งแบบประเมินไปแล้ว"); + } } function OnWeightChanged(c) { From 08b0cbf291fb964d62363050a5a33986f5a33de6 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 11 Apr 2021 19:40:50 +0700 Subject: [PATCH 16/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B9=83=E0=B8=AB=E0=B9=89?= =?UTF-8?q?=E0=B9=81=E0=B8=99=E0=B8=9A=E0=B9=84=E0=B8=9F=E0=B8=A5=E0=B9=8C?= =?UTF-8?q?=20=E0=B8=9C=E0=B8=A5=E0=B8=AA=E0=B8=B1=E0=B8=A1=E0=B8=A4?= =?UTF-8?q?=E0=B8=97=E0=B8=98=E0=B8=B4=E0=B9=8C=E0=B8=82=E0=B8=AD=E0=B8=87?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99=20=E0=B9=84=E0=B8=94=E0=B9=89?= =?UTF-8?q?=E0=B8=AB=E0=B8=A5=E0=B8=B2=E0=B8=A2=E0=B9=84=E0=B8=9F=E0=B8=A5?= =?UTF-8?q?=E0=B9=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...valuation_achievement_attachControllers.cs | 403 +++++++ EF/DataContext.cs | 2 + EXCEL/eva_evaluation_achievement_attach.xlsx | Bin 0 -> 10576 bytes .../20210411122053_AddAttach.Designer.cs | 999 ++++++++++++++++++ Migrations/20210411122053_AddAttach.cs | 44 + Migrations/DataContextModelSnapshot.cs | 29 + ...va_evaluation_achievement_attachService.cs | 32 + ...eva_evaluation_achievement_attachEntity.cs | 48 + ...evaluation_achievement_attachInputModel.cs | 26 + ...on_achievement_attachReportRequestModel.cs | 21 + ...valuation_achievement_attachSearchModel.cs | 23 + ...va_evaluation_achievement_attachService.cs | 332 ++++++ ..._evaluation_achievement_attachViewModel.cs | 34 + ...chievement_attachWithSelectionViewModel.cs | 12 + Startup.cs | 7 + ...ation_achievement_attachViewControllers.cs | 66 ++ ...reate_evaluation_detail_agreement_d.cshtml | 30 +- .../eva_evaluation_achievement_attach.cshtml | 102 ++ tb320eva.csproj | 7 +- tb320eva.xml | 126 +++ .../eva_evaluation_achievement.js | 19 +- .../eva_evaluation_achievement_attach.js | 227 ++++ 22 files changed, 2562 insertions(+), 27 deletions(-) create mode 100644 ApiControllers/eva_evaluation_achievement_attachControllers.cs create mode 100644 EXCEL/eva_evaluation_achievement_attach.xlsx create mode 100644 Migrations/20210411122053_AddAttach.Designer.cs create mode 100644 Migrations/20210411122053_AddAttach.cs create mode 100644 Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs create mode 100644 Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs create mode 100644 ViewControllers/eva_evaluation_achievement_attachViewControllers.cs create mode 100644 Views/eva_evaluation_achievement_attachView/eva_evaluation_achievement_attach.cshtml create mode 100644 wwwroot/js/eva_evaluation_achievement_attach/eva_evaluation_achievement_attach.js diff --git a/ApiControllers/eva_evaluation_achievement_attachControllers.cs b/ApiControllers/eva_evaluation_achievement_attachControllers.cs new file mode 100644 index 0000000..b3be847 --- /dev/null +++ b/ApiControllers/eva_evaluation_achievement_attachControllers.cs @@ -0,0 +1,403 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Logging; +using TTSW.Controllers; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; +using System.Data; +using Microsoft.Extensions.Configuration; +using System.IO; +using System.Net; + +namespace TodoAPI2.Controllers +{ + //[Authorize] + [Produces("application/json")] + [Route("api/eva_evaluation_achievement_attach")] + public class eva_evaluation_achievement_attachController : BaseController + { + #region Private Variables + private ILogger _logger; + private Ieva_evaluation_achievement_attachService _repository; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + ///

    + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_evaluation_achievement_attachController(ILogger logger, Ieva_evaluation_achievement_attachService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + /// + /// Get specific item by id + /// + /// + /// + /// Return Get specific item by id + /// Returns the item + /// Error Occurred + [HttpGet("{id}")] + [ProducesResponseType(typeof(eva_evaluation_achievement_attachWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Get(int id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetWithSelection(id); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult Get.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get Blank Item + /// + /// + /// + /// Return a blank item + /// Returns the item + /// Error Occurred + [HttpGet("GetBlankItem")] + [ProducesResponseType(typeof(eva_evaluation_achievement_attachWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetBlankItem() + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetBlankItem(); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetBlankItem.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by achievement_id + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetList(int? achievement_id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListByachievement_id(achievement_id)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetList.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by search + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("GetListBySearch")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetListBySearch(eva_evaluation_achievement_attachSearchModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBySearch(model)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetListBySearch.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Download Report + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("eva_evaluation_achievement_attach_report")] + [ProducesResponseType(typeof(FileStreamResult), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult eva_evaluation_achievement_attach_report(eva_evaluation_achievement_attachReportRequestModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var httpclient = new WebClient(); + string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); + string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); + string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); + string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); + + string url = $"{mainurl}{reportsite}/xxใส่ชื่อรายงานตรงนี้xx.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + var stream = new MemoryStream(data); + + return File(stream, model.contentType); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while GetReport.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Create new item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPost("")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Insert([FromBody] eva_evaluation_achievement_attachInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Insert(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"เพิ่มข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while insert.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update item + /// + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Update(int id, [FromBody] eva_evaluation_achievement_attachInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Update(id, model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while update {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Delete item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpDelete("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Delete(int id) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.Delete(id); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ลบข้อมูล เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while delete {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update multiple item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("UpdateMultiple")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult UpdateMultiple([FromBody] List model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + string rowCount = _repository.UpdateMultiple(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = "ปรับปรุงข้อมูลเรียบร้อย จำนวน "+rowCount+" รายการ"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while UpdateMultiple.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Refresh AutoField of all items + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("RefreshAutoField")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult RefreshAutoField() + { + if (ModelState.IsValid) + { + try + { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.RefreshAutoFieldOfAllData(); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ปรับปรุง Auto Field ของทุก record เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while RefreshAutoField.", ex); + return StatusCode(500, $"มีปัญหาระหว่างการปรับปรุง Auto Field. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + + + } +} diff --git a/EF/DataContext.cs b/EF/DataContext.cs index 231ef81..2a374d9 100644 --- a/EF/DataContext.cs +++ b/EF/DataContext.cs @@ -43,6 +43,8 @@ namespace TTSW.EF { public DbSet eva_limit_frame_plan { get; set; } public DbSet eva_idp_plan { get; set; } + + public DbSet eva_evaluation_achievement_attach { get; set; } protected override void OnModelCreating (ModelBuilder modelBuilder) { base.OnModelCreating (modelBuilder); diff --git a/EXCEL/eva_evaluation_achievement_attach.xlsx b/EXCEL/eva_evaluation_achievement_attach.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..eb0c35bb36bb0790c4c7d3bb0958c0f31c376ef2 GIT binary patch literal 10576 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 b|K@*%Z54Sqhz|k)D3Fs5;>I|1zn=ad#64_s literal 0 HcmV?d00001 diff --git a/Migrations/20210411122053_AddAttach.Designer.cs b/Migrations/20210411122053_AddAttach.Designer.cs new file mode 100644 index 0000000..64fa97e --- /dev/null +++ b/Migrations/20210411122053_AddAttach.Designer.cs @@ -0,0 +1,999 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210411122053_AddAttach")] + partial class AddAttach + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210411122053_AddAttach.cs b/Migrations/20210411122053_AddAttach.cs new file mode 100644 index 0000000..003c3e4 --- /dev/null +++ b/Migrations/20210411122053_AddAttach.cs @@ -0,0 +1,44 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddAttach : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "eva_evaluation_achievement_attach", + columns: table => new + { + id = table.Column(nullable: false), + created = table.Column(nullable: false), + updated = table.Column(nullable: false), + isActive = table.Column(nullable: false), + achievement_id = table.Column(nullable: true), + the_file = table.Column(maxLength: 1000, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_eva_evaluation_achievement_attach", x => x.id); + table.ForeignKey( + name: "FK_eva_evaluation_achievement_attach_eva_evaluation_achievemen~", + column: x => x.achievement_id, + principalTable: "eva_evaluation_achievement", + principalColumn: "id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_eva_evaluation_achievement_attach_achievement_id", + table: "eva_evaluation_achievement_attach", + column: "achievement_id"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "eva_evaluation_achievement_attach"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 9d42432..4832bab 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -431,6 +431,28 @@ namespace tb320eva.Migrations b.ToTable("eva_evaluation_achievement"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => { b.Property("id"); @@ -903,6 +925,13 @@ namespace tb320eva.Migrations .HasForeignKey("create_evaluation_detail_id"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => { b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") diff --git a/Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs b/Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs new file mode 100644 index 0000000..637dbad --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/Ieva_evaluation_achievement_attachService.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; + +namespace TodoAPI2.Models +{ + public interface Ieva_evaluation_achievement_attachService : IBaseService2 + { + new eva_evaluation_achievement_attachViewModel Insert(eva_evaluation_achievement_attachInputModel model, bool is_force_save); + new eva_evaluation_achievement_attachViewModel Update(int id, eva_evaluation_achievement_attachInputModel model, bool is_force_save); + List GetListByachievement_id(int? achievement_id); + List GetListBySearch(eva_evaluation_achievement_attachSearchModel model); + + string UpdateMultiple(List model, bool is_force_save); + eva_evaluation_achievement_attachWithSelectionViewModel GetWithSelection(int id); + eva_evaluation_achievement_attachWithSelectionViewModel GetBlankItem(); + + void RefreshAutoFieldOfAllData(); + eva_evaluation_achievement_attachEntity GetEntity(int id); + DataContext GetContext(); + + + + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs new file mode 100644 index 0000000..0b5e58b --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachEntity.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using System.IO; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachEntity : BaseEntity2 + { + + + [ForeignKey("achievement_id")] + public eva_evaluation_achievementEntity eva_evaluation_achievement_achievement_id { get; set; } + public int? achievement_id { get; set; } + + [MaxLength(1000)] + public string the_file { get; set; } + + [NotMapped] + public string the_fileDisplay + { + get + { + return (string.IsNullOrEmpty(the_file) ? "" : + FileUtil.GetFileInfo(TTSW.Constant.FilePathConstant.DirType.FilesTestUpload, id, the_file).RelativePath).Replace(@"\", "/"); + } + } + + + public void SetAutoField(DataContext context) + { + + } + + public void DoAfterInsertUpdate(DataContext context) + { + + } + + } +} diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs new file mode 100644 index 0000000..92ef2b0 --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachInputModel.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachInputModel + { + + public int? id { get; set; } + + public int? achievement_id { get; set; } + + public string the_file { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.cs new file mode 100644 index 0000000..6cdae6f --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachReportRequestModel.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachReportRequestModel : eva_evaluation_achievement_attachSearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.cs new file mode 100644 index 0000000..312da4c --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachSearchModel.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachSearchModel + { + + public int id { get; set; } + + public int? achievement_id { get; set; } + + } +} + diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs new file mode 100644 index 0000000..a249a2d --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachService.cs @@ -0,0 +1,332 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; +using System.IO; +using System.Web; +using System.Net; +using TTSW.Configure; +using Microsoft.Extensions.Options; +using System.Data; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachService : Ieva_evaluation_achievement_attachService + { + private IBaseRepository2 _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + + public eva_evaluation_achievement_attachService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) + { + _repository = repository; + db = mydb; + ext = inext; + } + + #region Private Functions + private eva_evaluation_achievement_attachEntity GetEntity(eva_evaluation_achievement_attachInputModel model) + { + return Mapper.Map(model); + } + private List GetEntityList(List models) + { + return Mapper.Map>(models); + } + private eva_evaluation_achievement_attachViewModel GetDto(eva_evaluation_achievement_attachEntity entity) + { + return Mapper.Map(entity); + } + private List GetDtoList(List entities) + { + return Mapper.Map>(entities); + } + + #endregion + + #region Public Functions + #region Query Functions + + public eva_evaluation_achievement_attachViewModel Get(int id) + { + var entity = _repository.Get(id); + + return GetDto(entity); + } + + public eva_evaluation_achievement_attachEntity GetEntity(int id) + { + var entity = _repository.Get(id); + + return entity; + } + + public DataContext GetContext() + { + return _repository.Context; + } + + public eva_evaluation_achievement_attachWithSelectionViewModel GetWithSelection(int id) + { + var entity = _repository.Get(id); + var i = Mapper.Map(entity); + + + return i; + } + public eva_evaluation_achievement_attachWithSelectionViewModel GetBlankItem() + { + var i = new eva_evaluation_achievement_attachWithSelectionViewModel(); + + + return i; + } + + public List GetListByachievement_id(int? achievement_id) + { + var model = new eva_evaluation_achievement_attachSearchModel(); + model.achievement_id = achievement_id; + return GetListBySearch(model); + } + + public List GetListBySearch(eva_evaluation_achievement_attachSearchModel model) + { + var data = ( + from m_eva_evaluation_achievement_attach in _repository.Context.eva_evaluation_achievement_attach + + join fk_eva_evaluation_achievement1 in _repository.Context.eva_evaluation_achievement on m_eva_evaluation_achievement_attach.achievement_id equals fk_eva_evaluation_achievement1.id + into eva_evaluation_achievementResult1 + from fk_eva_evaluation_achievementResult1 in eva_evaluation_achievementResult1.DefaultIfEmpty() + + + where + 1 == 1 + && (!model.achievement_id.HasValue || m_eva_evaluation_achievement_attach.achievement_id == model.achievement_id) + + + orderby m_eva_evaluation_achievement_attach.created descending + select new eva_evaluation_achievement_attachViewModel() + { + id = m_eva_evaluation_achievement_attach.id, + achievement_id = m_eva_evaluation_achievement_attach.achievement_id, + the_file = m_eva_evaluation_achievement_attach.the_file, + the_fileDisplay = m_eva_evaluation_achievement_attach.the_fileDisplay, + + achievement_id_eva_evaluation_achievement_create_evaluation_detail_id = fk_eva_evaluation_achievementResult1.create_evaluation_detail_id, + + isActive = m_eva_evaluation_achievement_attach.isActive, + Created = m_eva_evaluation_achievement_attach.created, + Updated = m_eva_evaluation_achievement_attach.updated + } + ).Take(1000).ToList(); + + return data; + } + + #endregion + + #region Manipulation Functions + + + public int GetNewPrimaryKey() + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_evaluation_achievement_attach + orderby i.id descending + select i).Take(1).ToList(); + + if(x.Count > 0) + { + newkey = x[0].id + 1; + } + + return newkey.Value; + } + + + public eva_evaluation_achievement_attachViewModel Insert(eva_evaluation_achievement_attachInputModel model, bool is_force_save) + { + var entity = GetEntity(model); + entity.id = GetNewPrimaryKey(); + + if (!string.IsNullOrEmpty(model.the_file)) + { + //Move file from temp to physical + string the_fileFileName = FileUtil.MoveTempUploadFileToActualPath( + model.the_file, FilePathConstant.DirType.FilesTestUpload, entity.id); + entity.the_file = the_fileFileName; + } + entity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var inserted = _repository.Insert(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Get(inserted.id); + } + else + { + _repository.InsertWithoutCommit(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(entity); + } + } + + public eva_evaluation_achievement_attachViewModel Update(int id, eva_evaluation_achievement_attachInputModel model, bool is_force_save) + { + var existingEntity = _repository.Get(id); + if (existingEntity != null) + { + existingEntity.achievement_id = model.achievement_id; + if (!string.IsNullOrEmpty(model.the_file)) + { + if (model.the_file.StartsWith("Uploads")) + { + var the_fileFileName = FileUtil.MoveTempUploadFileToActualPath( + model.the_file, FilePathConstant.DirType.FilesTestUpload, existingEntity.id, existingEntity.the_file); + existingEntity.the_file = the_fileFileName; + } + else + { + existingEntity.the_file = model.the_file; + } + } + else + { + existingEntity.the_file = null; + } + + + existingEntity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var updated = _repository.Update(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Get(updated.id); + } + else + { + _repository.UpdateWithoutCommit(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(existingEntity); + } + } + else + throw new NotificationException("No data to update"); + } + + public string UpdateMultiple(List model, bool is_force_save) + { + foreach(var i in model) + { + if (i.active_mode == "1" && i.id.HasValue) // update + { + var existingEntity = _repository.Get(i.id.Value); + if (existingEntity != null) + { + existingEntity.achievement_id = i.achievement_id; + if (!string.IsNullOrEmpty(i.the_file)) + { + if (i.the_file.StartsWith("Uploads")) + { + var the_fileFileName = FileUtil.MoveTempUploadFileToActualPath( + i.the_file, FilePathConstant.DirType.FilesTestUpload, existingEntity.id, existingEntity.the_file); + existingEntity.the_file = the_fileFileName; + } + else + { + existingEntity.the_file = i.the_file; + } + } + else + { + existingEntity.the_file = null; + } + + + existingEntity.SetAutoField(_repository.Context); + _repository.UpdateWithoutCommit(i.id.Value, existingEntity); + } + } + else if (i.active_mode == "1" && !i.id.HasValue) // add + { + var entity = GetEntity(i); + entity.id = GetNewPrimaryKey(); + entity.SetAutoField(_repository.Context); + _repository.InsertWithoutCommit(entity); + } + else if (i.active_mode == "0" && i.id.HasValue) // remove + { + _repository.DeleteWithoutCommit(i.id.Value); + } + else if (i.active_mode == "0" && !i.id.HasValue) + { + // nothing to do + } + } + if (is_force_save) + { + _repository.Context.SaveChanges(); + } + + return model.Count().ToString(); + } + + public eva_evaluation_achievement_attachViewModel SetAsActive(int id) + { + var updated = _repository.SetAsActive(id); + + return Get(updated.id); + } + public eva_evaluation_achievement_attachViewModel SetAsInactive(int id) + { + var updated = _repository.SetAsInActive(id); + + return Get(updated.id); + } + public void Delete(int id) + { + _repository.Delete(id); + + return; + } + + public void RefreshAutoFieldOfAllData() + { + var all_items = from i in _repository.Context.eva_evaluation_achievement_attach + select i; + foreach (var item in all_items) + { + item.SetAutoField(_repository.Context); + } + _repository.Context.SaveChanges(); + } + + private Dictionary GetLookupForLog() + { + var i = new Dictionary(); + + + i.Add("achievement_id", "อ้างอิงตาราง eva_create_evaluation_detail"); + i.Add("achievement_id_eva_evaluation_achievement_create_evaluation_detail_id", "อ้างอิงตาราง eva_create_evaluation_detail"); + + return i; + } + + #endregion + + #region Match Item + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs new file mode 100644 index 0000000..8e5731f --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachViewModel.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachViewModel : BaseViewModel2 + { + + public int? achievement_id { get; set; } + + public string the_file { get; set; } + public string the_fileDisplay { get; set; } + + public string txt_the_file + { + get + { + return (string.IsNullOrEmpty(the_file) ? "" : + $"{the_file}"); + } + } + + public int? achievement_id_eva_evaluation_achievement_create_evaluation_detail_id { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs new file mode 100644 index 0000000..de257c1 --- /dev/null +++ b/Models/eva_evaluation_achievement_attach/eva_evaluation_achievement_attachWithSelectionViewModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class eva_evaluation_achievement_attachWithSelectionViewModel: eva_evaluation_achievement_attachViewModel + { + + } +} \ No newline at end of file diff --git a/Startup.cs b/Startup.cs index 8f8ab37..98a9daa 100644 --- a/Startup.cs +++ b/Startup.cs @@ -327,6 +327,9 @@ namespace Test01 services.AddScoped(); + services.AddScoped, BaseRepository2>(); + services.AddScoped(); + #endregion services.TryAddSingleton(); @@ -610,6 +613,10 @@ namespace Test01 cfg.CreateMap(); cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + }); #endregion diff --git a/ViewControllers/eva_evaluation_achievement_attachViewControllers.cs b/ViewControllers/eva_evaluation_achievement_attachViewControllers.cs new file mode 100644 index 0000000..f9d0e18 --- /dev/null +++ b/ViewControllers/eva_evaluation_achievement_attachViewControllers.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using TodoAPI2.Models; +using STAFF_API.Models; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Configuration; +using TodoAPI2.Controllers; + +namespace TodoAPI2.Controllers +{ + public class eva_evaluation_achievement_attachViewController : Controller + { + private ILogger _logger; + private Ieva_evaluation_achievement_attachService _repository; + private IConfiguration Configuration { get; set; } + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_evaluation_achievement_attachViewController(ILogger logger, Ieva_evaluation_achievement_attachService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + public IActionResult eva_evaluation_achievement_attach() + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + return View(); + } + + // public IActionResult eva_evaluation_achievement_attach_d() + // { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + // } + + //public IActionResult eva_evaluation_achievement_attach_report() + //{ + // if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + //} + + //public IActionResult eva_evaluation_achievement_attach_inline() + //{ + // if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + //} + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public IActionResult Error() + { + return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); + } + } +} + + diff --git a/Views/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 e13346b..8f02eea 100644 --- a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml +++ b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml @@ -118,15 +118,7 @@
    - -

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

    - - นำเข้าไฟล์ใหม่ - - +
    +
    + +
    +
    แผนพัฒนาการปฏิบัติงานรายบุคคล
    +
    +
    + + + +
    + +
    + +
    +
    + + + + + + + + + + + + + + +
    เครื่องมือ
    +
    +
    @@ -388,6 +470,7 @@ + + +} + diff --git a/tb320eva.csproj b/tb320eva.csproj index 8294da7..52c903f 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -71,6 +71,7 @@ + @@ -86,6 +87,7 @@ + diff --git a/tb320eva.xml b/tb320eva.xml index 5a2c4a9..a4b66cc 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -3279,6 +3279,124 @@ If the model is invalid Error Occurred + + + Default constructure for dependency injection + + + + + + + + Get specific item by id + + + + Return Get specific item by id + Returns the item + Error Occurred + + + + Get Blank Item + + + + Return a blank item + Returns the item + Error Occurred + + + + Get list items by create_evaluation_detail_id + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Get list items by search + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Download Report + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Create new item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update item + + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Delete item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update multiple item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Refresh AutoField of all items + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + Default constructure for dependency injection diff --git a/wwwroot/js/eva_idp_plan_reviewer/eva_idp_plan_reviewer.js b/wwwroot/js/eva_idp_plan_reviewer/eva_idp_plan_reviewer.js new file mode 100644 index 0000000..3e46437 --- /dev/null +++ b/wwwroot/js/eva_idp_plan_reviewer/eva_idp_plan_reviewer.js @@ -0,0 +1,229 @@ +var eva_idp_plan_reviewer_editMode = "CREATE"; +var eva_idp_plan_reviewer_API = "/api/eva_idp_plan_reviewer/"; + +//================= Search Customizaiton ========================================= + +function eva_idp_plan_reviewer_GetSearchParameter() { + var eva_idp_plan_reviewerSearchObject = new Object(); + eva_idp_plan_reviewerSearchObject.create_evaluation_detail_id = getUrlParameter("id"); + + return eva_idp_plan_reviewerSearchObject; +} + +function eva_idp_plan_reviewer_FeedDataToSearchForm(data) { + $("#s_eva_idp_plan_reviewer_create_evaluation_detail_id").val(data.create_evaluation_detail_id); + +} + +//================= Form Data Customizaiton ========================================= + +function eva_idp_plan_reviewer_FeedDataToForm(data) { + $("#eva_idp_plan_reviewer_id").val(data.id); + $("#eva_idp_plan_reviewer_create_evaluation_detail_id").val(data.create_evaluation_detail_id); + $("#eva_idp_plan_reviewer_develop").val(data.develop); + $("#eva_idp_plan_reviewer_development_method").val(data.development_method); + $("#eva_idp_plan_reviewer_start_date").val(formatDate(data.start_date)); + $("#eva_idp_plan_reviewer_end_date").val(formatDate(data.end_date)); + +} + +function eva_idp_plan_reviewer_GetFromForm() { + var eva_idp_plan_reviewerObject = new Object(); + eva_idp_plan_reviewerObject.id = $("#eva_idp_plan_reviewer_id").val(); + eva_idp_plan_reviewerObject.create_evaluation_detail_id = getUrlParameter("id"); + eva_idp_plan_reviewerObject.develop = $("#eva_idp_plan_reviewer_develop").val(); + eva_idp_plan_reviewerObject.development_method = $("#eva_idp_plan_reviewer_development_method").val(); + eva_idp_plan_reviewerObject.start_date = getDate($("#eva_idp_plan_reviewer_start_date").val()); + eva_idp_plan_reviewerObject.end_date = getDate($("#eva_idp_plan_reviewer_end_date").val()); + + + return eva_idp_plan_reviewerObject; +} + +function eva_idp_plan_reviewer_InitialForm(s) { + var successFunc = function (result) { + eva_idp_plan_reviewer_FeedDataToForm(result); + eva_idp_plan_reviewer_FeedDataToSearchForm(result); + if (s) { + // Incase model popup + $("#eva_idp_plan_reviewerModel").modal("show"); + } + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_idp_plan_reviewer_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Form Mode Setup and Flow ========================================= + +function eva_idp_plan_reviewer_GoCreate() { + // Incase model popup + eva_idp_plan_reviewer_SetCreateForm(true); + + // Incase open new page + //window_open(appsite + "/eva_idp_plan_reviewerView/eva_idp_plan_reviewer_d"); +} + +function eva_idp_plan_reviewer_GoEdit(a) { + // Incase model popup + eva_idp_plan_reviewer_SetEditForm(a); + + // Incase open new page + //window_open(appsite + "/eva_idp_plan_reviewerView/eva_idp_plan_reviewer_d?id=" + a); +} + +function eva_idp_plan_reviewer_SetEditForm(a) { + var successFunc = function (result) { + eva_idp_plan_reviewer_editMode = "UPDATE"; + eva_idp_plan_reviewer_FeedDataToForm(result); + $("#eva_idp_plan_reviewerModel").modal("show"); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_idp_plan_reviewer_API + a, successFunc, AlertDanger); +} + +function eva_idp_plan_reviewer_SetCreateForm(s) { + eva_idp_plan_reviewer_editMode = "CREATE"; + eva_idp_plan_reviewer_InitialForm(s); +} + +function eva_idp_plan_reviewer_RefreshTable() { + // Incase model popup + eva_idp_plan_reviewer_DoSearch(); + + // Incase open new page + //window.parent.eva_idp_plan_reviewer_DoSearch(); +} + +//================= Update and Delete ========================================= + +var eva_idp_plan_reviewer_customValidation = function (group) { + return ""; +}; + +function eva_idp_plan_reviewer_PutUpdate() { + if (!ValidateForm('eva_idp_plan_reviewer', eva_idp_plan_reviewer_customValidation)) { + return; + } + + var data = eva_idp_plan_reviewer_GetFromForm(); + + //Update Mode + if (eva_idp_plan_reviewer_editMode === "UPDATE") { + var successFunc1 = function (result) { + $("#eva_idp_plan_reviewerModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_idp_plan_reviewer_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + eva_idp_plan_reviewer_API + data.id, data, successFunc1, AlertDanger); + } + // Create mode + else { + var successFunc2 = function (result) { + $("#eva_idp_plan_reviewerModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_idp_plan_reviewer_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPostRequest(apisite + eva_idp_plan_reviewer_API, data, successFunc2, AlertDanger); + } +} + +function eva_idp_plan_reviewer_GoDelete(a) { + if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) { + var successFunc = function (result) { + $("#eva_idp_plan_reviewerModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_idp_plan_reviewer_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxDeleteRequest(apisite + eva_idp_plan_reviewer_API + a, null, successFunc, AlertDanger); + } +} + +//================= Data Table ========================================= + +var eva_idp_plan_reviewerTableV; + +var eva_idp_plan_reviewer_setupTable = function (result) { + tmp = '"'; + eva_idp_plan_reviewerTableV = $('#eva_idp_plan_reviewerTable').DataTable({ + "processing": true, + "serverSide": false, + "data": result, + //"select": { + // "style": 'multi' + //}, + "columns": [ + //{ "data": "" }, + //{ "data": "id" }, + { "data": "id" }, + //{ "data": "create_evaluation_detail_id" }, + { "data": "develop" }, + { "data": "development_method" }, + { "data": "txt_start_date" }, + { "data": "txt_end_date" }, + ], + "columnDefs": [ + { + "targets": 0, //1, + "data": "id", + "render": function (data, type, row, meta) { + return " "; + } + }, + //{ + // targets: 0, + // data: "", + // defaultContent: '', + // orderable: false, + // className: 'select-checkbox' + //} + ], + "language": { + "url": appsite + "/DataTables-1.10.16/thai.json" + }, + "paging": true, + "searching": false + }); + endLoad(); +}; + +function eva_idp_plan_reviewer_InitiateDataTable() { + startLoad(); + var p = $.param(eva_idp_plan_reviewer_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_idp_plan_reviewer/GetListBySearch?" + p, eva_idp_plan_reviewer_setupTable, AlertDanger); +} + +function eva_idp_plan_reviewer_DoSearch() { + var p = $.param(eva_idp_plan_reviewer_GetSearchParameter()); + var eva_idp_plan_reviewer_reload = function (result) { + eva_idp_plan_reviewerTableV.destroy(); + eva_idp_plan_reviewer_setupTable(result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_idp_plan_reviewer/GetListBySearch?" + p, eva_idp_plan_reviewer_reload, AlertDanger); +} + +function eva_idp_plan_reviewer_GetSelect(f) { + var eva_idp_plan_reviewer_selectitem = []; + $.each(eva_idp_plan_reviewerTableV.rows('.selected').data(), function (key, value) { + eva_idp_plan_reviewer_selectitem.push(value[f]); + }); + alert(eva_idp_plan_reviewer_selectitem); +} + +//================= File Upload ========================================= + + + +//================= Multi-Selection Function ========================================= + + + From 6678c31425d11ac46ebb933b39d5975961a24773 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 11 Apr 2021 21:16:50 +0700 Subject: [PATCH 18/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=84?= =?UTF-8?q?=E0=B8=AD=E0=B8=A5=E0=B8=B1=E0=B8=A1=20=E0=B8=99=E0=B8=B4?= =?UTF-8?q?=E0=B8=94=E0=B8=AB=E0=B8=99=E0=B9=88=E0=B8=AD=E0=B8=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_create_evaluation_detail_process_d.cshtml | 1 - 1 file changed, 1 deletion(-) diff --git a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml index b07a43f..82a40d3 100644 --- a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml +++ b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml @@ -392,7 +392,6 @@ เครื่องมือ - From 2a699e4938819c1f690f5b5f1d8da99143707d07 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Mon, 12 Apr 2021 11:45:29 +0700 Subject: [PATCH 19/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=9A?= =?UTF-8?q?=E0=B8=B1=E0=B8=81=20notification?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_create_evaluation_detail_statusService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 70ddb8f..8f2ab33 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 @@ -344,7 +344,7 @@ values('{Guid.NewGuid().ToString()}','App\Notifications\WorkflowNotification','A d.url = noti_url; NpgsqlParameter data = new NpgsqlParameter(); - data.DbType = DbType.String; + data.NpgsqlDbType = NpgsqlDbType.Json; data.Direction = ParameterDirection.Input; data.ParameterName = "data"; data.Value = JsonConvert.SerializeObject(d); From c1be6ce3ea5845e3140f210cc4fb3bf308776cfb Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Mon, 12 Apr 2021 15:11:27 +0700 Subject: [PATCH 20/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=20=E0=B8=81=E0=B8=B2?= =?UTF-8?q?=E0=B8=A3=E0=B8=94=E0=B8=B6=E0=B8=87=E0=B8=A3=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=88=E0=B8=B2=E0=B8=81=E0=B9=81?= =?UTF-8?q?=E0=B8=9A=E0=B8=9A=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=95=E0=B8=81?= =?UTF-8?q?=E0=B8=A5=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_evaluation_achievementService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs index 74912e2..d65d076 100644 --- a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs +++ b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs @@ -272,7 +272,7 @@ namespace TodoAPI2.Models var n = new eva_evaluation_achievementEntity(); n.id = newid; n.create_evaluation_detail_id = id; - n.achievement = "รายละเอียดภารกิจ" + enter + enter + i.mission_detail + enter + enter + "เป้าหมาย" + enter + enter + i.target + enter + enter + "ตัวชี้วัด" + enter + enter + i.indicators; + n.achievement = "รายละเอียดภารกิจ" + enter + i.mission_detail + enter + enter + "เป้าหมาย" + enter + i.target + enter + enter + "ตัวชี้วัด" + enter + i.indicators; n.weight = 0; n.created = DateTime.Now.AddMinutes(-1 * newid); newid++; From c68e2be386fd4ecc6b23777fa37ed9d4135e4a74 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Mon, 12 Apr 2021 19:22:11 +0700 Subject: [PATCH 21/48] =?UTF-8?q?=E0=B8=97=E0=B8=94=E0=B8=A5=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B9=81=E0=B8=81=E0=B9=89=20=E0=B8=A5=E0=B8=B3?= =?UTF-8?q?=E0=B8=94=E0=B8=B1=E0=B8=9A=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=94?= =?UTF-8?q?=E0=B8=B6=E0=B8=87=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9?= =?UTF-8?q?=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_evaluation_achievementService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs index d65d076..4d6c3aa 100644 --- a/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs +++ b/Models/eva_evaluation_achievement/eva_evaluation_achievementService.cs @@ -266,6 +266,7 @@ namespace TodoAPI2.Models var newid = GetNewPrimaryKey(); var enter = "\n"; + var start_id = newid; foreach (var i in opt) { @@ -274,7 +275,7 @@ namespace TodoAPI2.Models n.create_evaluation_detail_id = id; n.achievement = "รายละเอียดภารกิจ" + enter + i.mission_detail + enter + enter + "เป้าหมาย" + enter + i.target + enter + enter + "ตัวชี้วัด" + enter + i.indicators; n.weight = 0; - n.created = DateTime.Now.AddMinutes(-1 * newid); + n.created = DateTime.Now.AddMinutes(newid - start_id).AddMinutes(opt.Count * -1); newid++; _repository.Context.Add(n); } From 9feecad1cbcb8d325f77a6e6b9bf7addd744f8a8 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 13 Apr 2021 11:04:09 +0700 Subject: [PATCH 22/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=81=E0=B8=A3=E0=B8=A3?= =?UTF-8?q?=E0=B8=A1=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=88=E0=B8=B2=E0=B8=81?= =?UTF-8?q?=E0=B8=A0=E0=B8=B2=E0=B8=A2=E0=B8=99=E0=B8=AD=E0=B8=81=E0=B8=AA?= =?UTF-8?q?=E0=B8=B2=E0=B8=A1=E0=B8=B2=E0=B8=A3=E0=B8=96=E0=B9=80=E0=B8=82?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=E0=B8=A1=E0=B8=B2=E0=B8=97=E0=B8=B3=E0=B9=81?= =?UTF-8?q?=E0=B8=9A=E0=B8=9A=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B9=80=E0=B8=A1?= =?UTF-8?q?=E0=B8=B4=E0=B8=99=E0=B9=84=E0=B8=94=E0=B9=89=20=E0=B9=81?= =?UTF-8?q?=E0=B8=A5=E0=B8=B0=20=E0=B8=AA=E0=B8=B2=E0=B8=A1=E0=B8=B2?= =?UTF-8?q?=E0=B8=A3=E0=B8=96=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=B8=E0=B8=9C?= =?UTF-8?q?=E0=B8=B9=E0=B9=89=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B9=80=E0=B8=A1?= =?UTF-8?q?=E0=B8=B4=E0=B8=99=E0=B8=AA=E0=B8=B9=E0=B8=87=E0=B8=AA=E0=B8=B8?= =?UTF-8?q?=E0=B8=94/=E0=B9=80=E0=B8=AB=E0=B8=99=E0=B8=B7=E0=B9=88?= =?UTF-8?q?=E0=B8=AD=E0=B8=82=E0=B8=B6=E0=B9=89=E0=B8=99=E0=B9=84=E0=B8=9B?= =?UTF-8?q?/=E0=B9=80=E0=B8=AB=E0=B8=99=E0=B8=B7=E0=B8=AD=E0=B9=84?= =?UTF-8?q?=E0=B8=9B=E0=B8=AD=E0=B8=B5=E0=B8=81=E0=B8=82=E0=B8=B1=E0=B9=89?= =?UTF-8?q?=E0=B8=99=20=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=A3=E0=B8=B0?= =?UTF-8?q?=E0=B8=9A=E0=B8=B8=E0=B9=81=E0=B8=9A=E0=B8=9A=E0=B8=82=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B9=83=E0=B8=84=E0=B8=A3=E0=B8=82=E0=B8=AD=E0=B8=87?= =?UTF-8?q?=E0=B8=A1=E0=B8=B1=E0=B8=99=E0=B9=84=E0=B8=94=E0=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...reate_evaluation_detail_firstdocService.cs | 18 +++++----- ...create_evaluation_detail_processService.cs | 33 ++++++++++--------- .../external_employeeService.cs | 2 +- ..._create_evaluation_detail_process_d.cshtml | 2 +- ...create_evaluation_detail_process_d2.cshtml | 2 +- 5 files changed, 30 insertions(+), 27 deletions(-) diff --git a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs index f98ab71..475a73e 100644 --- a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs +++ b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocService.cs @@ -143,9 +143,9 @@ namespace TodoAPI2.Models role_code = getRoleCode(emp_id, m_eva_create_evaluation_detail_agreement.chief, m_eva_create_evaluation_detail_agreement.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_agreement.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_agreement.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_agreement.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_agreement.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_agreement.employee_id, m_eva_create_evaluation_detail_agreement.status_self_a, m_eva_create_evaluation_detail_agreement.status_chief_a @@ -326,9 +326,9 @@ namespace TodoAPI2.Models role_code = getRoleCode(emp_id, m_eva_create_evaluation_detail_agreement.chief, m_eva_create_evaluation_detail_agreement.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_agreement.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_agreement.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_agreement.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_agreement.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_agreement.employee_id, m_eva_create_evaluation_detail_agreement.status_self_a, m_eva_create_evaluation_detail_agreement.status_chief_a), @@ -336,9 +336,9 @@ namespace TodoAPI2.Models role_desc = getRoleName(emp_id, m_eva_create_evaluation_detail_agreement.chief, m_eva_create_evaluation_detail_agreement.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_agreement.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_agreement.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_agreement.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_agreement.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_agreement.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_agreement.employee_id, m_eva_create_evaluation_detail_agreement.status_self_a, m_eva_create_evaluation_detail_agreement.status_chief_a), diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs index d5faef1..6a3a797 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs @@ -164,15 +164,17 @@ namespace TodoAPI2.Models role_code = getRoleCode(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, path), + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, + path), role_desc = getRoleName(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, path), + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, + path), remark_hrm_work_record = fk_external_employee.remark_hrm_work_record + GetWorkTimeText(fk_external_employee.packing_date, end_date), @@ -274,9 +276,9 @@ namespace TodoAPI2.Models && emp_id.HasValue && ( (m_eva_create_evaluation_detail_process.chief.HasValue && emp_id == m_eva_create_evaluation_detail_process.chief) - || (fk_eva_create_evaluationResult10.employee_id.HasValue && emp_id == fk_eva_create_evaluationResult10.employee_id) - || (fk_eva_create_evaluationResult10.supervisor1_id.HasValue && emp_id == fk_eva_create_evaluationResult10.supervisor1_id) - || (fk_eva_create_evaluationResult10.supervisor2_id.HasValue && emp_id == fk_eva_create_evaluationResult10.supervisor2_id) + || (((m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id)).HasValue && emp_id == (m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id)) + || ((m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id).HasValue && emp_id == (m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id)) + || ((m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id).HasValue && emp_id == (m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id)) ) && (!model.employee_id.HasValue || m_eva_create_evaluation_detail_process.employee_id == model.employee_id) @@ -316,17 +318,18 @@ namespace TodoAPI2.Models role_code = getRoleCodeSearch(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, m_eva_create_evaluation_detail_process.status_chief ), role_desc = getRoleName(emp_id, m_eva_create_evaluation_detail_process.chief, m_eva_create_evaluation_detail_process.chief, - fk_eva_create_evaluationResult10.employee_id, - fk_eva_create_evaluationResult10.supervisor1_id, - fk_eva_create_evaluationResult10.supervisor2_id, path), + m_eva_create_evaluation_detail_process.eva_employee_id.HasValue ? m_eva_create_evaluation_detail_process.eva_employee_id : fk_eva_create_evaluationResult10.employee_id, + m_eva_create_evaluation_detail_process.supervisor1_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor1_id : fk_eva_create_evaluationResult10.supervisor1_id, + m_eva_create_evaluation_detail_process.supervisor2_id.HasValue ? m_eva_create_evaluation_detail_process.supervisor2_id : fk_eva_create_evaluationResult10.supervisor2_id, + path), status_self_click_date = m_eva_create_evaluation_detail_process.status_self_click_date, status_chief_click_date = m_eva_create_evaluation_detail_process.status_chief_click_date, diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs index 5219c26..69e88b2 100644 --- a/Models/external_employee/external_employeeService.cs +++ b/Models/external_employee/external_employeeService.cs @@ -262,7 +262,7 @@ left join public.mpp_position_numbers as mpn on he.position_no = mpn.id left join public.org_position_datas as opd on opd.position_id = mpn.position_id left join public.hrm_title_masters as htm on htm.id = he.prefix_card_name left join public.users as u on u.employee_id = he.employee_id -where he.workingstatus = 'สถานะปฏิบัติงาน' and he.deleted_at is null and mpn.deleted_at is null +where he.deleted_at is null and mpn.deleted_at is null and opd.deleted_at is null --and htm.deleted_at is null and u.id=@user_id; "; diff --git a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml index 82a40d3..e44a197 100644 --- a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml +++ b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml @@ -142,7 +142,7 @@
    - +
    diff --git a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d2.cshtml b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d2.cshtml index f5d4d09..f6c724b 100644 --- a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d2.cshtml +++ b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d2.cshtml @@ -141,7 +141,7 @@
    - +
    From ddb4232254683ac0700cd487b4ed07af696fca7a Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 13 Apr 2021 15:14:51 +0700 Subject: [PATCH 23/48] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95?= =?UTF-8?q?=E0=B8=B4=20=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=94=E0=B8=B3?= =?UTF-8?q?=E0=B9=80=E0=B8=99=E0=B8=B4=E0=B8=99=E0=B8=81=E0=B8=B4=E0=B8=88?= =?UTF-8?q?=E0=B8=81=E0=B8=A3=E0=B8=A3=E0=B8=A1=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B9=80=E0=B8=A1=E0=B8=B4=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...te_evaluation_detail_historyControllers.cs | 403 +++++++ ...ate_evaluation_detail_statusControllers.cs | 34 +- EF/DataContext.cs | 2 +- .../eva_create_evaluation_detail_history.xlsx | Bin 0 -> 10770 bytes .../20210413072130_AddEvaLog.Designer.cs | 1032 +++++++++++++++++ Migrations/20210413072130_AddEvaLog.cs | 46 + Migrations/DataContextModelSnapshot.cs | 33 + ...te_evaluation_detail_agreementViewModel.cs | 18 +- ...ate_evaluation_detail_firstdocViewModel.cs | 19 +- ...create_evaluation_detail_historyService.cs | 32 + ..._create_evaluation_detail_historyEntity.cs | 42 + ...ate_evaluation_detail_historyInputModel.cs | 30 + ...uation_detail_historyReportRequestModel.cs | 21 + ...te_evaluation_detail_historySearchModel.cs | 23 + ...create_evaluation_detail_historyService.cs | 310 +++++ ...eate_evaluation_detail_historyViewModel.cs | 31 + ...on_detail_historyWithSelectionViewModel.cs | 13 + ...eate_evaluation_detail_processViewModel.cs | 23 +- ...eate_evaluation_detail_statusInputModel.cs | 2 + ..._create_evaluation_detail_statusService.cs | 63 +- Startup.cs | 7 + Utils/MyHelper.cs | 12 + ...valuation_detail_historyViewControllers.cs | 66 ++ ...reate_evaluation_detail_agreement_d.cshtml | 10 +- ...create_evaluation_detail_firstdoc_d.cshtml | 2 +- ...va_create_evaluation_detail_history.cshtml | 59 + tb320eva.csproj | 2 + tb320eva.xml | 129 ++- .../eva_create_evaluation_detail_history.js | 209 ++++ 29 files changed, 2626 insertions(+), 47 deletions(-) create mode 100644 ApiControllers/eva_create_evaluation_detail_historyControllers.cs create mode 100644 EXCEL/eva_create_evaluation_detail_history.xlsx create mode 100644 Migrations/20210413072130_AddEvaLog.Designer.cs create mode 100644 Migrations/20210413072130_AddEvaLog.cs create mode 100644 Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs create mode 100644 Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs create mode 100644 ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs create mode 100644 Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml create mode 100644 wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js diff --git a/ApiControllers/eva_create_evaluation_detail_historyControllers.cs b/ApiControllers/eva_create_evaluation_detail_historyControllers.cs new file mode 100644 index 0000000..a354ddb --- /dev/null +++ b/ApiControllers/eva_create_evaluation_detail_historyControllers.cs @@ -0,0 +1,403 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Logging; +using TTSW.Controllers; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; +using System.Data; +using Microsoft.Extensions.Configuration; +using System.IO; +using System.Net; + +namespace TodoAPI2.Controllers +{ + //[Authorize] + [Produces("application/json")] + [Route("api/eva_create_evaluation_detail_history")] + public class eva_create_evaluation_detail_historyController : BaseController + { + #region Private Variables + private ILogger _logger; + private Ieva_create_evaluation_detail_historyService _repository; + private IConfiguration Configuration { get; set; } + #endregion + + #region Properties + + #endregion + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_create_evaluation_detail_historyController(ILogger logger, Ieva_create_evaluation_detail_historyService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + /// + /// Get specific item by id + /// + /// + /// + /// Return Get specific item by id + /// Returns the item + /// Error Occurred + [HttpGet("{id}")] + [ProducesResponseType(typeof(eva_create_evaluation_detail_historyWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Get(int id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetWithSelection(id); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult Get.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get Blank Item + /// + /// + /// + /// Return a blank item + /// Returns the item + /// Error Occurred + [HttpGet("GetBlankItem")] + [ProducesResponseType(typeof(eva_create_evaluation_detail_historyWithSelectionViewModel), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetBlankItem() + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.GetBlankItem(); + + return Ok(result); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetBlankItem.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by evaluation_detail_id + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetList(int? evaluation_detail_id) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListByevaluation_detail_id(evaluation_detail_id)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetList.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Get list items by search + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("GetListBySearch")] + [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult GetListBySearch(eva_create_evaluation_detail_historySearchModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + return Ok(_repository.GetListBySearch(model)); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception in IActionResult GetListBySearch.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Download Report + /// + /// + /// + /// Return list of items by specifced keyword + /// Returns the item + /// Error Occurred + [HttpGet("eva_create_evaluation_detail_history_report")] + [ProducesResponseType(typeof(FileStreamResult), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult eva_create_evaluation_detail_history_report(eva_create_evaluation_detail_historyReportRequestModel model) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var httpclient = new WebClient(); + string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); + string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); + string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); + string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); + + string url = $"{mainurl}{reportsite}/xxใส่ชื่อรายงานตรงนี้xx.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}"; + + if (model.filetype == "xlsx") + { + url += "&ignorePagination=true"; + } + + var data = httpclient.DownloadData(url); + var stream = new MemoryStream(data); + + return File(stream, model.contentType); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while GetReport.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + /// + /// Create new item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPost("")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Insert([FromBody] eva_create_evaluation_detail_historyInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Insert(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"เพิ่มข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while insert.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update item + /// + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Update(int id, [FromBody] eva_create_evaluation_detail_historyInputModel model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + var result = _repository.Update(id, model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while update {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Delete item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpDelete("{id}")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult Delete(int id) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.Delete(id); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ลบข้อมูล เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while delete {id.ToString()}.", ex); + return StatusCode(500, $"{id.ToString()}. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Update multiple item + /// + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("UpdateMultiple")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult UpdateMultiple([FromBody] List model) + { + if (ModelState.IsValid) + { + try + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + string rowCount = _repository.UpdateMultiple(model, true); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = "ปรับปรุงข้อมูลเรียบร้อย จำนวน "+rowCount+" รายการ"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while UpdateMultiple.", ex); + return StatusCode(500, $"{ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + /// + /// Refresh AutoField of all items + /// + /// + /// + /// Response Result Message + /// Response Result Message + /// If the model is invalid + /// Error Occurred + [HttpPut("RefreshAutoField")] + [ProducesResponseType(typeof(CommonResponseMessage), 200)] + [ProducesResponseType(400)] + [ProducesResponseType(500)] + //[ValidateAntiForgeryToken] + public IActionResult RefreshAutoField() + { + if (ModelState.IsValid) + { + try + { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); + _repository.RefreshAutoFieldOfAllData(); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"ปรับปรุง Auto Field ของทุก record เรียบร้อย"; + message.data = null; + return Ok(message); + } + catch (Exception ex) + { + _logger.LogCritical($"Exception while RefreshAutoField.", ex); + return StatusCode(500, $"มีปัญหาระหว่างการปรับปรุง Auto Field. {ex.Message}"); + } + } + + return BadRequest(ModelState); + } + + + + } +} diff --git a/ApiControllers/eva_create_evaluation_detail_statusControllers.cs b/ApiControllers/eva_create_evaluation_detail_statusControllers.cs index c7ea76f..29b445d 100644 --- a/ApiControllers/eva_create_evaluation_detail_statusControllers.cs +++ b/ApiControllers/eva_create_evaluation_detail_statusControllers.cs @@ -27,6 +27,7 @@ namespace TodoAPI2.Controllers private ILogger _logger; private Ieva_create_evaluation_detail_statusService _repository; private IConfiguration Configuration { get; set; } + private Iexternal_employeeService emp; #endregion #region Properties @@ -37,13 +38,17 @@ namespace TodoAPI2.Controllers /// Default constructure for dependency injection ///
    /// - /// + /// + /// /// - public eva_create_evaluation_detail_statusController(ILogger logger, Ieva_create_evaluation_detail_statusService repository, IConfiguration configuration) + public eva_create_evaluation_detail_statusController(ILogger logger, + Ieva_create_evaluation_detail_statusService repository, IConfiguration configuration, + Iexternal_employeeService inemp) { _logger = logger; _repository = repository; Configuration = configuration; + emp = inemp; } /// @@ -220,12 +225,25 @@ namespace TodoAPI2.Controllers try { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); - var result = _repository.Update(id, model); - var message = new CommonResponseMessage(); - message.code = "200"; - message.message = $"แก้ไขข้อมูล เรียบร้อย"; - message.data = result; - return Ok(message); + + if (!string.IsNullOrEmpty(HttpContext.Request.Cookies["user_id"])) + { + var loginid = Convert.ToInt32(HttpContext.Request.Cookies["user_id"]); + var e = emp.GetEmployeeForLogin(Convert.ToInt32(loginid)); + model.employee_id = e.id; + var result = _repository.Update(id, model); + var message = new CommonResponseMessage(); + message.code = "200"; + message.message = $"แก้ไขข้อมูล เรียบร้อย"; + message.data = result; + return Ok(message); + } + else + { + return Unauthorized(); + } + + } catch (Exception ex) { diff --git a/EF/DataContext.cs b/EF/DataContext.cs index 2a374d9..f4dd0b9 100644 --- a/EF/DataContext.cs +++ b/EF/DataContext.cs @@ -41,8 +41,8 @@ namespace TTSW.EF { public DbSet eva_limit_frame_employee { get; set; } public DbSet eva_limit_frame_group { get; set; } public DbSet eva_limit_frame_plan { get; set; } - public DbSet eva_idp_plan { get; set; } + public DbSet eva_create_evaluation_detail_history { get; set; } public DbSet eva_evaluation_achievement_attach { get; set; } protected override void OnModelCreating (ModelBuilder modelBuilder) { diff --git a/EXCEL/eva_create_evaluation_detail_history.xlsx b/EXCEL/eva_create_evaluation_detail_history.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b634e6eccde3dd970e69522658b23626d39ffd0a GIT binary patch literal 10770 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 QkRd-xh#P;Q{B`yJ07ZkoJOBUy literal 0 HcmV?d00001 diff --git a/Migrations/20210413072130_AddEvaLog.Designer.cs b/Migrations/20210413072130_AddEvaLog.Designer.cs new file mode 100644 index 0000000..ed93980 --- /dev/null +++ b/Migrations/20210413072130_AddEvaLog.Designer.cs @@ -0,0 +1,1032 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210413072130_AddEvaLog")] + partial class AddEvaLog + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210413072130_AddEvaLog.cs b/Migrations/20210413072130_AddEvaLog.cs new file mode 100644 index 0000000..932de5d --- /dev/null +++ b/Migrations/20210413072130_AddEvaLog.cs @@ -0,0 +1,46 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddEvaLog : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "eva_create_evaluation_detail_history", + columns: table => new + { + id = table.Column(nullable: false), + created = table.Column(nullable: false), + updated = table.Column(nullable: false), + isActive = table.Column(nullable: false), + evaluation_detail_id = table.Column(nullable: true), + action_dt = table.Column(nullable: true), + action_detail = table.Column(maxLength: 4000, nullable: true), + action_emp_id = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_eva_create_evaluation_detail_history", x => x.id); + table.ForeignKey( + name: "FK_eva_create_evaluation_detail_history_eva_create_evaluation_~", + column: x => x.evaluation_detail_id, + principalTable: "eva_create_evaluation_detail", + principalColumn: "id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_eva_create_evaluation_detail_history_evaluation_detail_id", + table: "eva_create_evaluation_detail_history", + column: "evaluation_detail_id"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "eva_create_evaluation_detail_history"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 4832bab..4a9b151 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -373,6 +373,32 @@ namespace tb320eva.Migrations b.ToTable("eva_create_evaluation_detail"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => { b.Property("id"); @@ -918,6 +944,13 @@ namespace tb320eva.Migrations .HasForeignKey("create_evaluation_id"); }); + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => { b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") diff --git a/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs b/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs index be64814..b53171c 100644 --- a/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs +++ b/Models/eva_create_evaluation_detail_agreement/eva_create_evaluation_detail_agreementViewModel.cs @@ -60,9 +60,9 @@ namespace TodoAPI2.Models public decimal? score2 { get; set; } - public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date); } } - public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date); } } - public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date); } } + public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_click_date) + getHistoryLink(status_self); } } + public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_click_date) + getHistoryLink(status_chief); } } + public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor_click_date) + getHistoryLink(status_supervisor); } } private string getStatusText(string s) { @@ -80,5 +80,15 @@ namespace TodoAPI2.Models return " "; } + private string getHistoryLink(string s) + { + if (!string.IsNullOrEmpty(s)) + { + return ("
    ดูประวัติ").Replace("{0}", '"'.ToString()); + } + return ""; + } + } -} \ No newline at end of file +} + diff --git a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs index e64f18f..3e78561 100644 --- a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs +++ b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs @@ -68,19 +68,28 @@ namespace TodoAPI2.Models public decimal? score2 { get; set; } - public string txt_status_self_a { get { return getStatusText2(status_self_a) + MyHelper.GetDateStringForReport(status_self_a_click_date); } } + public string txt_status_self_a { get { return getStatusText2(status_self_a) + MyHelper.GetDateStringForReport(status_self_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_a_click_date) + getHistoryLink(status_self_a); } } - public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date); } } + public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_click_date) + getHistoryLink(status_self); } } - public string txt_status_chief_a { get { return getStatusText2(status_chief_a) + MyHelper.GetDateStringForReport(status_chief_a_click_date); } } + public string txt_status_chief_a { get { return getStatusText2(status_chief_a) + MyHelper.GetDateStringForReport(status_chief_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_a_click_date) + getHistoryLink(status_chief_a); } } - public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date); } } - public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date); } } + public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_click_date) + getHistoryLink(status_chief); } } + public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor_click_date) + getHistoryLink(status_supervisor); } } public string role_desc { get; set; } public string role_code { get; set; } + private string getHistoryLink(string s) + { + if (!string.IsNullOrEmpty(s)) + { + return ("
    ดูประวัติ").Replace("{0}", '"'.ToString()); + } + return ""; + } + private string getStatusText(string s) { if (!string.IsNullOrEmpty(s)) diff --git a/Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs b/Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs new file mode 100644 index 0000000..1746352 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/Ieva_create_evaluation_detail_historyService.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; + +namespace TodoAPI2.Models +{ + public interface Ieva_create_evaluation_detail_historyService : IBaseService2 + { + new eva_create_evaluation_detail_historyViewModel Insert(eva_create_evaluation_detail_historyInputModel model, bool is_force_save); + new eva_create_evaluation_detail_historyViewModel Update(int id, eva_create_evaluation_detail_historyInputModel model, bool is_force_save); + List GetListByevaluation_detail_id(int? evaluation_detail_id); + List GetListBySearch(eva_create_evaluation_detail_historySearchModel model); + + string UpdateMultiple(List model, bool is_force_save); + eva_create_evaluation_detail_historyWithSelectionViewModel GetWithSelection(int id); + eva_create_evaluation_detail_historyWithSelectionViewModel GetBlankItem(); + + void RefreshAutoFieldOfAllData(); + eva_create_evaluation_detail_historyEntity GetEntity(int id); + DataContext GetContext(); + + + + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs new file mode 100644 index 0000000..17e0e37 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyEntity.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using System.IO; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyEntity : BaseEntity2 + { + + + [ForeignKey("evaluation_detail_id")] + public eva_create_evaluation_detailEntity eva_create_evaluation_detail_evaluation_detail_id { get; set; } + public int? evaluation_detail_id { get; set; } + + public DateTime? action_dt { get; set; } + + [MaxLength(4000)] + public string action_detail { get; set; } + + public int? action_emp_id { get; set; } + + + public void SetAutoField(DataContext context) + { + + } + + public void DoAfterInsertUpdate(DataContext context) + { + + } + + } +} diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs new file mode 100644 index 0000000..461d2ff --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyInputModel.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyInputModel + { + + public int? id { get; set; } + + public int? evaluation_detail_id { get; set; } + + public DateTime? action_dt { get; set; } + + public string action_detail { get; set; } + + public int? action_emp_id { get; set; } + + public string active_mode { get; set; } + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.cs new file mode 100644 index 0000000..e3c8f5a --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyReportRequestModel.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyReportRequestModel : eva_create_evaluation_detail_historySearchModel + { + public string filetype { get; set; } + + public string contentType { get { return MyHelper.GetContentType(filetype); } } + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.cs new file mode 100644 index 0000000..385381f --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historySearchModel.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historySearchModel + { + + public int id { get; set; } + + public int? evaluation_detail_id { get; set; } + + } +} + diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs new file mode 100644 index 0000000..4129a92 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyService.cs @@ -0,0 +1,310 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using TodoAPI2.Models; +using System.IO; +using System.Web; +using System.Net; +using TTSW.Configure; +using Microsoft.Extensions.Options; +using System.Data; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyService : Ieva_create_evaluation_detail_historyService + { + private IBaseRepository2 _repository; + private IMyDatabase db; + private Iexternal_linkageService ext; + private Iexternal_employeeService emp; + + public eva_create_evaluation_detail_historyService(IBaseRepository2 repository, IMyDatabase mydb, + Iexternal_linkageService inext, Iexternal_employeeService inemp) + { + _repository = repository; + db = mydb; + ext = inext; + emp = inemp; + } + + #region Private Functions + private eva_create_evaluation_detail_historyEntity GetEntity(eva_create_evaluation_detail_historyInputModel model) + { + return Mapper.Map(model); + } + private List GetEntityList(List models) + { + return Mapper.Map>(models); + } + private eva_create_evaluation_detail_historyViewModel GetDto(eva_create_evaluation_detail_historyEntity entity) + { + return Mapper.Map(entity); + } + private List GetDtoList(List entities) + { + return Mapper.Map>(entities); + } + + #endregion + + #region Public Functions + #region Query Functions + + public eva_create_evaluation_detail_historyViewModel Get(int id) + { + var entity = _repository.Get(id); + + return GetDto(entity); + } + + public eva_create_evaluation_detail_historyEntity GetEntity(int id) + { + var entity = _repository.Get(id); + + return entity; + } + + public DataContext GetContext() + { + return _repository.Context; + } + + public eva_create_evaluation_detail_historyWithSelectionViewModel GetWithSelection(int id) + { + var entity = _repository.Get(id); + var i = Mapper.Map(entity); + i.item_action_emp_id = emp.GetAllEmployee(); + + + return i; + } + public eva_create_evaluation_detail_historyWithSelectionViewModel GetBlankItem() + { + var i = new eva_create_evaluation_detail_historyWithSelectionViewModel(); + i.item_action_emp_id = emp.GetAllEmployee(); + + + return i; + } + + public List GetListByevaluation_detail_id(int? evaluation_detail_id) + { + var model = new eva_create_evaluation_detail_historySearchModel(); + model.evaluation_detail_id = evaluation_detail_id; + return GetListBySearch(model); + } + + public List GetListBySearch(eva_create_evaluation_detail_historySearchModel model) + { + var data = ( + from m_eva_create_evaluation_detail_history in _repository.Context.eva_create_evaluation_detail_history + + join fk_eva_create_evaluation_detail1 in _repository.Context.eva_create_evaluation_detail on m_eva_create_evaluation_detail_history.evaluation_detail_id equals fk_eva_create_evaluation_detail1.id + into eva_create_evaluation_detailResult1 + from fk_eva_create_evaluation_detailResult1 in eva_create_evaluation_detailResult1.DefaultIfEmpty() + + join fk_external_employee4 in emp.GetAllEmployee() on m_eva_create_evaluation_detail_history.action_emp_id equals fk_external_employee4.id + into external_employeeResult4 + from fk_external_employeeResult4 in external_employeeResult4.DefaultIfEmpty() + + where + 1 == 1 + && (!model.evaluation_detail_id.HasValue || m_eva_create_evaluation_detail_history.evaluation_detail_id == model.evaluation_detail_id) + + orderby m_eva_create_evaluation_detail_history.action_dt + select new eva_create_evaluation_detail_historyViewModel() + { + id = m_eva_create_evaluation_detail_history.id, + evaluation_detail_id = m_eva_create_evaluation_detail_history.evaluation_detail_id, + action_dt = m_eva_create_evaluation_detail_history.action_dt, + action_detail = m_eva_create_evaluation_detail_history.action_detail, + action_emp_id = m_eva_create_evaluation_detail_history.action_emp_id, + + evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id = fk_eva_create_evaluation_detailResult1.create_evaluation_id, + action_emp_id_external_employee_fullname = fk_external_employeeResult4.fullname, + + isActive = m_eva_create_evaluation_detail_history.isActive, + Created = m_eva_create_evaluation_detail_history.created, + Updated = m_eva_create_evaluation_detail_history.updated + } + ).Take(1000).ToList(); + + return data; + } + + #endregion + + #region Manipulation Functions + + + public int GetNewPrimaryKey() + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_create_evaluation_detail_history + orderby i.id descending + select i).Take(1).ToList(); + + if(x.Count > 0) + { + newkey = x[0].id + 1; + } + + return newkey.Value; + } + + + public eva_create_evaluation_detail_historyViewModel Insert(eva_create_evaluation_detail_historyInputModel model, bool is_force_save) + { + var entity = GetEntity(model); + entity.id = GetNewPrimaryKey(); + + + entity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var inserted = _repository.Insert(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Get(inserted.id); + } + else + { + _repository.InsertWithoutCommit(entity); + entity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(entity); + } + } + + public eva_create_evaluation_detail_historyViewModel Update(int id, eva_create_evaluation_detail_historyInputModel model, bool is_force_save) + { + var existingEntity = _repository.Get(id); + if (existingEntity != null) + { + existingEntity.evaluation_detail_id = model.evaluation_detail_id; + existingEntity.action_dt = model.action_dt; + existingEntity.action_detail = model.action_detail; + existingEntity.action_emp_id = model.action_emp_id; + + existingEntity.SetAutoField(_repository.Context); + + if (is_force_save) + { + var updated = _repository.Update(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Get(updated.id); + } + else + { + _repository.UpdateWithoutCommit(id, existingEntity); + existingEntity.DoAfterInsertUpdate(_repository.Context); + return Mapper.Map(existingEntity); + } + } + else + throw new NotificationException("No data to update"); + } + + public string UpdateMultiple(List model, bool is_force_save) + { + foreach(var i in model) + { + if (i.active_mode == "1" && i.id.HasValue) // update + { + var existingEntity = _repository.Get(i.id.Value); + if (existingEntity != null) + { + existingEntity.evaluation_detail_id = i.evaluation_detail_id; + existingEntity.action_dt = i.action_dt; + existingEntity.action_detail = i.action_detail; + existingEntity.action_emp_id = i.action_emp_id; + + existingEntity.SetAutoField(_repository.Context); + _repository.UpdateWithoutCommit(i.id.Value, existingEntity); + } + } + else if (i.active_mode == "1" && !i.id.HasValue) // add + { + var entity = GetEntity(i); + entity.id = GetNewPrimaryKey(); + entity.SetAutoField(_repository.Context); + _repository.InsertWithoutCommit(entity); + } + else if (i.active_mode == "0" && i.id.HasValue) // remove + { + _repository.DeleteWithoutCommit(i.id.Value); + } + else if (i.active_mode == "0" && !i.id.HasValue) + { + // nothing to do + } + } + if (is_force_save) + { + _repository.Context.SaveChanges(); + } + + return model.Count().ToString(); + } + + public eva_create_evaluation_detail_historyViewModel SetAsActive(int id) + { + var updated = _repository.SetAsActive(id); + + return Get(updated.id); + } + public eva_create_evaluation_detail_historyViewModel SetAsInactive(int id) + { + var updated = _repository.SetAsInActive(id); + + return Get(updated.id); + } + public void Delete(int id) + { + _repository.Delete(id); + + return; + } + + public void RefreshAutoFieldOfAllData() + { + var all_items = from i in _repository.Context.eva_create_evaluation_detail_history + select i; + foreach (var item in all_items) + { + item.SetAutoField(_repository.Context); + } + _repository.Context.SaveChanges(); + } + + private Dictionary GetLookupForLog() + { + var i = new Dictionary(); + + + i.Add("evaluation_detail_id", "การประเมิน"); + i.Add("evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id", "การประเมิน"); + i.Add("action_dt", "วันที่/เวลา"); + i.Add("txt_action_dt", "วันที่/เวลา"); + i.Add("action_detail", "รายละเอียด"); + i.Add("action_emp_id", "ผู้ดำเนินการ"); + i.Add("action_emp_id_external_employee_employee_type", "ผู้ดำเนินการ"); + + return i; + } + + #endregion + + #region Match Item + + #endregion + + #endregion + } +} \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs new file mode 100644 index 0000000..61a5215 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyViewModel.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyViewModel : BaseViewModel2 + { + + public int? evaluation_detail_id { get; set; } + + public DateTime? action_dt { get; set; } + + public string txt_action_dt { get { return MyHelper.GetDateStringForReport(this.action_dt); } } + + public string action_detail { get; set; } + + public int? action_emp_id { get; set; } + + public int? evaluation_detail_id_eva_create_evaluation_detail_create_evaluation_id { get; set; } + public string action_emp_id_external_employee_fullname { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs new file mode 100644 index 0000000..85ce478 --- /dev/null +++ b/Models/eva_create_evaluation_detail_history/eva_create_evaluation_detail_historyWithSelectionViewModel.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace TodoAPI2.Models +{ + public class eva_create_evaluation_detail_historyWithSelectionViewModel: eva_create_evaluation_detail_historyViewModel + { + public List item_action_emp_id { get; set; } + + } +} \ No newline at end of file diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs index be97079..8af11e3 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processViewModel.cs @@ -88,11 +88,20 @@ namespace TodoAPI2.Models public DateTime? status_supervisor1A_click_date { get; set; } public DateTime? status_supervisor2A_click_date { get; set; } - public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date); } } - public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date); } } - public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date); } } - public string txt_status_supervisor1A { get { return getStatusText(status_supervisor1A) + MyHelper.GetDateStringForReport(status_supervisor1A_click_date); } } - public string txt_status_supervisor2A { get { return getStatusText(status_supervisor2A) + MyHelper.GetDateStringForReport(status_supervisor2A_click_date); } } + public string txt_status_self { get { return getStatusText(status_self) + MyHelper.GetDateStringForReport(status_self_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_click_date) + getHistoryLink(status_self); } } + public string txt_status_chief { get { return getStatusText(status_chief) + MyHelper.GetDateStringForReport(status_chief_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_click_date) + getHistoryLink(status_chief); } } + public string txt_status_supervisor { get { return getStatusText(status_supervisor) + MyHelper.GetDateStringForReport(status_supervisor_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor_click_date) + getHistoryLink(status_supervisor); } } + public string txt_status_supervisor1A { get { return getStatusText(status_supervisor1A) + MyHelper.GetDateStringForReport(status_supervisor1A_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor1A_click_date) + getHistoryLink(status_supervisor1A); } } + public string txt_status_supervisor2A { get { return getStatusText(status_supervisor2A) + MyHelper.GetDateStringForReport(status_supervisor2A_click_date) + " " + MyHelper.GetTimeStringFromDate(status_supervisor2A_click_date) + getHistoryLink(status_supervisor2A); } } + + private string getHistoryLink(string s) + { + if (!string.IsNullOrEmpty(s)) + { + return ("
    ดูประวัติ").Replace("{0}", '"'.ToString()); + } + return ""; + } private string getStatusText(string s) { @@ -110,8 +119,8 @@ namespace TodoAPI2.Models return " "; } - public string txt_status_self_a_click_date { get { return MyHelper.GetDateStringForReport(status_self_a_click_date); } } - public string txt_status_chief_a_click_date { get { return MyHelper.GetDateStringForReport(status_chief_a_click_date); } } + public string txt_status_self_a_click_date { get { return MyHelper.GetDateStringForReport(status_self_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_self_a_click_date); } } + public string txt_status_chief_a_click_date { get { return MyHelper.GetDateStringForReport(status_chief_a_click_date) + " " + MyHelper.GetTimeStringFromDate(status_chief_a_click_date); } } } } diff --git a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs index 75bd35e..47aca51 100644 --- a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs +++ b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusInputModel.cs @@ -34,6 +34,8 @@ namespace TodoAPI2.Models public string status_mode { get; set; } + public int? employee_id { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs index 8f2ab33..7e0d3f4 100644 --- a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs +++ b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs @@ -28,16 +28,18 @@ namespace TodoAPI2.Models private IMyDatabase db; private Iexternal_linkageService ext; private Iexternal_employeeService emp; + private Ieva_create_evaluation_detail_historyService his; private IConfiguration Configuration { get; set; } public eva_create_evaluation_detail_statusService(IBaseRepository2 repository, - IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, IConfiguration configuration) + IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, IConfiguration configuration, Ieva_create_evaluation_detail_historyService inhis) { _repository = repository; db = mydb; ext = inext; emp = inemp; Configuration = configuration; + his = inhis; } #region Private Functions @@ -155,13 +157,33 @@ namespace TodoAPI2.Models var entity = GetEntity(model); entity.id = GetNewPrimaryKey(); - - var inserted = _repository.Insert(entity); return Get(inserted.id); } + private void add_history(DateTime? dt, string action, int? action_user_id, int? detail_id) + { + int? newkey = 0; + + var x = (from i in _repository.Context.eva_create_evaluation_detail_history + orderby i.id descending + select i).Take(1).ToList(); + + if (x.Count > 0) + { + newkey = x[0].id + 1; + } + + var n = new eva_create_evaluation_detail_historyEntity(); + n.id = newkey.Value; + n.action_detail = action; + n.action_dt = dt; + n.action_emp_id = action_user_id; + n.evaluation_detail_id = detail_id; + _repository.Context.Add(n); + } + public eva_create_evaluation_detail_statusViewModel Update(int id, eva_create_evaluation_detail_statusInputModel model) { var existingEntity = _repository.Get(id); @@ -198,23 +220,25 @@ namespace TodoAPI2.Models if (model.status_mode == "nextA") { - existingEntity.status_self_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_self_a_click_date = DateTime.Now; existingEntity.status_chief_a_click_date = null; noti_to_employee_id = existingEntity.chief; noti_message = "กรุณาตรวจสอบ ข้อตกลงการประเมิน ของ {0}"; noti_url = "/eva/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ส่งข้อตกลงการประเมิน", model.employee_id, existingEntity.id); } else if (model.status_mode == "backB") { - existingEntity.status_chief_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_a_click_date = DateTime.Now; existingEntity.status_self_a_click_date = null; noti_to_employee_id = existingEntity.employee_id; noti_message = "ข้อตกลงการประเมินของคุณ ({0}) ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ข้อตกลงการประเมิน ถูกตีกลับ", model.employee_id, existingEntity.id); } else if (model.status_mode == "nextB") { - existingEntity.status_chief_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_a_click_date = DateTime.Now; if (current_eva.employee_id == existingEntity.chief) // หัวหน้าและผู้ประเมินสูงสุด เป็นคนคนเดียวกัน { noti_to_employee_id = current_eva.supervisor1_id; @@ -224,10 +248,11 @@ namespace TodoAPI2.Models noti_to_employee_id = current_eva.employee_id; } need_noti = false; + add_history(DateTime.Now, "อนุมัติ ข้อตกลงการประเมิน", existingEntity.chief, existingEntity.id); } else if (model.status_mode == "next0") { - existingEntity.status_self_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_self_click_date = DateTime.Now; noti_to_employee_id = existingEntity.chief; noti_message = "กรุณาตรวจสอบแบบประเมินของ {0}"; noti_url = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); @@ -235,10 +260,11 @@ namespace TodoAPI2.Models noti_to_employee_id2 = owner_eva_employee_id; noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว"; noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ส่งแบบประเมิน", model.employee_id, existingEntity.id); } else if (model.status_mode == "next1") { - existingEntity.status_chief_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_click_date = DateTime.Now; if (current_eva.employee_id == existingEntity.chief) // หัวหน้าและผู้ประเมินสูงสุด เป็นคนคนเดียวกัน { noti_to_employee_id = current_eva.supervisor1_id; @@ -250,61 +276,68 @@ namespace TodoAPI2.Models } else if (model.status_mode == "back1") { - existingEntity.status_chief_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_chief_click_date = DateTime.Now; existingEntity.status_self_click_date = null; noti_to_employee_id = existingEntity.employee_id; noti_message = "ข้อตกลงการประเมินของคุณ ({0}) ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ข้อตกลงการประเมิน ถูกตีกลับ โดยผู้ประเมิน", model.employee_id, existingEntity.id); } else if (model.status_mode == "next2") { - existingEntity.status_supervisor_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor_click_date = DateTime.Now; noti_to_employee_id = current_eva.supervisor1_id; noti_to_employee_id2 = owner_eva_employee_id; noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว"; noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ผู้ประเมินสูงสุด อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id); } else if (model.status_mode == "back2") { - existingEntity.status_supervisor_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor_click_date = DateTime.Now; existingEntity.status_chief_click_date = null; noti_to_employee_id = existingEntity.chief; noti_message = "แบบประเมินของ {0} ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "แบบประเมิน ถูกตีกลับ โดยผู้ประเมินสูงสุด", model.employee_id, existingEntity.id); } else if (model.status_mode == "next3") { - existingEntity.status_supervisor1A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor1A_click_date = DateTime.Now; noti_to_employee_id = current_eva.supervisor2_id; noti_to_employee_id2 = owner_eva_employee_id; noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว"; noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id); } else if (model.status_mode == "back3") { - existingEntity.status_supervisor1A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor1A_click_date = DateTime.Now; existingEntity.status_supervisor_click_date = null; noti_to_employee_id = current_eva.employee_id; noti_message = "แบบประเมินของ {0} ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d2?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "แบบประเมินถูกตีกลับ โดย ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง", model.employee_id, existingEntity.id); } else if (model.status_mode == "next4") { - existingEntity.status_supervisor2A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor2A_click_date = DateTime.Now; noti_to_employee_id2 = owner_eva_employee_id; noti_message2 = "แบบประเมินของ {0} ได้รับการประเมินเรียบร้อยแล้ว"; noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง (สูงสุด) อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id); } else if (model.status_mode == "back4") { - existingEntity.status_supervisor2A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now); + existingEntity.status_supervisor2A_click_date = DateTime.Now; existingEntity.status_supervisor1A_click_date = null; noti_to_employee_id = current_eva.supervisor1_id; noti_message = "แบบประเมินของ {0} ถูกตีกลับ"; noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d2?id=" + existingEntity.id.ToString(); + add_history(DateTime.Now, "แบบประเมินถูกตีกลับ โดย ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง (สูงสุด)", model.employee_id, existingEntity.id); } if (need_noti) diff --git a/Startup.cs b/Startup.cs index d4ee490..e89fc55 100644 --- a/Startup.cs +++ b/Startup.cs @@ -332,6 +332,9 @@ namespace Test01 services.AddScoped(); + services.AddScoped, BaseRepository2>(); + services.AddScoped(); + #endregion services.TryAddSingleton(); @@ -623,6 +626,10 @@ namespace Test01 cfg.CreateMap(); cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + cfg.CreateMap(); + }); #endregion diff --git a/Utils/MyHelper.cs b/Utils/MyHelper.cs index 19f3754..f82548b 100644 --- a/Utils/MyHelper.cs +++ b/Utils/MyHelper.cs @@ -95,6 +95,18 @@ public class MyHelper } } + public static string GetTimeStringFromDate(DateTime? date) + { + if (date.HasValue) + { + return date.Value.ToShortTimeString() + "น."; + } + else + { + return ""; + } + } + public static DateTime? GetDateFromString(string date) { if (string.IsNullOrEmpty(date)) return null; diff --git a/ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs b/ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs new file mode 100644 index 0000000..34d32b1 --- /dev/null +++ b/ViewControllers/eva_create_evaluation_detail_historyViewControllers.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using TodoAPI2.Models; +using STAFF_API.Models; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Configuration; +using TodoAPI2.Controllers; + +namespace TodoAPI2.Controllers +{ + public class eva_create_evaluation_detail_historyViewController : Controller + { + private ILogger _logger; + private Ieva_create_evaluation_detail_historyService _repository; + private IConfiguration Configuration { get; set; } + + /// + /// Default constructure for dependency injection + /// + /// + /// + /// + public eva_create_evaluation_detail_historyViewController(ILogger logger, Ieva_create_evaluation_detail_historyService repository, IConfiguration configuration) + { + _logger = logger; + _repository = repository; + Configuration = configuration; + } + + public IActionResult eva_create_evaluation_detail_history() + { + if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + return View(); + } + + // public IActionResult eva_create_evaluation_detail_history_d() + // { + //if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + // } + + //public IActionResult eva_create_evaluation_detail_history_report() + //{ + // if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + //} + + //public IActionResult eva_create_evaluation_detail_history_inline() + //{ + // if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView + // return View(); + //} + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public IActionResult Error() + { + return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); + } + } +} + + diff --git a/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 25e48c7..10fefbc 100644 --- a/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml +++ b/Views/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d.cshtml @@ -453,11 +453,11 @@ }); function CheckPermission() { - //if (status_self === "Y") { - // $(".status_self").hide(); - // $(".status_self_text").attr("disabled", true); - // $("#status").text("คุณส่งแบบประเมินไปแล้ว"); - //} + if (status_self === "Y") { + $(".status_self").hide(); + $(".status_self_text").attr("disabled", true); + $("#status").text("คุณส่งแบบประเมินไปแล้ว"); + } } function OnWeightChanged(c) { diff --git a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml index 93d67e8..6f95944 100644 --- a/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml +++ b/Views/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d.cshtml @@ -154,7 +154,7 @@
    - +
    diff --git a/Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml b/Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml new file mode 100644 index 0000000..c92ae60 --- /dev/null +++ b/Views/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history.cshtml @@ -0,0 +1,59 @@ +@using Microsoft.Extensions.Configuration +@inject IConfiguration Configuration +@{ + ViewData["Title"] = "eva_create_evaluation_detail_history"; + Layout = "_LayoutDirect"; +} + +
    +
    +
    + @Configuration["SiteInformation:modulename"] +
    +
    +
    + +
    +
    + +
    +
    ประวัติการดำเนินการ
    + +
    +
    +
    + +
    + +
    +
    + + + + + + + + + + + + +
    +
    + +@section FooterPlaceHolder{ + + +} + diff --git a/tb320eva.csproj b/tb320eva.csproj index 52c903f..f557aa5 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -69,6 +69,7 @@ + @@ -84,6 +85,7 @@ + diff --git a/tb320eva.xml b/tb320eva.xml index a4b66cc..d6cf165 100644 --- a/tb320eva.xml +++ b/tb320eva.xml @@ -1191,6 +1191,124 @@ Returns the item Error Occurred + + + Default constructure for dependency injection + + + + + + + + Get specific item by id + + + + Return Get specific item by id + Returns the item + Error Occurred + + + + Get Blank Item + + + + Return a blank item + Returns the item + Error Occurred + + + + Get list items by evaluation_detail_id + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Get list items by search + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Download Report + + + + Return list of items by specifced keyword + Returns the item + Error Occurred + + + + Create new item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update item + + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Delete item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Update multiple item + + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + + + + Refresh AutoField of all items + + + + Response Result Message + Response Result Message + If the model is invalid + Error Occurred + Default constructure for dependency injection @@ -1746,12 +1864,13 @@ If the model is invalid Error Occurred - + Default constructure for dependency injection + @@ -5266,6 +5385,14 @@ + + + Default constructure for dependency injection + + + + + Default constructure for dependency injection diff --git a/wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js b/wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js new file mode 100644 index 0000000..4660b8f --- /dev/null +++ b/wwwroot/js/eva_create_evaluation_detail_history/eva_create_evaluation_detail_history.js @@ -0,0 +1,209 @@ +var eva_create_evaluation_detail_history_editMode = "CREATE"; +var eva_create_evaluation_detail_history_API = "/api/eva_create_evaluation_detail_history/"; + +//================= Search Customizaiton ========================================= + +function eva_create_evaluation_detail_history_GetSearchParameter() { + var eva_create_evaluation_detail_historySearchObject = new Object(); + eva_create_evaluation_detail_historySearchObject.evaluation_detail_id = getUrlParameter("id"); + + return eva_create_evaluation_detail_historySearchObject; +} + +function eva_create_evaluation_detail_history_FeedDataToSearchForm(data) { + $("#s_eva_create_evaluation_detail_history_evaluation_detail_id").val(data.evaluation_detail_id); + +} + +//================= Form Data Customizaiton ========================================= + +function eva_create_evaluation_detail_history_FeedDataToForm(data) { + $("#eva_create_evaluation_detail_history_id").val(data.id); + $("#eva_create_evaluation_detail_history_evaluation_detail_id").val(data.evaluation_detail_id); + $("#eva_create_evaluation_detail_history_action_dt").val(formatDate(data.action_dt)); + $("#eva_create_evaluation_detail_history_action_detail").val(data.action_detail); + //DropDownClearFormAndFeedWithData($("#eva_create_evaluation_detail_history_action_emp_id"), data, "id", "employee_type", "item_action_emp_id", data.action_emp_id); + +} + +function eva_create_evaluation_detail_history_GetFromForm() { + var eva_create_evaluation_detail_historyObject = new Object(); + eva_create_evaluation_detail_historyObject.id = $("#eva_create_evaluation_detail_history_id").val(); + eva_create_evaluation_detail_historyObject.evaluation_detail_id = getUrlParameter("id"); + eva_create_evaluation_detail_historyObject.action_dt = getDate($("#eva_create_evaluation_detail_history_action_dt").val()); + eva_create_evaluation_detail_historyObject.action_detail = $("#eva_create_evaluation_detail_history_action_detail").val(); + eva_create_evaluation_detail_historyObject.action_emp_id = $("#eva_create_evaluation_detail_history_action_emp_id").val(); + + + return eva_create_evaluation_detail_historyObject; +} + +function eva_create_evaluation_detail_history_InitialForm(s) { + var successFunc = function (result) { + eva_create_evaluation_detail_history_FeedDataToForm(result); + eva_create_evaluation_detail_history_FeedDataToSearchForm(result); + if (s) { + // Incase model popup + $("#eva_create_evaluation_detail_historyModel").modal("show"); + } + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_create_evaluation_detail_history_API + "GetBlankItem", successFunc, AlertDanger); +} + +//================= Form Mode Setup and Flow ========================================= + +function eva_create_evaluation_detail_history_GoCreate() { + // Incase model popup + eva_create_evaluation_detail_history_SetCreateForm(true); + + // Incase open new page + //window_open(appsite + "/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history_d"); +} + +function eva_create_evaluation_detail_history_GoEdit(a) { + // Incase model popup + eva_create_evaluation_detail_history_SetEditForm(a); + + // Incase open new page + //window_open(appsite + "/eva_create_evaluation_detail_historyView/eva_create_evaluation_detail_history_d?id=" + a); +} + +function eva_create_evaluation_detail_history_SetEditForm(a) { + var successFunc = function (result) { + eva_create_evaluation_detail_history_editMode = "UPDATE"; + eva_create_evaluation_detail_history_FeedDataToForm(result); + $("#eva_create_evaluation_detail_historyModel").modal("show"); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + eva_create_evaluation_detail_history_API + a, successFunc, AlertDanger); +} + +function eva_create_evaluation_detail_history_SetCreateForm(s) { + eva_create_evaluation_detail_history_editMode = "CREATE"; + eva_create_evaluation_detail_history_InitialForm(s); +} + +function eva_create_evaluation_detail_history_RefreshTable() { + // Incase model popup + eva_create_evaluation_detail_history_DoSearch(); + + // Incase open new page + //window.parent.eva_create_evaluation_detail_history_DoSearch(); +} + +//================= Update and Delete ========================================= + +var eva_create_evaluation_detail_history_customValidation = function (group) { + return ""; +}; + +function eva_create_evaluation_detail_history_PutUpdate() { + if (!ValidateForm('eva_create_evaluation_detail_history', eva_create_evaluation_detail_history_customValidation)) { + return; + } + + var data = eva_create_evaluation_detail_history_GetFromForm(); + + //Update Mode + if (eva_create_evaluation_detail_history_editMode === "UPDATE") { + var successFunc1 = function (result) { + $("#eva_create_evaluation_detail_historyModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_create_evaluation_detail_history_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPutRequest(apisite + eva_create_evaluation_detail_history_API + data.id, data, successFunc1, AlertDanger); + } + // Create mode + else { + var successFunc2 = function (result) { + $("#eva_create_evaluation_detail_historyModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_create_evaluation_detail_history_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxPostRequest(apisite + eva_create_evaluation_detail_history_API, data, successFunc2, AlertDanger); + } +} + +function eva_create_evaluation_detail_history_GoDelete(a) { + if (confirm('คุณต้องการลบข้อมูล ใช่หรือไม่?')) { + var successFunc = function (result) { + $("#eva_create_evaluation_detail_historyModel").modal("hide"); + AlertSuccess(result.code + " " + result.message); + eva_create_evaluation_detail_history_RefreshTable(); + endLoad(); + }; + startLoad(); + AjaxDeleteRequest(apisite + eva_create_evaluation_detail_history_API + a, null, successFunc, AlertDanger); + } +} + +//================= Data Table ========================================= + +var eva_create_evaluation_detail_historyTableV; + +var eva_create_evaluation_detail_history_setupTable = function (result) { + tmp = '"'; + eva_create_evaluation_detail_historyTableV = $('#eva_create_evaluation_detail_historyTable').DataTable({ + "processing": true, + "serverSide": false, + "data": result, + //"select": { + // "style": 'multi' + //}, + "columns": [ + { "data": "txt_action_dt" }, + { "data": "action_detail" }, + { "data": "action_emp_id_external_employee_fullname" }, + ], + "columnDefs": [ + + ], + "language": { + "url": appsite + "/DataTables-1.10.16/thai.json" + }, + "paging": true, + "searching": false + }); + endLoad(); +}; + +function eva_create_evaluation_detail_history_InitiateDataTable() { + startLoad(); + var p = $.param(eva_create_evaluation_detail_history_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_create_evaluation_detail_history/GetListBySearch?" + p, eva_create_evaluation_detail_history_setupTable, AlertDanger); +} + +function eva_create_evaluation_detail_history_DoSearch() { + var p = $.param(eva_create_evaluation_detail_history_GetSearchParameter()); + var eva_create_evaluation_detail_history_reload = function (result) { + eva_create_evaluation_detail_historyTableV.destroy(); + eva_create_evaluation_detail_history_setupTable(result); + endLoad(); + }; + startLoad(); + AjaxGetRequest(apisite + "/api/eva_create_evaluation_detail_history/GetListBySearch?" + p, eva_create_evaluation_detail_history_reload, AlertDanger); +} + +function eva_create_evaluation_detail_history_GetSelect(f) { + var eva_create_evaluation_detail_history_selectitem = []; + $.each(eva_create_evaluation_detail_historyTableV.rows('.selected').data(), function (key, value) { + eva_create_evaluation_detail_history_selectitem.push(value[f]); + }); + alert(eva_create_evaluation_detail_history_selectitem); +} + +//================= File Upload ========================================= + + + +//================= Multi-Selection Function ========================================= + + + From ff22eababb563c5628fa22e1c76726dc1e4016a1 Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Thu, 15 Apr 2021 16:09:50 +0700 Subject: [PATCH 24/48] clickup #6zrfkc --- .../eva_limit_frame_group_d.cshtml | 10 +++++----- wwwroot/js/coregen.js | 10 ++++++++++ .../eva_limit_frame_employee.js | 4 ++-- .../eva_limit_frame_group_d.js | 14 ++++++++------ 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml b/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml index 6581d44..237b7b2 100644 --- a/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml +++ b/Views/eva_limit_frame_groupView/eva_limit_frame_group_d.cshtml @@ -128,25 +128,25 @@
    - - วงเงินในการเลื่อนเงินเดือน ร้อยละ +
    - +
    - +
    - +
    diff --git a/wwwroot/js/coregen.js b/wwwroot/js/coregen.js index 0a4abf5..f0942e0 100644 --- a/wwwroot/js/coregen.js +++ b/wwwroot/js/coregen.js @@ -665,6 +665,16 @@ function coreFormatPrice(value, digits) { var currency = 0; if (value) { currency = (value / 1).toFixed(digits); + } else { + currency = currency.toFixed(digits); } return currency.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } + +function coreCurrencyToDecimal(currency) { + var number = 0; + if (currency) { + number = Number(currency.replace(/[^0-9.-]+/g, "")); + } + return number; +} diff --git a/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js b/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js index 235f6d9..dccb113 100644 --- a/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js +++ b/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js @@ -170,7 +170,7 @@ var eva_limit_frame_employee_setupTable = function (result) { $.each(result, function (index_result, obj_result) { /*console.log("index_result", index_result); console.log("obj_result", obj_result);*/ - var digits = 2; + var digits = 3; var currency_salary = coreFormatPrice(obj_result.salary, digits); var currency_position_allowance = coreFormatPrice(obj_result.position_allowance, digits); var currency_monthly_remuneration = coreFormatPrice(obj_result.monthly_remuneration, digits); @@ -179,7 +179,7 @@ var eva_limit_frame_employee_setupTable = function (result) { obj_result.salary = currency_salary; obj_result.position_allowance = currency_position_allowance; obj_result.monthly_remuneration = currency_monthly_remuneration; - obj_result.currency_cost_of_living = currency_cost_of_living + obj_result.cost_of_living = currency_cost_of_living; /*console.log(obj_result);*/ }); diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js index a728452..20d80e6 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js @@ -4,13 +4,14 @@ var eva_limit_frame_group_API = "/api/eva_limit_frame_group/"; //================= Form Data Customizaiton ========================================= function eva_limit_frame_group_FeedDataToForm(data) { + var digits = 3; $("#eva_limit_frame_group_id").val(data.id); $("#eva_limit_frame_group_frame_plan_guid").val(data.frame_plan_guid); DropDownClearFormAndFeedWithData($("#eva_limit_frame_group_group_guid"), data, "id", "thegroup", "item_group_guid", data.group_guid); $("#eva_limit_frame_group_limit_frame_295").val(data.limit_frame_295); - $("#eva_limit_frame_group_total_salary").val(data.total_salary); - $("#eva_limit_frame_group_total_salary_limit").val(data.total_salary_limit); - $("#eva_limit_frame_group_total_salary_limit_rounded").val(data.total_salary_limit_rounded); + $("#eva_limit_frame_group_total_salary").val(coreFormatPrice(data.total_salary, digits)); + $("#eva_limit_frame_group_total_salary_limit").val(coreFormatPrice(data.total_salary_limit, digits)); + $("#eva_limit_frame_group_total_salary_limit_rounded").val(coreFormatPrice(data.total_salary_limit_rounded, digits)); $("#eva_limit_frame_group_remark").val(data.remark); } @@ -111,6 +112,7 @@ function funcCeilCalculateSalaryLimit(params) { console.log("params", params); var input_id = params.srcElement.id; var val_input = params.srcElement.value; + var digits = 3; var num_check = 10; var val_divine = 100; var val_decimal = 0; @@ -118,9 +120,9 @@ function funcCeilCalculateSalaryLimit(params) { if (val_input) { val_decimal = Number(parseFloat(val_input)); } - var val_salary = Number($("#eva_limit_frame_group_total_salary").val()); + var val_salary = coreCurrencyToDecimal($("#eva_limit_frame_group_total_salary").val()); var cal_divine_salary = Number(((val_salary * val_decimal) / val_divine).toFixed(3)); - $("#eva_limit_frame_group_total_salary_limit").val(cal_divine_salary.toFixed(3)); + $("#eva_limit_frame_group_total_salary_limit").val(coreFormatPrice(cal_divine_salary, digits)); var cal_ceil = Math.ceil(cal_divine_salary); console.log("cal_ceil", cal_ceil); var str_ceil = cal_ceil.toString(); @@ -131,7 +133,7 @@ function funcCeilCalculateSalaryLimit(params) { } var set_salary_limit_rounded = cal_ceil + after_cal; /*console.log("set_salary_limit_rounded", set_salary_limit_rounded);*/ - $("#eva_limit_frame_group_total_salary_limit_rounded").val(set_salary_limit_rounded.toFixed(3)); + $("#eva_limit_frame_group_total_salary_limit_rounded").val(coreFormatPrice(set_salary_limit_rounded, digits)); } From f480ac9f3509d1317dd5eff4c32e91b976608cfe Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Fri, 16 Apr 2021 14:12:58 +0700 Subject: [PATCH 25/48] =?UTF-8?q?=E0=B9=80=E0=B8=AD=E0=B8=B2=E0=B8=9A?= =?UTF-8?q?=E0=B8=B1=E0=B8=87=E0=B8=84=E0=B8=B1=E0=B8=9A=E0=B8=81=E0=B8=A3?= =?UTF-8?q?=E0=B8=AD=E0=B8=81=20=E0=B8=A5=E0=B8=B3=E0=B8=94=E0=B8=B1?= =?UTF-8?q?=E0=B8=9A=20=E0=B8=AD=E0=B8=AD=E0=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_adjust_postponement_migration_d.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml index 5893661..947966d 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml @@ -135,7 +135,7 @@
    - +
    From 5bc18ea003ab547c2465df00d5e586120084de22 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 18 Apr 2021 15:51:18 +0700 Subject: [PATCH 26/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20op=203=20?= =?UTF-8?q?=E0=B8=82=E0=B9=89=E0=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rep_eva_self_reviewControllers.cs | 18 +++++++++--------- .../eva_limit_frame_groupService.cs | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ApiControllers/rep_eva_self_reviewControllers.cs b/ApiControllers/rep_eva_self_reviewControllers.cs index 8037307..db53aff 100644 --- a/ApiControllers/rep_eva_self_reviewControllers.cs +++ b/ApiControllers/rep_eva_self_reviewControllers.cs @@ -114,15 +114,15 @@ namespace TodoAPI2.Controllers } reader1.Close(); - var data2 = GetReport02(model); - PdfReader reader2 = new PdfReader(data2); - reader2.ConsolidateNamedDestinations(); - for (int i = 1; i <= reader2.NumberOfPages; i++) - { - PdfImportedPage page = writer.GetImportedPage(reader2, i); - writer.AddPage(page); - } - reader2.Close(); + //var data2 = GetReport02(model); + //PdfReader reader2 = new PdfReader(data2); + //reader2.ConsolidateNamedDestinations(); + //for (int i = 1; i <= reader2.NumberOfPages; i++) + //{ + // PdfImportedPage page = writer.GetImportedPage(reader2, i); + // writer.AddPage(page); + //} + //reader2.Close(); writer.Close(); document.Close(); diff --git a/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs b/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs index 17d2d9b..570baf6 100644 --- a/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs +++ b/Models/eva_limit_frame_group/eva_limit_frame_groupService.cs @@ -197,9 +197,9 @@ namespace TodoAPI2.Models existingEntity.total_salary_limit_rounded = model.total_salary_limit_rounded; existingEntity.remark = model.remark; + int j = 1; foreach (var y in from z in _repository.Context.eva_limit_frame_employee where z.frame_group_guid == model.id orderby z.order_of_data select z) - { - int j = 1; + { if (y.help_org_id.HasValue) { var theemp = (from q in all_all_emp where q.id == y.employee_id select q).FirstOrDefault(); @@ -207,7 +207,7 @@ namespace TodoAPI2.Models var help_at = (from s in mapping_dept where s.id == thedetail.place select s).FirstOrDefault(); if (theemp != null && thedetail != null && help_at != null) { - if (model.remark != "") existingEntity.remark += "\n"; + if (existingEntity.remark != "") existingEntity.remark += "\n"; existingEntity.remark += $"{j}.ในลำดับที่ {y.order_of_data} {theemp.fullname} ตำแหน่ง{theemp.position_name} {theemp.department_name} \nมาช่วยปฏิบัติงานที่{help_at.department_name} ตั้งแต่วันที่ {MyHelper.GetDateStringForReport(thedetail.start_date)} - {MyHelper.GetDateStringForReport(thedetail.end_date)} \nตาม{thedetail.subject}"; } j++; From d0dbaae151d82d75345316f7de36ed963c9b296a Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Mon, 19 Apr 2021 19:37:53 +0700 Subject: [PATCH 27/48] clickup #7nynw9 --- .../vw_limit_frame_plan_d.cshtml | 9 +++-- .../eva_limit_frame_group.js | 16 ++++++++ .../vw_limit_frame_plan_d.js | 40 +++++++++++++++++-- 3 files changed, 57 insertions(+), 8 deletions(-) diff --git a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml index 98be1f9..0fecf13 100644 --- a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml +++ b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml @@ -75,23 +75,24 @@
    - +
    - +
    - +
    - +
    diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js index 7936bf8..094f27c 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js @@ -1,5 +1,6 @@ var eva_limit_frame_group_editMode = "CREATE"; var eva_limit_frame_group_API = "/api/eva_limit_frame_group/"; +var limit_frame_group_digits = 3; //================= Search Customizaiton ========================================= @@ -157,6 +158,21 @@ function eva_limit_frame_group_GoDelete(a) { var eva_limit_frame_groupTableV; var eva_limit_frame_group_setupTable = function (result) { + + $.each(result, function (index_result, obj_result) { + /*console.log("index_result", index_result); + console.log("obj_result", obj_result);*/ + + var currency_total_salary = coreFormatPrice(obj_result.total_salary, limit_frame_group_digits); + var currency_total_salary_limit = coreFormatPrice(obj_result.total_salary_limit, limit_frame_group_digits); + var currency_total_salary_limit_rounded = coreFormatPrice(obj_result.total_salary_limit_rounded, limit_frame_group_digits); + + obj_result.total_salary = currency_total_salary; + obj_result.total_salary_limit = currency_total_salary_limit; + obj_result.total_salary_limit_rounded = currency_total_salary_limit_rounded; + + }); + tmp = '"'; eva_limit_frame_groupTableV = $('#eva_limit_frame_groupTable').DataTable({ "processing": true, diff --git a/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js b/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js index 24eec32..29e0ff6 100644 --- a/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js +++ b/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js @@ -1,5 +1,6 @@ var vw_limit_frame_plan_editMode = "CREATE"; var vw_limit_frame_plan_API = "/api/vw_limit_frame_plan/"; +var limit_frame_digits = 3; //================= Form Data Customizaiton ========================================= @@ -7,11 +8,11 @@ function vw_limit_frame_plan_FeedDataToForm(data) { $("#vw_limit_frame_plan_id").val(data.id); DropDownClearFormAndFeedWithData($("#vw_limit_frame_plan_plan_guid"), data, "id", "display_text", "item_plan_guid", data.plan_guid); $("#vw_limit_frame_plan_executed_date").val(formatDate(data.executed_date)); - $("#vw_limit_frame_plan_limit_frame_005").val(data.limit_frame_005); + $("#vw_limit_frame_plan_limit_frame_005").val(data.limit_frame_005.toFixed(limit_frame_digits)); $("#vw_limit_frame_plan_salary_adjustment_date").val(formatDate(data.salary_adjustment_date)); - $("#vw_limit_frame_plan_total_salary").val(data.total_salary); - $("#vw_limit_frame_plan_limit_frame_005_total").val(data.limit_frame_005_total); - $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(data.limit_frame_005_total_rounded); + $("#vw_limit_frame_plan_total_salary").val(coreFormatPrice(data.total_salary, limit_frame_digits)); + $("#vw_limit_frame_plan_limit_frame_005_total").val(coreFormatPrice(data.limit_frame_005_total, limit_frame_digits)); + $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(coreFormatPrice(data.limit_frame_005_total_rounded, limit_frame_digits)); } @@ -107,3 +108,34 @@ function vw_limit_frame_plan_GoDelete(a) { //================= Multi-Selection Function ========================================= +function changeDigitsLimitFrame() { + var val_limit_frame_005 = $("#vw_limit_frame_plan_limit_frame_005").val(); + if (val_limit_frame_005) { + var round_value = Math.round(val_limit_frame_005 * 1000) / 1000; + $("#vw_limit_frame_plan_limit_frame_005").val(round_value.toFixed(3)); + } +} + + +function funcCalculateCeilTotalRoundedLimitFramePlan(params) { + var val_input = params.srcElement.value; + var num_check = 10; + var val_divine = 100; + var val_decimal = 0; + var after_cal = 0; + if (val_input) { + val_decimal = parseFloat(val_input); + } + var val_salary = coreCurrencyToDecimal($("#vw_limit_frame_plan_total_salary").val()); + var cal_divine_salary = Number(((val_salary * val_decimal) / val_divine).toFixed(limit_frame_digits)); + $("#vw_limit_frame_plan_limit_frame_005_total").val(coreFormatPrice(cal_divine_salary, limit_frame_digits)); + var cal_ceil = Math.ceil(cal_divine_salary); + var str_ceil = cal_ceil.toString(); + var split_ceil = str_ceil.split(''); + var num_last = Number(split_ceil[split_ceil.length - 1]); + if (num_last) { + after_cal = num_check - num_last; + } + var set_salary_limit_rounded = cal_ceil + after_cal; + $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(coreFormatPrice(set_salary_limit_rounded, limit_frame_digits)); +} \ No newline at end of file From a89ba725a2b5f4c3a7a482b0ee82b99d15224ea0 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Tue, 20 Apr 2021 11:18:46 +0700 Subject: [PATCH 28/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=20migration=20=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=94?= =?UTF-8?q?=E0=B8=B9=E0=B8=87=E0=B9=88=E0=B8=B2=E0=B8=A2=E0=B8=82=E0=B8=B6?= =?UTF-8?q?=E0=B9=89=E0=B8=99=20=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=AD?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=99=E0=B9=86=20=E0=B8=AD=E0=B8=B5?= =?UTF-8?q?=E0=B8=81=E0=B8=AB=E0=B8=A5=E0=B8=B2=E0=B8=A2=E0=B8=88=E0=B8=B8?= =?UTF-8?q?=E0=B8=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...st_postponement_detail_migrationService.cs | 2 ++ ..._postponement_detail_migrationViewModel.cs | 4 +++ ...va_adjust_postponement_migrationService.cs | 29 ++++++++++++++++--- ..._adjust_postponement_migrationViewModel.cs | 4 +++ ...onement_migrationWithSelectionViewModel.cs | 2 +- .../eva_adjust_postponement_normalService.cs | 2 +- .../eva_adjust_postponement_migration.cshtml | 1 + ...eva_adjust_postponement_migration_d.cshtml | 1 + ...va_adjust_postponement_detail_migration.js | 1 + .../eva_adjust_postponement_migration.js | 1 + .../eva_adjust_postponement_migration_d.js | 3 +- 11 files changed, 43 insertions(+), 7 deletions(-) diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs index 9948f83..91a4e2d 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs @@ -162,6 +162,8 @@ namespace TodoAPI2.Models employee_no_at_this_time = m_eva_adjust_postponement_detail_migration.employee_no_at_this_time, is_for_postponement = m_eva_adjust_postponement_detail_migration.is_for_postponement, + workingstatus = fk_external_linkageResult3.workingstatus, + isActive = m_eva_adjust_postponement_detail_migration.isActive, Created = m_eva_adjust_postponement_detail_migration.created, Updated = m_eva_adjust_postponement_detail_migration.updated diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs index 5e45cc9..2c495d5 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationViewModel.cs @@ -67,5 +67,9 @@ namespace TodoAPI2.Models public string employee_id_external_linkage_external_name { get; set; } public string org_at_this_time_external_linkage_external_name { get; set; } + public string workingstatus { get; set; } + + + } } \ No newline at end of file diff --git a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs index 6d967d7..f608fc5 100644 --- a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs +++ b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationService.cs @@ -14,7 +14,6 @@ using System.Net; using TTSW.Configure; using Microsoft.Extensions.Options; using System.Data; -using System.IO; namespace TodoAPI2.Models { @@ -81,9 +80,18 @@ namespace TodoAPI2.Models public eva_adjust_postponement_migrationWithSelectionViewModel GetWithSelection(int id) { var entity = _repository.Get(id); - var i = Mapper.Map(entity); - i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation select x).ToList(); var all_emp = emp.GetAllEmployee(); + + var i = Mapper.Map(entity); + i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation + join y in _repository.Context.eva_performance_plan on x.performance_plan_id equals y.id + join z in all_emp on x.employee_id equals z.id + join g in _repository.Context.eva_evaluation_group on x.evaluation_group_id equals g.id + select new external_linkageViewModel { + external_id = x.id, + external_name = y.theTime.ToString() + "/" + y.fiscal_year.ToString() + " " + g.thegroup + " " + z.fullname + }).ToList(); + i.item_managed_by = all_emp.ToList(); i.item_report_type = (from x in ext.GetSalaryReportType() select x).ToList(); @@ -92,8 +100,18 @@ namespace TodoAPI2.Models public eva_adjust_postponement_migrationWithSelectionViewModel GetBlankItem() { var i = new eva_adjust_postponement_migrationWithSelectionViewModel(); - i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation select x).ToList(); var all_emp = emp.GetAllEmployee(); + + i.item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation + join y in _repository.Context.eva_performance_plan on x.performance_plan_id equals y.id + join z in all_emp on x.employee_id equals z.id + join g in _repository.Context.eva_evaluation_group on x.evaluation_group_id equals g.id + select new external_linkageViewModel + { + external_id = x.id, + external_name = y.theTime.ToString() + "/" + y.fiscal_year.ToString() + " " + g.thegroup + " " + z.fullname + }).ToList(); + i.item_managed_by = all_emp.ToList(); i.item_report_type = (from x in ext.GetSalaryReportType() select x).ToList(); @@ -145,6 +163,7 @@ namespace TodoAPI2.Models imported_file = m_eva_adjust_postponement_migration.imported_file, imported_fileDisplay = m_eva_adjust_postponement_migration.imported_fileDisplay, report_type = m_eva_adjust_postponement_migration.report_type, + workingstatus = fk_external_linkageResult11.workingstatus, create_evaluation_id_eva_create_evaluation_performance_plan_id = fk_eva_create_evaluationResult4.performance_plan_id, managed_by_external_linkage_external_name = fk_external_linkageResult11.fullname, @@ -322,6 +341,8 @@ namespace TodoAPI2.Models existingEntity.percentage = model.percentage; existingEntity.command_no = model.command_no; existingEntity.managed_by = model.managed_by; + existingEntity.report_type = model.report_type; + if (!string.IsNullOrEmpty(model.imported_file)) { if (model.imported_file.StartsWith("Uploads")) diff --git a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs index 07a86ae..1ececc5 100644 --- a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs +++ b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationViewModel.cs @@ -55,5 +55,9 @@ namespace TodoAPI2.Models public string report_type { get; set; } + public string workingstatus { get; set; } + + public string txt_data_type { get { if (create_evaluation_id.HasValue) return "ปรับเลื่อนเงินเดือน"; else return "โควต้า"; } } + } } \ No newline at end of file diff --git a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs index cd66581..a410d59 100644 --- a/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs +++ b/Models/eva_adjust_postponement_migration/eva_adjust_postponement_migrationWithSelectionViewModel.cs @@ -7,7 +7,7 @@ namespace TodoAPI2.Models { public class eva_adjust_postponement_migrationWithSelectionViewModel: eva_adjust_postponement_migrationViewModel { - public List item_create_evaluation_id { get; set; } + public List item_create_evaluation_id { get; set; } public List item_managed_by { get; set; } public List item_report_type { get; set; } } diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs index fd7af3c..57114ca 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs @@ -301,7 +301,7 @@ namespace TodoAPI2.Models public void Delete(int id) { var details = from i in _repository.Context.eva_adjust_postponement_detail - where i.adjust_postponement_id == id + where i.adjust_postponement_id == id || i.adjust_postponement_quota_id == id select i; _repository.Context.eva_adjust_postponement_detail.RemoveRange(details); diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml index 00746c8..866445c 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration.cshtml @@ -150,6 +150,7 @@ เครื่องมือ + diff --git a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml index 947966d..bfdf872 100644 --- a/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml +++ b/Views/eva_adjust_postponement_migrationView/eva_adjust_postponement_migration_d.cshtml @@ -302,6 +302,7 @@ เครื่องมือ + diff --git a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js index 461d280..3b3408f 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js +++ b/wwwroot/js/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migration.js @@ -207,6 +207,7 @@ var eva_adjust_postponement_detail_migration_setupTable = function (result) { { "data": "id" }, { "data": "order_at_this_time" }, { "data": "employee_id_external_linkage_external_name" }, + { "data": "workingstatus" }, { "data": "sarary" }, { "data": "cost_living" }, { "data": "middle" }, diff --git a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js index a5c206b..e06d9ea 100644 --- a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js +++ b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration.js @@ -184,6 +184,7 @@ var eva_adjust_postponement_migration_setupTable = function (result) { { "data": "id" }, { "data": "fiscal_year" }, { "data": "theRound" }, + { "data": "txt_data_type" }, { "data": "limit" }, { "data": "limit_frame" }, { "data": "limit_quota" }, diff --git a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js index e5c13cf..064b8c2 100644 --- a/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js +++ b/wwwroot/js/eva_adjust_postponement_migration/eva_adjust_postponement_migration_d.js @@ -4,11 +4,12 @@ var eva_adjust_postponement_migration_API = "/api/eva_adjust_postponement_migrat //================= Form Data Customizaiton ========================================= function eva_adjust_postponement_migration_FeedDataToForm(data) { + //console.log(data); $("#eva_adjust_postponement_migration_id").val(data.id); $("#eva_adjust_postponement_migration_fiscal_year").val(data.fiscal_year); $("#eva_adjust_postponement_migration_theDate").val(formatDate(data.theDate)); $("#eva_adjust_postponement_migration_theRound").val(data.theRound); - DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_migration_create_evaluation_id"), data, "id", "performance_plan_id", "item_create_evaluation_id", data.create_evaluation_id); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_migration_create_evaluation_id"), data, "external_id", "external_name", "item_create_evaluation_id", data.create_evaluation_id); $("#eva_adjust_postponement_migration_limit").val(data.limit); $("#eva_adjust_postponement_migration_limit_frame").val(data.limit_frame); $("#eva_adjust_postponement_migration_limit_quota").val(data.limit_quota); From d065ad6238e678fe6f301a3c37f638359d4059f4 Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Tue, 20 Apr 2021 22:04:40 +0700 Subject: [PATCH 29/48] =?UTF-8?q?clickup=20#6vvpqz=20=E0=B9=81=E0=B8=A5?= =?UTF-8?q?=E0=B8=B0=E0=B8=97=E0=B8=B3=20function=20=E0=B8=81=E0=B8=A5?= =?UTF-8?q?=E0=B8=B2=E0=B8=87=20=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=81?= =?UTF-8?q?=E0=B8=A3=E0=B8=AD=E0=B8=81=E0=B9=81=E0=B8=95=E0=B9=88=E0=B8=88?= =?UTF-8?q?=E0=B8=B3=E0=B8=99=E0=B8=A7=E0=B8=99=E0=B9=80=E0=B8=95=E0=B9=87?= =?UTF-8?q?=E0=B8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._create_evaluation_detail_process_d.cshtml | 4 +-- wwwroot/js/coregen.js | 10 +++++++ ...a_evaluation_achievement_process_inline.js | 28 +++++++++++-------- .../eva_evaluation_behavior_process_inline.js | 28 +++++++++++-------- 4 files changed, 45 insertions(+), 25 deletions(-) diff --git a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml index e44a197..3dde642 100644 --- a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml +++ b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml @@ -224,7 +224,7 @@ ลำดับ - + @@ -278,7 +278,7 @@ ลำดับ - + diff --git a/wwwroot/js/coregen.js b/wwwroot/js/coregen.js index f0942e0..4c8a420 100644 --- a/wwwroot/js/coregen.js +++ b/wwwroot/js/coregen.js @@ -678,3 +678,13 @@ function coreCurrencyToDecimal(currency) { } return number; } + +function coreIsNumber(event) { + var charCode = (event.which) ? event.which : event.keyCode; + console.log("charCode",charCode); + if (charCode > 31 && (charCode < 48 || charCode > 57)){ + event.preventDefault(); + }else{ + return true; + } +} diff --git a/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js b/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js index 4a8243b..bee5759 100644 --- a/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js +++ b/wwwroot/js/eva_evaluation_achievement_process/eva_evaluation_achievement_process_inline.js @@ -3,7 +3,7 @@ $("#eva_evaluation_achievement_process_id_" + i).val(""); $("#eva_evaluation_achievement_process_create_evaluation_detail_id_" + i).val(""); $("#eva_evaluation_achievement_process_achievement_" + i).text(""); - $("#eva_evaluation_achievement_process_weight_" + i).text(""); + $("#eva_evaluation_achievement_process_weight_" + i).val(""); $("#eva_evaluation_achievement_process_score_" + i).val(""); $("#eva_evaluation_achievement_process_sumary_" + i).text(""); //$("#eva_evaluation_achievement_process_target_score1_" + i).val(""); @@ -22,7 +22,7 @@ function eva_evaluation_achievement_process_FeedDataToForm(data, i, blankItem) { $("#eva_evaluation_achievement_process_id_" + i).val(data.id); $("#eva_evaluation_achievement_process_create_evaluation_detail_id_" + i).val(data.create_evaluation_detail_id); $("#eva_evaluation_achievement_process_achievement_" + i).text(data.achievement); - $("#eva_evaluation_achievement_process_weight_" + i).text(data.weight); + $("#eva_evaluation_achievement_process_weight_" + i).val(data.weight); $("#eva_evaluation_achievement_process_score_" + i).val(data.score); $("#eva_evaluation_achievement_process_sumary_" + i).text(data.sumary); //$("#eva_evaluation_achievement_process_target_score1_" + i).val(data.target_score1); @@ -38,7 +38,7 @@ function eva_evaluation_achievement_process_GetFromForm(obj, i) { eva_evaluation_achievement_processObject.id = obj.find("#eva_evaluation_achievement_process_id_" + i).val(); eva_evaluation_achievement_processObject.create_evaluation_detail_id = obj.find("#eva_evaluation_achievement_process_create_evaluation_detail_id_" + i).val(); eva_evaluation_achievement_processObject.achievement = obj.find("#eva_evaluation_achievement_process_achievement_" + i).text(); - eva_evaluation_achievement_processObject.weight = obj.find("#eva_evaluation_achievement_process_weight_" + i).text(); + eva_evaluation_achievement_processObject.weight = obj.find("#eva_evaluation_achievement_process_weight_" + i).val(); eva_evaluation_achievement_processObject.score = obj.find("#eva_evaluation_achievement_process_score_" + i).val(); eva_evaluation_achievement_processObject.sumary = obj.find("#eva_evaluation_achievement_process_sumary_" + i).text(); //eva_evaluation_achievement_processObject.target_score1 = obj.find("#eva_evaluation_achievement_process_target_score1_" + i).val(); @@ -77,12 +77,7 @@ function eva_evaluation_achievement_process_Get(a, blankItem) { var tag = ''; tag += ''; tag += '

    '; - tag += '

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

    '; @@ -116,8 +111,19 @@ function Oneva_evaluation_achievement_process_scoreChange() { var total_achievement_score = 0; $('#eva_evaluation_achievement_processBody tr').each(function () { var i = $(this).find("#rowCount").text(); - var score = $("#eva_evaluation_achievement_process_score_" + i).val(); - var weight = $("#eva_evaluation_achievement_process_weight_" + i).text(); + var score = 0; + var weight = 0; + var val_achievment_score = $("#eva_evaluation_achievement_process_score_" + i).val(); + var val_achievment_weight = $("#eva_evaluation_achievement_process_weight_" + i).val(); + + if (val_achievment_score) { + score = val_achievment_score; + } + + if (val_achievment_weight) { + weight = val_achievment_weight; + } + var total = (score * weight / 100).toFixed(3); $("#eva_evaluation_achievement_process_sumary_" + i).text(total); total_achievement += parseFloat(total); diff --git a/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js b/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js index 5fecbf8..8851b03 100644 --- a/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js +++ b/wwwroot/js/eva_evaluation_behavior_process/eva_evaluation_behavior_process_inline.js @@ -3,7 +3,7 @@ $("#eva_evaluation_behavior_process_id_" + i).val(""); $("#eva_evaluation_behavior_process_create_evaluation_detail_id_" + i).val(""); $("#eva_evaluation_behavior_process_behavior_" + i).text(""); - $("#eva_evaluation_behavior_process_weight_" + i).text(""); + $("#eva_evaluation_behavior_process_weight_" + i).val(""); $("#eva_evaluation_behavior_process_score_" + i).val(""); $("#eva_evaluation_behavior_process_sumary_" + i).text(""); //$("#eva_evaluation_behavior_process_target_score1_" + i).val(""); @@ -22,7 +22,7 @@ function eva_evaluation_behavior_process_FeedDataToForm(data, i, blankItem) { $("#eva_evaluation_behavior_process_id_" + i).val(data.id); $("#eva_evaluation_behavior_process_create_evaluation_detail_id_" + i).val(data.create_evaluation_detail_id); $("#eva_evaluation_behavior_process_behavior_" + i).text(data.behavior); - $("#eva_evaluation_behavior_process_weight_" + i).text(data.weight); + $("#eva_evaluation_behavior_process_weight_" + i).val(data.weight); $("#eva_evaluation_behavior_process_score_" + i).val(data.score); $("#eva_evaluation_behavior_process_sumary_" + i).text(data.sumary); //$("#eva_evaluation_behavior_process_target_score1_" + i).val(data.target_score1); @@ -38,7 +38,7 @@ function eva_evaluation_behavior_process_GetFromForm(obj, i) { eva_evaluation_behavior_processObject.id = obj.find("#eva_evaluation_behavior_process_id_" + i).val(); eva_evaluation_behavior_processObject.create_evaluation_detail_id = obj.find("#eva_evaluation_behavior_process_create_evaluation_detail_id_" + i).val(); eva_evaluation_behavior_processObject.behavior = obj.find("#eva_evaluation_behavior_process_behavior_" + i).text(); - eva_evaluation_behavior_processObject.weight = obj.find("#eva_evaluation_behavior_process_weight_" + i).text(); + eva_evaluation_behavior_processObject.weight = obj.find("#eva_evaluation_behavior_process_weight_" + i).val(); eva_evaluation_behavior_processObject.score = obj.find("#eva_evaluation_behavior_process_score_" + i).val(); eva_evaluation_behavior_processObject.sumary = obj.find("#eva_evaluation_behavior_process_sumary_" + i).text(); //eva_evaluation_behavior_processObject.target_score1 = obj.find("#eva_evaluation_behavior_process_target_score1_" + i).val(); @@ -73,18 +73,12 @@ function eva_evaluation_behavior_process_Get(a, blankItem) { $('#eva_evaluation_behavior_processBody').empty(); var successFunc = function (response) { - //console.log(response); $.each(response, function (i, data) { var tag = ''; tag += ''; tag += '

    '; - tag += '

    '; - //tag += '

    '; - //tag += '

    '; - // tag += '

    '; - //tag += '

    '; - // tag += '

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

    '; @@ -120,8 +114,18 @@ function Oneva_evaluation_behavior_process_scoreChange() { var total_behavior_score = 0; $('#eva_evaluation_behavior_processBody tr').each(function () { var i = $(this).find("#rowCount").text(); - var score = $("#eva_evaluation_behavior_process_score_" + i).val(); - var weight = $("#eva_evaluation_behavior_process_weight_" + i).text(); + var score = 0; + var weight = 0; + var val_score = $("#eva_evaluation_behavior_process_score_" + i).val(); + var val_weight = $("#eva_evaluation_behavior_process_weight_" + i).val(); + + if (val_score) { + score = val_score; + } + + if (val_weight) { + weight = val_weight; + } var total = (score * weight / 100).toFixed(3); $("#eva_evaluation_behavior_process_sumary_" + i).text(total); total_behavior += parseFloat(total); From 41c1a276f9d775fc9b7ae7a9f678cf10aa4d7efa Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Tue, 20 Apr 2021 22:12:47 +0700 Subject: [PATCH 30/48] =?UTF-8?q?clickup=20#6vvpqz=20=E0=B8=A5=E0=B8=B7?= =?UTF-8?q?=E0=B8=A1=E0=B9=81=E0=B8=81=E0=B9=89=20wording=20=E0=B8=97?= =?UTF-8?q?=E0=B8=B3=E0=B8=A7=E0=B8=B1=E0=B8=99=20=E0=B8=AD=E0=B8=B1?= =?UTF-8?q?=E0=B8=87=E0=B8=84=E0=B8=B2=E0=B8=A3=20=E0=B8=97=E0=B8=B5?= =?UTF-8?q?=E0=B9=88=2020/04/2564=20=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2?= =?UTF-8?q?=2020.00=20-=2022.00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_create_evaluation_detail_process_d.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml index 3dde642..d5ed24f 100644 --- a/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml +++ b/Views/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d.cshtml @@ -243,7 +243,7 @@ - รวม + รวมน้ำหนัก @@ -296,7 +296,7 @@ - + From 31f21f24ad82190233aa8b66740174ba2e3b83d5 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Wed, 21 Apr 2021 07:53:48 +0700 Subject: [PATCH 31/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B9=81=E0=B8=AA=E0=B8=94=E0=B8=87=E0=B8=9C=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...st_postponement_detail_migrationService.cs | 8 +- ...djust_postponement_detail_normalService.cs | 13 +- ...st_postponement_detail_normal_02Service.cs | 15 +- ...ust_postponement_detail_quota_02Service.cs | 30 ++-- .../eva_adjust_postponement_quotaService.cs | 164 ++++++++++++++---- 5 files changed, 164 insertions(+), 66 deletions(-) diff --git a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs index 91a4e2d..611fb02 100644 --- a/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs +++ b/Models/eva_adjust_postponement_detail_migration/eva_adjust_postponement_detail_migrationService.cs @@ -210,8 +210,8 @@ namespace TodoAPI2.Models var existingEntity = _repository.Get(id); if (existingEntity != null) { - existingEntity.adjust_postponement_id = model.adjust_postponement_id; - existingEntity.adjust_postponement_quota_id = model.adjust_postponement_quota_id; + //existingEntity.adjust_postponement_id = model.adjust_postponement_id; + //existingEntity.adjust_postponement_quota_id = model.adjust_postponement_quota_id; existingEntity.employee_id = model.employee_id; existingEntity.sarary = model.sarary; existingEntity.cost_living = model.cost_living; @@ -253,8 +253,8 @@ namespace TodoAPI2.Models var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.adjust_postponement_id = i.adjust_postponement_id; - existingEntity.adjust_postponement_quota_id = i.adjust_postponement_quota_id; + //existingEntity.adjust_postponement_id = i.adjust_postponement_id; + //existingEntity.adjust_postponement_quota_id = i.adjust_postponement_quota_id; existingEntity.employee_id = i.employee_id; existingEntity.sarary = i.sarary; existingEntity.cost_living = i.cost_living; diff --git a/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs b/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs index 6665479..b89778f 100644 --- a/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs +++ b/Models/eva_adjust_postponement_detail_normal/eva_adjust_postponement_detail_normalService.cs @@ -322,6 +322,9 @@ namespace TodoAPI2.Models n.level_score_final = qq; } + //n.migration_total_score = n.score_final; + //n.migration_eva_result = n.level_score_final; + _repository.Context.eva_adjust_postponement_detail.Add(n); } @@ -366,15 +369,10 @@ namespace TodoAPI2.Models if (theemp == null) continue; - if (theemp.fullname.Contains("อุบลวรรณ")) - { - string zz = "1"; - } - var n = (from t in _repository.Context.eva_adjust_postponement_detail where t.adjust_postponement_id == entity.id && t.employee_id == m.employee_id - select t).FirstOrDefault(); + select t).FirstOrDefault(); n.updated = DateTime.Now; n.isActive = true; @@ -399,7 +397,8 @@ namespace TodoAPI2.Models select s.detail).FirstOrDefault(); n.level_score_final = qq; } - + //n.migration_total_score = n.score_final; + //n.migration_eva_result = n.level_score_final; } entity.limit = sum_salary; diff --git a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs index d3e2c99..ccb3d2e 100644 --- a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs +++ b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs @@ -108,10 +108,10 @@ namespace TodoAPI2.Models into eva_adjust_postponementResult1 from fk_eva_adjust_postponementResult1 in eva_adjust_postponementResult1.DefaultIfEmpty() - join create_detail in _repository.Context.eva_create_evaluation_detail - on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id - into create_detailResult - from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail + // on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id + // into create_detailResult + //from fk_create_detailResult in create_detailResult.DefaultIfEmpty() join create_data in _repository.Context.eva_create_evaluation on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_data.id @@ -149,7 +149,7 @@ namespace TodoAPI2.Models //&& (m_eva_adjust_postponement_detail_normal_02.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_detail_normal_02.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue) //&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal_02.employee_id - && (m_eva_adjust_postponement_detail_normal_02.is_for_postponement == null?true: m_eva_adjust_postponement_detail_normal_02.is_for_postponement.Value) + //&& (m_eva_adjust_postponement_detail_normal_02.is_for_postponement == null?true: m_eva_adjust_postponement_detail_normal_02.is_for_postponement.Value) && fk_external_linkageResult2.workingstatus == "สถานะปฏิบัติงาน" orderby @@ -180,8 +180,9 @@ namespace TodoAPI2.Models achievement = m_eva_adjust_postponement_detail_normal_02.achievement_final, competency = m_eva_adjust_postponement_detail_normal_02.competency_final, - total_score = m_eva_adjust_postponement_detail_normal_02.score_final, - eva_result = m_eva_adjust_postponement_detail_normal_02.level_score_final, + + total_score = m_eva_adjust_postponement_detail_normal_02.migration_total_score.HasValue ? m_eva_adjust_postponement_detail_normal_02.migration_total_score : m_eva_adjust_postponement_detail_normal_02.score_final, + eva_result = !string.IsNullOrEmpty(m_eva_adjust_postponement_detail_normal_02.migration_eva_result) ? m_eva_adjust_postponement_detail_normal_02.migration_eva_result : m_eva_adjust_postponement_detail_normal_02.level_score_final, emp_department_name = fk_external_linkageResult2.department_name, diff --git a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs index 67f5931..aa5efb2 100644 --- a/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs +++ b/Models/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02Service.cs @@ -112,10 +112,10 @@ namespace TodoAPI2.Models into eva_adjust_postponementResult1A from fk_eva_adjust_postponementResult1A in eva_adjust_postponementResult1A.DefaultIfEmpty() - join create_detail in _repository.Context.eva_create_evaluation_detail - on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id - into create_detailResult - from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail + // on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id + // into create_detailResult + //from fk_create_detailResult in create_detailResult.DefaultIfEmpty() join create_data in _repository.Context.eva_create_evaluation on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_data.id @@ -144,12 +144,12 @@ namespace TodoAPI2.Models into external_linkageResult2 from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - join create_detail in _repository.Context.eva_create_evaluation_detail - on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id - into create_detailResult - from fk_create_detailResult in create_detailResult.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail + //on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id + //into create_detailResult + //from fk_create_detailResult in create_detailResult.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_create_detailResult.help_org_id.HasValue ? fk_create_detailResult.help_org_id : fk_external_linkageResult2.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on m_eva_adjust_postponement_detail_quota_02.org_at_this_time.HasValue ? m_eva_adjust_postponement_detail_quota_02.org_at_this_time : fk_external_linkageResult2.department_id equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() @@ -158,22 +158,22 @@ namespace TodoAPI2.Models into create_dataResult from fk_create_dataResult in create_dataResult.DefaultIfEmpty() - join sort_dep2 in ext.GetSortingDep() on fk_create_detailResult.help_org_id equals sort_dep2.id + join sort_dep2 in ext.GetSortingDep() on m_eva_adjust_postponement_detail_quota_02.org_at_this_time equals sort_dep2.id into external_linkageResult11 from fk_external_linkageResult11 in sort_depResult2.DefaultIfEmpty() where 1==1 //&& (m_eva_adjust_postponement_detail_quota_02.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_detail_quota_02.adjust_postponement_quota_id == model.adjust_postponement_quota_id || !model.adjust_postponement_quota_id.HasValue) - && (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null) + //&& (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null) - && (m_eva_adjust_postponement_detail_quota_02.is_for_postponement == null ? true : m_eva_adjust_postponement_detail_quota_02.is_for_postponement.Value) + //&& (m_eva_adjust_postponement_detail_quota_02.is_for_postponement == null ? true : m_eva_adjust_postponement_detail_quota_02.is_for_postponement.Value) && fk_external_linkageResult2.workingstatus == "สถานะปฏิบัติงาน" orderby fk_sort_depResult2.external_code, - fk_create_detailResult.help_org_id.HasValue ? 1 : 0, + m_eva_adjust_postponement_detail_quota_02.org_at_this_time.HasValue ? 1 : 0, //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, @@ -203,8 +203,8 @@ namespace TodoAPI2.Models emp_department_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_sort_depResult2.external_name, - total_score = fk_create_detailResult.score_supervisor, - eva_result = fk_create_detailResult.level_score_supervisor, + total_score = m_eva_adjust_postponement_detail_quota_02.migration_total_score.HasValue? m_eva_adjust_postponement_detail_quota_02.migration_total_score : m_eva_adjust_postponement_detail_quota_02.score_final, + eva_result = !string.IsNullOrEmpty(m_eva_adjust_postponement_detail_quota_02.migration_eva_result) ? m_eva_adjust_postponement_detail_quota_02.migration_eva_result : m_eva_adjust_postponement_detail_quota_02.level_score_final, adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, position_allowance = fk_external_linkageResult2.position_allowance, diff --git a/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs b/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs index c20be12..2486f10 100644 --- a/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs +++ b/Models/eva_adjust_postponement_quota/eva_adjust_postponement_quotaService.cs @@ -20,18 +20,18 @@ namespace TodoAPI2.Models public class eva_adjust_postponement_quotaService : Ieva_adjust_postponement_quotaService { private IBaseRepository2 _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; private Iexternal_employeeService emp; private Ieva_adjust_postponement_detail_quota_02Service quota02; - public eva_adjust_postponement_quotaService(IBaseRepository2 repository, IMyDatabase mydb, + public eva_adjust_postponement_quotaService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, Ieva_adjust_postponement_detail_quota_02Service inquota02) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; emp = inemp; quota02 = inquota02; } @@ -53,7 +53,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + #endregion #region Public Functions @@ -85,12 +85,12 @@ namespace TodoAPI2.Models public List GetListByfiscal_year(int? fiscal_year) { - var model = new eva_adjust_postponement_quotaSearchModel(); + var model = new eva_adjust_postponement_quotaSearchModel(); model.fiscal_year = fiscal_year; return GetListBySearch(model); } - public List GetListBySearch(eva_adjust_postponement_quotaSearchModel model) + public List GetListBySearch(eva_adjust_postponement_quotaSearchModel model) { var all_emp = emp.GetListByemployee_type(null, null); @@ -100,8 +100,8 @@ namespace TodoAPI2.Models join fk_external_linkage7 in all_emp on m_eva_adjust_postponement_quota.managed_by equals fk_external_linkage7.id into external_linkageResult7 from fk_external_linkageResult7 in external_linkageResult7.DefaultIfEmpty() - - where 1==1 + + where 1 == 1 //&& (m_eva_adjust_postponement_quota.id == model.id || !model.id.HasValue) && (m_eva_adjust_postponement_quota.fiscal_year == model.fiscal_year || !model.fiscal_year.HasValue) && (m_eva_adjust_postponement_quota.theRound == model.theRound || !model.theRound.HasValue) @@ -140,10 +140,10 @@ namespace TodoAPI2.Models int? newkey = 0; var x = (from i in _repository.Context.eva_adjust_postponement - orderby i.id descending - select i).Take(1).ToList(); + orderby i.id descending + select i).Take(1).ToList(); - if(x.Count > 0) + if (x.Count > 0) { newkey = x[0].id + 1; } @@ -179,7 +179,7 @@ namespace TodoAPI2.Models entity.limit = AddMultipleDetail(entity.id, all_emp_id_list, entity.fiscal_year, entity.theRound, all_emp); var inserted = _repository.Insert(entity); - + return Get(inserted.id); } @@ -203,7 +203,7 @@ namespace TodoAPI2.Models where x.adjust_postponement_quota_id == adjust_postponement_quota_id select x.employee_id).ToList(); - + foreach (var i in model) { @@ -215,7 +215,7 @@ namespace TodoAPI2.Models if (theemp.salary.HasValue) { sum_salary += theemp.salary.Value; - } + } var q = (from p in _repository.Context.eva_adjust_postponement_detail where p.employee_id == i @@ -326,31 +326,129 @@ namespace TodoAPI2.Models existingEntity.managed_by = model.managed_by; // limit + UpdatePostponementDetailQuota(existingEntity); quota02.UpdateMultiple(model.adjust_postponement_detail_quota_02_model); var updated = _repository.Update(id, existingEntity); return Get(updated.id); } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model) + public string UpdatePostponementDetailQuota(eva_adjust_postponementEntity entity) { - foreach(var i in model) + int? adjust_postponement_id = entity.id; + + var cylinder = (from z in _repository.Context.eva_salary_cylinder + select z).ToList(); + + var all_emp = emp.GetListByemployee_type(null, null); + + var adjust_postponement = entity; + + var evaluation_group_id = (from m in _repository.Context.eva_create_evaluation + where m.id == adjust_postponement.create_evaluation_id + select m.evaluation_group_id).FirstOrDefault(); + + var current_eva_evaluation_group_detail = from k in _repository.Context.eva_evaluation_group_detail + where k.evaluation_group_id == evaluation_group_id + select k; + + var current_eva_create_evaluation_detail = from k in _repository.Context.eva_create_evaluation_detail + where k.create_evaluation_id == adjust_postponement.create_evaluation_id + select k; + + var current_level_score = (from e in _repository.Context.eva_level_score + select e).ToList(); + + decimal sum_salary = 0; + + foreach (var m in current_eva_evaluation_group_detail) + { + var theemp = (from i in all_emp where i.id == m.employee_id select i).FirstOrDefault(); + + if (theemp == null) continue; + + var n = (from t in _repository.Context.eva_adjust_postponement_detail + where t.adjust_postponement_quota_id == entity.id + && t.employee_id == m.employee_id + select t).FirstOrDefault(); + + n.updated = DateTime.Now; + n.isActive = true; + + var temp = (from z in current_eva_create_evaluation_detail + where z.employee_id == n.employee_id + select new + { + achievement_final = getData(z).Item1.HasValue ? getData(z).Item1 : 0, + competency_final = getData(z).Item2.HasValue ? getData(z).Item2 : 0, + score_final = getData(z).Item3.HasValue ? getData(z).Item3 : 0, + work_period = getData(z).Item4.HasValue ? getData(z).Item4 : 6, + }); + + n.achievement_final = temp.Sum(w => w.achievement_final * w.work_period / 6); + n.competency_final = temp.Sum(w => w.competency_final * w.work_period / 6); + n.score_final = temp.Sum(w => w.score_final * w.work_period / 6); + if (n.score_final.HasValue) + { + var qq = (from s in current_level_score + where s.min_score <= n.score_final && s.max_score >= n.score_final + select s.detail).FirstOrDefault(); + n.level_score_final = qq; + } + //n.migration_total_score = n.score_final; + //n.migration_eva_result = n.level_score_final; + } + + entity.limit = sum_salary; + + //_repository.Context.SaveChanges(); + + return current_eva_evaluation_group_detail.Count().ToString(); + } + + private (decimal?, decimal?, decimal?, decimal?) getData(eva_create_evaluation_detailEntity detail) + { + if (detail.status_supervisor2A == "Y") + { + return (detail.achievement_supervisor2A, detail.competency_supervisor2A, detail.score_supervisor2A, detail.work_period); + } + else if (detail.status_supervisor1A == "Y") + { + return (detail.achievement_supervisor1A, detail.competency_supervisor1A, detail.score_supervisor1A, detail.work_period); + } + else if (detail.status_supervisor == "Y") + { + return (detail.achievement_supervisor, detail.competency_supervisor, detail.score_supervisor, detail.work_period); + } + else if (detail.status_chief == "Y") + { + return (detail.achievement_chief, detail.competency_chief, detail.score_chief, detail.work_period); + } + else + { + return (0, 0, 0, detail.work_period); + } + } + + public string UpdateMultiple(List model) + { + foreach (var i in model) { if (i.active_mode == "1" && i.id.HasValue) // update - { + { var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.fiscal_year = i.fiscal_year; - existingEntity.theDate = i.theDate; - existingEntity.theRound = i.theRound; - existingEntity.limit_quota = i.limit_quota; - existingEntity.limit_frame_quota = i.limit_frame_quota; - existingEntity.command_no = i.command_no; - existingEntity.managed_by = i.managed_by; + existingEntity.fiscal_year = i.fiscal_year; + existingEntity.theDate = i.theDate; + existingEntity.theRound = i.theRound; + existingEntity.limit_quota = i.limit_quota; + existingEntity.limit_frame_quota = i.limit_frame_quota; + existingEntity.command_no = i.command_no; + existingEntity.managed_by = i.managed_by; // limit _repository.UpdateWithoutCommit(i.id.Value, existingEntity); @@ -363,15 +461,15 @@ namespace TodoAPI2.Models _repository.InsertWithoutCommit(entity); } else if (i.active_mode == "0" && i.id.HasValue) // remove - { + { _repository.DeleteWithoutCommit(i.id.Value); } else if (i.active_mode == "0" && !i.id.HasValue) { // nothing to do - } + } } - _repository.Context.SaveChanges(); + _repository.Context.SaveChanges(); return model.Count().ToString(); } @@ -396,10 +494,10 @@ namespace TodoAPI2.Models _repository.Context.RemoveRange(data); var data2 = from i in _repository.Context.eva_adjust_postponement_detail - where i.adjust_postponement_quota_id == id && i.adjust_postponement_id != null - select i; + where i.adjust_postponement_quota_id == id && i.adjust_postponement_id != null + select i; - foreach(var i in data2) + foreach (var i in data2) { i.adjust_postponement_quota_id = null; } From 707fcfd2786d8054d27f3eb7e8d08e30229573ba Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Wed, 21 Apr 2021 13:43:48 +0700 Subject: [PATCH 32/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=9A?= =?UTF-8?q?=E0=B8=B1=E0=B8=81=E0=B9=80=E0=B8=A3=E0=B8=B7=E0=B9=88=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B9=88=E0=B8=A7=E0=B8=A2=E0=B8=87?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=20=E0=B9=83=E0=B8=99=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=20=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=80=E0=B8=A5=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=80?= =?UTF-8?q?=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD?= =?UTF-8?q?=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eva_adjust_postponement_detail_normal_02Service.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs index ccb3d2e..90d853f 100644 --- a/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs +++ b/Models/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02Service.cs @@ -136,10 +136,14 @@ namespace TodoAPI2.Models into external_linkageResult2 from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id + join sort_dep in ext.GetSortingDep() on m_eva_adjust_postponement_detail_normal_02.org_at_this_time.HasValue ? m_eva_adjust_postponement_detail_normal_02.org_at_this_time : fk_external_linkageResult2.department_id equals sort_dep.id into sort_depResult2 from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() + join sort_dep2 in ext.GetSortingDep() on m_eva_adjust_postponement_detail_normal_02.org_at_this_time equals sort_dep2.id + into external_linkageResult11 + from fk_external_linkageResult11 in sort_depResult2.DefaultIfEmpty() + //join create_detail in _repository.Context.eva_create_evaluation_detail //on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id //into create_detailResult @@ -154,6 +158,9 @@ namespace TodoAPI2.Models orderby fk_sort_depResult2.external_code, + + m_eva_adjust_postponement_detail_normal_02.org_at_this_time.HasValue ? 1 : 0, + //fk_external_linkageResult2.department_degree_id, //fk_external_linkageResult2.department_code, fk_external_linkageResult2.hpt_position_type_id, @@ -184,7 +191,7 @@ namespace TodoAPI2.Models total_score = m_eva_adjust_postponement_detail_normal_02.migration_total_score.HasValue ? m_eva_adjust_postponement_detail_normal_02.migration_total_score : m_eva_adjust_postponement_detail_normal_02.score_final, eva_result = !string.IsNullOrEmpty(m_eva_adjust_postponement_detail_normal_02.migration_eva_result) ? m_eva_adjust_postponement_detail_normal_02.migration_eva_result : m_eva_adjust_postponement_detail_normal_02.level_score_final, - emp_department_name = fk_external_linkageResult2.department_name, + emp_department_name = !string.IsNullOrEmpty(fk_external_linkageResult11.external_name) ? fk_external_linkageResult11.external_name : fk_sort_depResult2.external_name, adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, position_allowance = fk_external_linkageResult2.position_allowance, From 38913028d7fb0e3b72e0a1e79c01a7f30e4cb9f1 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 22 Apr 2021 10:25:21 +0700 Subject: [PATCH 33/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=99=E0=B8=A7=E0=B8=93=20=E0=B8=84?= =?UTF-8?q?=E0=B9=88=E0=B8=B2=E0=B8=84=E0=B8=A3=E0=B8=AD=E0=B8=87=E0=B8=8A?= =?UTF-8?q?=E0=B8=B5=E0=B8=9E=E0=B9=83=E0=B8=AB=E0=B8=A1=E0=B9=88=20?= =?UTF-8?q?=E0=B8=95=E0=B8=B2=E0=B8=A1=E0=B9=80=E0=B8=AB=E0=B8=93=E0=B8=91?= =?UTF-8?q?=E0=B9=8C=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B9=80=E0=B8=94?= =?UTF-8?q?=E0=B8=B7=E0=B8=AD=E0=B8=99=2013285?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_adjust_postponement_normal_d.cshtml | 7 +++++++ ...st_postponement_detail_normal_02_inline.js | 18 ++++++++++++------ .../eva_adjust_postponement_normal_d.js | 19 +++++++++++-------- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml index bd3a7db..7575b02 100644 --- a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml +++ b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml @@ -100,6 +100,13 @@

    รายชื่อบุคคลากร
    +
    +
    +
    + +
    +
    +
    diff --git a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js index 392e764..38a0d8b 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js +++ b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js @@ -9,7 +9,7 @@ $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(""); $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(""); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(""); - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(""); + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(""); $("#eva_adjust_postponement_detail_normal_02_remark_" + i).text(""); $("#eva_adjust_postponement_detail_normal_02_emp_code_" + i).text(""); $("#eva_adjust_postponement_detail_normal_02_emp_fullname_" + i).text(""); @@ -30,6 +30,8 @@ function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankI data.competency = Number(data.competency).toFixed(digits_position); data.total_score = Number(data.total_score).toFixed(digits_position); + //console.log(data); + $("#eva_adjust_postponement_detail_normal_02_id_" + i).val(data.id); $("#eva_adjust_postponement_detail_normal_02_adjust_postponement_id_" + i).val(data.adjust_postponement_id); $("#eva_adjust_postponement_detail_normal_02_employee_id_" + i).val(data.employee_id); @@ -39,7 +41,7 @@ function eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, i, blankI $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(data.promoted_percentage); $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(data.total_promote); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(formatNumber(data.new_sarary)); - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(formatNumber(data.new_cost_living)); + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(data.new_cost_living); $("#eva_adjust_postponement_detail_normal_02_remark_" + i).text(data.remark); $("#eva_adjust_postponement_detail_normal_02_emp_code_" + i).text(data.emp_code); $("#eva_adjust_postponement_detail_normal_02_emp_fullname_" + i).text(data.emp_fullname); @@ -65,7 +67,7 @@ function eva_adjust_postponement_detail_normal_02_GetFromForm(obj, i) { eva_adjust_postponement_detail_normal_02Object.promoted_percentage = obj.find("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(); eva_adjust_postponement_detail_normal_02Object.total_promote = obj.find("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(); eva_adjust_postponement_detail_normal_02Object.new_sarary = obj.find("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text().replace(/[,-]/g, ''); - eva_adjust_postponement_detail_normal_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(); + eva_adjust_postponement_detail_normal_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(); eva_adjust_postponement_detail_normal_02Object.remark = obj.find("#eva_adjust_postponement_detail_normal_02_remark_" + i).text(); eva_adjust_postponement_detail_normal_02Object.emp_code = obj.find("#eva_adjust_postponement_detail_normal_02_emp_code_" + i).text(); eva_adjust_postponement_detail_normal_02Object.emp_fullname = obj.find("#eva_adjust_postponement_detail_normal_02_emp_fullname_" + i).text(); @@ -129,10 +131,10 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += ''; tag += ''; tag += ''; - tag += ''; + tag += ''; tag += ''; tag += ''; - tag += ''; + tag += ''; tag += ''; tag += ''; @@ -145,6 +147,8 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += ''; tag += ''; tag += ''; + tag += ''; + tag += ''; tag += ''; tag += ''; tag += ''; @@ -165,6 +169,8 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { tag += ''; tag += ''; tag += ''; + tag += ''; + tag += ''; tag += ''; tag += ''; tag += ''; @@ -180,7 +186,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, (i + 1), blankItem); }); //eva_adjust_postponement_detail_normal_02_Summary(); - Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); + //Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); endLoad(); }; startLoad(); diff --git a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js index a9ab6d4..b0d70ed 100644 --- a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js +++ b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal_d.js @@ -64,7 +64,7 @@ function eva_adjust_postponement_normal_SetEditForm(a) { eva_adjust_postponement_normal_FeedDataToForm(result); //Oneva_adjust_postponement_normal_limit_frameChange(); //Oneva_adjust_postponement_normal_percentageChange(); - Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); + Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); endLoad(); }; startLoad(); @@ -143,10 +143,10 @@ function Oneva_adjust_postponement_normal_percentageChange() { var i = $(this).find("#rowCount").text(); $("#eva_adjust_postponement_detail_normal_02_promoted_percentage_" + i).val(percentage); }); - Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(); + Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); } -function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged() { +function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(m) { var current_quota = $("#eva_adjust_postponement_normal_limit_quota").val().replace(/[,-]/g, ''); var sum_postpone = 0; var sum_before = 0; @@ -169,11 +169,14 @@ function Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged() $("#eva_adjust_postponement_detail_normal_02_total_promote_" + i).val(format_new_added); $("#eva_adjust_postponement_detail_normal_02_new_sarary_" + i).text(formatNumber(new_salary)); - if (new_salary < 13285) { - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(13285 - new_salary); - } else { - $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).text(0); - } + if (m) { + if (new_salary < 13285) { + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(13285 - new_salary); + } else { + $("#eva_adjust_postponement_detail_normal_02_new_cost_living_" + i).val(0); + } + } + sum_postpone += new_added; sum_before += old_salary; sum_after += new_salary; From 0e741b6612f12ac57665d65b65cc10ccbc6c1ba1 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 22 Apr 2021 15:46:02 +0700 Subject: [PATCH 34/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=20=E0=B9=82=E0=B8=84=E0=B8=A7=E0=B8=95=E0=B9=89?= =?UTF-8?q?=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...a_adjust_postponement_detail_normal_02_inline.js | 2 +- .../eva_adjust_postponement_quota_d.js | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js index 38a0d8b..71f80a3 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js +++ b/wwwroot/js/eva_adjust_postponement_detail_normal_02/eva_adjust_postponement_detail_normal_02_inline.js @@ -186,7 +186,7 @@ function eva_adjust_postponement_detail_normal_02_Get(a, blankItem) { eva_adjust_postponement_detail_normal_02_FeedDataToForm(data, (i + 1), blankItem); }); //eva_adjust_postponement_detail_normal_02_Summary(); - //Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); + Oneva_adjust_postponement_detail_normal_02_promoted_percentageChanged(false); endLoad(); }; startLoad(); diff --git a/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js b/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js index f05970d..13f852a 100644 --- a/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js +++ b/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js @@ -160,11 +160,14 @@ function CalculateRemainQuota() { var new_sarary_with_quota = new_sarary + receive_quota; $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(formatNumber(new_sarary_with_quota)); - if (new_sarary_with_quota < 13285) { - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(formatNumber(13285-new_sarary_with_quota)); - } else { - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(0); - } + //if (m) { + // if (new_sarary_with_quota < 13285) { + // $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(formatNumber(13285 - new_sarary_with_quota)); + // } else { + // $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(0); + // } + //} + sum_receive_quota += receive_quota; } From 8ae5e57a882a673b2bf6ef6629c2d2ef397f6402 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 22 Apr 2021 16:01:24 +0700 Subject: [PATCH 35/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=AB=E0=B8=99=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=E0=B9=82=E0=B8=84=E0=B8=A7=E0=B8=95=E0=B9=89=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_adjust_postponement_quota_d.cshtml | 8 ++++++++ ...just_postponement_detail_quota_02_inline.js | 12 ++++++------ .../eva_adjust_postponement_quota_d.js | 18 +++++++++--------- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml b/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml index 475a60a..d449432 100644 --- a/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml +++ b/Views/eva_adjust_postponement_quotaView/eva_adjust_postponement_quota_d.cshtml @@ -99,6 +99,14 @@
    รายชื่อบุคลลากร
    +
    +
    +
    + +
    +
    +
    +

    ' + formatNumber(data.position_allowance) + '' + formatNumber(data.other_money) + '
    diff --git a/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js b/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js index fa6a274..a683b17 100644 --- a/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js +++ b/wwwroot/js/eva_adjust_postponement_detail_quota_02/eva_adjust_postponement_detail_quota_02_inline.js @@ -9,7 +9,7 @@ $("#eva_adjust_postponement_detail_quota_02_promoted_percentage_" + i).text(""); $("#eva_adjust_postponement_detail_quota_02_total_promote_" + i).text(""); $("#eva_adjust_postponement_detail_quota_02_new_sarary_" + i).text(""); - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(""); + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(""); $("#eva_adjust_postponement_detail_quota_02_remark_" + i).text(""); $("#eva_adjust_postponement_detail_quota_02_receive_quota_" + i).val(""); $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(""); @@ -32,7 +32,7 @@ function eva_adjust_postponement_detail_quota_02_FeedDataToForm(data, i, blankIt $("#eva_adjust_postponement_detail_quota_02_promoted_percentage_" + i).text(formatNumberTemp(data.promoted_percentage)); $("#eva_adjust_postponement_detail_quota_02_total_promote_" + i).text(formatNumber(data.total_promote)); $("#eva_adjust_postponement_detail_quota_02_new_sarary_" + i).text(formatNumberTemp(data.new_sarary)); - $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(formatNumber(data.new_cost_living)); + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(data.new_cost_living); $("#eva_adjust_postponement_detail_quota_02_remark_" + i).text(data.remark); $("#eva_adjust_postponement_detail_quota_02_receive_quota_" + i).val(data.receive_quota); $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(formatNumber(data.new_sarary_with_quota)); @@ -56,7 +56,7 @@ function eva_adjust_postponement_detail_quota_02_GetFromForm(obj, i) { eva_adjust_postponement_detail_quota_02Object.promoted_percentage = obj.find("#eva_adjust_postponement_detail_quota_02_promoted_percentage_" + i).text(); eva_adjust_postponement_detail_quota_02Object.total_promote = obj.find("#eva_adjust_postponement_detail_quota_02_total_promote_" + i).text(); eva_adjust_postponement_detail_quota_02Object.new_sarary = obj.find("#eva_adjust_postponement_detail_quota_02_new_sarary_" + i).text(); - eva_adjust_postponement_detail_quota_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).text(); + eva_adjust_postponement_detail_quota_02Object.new_cost_living = obj.find("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(); eva_adjust_postponement_detail_quota_02Object.remark = obj.find("#eva_adjust_postponement_detail_quota_02_remark_" + i).text(); eva_adjust_postponement_detail_quota_02Object.receive_quota = obj.find("#eva_adjust_postponement_detail_quota_02_receive_quota_" + i).val(); eva_adjust_postponement_detail_quota_02Object.new_sarary_with_quota = obj.find("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(); @@ -129,9 +129,9 @@ function eva_adjust_postponement_detail_quota_02_Get(a, blankItem) { tag += ''; tag += ''; - tag += ''; + tag += ''; tag += ''; - tag += ''; + tag += ''; tag += ''; @@ -191,7 +191,7 @@ function eva_adjust_postponement_detail_quota_02_Get(a, blankItem) { Oneva_adjust_postponement_quota_limit_frame_quotaChange(); - //CalculateRemainQuota(); + //CalculateRemainQuota(false); endLoad(); }; startLoad(); diff --git a/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js b/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js index 13f852a..f2b94e3 100644 --- a/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js +++ b/wwwroot/js/eva_adjust_postponement_quota/eva_adjust_postponement_quota_d.js @@ -137,10 +137,10 @@ function Oneva_adjust_postponement_quota_limit_frame_quotaChange() { //console.log(limit); $("#eva_adjust_postponement_quota_limit_quota").maskMoney('mask', Math.ceil(limit_quota/10)*10); - CalculateRemainQuota(); + CalculateRemainQuota(false); } -function CalculateRemainQuota() { +function CalculateRemainQuota(m) { //console.log("xx"); var sum_receive_quota = 0; var limit_quota = parseFloat($("#eva_adjust_postponement_quota_limit_quota").val().replace(/[,-]/g,'')); @@ -160,13 +160,13 @@ function CalculateRemainQuota() { var new_sarary_with_quota = new_sarary + receive_quota; $("#eva_adjust_postponement_detail_quota_02_new_sarary_with_quota_" + i).text(formatNumber(new_sarary_with_quota)); - //if (m) { - // if (new_sarary_with_quota < 13285) { - // $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(formatNumber(13285 - new_sarary_with_quota)); - // } else { - // $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(0); - // } - //} + if (m) { + if (new_sarary_with_quota < 13285) { + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(formatNumber(13285 - new_sarary_with_quota)); + } else { + $("#eva_adjust_postponement_detail_quota_02_new_cost_living_" + i).val(0); + } + } sum_receive_quota += receive_quota; From b84b7cda5faf4b8314bd679a0d85a2c495182136 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Fri, 23 Apr 2021 10:41:34 +0700 Subject: [PATCH 36/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=9A?= =?UTF-8?q?=E0=B8=B1=E0=B8=81=20row=20=E0=B9=80=E0=B8=9B=E0=B8=A5=E0=B9=88?= =?UTF-8?q?=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/eva_self_review/eva_self_reviewService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Models/eva_self_review/eva_self_reviewService.cs b/Models/eva_self_review/eva_self_reviewService.cs index 43586b6..bda0fa8 100644 --- a/Models/eva_self_review/eva_self_reviewService.cs +++ b/Models/eva_self_review/eva_self_reviewService.cs @@ -145,7 +145,7 @@ namespace TodoAPI2.Models (model.employee_id.HasValue && m_eva_self_review.employee_id == model.employee_id) && (!model.eva_year.HasValue || fk_eva_adjust_postponementResult1.fiscal_year == model.eva_year) && (!model.eva_no.HasValue || fk_eva_adjust_postponementResult1.theRound == model.eva_no) - + && fk_eva_adjust_postponementResult1.fiscal_year.HasValue orderby m_eva_self_review.created descending select new eva_self_reviewViewModel() From 9f106272c889990e93b70e4f3b9f97346e2c643c Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Wed, 28 Apr 2021 14:12:17 +0700 Subject: [PATCH 37/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=20op=20=E0=B8=AB=E0=B8=A5=E0=B8=B2=E0=B8=A2=E0=B8=82?= =?UTF-8?q?=E0=B9=89=E0=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/eva_self_review/eva_self_reviewService.cs | 16 +++++++++------- .../external_linkage/external_linkageService.cs | 2 +- Models/rep_eva01/rep_eva01Service.cs | 4 ++-- Models/rep_eva02/rep_eva02Service.cs | 4 ++-- Views/Shared/_Layout.cshtml | 6 +++--- wwwroot/js/coregen.js | 2 +- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Models/eva_self_review/eva_self_reviewService.cs b/Models/eva_self_review/eva_self_reviewService.cs index bda0fa8..24a744d 100644 --- a/Models/eva_self_review/eva_self_reviewService.cs +++ b/Models/eva_self_review/eva_self_reviewService.cs @@ -94,9 +94,9 @@ namespace TodoAPI2.Models select x.fiscal_year).Distinct().OrderBy(x => x.Value).ToList(); i.item_eva_year = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.fiscal_year).Distinct().OrderBy(x => x.Value).ToList()); + select x.fiscal_year).Distinct().OrderByDescending(x => x.Value).ToList()); i.item_eva_no = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.theRound).Distinct().OrderBy(x => x.Value).ToList()); + select x.theRound).Distinct().OrderByDescending(x => x.Value).ToList()); return i; } @@ -104,9 +104,9 @@ namespace TodoAPI2.Models { var i = new eva_self_reviewWithSelectionViewModel(); i.item_eva_year = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.fiscal_year).Distinct().OrderBy(x => x.Value).ToList()); + select x.fiscal_year).Distinct().OrderByDescending(x => x.Value).ToList()); i.item_eva_no = fill_list_number((from x in _repository.Context.eva_adjust_postponement - select x.theRound).Distinct().OrderBy(x => x.Value).ToList()); + select x.theRound).Distinct().OrderByDescending(x => x.Value).ToList()); return i; @@ -147,14 +147,16 @@ namespace TodoAPI2.Models && (!model.eva_no.HasValue || fk_eva_adjust_postponementResult1.theRound == model.eva_no) && fk_eva_adjust_postponementResult1.fiscal_year.HasValue - orderby m_eva_self_review.created descending + orderby + (fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year) descending, + (fk_eva_adjust_postponementResult1.theRound.HasValue ? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound) descending select new eva_self_reviewViewModel() { id = m_eva_self_review.id, adjust_postponement_id = m_eva_self_review.adjust_postponement_id, adjust_postponement_quota_id = m_eva_self_review.adjust_postponement_quota_id, employee_id = m_eva_self_review.employee_id, - eva_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, + eva_year = (fk_eva_adjust_postponementResult1.fiscal_year.HasValue? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year), eva_no = fk_eva_adjust_postponementResult1.theRound.HasValue? fk_eva_adjust_postponementResult1.theRound : fk_eva_adjust_postponementResult2.theRound, adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year.HasValue ? fk_eva_adjust_postponementResult1.fiscal_year : fk_eva_adjust_postponementResult2.fiscal_year, @@ -166,7 +168,7 @@ namespace TodoAPI2.Models Created = m_eva_self_review.created, Updated = m_eva_self_review.updated } - ).OrderBy(x => x.eva_year * 10 + x.eva_no).ToList(); + ).ToList(); return data; } diff --git a/Models/external_linkage/external_linkageService.cs b/Models/external_linkage/external_linkageService.cs index a9a2d94..8bf3020 100644 --- a/Models/external_linkage/external_linkageService.cs +++ b/Models/external_linkage/external_linkageService.cs @@ -440,7 +440,7 @@ namespace TodoAPI2.Models var i = new external_linkageViewModel(); i.external_id = Convert.ToInt32(dr["id"]); //i.id_guid = Guid.Parse(dr["id"].ToString()); - i.external_code = dr["theRound"].ToString(); + i.external_code = dr["fiscal_year"].ToString() + dr["theRound"].ToString(); i.external_name = dr["theRound"].ToString() + "/" + dr["fiscal_year"].ToString(); result.Add(i); } diff --git a/Models/rep_eva01/rep_eva01Service.cs b/Models/rep_eva01/rep_eva01Service.cs index 13588ee..898cd10 100644 --- a/Models/rep_eva01/rep_eva01Service.cs +++ b/Models/rep_eva01/rep_eva01Service.cs @@ -58,7 +58,7 @@ namespace TodoAPI2.Models var entity = _repository.Get(id); var i = Mapper.Map(entity); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; @@ -67,7 +67,7 @@ namespace TodoAPI2.Models { var i = new rep_eva01WithSelectionViewModel(); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; diff --git a/Models/rep_eva02/rep_eva02Service.cs b/Models/rep_eva02/rep_eva02Service.cs index c740a3e..544d7e6 100644 --- a/Models/rep_eva02/rep_eva02Service.cs +++ b/Models/rep_eva02/rep_eva02Service.cs @@ -58,7 +58,7 @@ namespace TodoAPI2.Models var entity = _repository.Get(id); var i = Mapper.Map(entity); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; @@ -67,7 +67,7 @@ namespace TodoAPI2.Models { var i = new rep_eva02WithSelectionViewModel(); i.item_org_id = (from x in ext.GetSortingDep() select x).ToList(); - i.item_round_id = (from x in ext.GetEvaRound() select x).ToList(); + i.item_round_id = (from x in ext.GetEvaRound() orderby x.external_code descending select x).ToList(); return i; diff --git a/Views/Shared/_Layout.cshtml b/Views/Shared/_Layout.cshtml index 07806f3..43e2787 100644 --- a/Views/Shared/_Layout.cshtml +++ b/Views/Shared/_Layout.cshtml @@ -137,9 +137,9 @@ - ประวัติเงินเดือนและการเลื่อนเงินเดือน + ประวัติเงินเดือนและการเลื่อนเงินเดือน -
      +
        @@ -148,7 +148,7 @@
        - ออกจากระบบ + ออกจากระบบ diff --git a/wwwroot/js/coregen.js b/wwwroot/js/coregen.js index 4c8a420..01bb8c4 100644 --- a/wwwroot/js/coregen.js +++ b/wwwroot/js/coregen.js @@ -638,7 +638,7 @@ function GetMenu(module, mymenu, menu_url){ var tag = ''; if(typeof(data.submenu) === "undefined"){ tag = '
      • ·'+data.name+''; + tag += '
      • ·'+data.name+''; tag += '
      • '; }else{ tag = ''+data.name+''; From 0a104bc9c4b943deeed5a4b9cb9a5ade710b789b Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Wed, 19 May 2021 21:25:40 +0700 Subject: [PATCH 38/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B9=80=E0=B8=81=E0=B9=87=E0=B8=9A=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EF/DataContext.cs | 3 + EF/_BaseRepository.cs | 44 +- EF/_BaseRepository2.cs | 51 +- Migrations/20210519141654_AddLog.Designer.cs | 1071 ++++++++++++++++++ Migrations/20210519141654_AddLog.cs | 41 + Migrations/DataContextModelSnapshot.cs | 39 + Models/activity_log_evaEntity.cs | 49 + 7 files changed, 1293 insertions(+), 5 deletions(-) create mode 100644 Migrations/20210519141654_AddLog.Designer.cs create mode 100644 Migrations/20210519141654_AddLog.cs create mode 100644 Models/activity_log_evaEntity.cs diff --git a/EF/DataContext.cs b/EF/DataContext.cs index f4dd0b9..992fa69 100644 --- a/EF/DataContext.cs +++ b/EF/DataContext.cs @@ -45,6 +45,9 @@ namespace TTSW.EF { public DbSet eva_create_evaluation_detail_history { get; set; } public DbSet eva_evaluation_achievement_attach { get; set; } + + public DbSet activity_log_eva { get; set; } + protected override void OnModelCreating (ModelBuilder modelBuilder) { base.OnModelCreating (modelBuilder); diff --git a/EF/_BaseRepository.cs b/EF/_BaseRepository.cs index babc98d..f8691eb 100644 --- a/EF/_BaseRepository.cs +++ b/EF/_BaseRepository.cs @@ -1,9 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; -using System.Transactions; using AutoMapper; using System.Linq.Expressions; using TTSW.Common; @@ -211,6 +209,26 @@ namespace TTSW.EF entity = SetUpdatorProperties(entity); entity = SetActiveProperty(entity); + var log = new activity_log(); + log.attributes = entity; + log.old = null; + + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = entity.GetType().Name; + activity_log.description = "Add " + entity.GetType().Name; + activity_log.subject_id = 0; + activity_log.subject_type = entity.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + var result = Entities.Add(entity); if(!SaveToDB()) @@ -242,12 +260,32 @@ namespace TTSW.EF var userLogin = GetLoginProfile(); var existingItem = Get(id); + var old_existingItem = Get(id); - if(existingItem == null) + if (existingItem == null) throw new NotificationException($"No item in database."); Mapper.Map(model, existingItem); + var log = new activity_log(); + log.attributes = existingItem; + log.old = old_existingItem; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name; + activity_log.description = "update " + existingItem.GetType().Name; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + existingItem = SetUpdatorProperties(existingItem); if (!SaveToDB()) diff --git a/EF/_BaseRepository2.cs b/EF/_BaseRepository2.cs index a24d59e..8389a3b 100644 --- a/EF/_BaseRepository2.cs +++ b/EF/_BaseRepository2.cs @@ -10,9 +10,16 @@ using TTSW.Common; using TodoAPI2.Models; using Microsoft.AspNetCore.Http; using IdentityModel; +using Newtonsoft.Json.Serialization; namespace TTSW.EF { + public class activity_log + { + public object attributes { get; set; } + public object old { get; set; } + } + public class BaseRepository2 : IBaseRepository2 where T : class, IBaseEntity2 { @@ -213,7 +220,27 @@ namespace TTSW.EF var result = Entities.Add(entity); - if(!SaveToDB()) + var log = new activity_log(); + log.attributes = entity; + log.old = null; + + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = entity.GetType().Name; + activity_log.description = "Add " + entity.GetType().Name; + activity_log.subject_id = 0; + activity_log.subject_type = entity.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + + if (!SaveToDB()) throw new NotificationException($"Unable to add new item to database."); return Get(result.Entity.id); @@ -242,12 +269,32 @@ namespace TTSW.EF var userLogin = GetLoginProfile(); var existingItem = Get(id); + var old_existingItem = Get(id); - if(existingItem == null) + if (existingItem == null) throw new NotificationException($"No item in database."); Mapper.Map(model, existingItem); + var log = new activity_log(); + log.attributes = existingItem; + log.old = old_existingItem; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name; + activity_log.description = "update " + existingItem.GetType().Name; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + existingItem = SetUpdatorProperties(existingItem); if (!SaveToDB()) diff --git a/Migrations/20210519141654_AddLog.Designer.cs b/Migrations/20210519141654_AddLog.Designer.cs new file mode 100644 index 0000000..b92efa7 --- /dev/null +++ b/Migrations/20210519141654_AddLog.Designer.cs @@ -0,0 +1,1071 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TTSW.EF; + +namespace tb320eva.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20210519141654_AddLog")] + partial class AddLog + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(4000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(8000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210519141654_AddLog.cs b/Migrations/20210519141654_AddLog.cs new file mode 100644 index 0000000..97da9c9 --- /dev/null +++ b/Migrations/20210519141654_AddLog.cs @@ -0,0 +1,41 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +namespace tb320eva.Migrations +{ + public partial class AddLog : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "activity_log_eva", + columns: table => new + { + id = table.Column(nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn), + log_name = table.Column(maxLength: 191, nullable: true), + description = table.Column(maxLength: 4000, nullable: true), + subject_id = table.Column(nullable: true), + subject_type = table.Column(maxLength: 191, nullable: true), + causer_id = table.Column(nullable: true), + causer_type = table.Column(maxLength: 191, nullable: true), + properties = table.Column(maxLength: 8000, nullable: true), + ip_address = table.Column(maxLength: 191, nullable: true), + mac_address = table.Column(maxLength: 191, nullable: true), + created_at = table.Column(nullable: true), + updated_at = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_activity_log_eva", x => x.id); + }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "activity_log_eva"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 4a9b151..5596a3d 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -19,6 +19,45 @@ namespace tb320eva.Migrations .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") .HasAnnotation("Relational:MaxIdentifierLength", 63); + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(4000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(8000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => { b.Property("id"); diff --git a/Models/activity_log_evaEntity.cs b/Models/activity_log_evaEntity.cs new file mode 100644 index 0000000..0b8ec3e --- /dev/null +++ b/Models/activity_log_evaEntity.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Threading.Tasks; +using TTSW.EF; +using TTSW.Utils; +using TTSW.Constant; +using TTSW.Common; +using System.IO; + +namespace TodoAPI2.Models +{ + public class activity_log_evaEntity + { + [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int id { get; set; } + + [MaxLength(191)] + public string log_name { get; set; } + + [MaxLength(4000)] + public string description { get; set; } + + public int? subject_id { get; set; } + + [MaxLength(191)] + public string subject_type { get; set; } + + public int? causer_id { get; set; } + + [MaxLength(191)] + public string causer_type { get; set; } + + [MaxLength(8000)] + public string properties { get; set; } + + [MaxLength(191)] + public string ip_address { get; set; } + + [MaxLength(191)] + public string mac_address { get; set; } + + public DateTime? created_at { get; set; } + + public DateTime? updated_at { get; set; } + } +} From 0666c64024fa3bde44222edc1fb36c7e6263f5ae Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Wed, 19 May 2021 21:33:43 +0700 Subject: [PATCH 39/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EF/_BaseRepository.cs | 27 +++++++++++++++++++++++---- EF/_BaseRepository2.cs | 26 ++++++++++++++++++++++---- 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/EF/_BaseRepository.cs b/EF/_BaseRepository.cs index f8691eb..97a77f1 100644 --- a/EF/_BaseRepository.cs +++ b/EF/_BaseRepository.cs @@ -216,8 +216,8 @@ namespace TTSW.EF var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); var activity_log = new activity_log_evaEntity(); - activity_log.log_name = entity.GetType().Name; - activity_log.description = "Add " + entity.GetType().Name; + activity_log.log_name = entity.GetType().Name.Replace("Entity", ""); + activity_log.description = "Add " + entity.GetType().Name.Replace("Entity", ""); activity_log.subject_id = 0; activity_log.subject_type = entity.GetType().Name; activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); @@ -273,8 +273,8 @@ namespace TTSW.EF var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); var activity_log = new activity_log_evaEntity(); - activity_log.log_name = existingItem.GetType().Name; - activity_log.description = "update " + existingItem.GetType().Name; + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Update " + existingItem.GetType().Name.Replace("Entity", ""); ; activity_log.subject_id = 0; activity_log.subject_type = existingItem.GetType().Name; activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); @@ -333,6 +333,25 @@ namespace TTSW.EF var existingItem = Get(id); + var log = new activity_log(); + log.attributes = existingItem; + log.old = null; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Delete " + existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); + if (existingItem == null) throw new NotificationException($"No item in database."); diff --git a/EF/_BaseRepository2.cs b/EF/_BaseRepository2.cs index 8389a3b..3450b6e 100644 --- a/EF/_BaseRepository2.cs +++ b/EF/_BaseRepository2.cs @@ -227,8 +227,8 @@ namespace TTSW.EF var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); var activity_log = new activity_log_evaEntity(); - activity_log.log_name = entity.GetType().Name; - activity_log.description = "Add " + entity.GetType().Name; + activity_log.log_name = entity.GetType().Name.Replace("Entity", ""); + activity_log.description = "Add " + entity.GetType().Name.Replace("Entity", ""); activity_log.subject_id = 0; activity_log.subject_type = entity.GetType().Name; activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); @@ -282,8 +282,8 @@ namespace TTSW.EF var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); var activity_log = new activity_log_evaEntity(); - activity_log.log_name = existingItem.GetType().Name; - activity_log.description = "update " + existingItem.GetType().Name; + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Update " + existingItem.GetType().Name.Replace("Entity", ""); ; activity_log.subject_id = 0; activity_log.subject_type = existingItem.GetType().Name; activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); @@ -341,6 +341,24 @@ namespace TTSW.EF var userLogin = GetLoginProfile(); var existingItem = Get(id); + var log = new activity_log(); + log.attributes = existingItem; + log.old = null; + var log_message = Newtonsoft.Json.JsonConvert.SerializeObject(log); + + var activity_log = new activity_log_evaEntity(); + activity_log.log_name = existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.description = "Delete " + existingItem.GetType().Name.Replace("Entity", ""); ; + activity_log.subject_id = 0; + activity_log.subject_type = existingItem.GetType().Name; + activity_log.causer_id = Convert.ToInt32(_contextAccessor.HttpContext.Request.Cookies["user_id"]); + activity_log.causer_type = @"App\Models\User"; + activity_log.properties = log_message; + activity_log.ip_address = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); + activity_log.mac_address = "N/A"; + activity_log.created_at = DateTime.Now; + activity_log.updated_at = activity_log.created_at; + _context.Add(activity_log); if (existingItem == null) throw new NotificationException($"No item in database."); From 0dbfb548295dc4bd3fb961d83cdffa4e0137008c Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Sun, 30 May 2021 12:41:44 +0700 Subject: [PATCH 40/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=97=E0=B8=B3=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EF/_BaseRepository.cs | 25 ++++++++++-- EF/_BaseRepository2.cs | 18 ++++++++- Utils/MyDatabase.cs | 4 ++ Utils/MyHelper.cs | 90 ++++++++++++++++++++++++++++++++++++++--- object_index.xlsx | Bin 0 -> 9511 bytes 5 files changed, 127 insertions(+), 10 deletions(-) create mode 100644 object_index.xlsx diff --git a/EF/_BaseRepository.cs b/EF/_BaseRepository.cs index 97a77f1..fd74f9c 100644 --- a/EF/_BaseRepository.cs +++ b/EF/_BaseRepository.cs @@ -8,6 +8,11 @@ using TTSW.Common; using TodoAPI2.Models; using Microsoft.AspNetCore.Http; using IdentityModel; +using Newtonsoft.Json; +using System.Reflection; +using System.Data; +using System.ComponentModel.DataAnnotations; +using TTSW.Utils; namespace TTSW.EF { @@ -16,6 +21,7 @@ namespace TTSW.EF { #region Private Variables private DataContext _context; + private IMyDatabase _db; public DataContext Context { get @@ -36,11 +42,12 @@ namespace TTSW.EF } #endregion - public BaseRepository(DataContext context, IHttpContextAccessor contextAccessor + public BaseRepository(DataContext context, IHttpContextAccessor contextAccessor, IMyDatabase mydatabase ) { _context = context; _contextAccessor = contextAccessor; + _db = mydatabase; } #region Private Functions @@ -255,12 +262,24 @@ namespace TTSW.EF if (!SaveToDB()) throw new NotificationException($"Unable to insert item to database."); } + + + public T Update(Key id, object model) { var userLogin = GetLoginProfile(); - var existingItem = Get(id); - var old_existingItem = Get(id); + object old_existingItem; + + try + { + var x = MyHelper.GetDataRow(id, model, _db); + old_existingItem = MyHelper.GetObject(x, model.GetType().Name.Replace("Entity", "")); + } + catch(Exception ex) + { + old_existingItem = null; + } if (existingItem == null) throw new NotificationException($"No item in database."); diff --git a/EF/_BaseRepository2.cs b/EF/_BaseRepository2.cs index 3450b6e..1d23f38 100644 --- a/EF/_BaseRepository2.cs +++ b/EF/_BaseRepository2.cs @@ -11,6 +11,8 @@ using TodoAPI2.Models; using Microsoft.AspNetCore.Http; using IdentityModel; using Newtonsoft.Json.Serialization; +using Newtonsoft.Json; +using TTSW.Utils; namespace TTSW.EF { @@ -25,6 +27,7 @@ namespace TTSW.EF { #region Private Variables private DataContext _context; + private IMyDatabase _db; public DataContext Context { get @@ -45,11 +48,12 @@ namespace TTSW.EF } #endregion - public BaseRepository2(DataContext context, IHttpContextAccessor contextAccessor + public BaseRepository2(DataContext context, IHttpContextAccessor contextAccessor, IMyDatabase mydatabase ) { _context = context; _contextAccessor = contextAccessor; + _db = mydatabase; } #region Private Functions @@ -269,7 +273,17 @@ namespace TTSW.EF var userLogin = GetLoginProfile(); var existingItem = Get(id); - var old_existingItem = Get(id); + object old_existingItem; + + try + { + var x = MyHelper.GetDataRow(id, model, _db); + old_existingItem = MyHelper.GetObject(x, model.GetType().Name.Replace("Entity", "")); + } + catch (Exception ex) + { + old_existingItem = null; + } if (existingItem == null) throw new NotificationException($"No item in database."); diff --git a/Utils/MyDatabase.cs b/Utils/MyDatabase.cs index 0dae08f..a24d3b8 100644 --- a/Utils/MyDatabase.cs +++ b/Utils/MyDatabase.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Data; using System.Linq; +using System.Reflection; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; @@ -19,6 +21,8 @@ namespace TTSW.Utils Configuration = configuration; } + + public DataTable ExecuteDataTableNpgsql(string queryString, List para) { System.Data.DataSet ds = new DataSet(); diff --git a/Utils/MyHelper.cs b/Utils/MyHelper.cs index f82548b..e44471f 100644 --- a/Utils/MyHelper.cs +++ b/Utils/MyHelper.cs @@ -9,17 +9,97 @@ using Microsoft.Extensions.Configuration; using System.Net; using TodoAPI2.Models; using Microsoft.AspNetCore.Http; +using System.ComponentModel.DataAnnotations; +using TTSW.Utils; /// /// Summary description for MyHelper /// -public class MyHelper +public static class MyHelper { - public MyHelper() + public static DataRow GetDataRow(object id, object model, IMyDatabase _db) { - // - // TODO: Add constructor logic here - // + DataRow result = null; + if (id.GetType().Name.Contains("int")) + { + result = _db.ExecuteDataTableNpgsql($"select * from {model.GetType().Name.Replace("Entity", "")} where id={id.ToString()} ", null).Rows[0]; + } + else + { + result = _db.ExecuteDataTableNpgsql($"select * from {model.GetType().Name.Replace("Entity", "")} where id='{id.ToString()}' ", null).Rows[0]; + } + return result; + } + + public static object GetObject(this DataRow dataRow, string data_type) + { + if (data_type == "eva_adjust_postponement") return ToObject(dataRow); + if (data_type == "eva_adjust_postponement_detail") return ToObject(dataRow); + if (data_type == "eva_create_evaluation") return ToObject(dataRow); + if (data_type == "eva_create_evaluation_detail") return ToObject(dataRow); + if (data_type == "eva_create_evaluation_detail_history") return ToObject(dataRow); + if (data_type == "eva_evaluation_achievement") return ToObject(dataRow); + if (data_type == "eva_evaluation_achievement_attach") return ToObject(dataRow); + if (data_type == "eva_evaluation_behavior") return ToObject(dataRow); + if (data_type == "eva_evaluation_group") return ToObject(dataRow); + if (data_type == "eva_evaluation_group_detail") return ToObject(dataRow); + if (data_type == "eva_evaluation_operating_agreement") return ToObject(dataRow); + if (data_type == "eva_idp_plan") return ToObject(dataRow); + if (data_type == "eva_level_score") return ToObject(dataRow); + if (data_type == "eva_limit_frame_employee") return ToObject(dataRow); + if (data_type == "eva_limit_frame_group") return ToObject(dataRow); + if (data_type == "eva_limit_frame_plan") return ToObject(dataRow); + if (data_type == "eva_performance_plan") return ToObject(dataRow); + if (data_type == "eva_performance_plan_detail") return ToObject(dataRow); + if (data_type == "eva_promoted_percentage") return ToObject(dataRow); + if (data_type == "eva_salary_cylinder") return ToObject(dataRow); + + return null; + } + public static T ToObject(this DataRow dataRow) where T : new() + { + T item = new T(); + + foreach (DataColumn column in dataRow.Table.Columns) + { + PropertyInfo property = GetProperty(typeof(T), column.ColumnName); + + if (property != null && dataRow[column] != DBNull.Value && dataRow[column].ToString() != "NULL") + { + property.SetValue(item, ChangeType(dataRow[column], property.PropertyType), null); + } + } + + return item; + } + + private static PropertyInfo GetProperty(Type type, string attributeName) + { + PropertyInfo property = type.GetProperty(attributeName); + + if (property != null) + { + return property; + } + + return type.GetProperties() + .Where(p => p.IsDefined(typeof(DisplayAttribute), false) && p.GetCustomAttributes(typeof(DisplayAttribute), false).Cast().Single().Name == attributeName) + .FirstOrDefault(); + } + + public static object ChangeType(object value, Type type) + { + if (type.IsGenericType && type.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) + { + if (value == null) + { + return null; + } + + return Convert.ChangeType(value, Nullable.GetUnderlyingType(type)); + } + + return Convert.ChangeType(value, type); } public static string GetDummyText() diff --git a/object_index.xlsx b/object_index.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..dd3144b95072b3063d2fd67df9a28ac253e2e4db GIT binary patch literal 9511 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 h1pXBcB>4;ccR^H!gv9^= literal 0 HcmV?d00001 From 93f58f0be32db8b9ed20c1e5245c38e3ae0f31d1 Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Thu, 8 Jul 2021 00:03:29 +0700 Subject: [PATCH 41/48] =?UTF-8?q?=E0=B8=97=E0=B8=B3=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=20=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=80=E0=B8=A5=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B8=84?= =?UTF-8?q?=E0=B9=88=E0=B8=B2=E0=B8=95=E0=B8=AD=E0=B8=9A=E0=B9=81=E0=B8=97?= =?UTF-8?q?=E0=B8=99=20dropdown=20=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=9B?= =?UTF-8?q?=E0=B9=87=E0=B8=99=20autocomplete=20=E0=B9=81=E0=B8=A5=E0=B8=B0?= =?UTF-8?q?=20=E0=B8=88=E0=B8=B1=E0=B8=94=E0=B9=80=E0=B8=A3=E0=B8=B5?= =?UTF-8?q?=E0=B8=A2=E0=B8=87=20=E0=B8=AB=E0=B8=99=E0=B9=88=E0=B8=A7?= =?UTF-8?q?=E0=B8=A2=E0=B8=87=E0=B8=B2=E0=B8=99=20=E0=B8=95=E0=B8=B2?= =?UTF-8?q?=E0=B8=A1=20org=20=E0=B8=97=E0=B8=B3=20=E0=B8=A7=E0=B8=B1?= =?UTF-8?q?=E0=B8=99=20=E0=B8=9E=E0=B8=B8=E0=B8=98=20=E0=B8=97=E0=B8=B5?= =?UTF-8?q?=E0=B9=88=2007/07/2564=20=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2?= =?UTF-8?q?=2020.00=20-=2012.00=20=E0=B8=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_adjust_postponement_normalService.cs | 9 ++ .../external_linkageService.cs | 118 ++++++++++++++++-- .../eva_adjust_postponement_normal.cshtml | 2 +- 3 files changed, 121 insertions(+), 8 deletions(-) diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs index 57114ca..eb783b5 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs @@ -96,6 +96,15 @@ namespace TodoAPI2.Models where j.employee_id == emp_id select j.id).ToList(); + var data_fiscal_year = (from f_y in _repository.Context.eva_adjust_postponement + group f_y by f_y.fiscal_year into new_group + orderby new_group.Key descending + select new + { + fiscal_year = new_group.Key + } + ).ToList(); + var i = new eva_adjust_postponement_normalWithSelectionViewModel(); var temp = create.GetListBySearch(new eva_create_evaluationSearchModel()); i.item_create_evaluation_id = (from x in temp where avaliable_eva.Contains(x.id) select x).ToList(); diff --git a/Models/external_linkage/external_linkageService.cs b/Models/external_linkage/external_linkageService.cs index 8bf3020..7af4960 100644 --- a/Models/external_linkage/external_linkageService.cs +++ b/Models/external_linkage/external_linkageService.cs @@ -286,21 +286,125 @@ namespace TodoAPI2.Models public List GetDepartmentData() { - var sql = string.Format("select * from public.{0}DepartmentData{0} where department_name != '' and deleted_at is null order by department_name; ", '"'.ToString()); - var para = db.GetParameterListNpgsql(); - DataTable dt = db.ExecuteDataTableNpgsql(sql, para); + var sql_parent = string.Format("select" + + " org_chart_detail.department_id," + + " org_depart.department_code," + + + " (case when org_chart_detail.department_id is not null then" + + " (select org_short.department_name" + + " from public.org_department_version_names as org_short" + + " where org_short.deleted_at is null" + + " and org_short.department_id = org_chart_detail.department_id" + + " and org_short.effective_date <= now()" + + " order by org_short.effective_date desc limit 1) else null end) as department_name," + + + " (case when cast(org_chart_detail.parent_department_id AS int) < 0 then" + + " (select org.organization_name from public.org_organization_datas as org" + + " where org.deleted_at is null" + + " and org.organization_id = ABS(org_chart_detail.parent_department_id))" + + " else (select org_department_version.department_name from public.org_department_version_names as org_department_version" + + " where org_department_version.deleted_at is null" + + " and org_department_version.department_id = ABS(org_chart_detail.parent_department_id)" + + " and org_department_version.effective_date <= now()" + + " order by org_department_version.effective_date desc limit 1)" + + " end) as parent_name," + + + " cast(org_chart_detail.parent_department_id as int) as parent_department_id" + + + " from public.org_organization_chart_details as org_chart_detail" + + " left join public.org_organization_charts as org_chart on org_chart_detail.organization_chart_id = org_chart.id" + + " left join public.org_department_datas as org_depart on org_chart_detail.department_id = org_depart.id" + + " left join public.org_type_departments as org_type_depart on org_depart.department_type_id = org_type_depart.id" + + " where org_chart_detail.deleted_at is null" + + " and org_chart.deleted_at is null" + + " and org_depart.deleted_at is null" + + " and org_type_depart.deleted_at is null" + + " and org_chart.version = (select max(max_org_chart.version) from public.org_organization_charts as max_org_chart where max_org_chart.deleted_at is null and max_org_chart.effective_date <= now())" + + " and org_chart_detail.parent_department_id <= 0" + + " order by cast(org_depart.department_code as int) asc;", '"'.ToString()); + + var sql_childs = string.Format("select" + + " org_chart_detail.department_id," + + " org_depart.department_code," + + + " (case when org_chart_detail.department_id is not null then" + + " (select org_short.department_name" + + " from public.org_department_version_names as org_short" + + " where org_short.deleted_at is null" + + " and org_short.department_id = org_chart_detail.department_id" + + " and org_short.effective_date <= now()" + + " order by org_short.effective_date desc limit 1) else null end) as department_name," + + + " (case when cast(org_chart_detail.parent_department_id AS int) < 0 then" + + " (select org.organization_name from public.org_organization_datas as org" + + " where org.deleted_at is null" + + " and org.organization_id = ABS(org_chart_detail.parent_department_id))" + + " else (select org_department_version.department_name from public.org_department_version_names as org_department_version" + + " where org_department_version.deleted_at is null" + + " and org_department_version.department_id = ABS(org_chart_detail.parent_department_id)" + + " and org_department_version.effective_date <= now()" + + " order by org_department_version.effective_date desc limit 1)" + + " end) as parent_name," + + + " cast(org_chart_detail.parent_department_id as int) as parent_department_id" + + + " from public.org_organization_chart_details as org_chart_detail" + + " left join public.org_organization_charts as org_chart on org_chart_detail.organization_chart_id = org_chart.id" + + " left join public.org_department_datas as org_depart on org_chart_detail.department_id = org_depart.id" + + " left join public.org_type_departments as org_type_depart on org_depart.department_type_id = org_type_depart.id" + + " where org_chart_detail.deleted_at is null" + + " and org_chart.deleted_at is null" + + " and org_depart.deleted_at is null" + + " and org_type_depart.deleted_at is null" + + " and org_chart.version = (select max(max_org_chart.version) from public.org_organization_charts as max_org_chart where max_org_chart.deleted_at is null and max_org_chart.effective_date <= now())" + + " and org_chart_detail.parent_department_id > 0" + + " order by cast(org_depart.department_code as int) asc;", '"'.ToString()); + + var p_para = db.GetParameterListNpgsql(); + DataTable data_parent = db.ExecuteDataTableNpgsql(sql_parent, p_para); + + var c_para = db.GetParameterListNpgsql(); + DataTable data_childs = db.ExecuteDataTableNpgsql(sql_childs, c_para); + var result = new List(); - foreach (DataRow dr in dt.Rows) + foreach (DataRow parent_depart in data_parent.Rows) { var i = new external_linkageViewModel(); - i.external_id = Convert.ToInt32(dr["id"]); - i.external_code = dr["department_code"].ToString(); - i.external_name = dr["department_name"].ToString(); + i.external_id = Convert.ToInt32(parent_depart["department_id"]); + i.external_code = parent_depart["department_code"].ToString(); + i.external_name = parent_depart["department_name"].ToString(); result.Add(i); + + var val_department_id = Convert.ToInt32(parent_depart["department_id"]); + var val_department_name = parent_depart["department_name"].ToString(); + RecursiveLoopDepartmentParentToChilds(result, val_department_id, val_department_name, data_childs); } + return result; } + public void RecursiveLoopDepartmentParentToChilds(List result, int param_department_id, string param_department_name, DataTable data_childs) + { + foreach(DataRow childs_parent in data_childs.Rows) + { + var val_parent_department_id = Convert.ToInt32(childs_parent["parent_department_id"]); + if (val_parent_department_id == param_department_id) + { + var i = new external_linkageViewModel(); + i.external_id = Convert.ToInt32(childs_parent["department_id"]); + i.external_code = childs_parent["department_code"].ToString(); + i.external_name = param_department_name + " - " + childs_parent["department_name"].ToString(); + result.Add(i); + + var val_child_department_id = Convert.ToInt32(childs_parent["department_id"]); + var val_child_department_name = childs_parent["department_name"].ToString(); + RecursiveLoopDepartmentParentToChilds(result, val_child_department_id, val_child_department_name, data_childs); + } + } + + return; + } + // FOR REPORT public List GetDepartmentDataForReport() diff --git a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml index 107fa18..6b6b529 100644 --- a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml +++ b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml @@ -131,7 +131,7 @@ eva_adjust_postponement_normal_InitiateDataTable(); eva_adjust_postponement_normal_InitialForm(); SetupValidationRemark("eva_adjust_postponement_normal"); - //$("#s_eva_adjust_postponement_normal_org_id").select2(); + $("#s_eva_adjust_postponement_normal_org_id").select2(); }); } From 3a00d8c0f4af69b19aa07dd242982b3d6ee5b11e Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 8 Jul 2021 14:29:02 +0700 Subject: [PATCH 42/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=20=E0=B8=9B=E0=B8=A3?= =?UTF-8?q?=E0=B8=B1=E0=B8=9A=E0=B9=80=E0=B8=A5=E0=B8=B7=E0=B9=88=E0=B8=AD?= =?UTF-8?q?=E0=B8=99=20=E0=B8=84=E0=B9=88=E0=B8=B2=E0=B8=95=E0=B8=AD?= =?UTF-8?q?=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 --- ...nement@eva_adjust_postponement_normal.xlsx | Bin 10951 -> 10901 bytes .../eva_adjust_postponement_normalService.cs | 30 +++++ ...stponement_normalWithSelectionViewModel.cs | 1 + .../eva_adjust_postponement_normal.cshtml | 2 +- .../eva_adjust_postponement_normal.js | 117 +++++++++--------- 5 files changed, 90 insertions(+), 60 deletions(-) diff --git a/EXCEL/eva_adjust_postponement@eva_adjust_postponement_normal.xlsx b/EXCEL/eva_adjust_postponement@eva_adjust_postponement_normal.xlsx index 305e1cf8f6ffe39c047271df489fb171db07193b..104412c8a60f4fb31ece6dfa9c4f8ab33c9f68ef 100644 GIT binary patch delta 4965 zcmZ8lcQhQ_(_Uot8ojP=tro0af?##4_vkI6L|t`ttA|CjL=77y(TNfvQ4%c#2_o7m z2_Zq0UFA#Oue|5`-G64zoafFT_uOaZnHjOjw`f`*EpB-awe9SeYr+Zjf ztz4^$?5-8SLC?-A`ZrzrR-+mT)b8TIIW0dat1@mD=Nx7*LrJD`(=&7m)ACK2;&ZzU z!1*@!tZTlpu{tZo$HcGEC-|cL{4KjRpXqGmc3Z2EqsO&uzhqB3IVMj%KP1f`@E~` zb1KiYr7WH?cnb@=vqa}!}7KV0}Wl3;PTe%T=r>qa- z9Tbv!*C!pg$Y@qn3?epCm7poz3S`O1ZeJi@G*&TAmGXz~RP$a1dtx?iMnE45ttW_2 zgLr`!CLQe^-#!2B^s(OhLUUu_3#hwAB6_7%ZXPK!7uqSBeLfFUl&v^j z1{rs@9~BHq5&Q}kB{|VK+LLy#zro@<_N^|HPjqM;2FnodP509ByLf zEXRD@9iL66R&a{g39)()n)#r-Gj@49%Cz`1Jv7W}Vy2rp?EBTj4lDB#RITAGL=m55 zQyh-I%uh6J?1UbCnTZS?nIVe2pJXJ*k-`U?gN1}2AdkCkckbfxa8Y_*Y&-WfTa4nP zUyf%Jrm4*O-t{`G)T_lz!L|$&hH9&y?fIkBO!16B@g1p?_gM%dg zF_M2dQEF}Hzb?-Z5A}wCt zyPh>#Y zgu#qv)QgOpBI!bFNFGn+2m|M@FZ^hS=0#F&(_G;*OX^mB<_So83M{1)Sav^?_7<(W0{K3>Do0 z+HQ_pHkO1lZVc(zqOUX1$2m$?TW9_G%;(hNd+9X4`+jxS1>)E{LxVw&O@EO@+I++Y zFs#b6+?Y`tH+`5~n=cUPpsuL(;&)f>WBEzcHudmEGw5uCr+M8>*!sjcv&-|+mVOZK zt$`05PDz+Xf&;X_E~Tl3KPCNP^8m_1oiP1di8`T`t1a^mauxq%qvrsT_{*HDLd7Ry zas&$VH1uLG+mN#%XbS}X&~grlR$=QoFr?9N@YYzOJlt~4=~D2~SUS7G=drV=cw#{; z#z!|%TiR#c)Wt*go;TO-sZyLl^6|sIGWRf`1}^Ud60aOqb0Up(h$^ryy!l-GfsY=d z`|V8L&yZ9lGu{sZmNjqTkIr25GJ;dvg(c?&G|bj*A9cwI_ywmLlDMK~eN%MC>Zo{n z-cl9Zwff?An(_Lu`|X4lk;5$S&t4S5i={IY^+noEQPhx=dFYUOw?Q!&9^CKrI3$HS z&BHqVHB$S-ByG~st7hJhOahx*RQKy$8Vxf;ojTG(^8;uy5fyP>4f@airTNzFaWp@`9h@{pX`;h8(F_Fmk2oB8C#sNQyR z9Qa7Xklu`YWC1q7{`n6K9P5fnC*1L~;#-tMGO?kKU_c^<7x~1zG6Ho9JjFrcO;gY35$o!o+iZH^*Ng~Ic{N;0<4{d#yV?V`bxv)WJ<;XSXT5>4n zyx0ZdOukTB&pX*QmU&&sXf5UA&LzRGOx2cS3}5ABW-%(k3dE@&4xU9Zyxkb z$sS58lu3NzZfLwf>8L8kOz^x=hN0}1z60~4A;mNwc}^L`taeg1w*zy<>CL2exrXoZ z_BVXW2R7{71ENVxkm^j+aWR=^Jn!^Ho<@!ecmnWpFC;kY!UodnoS2QSV1lcP73U#| zN^<0mOh3hp8dO{>&k4#nX7-5~YX>2f@rNl`68n&Wg4YPbPM^7_ix~_V6kG!F*07!H z0f5dUEy9(CfFu}pvqHzEG2IwzNJA4g=a3xz5>k3i^S9F8*j&;LZ5^c%A)phu+-8<= z5Up%9K)t7GN&cdSzCmY1P}yom=SD9A(+!N_o?AL`<%)wNjk?w)X@YD%)YOlB8%%;T_FSAiNA6N zM#t^FCf8aS$i)+xW%4vthwM?j_L-*0h2Q06SiN4E{4ytaj+9%IaV=qfb0(x7t43kE zJeo_6KPCws~i;0(g!TY0VHgmRU~f3DBM4BRCAv ziP?!5U~c~OU9b9C{SKe>=9^s$!KCMK-fRsRVv&5l{(IQ5j(pyyk^P8#9dX7PxPVS> zKB?&k?TxH}4y$pDd$rTWEQ-h{jJqyA&M%NS<8y0&^Al~l%dR_0ypXo4H1~v`4G)0MQj=2(Wrd{)PJQuPv*xKR zvKWWkrFx@Xu|c!1t^4HKg0zfcXtU%n{GQL8b5<44zL1}QmO~0a<7Q(sXAfjGL+q-PN@H z?X%YdSEF4X>tB>5sGgKvMa1APE{?a4KCbMHBgYe86u^jKo7r3J8{yQV8b_X16J^_S z{r9b zpgtsVaSA;|!H1kxV~A$Hpy4@?ZG`8y^Z@PBpW43lD|-Wdxy)H=&{3qj^jkL_9^CIN|9p1ERP=K<+sl+pW&i7=5h~a+n_SzQ$u}O>wQ`KV)>QgZf%p~ z-}$>g>9QTowvR*8aT_M9pI2#!mip3|8`xkz(31ljnB>KtXn+QGwg39Q@wrtd=Dp56SyIc+35#J(MWmo*yBfLEcb>RN->7O;35?j4DvC2h zEI}0dv~5gtg6(d5Mu*eQ*rVXFT3^0?po|Nv8(Fk)U8wNB&Cy~p$PX>FpP^D_do<}dC~Qn6>fDHY06^~{nfA4j?o(gWh0R=LiSrN4u^ zk;Pr4Ck6Mi9XK9xFJ$}KQ-!TXZ#$JGdtIXX0aZCwg4cv9{mmZhdd?8|L{86Ui3~~q zuIpQRHPT(8+gsjWl<5+uytl3M?2ODfPENLJ)xn6H@dkU?*KEhJ&w2~>VW;qZu`b#MV5gMrNiriJyDnMxMe zb5}V(O5!#^>#bi*9?tonxx2FE`JHIC`7iF|Y=vtcn%}nmqz`*T5hOo=Y&oU)XVMs? zCM0Mb;k!vd_QD@qrb7S#*tQz;a1$V-avk;G++rA70ruZ{7g-YQ?w8o{=JwvZI47-N zV*FutO}ck({y6zzxYQU5R^56MggpJCe>kT;H_dD<#O_cIO<*t5E{~~LNlmtBq zO`+NV-6uh4k5XB#7CAjxqh=||K^f@`z^c#NLTG3??og4pg~=P5UTpk!%Ez}>SP2>l zTuvuGHhNHde}LpcFsPIx(|1YGcYcKQ-0Y$wJZj%6^Xb0d5JCRS)jT_=SIwJ^aMNvs z>9^-r(%W)tAMD81_pPOpVH3??7xxBb5A0|@2oO(cc#aI_r|rrnY|N7b8I8 zK$Oeu3d?ZHxCR#;tK%kTg4_;I!y4C$7JgJi&fcf&j_KKji0_%$NCZw(cbP-c@%Z8N z5Il9Wk^y*w-G})kAMttFA%+o{OV<8NQcWN$c3s;s%Cv-o-YqZ|2)ogssh?+QTIpLM z-Q}dvH1qZg>$>cL`+YXgHQB{S)P%@)^)0;x0oupUwE5OyZD!AOooW(S)=9i|Yed};?Y^kae&oAw~=aZQtL$W)JxFN7Y{GDsO zsV(yXYx{TaxrC>M6v0S@uT|xlFD-GY-m#z(J*t^_X*Q$XSjXn}&_#wApduG}zcATV z;dIjHR7(Oz#JoMs<3#AZ#_?c#l<4Z7tl&qbw_^&wMsNKxl3$ARR}7kzyIW+86N=>Q zaU0A@GW-1|$uml)2jN3{_fxp4`O>@_<{W6Wt4cMi;xC2gaa%5KO2N$?_1{vy+Bkmm z`!K>JM*Q5tQ(9oS2lJp8iK(goH}uyok)b8Q zq8$G@jsFXwrbG`3L;g{cXh~rvLIfRJS6G1KKh@#C7wB2hX~LlY=_zGkMnYmv^dton zdK?TPB;iJXpcX)L3e%#+A#8+XJZL?L0>}Sx^Ur3C?%zazJa%3*1%!|NpHKFOymWu$ TDDD3P6r-O&_=s(U{s#XGG~6Dh delta 4992 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 KLxSM{`|uxh`%HrX diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs index eb783b5..41391f7 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalService.cs @@ -87,6 +87,26 @@ namespace TodoAPI2.Models i.item_managed_by = all_emp.ToList(); i.item_org_id = (from x in ext.GetDepartmentData() select x).ToList(); + var data_fiscal_year = (from f_y in _repository.Context.eva_adjust_postponement + group f_y by f_y.fiscal_year into new_group + orderby new_group.Key descending + select new + { + fiscal_year = new_group.Key + } + ).ToList(); + var result = new List(); + foreach (var x in data_fiscal_year) + { + result.Add(new external_linkageViewModel + { + external_id = x.fiscal_year, + external_code = x.fiscal_year.ToString(), + external_name = x.fiscal_year.ToString() + }); + } + + i.item_fiscal_year = result; return i; } @@ -104,6 +124,15 @@ namespace TodoAPI2.Models fiscal_year = new_group.Key } ).ToList(); + var result = new List(); + foreach(var x in data_fiscal_year) + { + result.Add(new external_linkageViewModel { + external_id = x.fiscal_year, + external_code = x.fiscal_year.ToString(), + external_name = x.fiscal_year.ToString() + }); + } var i = new eva_adjust_postponement_normalWithSelectionViewModel(); var temp = create.GetListBySearch(new eva_create_evaluationSearchModel()); @@ -112,6 +141,7 @@ namespace TodoAPI2.Models i.item_managed_by = all_emp.ToList(); i.item_org_id = (from x in ext.GetDepartmentData() select x).ToList(); + i.item_fiscal_year = result; return i; } diff --git a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs index 5162a19..791b2f5 100644 --- a/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs +++ b/Models/eva_adjust_postponement_normal/eva_adjust_postponement_normalWithSelectionViewModel.cs @@ -7,6 +7,7 @@ namespace TodoAPI2.Models { public class eva_adjust_postponement_normalWithSelectionViewModel: eva_adjust_postponement_normalViewModel { + public List item_fiscal_year { get; set; } public List item_create_evaluation_id { get; set; } public List item_managed_by { get; set; } public List item_org_id { get; set; } diff --git a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml index 6b6b529..2cd05d9 100644 --- a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml +++ b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal.cshtml @@ -86,7 +86,7 @@
        - +
        diff --git a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js index b120e2d..90d1e45 100644 --- a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js +++ b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js @@ -5,17 +5,17 @@ var eva_adjust_postponement_normal_API = "/api/eva_adjust_postponement_normal/"; function eva_adjust_postponement_normal_GetSearchParameter() { var eva_adjust_postponement_normalSearchObject = new Object(); -eva_adjust_postponement_normalSearchObject.fiscal_year = $("#s_eva_adjust_postponement_normal_fiscal_year").val(); -eva_adjust_postponement_normalSearchObject.theRound = $("#s_eva_adjust_postponement_normal_theRound").val(); -eva_adjust_postponement_normalSearchObject.org_id = $("#s_eva_adjust_postponement_normal_org_id").val(); + eva_adjust_postponement_normalSearchObject.fiscal_year = $("#s_eva_adjust_postponement_normal_fiscal_year").val(); + eva_adjust_postponement_normalSearchObject.theRound = $("#s_eva_adjust_postponement_normal_theRound").val(); + eva_adjust_postponement_normalSearchObject.org_id = $("#s_eva_adjust_postponement_normal_org_id").val(); return eva_adjust_postponement_normalSearchObject; } function eva_adjust_postponement_normal_FeedDataToSearchForm(data) { -$("#s_eva_adjust_postponement_normal_fiscal_year").val(data.fiscal_year); -$("#s_eva_adjust_postponement_normal_theRound").val(data.theRound); -DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); + DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_fiscal_year"), data, "id", "external_name", "item_fiscal_year", data.fiscal_year); + $("#s_eva_adjust_postponement_normal_theRound").val(data.theRound); + DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); } @@ -23,37 +23,37 @@ DropDownClearFormAndFeedWithData($("#s_eva_adjust_postponement_normal_org_id"), function eva_adjust_postponement_normal_FeedDataToForm(data) { -//console.log(data); + //console.log(data); -$("#eva_adjust_postponement_normal_id").val(data.id); -$("#eva_adjust_postponement_normal_fiscal_year").val(data.fiscal_year); -$("#eva_adjust_postponement_normal_theDate").val(formatDate(data.theDate)); -$("#eva_adjust_postponement_normal_theRound").val(data.theRound); -DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_create_evaluation_id"), data, "id", "description", "item_create_evaluation_id", data.create_evaluation_id); -$("#eva_adjust_postponement_normal_limit").val(data.limit); -$("#eva_adjust_postponement_normal_limit_frame").val(data.limit_frame); -// $("#eva_adjust_postponement_normal_limit_quota").val(data.limit_quota); -$("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask',data.limit_quota); + $("#eva_adjust_postponement_normal_id").val(data.id); + $("#eva_adjust_postponement_normal_fiscal_year").val(data.fiscal_year); + $("#eva_adjust_postponement_normal_theDate").val(formatDate(data.theDate)); + $("#eva_adjust_postponement_normal_theRound").val(data.theRound); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_create_evaluation_id"), data, "id", "description", "item_create_evaluation_id", data.create_evaluation_id); + $("#eva_adjust_postponement_normal_limit").val(data.limit); + $("#eva_adjust_postponement_normal_limit_frame").val(data.limit_frame); + // $("#eva_adjust_postponement_normal_limit_quota").val(data.limit_quota); + $("#eva_adjust_postponement_normal_limit_quota").maskMoney('mask', data.limit_quota); -$("#eva_adjust_postponement_normal_percentage").val(data.percentage); -DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_managed_by"), data, "id", "fullname", "item_managed_by", getCookie("emp_id")); -//DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); + $("#eva_adjust_postponement_normal_percentage").val(data.percentage); + DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_managed_by"), data, "id", "fullname", "item_managed_by", getCookie("emp_id")); + //DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); } function eva_adjust_postponement_normal_GetFromForm() { var eva_adjust_postponement_normalObject = new Object(); -eva_adjust_postponement_normalObject.id = $("#eva_adjust_postponement_normal_id").val(); -eva_adjust_postponement_normalObject.fiscal_year = $("#eva_adjust_postponement_normal_fiscal_year").val(); -eva_adjust_postponement_normalObject.theDate = getDate($("#eva_adjust_postponement_normal_theDate").val()); -eva_adjust_postponement_normalObject.theRound = $("#eva_adjust_postponement_normal_theRound").val(); -eva_adjust_postponement_normalObject.create_evaluation_id = $("#eva_adjust_postponement_normal_create_evaluation_id").val(); -eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val(); -eva_adjust_postponement_normalObject.limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); -eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val(); -eva_adjust_postponement_normalObject.percentage = $("#eva_adjust_postponement_normal_percentage").val(); -eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); -//eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); + eva_adjust_postponement_normalObject.id = $("#eva_adjust_postponement_normal_id").val(); + eva_adjust_postponement_normalObject.fiscal_year = $("#eva_adjust_postponement_normal_fiscal_year").val(); + eva_adjust_postponement_normalObject.theDate = getDate($("#eva_adjust_postponement_normal_theDate").val()); + eva_adjust_postponement_normalObject.theRound = $("#eva_adjust_postponement_normal_theRound").val(); + eva_adjust_postponement_normalObject.create_evaluation_id = $("#eva_adjust_postponement_normal_create_evaluation_id").val(); + eva_adjust_postponement_normalObject.limit = $("#eva_adjust_postponement_normal_limit").val(); + eva_adjust_postponement_normalObject.limit_frame = $("#eva_adjust_postponement_normal_limit_frame").val(); + eva_adjust_postponement_normalObject.limit_quota = $("#eva_adjust_postponement_normal_limit_quota").val(); + eva_adjust_postponement_normalObject.percentage = $("#eva_adjust_postponement_normal_percentage").val(); + eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); + //eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); return eva_adjust_postponement_normalObject; @@ -62,14 +62,14 @@ eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_no function eva_adjust_postponement_normal_InitialForm(s) { var successFunc = function (result) { eva_adjust_postponement_normal_FeedDataToForm(result); - eva_adjust_postponement_normal_FeedDataToSearchForm(result); + eva_adjust_postponement_normal_FeedDataToSearchForm(result); if (s) { // Incase model popup $("#eva_adjust_postponement_normalModel").modal("show"); } - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + "GetBlankItem", successFunc, AlertDanger); } @@ -96,15 +96,15 @@ function eva_adjust_postponement_normal_SetEditForm(a) { eva_adjust_postponement_normal_editMode = "UPDATE"; eva_adjust_postponement_normal_FeedDataToForm(result); $("#eva_adjust_postponement_normalModel").modal("show"); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxGetRequest(apisite + eva_adjust_postponement_normal_API + a, successFunc, AlertDanger); } function eva_adjust_postponement_normal_SetCreateForm(s) { eva_adjust_postponement_normal_editMode = "CREATE"; - eva_adjust_postponement_normal_InitialForm(s); + eva_adjust_postponement_normal_InitialForm(s); } function eva_adjust_postponement_normal_RefreshTable() { @@ -122,8 +122,7 @@ var eva_adjust_postponement_normal_customValidation = function (group) { }; function eva_adjust_postponement_normal_PutUpdate() { - if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) - { + if (!ValidateForm('eva_adjust_postponement_normal', eva_adjust_postponement_normal_customValidation)) { return; } @@ -135,9 +134,9 @@ function eva_adjust_postponement_normal_PutUpdate() { $("#eva_adjust_postponement_normalModel").modal("hide"); AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPutRequest(apisite + eva_adjust_postponement_normal_API + data.id, data, successFunc1, AlertDanger); } // Create mode @@ -146,9 +145,9 @@ function eva_adjust_postponement_normal_PutUpdate() { $("#eva_adjust_postponement_normalModel").modal("hide"); AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxPostRequest(apisite + eva_adjust_postponement_normal_API, data, successFunc2, AlertDanger); } } @@ -159,9 +158,9 @@ function eva_adjust_postponement_normal_GoDelete(a) { $("#eva_adjust_postponement_normalModel").modal("hide"); AlertSuccess(result.message); eva_adjust_postponement_normal_RefreshTable(); - endLoad(); + endLoad(); }; - startLoad(); + startLoad(); AjaxDeleteRequest(apisite + eva_adjust_postponement_normal_API + a, null, successFunc, AlertDanger); } } @@ -171,18 +170,18 @@ function eva_adjust_postponement_normal_GoDelete(a) { var eva_adjust_postponement_normalTableV; var eva_adjust_postponement_normal_setupTable = function (result) { - tmp = '"'; + tmp = '"'; eva_adjust_postponement_normalTableV = $('#eva_adjust_postponement_normalTable').DataTable({ "processing": true, "serverSide": false, "data": result, - "select": false, + "select": false, "columns": [ - { "data": "id" }, - { "data": "fiscal_year" }, - { "data": "txt_theDate" }, - { "data": "theRound" }, - { "data": "create_evaluation_id_description" }, + { "data": "id" }, + { "data": "fiscal_year" }, + { "data": "txt_theDate" }, + { "data": "theRound" }, + { "data": "create_evaluation_id_description" }, ], "columnDefs": [ { @@ -196,15 +195,15 @@ var eva_adjust_postponement_normal_setupTable = function (result) { "url": appsite + "/DataTables-1.10.16/thai.json" }, "paging": true, - "searching": false + "searching": false }); - endLoad(); + endLoad(); }; function eva_adjust_postponement_normal_InitiateDataTable() { - startLoad(); - var p = $.param(eva_adjust_postponement_normal_GetSearchParameter()); - AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?"+p, eva_adjust_postponement_normal_setupTable, AlertDanger); + startLoad(); + var p = $.param(eva_adjust_postponement_normal_GetSearchParameter()); + AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?" + p, eva_adjust_postponement_normal_setupTable, AlertDanger); } function eva_adjust_postponement_normal_DoSearch() { @@ -212,10 +211,10 @@ function eva_adjust_postponement_normal_DoSearch() { var eva_adjust_postponement_normal_reload = function (result) { eva_adjust_postponement_normalTableV.destroy(); eva_adjust_postponement_normal_setupTable(result); - endLoad(); + endLoad(); }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?"+p, eva_adjust_postponement_normal_reload, AlertDanger); + startLoad(); + AjaxGetRequest(apisite + "/api/eva_adjust_postponement_normal/GetListBySearch?" + p, eva_adjust_postponement_normal_reload, AlertDanger); } function eva_adjust_postponement_normal_GetSelect(f) { From d17f470c8ceb5c20b2d4a9c3156a57182f530268 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 8 Jul 2021 15:15:40 +0700 Subject: [PATCH 43/48] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=E0=B8=84=E0=B8=AD=E0=B8=A5=E0=B8=B1=E0=B8=A1=20?= =?UTF-8?q?=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0?= =?UTF-8?q?=E0=B8=88=E0=B8=B3=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B9=88=E0=B8=87=20=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=84?= =?UTF-8?q?=E0=B9=88=E0=B8=B2=E0=B8=95=E0=B8=AD=E0=B8=9A=E0=B9=81=E0=B8=97?= =?UTF-8?q?=E0=B8=99=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B9=80=E0=B8=94?= =?UTF-8?q?=E0=B8=B7=E0=B8=AD=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXCEL/eva_salary_cylinder.xlsx | Bin 10771 -> 10915 bytes ...08074957_Updatesalary_cylinder.Designer.cs | 1075 +++++++++++++++++ .../20210708074957_Updatesalary_cylinder.cs | 31 + Migrations/DataContextModelSnapshot.cs | 4 + .../eva_salary_cylinderEntity.cs | 2 + .../eva_salary_cylinderInputModel.cs | 4 + .../eva_salary_cylinderService.cs | 68 +- .../eva_salary_cylinderViewModel.cs | 4 + .../eva_salary_cylinder.cshtml | 25 +- .../eva_adjust_postponement_normal.js | 4 + .../eva_salary_cylinder.js | 48 +- 11 files changed, 1209 insertions(+), 56 deletions(-) create mode 100644 Migrations/20210708074957_Updatesalary_cylinder.Designer.cs create mode 100644 Migrations/20210708074957_Updatesalary_cylinder.cs diff --git a/EXCEL/eva_salary_cylinder.xlsx b/EXCEL/eva_salary_cylinder.xlsx index 4d8f6e1ab69fb1ddbe431dabe18243b304a7cf1b..1ad1d856d8b35af9b3d86ef4bf7371a760e7e79b 100644 GIT binary patch delta 4992 zcmZu#cTf|~woU?}2NQY;y*EKXN=yfJ0=28e{<{D zdq@X)`?}kEd%Ir__Vg$>w)W1JVT#DBy?FfFup|5j*;9jCycV@y2{RQ0?brQ45i{Um zqTZA)e}4TQ-HF|1`!OZ2lyCD@Q}i#&U3h8~!Ij=7_6J*(S7zBlWZGIwit*~>i4aiNO7n;e^4-^Gl=v`#tg!D+1q*g~ zROlGeR6u9%xkDLBY!rp+mvO@Ms{QOt^Vn~$&5&sEGQb)p8t{kuh7*lv9vp780$1>Zow z-NtCVueY#~Al(cwq}wu^M&OZ*uPn3;9$2wfok{Y$$}?uk9wk&PFA^b5Sk_`V{imo- zw&AX%kol{mB(IqIcPg!I#V7FD(LO`Fr(TM5ohk2r7B#h;sE1lh`F}Wz5KX6s?OVKX zfvD%|H^EaF$S26jRW*~P+>6fKPARbkWK1 zK_hHkFZlMuu(a~G1Ug;v3mV_o&dd+^A=u)C<7<*g3PoopQhg7R{d~1fzp zmAt(U`dHD|mn6gWT*Olu4VN@N5fARAF3(spJnFS(*!7m4zJAu;y zN6eJvR_%Ln(yT(IwUOJEM|nX)81O0b3*E(;578G=zVfVdk~<3{&7`)CO6D5K zvd1QoEW4Ziq(-5}k7?37o8=eSp_nu|JyxFf>tT7nefrUgJ^{9&rOv%!_HaLb^^k%r=sR7jrTtUsMmxOv&3g`J=2|cs{f4%*(2~iWFvD-H z_SA{2={{0Yv3YXv)EJ)$KFZdGU7`gamY?6MZozuzI8X*oKnI8@OF|YbI6&8mMs|l< zokC14I_qer@ghb|W&&1q9i=SdtUSISy0j2(zP7~2?santWR?M%Bl?#jsopRS%}Y-G z7^V+l!3m6UHFMWGiWb`zH{8(@Smuq$MKF?>5i*i6ImQJAm>=W9RoErr!f)3l4Z8E= z&9dTVg%?Mzqv^8a(zGuxYa^!F3XQ0B{W|G4|K|v3scn4#m-uK!Me`l1sdCS!FYFtNCOB|ilo{0POIj{S zV=76rTBVNKY$)qk5}_hBUsFXbzQVa-8IvK8wr?H5_!K7VUptXtLapr;z4!yc%GGv`#T1* zch~wlCDSr1jy%K@e^3*M^$;Q9pHYrWF!mMxErYii*}eUDK7OH@bvF=GCm4tsM2q=v zz8^5N-k3JZG8npKXwj8Pe?d%2e|~ z)DcSo{4bR4^8b@Ab$a_KW4q1$qj1mLV-HwOP zYOz3IJOk{UwmS(_${1^iYsm%K-v^p}c~&p5hUbz55GHiC$|`LwS@_-{t{+kzGpB*I zgc<@1Ys#PwWWX%!C8k>-N_MOblM-m)tR|C*8-zZPo_MlF1^}c%0DwRJufXy15AksH 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 TPUwFDO0hr11Sp(E{x1Fxz?UAJ delta 4843 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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("20210708074957_Updatesalary_cylinder")] + partial class Updatesalary_cylinder + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(4000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(8000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("eva_employee_id"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("order_of_data"); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.Property("work_period"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.Property("id"); + + b.Property("action_detail") + .HasMaxLength(4000); + + b.Property("action_dt"); + + b.Property("action_emp_id"); + + b.Property("created"); + + b.Property("evaluation_detail_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(8000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.Property("id"); + + b.Property("achievement_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("the_file") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("achievement_id"); + + b.ToTable("eva_evaluation_achievement_attach"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("monthly_compensation"); + + b.Property("position_allowance"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20210708074957_Updatesalary_cylinder.cs b/Migrations/20210708074957_Updatesalary_cylinder.cs new file mode 100644 index 0000000..8c06716 --- /dev/null +++ b/Migrations/20210708074957_Updatesalary_cylinder.cs @@ -0,0 +1,31 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class Updatesalary_cylinder : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "monthly_compensation", + table: "eva_salary_cylinder", + nullable: true); + + migrationBuilder.AddColumn( + name: "position_allowance", + table: "eva_salary_cylinder", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "monthly_compensation", + table: "eva_salary_cylinder"); + + migrationBuilder.DropColumn( + name: "position_allowance", + table: "eva_salary_cylinder"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 5596a3d..907deae 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -929,6 +929,10 @@ namespace tb320eva.Migrations b.Property("middle"); + b.Property("monthly_compensation"); + + b.Property("position_allowance"); + b.Property("position_level"); b.Property("position_type"); diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs b/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs index ad96fab..3cfdf6c 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderEntity.cs @@ -30,6 +30,8 @@ namespace TodoAPI2.Models public decimal? cost_living { get; set; } + public decimal? position_allowance { get; set; } + public decimal? monthly_compensation { get; set; } } } diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs b/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs index 211b276..679d5ab 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderInputModel.cs @@ -30,6 +30,10 @@ namespace TodoAPI2.Models public decimal? cost_living { get; set; } + public decimal? position_allowance { get; set; } + + public decimal? monthly_compensation { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderService.cs b/Models/eva_salary_cylinder/eva_salary_cylinderService.cs index 846ddcd..5e0c213 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderService.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderService.cs @@ -20,14 +20,14 @@ namespace TodoAPI2.Models public class eva_salary_cylinderService : Ieva_salary_cylinderService { private IBaseRepository2 _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; public eva_salary_cylinderService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; } #region Private Functions @@ -47,7 +47,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + #endregion #region Public Functions @@ -93,7 +93,7 @@ namespace TodoAPI2.Models from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - where m_eva_salary_cylinder.position_type == position_type || !position_type.HasValue + where m_eva_salary_cylinder.position_type == position_type || !position_type.HasValue orderby m_eva_salary_cylinder.created descending select new eva_salary_cylinderViewModel() @@ -105,7 +105,9 @@ namespace TodoAPI2.Models themin = m_eva_salary_cylinder.themin, themax = m_eva_salary_cylinder.themax, middle = m_eva_salary_cylinder.middle, - cost_living = m_eva_salary_cylinder.cost_living , + cost_living = m_eva_salary_cylinder.cost_living, + position_allowance = m_eva_salary_cylinder.position_allowance, + monthly_compensation = m_eva_salary_cylinder.monthly_compensation, position_type_external_linkage_external_name = fk_external_linkageResult1.external_name, position_level_external_linkage_external_name = fk_external_linkageResult2.external_name, @@ -119,7 +121,7 @@ namespace TodoAPI2.Models return data; } - public List GetListBySearch(eva_salary_cylinderSearchModel model) + public List GetListBySearch(eva_salary_cylinderSearchModel model) { var data = ( from m_eva_salary_cylinder in _repository.Context.eva_salary_cylinder @@ -133,7 +135,7 @@ namespace TodoAPI2.Models from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() - where 1==1 + where 1 == 1 && (m_eva_salary_cylinder.position_type == model.position_type || !model.position_type.HasValue) @@ -147,7 +149,9 @@ namespace TodoAPI2.Models themin = m_eva_salary_cylinder.themin, themax = m_eva_salary_cylinder.themax, middle = m_eva_salary_cylinder.middle, - cost_living = m_eva_salary_cylinder.cost_living , + cost_living = m_eva_salary_cylinder.cost_living, + position_allowance = m_eva_salary_cylinder.position_allowance, + monthly_compensation = m_eva_salary_cylinder.monthly_compensation, position_type_external_linkage_external_name = fk_external_linkageResult1.external_name, position_level_external_linkage_external_name = fk_external_linkageResult2.external_name, @@ -170,10 +174,10 @@ namespace TodoAPI2.Models int? newkey = 0; var x = (from i in _repository.Context.eva_salary_cylinder - orderby i.id descending - select i).Take(1).ToList(); + orderby i.id descending + select i).Take(1).ToList(); - if(x.Count > 0) + if (x.Count > 0) { newkey = x[0].id + 1; } @@ -189,7 +193,7 @@ namespace TodoAPI2.Models var inserted = _repository.Insert(entity); - + return Get(inserted.id); } @@ -204,33 +208,35 @@ namespace TodoAPI2.Models existingEntity.themin = model.themin; existingEntity.themax = model.themax; existingEntity.middle = model.middle; - existingEntity.cost_living = model.cost_living ; - + existingEntity.cost_living = model.cost_living; + existingEntity.position_allowance = model.position_allowance; + existingEntity.monthly_compensation = model.monthly_compensation; var updated = _repository.Update(id, existingEntity); return Get(updated.id); } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model) + public string UpdateMultiple(List model) { - foreach(var i in model) + foreach (var i in model) { if (i.active_mode == "1" && i.id.HasValue) // update - { + { var existingEntity = _repository.Get(i.id.Value); if (existingEntity != null) { - existingEntity.position_type = i.position_type; - existingEntity.position_level = i.position_level; - existingEntity.temporary_min = i.temporary_min; - existingEntity.themin = i.themin; - existingEntity.themax = i.themax; - existingEntity.middle = i.middle; - existingEntity.cost_living = i.cost_living ; - + existingEntity.position_type = i.position_type; + existingEntity.position_level = i.position_level; + existingEntity.temporary_min = i.temporary_min; + existingEntity.themin = i.themin; + existingEntity.themax = i.themax; + existingEntity.middle = i.middle; + existingEntity.cost_living = i.cost_living; + existingEntity.position_allowance = i.position_allowance; + existingEntity.monthly_compensation = i.monthly_compensation; _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } @@ -242,15 +248,15 @@ namespace TodoAPI2.Models _repository.InsertWithoutCommit(entity); } else if (i.active_mode == "0" && i.id.HasValue) // remove - { + { _repository.DeleteWithoutCommit(i.id.Value); } else if (i.active_mode == "0" && !i.id.HasValue) { // nothing to do - } + } } - _repository.Context.SaveChanges(); + _repository.Context.SaveChanges(); return model.Count().ToString(); } diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs b/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs index 52e3f2f..98fd7bf 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderViewModel.cs @@ -28,6 +28,10 @@ namespace TodoAPI2.Models public decimal? cost_living { get; set; } + public decimal? position_allowance { get; set; } + + public decimal? monthly_compensation { get; set; } + public string position_type_external_linkage_external_name { get; set; } public string position_level_external_linkage_external_name { get; set; } diff --git a/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml b/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml index 9651a91..78116a0 100644 --- a/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml +++ b/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml @@ -32,33 +32,41 @@
        - +
        - +
        - +
        - +
        -
        +
        - + +
        +
        + + +
        + +
        + +
        -
        @@ -114,7 +122,8 @@
        - + + diff --git a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js index 90d1e45..74ecea6 100644 --- a/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js +++ b/wwwroot/js/eva_adjust_postponement_normal/eva_adjust_postponement_normal.js @@ -39,6 +39,8 @@ function eva_adjust_postponement_normal_FeedDataToForm(data) { DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_managed_by"), data, "id", "fullname", "item_managed_by", getCookie("emp_id")); //DropDownClearFormAndFeedWithData($("#eva_adjust_postponement_normal_org_id"), data, "id", "external_name", "item_org_id", data.org_id); + $("#eva_salary_cylinder_position_allowance").val(data.position_allowance); + $("#eva_salary_cylinder_monthly_compensation").val(data.monthly_compensation); } function eva_adjust_postponement_normal_GetFromForm() { @@ -55,6 +57,8 @@ function eva_adjust_postponement_normal_GetFromForm() { eva_adjust_postponement_normalObject.managed_by = $("#eva_adjust_postponement_normal_managed_by").val(); //eva_adjust_postponement_normalObject.org_id = $("#eva_adjust_postponement_normal_org_id").val(); + eva_salary_cylinderObject.position_allowance = $("#eva_salary_cylinder_position_allowance").val(); + eva_salary_cylinderObject.monthly_compensation = $("#eva_salary_cylinder_monthly_compensation").val(); return eva_adjust_postponement_normalObject; } diff --git a/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js b/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js index b3b9deb..90dde50 100644 --- a/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js +++ b/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js @@ -21,17 +21,13 @@ function eva_salary_cylinder_FeedDataToForm(data) { $("#eva_salary_cylinder_id").val(data.id); DropDownClearFormAndFeedWithData($("#eva_salary_cylinder_position_type"), data, "id", "external_name", "item_position_type", data.position_type); DropDownClearFormAndFeedWithData($("#eva_salary_cylinder_position_level"), data, "id", "external_name", "item_position_level", data.position_level); - // $("#eva_salary_cylinder_temporary_min").val(data.temporary_min); - // $("#eva_salary_cylinder_themin").val(data.themin); - // $("#eva_salary_cylinder_themax").val(data.themax); - // $("#eva_salary_cylinder_middle").val(data.middle); - // $("#eva_salary_cylinder_cost_living").val(data.cost_living); - $("#eva_salary_cylinder_temporary_min").maskMoney('mask',data.temporary_min); - $("#eva_salary_cylinder_themin").maskMoney('mask',data.themin); - $("#eva_salary_cylinder_themax").maskMoney('mask',data.themax); - $("#eva_salary_cylinder_middle").maskMoney('mask',data.middle); - $("#eva_salary_cylinder_cost_living").maskMoney('mask',data.cost_living); - + $("#eva_salary_cylinder_temporary_min").val(data.temporary_min); + $("#eva_salary_cylinder_themin").val(data.themin); + $("#eva_salary_cylinder_themax").val(data.themax); + $("#eva_salary_cylinder_middle").val(data.middle); + $("#eva_salary_cylinder_cost_living").val(data.cost_living); + $("#eva_salary_cylinder_position_allowance").val(data.position_allowance); + $("#eva_salary_cylinder_monthly_compensation").val(data.monthly_compensation); } function eva_salary_cylinder_GetFromForm() { @@ -39,12 +35,13 @@ function eva_salary_cylinder_GetFromForm() { eva_salary_cylinderObject.id = $("#eva_salary_cylinder_id").val(); eva_salary_cylinderObject.position_type = $("#eva_salary_cylinder_position_type").val(); eva_salary_cylinderObject.position_level = $("#eva_salary_cylinder_position_level").val(); - eva_salary_cylinderObject.temporary_min = $("#eva_salary_cylinder_temporary_min").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.themin = $("#eva_salary_cylinder_themin").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.themax = $("#eva_salary_cylinder_themax").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.middle = $("#eva_salary_cylinder_middle").val().replace(/[,-]/g,''); - eva_salary_cylinderObject.cost_living = $("#eva_salary_cylinder_cost_living").val().replace(/[,-]/g,''); - + eva_salary_cylinderObject.temporary_min = $("#eva_salary_cylinder_temporary_min").val(); + eva_salary_cylinderObject.themin = $("#eva_salary_cylinder_themin").val(); + eva_salary_cylinderObject.themax = $("#eva_salary_cylinder_themax").val(); + eva_salary_cylinderObject.middle = $("#eva_salary_cylinder_middle").val(); + eva_salary_cylinderObject.cost_living = $("#eva_salary_cylinder_cost_living").val(); + eva_salary_cylinderObject.position_allowance = $("#eva_salary_cylinder_position_allowance").val(); + eva_salary_cylinderObject.monthly_compensation = $("#eva_salary_cylinder_monthly_compensation").val(); return eva_salary_cylinderObject; } @@ -117,6 +114,7 @@ function eva_salary_cylinder_PutUpdate() { } var data = eva_salary_cylinder_GetFromForm(); + console.log(data); //Update Mode if (eva_salary_cylinder_editMode === "UPDATE") { @@ -176,6 +174,8 @@ var eva_salary_cylinder_setupTable = function (result) { { "data": "themax" }, { "data": "middle" }, { "data": "cost_living" }, + { "data": "position_allowance" }, + { "data": "monthly_compensation" }, ], "columnDefs": [ { @@ -219,6 +219,20 @@ var eva_salary_cylinder_setupTable = function (result) { "render": function (data, type, row, meta) { return formatNumber(data); } + }, + { + "targets": 8, + "data": "position_allowance", + "render": function (data, type, row, meta) { + return formatNumber(data); + } + }, + { + "targets": 9, + "data": "monthly_compensation", + "render": function (data, type, row, meta) { + return formatNumber(data); + } }], "language": { "url": appsite + "/DataTables-1.10.16/thai.json" From 0a18265f10987868a3bc1f3c2a8d13dc9e9e674c Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 8 Jul 2021 15:26:37 +0700 Subject: [PATCH 44/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=20=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=81=E0=B8=AA?= =?UTF-8?q?=E0=B8=94=E0=B8=87=E0=B8=9C=E0=B8=A5=20=E0=B8=84=E0=B9=88?= =?UTF-8?q?=E0=B8=B2=E0=B8=84=E0=B8=A3=E0=B8=AD=E0=B8=87=E0=B8=8A=E0=B8=B5?= =?UTF-8?q?=E0=B8=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_salary_cylinderService.cs | 1 + .../external_linkage/external_linkageService.cs | 4 ++-- .../eva_salary_cylinder.cshtml | 7 ++++++- .../eva_salary_cylinder/eva_salary_cylinder.js | 17 ++++++++--------- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Models/eva_salary_cylinder/eva_salary_cylinderService.cs b/Models/eva_salary_cylinder/eva_salary_cylinderService.cs index 5e0c213..68e8634 100644 --- a/Models/eva_salary_cylinder/eva_salary_cylinderService.cs +++ b/Models/eva_salary_cylinder/eva_salary_cylinderService.cs @@ -165,6 +165,7 @@ namespace TodoAPI2.Models return data; } + #endregion #region Manipulation Functions diff --git a/Models/external_linkage/external_linkageService.cs b/Models/external_linkage/external_linkageService.cs index 7af4960..1b44c11 100644 --- a/Models/external_linkage/external_linkageService.cs +++ b/Models/external_linkage/external_linkageService.cs @@ -72,7 +72,7 @@ namespace TodoAPI2.Models var i = new external_linkageViewModel(); i.external_id = Convert.ToInt32(dr["id"]); i.external_code = dr["position_type_id"].ToString(); - i.external_name = dr["position_type_id"].ToString() + " " + dr["position_type_name"].ToString(); + i.external_name = dr["position_type_name"].ToString(); result.Add(i); } return result; @@ -89,7 +89,7 @@ namespace TodoAPI2.Models var i = new external_linkageViewModel(); i.external_id = Convert.ToInt32(dr["id"]); i.external_code = dr["position_level_id"].ToString(); - i.external_name = dr["position_level_id"].ToString() + " " + dr["position_level_name"].ToString(); + i.external_name = dr["position_level_name"].ToString(); result.Add(i); } return result; diff --git a/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml b/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml index 78116a0..2ae3b25 100644 --- a/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml +++ b/Views/eva_salary_cylinderView/eva_salary_cylinder.cshtml @@ -121,13 +121,18 @@ -

        +

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

        +

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

        +

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

        +
        diff --git a/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js b/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js index 90dde50..3886e56 100644 --- a/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js +++ b/wwwroot/js/eva_salary_cylinder/eva_salary_cylinder.js @@ -173,7 +173,6 @@ var eva_salary_cylinder_setupTable = function (result) { { "data": "themin" }, { "data": "themax" }, { "data": "middle" }, - { "data": "cost_living" }, { "data": "position_allowance" }, { "data": "monthly_compensation" }, ], @@ -213,22 +212,22 @@ var eva_salary_cylinder_setupTable = function (result) { return formatNumber(data); } }, + //{ + // "targets": 7, + // "data": "cost_living", + // "render": function (data, type, row, meta) { + // return formatNumber(data); + // } + //}, { "targets": 7, - "data": "cost_living", - "render": function (data, type, row, meta) { - return formatNumber(data); - } - }, - { - "targets": 8, "data": "position_allowance", "render": function (data, type, row, meta) { return formatNumber(data); } }, { - "targets": 9, + "targets": 8, "data": "monthly_compensation", "render": function (data, type, row, meta) { return formatNumber(data); From 2e437233465df0b946c1c1a76472d273d2453a4c Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 8 Jul 2021 16:47:32 +0700 Subject: [PATCH 45/48] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B8=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=99=E0=B8=A7=E0=B8=93=E0=B8=A2=E0=B8=AD?= =?UTF-8?q?=E0=B8=94=E0=B8=A3=E0=B8=A7=E0=B8=A1=E0=B9=80=E0=B8=87=E0=B8=B4?= =?UTF-8?q?=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXCEL/eva_salary_cylinder.xlsx | Bin 10915 -> 10914 bytes .../eva_limit_frame_planEntity.cs | 12 ++++++------ .../vw_limit_frame_planService.cs | 4 ++++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/EXCEL/eva_salary_cylinder.xlsx b/EXCEL/eva_salary_cylinder.xlsx index 1ad1d856d8b35af9b3d86ef4bf7371a760e7e79b..ef60e9c876bafd656bcf39489ceb921a86e2cb3a 100644 GIT binary patch delta 1757 zcmV<31|s>RRiag}+6Dz@@~9c$livm$f8TGLFc5y9wEqG5onn)aA1GvM0@0#%Thw;# z9wJo^IKc{FW=xW<>i@nogtTe)(6vM0!yJ76?(Xw3__RwCW5Z;@Mdl%LhLORtP((ai zdFaRW#OxuXP&A8ZA~NQodsd)N!;c>ZTOrpAA=U-}WQB)frE=G@iZEs=EzU&Fe=_ha zg-oe}sa#n_E*XuAm@$XF!EROp*U3^T52Yx? zQk?;`Rg*r6pJ0oSqZI5;bMQK(f3_vrhU*$0Sjo;CS#=IrohLAY-;G8$tG}V<#kde?r1rb*)@=zD1V#|&m$TA<5JOQt5lNLtS@F3@z zgbCFCJW)($RI#zh6i97P{k^iPu*b0g5gV86SIH%Vy#o@0aA2gNOBcnAf2!ChW#S>< zo!@@H{L-JRMa#x)L+^e^^Wf(=xR^haA3fFjKM0V9I(`dcu6fn>FXIP#(rrXGQ__I@ zseb{9zM>mQI}|tC@5(9Um9*}%P`c#qfjBtmj)I=qZ(-YPkNS>z?mLdz#*-Eyc;feb z=MjRD9XAxTRPnx|8rnl`f9Ef*uXNXV2zE;zJ<)i;`@_`s#nAX3b-=oJ-Eg)oo@%eB z#_pD9k=T03Bp7<%{qb~LId6HSVh~Tuc3_Xx&ptE0ih(h)ovz+E($>s8bi~N78BO3Y z^>D<7_~~4-<%kv_s5&6v33_Z;Tg_L)Ka(LM6|?9GGXe<^hBcsr1pol+vm^|a z0Xg#M${zo>h$6p32)l|=|E}XLi=O_STYGv4USjbFdt1@ycoGnJ&>KhxA&UVGpH>pd zeFg0lysLGS@eLOhSa$R?UWEZAU ztuIPa?h`0ebzd9cTVG-8lYcIrmnEkDSWpkF66Hz(J$$}&OEpOn*D9x>y9-s@H z9&{B~1E1o%U|AuBt@O+UjB@m^6U;j)yvxDJhCn1H^pDc-6BRF+l?55)PtkV>4&*T& z!DO=-X!;~$T<{Fh1Ta1&a&QY-G(>zXr)+$^FXl*gHKv{Z50jw- z6tmP3Vh{vthd&ClIwCXyf3&kYLfhdV_T)ftqWBh)yDiwHA&GYT_NMJtI}{&t&$+*Q z?j^-yuj=Rvtdor{QJN4Gf#!{ndRwBG^)jBL$a$s(s~Zg^I)Foq>hhxChVsV3lWh!G zFTq8Dq#fm^L_6;d#n|y3DCUyj&_UcZRxux*c8d+;A8ZRaBjg$@fACB&&u|Bf%}7K? zq~IgceA>DP2#%o!1=>5DCMo{$da%m<+0ZK!r;`3)!cNDyQ?}rPIJ);vj>fialXlj} z2>Da|wt9T-SB<6aZp8srh2WH1V7{@{tx!@Icv9)ES2O2V;m{ii;_gr}4z|F*>jBi~ z9%vwt5{w~>2P{-l_6FXc?=4&#i z`4!Fb3GoD|`rPNgq51}sp#v1Nwj?_P1!wZ88Q_!lCsF~~lSwEo8xV#ypo0Yf0P7V1 z02lxO00000000000000ClaVMz0mYNoC_n*VlNc#F0eF*BDM11gAd@g4C6l`;DghOf z<|#TGYllAyNdW)=S^@w75dZ)H0000000000001YGJ1RZ_r;~arBL-$C00000#5X%I delta 1793 zcmV+c2mbh?Rijm~+6Dzee|HJtlivm$e_d~zFcf{CwEuwoPQiTS1BFaYAX>C;i`uT; zL!`<9Cs+Z@j7ic}{qMVmkT%U8x^@VBF&B={z4!Ps__WJXZ9_%Lc za*+`UQ?WA2LQoQy38gYi4a+n;Mn+hU8U#ppb5DS(vd0&GfEsMPAD(8YMQV4s8U2P}e?7)Rh7_4?BaGflbu}JWe zFXb6P8x84`__1kVe3XLSX%1e8f8-c~ZkVd!ftBdIkyYn_)p-KL=DX1_NUPS02g!RQ zntR}8q2XZ3QhL)!S0hF7jby4)Dbi9>$}nb<#y;x8lyB+L15p*DilyMSENq*|7#`$2 z6EK0=pQn0?Pk61!W>RQy zKMgJ*(N|;xX@}y*`&~JOykh$YF`k_3&d3V%QKvW2@x<-heQb@o zcK8Uvh>jO=QpsdrQ3dTIf5-ic>nqu{9&CCQi=SvbnEOLl_QlZp9#z1qcik|$EuU(y zrrPe7|^Ao?1gpV_X-p{VXDBUNjS$GWCnD<>LAc zx|0{B91g&O!WhuQj(OfS`;KmgwyQh6zNPmZ+tSBQV1;fs48oDC>Z7{6_dj}FEp)H_ zeJGX*5%OA)XbnG|OS&A95(L!*1Ux~HEo-CwYWN3}p#v1N=Ls_c4s>~#X@dm-0O=I~ z02lz1ktiCoLJW2RI5Lwh{%;WkzCr-IictTqqb-Y${+(NUdI(-(@dtZb(dc**5O&ZT zNCzQ{0S%v463JZ!%@n+=Rg>`z7Zqe!SwayCOSrz3dZ*X#drsfIVhN0s9S%D-RJvFr zT(!Zd7AhAXa<9WeI%;xX`haV-+%^MSbwSZf4}l1#6VBc&*yPX-c^1ec(;d4Wv}Lo7 z4#WX}%S_ADr4*y%0tGH!gM89Svi4Guj0FoUSek(ilCjN72^u7$j#yvMXQLr)B-eGg zlk2(*B*U|R8_80PNJh7)nSykZti4nuW5EIomS$jsWNfoif;!24bl+ZI&u60{l4O+Y zwywjST-RM7*@anD>x+_<`vl5V-PZ>A)>qhnb~p2~#MGZ$Fl(z41FJp9!Yq}TuJvpx zjN}R3`nC-vChCG^;}IF=BJE76mz&1QP`A$t+iOfIKiy0zOoJ(O?5)dKUF+FYm{z8A zLM_i(ayq2?qG_p^QZpU(9-f_GlqsSRW;h3y3OOB;FQOkAy!)qY&eC!oDn~h4aHPL~ z1^gJLxfRm`bb-@@-OJU$r}!>dR!CthJu?BL9R2GA(@qNSaxk(X5Qz!>qxAbk#Y<*o zK}Pvg^c{i&d5lLe*DS`FKFJstJctCbP9XmdYYpOuEP^Qk3{Qz1+d>u%5g*GL8(;5> zIg(usX{Y}K009600{~D<0|XQR1^@_?umc5?yC@K|;}KF21iXg=`?EPBGy#94+uR6k zhkw|U1Hp;nTS)G$n5c8K_r7KrJFy4NT@oB7 zh}+6)?!(jWaLvUB-vLeuxxs%LJeS;a+ydizAfgjeiUC=F+Oh*kfuRHq#yd`#YlP@48le#G?0u~{YF(E0F4=NBFyoUn&NdW)=S^@w7 j5dZ)H0000000000001bHIx0Q^sFQgrBL-(D000007O5}@ diff --git a/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs b/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs index aaec12d..70256f9 100644 --- a/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs +++ b/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs @@ -56,12 +56,12 @@ namespace TodoAPI2.Models public void DoAfterInsertUpdate(DataContext context) { - total_salary = (from i in context.eva_limit_frame_employee - join j in context.eva_limit_frame_group - on i.frame_group_guid equals j.id - select i.salary).Sum(); - limit_frame_005_total = total_salary * limit_frame_005 / 100; - limit_frame_005_total_rounded = MyHelper.RoundOff(limit_frame_005_total.Value, 10); + //total_salary = (from i in context.eva_limit_frame_employee + // join j in context.eva_limit_frame_group + // on i.frame_group_guid equals j.id + // select i.salary).Sum(); + //limit_frame_005_total = total_salary * limit_frame_005 / 100; + //limit_frame_005_total_rounded = MyHelper.RoundOff(limit_frame_005_total.Value, 10); } } diff --git a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs index 4e2329c..6631520 100644 --- a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs +++ b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs @@ -256,6 +256,10 @@ namespace TodoAPI2.Models _repository.Context.AddRange(result_frame_group); _repository.Context.AddRange(result_frame_employee); + entity.total_salary = all_all_emp.Sum(z => z.salary); + entity.limit_frame_005_total = entity.total_salary * entity.limit_frame_005 / 100; + entity.limit_frame_005_total_rounded = MyHelper.RoundOff(entity.limit_frame_005_total.Value, 10); + entity.SetAutoField(_repository.Context); if (is_force_save) From 15c1ec984176e92eba78658bdab23be3c6a9444f Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Thu, 8 Jul 2021 16:55:51 +0700 Subject: [PATCH 46/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=AB?= =?UTF-8?q?=E0=B8=B1=E0=B8=A7=20column?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml index 0fecf13..c8eea4e 100644 --- a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml +++ b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml @@ -123,7 +123,7 @@ เครื่องมือ - + From 5f69d9c1dfcb8b2130592f97767f63a3779f2813 Mon Sep 17 00:00:00 2001 From: "LAPTOP-KB8JC2K2\\acer" Date: Fri, 9 Jul 2021 12:32:34 +0700 Subject: [PATCH 47/48] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=20=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=84=E0=B8=B3?= =?UTF-8?q?=E0=B8=99=E0=B8=A7=E0=B8=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eva_limit_frame_planEntity.cs | 13 +++++++------ .../vw_limit_frame_planService.cs | 6 +++--- Utils/MyHelper.cs | 4 +++- .../eva_limit_frame_group_d.js | 1 + 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs b/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs index 70256f9..ea0192b 100644 --- a/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs +++ b/Models/eva_limit_frame_plan/eva_limit_frame_planEntity.cs @@ -56,12 +56,13 @@ namespace TodoAPI2.Models public void DoAfterInsertUpdate(DataContext context) { - //total_salary = (from i in context.eva_limit_frame_employee - // join j in context.eva_limit_frame_group - // on i.frame_group_guid equals j.id - // select i.salary).Sum(); - //limit_frame_005_total = total_salary * limit_frame_005 / 100; - //limit_frame_005_total_rounded = MyHelper.RoundOff(limit_frame_005_total.Value, 10); + total_salary = (from i in context.eva_limit_frame_employee + join j in context.eva_limit_frame_group + on i.frame_group_guid equals j.id + where j.frame_plan_guid == this.id + select i.salary).Sum(); + limit_frame_005_total = total_salary * limit_frame_005 / 100; + limit_frame_005_total_rounded = MyHelper.RoundOff(limit_frame_005_total.Value, 10); } } diff --git a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs index 6631520..f810d3b 100644 --- a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs +++ b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs @@ -256,9 +256,9 @@ namespace TodoAPI2.Models _repository.Context.AddRange(result_frame_group); _repository.Context.AddRange(result_frame_employee); - entity.total_salary = all_all_emp.Sum(z => z.salary); - entity.limit_frame_005_total = entity.total_salary * entity.limit_frame_005 / 100; - entity.limit_frame_005_total_rounded = MyHelper.RoundOff(entity.limit_frame_005_total.Value, 10); + //entity.total_salary = all_all_emp.Sum(z => z.salary); + //entity.limit_frame_005_total = entity.total_salary * entity.limit_frame_005 / 100; + //entity.limit_frame_005_total_rounded = MyHelper.RoundOff(entity.limit_frame_005_total.Value, 10); entity.SetAutoField(_repository.Context); diff --git a/Utils/MyHelper.cs b/Utils/MyHelper.cs index e44471f..794384e 100644 --- a/Utils/MyHelper.cs +++ b/Utils/MyHelper.cs @@ -426,6 +426,8 @@ public static class MyHelper public static decimal RoundOff(decimal i, decimal round_number) { - return (Math.Round(i / round_number)) * round_number; + string temp = i.ToString().Split(".")[0]; + + return Convert.ToDecimal(temp.Substring(0, temp.Length - 1)) * 10 + 10; } } diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js index 20d80e6..44f895c 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_d.js @@ -128,6 +128,7 @@ function funcCeilCalculateSalaryLimit(params) { var str_ceil = cal_ceil.toString(); var split_ceil = str_ceil.split(''); var num_last = Number(split_ceil[split_ceil.length - 1]); + console.log(num_last); if (num_last) { after_cal = num_check - num_last; } From c2de2c63fbb78f19835ad57ea4752d2d2b54f552 Mon Sep 17 00:00:00 2001 From: Pairat Sangprasert Date: Wed, 14 Jul 2021 00:01:21 +0700 Subject: [PATCH 48/48] =?UTF-8?q?=E0=B8=A2=E0=B9=89=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=8A=E0=B9=88=E0=B8=AD=E0=B8=87=20input=20=E0=B9=81?= =?UTF-8?q?=E0=B8=A5=E0=B8=B0=E0=B8=97=E0=B8=B3=20sum=20=E0=B8=A3=E0=B8=A7?= =?UTF-8?q?=E0=B8=A1=E0=B8=84=E0=B9=88=E0=B8=B2=E0=B8=88=E0=B8=B2=E0=B8=81?= =?UTF-8?q?=20table=20=E0=B8=A7=E0=B8=87=E0=B9=80=E0=B8=87=E0=B8=B4?= =?UTF-8?q?=E0=B8=99=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B9=83=E0=B8=8A=E0=B9=89?= =?UTF-8?q?=E0=B9=83=E0=B8=99=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=80=E0=B8=A5?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=80=E0=B8=87=E0=B8=B4?= =?UTF-8?q?=E0=B8=99=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99=E0=B8=82?= =?UTF-8?q?=E0=B8=AD=E0=B8=87=E0=B9=81=E0=B8=95=E0=B9=88=E0=B8=A5=E0=B8=B0?= =?UTF-8?q?=E0=B8=81=E0=B8=AD=E0=B8=87/=E0=B8=AA=E0=B9=88=E0=B8=A7?= =?UTF-8?q?=E0=B8=99=E0=B8=87=E0=B8=B2=E0=B8=99=20=E0=B8=97=E0=B8=B3?= =?UTF-8?q?=E0=B8=A7=E0=B8=B1=E0=B8=99=20=E0=B8=AD=E0=B8=B1=E0=B8=87?= =?UTF-8?q?=E0=B8=84=E0=B8=B2=E0=B8=A3=20=E0=B8=97=E0=B8=B5=E0=B9=88=2013/?= =?UTF-8?q?07/2564=20=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2=2020.00=20-=2000?= =?UTF-8?q?.00=20=E0=B8=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vw_limit_frame_plan_d.cshtml | 92 +++++++++++-------- .../eva_limit_frame_group.js | 28 +++++- .../vw_limit_frame_plan_d.js | 15 +++ 3 files changed, 93 insertions(+), 42 deletions(-) diff --git a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml index c8eea4e..0a4cf40 100644 --- a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml +++ b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml @@ -55,61 +55,30 @@ -
        -
        +
        -
        - - -
        - -
        +
        -
        -
        + +
        +
        - -
        - -
        - - +
        -
        -
        - - -
        - -
        - - -
        -
        -
        -
        -
        - - - -
        -
        -
        @@ -120,18 +89,63 @@ - + - + + + + + + + + + + + + + + + + + + + + + + +
        เครื่องมือ
        + + +
        + + + + + +
        + + + +
        + +
        +
        + + + +
        +
        + @section FooterPlaceHolder{ diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js index 094f27c..77c2c6f 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js @@ -158,11 +158,19 @@ function eva_limit_frame_group_GoDelete(a) { var eva_limit_frame_groupTableV; var eva_limit_frame_group_setupTable = function (result) { - + let num_row = 1; + let sum_total_salary = 0; + let sum_total_salary_limit = 0; + let sum_total_salary_limit_rounded = 0; + let sum_emp_qty = 0; $.each(result, function (index_result, obj_result) { /*console.log("index_result", index_result); console.log("obj_result", obj_result);*/ + sum_total_salary += Number(obj_result.total_salary); + sum_total_salary_limit += Number(obj_result.total_salary_limit); + sum_total_salary_limit_rounded += Number(obj_result.total_salary_limit_rounded); + var currency_total_salary = coreFormatPrice(obj_result.total_salary, limit_frame_group_digits); var currency_total_salary_limit = coreFormatPrice(obj_result.total_salary_limit, limit_frame_group_digits); var currency_total_salary_limit_rounded = coreFormatPrice(obj_result.total_salary_limit_rounded, limit_frame_group_digits); @@ -170,9 +178,22 @@ var eva_limit_frame_group_setupTable = function (result) { obj_result.total_salary = currency_total_salary; obj_result.total_salary_limit = currency_total_salary_limit; obj_result.total_salary_limit_rounded = currency_total_salary_limit_rounded; + obj_result.num_row = num_row; + obj_result.emp_qty = 0; + sum_emp_qty += obj_result.emp_qty; + num_row++; }); + /*console.log("sum_total_salary", sum_total_salary); + console.log("sum_total_salary_limit", sum_total_salary_limit); + console.log("sum_total_salary_limit_rounded", sum_total_salary_limit_rounded); + console.log("sum_emp_qty", sum_emp_qty);*/ + $("#sum_total_salary").text(coreFormatPrice(sum_total_salary, limit_frame_group_digits)); + $("#sum_total_salary_limit").text(coreFormatPrice(sum_total_salary_limit, limit_frame_group_digits)); + $("#sum_total_salary_limit_rounded").text(coreFormatPrice(sum_total_salary_limit_rounded, limit_frame_group_digits)); + $("#sum_emp_qty").text(sum_emp_qty); + tmp = '"'; eva_limit_frame_groupTableV = $('#eva_limit_frame_groupTable').DataTable({ "processing": true, @@ -182,13 +203,14 @@ var eva_limit_frame_group_setupTable = function (result) { // "style": 'multi' //}, "columns": [ - //{ "data": "" }, { "data": "id" }, + { "data": "num_row" }, { "data": "group_guid_eva_evaluation_group_code" }, - { "data": "limit_frame_295" }, { "data": "total_salary" }, + { "data": "limit_frame_295" }, { "data": "total_salary_limit" }, { "data": "total_salary_limit_rounded" }, + { "data": "emp_qty" }, { "data": "remark_formatted" }, ], "columnDefs": [ diff --git a/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js b/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js index 29e0ff6..9bcdba4 100644 --- a/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js +++ b/wwwroot/js/vw_limit_frame_plan/vw_limit_frame_plan_d.js @@ -14,6 +14,8 @@ function vw_limit_frame_plan_FeedDataToForm(data) { $("#vw_limit_frame_plan_limit_frame_005_total").val(coreFormatPrice(data.limit_frame_005_total, limit_frame_digits)); $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(coreFormatPrice(data.limit_frame_005_total_rounded, limit_frame_digits)); + // สำหรับ แสดง กันวงเงินร้อยละ ใช้จริง + changeForRealLimitFrame(); } function vw_limit_frame_plan_GetFromForm() { @@ -138,4 +140,17 @@ function funcCalculateCeilTotalRoundedLimitFramePlan(params) { } var set_salary_limit_rounded = cal_ceil + after_cal; $("#vw_limit_frame_plan_limit_frame_005_total_rounded").val(coreFormatPrice(set_salary_limit_rounded, limit_frame_digits)); +} + + +function changeForRealLimitFrame() { + let val_input_limit_frame = $("#vw_limit_frame_plan_limit_frame_005").val(); + let real_limit_frame = 0; + if (val_input_limit_frame) { + real_limit_frame = Number(val_input_limit_frame); + } + real_limit_frame = real_limit_frame.toFixed(2); + /*console.log(real_limit_frame);*/ + $("#text_real_limit_frame").text("กันวงเงินร้อยละ " + real_limit_frame + " ใช้จริง"); + return real_limit_frame; } \ No newline at end of file