diff --git a/ApiControllers/rep_eva_xControllers.cs b/ApiControllers/rep_eva_xControllers.cs
index 0f8377e..d35f81a 100644
--- a/ApiControllers/rep_eva_xControllers.cs
+++ b/ApiControllers/rep_eva_xControllers.cs
@@ -271,8 +271,22 @@ namespace TodoAPI2.Controllers
var rep_type = new int[] { 1, 2, 3, 4, 5 };
+ var loginPositionName = (from i in emp.GetAllEmployee()
+ where i.id.ToString() == Request.Cookies["emp_id"]
+ select i.position_name).FirstOrDefault();
+
foreach (var k in rep_type)
{
+ if (!string.IsNullOrEmpty(loginPositionName))
+ {
+ if (!(loginPositionName == "นักทรัพยากรบุคคล" || loginPositionName.Contains("ผู้อำนวยการ"))
+ && (k == 2 || k == 3 || k == 4 || k == 5)
+ )
+ {
+ continue;
+ }
+ }
+
string url = $"{mainurl}{reportsite}/rep_eva_x{k}.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}";
if(k == 3)
@@ -284,6 +298,10 @@ namespace TodoAPI2.Controllers
{
url = $"{mainurl}{reportsite}/rep_eva_x{k}AC.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}";
}
+ if (string.IsNullOrEmpty(p1.supervisor2A_fullname))
+ {
+ url = $"{mainurl}{reportsite}/rep_eva_x{k}A2.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}";
+ }
}
else
{
diff --git a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs
index 14ab8a4..037f7c3 100644
--- a/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs
+++ b/Models/eva_create_evaluation_detail_firstdoc/eva_create_evaluation_detail_firstdocViewModel.cs
@@ -101,7 +101,7 @@ namespace TodoAPI2.Models
{
if (s == "Y")
{
- return "ส่งแบบประเมินแล้ว
";
+ return "ส่งข้อตกลงแล้ว
";
}
else if (s == "N")
{
diff --git a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs
index 0cb7f1f..26634ce 100644
--- a/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs
+++ b/Models/eva_create_evaluation_detail_status/eva_create_evaluation_detail_statusService.cs
@@ -388,6 +388,18 @@ namespace TodoAPI2.Models
private void SendNotification(int? noti_to_employee_id, int? owner_eva_employee_id, int? detail_id, string noti_message, string noti_url)
{
+ /*
+ @Nakorn (ต้น) คุณนครคะ
+ผอ.กลางจะให้ท่านเลขาธิการฯ เริ่มทำในระบบ วันที่ 1 เมษายน 2565 ค่ะ โดยที่ประชุมที่ผ่านมาได้ตรวจรับระบบใบลาไว้ ผอ.กลางจึงขอให้ทางแซดดี ระงับการแจ้งเตือนที่ส่งไปถึงท่าน ณ ตอนนี้ทุกรายการ
+ และล้างรายการแจ้งเตือนของเดิมที่ค้างไว้ออกให้หมดค่ะ เพื่อที่ทางผอ.กลางจะส่งเรื่องให้ท่านเริ่มใช้งานค่ะ
+
+ *** โดยในวันที่ 1 เมษายน 65 เริ่มให้มีแต่การแจ้งเตือนและการอนุมัติเฉพาะระบบใบลาเท่านั้นค่ะ ***
+ *
+ขอให้คุณนครดำเนินการให้ด้วยค่ะ
+ */
+
+ if (noti_to_employee_id == 163) return;
+
if (!noti_to_employee_id.HasValue || !owner_eva_employee_id.HasValue || !detail_id.HasValue) return;
var all_emp = emp.GetAllEmployee();
diff --git a/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs b/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs
index f4363a5..001a09e 100644
--- a/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs
+++ b/Models/eva_evaluation_operating_agreement/eva_evaluation_operating_agreementService.cs
@@ -151,6 +151,20 @@ namespace TodoAPI2.Models
return newkey.Value;
}
+ private void updateMissionNo(int? create_evaluation_detail_id)
+ {
+ var items = (from i in _repository.Context.eva_evaluation_operating_agreement
+ where i.create_evaluation_detail_id == create_evaluation_detail_id
+ orderby i.mission_no
+ select i);
+ int p = 1;
+ foreach(var i in items)
+ {
+ i.mission_no = p;
+ p++;
+ }
+ _repository.Context.SaveChanges();
+ }
public eva_evaluation_operating_agreementViewModel Insert(eva_evaluation_operating_agreementInputModel model)
{
@@ -175,6 +189,9 @@ namespace TodoAPI2.Models
entity.SetAutoField(_repository.Context);
var inserted = _repository.Insert(entity);
+
+ updateMissionNo(entity.create_evaluation_detail_id);
+
entity.DoAfterInsertUpdate(_repository.Context);
return Get(inserted.id);
}
@@ -193,6 +210,9 @@ namespace TodoAPI2.Models
existingEntity.SetAutoField(_repository.Context);
var updated = _repository.Update(id, existingEntity);
+
+ updateMissionNo(existingEntity.create_evaluation_detail_id);
+
existingEntity.DoAfterInsertUpdate(_repository.Context);
return Get(updated.id);
}
diff --git a/Models/external_employee/external_employeeService.cs b/Models/external_employee/external_employeeService.cs
index 4002888..6ec01f1 100644
--- a/Models/external_employee/external_employeeService.cs
+++ b/Models/external_employee/external_employeeService.cs
@@ -312,112 +312,63 @@ 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((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 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)
- 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 between @start_date and @end_date)
- or (tad_general.end_date between @start_date and @end_date))
- ) as count_sick_leave, (
- 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 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)
- 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 between @start_date and @end_date)
- or (tad_general.end_date between @start_date and @end_date))
- ) as count_personal_leave, (
- 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 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)
- 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 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
- 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((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 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)
- 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 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
+SELECT
+
+SUM(CASE WHEN tad_general.leave_type_id = '2' THEN tad_general_detail.dayoff_qty END) as sum_day_sick_leave,
+COUNT(DISTINCT CASE WHEN tad_general.leave_type_id = '2' THEN tad_general_detail.general_leave_id END) as count_sick_leave,
+
+SUM(CASE WHEN tad_general.leave_type_id = '4' THEN tad_general_detail.dayoff_qty END) as sum_day_personal_leave,
+COUNT(DISTINCT CASE WHEN tad_general.leave_type_id = '4' THEN tad_general_detail.general_leave_id END) as count_personal_leave,
+
+SUM(CASE WHEN tad_general.leave_type_id = '1' THEN tad_general_detail.dayoff_qty END) as sum_day_vacation_leave,
+COUNT(DISTINCT CASE WHEN tad_general.leave_type_id = '1' THEN tad_general_detail.general_leave_id END) as count_vacation_leave,
+
+(
+ SELECT COUNT(DISTINCT tad_stop.date) FROM public.tad_stop_workings as tad_stop
+ WHERE tad_stop.deleted_at is null
+ AND tad_stop.status = 3
+
+ AND tad_stop.employee_id = @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
+ INNER 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.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.employee_id = @employee_id
+ 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
+ INNER 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.time_in is null
+ AND prs_time_result.time_out is null
+ AND prs_time_result.record_type = 'Absence'
+
+ AND prs_time_result.employee_id = @employee_id
+ AND prs_time_result.date BETWEEN @start_date AND @end_date
+) as count_absence_tad_processing_time_results,
+
+SUM(CASE WHEN tad_general.leave_type_id = '2' OR tad_general.leave_type_id = '4' THEN tad_general_detail.dayoff_qty END) as sum_day_sick_personal_leave,
+COUNT(DISTINCT CASE WHEN tad_general.leave_type_id = '2' OR tad_general.leave_type_id = '4' THEN tad_general_detail.general_leave_id END) as count_sick_personal_leave
+
+FROM public.tad_general_leave_details as tad_general_detail
+inner join public.tad_general_leaves as tad_general on tad_general_detail.general_leave_id = tad_general.id
+where tad_general_detail.deleted_at is null
+and tad_general.deleted_at is null
+and tad_general.status = '3'
+
+and tad_general.employee_id = @employee_id
+and tad_general_detail.date BETWEEN @start_date AND @end_date
", '"'.ToString());
var para = db.GetParameterListNpgsql();
diff --git a/ViewControllers/eva_self_reviewViewControllers.cs b/ViewControllers/eva_self_reviewViewControllers.cs
index 26a6294..7fbea9b 100644
--- a/ViewControllers/eva_self_reviewViewControllers.cs
+++ b/ViewControllers/eva_self_reviewViewControllers.cs
@@ -39,7 +39,8 @@ namespace TodoAPI2.Controllers
{
MyHelper.get_login(HttpContext, emp, Response);
if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); // Or UnauthorizedView
- return View();
+ return View("eva_self_review_close");
+ //return View();
}
// public IActionResult eva_self_review_d()
diff --git a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml
index 8989082..cbba8a1 100644
--- a/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml
+++ b/Views/eva_adjust_postponement_normalView/eva_adjust_postponement_normal_d.cshtml
@@ -124,14 +124,14 @@
ยังไม่เปิดให้บริการ
+ +