รวม code แก้ไข Change Request จากทีม

This commit is contained in:
Nakorn Rientrakrunchai
2020-07-25 23:21:43 +07:00
parent fef57e2655
commit 565fa89be2
11 changed files with 146 additions and 23 deletions

View File

@@ -249,7 +249,7 @@ 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; ", '"'.ToString());
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 result = new List<external_linkageViewModel>();
@@ -371,6 +371,85 @@ namespace TodoAPI2.Models
return result;
}
public List<external_linkageViewModel> GetAllChildInDep(int? dep_id)
{
var all_result = new List<external_linkageViewModel>();
if (dep_id.HasValue)
{
var result = GetChildInDep(dep_id);
all_result.AddRange(result);
foreach (var i in result)
{
var result2 = GetChildInDep(i.id.Value);
all_result.AddRange(result2);
}
}
return all_result;
}
public List<external_linkageViewModel> GetChildInDep(int? dep_id)
{
var sql = string.Format(@"select data1.id,data1.department_name
from public.{0}DepartmentData{0} data1
left join org_organization_chart_details detail on data1.id=detail.department_id
where detail.parent_department_id={1} or data1.id={1};", '"'.ToString(), dep_id.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["id"].ToString();
i.external_name = dr["department_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetSortingDep()
{
var sql = string.Format(@"
select orgdata.id,
case when orgdata2.department_name is not null then
concat(orgdata2.department_name,' - ',orgdata.department_name)
else orgdata.department_name end as full_dep,
orgdata.department_name,
orgdata.department_code,detail.parent_department_id,
case
when org_type_depart.department_degree_id = 1 then orgdata.department_code::int*1000
when detail.parent_department_id is not null and detail.parent_department_id>0
then orgdata2.department_code::int*1000+orgdata.department_code::int
else orgdata.department_code::int*100000 end as sort_order,org_type_depart.department_degree_id
from public.{0}DepartmentData{0} orgdata
left join org_organization_chart_details detail on orgdata.id = detail.department_id
left join public.{0}DepartmentData{0} orgdata2 on orgdata2.id = detail.parent_department_id
left join public.org_type_departments as org_type_depart on orgdata.department_type_id = org_type_depart.id
left join public.org_type_department_colors as org_depart_color
on org_type_depart.department_degree_id = org_depart_color.id
where orgdata.department_name is not null
order by case
when org_type_depart.department_degree_id = 1 then orgdata.department_code::int*1000
when detail.parent_department_id is not null and detail.parent_department_id>0
then orgdata2.department_code::int*1000+orgdata.department_code::int
else orgdata.department_code::int*100000 end
", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["sort_order"].ToString();
i.external_name = dr["full_dep"].ToString();
result.Add(i);
}
return result;
}
}
}