From ba57633ab86e1a808587df2173acd08ae4a11ad2 Mon Sep 17 00:00:00 2001 From: nakorn Date: Mon, 21 Mar 2022 17:19:56 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=E0=B8=AB=E0=B8=A5=E0=B8=B2=E0=B8=A2=E0=B8=AD=E0=B8=A2=E0=B9=88?= =?UTF-8?q?=E0=B8=B2=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../external_employeeService.cs | 40 +++++++++---------- ViewControllers/homeViewController.cs | 2 +- Views/home/testlogin.cshtml | 7 ++-- wwwroot/js/home/testlogin.js | 4 +- 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs index f147a5b..4002888 100644 --- a/Models/external_employee/external_employeeService.cs +++ b/Models/external_employee/external_employeeService.cs @@ -313,15 +313,15 @@ and u.id=@user_id; { 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 + SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @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) @@ -330,18 +330,18 @@ select {0}b{0}.{0}employee_id{0}, ( 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @end_date)) ) as count_sick_leave, ( - SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general + SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @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) @@ -350,18 +350,18 @@ select {0}b{0}.{0}employee_id{0}, ( 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @end_date)) ) as count_personal_leave, ( - SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general + SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @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) @@ -370,8 +370,8 @@ select {0}b{0}.{0}employee_id{0}, ( 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @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 @@ -398,15 +398,15 @@ select {0}b{0}.{0}employee_id{0}, ( 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 + SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @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) @@ -415,8 +415,8 @@ select {0}b{0}.{0}employee_id{0}, ( 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 + AND ((tad_general.start_date between @start_date and @end_date) + or (tad_general.end_date between @start_date and @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()); diff --git a/ViewControllers/homeViewController.cs b/ViewControllers/homeViewController.cs index 2644fea..88680e3 100644 --- a/ViewControllers/homeViewController.cs +++ b/ViewControllers/homeViewController.cs @@ -68,7 +68,7 @@ namespace TodoAPI2.Controllers Response.Cookies.Append("user_id", HttpContext.Request.Query["user_id"], option); } - return Redirect("/eva/home/index"); + return Redirect("/eva/home/index2"); } [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] diff --git a/Views/home/testlogin.cshtml b/Views/home/testlogin.cshtml index 877606a..63167da 100644 --- a/Views/home/testlogin.cshtml +++ b/Views/home/testlogin.cshtml @@ -26,10 +26,11 @@
-
- +
+ กด Ctrl+F เพื่อทำการค้นหาชื่อ +
-
+