รวม code ปรับปรุงตาม change request จากทีม
This commit is contained in:
@@ -110,7 +110,7 @@ namespace TodoAPI2.Models
|
||||
&& (m_eva_adjust_postponement_detail_normal_02.adjust_postponement_id == model.adjust_postponement_id || !model.adjust_postponement_id.HasValue)
|
||||
&& fk_create_detailResult.employee_id == m_eva_adjust_postponement_detail_normal_02.employee_id
|
||||
|
||||
orderby m_eva_adjust_postponement_detail_normal_02.created descending
|
||||
orderby fk_external_linkageResult2.department_name, fk_external_linkageResult2.fullname
|
||||
select new eva_adjust_postponement_detail_normal_02ViewModel()
|
||||
{
|
||||
id = m_eva_adjust_postponement_detail_normal_02.id,
|
||||
@@ -131,6 +131,8 @@ namespace TodoAPI2.Models
|
||||
total_score = fk_create_detailResult.score_supervisor,
|
||||
eva_result = fk_create_detailResult.level_score_supervisor,
|
||||
|
||||
emp_department_name = fk_external_linkageResult2.department_name,
|
||||
|
||||
adjust_postponement_id_eva_adjust_postponement_fiscal_year = fk_eva_adjust_postponementResult1.fiscal_year,
|
||||
|
||||
isActive = m_eva_adjust_postponement_detail_normal_02.isActive,
|
||||
|
||||
@@ -48,5 +48,6 @@ namespace TodoAPI2.Models
|
||||
|
||||
public int? adjust_postponement_id_eva_adjust_postponement_fiscal_year { get; set; }
|
||||
|
||||
public string emp_department_name { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -114,7 +114,7 @@ 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 m_eva_adjust_postponement_detail_quota_02.created descending
|
||||
orderby fk_external_linkageResult2.department_name, fk_external_linkageResult2.fullname
|
||||
select new eva_adjust_postponement_detail_quota_02ViewModel()
|
||||
{
|
||||
id = m_eva_adjust_postponement_detail_quota_02.id,
|
||||
@@ -134,6 +134,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,
|
||||
total_score = fk_create_detailResult.score_supervisor,
|
||||
eva_result = fk_create_detailResult.level_score_supervisor,
|
||||
|
||||
|
||||
@@ -52,5 +52,6 @@ namespace TodoAPI2.Models
|
||||
|
||||
public int? adjust_postponement_quota_id_eva_adjust_postponement_fiscal_year { get; set; }
|
||||
|
||||
public string emp_department_name { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -41,5 +41,6 @@ namespace TodoAPI2.Models
|
||||
public string org_id_external_linkage_external_name { get; set; }
|
||||
|
||||
public string create_evaluation_id_description { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -86,7 +86,7 @@ namespace TodoAPI2.Models
|
||||
employee_code = fk_external_employee.employee_no,
|
||||
employee_fullname = fk_external_employee.fullname,
|
||||
employee_position = fk_external_employee.position_name,
|
||||
employee_position_type = fk_external_employee.employee_type_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,
|
||||
chief_fullname = fk_external_chief.fullname,
|
||||
|
||||
@@ -88,6 +88,7 @@ namespace TodoAPI2.Models
|
||||
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_id = m_eva_create_evaluation_detail_process.employee_id,
|
||||
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,
|
||||
@@ -192,6 +193,7 @@ namespace TodoAPI2.Models
|
||||
{
|
||||
id = m_eva_create_evaluation_detail_process.id,
|
||||
evaluation_round = fk_eva_create_evaluationResult10.eva_performance_plan.theTime.ToString(),
|
||||
employee_id = m_eva_create_evaluation_detail_process.employee_id,
|
||||
employee_code = fk_external_employee.employee_no,
|
||||
employee_fullname = fk_external_employee.fullname,
|
||||
employee_position = fk_external_employee.position_name,
|
||||
|
||||
@@ -28,6 +28,8 @@ namespace TodoAPI2.Models
|
||||
|
||||
public string employee_org { get; set; }
|
||||
|
||||
public int? employee_id { get; set; }
|
||||
|
||||
public string chief_fullname { get; set; }
|
||||
|
||||
public string chief_position { get; set; }
|
||||
|
||||
@@ -16,6 +16,8 @@ namespace TodoAPI2.Models
|
||||
int? GetLeader(int? emp_id);
|
||||
external_employeeViewModel GetEmployeeForLogin(int? user_id);
|
||||
external_employeeWithSelectionViewModel GetBlankItem();
|
||||
|
||||
employee_leaveViewModel GetLeaveOfEmployee(int employee_id, DateTime? start_date, DateTime? end_date);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ left join public.{0}DepartmentData{0} as orgdata on orgdata.id = he.department_i
|
||||
left join public.hrm_employee_types as het on het.id = he.employee_type_id
|
||||
left join public.users as u on u.employee_id = he.employee_id
|
||||
where he.workingstatus = 'สถานะปฏิบัติงาน' and he.deleted_at is null and mpn.deleted_at is null
|
||||
and opd.deleted_at is null and htm.deleted_at is null
|
||||
and opd.deleted_at is null --and htm.deleted_at is null
|
||||
order by he.firstname,he.lastname;
|
||||
", '"'.ToString());
|
||||
var para = db.GetParameterListNpgsql();
|
||||
@@ -161,7 +161,7 @@ left join public.org_position_datas as opd on opd.position_id = mpn.position_id
|
||||
left join public.hrm_title_masters as htm on htm.id = he.prefix_card_name
|
||||
left join public.users as u on u.employee_id = he.employee_id
|
||||
where he.workingstatus = 'สถานะปฏิบัติงาน' and he.deleted_at is null and mpn.deleted_at is null
|
||||
and opd.deleted_at is null and htm.deleted_at is null
|
||||
and opd.deleted_at is null --and htm.deleted_at is null
|
||||
and u.id=@user_id;
|
||||
";
|
||||
var para = db.GetParameterListNpgsql();
|
||||
@@ -198,6 +198,196 @@ and u.id=@user_id;
|
||||
}
|
||||
}
|
||||
|
||||
public employee_leaveViewModel GetLeaveOfEmployee(int employee_id, DateTime? start_date, DateTime? end_date)
|
||||
{
|
||||
var sql = string.Format(@"
|
||||
select {0}b{0}.{0}employee_id{0}, (
|
||||
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id = 2
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as sum_day_sick_leave, (
|
||||
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id = 2
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as count_sick_leave, (
|
||||
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id = 4
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as sum_day_personal_leave, (
|
||||
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id = 4
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as count_personal_leave, (
|
||||
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id = 1
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as sum_day_vacation_leave, (
|
||||
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id = 1
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as count_vacation_leave, (
|
||||
SELECT COUNT(DISTINCT tad_stop.date) FROM tad_stop_workings as tad_stop
|
||||
WHERE tad_stop.deleted_at is null
|
||||
AND tad_stop.employee_id = b.employee_id
|
||||
AND tad_stop.date BETWEEN @start_date AND @end_date
|
||||
) as count_stop_working, (
|
||||
SELECT COUNT(prs_time_result.id) FROM tad_processing_time_results as prs_time_result
|
||||
LEFT JOIN tad_processing_times as prs_time ON prs_time_result.processing_time_id = prs_time.id
|
||||
WHERE prs_time_result.deleted_at is null
|
||||
AND prs_time.deleted_at is null
|
||||
AND prs_time_result.employee_id = b.employee_id
|
||||
AND prs_time_result.time_in is not null
|
||||
AND prs_time_result.time_out is not null
|
||||
AND prs_time_result.late is not null
|
||||
AND prs_time_result.date BETWEEN @start_date AND @end_date
|
||||
) as count_late_tad_processing_time_results, (
|
||||
SELECT COUNT(prs_time_result.id) FROM tad_processing_time_results as prs_time_result
|
||||
LEFT JOIN tad_processing_times as prs_time ON prs_time_result.processing_time_id = prs_time.id
|
||||
WHERE prs_time_result.deleted_at is null
|
||||
AND prs_time.deleted_at is null
|
||||
AND prs_time_result.employee_id = b.employee_id
|
||||
AND prs_time_result.time_in is null
|
||||
AND prs_time_result.time_out is null
|
||||
AND prs_time_result.record_type = 'Absence'
|
||||
AND prs_time_result.date BETWEEN @start_date AND @end_date
|
||||
) as count_absence_tad_processing_time_results, (
|
||||
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id in (2,4)
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as sum_day_sick_personal_leave, (
|
||||
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
||||
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
||||
WHERE tad_general.deleted_at is null
|
||||
AND leave_type.deleted_at is null
|
||||
AND leave_type.id in (2,4)
|
||||
AND tad_general.employee_id = b.employee_id
|
||||
AND tad_general.status = '3'
|
||||
AND tad_general.start_date >= @start_date
|
||||
AND tad_general.end_date <= @end_date
|
||||
) as count_sick_personal_leave from {0}tad_table_workings{0} as {0}a{0} left join {0}hrm_employees{0} as {0}b{0} on {0}a{0}.{0}employee_id{0} = {0}b{0}.{0}employee_id{0} left join {0}tad_workshifts{0} as {0}c{0} on {0}a{0}.{0}workshift_id{0} = {0}c{0}.{0}id{0} where {0}a{0}.{0}deleted_at{0} is null and {0}b{0}.{0}deleted_at{0} is null and {0}c{0}.{0}deleted_at{0} is null and {0}b{0}.{0}employee_id{0} = @employee_id
|
||||
", '"'.ToString());
|
||||
|
||||
var para = db.GetParameterListNpgsql();
|
||||
|
||||
var p_employee_id = new NpgsqlParameter("employee_id", DbType.Int32);
|
||||
p_employee_id.Value = employee_id;
|
||||
para.Add(p_employee_id);
|
||||
|
||||
var p_start_date = new NpgsqlParameter("start_date", DbType.Date);
|
||||
p_start_date.Value = start_date;
|
||||
para.Add(p_start_date);
|
||||
|
||||
var p_end_date = new NpgsqlParameter("end_date", DbType.Date);
|
||||
p_end_date.Value = end_date;
|
||||
para.Add(p_end_date);
|
||||
|
||||
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
|
||||
|
||||
var dr = dt.Rows[0];
|
||||
var i = new employee_leaveViewModel();
|
||||
|
||||
i.sum_day_sick_leave = 0;
|
||||
i.count_sick_leave = 0;
|
||||
i.sum_day_personal_leave = 0;
|
||||
i.count_personal_leave = 0;
|
||||
i.sum_day_vacation_leave = 0;
|
||||
i.count_vacation_leave = 0;
|
||||
i.count_stop_working = 0;
|
||||
i.count_late_tad_processing_time_results = 0;
|
||||
i.count_absence_tad_processing_time_results = 0;
|
||||
i.sum_day_sick_personal_leave = 0;
|
||||
i.count_sick_personal_leave = 0;
|
||||
|
||||
if (dr["sum_day_sick_leave"] != DBNull.Value)
|
||||
{
|
||||
i.sum_day_sick_leave = Convert.ToInt32(dr["sum_day_sick_leave"]);
|
||||
}
|
||||
if (dr["count_sick_leave"] != DBNull.Value)
|
||||
{
|
||||
i.count_sick_leave = Convert.ToInt32(dr["count_sick_leave"]);
|
||||
}
|
||||
if (dr["sum_day_personal_leave"] != DBNull.Value)
|
||||
{
|
||||
i.sum_day_personal_leave = Convert.ToInt32(dr["sum_day_personal_leave"]);
|
||||
}
|
||||
if (dr["count_personal_leave"] != DBNull.Value)
|
||||
{
|
||||
i.count_personal_leave = Convert.ToInt32(dr["count_personal_leave"]);
|
||||
}
|
||||
if (dr["sum_day_vacation_leave"] != DBNull.Value)
|
||||
{
|
||||
i.sum_day_vacation_leave = Convert.ToInt32(dr["sum_day_vacation_leave"]);
|
||||
}
|
||||
if (dr["count_vacation_leave"] != DBNull.Value)
|
||||
{
|
||||
i.count_vacation_leave = Convert.ToInt32(dr["count_vacation_leave"]);
|
||||
}
|
||||
if (dr["count_stop_working"] != DBNull.Value)
|
||||
{
|
||||
i.count_stop_working = Convert.ToInt32(dr["count_stop_working"]);
|
||||
}
|
||||
if (dr["count_late_tad_processing_time_results"] != DBNull.Value)
|
||||
{
|
||||
i.count_late_tad_processing_time_results = Convert.ToInt32(dr["count_late_tad_processing_time_results"]);
|
||||
}
|
||||
if (dr["count_absence_tad_processing_time_results"] != DBNull.Value)
|
||||
{
|
||||
i.count_absence_tad_processing_time_results = Convert.ToInt32(dr["count_absence_tad_processing_time_results"]);
|
||||
}
|
||||
if (dr["sum_day_sick_personal_leave"] != DBNull.Value)
|
||||
{
|
||||
i.sum_day_sick_personal_leave = Convert.ToInt32(dr["sum_day_sick_personal_leave"]);
|
||||
}
|
||||
if (dr["count_sick_personal_leave"] != DBNull.Value)
|
||||
{
|
||||
i.count_sick_personal_leave = Convert.ToInt32(dr["count_sick_personal_leave"]);
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
public external_employeeWithSelectionViewModel GetBlankItem()
|
||||
{
|
||||
var i = new external_employeeWithSelectionViewModel();
|
||||
|
||||
@@ -11,6 +11,20 @@ using TTSW.Common;
|
||||
|
||||
namespace TodoAPI2.Models
|
||||
{
|
||||
public class employee_leaveViewModel
|
||||
{
|
||||
public int? sum_day_sick_leave { get; set; }
|
||||
public int? count_sick_leave { get; set; }
|
||||
public int? sum_day_personal_leave { get; set; }
|
||||
public int? count_personal_leave { get; set; }
|
||||
public int? sum_day_vacation_leave { get; set; }
|
||||
public int? count_vacation_leave { get; set; }
|
||||
public int? count_stop_working { get; set; }
|
||||
public int? count_late_tad_processing_time_results { get; set; }
|
||||
public int? count_absence_tad_processing_time_results { get; set; }
|
||||
public int? sum_day_sick_personal_leave { get; set; }
|
||||
public int? count_sick_personal_leave { get; set; }
|
||||
}
|
||||
public class external_employeeViewModel
|
||||
{
|
||||
public int id { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user