เพิ่มประวัติ การดำเนินกิจกรรมการประเมิน

This commit is contained in:
LAPTOP-KB8JC2K2\acer
2021-04-13 15:14:51 +07:00
parent 9feecad1cb
commit ddb4232254
29 changed files with 2626 additions and 47 deletions

View File

@@ -34,6 +34,8 @@ namespace TodoAPI2.Models
public string status_mode { get; set; }
public int? employee_id { get; set; }
public string active_mode { get; set; }
}
}

View File

@@ -28,16 +28,18 @@ namespace TodoAPI2.Models
private IMyDatabase db;
private Iexternal_linkageService ext;
private Iexternal_employeeService emp;
private Ieva_create_evaluation_detail_historyService his;
private IConfiguration Configuration { get; set; }
public eva_create_evaluation_detail_statusService(IBaseRepository2<eva_create_evaluation_detailEntity, int> repository,
IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, IConfiguration configuration)
IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp, IConfiguration configuration, Ieva_create_evaluation_detail_historyService inhis)
{
_repository = repository;
db = mydb;
ext = inext;
emp = inemp;
Configuration = configuration;
his = inhis;
}
#region Private Functions
@@ -155,13 +157,33 @@ namespace TodoAPI2.Models
var entity = GetEntity(model);
entity.id = GetNewPrimaryKey();
var inserted = _repository.Insert(entity);
return Get(inserted.id);
}
private void add_history(DateTime? dt, string action, int? action_user_id, int? detail_id)
{
int? newkey = 0;
var x = (from i in _repository.Context.eva_create_evaluation_detail_history
orderby i.id descending
select i).Take(1).ToList();
if (x.Count > 0)
{
newkey = x[0].id + 1;
}
var n = new eva_create_evaluation_detail_historyEntity();
n.id = newkey.Value;
n.action_detail = action;
n.action_dt = dt;
n.action_emp_id = action_user_id;
n.evaluation_detail_id = detail_id;
_repository.Context.Add(n);
}
public eva_create_evaluation_detail_statusViewModel Update(int id, eva_create_evaluation_detail_statusInputModel model)
{
var existingEntity = _repository.Get(id);
@@ -198,23 +220,25 @@ namespace TodoAPI2.Models
if (model.status_mode == "nextA")
{
existingEntity.status_self_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_self_a_click_date = DateTime.Now;
existingEntity.status_chief_a_click_date = null;
noti_to_employee_id = existingEntity.chief;
noti_message = "กรุณาตรวจสอบ ข้อตกลงการประเมิน ของ {0}";
noti_url = "/eva/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ส่งข้อตกลงการประเมิน", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "backB")
{
existingEntity.status_chief_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_chief_a_click_date = DateTime.Now;
existingEntity.status_self_a_click_date = null;
noti_to_employee_id = existingEntity.employee_id;
noti_message = "ข้อตกลงการประเมินของคุณ ({0}) ถูกตีกลับ";
noti_url = "/eva/eva_create_evaluation_detail_firstdocView/eva_create_evaluation_detail_firstdoc_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ข้อตกลงการประเมิน ถูกตีกลับ", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "nextB")
{
existingEntity.status_chief_a_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_chief_a_click_date = DateTime.Now;
if (current_eva.employee_id == existingEntity.chief) // หัวหน้าและผู้ประเมินสูงสุด เป็นคนคนเดียวกัน
{
noti_to_employee_id = current_eva.supervisor1_id;
@@ -224,10 +248,11 @@ namespace TodoAPI2.Models
noti_to_employee_id = current_eva.employee_id;
}
need_noti = false;
add_history(DateTime.Now, "อนุมัติ ข้อตกลงการประเมิน", existingEntity.chief, existingEntity.id);
}
else if (model.status_mode == "next0")
{
existingEntity.status_self_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_self_click_date = DateTime.Now;
noti_to_employee_id = existingEntity.chief;
noti_message = "กรุณาตรวจสอบแบบประเมินของ {0}";
noti_url = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString();
@@ -235,10 +260,11 @@ namespace TodoAPI2.Models
noti_to_employee_id2 = owner_eva_employee_id;
noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว";
noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ส่งแบบประเมิน", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "next1")
{
existingEntity.status_chief_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_chief_click_date = DateTime.Now;
if (current_eva.employee_id == existingEntity.chief) // หัวหน้าและผู้ประเมินสูงสุด เป็นคนคนเดียวกัน
{
noti_to_employee_id = current_eva.supervisor1_id;
@@ -250,61 +276,68 @@ namespace TodoAPI2.Models
}
else if (model.status_mode == "back1")
{
existingEntity.status_chief_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_chief_click_date = DateTime.Now;
existingEntity.status_self_click_date = null;
noti_to_employee_id = existingEntity.employee_id;
noti_message = "ข้อตกลงการประเมินของคุณ ({0}) ถูกตีกลับ";
noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ข้อตกลงการประเมิน ถูกตีกลับ โดยผู้ประเมิน", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "next2")
{
existingEntity.status_supervisor_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_supervisor_click_date = DateTime.Now;
noti_to_employee_id = current_eva.supervisor1_id;
noti_to_employee_id2 = owner_eva_employee_id;
noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว";
noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ผู้ประเมินสูงสุด อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "back2")
{
existingEntity.status_supervisor_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_supervisor_click_date = DateTime.Now;
existingEntity.status_chief_click_date = null;
noti_to_employee_id = existingEntity.chief;
noti_message = "แบบประเมินของ {0} ถูกตีกลับ";
noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "แบบประเมิน ถูกตีกลับ โดยผู้ประเมินสูงสุด", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "next3")
{
existingEntity.status_supervisor1A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_supervisor1A_click_date = DateTime.Now;
noti_to_employee_id = current_eva.supervisor2_id;
noti_to_employee_id2 = owner_eva_employee_id;
noti_message2 = "แบบประเมินของ {0} ได้ถูกส่งต่อไปยังขั้นตอนถัดไปแล้ว";
noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "back3")
{
existingEntity.status_supervisor1A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_supervisor1A_click_date = DateTime.Now;
existingEntity.status_supervisor_click_date = null;
noti_to_employee_id = current_eva.employee_id;
noti_message = "แบบประเมินของ {0} ถูกตีกลับ";
noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d2?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "แบบประเมินถูกตีกลับ โดย ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "next4")
{
existingEntity.status_supervisor2A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_supervisor2A_click_date = DateTime.Now;
noti_to_employee_id2 = owner_eva_employee_id;
noti_message2 = "แบบประเมินของ {0} ได้รับการประเมินเรียบร้อยแล้ว";
noti_url2 = "/eva/eva_create_evaluation_detail_processView/eva_create_evaluation_detail_process_d?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง (สูงสุด) อนุมัติแบบประเมินแล้ว", model.employee_id, existingEntity.id);
}
else if (model.status_mode == "back4")
{
existingEntity.status_supervisor2A_click_date = MyHelper.RemoveTimeFromDate(DateTime.Now);
existingEntity.status_supervisor2A_click_date = DateTime.Now;
existingEntity.status_supervisor1A_click_date = null;
noti_to_employee_id = current_eva.supervisor1_id;
noti_message = "แบบประเมินของ {0} ถูกตีกลับ";
noti_url = "/eva/eva_create_evaluation_detail_agreementView/eva_create_evaluation_detail_agreement_d2?id=" + existingEntity.id.ToString();
add_history(DateTime.Now, "แบบประเมินถูกตีกลับ โดย ผู้บังคับบัญชาการเหนือขึ้นไปอีกชั้นหนึ่ง (สูงสุด)", model.employee_id, existingEntity.id);
}
if (need_noti)