ปรับปรุงการนับคะแนนของคนที่คร่อมรอบ

This commit is contained in:
LAPTOP-KB8JC2K2\acer
2021-03-14 13:31:48 +07:00
parent 8606c238b0
commit 0a0ef78366
11 changed files with 1277 additions and 104 deletions

View File

@@ -0,0 +1,960 @@
// <auto-generated />
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("20210314055932_UpdatePostponementDetail")]
partial class UpdatePostponementDetail
{
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<int>("id");
b.Property<string>("command_no")
.HasMaxLength(4000);
b.Property<int?>("create_evaluation_id");
b.Property<DateTime>("created");
b.Property<int?>("fiscal_year");
b.Property<DateTime?>("imported_date");
b.Property<string>("imported_file")
.HasMaxLength(1000);
b.Property<bool>("isActive");
b.Property<decimal?>("limit");
b.Property<decimal?>("limit_frame");
b.Property<decimal?>("limit_frame_quota");
b.Property<decimal?>("limit_quota");
b.Property<int?>("managed_by");
b.Property<decimal?>("percentage");
b.Property<string>("report_type")
.HasMaxLength(1000);
b.Property<DateTime?>("theDate");
b.Property<int?>("theRound");
b.Property<DateTime>("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<int>("id");
b.Property<decimal?>("achievement_final");
b.Property<int?>("adjust_postponement_id");
b.Property<int?>("adjust_postponement_quota_id");
b.Property<decimal?>("competency_final");
b.Property<decimal?>("cost_living");
b.Property<DateTime>("created");
b.Property<int?>("employee_id");
b.Property<bool>("isActive");
b.Property<string>("level_score_final")
.HasMaxLength(255);
b.Property<string>("level_this_time")
.HasMaxLength(1000);
b.Property<decimal?>("middle");
b.Property<string>("migration_eva_result")
.HasMaxLength(1000);
b.Property<decimal?>("migration_total_score");
b.Property<decimal?>("new_cost_living");
b.Property<decimal?>("new_sarary");
b.Property<decimal?>("new_sarary_with_quota");
b.Property<int?>("order_at_this_time");
b.Property<int?>("org_at_this_time");
b.Property<decimal?>("other_money_at_this_time");
b.Property<decimal?>("position_allowance_at_this_time");
b.Property<string>("position_this_time")
.HasMaxLength(1000);
b.Property<decimal?>("promoted_percentage");
b.Property<decimal?>("receive_quota");
b.Property<string>("remark")
.HasMaxLength(1000);
b.Property<decimal?>("sarary");
b.Property<decimal?>("score_final");
b.Property<decimal?>("total_promote");
b.Property<DateTime>("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<int>("id");
b.Property<DateTime>("created");
b.Property<int?>("employee_id");
b.Property<Guid?>("evaluation_group_id");
b.Property<bool>("isActive");
b.Property<Guid?>("performance_plan_id");
b.Property<decimal?>("score1");
b.Property<decimal?>("score2");
b.Property<int?>("supervisor1_id");
b.Property<int?>("supervisor2_id");
b.Property<DateTime>("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<int>("id");
b.Property<decimal?>("Final_summary_chief");
b.Property<decimal?>("Final_summary_competency_chief");
b.Property<decimal?>("Final_summary_competency_supervisor");
b.Property<decimal?>("Final_summary_competency_supervisor1A");
b.Property<decimal?>("Final_summary_competency_supervisor2A");
b.Property<decimal?>("Final_summary_supervisor");
b.Property<decimal?>("Final_summary_supervisor1A");
b.Property<decimal?>("Final_summary_supervisor2A");
b.Property<decimal?>("achievement_chief");
b.Property<decimal?>("achievement_supervisor");
b.Property<decimal?>("achievement_supervisor1A");
b.Property<decimal?>("achievement_supervisor2A");
b.Property<int?>("chief");
b.Property<int?>("chief_a");
b.Property<DateTime?>("chief_a_date");
b.Property<string>("chief_a_reject_reason")
.HasMaxLength(1000);
b.Property<string>("chief_a_remark")
.HasMaxLength(1000);
b.Property<string>("chief_a_result")
.HasMaxLength(1);
b.Property<decimal?>("competency_chief");
b.Property<decimal?>("competency_supervisor");
b.Property<decimal?>("competency_supervisor1A");
b.Property<decimal?>("competency_supervisor2A");
b.Property<int?>("create_evaluation_id");
b.Property<DateTime>("created");
b.Property<int?>("employee_id");
b.Property<int?>("eva_employee_id");
b.Property<int?>("help_org_id");
b.Property<bool>("isActive");
b.Property<string>("level_score_chief")
.HasMaxLength(255);
b.Property<string>("level_score_supervisor")
.HasMaxLength(255);
b.Property<string>("level_score_supervisor1A")
.HasMaxLength(255);
b.Property<string>("level_score_supervisor2A")
.HasMaxLength(255);
b.Property<int?>("order_of_data");
b.Property<decimal?>("score_chief");
b.Property<decimal?>("score_supervisor");
b.Property<decimal?>("score_supervisor1A");
b.Property<decimal?>("score_supervisor2A");
b.Property<string>("status_chief")
.HasMaxLength(1);
b.Property<string>("status_chief_a")
.HasMaxLength(1);
b.Property<DateTime?>("status_chief_a_click_date");
b.Property<DateTime?>("status_chief_click_date");
b.Property<string>("status_self")
.HasMaxLength(1);
b.Property<string>("status_self_a")
.HasMaxLength(1);
b.Property<DateTime?>("status_self_a_click_date");
b.Property<DateTime?>("status_self_click_date");
b.Property<string>("status_supervisor")
.HasMaxLength(1);
b.Property<string>("status_supervisor1A")
.HasMaxLength(1);
b.Property<DateTime?>("status_supervisor1A_click_date");
b.Property<string>("status_supervisor2A")
.HasMaxLength(1);
b.Property<DateTime?>("status_supervisor2A_click_date");
b.Property<DateTime?>("status_supervisor_click_date");
b.Property<int?>("supervisor1");
b.Property<int?>("supervisor1A");
b.Property<DateTime?>("supervisor1A_date");
b.Property<string>("supervisor1A_remark")
.HasMaxLength(1000);
b.Property<string>("supervisor1A_result")
.HasMaxLength(1);
b.Property<DateTime?>("supervisor1_date");
b.Property<int?>("supervisor1_id");
b.Property<string>("supervisor1_remark")
.HasMaxLength(1000);
b.Property<string>("supervisor1_result")
.HasMaxLength(1);
b.Property<int?>("supervisor2");
b.Property<int?>("supervisor2A");
b.Property<DateTime?>("supervisor2A_date");
b.Property<string>("supervisor2A_remark")
.HasMaxLength(1000);
b.Property<string>("supervisor2A_result")
.HasMaxLength(1);
b.Property<DateTime?>("supervisor2_date");
b.Property<int?>("supervisor2_id");
b.Property<string>("supervisor2_remark")
.HasMaxLength(1000);
b.Property<string>("supervisor2_result")
.HasMaxLength(1);
b.Property<decimal?>("total_summary_chief");
b.Property<decimal?>("total_summary_competency_chief");
b.Property<decimal?>("total_summary_competency_supervisor");
b.Property<decimal?>("total_summary_competency_supervisor1A");
b.Property<decimal?>("total_summary_competency_supervisor2A");
b.Property<decimal?>("total_summary_supervisor");
b.Property<decimal?>("total_summary_supervisor1A");
b.Property<decimal?>("total_summary_supervisor2A");
b.Property<DateTime>("updated");
b.Property<decimal?>("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<int>("id");
b.Property<string>("achievement")
.HasMaxLength(8000);
b.Property<int?>("create_evaluation_detail_id");
b.Property<DateTime>("created");
b.Property<bool>("isActive");
b.Property<decimal?>("score");
b.Property<decimal?>("score2");
b.Property<decimal?>("score3");
b.Property<decimal?>("score4");
b.Property<decimal?>("sumary");
b.Property<decimal?>("sumary2");
b.Property<decimal?>("sumary3");
b.Property<decimal?>("sumary4");
b.Property<string>("target_score1")
.HasMaxLength(255);
b.Property<string>("target_score2")
.HasMaxLength(255);
b.Property<string>("target_score3")
.HasMaxLength(255);
b.Property<string>("target_score4")
.HasMaxLength(255);
b.Property<string>("target_score5")
.HasMaxLength(255);
b.Property<string>("thefile")
.HasMaxLength(1000);
b.Property<DateTime>("updated");
b.Property<decimal?>("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<int>("id");
b.Property<string>("behavior")
.HasMaxLength(1000);
b.Property<int?>("create_evaluation_detail_id");
b.Property<DateTime>("created");
b.Property<bool>("isActive");
b.Property<decimal?>("score");
b.Property<decimal?>("score2");
b.Property<decimal?>("score3");
b.Property<decimal?>("score4");
b.Property<decimal?>("sumary");
b.Property<decimal?>("sumary2");
b.Property<decimal?>("sumary3");
b.Property<decimal?>("sumary4");
b.Property<string>("target_score1")
.HasMaxLength(255);
b.Property<string>("target_score2")
.HasMaxLength(255);
b.Property<string>("target_score3")
.HasMaxLength(255);
b.Property<string>("target_score4")
.HasMaxLength(255);
b.Property<string>("target_score5")
.HasMaxLength(255);
b.Property<DateTime>("updated");
b.Property<decimal?>("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<Guid>("id")
.ValueGeneratedOnAdd();
b.Property<string>("code")
.HasMaxLength(255);
b.Property<DateTime>("created");
b.Property<bool>("isActive");
b.Property<int?>("main_dept_id");
b.Property<decimal?>("percentage");
b.Property<string>("thegroup")
.HasMaxLength(255);
b.Property<DateTime>("updated");
b.HasKey("id");
b.ToTable("eva_evaluation_group");
});
modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b =>
{
b.Property<Guid>("id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("created");
b.Property<int?>("employee_id");
b.Property<Guid?>("evaluation_group_id");
b.Property<bool>("isActive");
b.Property<DateTime>("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<int>("id");
b.Property<int?>("create_evaluation_detail_id");
b.Property<DateTime>("created");
b.Property<string>("indicators")
.HasMaxLength(4000);
b.Property<bool>("isActive");
b.Property<string>("mission_detail")
.HasMaxLength(4000);
b.Property<int?>("mission_no");
b.Property<string>("target")
.HasMaxLength(4000);
b.Property<DateTime>("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<int>("id");
b.Property<int?>("create_evaluation_detail_id");
b.Property<DateTime>("created");
b.Property<string>("develop")
.HasMaxLength(1000);
b.Property<string>("development_method")
.HasMaxLength(1000);
b.Property<DateTime?>("end_date");
b.Property<bool>("isActive");
b.Property<string>("period_text")
.HasMaxLength(1000);
b.Property<DateTime?>("start_date");
b.Property<DateTime>("updated");
b.HasKey("id");
b.ToTable("eva_idp_plan");
});
modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b =>
{
b.Property<Guid>("id")
.ValueGeneratedOnAdd();
b.Property<string>("code")
.HasMaxLength(255);
b.Property<DateTime>("created");
b.Property<string>("detail")
.HasMaxLength(1000);
b.Property<bool>("isActive");
b.Property<decimal?>("max_score");
b.Property<decimal?>("min_score");
b.Property<DateTime>("updated");
b.HasKey("id");
b.ToTable("eva_level_score");
});
modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b =>
{
b.Property<Guid>("id");
b.Property<decimal?>("cost_of_living");
b.Property<DateTime>("created");
b.Property<int?>("employee_id");
b.Property<Guid?>("frame_group_guid");
b.Property<int?>("help_org_id");
b.Property<bool>("isActive");
b.Property<string>("level_text")
.HasMaxLength(1000);
b.Property<decimal?>("monthly_remuneration");
b.Property<int?>("order_of_data");
b.Property<int?>("org_id");
b.Property<decimal?>("position_allowance");
b.Property<string>("position_text")
.HasMaxLength(1000);
b.Property<decimal?>("salary");
b.Property<DateTime>("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<Guid>("id");
b.Property<DateTime>("created");
b.Property<Guid?>("frame_plan_guid");
b.Property<Guid?>("group_guid");
b.Property<bool>("isActive");
b.Property<decimal?>("limit_frame_295");
b.Property<int?>("main_dept_id");
b.Property<string>("remark")
.HasMaxLength(4000);
b.Property<decimal?>("total_salary");
b.Property<decimal?>("total_salary_limit");
b.Property<decimal?>("total_salary_limit_rounded");
b.Property<DateTime>("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<Guid>("id");
b.Property<DateTime>("created");
b.Property<DateTime?>("executed_date");
b.Property<bool>("isActive");
b.Property<decimal?>("limit_frame_005");
b.Property<decimal?>("limit_frame_005_total");
b.Property<decimal?>("limit_frame_005_total_rounded");
b.Property<Guid?>("plan_guid");
b.Property<DateTime?>("salary_adjustment_date");
b.Property<string>("status_chief")
.HasMaxLength(1);
b.Property<string>("status_self")
.HasMaxLength(1);
b.Property<int?>("supervisor1");
b.Property<DateTime?>("supervisor1_date");
b.Property<string>("supervisor1_remark")
.HasMaxLength(1000);
b.Property<string>("supervisor1_result")
.HasMaxLength(1);
b.Property<decimal?>("total_salary");
b.Property<DateTime>("updated");
b.HasKey("id");
b.HasIndex("plan_guid");
b.ToTable("eva_limit_frame_plan");
});
modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b =>
{
b.Property<Guid>("id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("created");
b.Property<int?>("fiscal_year");
b.Property<bool>("isActive");
b.Property<int?>("theTime");
b.Property<DateTime>("updated");
b.HasKey("id");
b.ToTable("eva_performance_plan");
});
modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b =>
{
b.Property<Guid>("id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("created");
b.Property<DateTime?>("end_date");
b.Property<bool>("isActive");
b.Property<int?>("list_no");
b.Property<Guid?>("performance_plan_id");
b.Property<string>("remark")
.HasMaxLength(1000);
b.Property<DateTime?>("start_date");
b.Property<string>("step")
.HasMaxLength(1000);
b.Property<DateTime>("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<Guid>("id")
.ValueGeneratedOnAdd();
b.Property<string>("code")
.HasMaxLength(255);
b.Property<DateTime>("created");
b.Property<string>("detail")
.HasMaxLength(1000);
b.Property<bool>("isActive");
b.Property<Guid?>("level_score_id");
b.Property<decimal?>("max_score");
b.Property<decimal?>("min_score");
b.Property<decimal?>("promoted_percentage");
b.Property<DateTime>("updated");
b.HasKey("id");
b.HasIndex("level_score_id");
b.ToTable("eva_promoted_percentage");
});
modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b =>
{
b.Property<int>("id");
b.Property<decimal?>("cost_living");
b.Property<DateTime>("created");
b.Property<bool>("isActive");
b.Property<decimal?>("middle");
b.Property<int?>("position_level");
b.Property<int?>("position_type");
b.Property<decimal?>("temporary_min");
b.Property<decimal?>("themax");
b.Property<decimal?>("themin");
b.Property<DateTime>("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
}
}
}

View File

@@ -0,0 +1,50 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace tb320eva.Migrations
{
public partial class UpdatePostponementDetail : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<decimal>(
name: "achievement_final",
table: "eva_adjust_postponement_detail",
nullable: true);
migrationBuilder.AddColumn<decimal>(
name: "competency_final",
table: "eva_adjust_postponement_detail",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "level_score_final",
table: "eva_adjust_postponement_detail",
maxLength: 255,
nullable: true);
migrationBuilder.AddColumn<decimal>(
name: "score_final",
table: "eva_adjust_postponement_detail",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "achievement_final",
table: "eva_adjust_postponement_detail");
migrationBuilder.DropColumn(
name: "competency_final",
table: "eva_adjust_postponement_detail");
migrationBuilder.DropColumn(
name: "level_score_final",
table: "eva_adjust_postponement_detail");
migrationBuilder.DropColumn(
name: "score_final",
table: "eva_adjust_postponement_detail");
}
}
}

View File

@@ -16,7 +16,7 @@ namespace tb320eva.Migrations
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
.HasAnnotation("ProductVersion", "2.2.4-servicing-10062") .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
.HasAnnotation("Relational:MaxIdentifierLength", 63); .HasAnnotation("Relational:MaxIdentifierLength", 63);
modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b =>
@@ -71,10 +71,14 @@ namespace tb320eva.Migrations
{ {
b.Property<int>("id"); b.Property<int>("id");
b.Property<decimal?>("achievement_final");
b.Property<int?>("adjust_postponement_id"); b.Property<int?>("adjust_postponement_id");
b.Property<int?>("adjust_postponement_quota_id"); b.Property<int?>("adjust_postponement_quota_id");
b.Property<decimal?>("competency_final");
b.Property<decimal?>("cost_living"); b.Property<decimal?>("cost_living");
b.Property<DateTime>("created"); b.Property<DateTime>("created");
@@ -83,6 +87,9 @@ namespace tb320eva.Migrations
b.Property<bool>("isActive"); b.Property<bool>("isActive");
b.Property<string>("level_score_final")
.HasMaxLength(255);
b.Property<string>("level_this_time") b.Property<string>("level_this_time")
.HasMaxLength(1000); .HasMaxLength(1000);
@@ -119,6 +126,8 @@ namespace tb320eva.Migrations
b.Property<decimal?>("sarary"); b.Property<decimal?>("sarary");
b.Property<decimal?>("score_final");
b.Property<decimal?>("total_promote"); b.Property<decimal?>("total_promote");
b.Property<DateTime>("updated"); b.Property<DateTime>("updated");

View File

@@ -65,5 +65,16 @@ namespace TodoAPI2.Models
public int? org_at_this_time { get; set; } public int? org_at_this_time { get; set; }
public int? order_at_this_time { get; set; } public int? order_at_this_time { get; set; }
public decimal? achievement_final { get; set; }
public decimal? competency_final { get; set; }
public decimal? score_final { get; set; }
[MaxLength(255)]
public string level_score_final { get; set; }
} }
} }

View File

@@ -22,6 +22,7 @@ namespace TodoAPI2.Models
eva_adjust_postponement_detail_normalWithSelectionViewModel GetBlankItem(); eva_adjust_postponement_detail_normalWithSelectionViewModel GetBlankItem();
string ReCreatePostponementDetailNormal(eva_adjust_postponementEntity entity); string ReCreatePostponementDetailNormal(eva_adjust_postponementEntity entity);
string UpdatePostponementDetailNormal(eva_adjust_postponementEntity entity);
} }
} }

View File

@@ -20,16 +20,16 @@ namespace TodoAPI2.Models
public class eva_adjust_postponement_detail_normalService : Ieva_adjust_postponement_detail_normalService public class eva_adjust_postponement_detail_normalService : Ieva_adjust_postponement_detail_normalService
{ {
private IBaseRepository2<eva_adjust_postponement_detailEntity, int> _repository; private IBaseRepository2<eva_adjust_postponement_detailEntity, int> _repository;
private IMyDatabase db; private IMyDatabase db;
private Iexternal_linkageService ext; private Iexternal_linkageService ext;
private Iexternal_employeeService emp; private Iexternal_employeeService emp;
public eva_adjust_postponement_detail_normalService(IBaseRepository2<eva_adjust_postponement_detailEntity, int> repository, public eva_adjust_postponement_detail_normalService(IBaseRepository2<eva_adjust_postponement_detailEntity, int> repository,
IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp) IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp)
{ {
_repository = repository; _repository = repository;
db = mydb; db = mydb;
ext = inext; ext = inext;
emp = inemp; emp = inemp;
} }
@@ -50,7 +50,7 @@ namespace TodoAPI2.Models
{ {
return Mapper.Map<List<eva_adjust_postponement_detail_normalViewModel>>(entities); return Mapper.Map<List<eva_adjust_postponement_detail_normalViewModel>>(entities);
} }
#endregion #endregion
#region Public Functions #region Public Functions
@@ -84,12 +84,12 @@ namespace TodoAPI2.Models
public List<eva_adjust_postponement_detail_normalViewModel> GetListByadjust_postponement_id(int? adjust_postponement_id) public List<eva_adjust_postponement_detail_normalViewModel> GetListByadjust_postponement_id(int? adjust_postponement_id)
{ {
var model = new eva_adjust_postponement_detail_normalSearchModel(); var model = new eva_adjust_postponement_detail_normalSearchModel();
model.adjust_postponement_id = adjust_postponement_id; model.adjust_postponement_id = adjust_postponement_id;
return GetListBySearch(model); return GetListBySearch(model);
} }
public List<eva_adjust_postponement_detail_normalViewModel> GetListBySearch(eva_adjust_postponement_detail_normalSearchModel model) public List<eva_adjust_postponement_detail_normalViewModel> GetListBySearch(eva_adjust_postponement_detail_normalSearchModel model)
{ {
var all_emp = emp.GetListByemployee_type(null, null); var all_emp = emp.GetListByemployee_type(null, null);
@@ -104,15 +104,15 @@ namespace TodoAPI2.Models
into external_linkageResult2 into external_linkageResult2
from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty() from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty()
join create_detail in _repository.Context.eva_create_evaluation_detail //join create_detail in _repository.Context.eva_create_evaluation_detail
on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id //on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id
into create_detailResult //into create_detailResult
from fk_create_detailResult in create_detailResult.DefaultIfEmpty() //from fk_create_detailResult in create_detailResult.DefaultIfEmpty()
where 1==1 where 1 == 1
//&& (m_eva_adjust_postponement_detail_normal.id == model.id || !model.id.HasValue) //&& (m_eva_adjust_postponement_detail_normal.id == model.id || !model.id.HasValue)
&& (m_eva_adjust_postponement_detail_normal.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue) && (m_eva_adjust_postponement_detail_normal.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue)
&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal.employee_id //&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal.employee_id
orderby m_eva_adjust_postponement_detail_normal.created descending orderby m_eva_adjust_postponement_detail_normal.created descending
select new eva_adjust_postponement_detail_normalViewModel() select new eva_adjust_postponement_detail_normalViewModel()
@@ -132,8 +132,11 @@ namespace TodoAPI2.Models
emp_fullname = fk_external_linkageResult2.fullname, emp_fullname = fk_external_linkageResult2.fullname,
emp_position = fk_external_linkageResult2.position_name, emp_position = fk_external_linkageResult2.position_name,
emp_level = fk_external_linkageResult2.position_level_text, emp_level = fk_external_linkageResult2.position_level_text,
total_score = fk_create_detailResult.score_supervisor,
eva_result = fk_create_detailResult.level_score_supervisor, achievement = m_eva_adjust_postponement_detail_normal.achievement_final,
competency = m_eva_adjust_postponement_detail_normal.competency_final,
total_score = m_eva_adjust_postponement_detail_normal.score_final,
eva_result = m_eva_adjust_postponement_detail_normal.level_score_final,
adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year, adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year,
employee_id_external_linkage_external_name = fk_external_linkageResult2.fullname, employee_id_external_linkage_external_name = fk_external_linkageResult2.fullname,
@@ -156,10 +159,10 @@ namespace TodoAPI2.Models
int? newkey = 0; int? newkey = 0;
var x = (from i in _repository.Context.eva_adjust_postponement_detail var x = (from i in _repository.Context.eva_adjust_postponement_detail
orderby i.id descending orderby i.id descending
select i).Take(1).ToList(); select i).Take(1).ToList();
if(x.Count > 0) if (x.Count > 0)
{ {
newkey = x[0].id + 1; newkey = x[0].id + 1;
} }
@@ -175,7 +178,7 @@ namespace TodoAPI2.Models
var inserted = _repository.Insert(entity); var inserted = _repository.Insert(entity);
return Get(inserted.id); return Get(inserted.id);
} }
@@ -206,7 +209,7 @@ namespace TodoAPI2.Models
return Get(updated.id); return Get(updated.id);
} }
else else
throw new NotificationException("No data to update"); throw new NotificationException("No data to update");
} }
public string ReCreatePostponementDetailNormal(eva_adjust_postponementEntity entity) public string ReCreatePostponementDetailNormal(eva_adjust_postponementEntity entity)
@@ -214,7 +217,7 @@ namespace TodoAPI2.Models
int? adjust_postponement_id = entity.id; int? adjust_postponement_id = entity.id;
var cylinder = (from z in _repository.Context.eva_salary_cylinder var cylinder = (from z in _repository.Context.eva_salary_cylinder
select z).ToList(); select z).ToList();
var all_emp = emp.GetListByemployee_type(null, null); var all_emp = emp.GetListByemployee_type(null, null);
@@ -226,16 +229,19 @@ namespace TodoAPI2.Models
var adjust_postponement = entity; var adjust_postponement = entity;
var evaluation_group_id = (from m in _repository.Context.eva_create_evaluation var evaluation_group_id = (from m in _repository.Context.eva_create_evaluation
where m.id == adjust_postponement.create_evaluation_id where m.id == adjust_postponement.create_evaluation_id
select m.evaluation_group_id).FirstOrDefault(); select m.evaluation_group_id).FirstOrDefault();
var current_eva_evaluation_group_detail = from k in _repository.Context.eva_evaluation_group_detail var current_eva_evaluation_group_detail = from k in _repository.Context.eva_evaluation_group_detail
where k.evaluation_group_id == evaluation_group_id where k.evaluation_group_id == evaluation_group_id
select k; select k;
//var current_eva_create_evaluation_detail = from k in _repository.Context.eva_create_evaluation_detail 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 where k.create_evaluation_id == adjust_postponement.create_evaluation_id
// select k; select k;
var current_level_score = (from e in _repository.Context.eva_level_score
select e).ToList();
int newkey = GetNewPrimaryKey(); int newkey = GetNewPrimaryKey();
decimal sum_salary = 0; decimal sum_salary = 0;
@@ -246,7 +252,7 @@ namespace TodoAPI2.Models
if (theemp == null) continue; if (theemp == null) continue;
if (theemp.fullname.Contains("ธัญนันท์")) if (theemp.fullname.Contains("อุบลวรรณ"))
{ {
string zz = "1"; string zz = "1";
} }
@@ -268,32 +274,53 @@ namespace TodoAPI2.Models
else else
{ {
n.sarary = 0; n.sarary = 0;
} }
var c = getCylinderForEmployee(theemp, cylinder); var c = getCylinderForEmployee(theemp, cylinder);
n.middle = 0; n.middle = 0;
if (c != null) if (c != null)
{ {
n.middle = c.middle; n.middle = c.middle;
} }
n.promoted_percentage = 0; // ร้อยละที่ได้เลื่อน n.promoted_percentage = 0; // ร้อยละที่ได้เลื่อน
n.total_promote = 0; // จำนวนเงินที่ได้เลื่อน n.total_promote = 0; // จำนวนเงินที่ได้เลื่อน
n.new_sarary = n.sarary; n.new_sarary = n.sarary;
n.new_cost_living = n.cost_living; n.new_cost_living = n.cost_living;
if(theemp.worked_month < 4) if (theemp.worked_month < 4)
{ {
n.remark = "ปฏิบัติงานไม่ครบ 4 เดือน"; n.remark = "ปฏิบัติงานไม่ครบ 4 เดือน";
} }
n.receive_quota = 0; n.receive_quota = 0;
n.new_sarary_with_quota = n.sarary; n.new_sarary_with_quota = n.sarary;
n.created = DateTime.Now; n.created = DateTime.Now;
n.updated = DateTime.Now; n.updated = DateTime.Now;
n.isActive = true; 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;
}
_repository.Context.eva_adjust_postponement_detail.Add(n); _repository.Context.eva_adjust_postponement_detail.Add(n);
} }
@@ -305,41 +332,142 @@ namespace TodoAPI2.Models
return current_eva_evaluation_group_detail.Count().ToString(); return current_eva_evaluation_group_detail.Count().ToString();
} }
private eva_salary_cylinderEntity getCylinderForEmployee(external_employeeViewModel theemp, public string UpdatePostponementDetailNormal(eva_adjust_postponementEntity entity)
{
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;
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();
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;
}
}
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);
}
}
private eva_salary_cylinderEntity getCylinderForEmployee(external_employeeViewModel theemp,
List<eva_salary_cylinderEntity> all_cylinder) List<eva_salary_cylinderEntity> all_cylinder)
{ {
var c = (from i in all_cylinder var c = (from i in all_cylinder
where i.position_level == theemp.position_level_id where i.position_level == theemp.position_level_id
&& i.position_type == theemp.position_type_id && i.position_type == theemp.position_type_id
select i).FirstOrDefault(); select i).FirstOrDefault();
return c; return c;
} }
public string UpdateMultiple(List<eva_adjust_postponement_detail_normalInputModel> model) public string UpdateMultiple(List<eva_adjust_postponement_detail_normalInputModel> model)
{ {
foreach(var i in model) foreach (var i in model)
{ {
if (i.active_mode == "1" && i.id.HasValue) // update if (i.active_mode == "1" && i.id.HasValue) // update
{ {
var existingEntity = _repository.Get(i.id.Value); var existingEntity = _repository.Get(i.id.Value);
if (existingEntity != null) if (existingEntity != null)
{ {
existingEntity.adjust_postponement_id = i.adjust_postponement_id; existingEntity.adjust_postponement_id = i.adjust_postponement_id;
existingEntity.employee_id = i.employee_id; existingEntity.employee_id = i.employee_id;
existingEntity.sarary = i.sarary; existingEntity.sarary = i.sarary;
existingEntity.cost_living = i.cost_living; existingEntity.cost_living = i.cost_living;
existingEntity.middle = i.middle; existingEntity.middle = i.middle;
existingEntity.promoted_percentage = i.promoted_percentage; existingEntity.promoted_percentage = i.promoted_percentage;
existingEntity.total_promote = i.total_promote; existingEntity.total_promote = i.total_promote;
existingEntity.new_sarary = i.new_sarary; existingEntity.new_sarary = i.new_sarary;
existingEntity.new_cost_living = i.new_cost_living; existingEntity.new_cost_living = i.new_cost_living;
existingEntity.remark = i.remark; existingEntity.remark = i.remark;
//existingEntity.emp_code = i.emp_code; //existingEntity.emp_code = i.emp_code;
//existingEntity.emp_fullname = i.emp_fullname; //existingEntity.emp_fullname = i.emp_fullname;
//existingEntity.emp_position = i.emp_position; //existingEntity.emp_position = i.emp_position;
//existingEntity.emp_level = i.emp_level; //existingEntity.emp_level = i.emp_level;
//existingEntity.total_score = i.total_score; //existingEntity.total_score = i.total_score;
//existingEntity.eva_result = i.eva_result; //existingEntity.eva_result = i.eva_result;
_repository.UpdateWithoutCommit(i.id.Value, existingEntity); _repository.UpdateWithoutCommit(i.id.Value, existingEntity);
@@ -352,15 +480,15 @@ namespace TodoAPI2.Models
_repository.InsertWithoutCommit(entity); _repository.InsertWithoutCommit(entity);
} }
else if (i.active_mode == "0" && i.id.HasValue) // remove else if (i.active_mode == "0" && i.id.HasValue) // remove
{ {
_repository.DeleteWithoutCommit(i.id.Value); _repository.DeleteWithoutCommit(i.id.Value);
} }
else if (i.active_mode == "0" && !i.id.HasValue) else if (i.active_mode == "0" && !i.id.HasValue)
{ {
// nothing to do // nothing to do
} }
} }
_repository.Context.SaveChanges(); _repository.Context.SaveChanges();
return model.Count().ToString(); return model.Count().ToString();
} }

View File

@@ -42,6 +42,10 @@ namespace TodoAPI2.Models
public string emp_level { get; set; } public string emp_level { get; set; }
public decimal? achievement { get; set; }
public decimal? competency { get; set; }
public decimal? total_score { get; set; } public decimal? total_score { get; set; }
public string eva_result { get; set; } public string eva_result { get; set; }

View File

@@ -20,16 +20,16 @@ namespace TodoAPI2.Models
public class eva_adjust_postponement_detail_normal_02Service : Ieva_adjust_postponement_detail_normal_02Service public class eva_adjust_postponement_detail_normal_02Service : Ieva_adjust_postponement_detail_normal_02Service
{ {
private IBaseRepository2<eva_adjust_postponement_detailEntity, int> _repository; private IBaseRepository2<eva_adjust_postponement_detailEntity, int> _repository;
private IMyDatabase db; private IMyDatabase db;
private Iexternal_linkageService ext; private Iexternal_linkageService ext;
private Iexternal_employeeService emp; private Iexternal_employeeService emp;
public eva_adjust_postponement_detail_normal_02Service(IBaseRepository2<eva_adjust_postponement_detailEntity, int> repository, public eva_adjust_postponement_detail_normal_02Service(IBaseRepository2<eva_adjust_postponement_detailEntity, int> repository,
IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp) IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp)
{ {
_repository = repository; _repository = repository;
db = mydb; db = mydb;
ext = inext; ext = inext;
emp = inemp; emp = inemp;
} }
@@ -50,7 +50,7 @@ namespace TodoAPI2.Models
{ {
return Mapper.Map<List<eva_adjust_postponement_detail_normal_02ViewModel>>(entities); return Mapper.Map<List<eva_adjust_postponement_detail_normal_02ViewModel>>(entities);
} }
#endregion #endregion
#region Public Functions #region Public Functions
@@ -80,7 +80,7 @@ namespace TodoAPI2.Models
public List<eva_adjust_postponement_detail_normal_02ViewModel> GetListByadjust_postponement_id(int? adjust_postponement_id) public List<eva_adjust_postponement_detail_normal_02ViewModel> GetListByadjust_postponement_id(int? adjust_postponement_id)
{ {
var model = new eva_adjust_postponement_detail_normal_02SearchModel(); var model = new eva_adjust_postponement_detail_normal_02SearchModel();
model.adjust_postponement_id = adjust_postponement_id; model.adjust_postponement_id = adjust_postponement_id;
return GetListBySearch(model); return GetListBySearch(model);
} }
@@ -140,15 +140,15 @@ namespace TodoAPI2.Models
into sort_depResult2 into sort_depResult2
from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty() from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty()
join create_detail in _repository.Context.eva_create_evaluation_detail //join create_detail in _repository.Context.eva_create_evaluation_detail
on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id //on fk_eva_adjust_postponementResult1.create_evaluation_id equals create_detail.create_evaluation_id
into create_detailResult //into create_detailResult
from fk_create_detailResult in create_detailResult.DefaultIfEmpty() //from fk_create_detailResult in create_detailResult.DefaultIfEmpty()
where 1==1 where 1 == 1
//&& (m_eva_adjust_postponement_detail_normal_02.id == model.id || !model.id.HasValue) //&& (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) && (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 //&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal_02.employee_id
orderby orderby
fk_sort_depResult2.external_code, fk_sort_depResult2.external_code,
@@ -175,8 +175,11 @@ namespace TodoAPI2.Models
emp_fullname = fk_external_linkageResult2.fullname, emp_fullname = fk_external_linkageResult2.fullname,
emp_position = fk_external_linkageResult2.position_name, emp_position = fk_external_linkageResult2.position_name,
emp_level = fk_external_linkageResult2.position_level_text, emp_level = fk_external_linkageResult2.position_level_text,
total_score = fk_create_detailResult.score_supervisor,
eva_result = fk_create_detailResult.level_score_supervisor, 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,
emp_department_name = fk_external_linkageResult2.department_name, emp_department_name = fk_external_linkageResult2.department_name,
@@ -205,10 +208,10 @@ namespace TodoAPI2.Models
int? newkey = 0; int? newkey = 0;
var x = (from i in _repository.Context.eva_adjust_postponement_detail var x = (from i in _repository.Context.eva_adjust_postponement_detail
orderby i.id descending orderby i.id descending
select i).Take(1).ToList(); select i).Take(1).ToList();
if(x.Count > 0) if (x.Count > 0)
{ {
newkey = x[0].id + 1; newkey = x[0].id + 1;
} }
@@ -224,7 +227,7 @@ namespace TodoAPI2.Models
var inserted = _repository.Insert(entity); var inserted = _repository.Insert(entity);
return Get(inserted.id); return Get(inserted.id);
} }
@@ -255,34 +258,34 @@ namespace TodoAPI2.Models
return Get(updated.id); return Get(updated.id);
} }
else else
throw new NotificationException("No data to update"); throw new NotificationException("No data to update");
} }
public string UpdateMultiple(List<eva_adjust_postponement_detail_normal_02InputModel> model) public string UpdateMultiple(List<eva_adjust_postponement_detail_normal_02InputModel> model)
{ {
foreach(var i in model) foreach (var i in model)
{ {
if (i.active_mode == "1" && i.id.HasValue) // update if (i.active_mode == "1" && i.id.HasValue) // update
{ {
var existingEntity = _repository.Get(i.id.Value); var existingEntity = _repository.Get(i.id.Value);
if (existingEntity != null) if (existingEntity != null)
{ {
//existingEntity.adjust_postponement_id = i.adjust_postponement_id; //existingEntity.adjust_postponement_id = i.adjust_postponement_id;
//existingEntity.employee_id = i.employee_id; //existingEntity.employee_id = i.employee_id;
existingEntity.sarary = i.sarary; existingEntity.sarary = i.sarary;
existingEntity.cost_living = i.cost_living; existingEntity.cost_living = i.cost_living;
existingEntity.middle = i.middle; existingEntity.middle = i.middle;
existingEntity.promoted_percentage = i.promoted_percentage; existingEntity.promoted_percentage = i.promoted_percentage;
existingEntity.total_promote = i.total_promote; existingEntity.total_promote = i.total_promote;
existingEntity.new_sarary = i.new_sarary; existingEntity.new_sarary = i.new_sarary;
existingEntity.new_cost_living = i.new_cost_living; existingEntity.new_cost_living = i.new_cost_living;
existingEntity.remark = i.remark; existingEntity.remark = i.remark;
//existingEntity.emp_code = i.emp_code; //existingEntity.emp_code = i.emp_code;
//existingEntity.emp_fullname = i.emp_fullname; //existingEntity.emp_fullname = i.emp_fullname;
//existingEntity.emp_position = i.emp_position; //existingEntity.emp_position = i.emp_position;
//existingEntity.emp_level = i.emp_level; //existingEntity.emp_level = i.emp_level;
//existingEntity.total_score = i.total_score; //existingEntity.total_score = i.total_score;
//existingEntity.eva_result = i.eva_result; //existingEntity.eva_result = i.eva_result;
_repository.UpdateWithoutCommit(i.id.Value, existingEntity); _repository.UpdateWithoutCommit(i.id.Value, existingEntity);
@@ -295,15 +298,15 @@ namespace TodoAPI2.Models
_repository.InsertWithoutCommit(entity); _repository.InsertWithoutCommit(entity);
} }
else if (i.active_mode == "0" && i.id.HasValue) // remove else if (i.active_mode == "0" && i.id.HasValue) // remove
{ {
_repository.DeleteWithoutCommit(i.id.Value); _repository.DeleteWithoutCommit(i.id.Value);
} }
else if (i.active_mode == "0" && !i.id.HasValue) else if (i.active_mode == "0" && !i.id.HasValue)
{ {
// nothing to do // nothing to do
} }
} }
//_repository.Context.SaveChanges(); //_repository.Context.SaveChanges();
return model.Count().ToString(); return model.Count().ToString();
} }

View File

@@ -42,6 +42,10 @@ namespace TodoAPI2.Models
public string emp_level { get; set; } public string emp_level { get; set; }
public decimal? achievement { get; set; }
public decimal? competency { get; set; }
public decimal? total_score { get; set; } public decimal? total_score { get; set; }
public string eva_result { get; set; } public string eva_result { get; set; }

View File

@@ -231,6 +231,8 @@ namespace TodoAPI2.Models
existingEntity.managed_by = model.managed_by; existingEntity.managed_by = model.managed_by;
//existingEntity.org_id = model.org_id; //existingEntity.org_id = model.org_id;
//detail.UpdatePostponementDetailNormal(existingEntity);
normal02.UpdateMultiple(model.eva_adjust_postponement_detail_normal_02_model); normal02.UpdateMultiple(model.eva_adjust_postponement_detail_normal_02_model);
var updated = _repository.Update(id, existingEntity); var updated = _repository.Update(id, existingEntity);

View File

@@ -94,6 +94,7 @@ function eva_adjust_postponement_normal_PutUpdate() {
var successFunc1 = function (result) { var successFunc1 = function (result) {
eva_adjust_postponement_detail_normal_02_Save(getUrlParameter("id")); eva_adjust_postponement_detail_normal_02_Save(getUrlParameter("id"));
//AlertSuccess(result.message); //AlertSuccess(result.message);
setTimeout(window.location.reload(), 3000);
endLoad(); endLoad();
}; };
startLoad(); startLoad();