diff --git a/Migrations/25640311001105_UpdateLimitFrame.Designer.cs b/Migrations/25640311001105_UpdateLimitFrame.Designer.cs new file mode 100644 index 0000000..d8dd4d9 --- /dev/null +++ b/Migrations/25640311001105_UpdateLimitFrame.Designer.cs @@ -0,0 +1,930 @@ +// +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("25640311001105_UpdateLimitFrame")] + partial class UpdateLimitFrame + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn) + .HasAnnotation("ProductVersion", "2.2.4-servicing-10062") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.Property("id"); + + b.Property("command_no") + .HasMaxLength(4000); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("imported_date"); + + b.Property("imported_file") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("limit"); + + b.Property("limit_frame"); + + b.Property("limit_frame_quota"); + + b.Property("limit_quota"); + + b.Property("managed_by"); + + b.Property("percentage"); + + b.Property("report_type") + .HasMaxLength(1000); + + b.Property("theDate"); + + b.Property("theRound"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_id"); + + b.ToTable("eva_adjust_postponement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.Property("id"); + + b.Property("adjust_postponement_id"); + + b.Property("adjust_postponement_quota_id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + b.Property("level_this_time") + .HasMaxLength(1000); + + b.Property("middle"); + + b.Property("migration_eva_result") + .HasMaxLength(1000); + + b.Property("migration_total_score"); + + b.Property("new_cost_living"); + + b.Property("new_sarary"); + + b.Property("new_sarary_with_quota"); + + b.Property("order_at_this_time"); + + b.Property("org_at_this_time"); + + b.Property("other_money_at_this_time"); + + b.Property("position_allowance_at_this_time"); + + b.Property("position_this_time") + .HasMaxLength(1000); + + b.Property("promoted_percentage"); + + b.Property("receive_quota"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("sarary"); + + b.Property("total_promote"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("adjust_postponement_id"); + + b.HasIndex("adjust_postponement_quota_id"); + + b.ToTable("eva_adjust_postponement_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("performance_plan_id"); + + b.Property("score1"); + + b.Property("score2"); + + b.Property("supervisor1_id"); + + b.Property("supervisor2_id"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_create_evaluation"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluation_detailEntity", b => + { + b.Property("id"); + + b.Property("Final_summary_chief"); + + b.Property("Final_summary_competency_chief"); + + b.Property("Final_summary_competency_supervisor"); + + b.Property("Final_summary_competency_supervisor1A"); + + b.Property("Final_summary_competency_supervisor2A"); + + b.Property("Final_summary_supervisor"); + + b.Property("Final_summary_supervisor1A"); + + b.Property("Final_summary_supervisor2A"); + + b.Property("achievement_chief"); + + b.Property("achievement_supervisor"); + + b.Property("achievement_supervisor1A"); + + b.Property("achievement_supervisor2A"); + + b.Property("chief"); + + b.Property("chief_a"); + + b.Property("chief_a_date"); + + b.Property("chief_a_reject_reason") + .HasMaxLength(1000); + + b.Property("chief_a_remark") + .HasMaxLength(1000); + + b.Property("chief_a_result") + .HasMaxLength(1); + + b.Property("competency_chief"); + + b.Property("competency_supervisor"); + + b.Property("competency_supervisor1A"); + + b.Property("competency_supervisor2A"); + + b.Property("create_evaluation_id"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("isActive"); + + b.Property("level_score_chief") + .HasMaxLength(255); + + b.Property("level_score_supervisor") + .HasMaxLength(255); + + b.Property("level_score_supervisor1A") + .HasMaxLength(255); + + b.Property("level_score_supervisor2A") + .HasMaxLength(255); + + b.Property("score_chief"); + + b.Property("score_supervisor"); + + b.Property("score_supervisor1A"); + + b.Property("score_supervisor2A"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_chief_a") + .HasMaxLength(1); + + b.Property("status_chief_a_click_date"); + + b.Property("status_chief_click_date"); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("status_self_a") + .HasMaxLength(1); + + b.Property("status_self_a_click_date"); + + b.Property("status_self_click_date"); + + b.Property("status_supervisor") + .HasMaxLength(1); + + b.Property("status_supervisor1A") + .HasMaxLength(1); + + b.Property("status_supervisor1A_click_date"); + + b.Property("status_supervisor2A") + .HasMaxLength(1); + + b.Property("status_supervisor2A_click_date"); + + b.Property("status_supervisor_click_date"); + + b.Property("supervisor1"); + + b.Property("supervisor1A"); + + b.Property("supervisor1A_date"); + + b.Property("supervisor1A_remark") + .HasMaxLength(1000); + + b.Property("supervisor1A_result") + .HasMaxLength(1); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("supervisor2"); + + b.Property("supervisor2A"); + + b.Property("supervisor2A_date"); + + b.Property("supervisor2A_remark") + .HasMaxLength(1000); + + b.Property("supervisor2A_result") + .HasMaxLength(1); + + b.Property("supervisor2_date"); + + b.Property("supervisor2_remark") + .HasMaxLength(1000); + + b.Property("supervisor2_result") + .HasMaxLength(1); + + b.Property("total_summary_chief"); + + b.Property("total_summary_competency_chief"); + + b.Property("total_summary_competency_supervisor"); + + b.Property("total_summary_competency_supervisor1A"); + + b.Property("total_summary_competency_supervisor2A"); + + b.Property("total_summary_supervisor"); + + b.Property("total_summary_supervisor1A"); + + b.Property("total_summary_supervisor2A"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_create_evaluation_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.Property("id"); + + b.Property("achievement") + .HasMaxLength(3000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("thefile") + .HasMaxLength(1000); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_achievement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.Property("id"); + + b.Property("behavior") + .HasMaxLength(1000); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("score"); + + b.Property("score2"); + + b.Property("score3"); + + b.Property("score4"); + + b.Property("sumary"); + + b.Property("sumary2"); + + b.Property("sumary3"); + + b.Property("sumary4"); + + b.Property("target_score1") + .HasMaxLength(255); + + b.Property("target_score2") + .HasMaxLength(255); + + b.Property("target_score3") + .HasMaxLength(255); + + b.Property("target_score4") + .HasMaxLength(255); + + b.Property("target_score5") + .HasMaxLength(255); + + b.Property("updated"); + + b.Property("weight"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_behavior"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_groupEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("main_dept_id"); + + b.Property("percentage"); + + b.Property("thegroup") + .HasMaxLength(255); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_evaluation_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("evaluation_group_id"); + + b.Property("isActive"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("evaluation_group_id"); + + b.ToTable("eva_evaluation_group_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("indicators") + .HasMaxLength(4000); + + b.Property("isActive"); + + b.Property("mission_detail") + .HasMaxLength(4000); + + b.Property("mission_no"); + + b.Property("target") + .HasMaxLength(4000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("create_evaluation_detail_id"); + + b.ToTable("eva_evaluation_operating_agreement"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_idp_planEntity", b => + { + b.Property("id"); + + b.Property("create_evaluation_detail_id"); + + b.Property("created"); + + b.Property("develop") + .HasMaxLength(1000); + + b.Property("development_method") + .HasMaxLength(1000); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("period_text") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_idp_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_level_scoreEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_level_score"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.Property("id"); + + b.Property("cost_of_living"); + + b.Property("created"); + + b.Property("employee_id"); + + b.Property("frame_group_guid"); + + b.Property("help_org_id"); + + b.Property("isActive"); + + b.Property("level_text") + .HasMaxLength(1000); + + b.Property("monthly_remuneration"); + + b.Property("order_of_data"); + + b.Property("org_id"); + + b.Property("position_allowance"); + + b.Property("position_text") + .HasMaxLength(1000); + + b.Property("salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_group_guid"); + + b.ToTable("eva_limit_frame_employee"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("frame_plan_guid"); + + b.Property("group_guid"); + + b.Property("isActive"); + + b.Property("limit_frame_295"); + + b.Property("main_dept_id"); + + b.Property("remark") + .HasMaxLength(4000); + + b.Property("total_salary"); + + b.Property("total_salary_limit"); + + b.Property("total_salary_limit_rounded"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("frame_plan_guid"); + + b.HasIndex("group_guid"); + + b.ToTable("eva_limit_frame_group"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.Property("id"); + + b.Property("created"); + + b.Property("executed_date"); + + b.Property("isActive"); + + b.Property("limit_frame_005"); + + b.Property("limit_frame_005_total"); + + b.Property("limit_frame_005_total_rounded"); + + b.Property("plan_guid"); + + b.Property("salary_adjustment_date"); + + b.Property("status_chief") + .HasMaxLength(1); + + b.Property("status_self") + .HasMaxLength(1); + + b.Property("supervisor1"); + + b.Property("supervisor1_date"); + + b.Property("supervisor1_remark") + .HasMaxLength(1000); + + b.Property("supervisor1_result") + .HasMaxLength(1); + + b.Property("total_salary"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("plan_guid"); + + b.ToTable("eva_limit_frame_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_planEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("fiscal_year"); + + b.Property("isActive"); + + b.Property("theTime"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_performance_plan"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("created"); + + b.Property("end_date"); + + b.Property("isActive"); + + b.Property("list_no"); + + b.Property("performance_plan_id"); + + b.Property("remark") + .HasMaxLength(1000); + + b.Property("start_date"); + + b.Property("step") + .HasMaxLength(1000); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("performance_plan_id"); + + b.ToTable("eva_performance_plan_detail"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.Property("id") + .ValueGeneratedOnAdd(); + + b.Property("code") + .HasMaxLength(255); + + b.Property("created"); + + b.Property("detail") + .HasMaxLength(1000); + + b.Property("isActive"); + + b.Property("level_score_id"); + + b.Property("max_score"); + + b.Property("min_score"); + + b.Property("promoted_percentage"); + + b.Property("updated"); + + b.HasKey("id"); + + b.HasIndex("level_score_id"); + + b.ToTable("eva_promoted_percentage"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_salary_cylinderEntity", b => + { + b.Property("id"); + + b.Property("cost_living"); + + b.Property("created"); + + b.Property("isActive"); + + b.Property("middle"); + + b.Property("position_level"); + + b.Property("position_type"); + + b.Property("temporary_min"); + + b.Property("themax"); + + b.Property("themin"); + + b.Property("updated"); + + b.HasKey("id"); + + b.ToTable("eva_salary_cylinder"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluationEntity", "eva_create_evaluation") + .WithMany() + .HasForeignKey("create_evaluation_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_adjust_postponement_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement") + .WithMany() + .HasForeignKey("adjust_postponement_id"); + + b.HasOne("TodoAPI2.Models.eva_adjust_postponementEntity", "eva_adjust_postponement_quota") + .WithMany() + .HasForeignKey("adjust_postponement_quota_id") + .HasConstraintName("FK_eva_adjust_postponement_detail_eva_adjust_postponement_adj~1"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_create_evaluationEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_achievementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_behaviorEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_group_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group") + .WithMany() + .HasForeignKey("evaluation_group_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_evaluation_operating_agreementEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_create_evaluation_detailEntity", "eva_create_evaluation_detail_create_evaluation_detail_id") + .WithMany() + .HasForeignKey("create_evaluation_detail_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_employeeEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_groupEntity", "eva_limit_frame_group_frame_group_guid") + .WithMany() + .HasForeignKey("frame_group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_groupEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_limit_frame_planEntity", "eva_limit_frame_plan_frame_plan_guid") + .WithMany() + .HasForeignKey("frame_plan_guid"); + + b.HasOne("TodoAPI2.Models.eva_evaluation_groupEntity", "eva_evaluation_group_group_guid") + .WithMany() + .HasForeignKey("group_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_limit_frame_planEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan_plan_guid") + .WithMany() + .HasForeignKey("plan_guid"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_performance_plan_detailEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_performance_planEntity", "eva_performance_plan") + .WithMany() + .HasForeignKey("performance_plan_id"); + }); + + modelBuilder.Entity("TodoAPI2.Models.eva_promoted_percentageEntity", b => + { + b.HasOne("TodoAPI2.Models.eva_level_scoreEntity", "eva_level_score") + .WithMany() + .HasForeignKey("level_score_id"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/25640311001105_UpdateLimitFrame.cs b/Migrations/25640311001105_UpdateLimitFrame.cs new file mode 100644 index 0000000..4751651 --- /dev/null +++ b/Migrations/25640311001105_UpdateLimitFrame.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace tb320eva.Migrations +{ + public partial class UpdateLimitFrame : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "main_dept_id", + table: "eva_limit_frame_group", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "main_dept_id", + table: "eva_limit_frame_group"); + } + } +} diff --git a/Migrations/DataContextModelSnapshot.cs b/Migrations/DataContextModelSnapshot.cs index de873ac..3b33463 100644 --- a/Migrations/DataContextModelSnapshot.cs +++ b/Migrations/DataContextModelSnapshot.cs @@ -644,6 +644,8 @@ namespace tb320eva.Migrations b.Property("limit_frame_295"); + b.Property("main_dept_id"); + b.Property("remark") .HasMaxLength(4000); diff --git a/Models/eva_limit_frame_group/eva_limit_frame_groupEntity.cs b/Models/eva_limit_frame_group/eva_limit_frame_groupEntity.cs index 1ee95bf..ce48ca1 100644 --- a/Models/eva_limit_frame_group/eva_limit_frame_groupEntity.cs +++ b/Models/eva_limit_frame_group/eva_limit_frame_groupEntity.cs @@ -35,8 +35,8 @@ namespace TodoAPI2.Models [MaxLength(4000)] public string remark { get; set; } - - public void SetAutoField(DataContext context) + public int? main_dept_id { get; set; } + public void SetAutoField(DataContext context) { } diff --git a/Models/eva_limit_frame_group/eva_limit_frame_groupViewModel.cs b/Models/eva_limit_frame_group/eva_limit_frame_groupViewModel.cs index fb09a4d..d2a548b 100644 --- a/Models/eva_limit_frame_group/eva_limit_frame_groupViewModel.cs +++ b/Models/eva_limit_frame_group/eva_limit_frame_groupViewModel.cs @@ -31,5 +31,12 @@ namespace TodoAPI2.Models public DateTime? frame_plan_guid_eva_limit_frame_plan_executed_date { get; set; } public string group_guid_eva_evaluation_group_code { get; set; } + public string remark_formatted { + get + { + if (remark == null) remark = ""; + return remark.Replace("\n", "
"); + } + } } } \ No newline at end of file diff --git a/Models/external_employee/Iexternal_employeeService.cs b/Models/external_employee/Iexternal_employeeService.cs index 139d651..b5cbcef 100644 --- a/Models/external_employee/Iexternal_employeeService.cs +++ b/Models/external_employee/Iexternal_employeeService.cs @@ -22,6 +22,7 @@ namespace TodoAPI2.Models List GetMenuByUser(int? userid); List GetAllUser(); List GetDeptMapping(); + List GetWorkingRecord(); } } diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs index 5da6316..971d0b3 100644 --- a/Models/external_employee/external_employeeService.cs +++ b/Models/external_employee/external_employeeService.cs @@ -643,6 +643,41 @@ else orgdata.department_code::int*100000 end } return result; } + + public List GetWorkingRecord() + { + var sql = string.Format(@" +select * FROM hrm_working_records where deleted_at is null +", '"'.ToString()); + var para = db.GetParameterListNpgsql(); + DataTable dt = db.ExecuteDataTableNpgsql(sql, para); + var result = new List(); + foreach (DataRow dr in dt.Rows) + { + var i = new working_records(); + if (dr["id"] != DBNull.Value) i.id = Convert.ToInt32(dr["id"]); + if (dr["employee_id"] != DBNull.Value) i.employee_id = Convert.ToInt32(dr["employee_id"]); + if (dr["place"] != DBNull.Value) i.place = Convert.ToInt32(dr["place"]); + if (dr["start_date"] != DBNull.Value) i.start_date = Convert.ToDateTime(dr["start_date"]); + if (dr["end_date"] != DBNull.Value) i.end_date = Convert.ToDateTime(dr["end_date"]); + if (dr["subject"] != DBNull.Value) i.subject = dr["subject"].ToString(); + if (dr["detail"] != DBNull.Value) i.detail = dr["detail"].ToString(); + + result.Add(i); + } + return result; + } + } + + public class working_records + { + public int? id { get; set; } + public int? employee_id { get; set; } + public int? place { get; set; } + public DateTime? start_date { get; set; } + public DateTime? end_date { get; set; } + public string subject { get; set; } + public string detail { get; set; } } public class external_menu diff --git a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs index 7f9fb38..2195ba6 100644 --- a/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs +++ b/Models/vw_limit_frame_plan/vw_limit_frame_planService.cs @@ -150,6 +150,16 @@ namespace TodoAPI2.Models entity.id = Guid.NewGuid(); entity.limit_frame_005 = (decimal?)0.05; + var all_all_emp = emp.GetAllEmployee(); + var mapping_dept = emp.GetDeptMapping(); + var working_record = from i in emp.GetWorkingRecord() where + model.executed_date.HasValue + && i.start_date <= model.executed_date + && i.end_date >= model.executed_date + select i; + var result_frame_group = new List(); + var result_frame_employee = new List(); + var all_group = (from i in _repository.Context.eva_evaluation_group select i); foreach (var x in all_group) @@ -172,7 +182,9 @@ namespace TodoAPI2.Models new_frame_group.total_salary = all_emp.Sum(z => z.salary); new_frame_group.total_salary_limit = (new_frame_group.total_salary * new_frame_group.limit_frame_295 / 100); new_frame_group.total_salary_limit_rounded = MyHelper.RoundOff(new_frame_group.total_salary_limit.Value, 10); - _repository.Context.Add(new_frame_group); + new_frame_group.main_dept_id = x.main_dept_id; + //_repository.Context.Add(new_frame_group); + result_frame_group.Add(new_frame_group); int i = 1; foreach (var y in all_emp) @@ -190,10 +202,60 @@ namespace TodoAPI2.Models new_emp.cost_of_living = y.cost_of_living; new_emp.order_of_data = i; i++; - _repository.Context.Add(new_emp); + //_repository.Context.Add(new_emp); + result_frame_employee.Add(new_emp); } } + var help_other_org = from i in result_frame_employee + where +(from j in working_record select j.employee_id).Contains(i.employee_id) + select i; + foreach(var em in help_other_org) + { + var w = (from i in working_record where i.employee_id == em.employee_id select i).FirstOrDefault(); + if(w != null) + { + int? main_dept = (from i in mapping_dept where i.id == w.place select i.id2.HasValue?i.id2:i.id).FirstOrDefault(); + var s = (from i in result_frame_group where i.main_dept_id == main_dept select i).FirstOrDefault(); + + if(s != null) + { + em.help_org_id = main_dept; + em.frame_group_guid = s.id; + em.order_of_data += 1000; + } + } + } + + foreach(var x in result_frame_group) + { + x.remark = ""; + int i = 1; + int j = 1; + foreach(var y in from z in result_frame_employee where z.frame_group_guid==x.id orderby z.order_of_data select z) + { + y.order_of_data = i; + i++; + + if (y.help_org_id.HasValue) + { + var theemp = (from q in all_all_emp where q.id == y.employee_id select q).FirstOrDefault(); + var thedetail = (from r in working_record where r.employee_id == y.employee_id select r).FirstOrDefault(); + var help_at = (from s in mapping_dept where s.id == thedetail.place select s).FirstOrDefault(); + if(theemp != null && thedetail != null && help_at != null) + { + if (x.remark != "") x.remark += "\n"; + x.remark += $"{j}.ในลำดับที่ {y.order_of_data} {theemp.fullname} ตำแหน่ง{theemp.position_name} {theemp.department_name} \nมาช่วยปฏิบัติงานที่{help_at.department_name} ตั้งแต่วันที่ {MyHelper.GetDateStringForReport(thedetail.start_date)} - {MyHelper.GetDateStringForReport(thedetail.end_date)} \nตาม{thedetail.subject}"; + } + j++; + } + } + } + + _repository.Context.AddRange(result_frame_group); + _repository.Context.AddRange(result_frame_employee); + entity.SetAutoField(_repository.Context); if (is_force_save) diff --git a/Views/eva_limit_frame_planView/eva_limit_frame_plan_inline.cshtml b/Views/eva_limit_frame_planView/eva_limit_frame_plan_inline.cshtml deleted file mode 100644 index fb686bb..0000000 --- a/Views/eva_limit_frame_planView/eva_limit_frame_plan_inline.cshtml +++ /dev/null @@ -1,70 +0,0 @@ -@{ - Layout = "~/Views/Shared/_Layout.cshtml"; - ViewData["Title"] = "eva_limit_frame_plan"; -} - -
- -
จัดการ eva_limit_frame_plan
- -
-
- -
- -
- -
-
- - - - - - - - - - - - - - - - - - - -
ลำดับกิจกรรม
- -
-
- -
- - -
- -
-
- -
- -@section FooterPlaceHolder{ - - -} diff --git a/Views/eva_limit_frame_planView/eva_limit_frame_plan_report.cshtml b/Views/eva_limit_frame_planView/eva_limit_frame_plan_report.cshtml deleted file mode 100644 index f637979..0000000 --- a/Views/eva_limit_frame_planView/eva_limit_frame_plan_report.cshtml +++ /dev/null @@ -1,55 +0,0 @@ -@using Microsoft.Extensions.Configuration -@inject IConfiguration Configuration -@{ - ViewData["Title"] = "eva_limit_frame_plan"; -} - -
-
-
- @Configuration["SiteInformation:modulename"] -
-
-
- -
-
- -
-
รายงาน eva_limit_frame_plan
-
-
-
-
- -
- - -
- -
-
-
- - -
-
-
-
-
- - -@section FooterPlaceHolder{ - - -} - diff --git a/Views/eva_limit_frame_planView/eva_limit_frame_plan_wizardform.cshtml b/Views/eva_limit_frame_planView/eva_limit_frame_plan_wizardform.cshtml deleted file mode 100644 index 39ef99f..0000000 --- a/Views/eva_limit_frame_planView/eva_limit_frame_plan_wizardform.cshtml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -
-
-
-
- -
- -
-
-
-
-
-
-
- -
- -
-
-
- -
-
- -
- -
-
-
-
-
-
-
- -
- -
-
-
- -
-
- -
- -
-
-
-
-
-
-
- -
- -
-
-
-
-
-
-
- -
- -
-
-
- -
-
- -
- -
-
-
- -
-
- -
- -
-
-
-
diff --git a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml index 9ac9dcc..98be1f9 100644 --- a/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml +++ b/Views/vw_limit_frame_planView/vw_limit_frame_plan_d.cshtml @@ -126,7 +126,7 @@ - + diff --git a/tb320eva.csproj b/tb320eva.csproj index a11c9b0..92e7e82 100644 --- a/tb320eva.csproj +++ b/tb320eva.csproj @@ -74,9 +74,6 @@ - - - @@ -90,8 +87,6 @@ - - diff --git a/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js b/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js index a3404af..6809648 100644 --- a/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js +++ b/wwwroot/js/eva_limit_frame_employee/eva_limit_frame_employee.js @@ -208,7 +208,7 @@ var eva_limit_frame_employee_setupTable = function (result) { "language": { "url": appsite + "/DataTables-1.10.16/thai.json" }, - "paging": true, + "paging": false, "searching": false, "drawCallback": function (settings) { var api = this.api(); diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js index ad02c34..7936bf8 100644 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js +++ b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group.js @@ -173,7 +173,7 @@ var eva_limit_frame_group_setupTable = function (result) { { "data": "total_salary" }, { "data": "total_salary_limit" }, { "data": "total_salary_limit_rounded" }, - { "data": "remark" }, + { "data": "remark_formatted" }, ], "columnDefs": [ { diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_inline.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_inline.js deleted file mode 100644 index 0bde31d..0000000 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_inline.js +++ /dev/null @@ -1,157 +0,0 @@ -function eva_limit_frame_group_ClearForm(i, blankItem) { - var data = blankItem; -$("#eva_limit_frame_group_id_" + i).val(""); -$("#eva_limit_frame_group_frame_plan_guid_" + i).val(""); -DropDownClearFormAndFeedWithData($("#eva_limit_frame_group_group_guid_" + i), blankItem, "id", "code", "item_group_guid", data.group_guid); -$("#eva_limit_frame_group_limit_frame_295_" + i).val(""); -$("#eva_limit_frame_group_total_salary_" + i).val(""); -$("#eva_limit_frame_group_total_salary_limit_" + i).val(""); -$("#eva_limit_frame_group_total_salary_limit_rounded_" + i).val(""); -$("#eva_limit_frame_group_remark_" + i).val(""); - -} - -function eva_limit_frame_group_FeedDataToForm(data, i, blankItem) { -$("#eva_limit_frame_group_id_" + i).val(data.id); -$("#eva_limit_frame_group_frame_plan_guid_" + i).val(data.frame_plan_guid); -DropDownClearFormAndFeedWithData($("#eva_limit_frame_group_group_guid_" + i), blankItem, "id", "code", "item_group_guid", data.group_guid); -$("#eva_limit_frame_group_limit_frame_295_" + i).val(data.limit_frame_295); -$("#eva_limit_frame_group_total_salary_" + i).val(data.total_salary); -$("#eva_limit_frame_group_total_salary_limit_" + i).val(data.total_salary_limit); -$("#eva_limit_frame_group_total_salary_limit_rounded_" + i).val(data.total_salary_limit_rounded); -$("#eva_limit_frame_group_remark_" + i).val(data.remark); - -} - -function eva_limit_frame_group_GetFromForm(obj, i) { - var eva_limit_frame_groupObject = new Object(); -eva_limit_frame_groupObject.id = obj.find("#eva_limit_frame_group_id_" + i).val(); -eva_limit_frame_groupObject.frame_plan_guid = obj.find("#eva_limit_frame_group_frame_plan_guid_" + i).val(); -eva_limit_frame_groupObject.group_guid = obj.find("#eva_limit_frame_group_group_guid_" + i).val(); -eva_limit_frame_groupObject.limit_frame_295 = obj.find("#eva_limit_frame_group_limit_frame_295_" + i).val(); -eva_limit_frame_groupObject.total_salary = obj.find("#eva_limit_frame_group_total_salary_" + i).val(); -eva_limit_frame_groupObject.total_salary_limit = obj.find("#eva_limit_frame_group_total_salary_limit_" + i).val(); -eva_limit_frame_groupObject.total_salary_limit_rounded = obj.find("#eva_limit_frame_group_total_salary_limit_rounded_" + i).val(); -eva_limit_frame_groupObject.remark = obj.find("#eva_limit_frame_group_remark_" + i).val(); - - eva_limit_frame_groupObject.active_mode = obj.find("#isActive_" + i + "_eva_limit_frame_group").val(); - return eva_limit_frame_groupObject; -} - -function eva_limit_frame_group_GetAllData() { - //Insert eva_limit_frame_group List - var eva_limit_frame_group = []; - $('#eva_limit_frame_groupBody tr').each(function () { - var i = $(this).find("#rowCount").text(); - var eacheva_limit_frame_group = eva_limit_frame_group_GetFromForm($(this), i); - eva_limit_frame_group.push(eacheva_limit_frame_group); - }); - return eva_limit_frame_group; -} - -function eva_limit_frame_group_Save(id) { - //Insert eva_limit_frame_group List - var eva_limit_frame_group = eva_limit_frame_group_GetAllData(); - - var successFunc = function (result) { - AlertSuccess("ปรับปรุงข้อมูลเรียบร้อยแล้ว"); - endLoad(); - }; - startLoad(); - AjaxPutRequest(apisite + '/api/eva_limit_frame_group/UpdateMultiple', eva_limit_frame_group, successFunc, AlertDanger); -} - -function eva_limit_frame_group_Get(id, blankItem) { - - $('#eva_limit_frame_groupBody').empty(); - - var successFunc = function (response) { - //console.log(response); - $.each(response, function (i, data) { - var tag = ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - - tag += ''; - tag += ''; - $('#eva_limit_frame_groupBody').append($(tag)); - eva_limit_frame_group_FeedDataToForm(data, (i + 1), blankItem); - }); - eva_limit_frame_group_Summary(); - endLoad(); - }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_limit_frame_group", successFunc, AlertDanger); - //AjaxGetRequest(apisite + '/api/eva_limit_frame_group/GetListByframe_plan_guid/' + a, successFunc, AlertDanger); - //AjaxGetRequest(apisite + '/api/eva_limit_frame_group/GetListBygroup_guid/' + a, successFunc, AlertDanger); - -} - -function eva_limit_frame_group_Add() { - var successFunc = function (result) { - var i = $("#eva_limit_frame_groupBody tr").length; - var tag = ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - tag += ''; - - tag += ''; - tag += ''; - - $('#eva_limit_frame_groupBody').append($(tag)); - eva_limit_frame_group_ClearForm(i + 1, result); - endLoad(); - }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_limit_frame_group/" + "GetBlankItem", successFunc, AlertDanger); -} - -function eva_limit_frame_group_Removeeva_limit_frame_group(e) { - if (confirm('กรุณากดตกลง เพื่อยืนยันการลบ?')) { - $(e).closest('tr').find("input,select,textarea").attr('disabled', true); - $(e).closest('tr').find("input,select,textarea").css({ opacity: '0.5' }); - $(e).hide(); - $(e).closest('tr').find("#restoreBtn").show(); - $(e).closest('tr').find("input").first().val("0"); - console.log($(e).closest('tr').find("input").first().val()); - eva_limit_frame_group_Summary(); - } -} - -function eva_limit_frame_group_Restoreeva_limit_frame_group(e) { - if (confirm('กรุณากดตกลง เพื่อยืนยันการกู้คืน?')) { - $(e).closest('tr').find("input,select,textarea").attr('disabled', false); - $(e).closest('tr').find("input,select,textarea").css({ opacity: '1' }); - $(e).hide(); - $(e).closest('tr').find("#removeBtn").show(); - $(e).closest('tr').find("input").first().val("1"); - console.log($(e).closest('tr').find("input").first().val()); - eva_limit_frame_group_Summary(); - } -} - -function eva_limit_frame_group_Summary() { - var sum = 0; - $(".input_score").each(function () { - sum += +$(this).val(); - }); - $("#score_label").text("ผลรวม: " + sum); -} - -function eva_limit_frame_group_InitialForm(id) { - var successFunc = function (result) { - eva_limit_frame_group_Get(id, result); - endLoad(); - }; - startLoad(); - AjaxGetRequest(apisite + "/api/eva_limit_frame_group/" + "GetBlankItem", successFunc, AlertDanger); -} diff --git a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_report.js b/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_report.js deleted file mode 100644 index cc17500..0000000 --- a/wwwroot/js/eva_limit_frame_group/eva_limit_frame_group_report.js +++ /dev/null @@ -1,60 +0,0 @@ -var eva_limit_frame_group_API = "/api/eva_limit_frame_group/"; - -//================= Search Customizaiton ========================================= - -function eva_limit_frame_group_GetSearchParameter(fileType) { - var eva_limit_frame_groupSearchObject = new Object(); -eva_limit_frame_groupSearchObject.frame_plan_guid = $("#s_eva_limit_frame_group_frame_plan_guid").val(); -eva_limit_frame_groupSearchObject.group_guid = $("#s_eva_limit_frame_group_group_guid").val(); - - - eva_limit_frame_groupSearchObject.fileType = fileType; - - console.log(eva_limit_frame_groupSearchObject); - - return eva_limit_frame_groupSearchObject; -} - -function eva_limit_frame_group_FeedDataToSearchForm(data) { -$("#s_eva_limit_frame_group_frame_plan_guid").val(data.frame_plan_guid); -DropDownClearFormAndFeedWithData($("#s_eva_limit_frame_group_group_guid"), data, "id", "code", "item_group_guid", data.group_guid); - -} - -//================= Form Data Customizaiton ========================================= - -function eva_limit_frame_group_InitialForm(s) { - var successFunc = function (result) { - eva_limit_frame_group_FeedDataToSearchForm(result); - endLoad(); - }; - startLoad(); - AjaxGetRequest(apisite + eva_limit_frame_group_API + "GetBlankItem", successFunc, AlertDanger); -} - -//================= Data Table ========================================= - -var s_eva_limit_frame_group_customValidation = function (group) { - return ""; -}; - - -function eva_limit_frame_group_DoSearch(fileType) { - if (!ValidateForm('s_eva_limit_frame_group', s_eva_limit_frame_group_customValidation)) { - return; - } - - var p = $.param(eva_limit_frame_group_GetSearchParameter(fileType)); - - var report_url = apisite + "/api/eva_limit_frame_group/eva_limit_frame_group_report?" + p; - - if (fileType === "pdf") { - $("#report_result").attr("src", report_url); - $("#report_result").show(); - //window.open(report_url); - } else { - $("#report_result").hide(); - window.open(report_url); - } -} -