diff --git a/EXCEL/eva_evaluation_group.xlsx b/EXCEL/eva_evaluation_group.xlsx index 0d3ec2b..40fafb1 100644 Binary files a/EXCEL/eva_evaluation_group.xlsx and b/EXCEL/eva_evaluation_group.xlsx differ diff --git a/EXCEL/eva_level_score_detail.xlsx b/EXCEL/eva_level_score_detail.xlsx index ab9c57f..bd1c648 100644 Binary files a/EXCEL/eva_level_score_detail.xlsx and b/EXCEL/eva_level_score_detail.xlsx differ diff --git a/Migrations/20211030034925_AddLevelScoreForGroup2.Designer.cs b/Migrations/20211030034925_AddLevelScoreForGroup2.Designer.cs new file mode 100644 index 0000000..239a4fb --- /dev/null +++ b/Migrations/20211030034925_AddLevelScoreForGroup2.Designer.cs @@ -0,0 +1,1165 @@ +// +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("20211030034925_AddLevelScoreForGroup2")] + partial class AddLevelScoreForGroup2 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.6-servicing-10079") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.activity_log_evaEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("causer_id"); + + b.Property("causer_type") + .HasMaxLength(191); + + b.Property("created_at"); + + b.Property("description") + .HasMaxLength(32000); + + b.Property("ip_address") + .HasMaxLength(191); + + b.Property("log_name") + .HasMaxLength(191); + + b.Property("mac_address") + .HasMaxLength(191); + + b.Property("properties") + .HasMaxLength(32000); + + b.Property("subject_id"); + + b.Property("subject_type") + .HasMaxLength(191); + + b.Property("updated_at"); + + b.HasKey("id"); + + b.ToTable("activity_log_eva"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("achievement_final"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("competency_final"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("employee_no_at_this_time") + .HasMaxLength(1000); + + b.Property("fullname_at_this_time") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("is_for_postponement"); + + b.Property("level_score_final") + .HasMaxLength(255); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("reward_new"); + + b.Property("reward_new2"); + + b.Property("reward_old"); + + b.Property("sarary"); + + b.Property("score_final"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("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("remark") + .HasMaxLength(1000); + + 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_a") + .HasMaxLength(1); + + b.Property("status_supervisor_a_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_id"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_id"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("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("history_group"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_detail_id"); + + b.ToTable("eva_create_evaluation_detail_history"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(16000); + + b.Property("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(16000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_score_detailEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_percentage"); + + b.Property("max_value"); + + b.Property("min_percentage"); + + b.Property("min_value"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("group_guid"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_level_score_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("remark2") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_leave"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("percent"); + + b.Property("remark") + .HasMaxLength(500); + + b.Property("start_leave"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("monthly_compensation"); + + b.Property("position_allowance"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("salary_max"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_setup_permissionEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_setup_permission"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation_create_evaluation_id") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detail_historyEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_evaluation_detail_id") + .WithMany() + .HasForeignKey("evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievement_attachEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_achievementEntity", "eva_evaluation_achievement_achievement_id") + .WithMany() + .HasForeignKey("achievement_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_score_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score_level_score_id") + .WithMany() + .HasForeignKey("level_score_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20211030034925_AddLevelScoreForGroup2.cs b/Migrations/20211030034925_AddLevelScoreForGroup2.cs new file mode 100644 index 0000000..6a7b17b --- /dev/null +++ b/Migrations/20211030034925_AddLevelScoreForGroup2.cs @@ -0,0 +1,153 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class AddLevelScoreForGroup2 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_eva_level_score_detail_eva_level_score_level_score_id", + table: "eva_level_score_detail"); + + migrationBuilder.AlterColumn( + name: "level_score_id", + table: "eva_level_score_detail", + nullable: true, + oldClrType: typeof(Guid)); + + migrationBuilder.AddColumn( + name: "group_guid", + table: "eva_level_score_detail", + nullable: true); + + migrationBuilder.AlterColumn( + name: "behavior", + table: "eva_evaluation_behavior", + maxLength: 16000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 1000, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "achievement", + table: "eva_evaluation_achievement", + maxLength: 16000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 8000, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "properties", + table: "activity_log_eva", + maxLength: 32000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 8000, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "description", + table: "activity_log_eva", + maxLength: 32000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 4000, + oldNullable: true); + + migrationBuilder.CreateIndex( + name: "IX_eva_level_score_detail_group_guid", + table: "eva_level_score_detail", + column: "group_guid"); + + migrationBuilder.AddForeignKey( + name: "FK_eva_level_score_detail_eva_evaluation_group_group_guid", + table: "eva_level_score_detail", + column: "group_guid", + principalTable: "eva_evaluation_group", + principalColumn: "id", + onDelete: ReferentialAction.Restrict); + + migrationBuilder.AddForeignKey( + name: "FK_eva_level_score_detail_eva_level_score_level_score_id", + table: "eva_level_score_detail", + column: "level_score_id", + principalTable: "eva_level_score", + principalColumn: "id", + onDelete: ReferentialAction.Restrict); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_eva_level_score_detail_eva_evaluation_group_group_guid", + table: "eva_level_score_detail"); + + migrationBuilder.DropForeignKey( + name: "FK_eva_level_score_detail_eva_level_score_level_score_id", + table: "eva_level_score_detail"); + + migrationBuilder.DropIndex( + name: "IX_eva_level_score_detail_group_guid", + table: "eva_level_score_detail"); + + migrationBuilder.DropColumn( + name: "group_guid", + table: "eva_level_score_detail"); + + migrationBuilder.AlterColumn( + name: "level_score_id", + table: "eva_level_score_detail", + nullable: false, + oldClrType: typeof(Guid), + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "behavior", + table: "eva_evaluation_behavior", + maxLength: 1000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 16000, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "achievement", + table: "eva_evaluation_achievement", + maxLength: 8000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 16000, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "properties", + table: "activity_log_eva", + maxLength: 8000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 32000, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "description", + table: "activity_log_eva", + maxLength: 4000, + nullable: true, + oldClrType: typeof(string), + oldMaxLength: 32000, + oldNullable: true); + + migrationBuilder.AddForeignKey( + name: "FK_eva_level_score_detail_eva_level_score_level_score_id", + table: "eva_level_score_detail", + column: "level_score_id", + principalTable: "eva_level_score", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index 0c5b438..b2e3d6a 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -729,9 +729,11 @@ namespace tb320eva.Migrations b.Property("created"); + b.Property("group_guid"); + b.Property("isActive"); - b.Property("level_score_id"); + b.Property("level_score_id"); b.Property("max_percentage"); @@ -745,6 +747,8 @@ namespace tb320eva.Migrations b.HasKey("id"); + b.HasIndex("group_guid"); + b.HasIndex("level_score_id"); b.ToTable("eva_level_score_detail"); @@ -1106,10 +1110,13 @@ namespace tb320eva.Migrations modelBuilder.Entity("TodoAPI2.Models.eva_level_score_detailEntity", b => { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score_level_score_id") .WithMany() - .HasForeignKey("level_score_id") - .OnDelete(DeleteBehavior.Cascade); + .HasForeignKey("level_score_id"); }); modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => 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 0067fd3..434890f 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 @@ -105,22 +105,22 @@ namespace TodoAPI2.Models private void ReloadPostponement(int? adjust_postponement_id) { var rawData = from i in _repository.Context.eva_adjust_postponement_detail - where i.adjust_postponement_id == adjust_postponement_id - select i; + where i.adjust_postponement_id == adjust_postponement_id + select i; var baseScore = from i in _repository.Context.eva_adjust_postponement_detail - join j in _repository.Context.eva_adjust_postponement on i.adjust_postponement_id equals j.id - join k in _repository.Context.eva_create_evaluation on j.create_evaluation_id equals k.id - join m in _repository.Context.eva_create_evaluation_detail on k.id equals m.create_evaluation_id - where i.adjust_postponement_id == adjust_postponement_id - && m.employee_id == i.employee_id - select m; + join j in _repository.Context.eva_adjust_postponement on i.adjust_postponement_id equals j.id + join k in _repository.Context.eva_create_evaluation on j.create_evaluation_id equals k.id + join m in _repository.Context.eva_create_evaluation_detail on k.id equals m.create_evaluation_id + where i.adjust_postponement_id == adjust_postponement_id + && m.employee_id == i.employee_id + select m; - foreach(var x in rawData) + foreach (var x in rawData) { var y = (from i in baseScore - where i.employee_id == x.employee_id - select getData(i)).FirstOrDefault(); + where i.employee_id == x.employee_id + select getData(i)).FirstOrDefault(); x.level_score_final = y.Item2; x.score_final = y.Item1; } @@ -154,7 +154,7 @@ namespace TodoAPI2.Models var item = (from i in level_detail where i.min_value <= score && i.max_value >= score select i).FirstOrDefault(); - if(item != null) + if (item != null) { return (item.min_percentage, item.max_percentage); } @@ -163,8 +163,14 @@ namespace TodoAPI2.Models public List GetListBySearch(eva_adjust_postponement_detail_normal_02SearchModel model) { + var theGroup = (from i in _repository.Context.eva_adjust_postponement + join j in _repository.Context.eva_create_evaluation on i.create_evaluation_id equals j.id + where i.id == model.adjust_postponement_id + select j.evaluation_group_id).FirstOrDefault(); + var level_detail = (from i in _repository.Context.eva_level_score_detail - select i).ToList(); + where i.group_guid == theGroup + select i).ToList(); var all_emp = emp.GetListByemployee_type(null, null); @@ -174,10 +180,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 diff --git a/Models/eva_level_score_detail/eva_level_score_detailEntity.cs b/Models/eva_level_score_detail/eva_level_score_detailEntity.cs index 12e8345..923c78a 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailEntity.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailEntity.cs @@ -18,7 +18,7 @@ namespace TodoAPI2.Models [ForeignKey("level_score_id")] public eva_level_scoreEntity eva_level_score_level_score_id { get; set; } - public Guid level_score_id { get; set; } + public Guid? level_score_id { get; set; } public decimal? min_value { get; set; } @@ -28,8 +28,10 @@ namespace TodoAPI2.Models public decimal? max_percentage { get; set; } - - public void SetAutoField(DataContext context) + [ForeignKey("group_guid")] + public eva_evaluation_groupEntity eva_evaluation_group_group_guid { get; set; } + public Guid? group_guid { get; set; } + public void SetAutoField(DataContext context) { } diff --git a/Models/eva_level_score_detail/eva_level_score_detailInputModel.cs b/Models/eva_level_score_detail/eva_level_score_detailInputModel.cs index e628bfb..9baace1 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailInputModel.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailInputModel.cs @@ -16,7 +16,7 @@ namespace TodoAPI2.Models public Guid? id { get; set; } - public Guid level_score_id { get; set; } + public Guid? level_score_id { get; set; } public decimal? min_value { get; set; } @@ -26,6 +26,8 @@ namespace TodoAPI2.Models public decimal? max_percentage { get; set; } + public Guid? group_guid { get; set; } + public string active_mode { get; set; } } } diff --git a/Models/eva_level_score_detail/eva_level_score_detailSearchModel.cs b/Models/eva_level_score_detail/eva_level_score_detailSearchModel.cs index d6970b8..50d78be 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailSearchModel.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailSearchModel.cs @@ -16,7 +16,9 @@ namespace TodoAPI2.Models public Guid id { get; set; } - public Guid level_score_id { get; set; } + public Guid? level_score_id { get; set; } + + public Guid? group_guid { get; set; } } } diff --git a/Models/eva_level_score_detail/eva_level_score_detailService.cs b/Models/eva_level_score_detail/eva_level_score_detailService.cs index 6753c86..e400d18 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailService.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailService.cs @@ -20,14 +20,14 @@ namespace TodoAPI2.Models public class eva_level_score_detailService : Ieva_level_score_detailService { private IBaseRepository2 _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; public eva_level_score_detailService(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 @@ -76,26 +76,26 @@ namespace TodoAPI2.Models { var entity = _repository.Get(id); var i = Mapper.Map(entity); - + i.item_level_score_id = (from x in _repository.Context.eva_level_score select x).ToList(); return i; } public eva_level_score_detailWithSelectionViewModel GetBlankItem() { var i = new eva_level_score_detailWithSelectionViewModel(); - + i.item_level_score_id = (from x in _repository.Context.eva_level_score select x).ToList(); return i; } public List GetListBylevel_score_id(Guid level_score_id) { - var model = new eva_level_score_detailSearchModel(); + var model = new eva_level_score_detailSearchModel(); model.level_score_id = level_score_id; return GetListBySearch(model); } - public List GetListBySearch(eva_level_score_detailSearchModel model) + public List GetListBySearch(eva_level_score_detailSearchModel model) { var data = ( from m_eva_level_score_detail in _repository.Context.eva_level_score_detail @@ -104,11 +104,14 @@ namespace TodoAPI2.Models into eva_level_scoreResult1 from fk_eva_level_scoreResult1 in eva_level_scoreResult1.DefaultIfEmpty() + join fk_eva_evaluation_group6 in _repository.Context.eva_evaluation_group on m_eva_level_score_detail.group_guid equals fk_eva_evaluation_group6.id + into eva_evaluation_groupResult6 + from fk_eva_evaluation_groupResult6 in eva_evaluation_groupResult6.DefaultIfEmpty() - where - 1 == 1 - && (m_eva_level_score_detail.level_score_id == model.level_score_id) - + where + 1 == 1 + && (!model.level_score_id.HasValue || m_eva_level_score_detail.level_score_id == model.level_score_id) + && (m_eva_level_score_detail.group_guid == model.group_guid) orderby m_eva_level_score_detail.min_value descending select new eva_level_score_detailViewModel() @@ -119,8 +122,10 @@ namespace TodoAPI2.Models max_value = m_eva_level_score_detail.max_value, min_percentage = m_eva_level_score_detail.min_percentage, max_percentage = m_eva_level_score_detail.max_percentage, + group_guid = m_eva_level_score_detail.group_guid, - level_score_id_eva_level_score_code = fk_eva_level_scoreResult1.code, + level_score_id_eva_level_score_code = fk_eva_level_scoreResult1.detail, + group_guid_eva_evaluation_group_code = fk_eva_evaluation_groupResult6.thegroup, isActive = m_eva_level_score_detail.isActive, Created = m_eva_level_score_detail.created, @@ -143,8 +148,8 @@ namespace TodoAPI2.Models entity.id = Guid.NewGuid(); - entity.SetAutoField(_repository.Context); - + entity.SetAutoField(_repository.Context); + if (is_force_save) { var inserted = _repository.Insert(entity); @@ -169,8 +174,9 @@ namespace TodoAPI2.Models existingEntity.max_value = model.max_value; existingEntity.min_percentage = model.min_percentage; existingEntity.max_percentage = model.max_percentage; + existingEntity.group_guid = model.group_guid; - existingEntity.SetAutoField(_repository.Context); + existingEntity.SetAutoField(_repository.Context); if (is_force_save) { @@ -186,25 +192,26 @@ namespace TodoAPI2.Models } } else - throw new NotificationException("No data to update"); + throw new NotificationException("No data to update"); } - public string UpdateMultiple(List model, bool is_force_save) + public string UpdateMultiple(List model, bool is_force_save) { - 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.level_score_id = i.level_score_id; - existingEntity.min_value = i.min_value; - existingEntity.max_value = i.max_value; - existingEntity.min_percentage = i.min_percentage; - existingEntity.max_percentage = i.max_percentage; + existingEntity.level_score_id = i.level_score_id; + existingEntity.min_value = i.min_value; + existingEntity.max_value = i.max_value; + existingEntity.min_percentage = i.min_percentage; + existingEntity.max_percentage = i.max_percentage; + existingEntity.group_guid = i.group_guid; - existingEntity.SetAutoField(_repository.Context); + existingEntity.SetAutoField(_repository.Context); _repository.UpdateWithoutCommit(i.id.Value, existingEntity); } } @@ -212,22 +219,22 @@ namespace TodoAPI2.Models { var entity = GetEntity(i); entity.id = Guid.NewGuid(); - entity.SetAutoField(_repository.Context); + 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(); } @@ -251,7 +258,7 @@ namespace TodoAPI2.Models return; } - public void RefreshAutoFieldOfAllData() + public void RefreshAutoFieldOfAllData() { var all_items = from i in _repository.Context.eva_level_score_detail select i; @@ -262,17 +269,18 @@ namespace TodoAPI2.Models _repository.Context.SaveChanges(); } - private Dictionary GetLookupForLog() + private Dictionary GetLookupForLog() { var i = new Dictionary(); - i.Add("level_score_id", "level_score_id"); i.Add("level_score_id_eva_level_score_code", "level_score_id"); i.Add("min_value", "ช่วงคะแนนต่ำสุด"); i.Add("max_value", "ช่วงคะแนนสูงสุด"); i.Add("min_percentage", "ร้อยละที่ได้เลื่อนต่ำสุด"); - i.Add("max_percentage", "ร้อยละที่ได้เลื่อนสูงสุด"); + i.Add("max_percentage", "ร้อยละที่ได้เลื่อนสูงสุด"); + i.Add("group_guid", "กลุ่มการประเมิน"); + i.Add("group_guid_eva_evaluation_group_code", "กลุ่มการประเมิน"); return i; } diff --git a/Models/eva_level_score_detail/eva_level_score_detailViewModel.cs b/Models/eva_level_score_detail/eva_level_score_detailViewModel.cs index 00c6daa..af77b4f 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailViewModel.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailViewModel.cs @@ -14,7 +14,7 @@ namespace TodoAPI2.Models public class eva_level_score_detailViewModel : BaseViewModel2 { - public Guid level_score_id { get; set; } + public Guid? level_score_id { get; set; } public decimal? min_value { get; set; } @@ -24,7 +24,10 @@ namespace TodoAPI2.Models public decimal? max_percentage { get; set; } + public Guid? group_guid { get; set; } + public string level_score_id_eva_level_score_code { get; set; } + public string group_guid_eva_evaluation_group_code { get; set; } } } \ No newline at end of file diff --git a/Models/eva_level_score_detail/eva_level_score_detailWithSelectionViewModel.cs b/Models/eva_level_score_detail/eva_level_score_detailWithSelectionViewModel.cs index ccc6296..0e84c91 100644 --- a/Models/eva_level_score_detail/eva_level_score_detailWithSelectionViewModel.cs +++ b/Models/eva_level_score_detail/eva_level_score_detailWithSelectionViewModel.cs @@ -7,6 +7,6 @@ namespace TodoAPI2.Models { public class eva_level_score_detailWithSelectionViewModel: eva_level_score_detailViewModel { - + public List item_level_score_id { get; set; } } } \ No newline at end of file diff --git a/Views/eva_evaluation_groupView/eva_evaluation_group_d.cshtml b/Views/eva_evaluation_groupView/eva_evaluation_group_d.cshtml index de3de84..002d40a 100644 --- a/Views/eva_evaluation_groupView/eva_evaluation_group_d.cshtml +++ b/Views/eva_evaluation_groupView/eva_evaluation_group_d.cshtml @@ -2,9 +2,67 @@ @inject IConfiguration Configuration @{ ViewData["Title"] = "eva_evaluation_group"; - Layout = "_LayoutDirect"; + Layout = "_LayoutDirect"; } + +
@@ -16,7 +74,7 @@ - +
@@ -24,12 +82,12 @@
กำหนดกลุ่มการประเมิน
-
+
กรุณากรอกข้อมูลลงในแบบฟอร์ม
-
+
@@ -57,20 +115,20 @@
-
-
-
+
+ + -
-
- - -
-
+
+
+ + +
+
-
+
รายชื่อบุคลากร
@@ -100,19 +158,64 @@
+
+ + + +
+
ตารางกำหนดช่วงร้อยละที่ได้เลื่อน
+
+
+ +
+ + +
+ +
+ + +
+ +
+
+ + + + + + + + + + + + + + + + +
เครื่องมือ
+
+ @section FooterPlaceHolder{ + } diff --git a/Views/eva_level_scoreView/eva_level_score_d.cshtml b/Views/eva_level_scoreView/eva_level_score_d.cshtml index b3806fc..38787c1 100644 --- a/Views/eva_level_scoreView/eva_level_score_d.cshtml +++ b/Views/eva_level_scoreView/eva_level_score_d.cshtml @@ -5,59 +5,6 @@ Layout = "_LayoutDirect"; } - -