ทำหน้า ปรับเลื่อนค่าตอบแทน dropdown แก้ป็น autocomplete และ จัดเรียง หน่วยงาน ตาม org
ทำ วัน พุธ ที่ 07/07/2564 เวลา 20.00 - 12.00 น.
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user