ทำหน้า ปรับเลื่อนค่าตอบแทน dropdown แก้ป็น autocomplete และ จัดเรียง หน่วยงาน ตาม org

ทำ วัน พุธ ที่ 07/07/2564 เวลา 20.00 - 12.00 น.
This commit is contained in:
Pairat Sangprasert
2021-07-08 00:03:29 +07:00
parent 0dbfb54829
commit 93f58f0be3
3 changed files with 121 additions and 8 deletions

View File

@@ -96,6 +96,15 @@ namespace TodoAPI2.Models
where j.employee_id == emp_id
select j.id).ToList();
var data_fiscal_year = (from f_y in _repository.Context.eva_adjust_postponement
group f_y by f_y.fiscal_year into new_group
orderby new_group.Key descending
select new
{
fiscal_year = new_group.Key
}
).ToList();
var i = new eva_adjust_postponement_normalWithSelectionViewModel();
var temp = create.GetListBySearch(new eva_create_evaluationSearchModel());
i.item_create_evaluation_id = (from x in temp where avaliable_eva.Contains(x.id) select x).ToList();

View File

@@ -286,21 +286,125 @@ namespace TodoAPI2.Models
public List<external_linkageViewModel> GetDepartmentData()
{
var sql = string.Format("select * from public.{0}DepartmentData{0} where department_name != '' and deleted_at is null order by department_name; ", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var sql_parent = string.Format("select" +
" org_chart_detail.department_id," +
" org_depart.department_code," +
" (case when org_chart_detail.department_id is not null then" +
" (select org_short.department_name" +
" from public.org_department_version_names as org_short" +
" where org_short.deleted_at is null" +
" and org_short.department_id = org_chart_detail.department_id" +
" and org_short.effective_date <= now()" +
" order by org_short.effective_date desc limit 1) else null end) as department_name," +
" (case when cast(org_chart_detail.parent_department_id AS int) < 0 then" +
" (select org.organization_name from public.org_organization_datas as org" +
" where org.deleted_at is null" +
" and org.organization_id = ABS(org_chart_detail.parent_department_id))" +
" else (select org_department_version.department_name from public.org_department_version_names as org_department_version" +
" where org_department_version.deleted_at is null" +
" and org_department_version.department_id = ABS(org_chart_detail.parent_department_id)" +
" and org_department_version.effective_date <= now()" +
" order by org_department_version.effective_date desc limit 1)" +
" end) as parent_name," +
" cast(org_chart_detail.parent_department_id as int) as parent_department_id" +
" from public.org_organization_chart_details as org_chart_detail" +
" left join public.org_organization_charts as org_chart on org_chart_detail.organization_chart_id = org_chart.id" +
" left join public.org_department_datas as org_depart on org_chart_detail.department_id = org_depart.id" +
" left join public.org_type_departments as org_type_depart on org_depart.department_type_id = org_type_depart.id" +
" where org_chart_detail.deleted_at is null" +
" and org_chart.deleted_at is null" +
" and org_depart.deleted_at is null" +
" and org_type_depart.deleted_at is null" +
" and org_chart.version = (select max(max_org_chart.version) from public.org_organization_charts as max_org_chart where max_org_chart.deleted_at is null and max_org_chart.effective_date <= now())" +
" and org_chart_detail.parent_department_id <= 0" +
" order by cast(org_depart.department_code as int) asc;", '"'.ToString());
var sql_childs = string.Format("select" +
" org_chart_detail.department_id," +
" org_depart.department_code," +
" (case when org_chart_detail.department_id is not null then" +
" (select org_short.department_name" +
" from public.org_department_version_names as org_short" +
" where org_short.deleted_at is null" +
" and org_short.department_id = org_chart_detail.department_id" +
" and org_short.effective_date <= now()" +
" order by org_short.effective_date desc limit 1) else null end) as department_name," +
" (case when cast(org_chart_detail.parent_department_id AS int) < 0 then" +
" (select org.organization_name from public.org_organization_datas as org" +
" where org.deleted_at is null" +
" and org.organization_id = ABS(org_chart_detail.parent_department_id))" +
" else (select org_department_version.department_name from public.org_department_version_names as org_department_version" +
" where org_department_version.deleted_at is null" +
" and org_department_version.department_id = ABS(org_chart_detail.parent_department_id)" +
" and org_department_version.effective_date <= now()" +
" order by org_department_version.effective_date desc limit 1)" +
" end) as parent_name," +
" cast(org_chart_detail.parent_department_id as int) as parent_department_id" +
" from public.org_organization_chart_details as org_chart_detail" +
" left join public.org_organization_charts as org_chart on org_chart_detail.organization_chart_id = org_chart.id" +
" left join public.org_department_datas as org_depart on org_chart_detail.department_id = org_depart.id" +
" left join public.org_type_departments as org_type_depart on org_depart.department_type_id = org_type_depart.id" +
" where org_chart_detail.deleted_at is null" +
" and org_chart.deleted_at is null" +
" and org_depart.deleted_at is null" +
" and org_type_depart.deleted_at is null" +
" and org_chart.version = (select max(max_org_chart.version) from public.org_organization_charts as max_org_chart where max_org_chart.deleted_at is null and max_org_chart.effective_date <= now())" +
" and org_chart_detail.parent_department_id > 0" +
" order by cast(org_depart.department_code as int) asc;", '"'.ToString());
var p_para = db.GetParameterListNpgsql();
DataTable data_parent = db.ExecuteDataTableNpgsql(sql_parent, p_para);
var c_para = db.GetParameterListNpgsql();
DataTable data_childs = db.ExecuteDataTableNpgsql(sql_childs, c_para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
foreach (DataRow parent_depart in data_parent.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["department_code"].ToString();
i.external_name = dr["department_name"].ToString();
i.external_id = Convert.ToInt32(parent_depart["department_id"]);
i.external_code = parent_depart["department_code"].ToString();
i.external_name = parent_depart["department_name"].ToString();
result.Add(i);
var val_department_id = Convert.ToInt32(parent_depart["department_id"]);
var val_department_name = parent_depart["department_name"].ToString();
RecursiveLoopDepartmentParentToChilds(result, val_department_id, val_department_name, data_childs);
}
return result;
}
public void RecursiveLoopDepartmentParentToChilds(List<external_linkageViewModel> result, int param_department_id, string param_department_name, DataTable data_childs)
{
foreach(DataRow childs_parent in data_childs.Rows)
{
var val_parent_department_id = Convert.ToInt32(childs_parent["parent_department_id"]);
if (val_parent_department_id == param_department_id)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(childs_parent["department_id"]);
i.external_code = childs_parent["department_code"].ToString();
i.external_name = param_department_name + " - " + childs_parent["department_name"].ToString();
result.Add(i);
var val_child_department_id = Convert.ToInt32(childs_parent["department_id"]);
var val_child_department_name = childs_parent["department_name"].ToString();
RecursiveLoopDepartmentParentToChilds(result, val_child_department_id, val_child_department_name, data_childs);
}
}
return;
}
// FOR REPORT
public List<external_linkageViewModel> GetDepartmentDataForReport()

View File

@@ -131,7 +131,7 @@
eva_adjust_postponement_normal_InitiateDataTable();
eva_adjust_postponement_normal_InitialForm();
SetupValidationRemark("eva_adjust_postponement_normal");
//$("#s_eva_adjust_postponement_normal_org_id").select2();
$("#s_eva_adjust_postponement_normal_org_id").select2();
});
</script>
}