First Initial

This commit is contained in:
Nakorn Rientrakrunchai
2020-02-20 15:02:39 +07:00
commit 8b98125e49
3048 changed files with 760804 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
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 Iexternal_linkageService
{
List<external_linkageViewModel> Getcreate_evaluationDetail();
List<external_linkageViewModel> Gethrm_employee_types();
List<external_linkageViewModel> Gethrm_position_types();
List<external_linkageViewModel> Gethrm_position_levels();
List<external_linkageViewModel> GetYesNo();
List<external_linkageViewModel> GetDataType();
List<external_linkageViewModel> GetChoice(int start, int end);
List<external_linkageViewModel> Getevaluation_type();
List<external_linkageViewModel> Getevaluation_status();
List<external_linkageViewModel> Getevaluation_accept();
List<external_linkageViewModel> GetAgreeDisagree();
List<external_linkageViewModel> GetDepartmentData();
List<external_linkageViewModel> GetDepartmentDataForReport();
List<external_linkageViewModel> GetPositionForReport();
List<external_linkageViewModel> GetEducationForReport();
List<external_linkageViewModel> GetRelationshipForReport();
List<external_linkageViewModel> GetFiscalYear();
List<external_linkageViewModel> GetEvaRound();
}
}

View File

@@ -0,0 +1,377 @@
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 external_linkageService : Iexternal_linkageService
{
private IMyDatabase db;
private IBaseRepository2<eva_adjust_postponementEntity, int> _repository;
public external_linkageService(IMyDatabase mydb, IBaseRepository2<eva_adjust_postponementEntity, int> repository)
{
db = mydb;
_repository = repository;
}
public List<external_linkageViewModel> Getcreate_evaluationDetail()
{
var item_create_evaluation_id = (from x in _repository.Context.eva_create_evaluation select x);
var result = new List<external_linkageViewModel>();
foreach(var x in item_create_evaluation_id)
{
var i = new external_linkageViewModel();
i.external_id = x.id;
i.external_code = x.id.ToString();
i.external_name = x.eva_evaluation_group.thegroup + " ปี " + x.eva_performance_plan.fiscal_year.ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> Gethrm_employee_types()
{
var sql = "SELECT * FROM public.hrm_employee_types where deleted_at is null and employee_type_id != '05' order by employee_type_id";
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["employee_type_id"].ToString();
i.external_name = dr["employee_type_id"].ToString() + " " + dr["employee_type_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> Gethrm_position_types()
{
var sql = "SELECT * FROM public.hrm_position_types where deleted_at is null order by position_type_id";
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["position_type_id"].ToString();
i.external_name = dr["position_type_id"].ToString() + " " + dr["position_type_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> Gethrm_position_levels()
{
var sql = "SELECT * FROM public.hrm_position_levels where deleted_at is null order by position_level_id";
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["position_level_id"].ToString();
i.external_name = dr["position_level_id"].ToString() + " " + dr["position_level_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetYesNo()
{
var result = new List<external_linkageViewModel>();
var i = new external_linkageViewModel();
i.external_id = 1;
i.external_code = "yes";
i.external_name = "ใช่";
result.Add(i);
var j = new external_linkageViewModel();
j.external_id = 2;
j.external_code = "no";
j.external_name = "ไม่ใช่";
result.Add(j);
return result;
}
public List<external_linkageViewModel> GetChoice(int start, int end)
{
var result = new List<external_linkageViewModel>();
for(int i=start; i<=end; i++)
{
var x = new external_linkageViewModel();
x.external_id = i;
x.external_code = i.ToString();
x.external_name = i.ToString();
result.Add(x);
}
return result;
}
public List<external_linkageViewModel> GetDataType()
{
var result = new List<external_linkageViewModel>();
var i = new external_linkageViewModel();
i.external_id = 1;
i.external_code = "01";
i.external_name = "ส่วนที่ 1 ผลงาน";
result.Add(i);
var j = new external_linkageViewModel();
j.external_id = 2;
j.external_code = "02";
j.external_name = "ส่วนที่ 2 การปฏิบัติ";
result.Add(j);
return result;
}
//i.item_evaluation_type = (from x in _repository.Context.external_linkage select x).ToList();
//i.item_evaluation_status = (from x in _repository.Context.external_linkage select x).ToList();
//i.item_grantee_id = (from x in _repository.Context.external_linkage select x).ToList();
//i.item_evaluation_accept = (from x in _repository.Context.external_linkage select x).ToList();
public List<external_linkageViewModel> Getevaluation_type()
{
var result = new List<external_linkageViewModel>();
var i = new external_linkageViewModel();
i.external_id = 1;
i.external_code = "01";
i.external_name = "ผู้ถูกประเมิน";
result.Add(i);
var j = new external_linkageViewModel();
j.external_id = 2;
j.external_code = "02";
j.external_name = "ผู้ประเมิน";
result.Add(j);
var l = new external_linkageViewModel();
l.external_id = 3;
l.external_code = "03";
l.external_name = "ผู้บังคับบัญชาสูงขึ้นไปหนึ่งระดับ";
result.Add(l);
var m = new external_linkageViewModel();
m.external_id = 4;
m.external_code = "04";
m.external_name = "ผู้บังคับบัญชาสูงขึ้นไปสองระดับ";
result.Add(m);
return result;
}
public List<external_linkageViewModel> Getevaluation_status()
{
var result = new List<external_linkageViewModel>();
var i = new external_linkageViewModel();
i.external_id = 1;
i.external_code = "N";
i.external_name = "ยังไม่ส่ง";
result.Add(i);
var j = new external_linkageViewModel();
j.external_id = 2;
j.external_code = "Y";
j.external_name = "ส่งแล้ว";
result.Add(j);
return result;
}
public List<external_linkageViewModel> Getevaluation_accept()
{
var result = new List<external_linkageViewModel>();
var i = new external_linkageViewModel();
i.external_id = 10;
i.external_code = "N1";
i.external_name = "ยังไม่แจ้งผล";
result.Add(i);
var j = new external_linkageViewModel();
j.external_id = 11;
j.external_code = "Y1";
j.external_name = "แจ้งผลแล้ว";
result.Add(j);
var k = new external_linkageViewModel();
k.external_id = 20;
k.external_code = "N2";
k.external_name = "ยังไม่ทราบผล";
result.Add(k);
var l = new external_linkageViewModel();
l.external_id = 21;
l.external_code = "Y2";
l.external_name = "ทราบผลแล้ว";
result.Add(l);
return result;
}
public List<external_linkageViewModel> GetAgreeDisagree()
{
var result = new List<external_linkageViewModel>();
var i = new external_linkageViewModel();
i.external_id = 1;
i.external_code = "Y";
i.external_name = "เห็นด้วยกับผลการประเมิน";
result.Add(i);
var j = new external_linkageViewModel();
j.external_id = 2;
j.external_code = "N";
j.external_name = "ไม่เห็นด้วยและมีความเห็นต่าง";
result.Add(j);
return result;
}
public List<external_linkageViewModel> GetDepartmentData()
{
var sql = string.Format("select * from public.{0}DepartmentData{0} where department_name != ''; ",'"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["department_code"].ToString();
i.external_name = dr["department_name"].ToString();
result.Add(i);
}
return result;
}
// FOR REPORT
public List<external_linkageViewModel> GetDepartmentDataForReport()
{
var sql = string.Format("select {0}a{0}.{0}chart_detail_id{0}, {0}a{0}.{0}organization_chart_id{0}, {0}a{0}.{0}department_id{0}, (CASE WHEN a.department_id IS NOT null THEN (SELECT org_short.department_name FROM org_department_version_names AS org_short WHERE org_short.deleted_at IS null AND org_short.department_id = a.department_id AND org_short.effective_date <= now() ORDER BY org_short.effective_date DESC LIMIT 1) ELSE null END) AS department_name, {0}c{0}.{0}effective_date{0}, {0}c{0}.{0}expry_date{0}, CASE WHEN CAST(a.parent_department_id AS int) < 0 THEN (SELECT organization_name FROM org_organization_datas WHERE deleted_at IS null AND organization_id = ABS(a.parent_department_id)) ELSE (SELECT org_department_version.department_name FROM org_department_version_names AS org_department_version WHERE org_department_version.deleted_at IS null AND org_department_version.department_id = ABS(a.parent_department_id) AND org_department_version.effective_date <= now() ORDER BY org_department_version.effective_date DESC LIMIT 1) END AS parent_name_datas, CAST(a.parent_department_id AS int) AS parent_department_id, {0}b{0}.{0}organization_chart_name{0}, {0}b{0}.{0}version{0}, {0}a{0}.{0}created_at{0}, {0}a{0}.{0}updated_at{0} from {0}org_organization_chart_details{0} as {0}a{0} left join {0}org_organization_charts{0} as {0}b{0} on {0}b{0}.{0}id{0} = {0}a{0}.{0}organization_chart_id{0} left join {0}org_department_datas{0} as {0}c{0} on {0}a{0}.{0}department_id{0} = {0}c{0}.{0}id{0} where ({0}b{0}.{0}version{0} = (SELECT MAX(version) FROM org_organization_charts WHERE deleted_at IS null AND effective_date <= now())) and {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", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["department_id"]);
i.external_code = dr["department_id"].ToString();
i.external_name = dr["department_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetPositionForReport()
{
var sql = string.Format("select {0}mpn{0}.{0}id{0}, {0}mpn{0}.{0}position_number{0}, {0}pos{0}.{0}position_name{0}, {0}he{0}.{0}employee_id{0}, CONCAT(hrm_title.title_name,' ',he.firstname,' ',he.lastname) as full_name, CONCAT(mpn.position_number,' ',pos.position_name) as position from {0}hrm_employees{0} as {0}he{0} left join {0}hrm_title_masters{0} as {0}hrm_title{0} on {0}he{0}.{0}prefix_card_name{0} = {0}hrm_title{0}.{0}id{0} left join {0}mpp_position_numbers{0} as {0}mpn{0} on {0}he{0}.{0}position{0} = {0}mpn{0}.{0}id{0} left join {0}org_position_datas{0} as {0}pos{0} on {0}mpn{0}.{0}position_id{0} = {0}pos{0}.{0}position_id{0} where {0}he{0}.{0}deleted_at{0} is null and {0}hrm_title{0}.{0}deleted_at{0} is null and {0}pos{0}.{0}deleted_at{0} is null and {0}mpn{0}.{0}deleted_at{0} is null", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["id"].ToString();
i.external_name = dr["position"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetEducationForReport()
{
var sql = string.Format("SELECT * FROM hrm_education_masters;", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["id"].ToString();
i.external_name = dr["edu_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetRelationshipForReport()
{
var sql = string.Format("SELECT * FROM hrm_relationship_masters;", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["id"]);
i.external_code = dr["id"].ToString();
i.external_name = dr["relationship_name"].ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetFiscalYear()
{
int start_year = DateTime.Now.Year - 10;
if (start_year < 2400) start_year += 543;
int end_year = DateTime.Now.Year + 3;
if (end_year < 2400) end_year += 543;
var result = new List<external_linkageViewModel>();
for (int x = start_year; x<=end_year; x++)
{
var i = new external_linkageViewModel();
i.external_id = x;
i.external_code = x.ToString();
i.external_name = x.ToString();
result.Add(i);
}
return result;
}
public List<external_linkageViewModel> GetEvaRound()
{
var sql = string.Format("select distinct eva_performance_plan.{0}theTime{0} from eva_performance_plan order by eva_performance_plan.{0}theTime{0}", '"'.ToString());
var para = db.GetParameterListNpgsql();
DataTable dt = db.ExecuteDataTableNpgsql(sql, para);
var result = new List<external_linkageViewModel>();
foreach (DataRow dr in dt.Rows)
{
var i = new external_linkageViewModel();
i.external_id = Convert.ToInt32(dr["theTime"]);
i.external_code = dr["theTime"].ToString();
i.external_name = dr["theTime"].ToString();
result.Add(i);
}
return result;
}
}
}

View File

@@ -0,0 +1,27 @@
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 external_linkageViewModel
{
public int? external_id { get; set; }
public string external_code { get; set; }
public string external_name { get; set; }
public int? id { get { return external_id; } }
}
}