รวม 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,
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="row">
|
||||
<input class="form-control" type="hidden" id="s_eva_create_evaluation_detail_process_create_evaluation_id" />
|
||||
|
||||
<div class="form-group col-md-3">
|
||||
<div class="form-group col-md-4">
|
||||
<label id='lab_s_eva_create_evaluation_detail_process_org_id' for='s_eva_create_evaluation_detail_process_org_id'>หน่วยงาน</label>
|
||||
<select class="form-control" id="s_eva_create_evaluation_detail_process_org_id" iLabel="หน่วยงาน" iRequire="true" iGroup="s_eva_create_evaluation_detail_process" title='หน่วยงาน' placeholder='หน่วยงาน'></select>
|
||||
</div>
|
||||
@@ -41,7 +41,7 @@
|
||||
<input class="form-control" type="text" id="s_eva_create_evaluation_detail_process_search_employee_fullname" iLabel="ชื่อ-สกุล" iRequire="true" iGroup="s_eva_create_evaluation_detail_process" title='ชื่อ-สกุล' placeholder='ชื่อ-สกุล' />
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
<button class="btn btn-info" onclick="javascript:eva_create_evaluation_detail_process_DoSearch();">ค้นหา</button>
|
||||
</div>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th>เครื่องมือ</th>
|
||||
|
||||
<th><label id='h_eva_create_evaluation_detail_process_employee_code'>รหัสพนักงาน</label></th>
|
||||
<th><label id='h_eva_create_evaluation_detail_process_employee_fullname'>ชื่อ-สกุล</label></th>
|
||||
<th><label id='h_eva_create_evaluation_detail_process_employee_position'>ตำแหน่ง</label></th>
|
||||
@@ -77,6 +76,7 @@
|
||||
eva_create_evaluation_detail_process_InitiateDataTable();
|
||||
eva_create_evaluation_detail_process_InitialForm();
|
||||
SetupValidationRemark("eva_create_evaluation_detail_process");
|
||||
$("#s_eva_create_evaluation_detail_process_org_id").select2();
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
||||
@@ -63,10 +63,11 @@
|
||||
<tr>
|
||||
<th>เลือก</th>
|
||||
<th><label id='h_search_employee_for_group_employee_number'>รหัสพนักงาน</label></th>
|
||||
<th><label id='h_search_employee_for_group_org_id'>หน่วยงาน</label></th>
|
||||
<th><label id='h_search_employee_for_group_fullname'>ชื่อ-สกุล</label></th>
|
||||
<th><label id='h_search_employee_for_group_position_id'>ตำแหน่ง</label></th>
|
||||
<th><label id='h_search_employee_for_group_level_name'>ระดับ</label></th>
|
||||
<th><label id='h_search_employee_for_group_org_id'>หน่วยงาน</label></th>
|
||||
|
||||
<th><label id='h_search_employee_for_group_remark'>หมายเหตุ</label></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@@ -196,7 +196,6 @@ console.log(result);
|
||||
{ "data": "org_id_external_linkage_external_name" },
|
||||
{ "data": "status_chief" },
|
||||
{ "data": "status_supervisor" },
|
||||
|
||||
{ "data": "id" }
|
||||
|
||||
],
|
||||
@@ -214,10 +213,13 @@ console.log(result);
|
||||
"render": function (data, type, row, meta) {
|
||||
if(row.status_chief === "Y"){
|
||||
return "<button type='button' class='btn btn-warning btn-sm' onclick='javascript:eva_create_evaluation_detail_agreement_GoSelfReview(" + tmp + data + tmp + ")'><i class='fa fa-pencil'></i></button> ";
|
||||
}else{
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
}],
|
||||
}
|
||||
],
|
||||
"language": {
|
||||
"url": appsite + "/DataTables-1.10.16/thai.json"
|
||||
},
|
||||
|
||||
@@ -164,6 +164,7 @@ var search_employee_for_group_setupTable = function (result) {
|
||||
search_employee_for_groupTableV = $('#search_employee_for_groupTable').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": false,
|
||||
"ordering": false,
|
||||
"data": result,
|
||||
"select": {
|
||||
"style": 'multi'
|
||||
@@ -171,10 +172,10 @@ var search_employee_for_group_setupTable = function (result) {
|
||||
"columns": [
|
||||
{ "data": "" },
|
||||
{ "data": "employee_number" },
|
||||
{ "data": "org_id_external_linkage_external_name" },
|
||||
{ "data": "fullname" },
|
||||
{ "data": "position_id_external_linkage_external_name" },
|
||||
{ "data": "level_name" },
|
||||
{ "data": "org_id_external_linkage_external_name" },
|
||||
{ "data": "level_name" },
|
||||
{ "data": "remark" },
|
||||
],
|
||||
"columnDefs": [
|
||||
|
||||
Reference in New Issue
Block a user