รวม code แก้ไข Change Request จากทีม
This commit is contained in:
@@ -104,6 +104,10 @@ namespace TodoAPI2.Models
|
||||
into external_linkageResult2
|
||||
from fk_external_linkageResult2 in external_linkageResult2.DefaultIfEmpty()
|
||||
|
||||
join sort_dep in ext.GetSortingDep() on fk_external_linkageResult2.department_id equals sort_dep.id
|
||||
into sort_depResult2
|
||||
from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty()
|
||||
|
||||
join create_detail in _repository.Context.eva_create_evaluation_detail
|
||||
on fk_eva_adjust_postponementResult1A.create_evaluation_id equals create_detail.create_evaluation_id
|
||||
into create_detailResult
|
||||
@@ -114,9 +118,12 @@ namespace TodoAPI2.Models
|
||||
&& (m_eva_adjust_postponement_detail_quota_02.adjust_postponement_quota_id == model.adjust_postponement_quota_id || !model.adjust_postponement_quota_id.HasValue)
|
||||
&& (fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_quota_02.employee_id || fk_create_detailResult == null)
|
||||
|
||||
orderby fk_external_linkageResult2.department_degree_id,
|
||||
fk_external_linkageResult2.department_code,
|
||||
fk_external_linkageResult2.position_level_id,
|
||||
orderby
|
||||
fk_sort_depResult2.external_code,
|
||||
//fk_external_linkageResult2.department_degree_id,
|
||||
//fk_external_linkageResult2.department_code,
|
||||
fk_external_linkageResult2.hpt_position_type_id,
|
||||
fk_external_linkageResult2.hpl_position_level_id,
|
||||
fk_external_linkageResult2.employee_no
|
||||
select new eva_adjust_postponement_detail_quota_02ViewModel()
|
||||
{
|
||||
@@ -138,7 +145,7 @@ namespace TodoAPI2.Models
|
||||
emp_fullname = fk_external_linkageResult2.fullname,
|
||||
emp_position = fk_external_linkageResult2.position_name,
|
||||
emp_level = fk_external_linkageResult2.position_level_text,
|
||||
emp_department_name = fk_external_linkageResult2.department_name,
|
||||
emp_department_name = fk_sort_depResult2.external_name,
|
||||
total_score = fk_create_detailResult.score_supervisor,
|
||||
eva_result = fk_create_detailResult.level_score_supervisor,
|
||||
|
||||
|
||||
@@ -161,6 +161,7 @@ namespace TodoAPI2.Models
|
||||
public List<eva_create_evaluation_detail_processViewModel> GetListBySearch(eva_create_evaluation_detail_processSearchModel model, int? emp_id, string path)
|
||||
{
|
||||
var allemp = emp.GetListByemployee_type(null, null);
|
||||
var all_org_id = from i in ext.GetAllChildInDep(model.org_id) select i.external_id;
|
||||
|
||||
var data = (
|
||||
from m_eva_create_evaluation_detail_process in _repository.Context.eva_create_evaluation_detail
|
||||
@@ -169,6 +170,10 @@ namespace TodoAPI2.Models
|
||||
into external_employeeResult
|
||||
from fk_external_employee in external_employeeResult.DefaultIfEmpty()
|
||||
|
||||
join sort_dep in ext.GetSortingDep() on fk_external_employee.department_id equals sort_dep.id
|
||||
into sort_depResult2
|
||||
from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty()
|
||||
|
||||
join fk_external_chief in allemp on m_eva_create_evaluation_detail_process.chief equals fk_external_chief.id
|
||||
into external_chiefResult
|
||||
from fk_external_chief in external_chiefResult.DefaultIfEmpty()
|
||||
@@ -179,7 +184,7 @@ namespace TodoAPI2.Models
|
||||
|
||||
where 1 == 1
|
||||
&& (m_eva_create_evaluation_detail_process.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue)
|
||||
&& (fk_external_employee.department_id == model.org_id || !model.org_id.HasValue)
|
||||
&& (all_org_id.Contains(fk_external_employee.department_id) || !model.org_id.HasValue)
|
||||
&& (fk_external_employee.employee_no == model.search_employee_code || string.IsNullOrEmpty(model.search_employee_code))
|
||||
&& (fk_external_employee.fullname.Contains(model.search_employee_fullname) || string.IsNullOrEmpty(model.search_employee_fullname))
|
||||
&& emp_id.HasValue
|
||||
@@ -190,9 +195,12 @@ namespace TodoAPI2.Models
|
||||
|| (fk_eva_create_evaluationResult10.supervisor2_id.HasValue && emp_id == fk_eva_create_evaluationResult10.supervisor2_id)
|
||||
)
|
||||
|
||||
orderby fk_external_employee.department_degree_id,
|
||||
fk_external_employee.department_code,
|
||||
fk_external_employee.position_level_id,
|
||||
orderby
|
||||
fk_sort_depResult2.external_code,
|
||||
//fk_external_employee.department_degree_id,
|
||||
//fk_external_employee.department_code,
|
||||
fk_external_employee.hpt_position_type_id,
|
||||
fk_external_employee.hpl_position_level_id,
|
||||
fk_external_employee.employee_no
|
||||
select new eva_create_evaluation_detail_processViewModel()
|
||||
{
|
||||
@@ -204,7 +212,7 @@ namespace TodoAPI2.Models
|
||||
employee_position = fk_external_employee.position_name,
|
||||
employee_position_type = fk_external_employee.position_type_name,
|
||||
employee_position_level = fk_external_employee.position_level_text,
|
||||
employee_org = fk_external_employee.department_name,
|
||||
employee_org = fk_sort_depResult2.external_name,
|
||||
chief_fullname = fk_external_chief.fullname,
|
||||
chief_position = fk_external_chief.position_name,
|
||||
create_evaluation_id = m_eva_create_evaluation_detail_process.create_evaluation_id,
|
||||
@@ -212,7 +220,7 @@ namespace TodoAPI2.Models
|
||||
search_employee_code = fk_external_employee.employee_no,
|
||||
search_employee_fullname = fk_external_employee.fullname,
|
||||
|
||||
org_id_external_linkage_external_name = fk_external_employee.department_name,
|
||||
org_id_external_linkage_external_name = fk_sort_depResult2.external_name,
|
||||
|
||||
status_self = m_eva_create_evaluation_detail_process.status_self,
|
||||
status_chief = m_eva_create_evaluation_detail_process.status_chief,
|
||||
|
||||
@@ -71,8 +71,14 @@ CONCAT(htm.title_name,' ',he.firstname,' ',he.lastname) as fullname,opd.position
|
||||
CONCAT(he.firstname,he.lastname) as halfname,
|
||||
orgdata.id as department_id,orgdata.department_name,orgdata.department_code,he.salary,
|
||||
he.employee_type_id, het.employee_type_name,opd.position_id as position_id,
|
||||
u.email as user_email, u.id as user_id,hpl.position_level_name,he.position_level_id,
|
||||
he.position_type_id,hpt.position_type_name,he.packing_date,he.cost_of_living,
|
||||
u.email as user_email, u.id as user_id,hpl.position_level_name,
|
||||
|
||||
he.position_level_id,
|
||||
he.position_type_id,
|
||||
hpl.position_level_id as hpl_position_level_id,
|
||||
hpt.position_type_id as hpt_position_type_id,
|
||||
|
||||
hpt.position_type_name,he.packing_date,he.cost_of_living,
|
||||
(CASE WHEN (SELECT hrm_work_rec.id FROM hrm_working_records as hrm_work_rec
|
||||
WHERE hrm_work_rec.employee_id = he.employee_id
|
||||
AND hrm_work_rec.start_date <= now()
|
||||
@@ -129,6 +135,7 @@ order by he.firstname, he.lastname;
|
||||
{
|
||||
i.position_type_id = Convert.ToInt32(dr["position_type_id"]);
|
||||
i.position_type_name = dr["position_type_name"].ToString();
|
||||
i.hpt_position_type_id = Convert.ToInt32(dr["hpt_position_type_id"]);
|
||||
}
|
||||
|
||||
if (dr["position_id"] != DBNull.Value)
|
||||
@@ -155,6 +162,7 @@ order by he.firstname, he.lastname;
|
||||
{
|
||||
i.position_level_id = Convert.ToInt32(dr["position_level_id"]);
|
||||
i.position_level_text = dr["position_level_name"].ToString();
|
||||
i.hpl_position_level_id = Convert.ToInt32(dr["hpl_position_level_id"]);
|
||||
}
|
||||
i.salary = 0;
|
||||
if (dr["salary"] != DBNull.Value)
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace TodoAPI2.Models
|
||||
public int? employee_type_id { get; set; }
|
||||
public int? position_id { get; set; }
|
||||
public int? position_type_id { get; set; }
|
||||
public int? hpt_position_type_id { get; set; }
|
||||
public string position_type_name { get; set; }
|
||||
public string user_email { get; set; }
|
||||
public int? user_id { get; set; }
|
||||
@@ -45,6 +46,7 @@ namespace TodoAPI2.Models
|
||||
public string employee_type_name { get; set; }
|
||||
public string employee_no { get; set; }
|
||||
public int? position_level_id { get; set; }
|
||||
public int? hpl_position_level_id { get; set; }
|
||||
public string position_level_text { get; set; }
|
||||
public DateTime? packing_date { get; set; }
|
||||
public int? department_degree_id { get; set; }
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,17 +56,29 @@ namespace TodoAPI2.Models
|
||||
public List<search_employee_for_groupViewModel> GetListBySearch(search_employee_for_groupSearchModel model)
|
||||
{
|
||||
var allemp = emp.GetListByemployee_type(null, null);
|
||||
var all_org_id = from i in ext.GetAllChildInDep(model.org_id) select i.external_id;
|
||||
|
||||
var data = (
|
||||
from m_search_employee_for_group in allemp
|
||||
|
||||
join sort_dep in ext.GetSortingDep() on m_search_employee_for_group.department_id equals sort_dep.id
|
||||
into sort_depResult2
|
||||
from fk_sort_depResult2 in sort_depResult2.DefaultIfEmpty()
|
||||
|
||||
where 1 == 1
|
||||
&& (string.IsNullOrEmpty(model.employee_number) || (!string.IsNullOrEmpty(model.employee_number) && m_search_employee_for_group.employee_no.Contains(model.employee_number)))
|
||||
&& (string.IsNullOrEmpty(model.fullname) || (!string.IsNullOrEmpty(model.fullname) && m_search_employee_for_group.fullname.Contains(model.fullname)))
|
||||
&& (m_search_employee_for_group.position_id == model.position_id || !model.position_id.HasValue)
|
||||
&& (m_search_employee_for_group.department_id == model.org_id || !model.org_id.HasValue)
|
||||
&& (all_org_id.Contains(m_search_employee_for_group.department_id) || !model.org_id.HasValue)
|
||||
|
||||
orderby
|
||||
fk_sort_depResult2.external_code,
|
||||
//fk_external_employee.department_degree_id,
|
||||
//fk_external_employee.department_code,
|
||||
m_search_employee_for_group.hpt_position_type_id,
|
||||
m_search_employee_for_group.hpl_position_level_id,
|
||||
m_search_employee_for_group.employee_no
|
||||
|
||||
orderby m_search_employee_for_group.fullname
|
||||
select new search_employee_for_groupViewModel()
|
||||
{
|
||||
id = m_search_employee_for_group.id,
|
||||
|
||||
Reference in New Issue
Block a user