Commit edfb1d02 authored by solho's avatar solho

Merge branch 'master' of http://gitlab.epurplevineip.com/sol/code

parents 6b9ef721 fcada1d3
......@@ -271,7 +271,11 @@ namespace WebAPI.Controllers
var table = ds.Tables[0];
DataRow drh = table.Rows[0];
for (int i = 0; i < drh.ItemArray.Length; i++)
{
string a = drh[i].ToString();
Console.WriteLine(ToTraditional(drh[i].ToString()));
table.Columns[i].ColumnName = ToTraditional(drh[i].ToString());
}
Dictionary<String, String> ids = new Dictionary<String, String>(), Temps = new Dictionary<String, String>();
DataRow drRow;
......
......@@ -217,7 +217,20 @@ namespace WebAPI.Controllers
CommonResponseMsg response = new CommonResponseMsg();
try
{
var mode = HttpContext.Current.Request.Form["mode"];
string mode = HttpContext.Current.Request.Form["mode"];
string user_id = HttpContext.Current.Request.Form["user_id"];
if (string.IsNullOrEmpty(user_id))
{
user_id = System.Configuration.ConfigurationManager.AppSettings["user_id"];
}
bool ignore_exist_fee = true;
if(HttpContext.Current.Request.Form["ignore_exist_fee"]!=null)
{
if (HttpContext.Current.Request.Form["ignore_exist_fee"] == "0")
{
ignore_exist_fee = false;
}
}
if (!string.IsNullOrEmpty(mode))
{
if (mode == "check")
......@@ -293,18 +306,73 @@ namespace WebAPI.Controllers
DataRow dr_best_match_fee = null;
CommonResponseMsg result_case_info = dal_case_info.GetCaseInfoByCaseVolume("*", dr_excel["我方文号"].ToString());//案件信息
DataTable dt_case_info = (DataTable)result_case_info.Msg;
//檢查案件是否存在
if (result_check.Code == "1")
{
if (result_case_info.Code == "0" || dt_case_info.Rows.Count != 1)
{
result_check.Code = "0";
result_check.Msg = "此案號無法找到唯一的案件";
}
}
//檢查excel值是否合法
if (result_check.Code == "1")
{
if (dt_excel.Columns.Contains("客户名称"))
{
result_check = CheckInputValid(dt_customer, "客户名称", dr_excel["客户名称"].ToString(), string.Format("customer_name = '{0}'", dr_excel["客户名称"].ToString()), true, ref selected_customer);
}
}
if (result_check.Code == "1")
{
if (dt_excel.Columns.Contains("案件类型"))
{
result_check = CheckInputValid(dt_case_type, "案件类型", dr_excel["案件类型"].ToString(), string.Format("case_type_zh_cn = '{0}' or case_type_zh_tw = '{0}'", dr_excel["案件类型"].ToString()), true, ref selected_case_type);
}
else
{
result_check = CheckInputValid(dt_case_type, "案件类型", dt_case_info.Rows[0]["case_type_id"].ToString(), string.Format("case_type_id = '{0}'", dt_case_info.Rows[0]["case_type_id"].ToString()), true, ref selected_case_type);
}
}
if (result_check.Code == "1")
{
if (dt_excel.Columns.Contains("申请国家"))
{
result_check = CheckInputValid(dt_country, "申请国家", dr_excel["申请国家"].ToString(), string.Format("country_id = '{0}'", dr_excel["申请国家"].ToString()), true, ref selected_country);
}
else
{
result_check = CheckInputValid(dt_country, "申请国家", dt_case_info.Rows[0]["country_id"].ToString(), string.Format("country_id = '{0}'", dt_case_info.Rows[0]["country_id"].ToString()), true, ref selected_country);
}
}
if (result_check.Code == "1")
{
if (dt_excel.Columns.Contains("申请类型"))
{
result_check = CheckInputValid(dt_apply_type, "申请类型", dr_excel["申请类型"].ToString(), string.Format("(apply_type_zh_cn = '{0}' or apply_type_zh_tw = '{0}') and (country_id = '{1}' or country_id = 'ALL') and case_type_id = '{2}'", dr_excel["申请类型"].ToString(), selected_country.FirstOrDefault()["country_id"], selected_case_type.FirstOrDefault()["case_type_id"]), true, ref selected_apply_type);
}
else
{
result_check = CheckInputValid(dt_apply_type, "申请类型", dt_case_info.Rows[0]["apply_type_id"].ToString(), string.Format("(apply_type_id = '{0}') and (country_id = '{1}' or country_id = 'ALL') and case_type_id = '{2}'", dt_case_info.Rows[0]["apply_type_id"].ToString(), selected_country.FirstOrDefault()["country_id"], selected_case_type.FirstOrDefault()["case_type_id"]), true, ref selected_apply_type);
}
}
if (result_check.Code == "1")
{
if (dt_excel.Columns.Contains("业务类型"))
{
result_check = CheckInputValid(dt_business_type, "业务类型", dr_excel["业务类型"].ToString(), string.Format("(business_type_zh_cn = '{0}' or business_type_zh_tw = '{0}') and case_type_id = '{1}'", dr_excel["业务类型"].ToString(), selected_case_type.FirstOrDefault()["case_type_id"]), true, ref selected_business_type);
}
else
{
result_check = CheckInputValid(dt_business_type, "业务类型", dt_case_info.Rows[0]["business_type_id"].ToString(), string.Format("(business_type_id = '{0}') and case_type_id = '{1}'", dt_case_info.Rows[0]["business_type_id"].ToString(), selected_case_type.FirstOrDefault()["case_type_id"]), true, ref selected_business_type);
}
}
if (result_check.Code == "1")
{
if (dt_excel.Columns.Contains("处理事项"))
{
result_check = CheckInputValid(dt_ctrl_proc, "处理事项", dr_excel["处理事项"].ToString(), string.Format("(ctrl_proc_zh_cn = '{0}' or ctrl_proc_zh_tw = '{0}') and (';'+country_id+';' like '%;{1};%' or country_id = 'ALL') and (';'+business_type_id+';' like '%;{2};%' or business_type_id = 'ALL') and (';'+apply_type_id+';' like '%;{3};%' or apply_type_id = 'ALL') and ';'+case_type_id+';' like '%;{4};%'",
dr_excel["处理事项"].ToString(),
......@@ -313,31 +381,20 @@ namespace WebAPI.Controllers
selected_apply_type.FirstOrDefault()["apply_type_id"],
selected_case_type.FirstOrDefault()["case_type_id"]), true, ref selected_ctrl_proc);
}
}
if (result_check.Code == "1")
result_check = CheckInputValid(dt_case_status, "案件阶段", dr_excel["案件阶段"].ToString(), string.Format("(case_status_zh_cn = '{0}' or case_status_zh_tw = '{0}') and case_type_id = '{1}'", dr_excel["案件阶段"].ToString(), selected_case_type.FirstOrDefault()["case_type_id"]), false, ref selected_case_status);
if (result_check.Code == "1")
result_check = CheckInputValid(dt_fee_cate_workitem, "科目", dr_excel["科目"].ToString(), string.Format("text = '{0}' or text_zh_cn = '{0}' or text_zh_tw = '{0}'", dr_excel["科目"].ToString()), false, ref selected_fee_cate_workitem);
result_check = CheckInputValid(dt_fee_cate_workitem, "科目", dr_excel["科目"].ToString(), string.Format("text = '{0}' or text_zh_cn = '{0}' or text_zh_tw = '{0}'", dr_excel["科目"].ToString()), true, ref selected_fee_cate_workitem);
if (result_check.Code == "1")
result_check = CheckInputValid(dt_fc_cate, "程序名称", dr_excel["程序名称"].ToString(), string.Format("text_zh_cn = '{0}' or text_zh_tw = '{0}'", dr_excel["程序名称"].ToString()), false, ref selected_fc_cate);
result_check = CheckInputValid(dt_fc_cate, "程序名称", dr_excel["程序名称"].ToString(), string.Format("text_zh_cn = '{0}' or text_zh_tw = '{0}'", dr_excel["程序名称"].ToString()), true, ref selected_fc_cate);
if (result_check.Code == "1")
result_check = CheckInputValid(dt_currency, "币别", dr_excel["币别"].ToString(), string.Format("currency_id = '{0}'", dr_excel["币别"].ToString()), false, ref selected_currency);
result_check = CheckInputValid(dt_currency, "币别", dr_excel["币别"].ToString(), string.Format("currency_id = '{0}'", dr_excel["币别"].ToString()), true, ref selected_currency);
if (result_check.Code == "1")
result_check = CheckInputValid(dt_fo_tax_rate_name, "税别", dr_excel["税别"].ToString(), string.Format("text = '{0}' or text_zh_cn = '{0}' or text_zh_tw = '{0}'", dr_excel["税别"].ToString()), false, ref selected_fo_tax_rate_name);
if (result_check.Code == "1")
result_check = CheckInputValid(dt_tax_type, "内含/外加", dr_excel["内含/外加"].ToString(), string.Format("text = '{0}' or text_zh_cn = '{0}' or text_zh_tw = '{0}'", dr_excel["内含/外加"].ToString()), false, ref selected_tax_type);
CommonResponseMsg result_case_info = dal_case_info.GetCaseInfoByCaseVolume("*", dr_excel["我方文号"].ToString());//案件信息
DataTable dt_case_info = (DataTable)result_case_info.Msg;
//檢查案件是否存在
if (result_check.Code == "1")
{
if (result_case_info.Code == "0" || dt_case_info.Rows.Count != 1)
{
result_check.Code = "0";
result_check.Msg = "此案號無法找到唯一的案件";
}
}
//檢查處理事項是否存在且唯一
if (result_check.Code == "1")
{
......@@ -405,7 +462,10 @@ namespace WebAPI.Controllers
DataTable dt_proc_fee_list = (DataTable)result_proc_fee_list.Msg;
if (result_proc_fee_list.Code == "1" && dt_proc_fee_list.Rows.Count > 0)
{
if(ignore_exist_fee)
result_check.Code = "2";
else
result_check.Code = "1";
result_check.Msg = "該處理事項已存在相同費用";
}
}
......@@ -430,24 +490,24 @@ namespace WebAPI.Controllers
dic_proc_fee["notice_date"] = null;
dic_proc_fee["request_date"] = null;
dic_proc_fee["tax_id"] = selected_fo_tax_rate_name.Length > 0 ? selected_fo_tax_rate_name.FirstOrDefault()["value"] : "";
dic_proc_fee["recieve_currency_id"] = dr_excel["币别"].ToString();
dic_proc_fee["recieve_currency_id"] = "CNY";
dic_proc_fee["price"] = dr_excel["金额"].ToString();
dic_proc_fee["receive_due_date"] = null;
dic_proc_fee["request_no"] = "";
dic_proc_fee["pay_due_date"] = null;
dic_proc_fee["pay_due_date"] = string.IsNullOrEmpty(dr_excel["缴费期限"].ToString()) ? null : DateTime.Parse(dr_excel["缴费期限"].ToString()).ToString("yyyy/MM/dd");
dic_proc_fee["pay_type"] = "0";
dic_proc_fee["mid_amount"] = dr_excel["金额"].ToString();
dic_proc_fee["mid_amount"] = Math.Round(Convert.ToDecimal(float.Parse(dr_excel["金额"].ToString()) * float.Parse(dr_excel["数量"].ToString()) * float.Parse(dr_excel["汇率"].ToString())), 2, MidpointRounding.AwayFromZero);
dic_proc_fee["recieve_amount"] = "0";
dic_proc_fee["mid_is_divided"] = "0";
dic_proc_fee["receive_date"] = null;
dic_proc_fee["tax_type"] = selected_tax_type.Length > 0 ? selected_tax_type.FirstOrDefault()["value"] : "";
dic_proc_fee["coefficient"] = "1";
dic_proc_fee["ori_rate"] = null;
dic_proc_fee["coefficient"] = dr_excel["数量"].ToString();
dic_proc_fee["ori_rate"] = dr_excel["汇率"].ToString();
dic_proc_fee["fee_type_id"] = dr_best_match_fee["fee_type_id"].ToString();
dic_proc_fee["receive_status"] = "MW";
dic_proc_fee["fee_id"] = Guid.NewGuid().ToString().ToUpper();
dic_proc_fee["pay_date"] = null;
dic_proc_fee["mid_currency_id"] = dr_excel["币别"].ToString();
dic_proc_fee["mid_currency_id"] = "CNY";
dic_proc_fee["remark2"] = "";
dic_proc_fee["proc_id"] = dt_proc_info.Rows[0]["proc_id"].ToString();
dic_proc_fee["is_confirm"] = 0;
......@@ -456,11 +516,11 @@ namespace WebAPI.Controllers
dic_proc_fee["currency_id"] = dr_excel["币别"].ToString();
dic_proc_fee["mid_rate"] = null;
dic_proc_fee["out_bill_date"] = null;
dic_proc_fee["amount"] = dr_excel["金额"].ToString();
dic_proc_fee["amount"] = float.Parse(dr_excel["金额"].ToString()) * float.Parse(dr_excel["数量"].ToString());
dic_proc_fee["agency_id"] = (result_agency_list.Code == "1" && dt_agency_list.Rows.Count > 0) ? dt_agency_list.Rows[0]["agency_id"].ToString() : null;
dic_proc_fee["ori_is_divided"] = "0";
dic_proc_fee["update_time"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
dic_proc_fee["update_user_id"] = "5ce5b6fb-66d2-4281-a124-10034a6c0546";
dic_proc_fee["update_user_id"] = user_id;
dr_excel["import_data"] = JsonConvert.SerializeObject(dic_proc_fee);
dr_excel["id"] = dic_proc_fee["fee_id"];
......@@ -670,6 +730,10 @@ namespace WebAPI.Controllers
{
dic_proc_info["back_date"] = DateTime.Parse(dr_proc["返稿日"].ToString()).ToString("yyyy-MM-dd");
}
if (dr_proc["客户期限"] != null && !string.IsNullOrEmpty(dr_proc["客户期限"].ToString()))
{
dic_proc_info["cus_due_date"] = DateTime.Parse(dr_proc["客户期限"].ToString()).ToString("yyyy-MM-dd");
}
dr_proc["id"] = dic_proc_info["proc_id"];
dr_proc["import_data"] = JsonConvert.SerializeObject(dic_proc_info);
}
......
......@@ -27,7 +27,7 @@ namespace WebAPI.Controllers
#region 導入用戶
[Route("UserInfo/Import")]
[Route("UserInfo/ImportDeptUser")]
[CorsHandle]
[HttpPost]
......@@ -57,7 +57,6 @@ namespace WebAPI.Controllers
dt_excel.Columns.Add("check_status", typeof(String));
dt_excel.Columns.Add("update_status", typeof(String));
dt_excel.Columns.Add("import_data", typeof(String));
dt_excel.Columns.Add("is_exist", typeof(String));
string str_sql_get_all_dept = "SELECT * FROM dbo.s_dept_info WHERE is_enabled = @is_enabled";
var list_dept_info = conn.Query<SDeptInfo>(str_sql_get_all_dept, new { is_enabled = 1 }).ToList();
string str_sql_get_all_dept_user = "SELECT * FROM dbo.s_dept_user";
......@@ -77,11 +76,10 @@ namespace WebAPI.Controllers
List<SDeptUser> exist_dept_user = null;
string emp_new_dept = dr_emp["新部門"].ToString();
string emp_id = dr_emp["用戶名"].ToString();
string[] arr_emp_new_dept = emp_new_dept.Split('\n');
foreach(string dept_full_name in arr_emp_new_dept)
{
string[] arr_emp_new_dept1 = dept_full_name.Split(' ');
string dept = arr_emp_new_dept1[arr_emp_new_dept1.Length-1];
string is_default = dr_emp["所屬部門"].ToString();
string[] arr_emp_new_dept = emp_new_dept.Split(' ');
string dept = arr_emp_new_dept[arr_emp_new_dept.Length-1];
//檢查部門是否存在
if (result_check.Code == "1")
{
......@@ -102,7 +100,7 @@ namespace WebAPI.Controllers
result_check.Msg = "查無此帳號";
}
}
}
dr_emp["check_status"] = result_check.Msg;
if (result_check.Code == "0")
......@@ -112,34 +110,67 @@ namespace WebAPI.Controllers
else
{
//檢查此帳號是否已有權限
exist_dept_user = list_dept_user.FindAll(x => x.user_id == exist_user[0].user_id && x.dept_id == exist_dept[0].dept_id);
SDeptUser dept_user = null;
dept_user = new SDeptUser();
dept_user.dept_id = exist_dept[0].dept_id;
List<SDeptInfo> list_all_dept = new List<SDeptInfo>();
list_all_dept.Add(exist_dept[0]);//當前部門
list_all_dept.AddRange(get_all_sub_dept(exist_dept[0]));//子部門
list_all_dept = list_all_dept.Distinct().ToList();
List<DeptUserImportViewModel> list_dept_user_to_update = new List<DeptUserImportViewModel>();
bool is_sub = false;
foreach (SDeptInfo item_dept in list_all_dept)
{
exist_dept_user = list_dept_user.FindAll(x => x.user_id == exist_user[0].user_id && x.dept_id == item_dept.dept_id);
DeptUserImportViewModel dept_user = new DeptUserImportViewModel();
SDeptUser dept_user_temp = new SDeptUser();
dept_user.dept_id = item_dept.dept_id;
dept_user_temp.dept_id = item_dept.dept_id;
dept_user.user_id = exist_user[0].user_id;
dept_user_temp.user_id = exist_user[0].user_id;
if (dr_emp["負責人"].ToString() == "是" && !is_sub)
{
dept_user.role_id = "2EC47EE0-956D-4E83-A497-F05F4C1516B7";//部門負責人
dept_user_temp.role_id = "2EC47EE0-956D-4E83-A497-F05F4C1516B7";//部門負責人
}
else
{
dept_user.role_id = "5870A24D-3799-4EF5-8919-A4C4313DE2DE";//部门成员
/*if (arr_emp_new_dept.Length == 1)
dept_user_temp.role_id = "5870A24D-3799-4EF5-8919-A4C4313DE2DE";//部门成员
}
if (is_default == "是" && !is_sub)
{
dept_user.is_default = true;
}
else
{
dept_user.is_default = false;
}*/
//暫時不修改所屬部門
dept_user.is_default = false;
}
//測試期間暫時不修改所屬部門
//dept_user.is_default = false;
dept_user_temp.is_default = false;
dept_user.user_type = 0;
dept_user_temp.user_type = 0;
if (exist_dept_user == null || exist_dept_user.Count == 0)
{
dr_emp["is_exist"] = "0";
dept_user.is_exist = "0";
}
else
{
dr_emp["is_exist"] = "1";
dept_user.is_exist = "1";
dept_user.identity_id = exist_dept_user[0].identity_id;
}
dr_emp["import_data"] = JsonConvert.SerializeObject(dept_user);
if (is_sub)
{
dept_user.is_sub = "1";
}
else
{
dept_user.is_sub = "0";
}
list_dept_user_to_update.Add(dept_user);
list_dept_user.Add(dept_user_temp);//避免已添加過的部門重複添加
is_sub = true;
}
dr_emp["import_data"] = JsonConvert.SerializeObject(list_dept_user_to_update);
}
}
response.Code = "1";
......@@ -163,26 +194,65 @@ namespace WebAPI.Controllers
else if (mode == "update")
{
List<EhrEmployee> list_ehr_employee = null;
List<SUserInfo> list_user_info = null;
using (SqlConnection conn = new SqlConnection(connectionString))
{
string str_sql_get_all_ehr_employee = "SELECT * FROM dbo.ehr_employee";
list_ehr_employee = conn.Query<EhrEmployee>(str_sql_get_all_ehr_employee).ToList();
string str_sql_get_all_user = "SELECT * FROM dbo.s_user_info WHERE is_enabled = @is_enabled";
list_user_info = conn.Query<SUserInfo>(str_sql_get_all_user, new { is_enabled = 1 }).ToList();
}
var data_to_upload = HttpContext.Current.Request.Form["data_to_upload"];
var obj_list = Newtonsoft.Json.Linq.JArray.Parse(data_to_upload);
Dictionary<string, object> dic_result = new Dictionary<string, object>();
List<SDeptUser> list_to_clean_dept_user_is_default = new List<SDeptUser>();
List<SDeptUser> list_to_insert_dept_user = new List<SDeptUser>();
List<SDeptUser> list_to_update_dept_user = new List<SDeptUser>();
List<SUserInfo> list_to_update_user_info = new List<SUserInfo>();
List<EhrEmployee> list_to_update_ehr_employee = new List<EhrEmployee>();
using (SqlConnection conn = new SqlConnection(connectionString))
{
foreach (var item in obj_list)
{
SDeptUser dept_user = JsonConvert.DeserializeObject<SDeptUser>(item["import_data"].ToString());
if (item["is_exist"].ToString() == "0")
List<DeptUserImportViewModel> list_dept_user = JsonConvert.DeserializeObject<List<DeptUserImportViewModel>>(item["import_data"].ToString());
foreach (DeptUserImportViewModel dept_user_vm in list_dept_user)
{
SDeptUser dept_user = new SDeptUser();
dept_user.authority = dept_user_vm.authority;
dept_user.country = dept_user_vm.country;
dept_user.dept_id = dept_user_vm.dept_id;
dept_user.identity_id = dept_user_vm.identity_id;
dept_user.is_default = dept_user_vm.is_default;
dept_user.role_id = dept_user_vm.role_id;
dept_user.user_id = dept_user_vm.user_id;
dept_user.user_type = dept_user_vm.user_type;
//清除原所屬部門
if (dept_user_vm.is_default == true)
{
string str_sql_get_dept_user_is_default = "SELECT * FROM dbo.s_dept_user WHERE is_default = @is_default and user_id = @user_id";
var list_dept_user_info = conn.Query<SDeptUser>(str_sql_get_dept_user_is_default, new { is_default = 1, user_id = dept_user_vm.user_id }).ToList();
if(list_dept_user_info.Count>0)
{
SDeptUser item_to_clean_dept_user_is_default = list_dept_user_info[0];
item_to_clean_dept_user_is_default.is_default = false;
list_to_clean_dept_user_is_default.Add(item_to_clean_dept_user_is_default);
}
}
if (dept_user_vm.is_exist == "0")
{
list_to_insert_dept_user.Add(dept_user);
}
else
{
dept_user.identity_id = dept_user_vm.identity_id;
list_to_update_dept_user.Add(dept_user);
}
if (dept_user_vm.is_default == true)
{
var exist_emp = list_ehr_employee.FindAll(x => x.wade_user_id == dept_user.user_id);
if (exist_emp == null || exist_emp.Count == 0)
{
......@@ -190,13 +260,29 @@ namespace WebAPI.Controllers
}
else
{
//更新ehr_employee的dept_id,Penny自訂組織判斷用
exist_emp[0].dept_id = dept_user.dept_id;
list_to_update_ehr_employee.Add(exist_emp[0]);
}
var exist_user_info = list_user_info.FindAll(x => x.user_id == dept_user.user_id);
if (exist_user_info == null || exist_user_info.Count == 0)
{
//Wade沒有資料
}
using (SqlConnection conn = new SqlConnection(connectionString))
else
{
var result_insert_dept_user = conn.Insert(list_to_update_dept_user);
//更新Wade user_info的dept_id
exist_user_info[0].dept_id = dept_user.dept_id;
list_to_update_user_info.Add(exist_user_info[0]);
}
}
}
}
var result_clean_dept_user = conn.Update(list_to_clean_dept_user_is_default);
var result_update_user_info = conn.Update(list_to_update_user_info);
var result_insert_dept_user = conn.Insert(list_to_insert_dept_user);
var result_update_dept_user = conn.Update(list_to_update_dept_user);
var result_insert_ehr_employee = conn.Update(list_to_update_ehr_employee);
response.Code = "1";
......@@ -224,5 +310,107 @@ namespace WebAPI.Controllers
return result;
}
#endregion
#region 導入用戶
[Route("UserInfo/ResetICDeptUser")]
[CorsHandle]
[HttpPost]
public HttpResponseMessage ResetICDeptUser()
{
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
CommonResponseMsg response = new CommonResponseMsg();
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
List<SDeptUser> list_to_insert_dept_user = new List<SDeptUser>();
List<SDeptUser> list_to_update_dept_user = new List<SDeptUser>();
var emp_id = HttpContext.Current.Request.Form["emp_id"];
string str_sql_get_list_ic_user = "";
List<SUserInfo> list_ic_user = null;
if (string.IsNullOrEmpty(emp_id))
{
//獲取所有流程人員
str_sql_get_list_ic_user = @"select *
from s_user_info
where user_id in
(select wade_user_id
from evw_ehr_employee_zh_tw
where job_status = '在職' and
(first_dept = '財務及投融資部' or second_dept = '商標業務組' or third_dept = '流程部' or fourth_dept in ('專案管理及PVIP作業組','內外代理業務流程組','外內代理業務流程組')) and
isnull(wade_user_id,'') != '')";
list_ic_user = conn.Query<SUserInfo>(str_sql_get_list_ic_user).ToList();
}
else
{
str_sql_get_list_ic_user = @"select * FROM dbo.s_user_info
WHERE user_name IN @list_user_name
";
list_ic_user = conn.Query<SUserInfo>(str_sql_get_list_ic_user, new { list_user_name = emp_id.Split(',').ToList() }).ToList();
}
//獲取所有專利部組織
//string str_sql_get_list_dept = @"SELECT * FROM dbo.s_dept_info WHERE dept_full_name LIKE('%内内%') OR dept_full_name LIKE('%内外%') OR dept_full_name LIKE('%外内%')";
//改為獲取所有有效組織
string str_sql_get_list_dept = @"SELECT * FROM dbo.s_dept_info WHERE is_enabled = 1";
var list_dept = conn.Query<SDeptInfo>(str_sql_get_list_dept).ToList();
//獲取所有權限
string str_sql_get_all_dept_user = "SELECT * FROM dbo.s_dept_user";
var list_dept_user = conn.Query<SDeptUser>(str_sql_get_all_dept_user).ToList();
//找出缺少的權限
foreach (SUserInfo user_info in list_ic_user)
{
foreach (SDeptInfo dept_info in list_dept)
{
var exist_dept_user = list_dept_user.FindAll(x => x.user_id == user_info.user_id && x.dept_id == dept_info.dept_id);
SDeptUser dept_user = new SDeptUser();
dept_user.dept_id = dept_info.dept_id;
dept_user.user_id = user_info.user_id;
dept_user.role_id = "5870A24D-3799-4EF5-8919-A4C4313DE2DE";//部门成员
dept_user.is_default = false;
dept_user.user_type = 0;
if (exist_dept_user == null || exist_dept_user.Count == 0)
{
list_to_insert_dept_user.Add(dept_user);
}
else
{
dept_user.identity_id = exist_dept_user[0].identity_id;
list_to_update_dept_user.Add(dept_user);
}
}
}
var result_insert_dept_user = conn.Insert(list_to_insert_dept_user);
string a = "";
}
}
catch (Exception e)
{
response.Code = "0";
response.Msg = e.Message;
}
result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json");
return result;
}
#endregion
protected List<SDeptInfo>get_all_sub_dept(SDeptInfo dept)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
List<SDeptInfo> list_all_sub_dept = new List<SDeptInfo>();
string str_sql_get_dept = "SELECT * FROM dbo.s_dept_info where parent_id = @parent_id";
List<SDeptInfo> list_sub_dept = conn.Query<SDeptInfo>(str_sql_get_dept, new { parent_id = dept.dept_id }).ToList();
foreach(SDeptInfo sub_dept in list_sub_dept)
{
list_all_sub_dept.Add(sub_dept);
list_all_sub_dept.AddRange(get_all_sub_dept(sub_dept));
}
return list_all_sub_dept;
}
}
}
}
\ No newline at end of file
using Dapper.Contrib.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
[Table("p_case_info")]
public class PCaseInfo
{
public string case_id { get; set; }
public string customer_id { get; set; }
public string case_volume_customer { get; set; }
public string case_type_id { get; set; }
public string business_type_id { get; set; }
public string apply_type_id { get; set; }
public string country_id { get; set; }
public string case_volume { get; set; }
public bool is_enabled { get; set; }
}
}
\ No newline at end of file
......@@ -18,6 +18,5 @@ namespace WebAPI.Models
public bool is_enabled { get; set; }
public bool is_branch { get; set; }
public string dept_code { get; set; }
}
}
\ No newline at end of file
......@@ -17,6 +17,6 @@ namespace WebAPI.Models
public string authority { get; set; }
public string country { get; set; }
[Key]
public int identity_id { get; set; }
public int? identity_id { get; set; }
}
}
\ No newline at end of file
......@@ -9,6 +9,7 @@ namespace WebAPI.Models
[Table("s_user_info")]
public class SUserInfo
{
[Key]
public string user_id { get; set; }
public int user_type { get; set; }
public string user_name { get; set; }
......
using Dapper.Contrib.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
public class DeptUserImportViewModel
{
public string dept_id { get; set; }
public string user_id { get; set; }
public string role_id { get; set; }
public Boolean is_default { get; set; }
public int user_type { get; set; }
public string authority { get; set; }
public string country { get; set; }
public int? identity_id { get; set; }
public string is_exist { get; set; }
public string is_sub { get; set; }
}
}
\ No newline at end of file
......@@ -20,6 +20,7 @@
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="admin_user_id" value="true" />
</appSettings>
<!--
如需 web.config 變更的說明,請參閱 http://go.microsoft.com/fwlink/?LinkId=235367
......
......@@ -230,6 +230,7 @@
<Compile Include="Dal\DalFee.cs" />
<Compile Include="Dal\DalCaseInfo.cs" />
<Compile Include="Dal\DalProcInfo.cs" />
<Compile Include="Models\DataObjects\PCaseInfo.cs" />
<Compile Include="Models\EhrEmployee.cs" />
<Compile Include="Models\SP_rpt_PerformanceMonth_FlowModel.cs" />
<Compile Include="Models\Esn_todos_SettleModel.cs" />
......@@ -238,9 +239,10 @@
<Compile Include="Models\Esn_TodosModel.cs" />
<Compile Include="Models\ParamModel.cs" />
<Compile Include="Models\CommonResponseMsg.cs" />
<Compile Include="Models\SDeptInfo.cs" />
<Compile Include="Models\SDeptUser.cs" />
<Compile Include="Models\SUserInfo.cs" />
<Compile Include="Models\DataObjects\SDeptInfo.cs" />
<Compile Include="Models\DataObjects\SDeptUser.cs" />
<Compile Include="Models\DataObjects\SUserInfo.cs" />
<Compile Include="Models\ViewModels\UserInfo\DeptUserImportViewModel.cs" />
<Compile Include="Tool\Common.cs" />
<Compile Include="Tool\CorsHandle.cs" />
<Compile Include="Tool\ExcelHelper.cs" />
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment