ส่ง code แก้ไข OP Change Request 18 ข้อ

This commit is contained in:
Nakorn Rientrakrunchai
2020-05-24 00:33:22 +07:00
parent 017a29c136
commit eea05beb69
81 changed files with 1047 additions and 312 deletions

View File

@@ -110,7 +110,16 @@ 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 fk_external_linkageResult2.department_name, fk_external_linkageResult2.fullname
orderby
// 1. ให้แสดงรายชื่อพนักงานตามลำดับก่อน-หลัง ของประเภทหน่วยงานที่กำหนดให้กับหน่วยงาน (ตรวจสอบจากฟิลด์ลำดับที่ของประเภทหน่วยงาน(department_degree_id) จากน้อยไปมาก)
fk_external_linkageResult2.department_degree_id,
// กรณีที่มีรายชื่อหน่วยงานที่อยู่ระดับเดียวกันมากกว่า 1 หน่วยงาน ให้จัดเรียงข้อมูลตามลำดับประเภทหน่วยงานก่อน และตามด้วยลำดับที่ของหน่วยงาน จากตารางกำหนดหน่วยงาน ฟิลด์ ลำดับ(department_code) จากน้อยไปมาก
// 2. แสดงรายชื่อพนักงานที่อยู่ในหน่วยงานย่อยตามโครงสร้างองค์กรและจัดเรียงหน่วยงานย่อยโดยจัดเรียงตามลำดับ(department_code) จากน้อยไปมาก โดยจัดกลุ่มแสดงรายชื่อพนักงานเป็นหน่วยงาน
fk_external_linkageResult2.department_code,
// 3.การแสดงรายชื่อพนักงานในแต่ละหน่วยงาน ให้ระบบจัดเรียงรายชื่อพนักงานตามระดับตำแหน่ง โดยเรียงจากน้อยไปมาก ตรวจสอบลำดับระดับตำแหน่ง ได้จาก ฟิลด์ “ลำดับ” (position_level_id)
fk_external_linkageResult2.position_level_id,
// 4. กรณีที่ ในหน่วยนั้นๆ มีระดับตำแหน่งเหมือนกันมากกว่า 1 คน ให้ระบบจัดเรียงรายชื่อพนักงานตามรหัสพนักงานตรวจได้จากฟิลด์ “รหัสพนักงาน”( employee_no) จากน้อยไปมาก
fk_external_linkageResult2.employee_no
select new eva_adjust_postponement_detail_normal_02ViewModel()
{
id = m_eva_adjust_postponement_detail_normal_02.id,

View File

@@ -114,7 +114,10 @@ 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_name, fk_external_linkageResult2.fullname
orderby fk_external_linkageResult2.department_degree_id,
fk_external_linkageResult2.department_code,
fk_external_linkageResult2.position_level_id,
fk_external_linkageResult2.employee_no
select new eva_adjust_postponement_detail_quota_02ViewModel()
{
id = m_eva_adjust_postponement_detail_quota_02.id,

View File

@@ -144,7 +144,7 @@ namespace TodoAPI2.Models
supervisor1_id = m_eva_create_evaluation.supervisor1_id,
supervisor2_id = m_eva_create_evaluation.supervisor2_id,
performance_plan_id_eva_performance_plan_fiscal_year = fk_eva_performance_planResult1.fiscal_year,
performance_plan_id_eva_performance_plan_fiscal_year = fk_eva_performance_planResult1.display_text,
employee_id_external_linkage_external_name = fk_external_linkageResult2.fullname,
evaluation_group_id_eva_evaluation_group_code = fk_eva_evaluation_groupResult5.code,
evaluation_group_id_eva_evaluation_group_name = fk_eva_evaluation_groupResult5.thegroup,

View File

@@ -28,7 +28,7 @@ namespace TodoAPI2.Models
public int? supervisor2_id { get; set; }
public int? performance_plan_id_eva_performance_plan_fiscal_year { get; set; }
public string performance_plan_id_eva_performance_plan_fiscal_year { get; set; }
public string employee_id_external_linkage_external_name { get; set; }
public string evaluation_group_id_eva_evaluation_group_code { get; set; }
@@ -42,9 +42,7 @@ namespace TodoAPI2.Models
{
string y = "";
if (performance_plan_id_eva_performance_plan_fiscal_year.HasValue) y = performance_plan_id_eva_performance_plan_fiscal_year.ToString();
return evaluation_group_id_eva_evaluation_group_name + " ปี " +y;
return evaluation_group_id_eva_evaluation_group_name + " " + performance_plan_id_eva_performance_plan_fiscal_year;
}
}
}

View File

@@ -114,12 +114,11 @@ namespace TodoAPI2.Models
join fk_external_linkage25 in ext.GetAgreeDisagree() on m_eva_create_evaluation_detail.supervisor2_result equals fk_external_linkage25.external_code
into external_linkageResult25
from fk_external_linkageResult25 in external_linkageResult25.DefaultIfEmpty()
where 1 ==1
&& (m_eva_create_evaluation_detail.create_evaluation_id == model.create_evaluation_id || !model.create_evaluation_id.HasValue)
orderby m_eva_create_evaluation_detail.created descending
orderby fk_external_linkageResult2.department_code, fk_external_linkageResult2.position_level_id
select new eva_create_evaluation_detailViewModel()
{
id = m_eva_create_evaluation_detail.id,
@@ -165,6 +164,13 @@ namespace TodoAPI2.Models
position_level_text = fk_external_linkageResult2.position_level_text,
position_type_text = fk_external_linkageResult2.position_type_name,
employee_no = fk_external_linkageResult2.employee_no,
position_number = fk_external_linkageResult2.position_number,
position_name = fk_external_linkageResult2.position_name,
remark = null,
department_name = fk_external_linkageResult2.department_name,
isActive = m_eva_create_evaluation_detail.isActive,
Created = m_eva_create_evaluation_detail.created,
Updated = m_eva_create_evaluation_detail.updated

View File

@@ -89,5 +89,13 @@ namespace TodoAPI2.Models
public string position_type_text { get; set; }
public string position_level_text { get; set; }
public string employee_no { get; set; }
public string position_number { get; set; }
public string position_name { get; set; }
public string remark { get; set; }
public string department_name { get; set; }
}
}

View File

@@ -82,7 +82,7 @@ namespace TodoAPI2.Models
select new eva_create_evaluation_detail_agreementWithSelectionViewModel()
{
id = m_eva_create_evaluation_detail_agreement.id,
evaluation_round = fk_eva_create_evaluationResult10.eva_performance_plan.theTime.ToString(),
evaluation_round = fk_eva_create_evaluationResult10.eva_performance_plan.display_text,
employee_code = fk_external_employee.employee_no,
employee_fullname = fk_external_employee.fullname,
employee_position = fk_external_employee.position_name,
@@ -101,6 +101,8 @@ namespace TodoAPI2.Models
org_id_external_linkage_external_name = fk_external_employee.department_name,
remark_hrm_work_record = fk_external_employee.remark_hrm_work_record,
isActive = m_eva_create_evaluation_detail_agreement.isActive,
Created = m_eva_create_evaluation_detail_agreement.created,
Updated = m_eva_create_evaluation_detail_agreement.updated

View File

@@ -48,5 +48,7 @@ namespace TodoAPI2.Models
public string status_supervisor { get; set; }
public string remark_hrm_work_record { get; set; }
}
}

View File

@@ -81,7 +81,7 @@ namespace TodoAPI2.Models
select new eva_create_evaluation_detail_processWithSelectionViewModel()
{
id = m_eva_create_evaluation_detail_process.id,
evaluation_round = fk_eva_create_evaluationResult10.eva_performance_plan.theTime.ToString(),
evaluation_round = fk_eva_create_evaluationResult10.eva_performance_plan.display_text,
employee_code = fk_external_employee.employee_no,
employee_fullname = fk_external_employee.fullname,
employee_position = fk_external_employee.position_name,
@@ -120,6 +120,8 @@ namespace TodoAPI2.Models
fk_eva_create_evaluationResult10.supervisor1_id,
fk_eva_create_evaluationResult10.supervisor2_id),
remark_hrm_work_record = fk_external_employee.remark_hrm_work_record,
isActive = m_eva_create_evaluation_detail_process.isActive,
Created = m_eva_create_evaluation_detail_process.created,
Updated = m_eva_create_evaluation_detail_process.updated
@@ -188,7 +190,10 @@ namespace TodoAPI2.Models
|| (fk_eva_create_evaluationResult10.supervisor2_id.HasValue && emp_id == fk_eva_create_evaluationResult10.supervisor2_id)
)
orderby m_eva_create_evaluation_detail_process.created descending
orderby fk_external_employee.department_degree_id,
fk_external_employee.department_code,
fk_external_employee.position_level_id,
fk_external_employee.employee_no
select new eva_create_evaluation_detail_processViewModel()
{
id = m_eva_create_evaluation_detail_process.id,

View File

@@ -58,6 +58,8 @@ namespace TodoAPI2.Models
public string role_desc { get; set; }
public string role_code { get; set; }
public string remark_hrm_work_record { get; set; }
}
}

View File

@@ -92,37 +92,10 @@ namespace TodoAPI2.Models
public List<eva_evaluation_group_detailViewModel> GetListByevaluation_group_id(Guid? evaluation_group_id)
{
var data = (
from m_eva_evaluation_group_detail in _repository.Context.eva_evaluation_group_detail
eva_evaluation_group_detailSearchModel model = new eva_evaluation_group_detailSearchModel();
model.evaluation_group_id = evaluation_group_id;
join fk_eva_evaluation_group1 in _repository.Context.eva_evaluation_group on m_eva_evaluation_group_detail.evaluation_group_id equals fk_eva_evaluation_group1.id
into eva_evaluation_groupResult1
from fk_eva_evaluation_groupResult1 in eva_evaluation_groupResult1.DefaultIfEmpty()
join fk_external_employee in external_employee.GetListByemployee_type(null, null) on m_eva_evaluation_group_detail.employee_id equals fk_external_employee.id
into external_employeeResult
from fk_external_employeeResult in external_employeeResult.DefaultIfEmpty()
where m_eva_evaluation_group_detail.evaluation_group_id == evaluation_group_id || !evaluation_group_id.HasValue
orderby m_eva_evaluation_group_detail.created descending
select new eva_evaluation_group_detailViewModel()
{
id = m_eva_evaluation_group_detail.id,
evaluation_group_id = m_eva_evaluation_group_detail.evaluation_group_id,
employee_id = m_eva_evaluation_group_detail.employee_id,
evaluation_group_id_eva_evaluation_group_code = fk_eva_evaluation_groupResult1.code,
position_number = fk_external_employeeResult.position_number,
position_name = fk_external_employeeResult.position_name,
fullname = fk_external_employeeResult.fullname,
isActive = m_eva_evaluation_group_detail.isActive,
Created = m_eva_evaluation_group_detail.created,
Updated = m_eva_evaluation_group_detail.updated
}
).ToList();
var data = GetListBySearch(model);
return data;
}
@@ -143,8 +116,11 @@ namespace TodoAPI2.Models
where 1==1
&& (m_eva_evaluation_group_detail.evaluation_group_id == model.evaluation_group_id || !model.evaluation_group_id.HasValue)
orderby m_eva_evaluation_group_detail.created descending
orderby
fk_external_employeeResult.department_degree_id,
fk_external_employeeResult.department_code,
fk_external_employeeResult.position_level_id,
fk_external_employeeResult.employee_no
select new eva_evaluation_group_detailViewModel()
{
id = m_eva_evaluation_group_detail.id,
@@ -157,6 +133,10 @@ namespace TodoAPI2.Models
position_name = fk_external_employeeResult.position_name,
fullname = fk_external_employeeResult.fullname,
department_name = fk_external_employeeResult.department_name,
position_level_text = fk_external_employeeResult.position_level_text,
employee_no = fk_external_employeeResult.employee_no,
isActive = m_eva_evaluation_group_detail.isActive,
Created = m_eva_evaluation_group_detail.created,
Updated = m_eva_evaluation_group_detail.updated

View File

@@ -26,5 +26,9 @@ namespace TodoAPI2.Models
public string fullname { get; set; }
public string department_name { get; set; }
public string position_level_text { get; set; }
public string employee_no { get; set; }
}
}
}

View File

@@ -19,6 +19,20 @@ namespace TodoAPI2.Models
public int? theTime { get; set; }
[NotMapped]
public string display_text
{
get
{
if(!theTime.HasValue || !fiscal_year.HasValue)
{
return "";
}
else
{
return theTime.ToString() + "/" + fiscal_year.ToString();
}
}
}
}
}

View File

@@ -72,7 +72,18 @@ 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.position_type_id,hpt.position_type_name,he.packing_date,
(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()
AND hrm_work_rec.end_date >= now()
AND hrm_work_rec.deleted_at IS null
LIMIT 1) IS NOT null THEN 'ช่วยปฎิบัติหน้าที่'
ELSE null END) as remark_hrm_work_record,
org_type_depart.department_degree_id
from public.hrm_employees as he
left join public.hrm_position_types as hpt on he.position_type_id=hpt.id
left join public.hrm_position_levels as hpl on he.position_level_id = hpl.id
@@ -82,9 +93,21 @@ left join public.hrm_title_masters as htm on htm.id = he.prefix_card_name
left join public.{0}DepartmentData{0} as orgdata on orgdata.id = he.department_id
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
order by he.firstname,he.lastname;
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 he.deleted_at is null
and hpt.deleted_at is null
and hpl.deleted_at is null
and mpn.deleted_at is null
and opd.deleted_at is null
and htm.deleted_at is null
and orgdata.deleted_at is null
and het.deleted_at is null
and u.deleted_at is null
and org_type_depart.deleted_at is null
and org_depart_color.deleted_at is null
and he.workingstatus = 'สถานะปฏิบัติงาน'
order by he.firstname, he.lastname;
", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
@@ -143,6 +166,14 @@ order by he.firstname,he.lastname;
{
i.packing_date = Convert.ToDateTime(dr["packing_date"]);
}
if (dr["department_degree_id"] != DBNull.Value)
{
i.department_degree_id = Convert.ToInt32(dr["department_degree_id"]);
}
if(dr["remark_hrm_work_record"] != DBNull.Value)
{
i.remark_hrm_work_record = dr["remark_hrm_work_record"].ToString();
}
result.Add(i);
}

View File

@@ -28,37 +28,27 @@ namespace TodoAPI2.Models
public class external_employeeViewModel
{
public int id { get; set; }
public string position_number { get; set; }
public string position_name { get; set; }
public string fullname { get; set; }
public string halfname { get; set; }
public int? employee_type_id { get; set; }
public int? position_id { get; set; }
public int? position_type_id { get; set; }
public string position_type_name { get; set; }
public string user_email { get; set; }
public int? user_id { get; set; }
public int? department_id { get; set; }
public string department_name { get; set; }
public string department_code { get; set; }
public decimal? salary { get; set; }
public string employee_type_name { get; set; }
public string employee_no { get; set; }
public int? 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; }
public string remark_hrm_work_record { get; set; }
public int? worked_month // ทำงานมาแล้วกี่เดือน
{

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TTSW.EF;
using TTSW.Utils;
using TTSW.Constant;
using TTSW.Common;
using TodoAPI2.Models;
namespace TodoAPI2.Models
{
public interface Irep_leave_total_02Service
{
rep_leave_total_02WithSelectionViewModel GetBlankItem();
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using TTSW.EF;
using TTSW.Utils;
using TTSW.Constant;
using TTSW.Common;
namespace TodoAPI2.Models
{
public class rep_leave_total_02InputModel
{
public Guid? id { get; set; }
public string employee_id { get; set; }
public int? org_id { get; set; }
public DateTime? start_date { get; set; }
public DateTime? end_date { get; set; }
public string active_mode { get; set; }
}
}

View File

@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using TTSW.EF;
using TTSW.Utils;
using TTSW.Constant;
using TTSW.Common;
namespace TodoAPI2.Models
{
public class rep_leave_total_02ReportRequestModel : rep_leave_total_02SearchModel
{
public string filetype { get; set; }
public string contentType { get { return MyHelper.GetContentType(filetype); } }
}
}

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using TTSW.EF;
using TTSW.Utils;
using TTSW.Constant;
using TTSW.Common;
namespace TodoAPI2.Models
{
public class rep_leave_total_02SearchModel
{
public Guid id { get; set; }
public string employee_id { get; set; }
public int? org_id { get; set; }
public DateTime? start_date { get; set; }
public string start_date_text { get { return MyHelper.GetDateStringForReport(this.start_date); } }
public DateTime? end_date { get; set; }
public string end_date_text { get { return MyHelper.GetDateStringForReport(this.end_date); } }
}
}

View File

@@ -0,0 +1,46 @@
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TTSW.EF;
using TTSW.Utils;
using TTSW.Constant;
using TTSW.Common;
using TodoAPI2.Models;
using System.IO;
using System.Web;
using System.Net;
using TTSW.Configure;
using Microsoft.Extensions.Options;
using System.Data;
namespace TodoAPI2.Models
{
public class rep_leave_total_02Service : Irep_leave_total_02Service
{
private IBaseRepository<eva_level_scoreEntity, Guid> _repository;
private IMyDatabase db;
private Iexternal_linkageService ext;
private Iexternal_employeeService emp;
public rep_leave_total_02Service(IBaseRepository<eva_level_scoreEntity, Guid> repository,
IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp)
{
_repository = repository;
db = mydb;
ext = inext;
emp = inemp;
}
public rep_leave_total_02WithSelectionViewModel GetBlankItem()
{
var i = new rep_leave_total_02WithSelectionViewModel();
i.item_employee_id = (from x in emp.GetListByemployee_type(null, null) orderby x.fullname select x).ToList();
i.item_org_id = (from x in ext.GetDepartmentDataForReport() orderby x.external_name select x).ToList();
return i;
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using TTSW.EF;
using TTSW.Utils;
using TTSW.Constant;
using TTSW.Common;
namespace TodoAPI2.Models
{
public class rep_leave_total_02ViewModel : BaseViewModel2<Guid>
{
public string employee_id { get; set; }
public int? org_id { get; set; }
public DateTime? start_date { get; set; }
public string txt_start_date { get { return MyHelper.GetDateStringForReport(this.start_date); } }
public DateTime? end_date { get; set; }
public string txt_end_date { get { return MyHelper.GetDateStringForReport(this.end_date); } }
public string employee_id_external_linkage_external_name { get; set; }
public string org_id_external_linkage_external_name { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace TodoAPI2.Models
{
public class rep_leave_total_02WithSelectionViewModel: rep_leave_total_02ViewModel
{
public List<external_employeeViewModel> item_employee_id { get; set; }
public List<external_linkageViewModel> item_org_id { get; set; }
}
}