รวม code แก้ไข Change Request จากทีม
This commit is contained in:
@@ -30,6 +30,9 @@ namespace TodoAPI2.Models
|
||||
List<external_linkageViewModel> GetRelationshipForReport();
|
||||
List<external_linkageViewModel> GetFiscalYear();
|
||||
List<external_linkageViewModel> GetEvaRound();
|
||||
List<external_linkageViewModel> GetAllChildInDep(int? dep_id);
|
||||
List<external_linkageViewModel> GetChildInDep(int? dep_id);
|
||||
List<external_linkageViewModel> GetSortingDep();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user