รวม code ปรับปรุงตาม change request จากทีม

This commit is contained in:
Nakorn Rientrakrunchai
2020-04-26 13:27:10 +07:00
parent f353f73d17
commit 60dd022bea
29 changed files with 496 additions and 93 deletions

View File

@@ -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,

View File

@@ -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; }
}
}

View File

@@ -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,

View File

@@ -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; }
}
}

View File

@@ -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; }
}
}

View File

@@ -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,

View File

@@ -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,

View File

@@ -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; }

View File

@@ -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);
}
}

View File

@@ -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();

View File

@@ -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; }