This commit is contained in:
2025-12-08 09:24:37 +08:00
parent f7d3bb3e30
commit c750debcd2
58 changed files with 4308 additions and 341 deletions
+237 -25
View File
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace BLL.APIService
{
public class SyncUserInfoService
public class SyncUserInfoService
{
private const string GETTOKENAPI = "https://ppsintf.basf-ypc.net.cn/ppsinterface/token/getToken";
private const string GETHRINfOAPI = "https://ppsintf.basf-ypc.net.cn/ppsinterface/interfaceInfo/getHrInfo";
@@ -28,25 +28,29 @@ namespace BLL.APIService
}
}
/// <summary>
/// 获取HR信息并进行逻辑处理
/// </summary>
public static void GetSyncUserInfo()
{
//var token = GetUserToken(); //获取接口token
var token = GetUserToken(); //获取接口token
var dic = GetDepartList(); //把本地数据库中的部门全部取出作为字典
var dicUser = GetUserInfoByAccount(); //同上把所有用户取出来
string file = System.Web.HttpContext.Current.Server.MapPath("~/data.txt");
string result = System.IO.File.ReadAllText(file);
//string result = BLL.Common.HttpHelper.HttpPostRequest(GETHRINfOAPI, "", token);
//string file = System.Web.HttpContext.Current.Server.MapPath("~/data.txt");
//string result = System.IO.File.ReadAllText(file);
string result = BLL.Common.HttpHelper.HttpPostRequest(GETHRINfOAPI, "", token);
var data = JsonHelper.DeserializeJsonToObject<ResultData<List<UserInfo>>>(result);
List<Model.SyncDataUserLogs> logList = new List<Model.SyncDataUserLogs>();
if (data.code == "200")
{
//ErrLogInfo.WriteLog($"userinfo={data.data}");
ErrLogInfo.WriteLog($"userinfo={data.data}");
var userInfo = data.data;
string batchNo= DateTime.Now.ToString("yyyyMMddHHmmss");
string batchNo = DateTime.Now.ToString("yyyyMMddHHmmss");
DateTime syncTime = DateTime.Now;
foreach (var item in userInfo)
{
if (item.ppsHrOtherEmp==null || string.IsNullOrEmpty(item.ppsHrOtherEmp.bgdid))
if (item.ppsHrOtherEmp == null || string.IsNullOrEmpty(item.ppsHrOtherEmp.bgdid))
{
Model.SyncDataUserLogs log3 = new Model.SyncDataUserLogs();
log3.BatchNo = batchNo;
@@ -87,7 +91,7 @@ namespace BLL.APIService
departId = InsertDepartInfo(dic, userId, item.section); //插入本地数据库部门
}
}
else if((item.section.ToUpper() == "CTT" && item.position.Contains("Manager")) || item.section.ToUpper() == "CTT" && item.position.Contains("General Manager"))
else if ((item.section.ToUpper() == "CTT" && item.position.Contains("Manager")) || item.section.ToUpper() == "CTT" && item.position.Contains("General Manager"))
{
//不处理
//判断是否存在部门
@@ -107,11 +111,16 @@ namespace BLL.APIService
if (IsExistsDepart(dic, item.section))
{
departId = dic[item.section]; //取出本地数据库部门ID
UpdateDepartInfo(userId, item.section); //更新部门表数据
//eftEffectiveDate有值说明此人已离职
if (!item.ppsHrOtherEmp.leftEffectiveDate.HasValue)
{
UpdateDepartInfo(userId, item.section); //更新部门表数据
}
}
else
{
departId = InsertDepartInfo(dic,userId, item.section); //插入本地数据库部门
departId = InsertDepartInfo(dic, userId, item.section); //插入本地数据库部门
}
}
else
@@ -127,11 +136,14 @@ namespace BLL.APIService
if (IsExistsDepart(dic, itemDepartCode))
{
departId = dic[itemDepartCode]; //取出自身部门所在的部门ID
UpdateDepartInfo(itemUserId, itemDepartCode); //更新自身部门的部门数据。
if (!item.ppsHrOtherEmp.leftEffectiveDate.HasValue)
{
UpdateDepartInfo(itemUserId, itemDepartCode); //更新自身部门的部门数据。
}
}
else
{
departId = InsertDepartInfo(dic,itemUserId, itemDepartCode); //插入本地部门表数据
departId = InsertDepartInfo(dic, itemUserId, itemDepartCode); //插入本地部门表数据
}
}
else
@@ -149,17 +161,19 @@ namespace BLL.APIService
//上级用户所在的部门已经存在
if (IsExistsDepart(dic, parentDepatCode))
{
//departId = dic[parentDepatCode]; //取出他上级用户所在的部门ID
UpdateDepartInfo(parentUserId, parentDepatCode); //更新部门信息
//departId = dic[parentDepatCode]; //取出他上级用户所在的部门ID
if (!parentUser.ppsHrOtherEmp.leftEffectiveDate.HasValue)
{
UpdateDepartInfo(parentUserId, parentDepatCode); //更新部门信息
}
//并且插入自己子部门信息
departId=InsertDepartInfoChilds(dic,parentUserId, item.section);
departId = InsertDepartInfoChilds(dic, parentUserId, item.section);
}
else
{
departId = InsertDepartInfo(dic,parentUserId, parentDepatCode); //插入他上级用户所在的部门到部门表中去
departId = InsertDepartInfo(dic, parentUserId, parentDepatCode); //插入他上级用户所在的部门到部门表中去
}
}
}
log.DepatId = departId;
@@ -181,7 +195,7 @@ namespace BLL.APIService
#region
Model.SyncDataUserLogs log2 = new Model.SyncDataUserLogs();
string resultId = string.Empty;
try
{
log2.BatchNo = batchNo;
@@ -197,7 +211,7 @@ namespace BLL.APIService
}
else
{
resultId = UpdateUserInfo(item, departId);
log.UserId = resultId;
log.DataType = 1; //同步用户类型数据
@@ -209,13 +223,13 @@ namespace BLL.APIService
{
log.UserId = resultId;
log.DataType = 1;
log2.Remark =$"同步失败:{ex.Message}";
log2.Remark = $"同步失败:{ex.Message}";
log2.IsSuccess = false;
}
//这里记录同步用户的日志
logList.Add(log2);
#endregion
}
@@ -227,6 +241,205 @@ namespace BLL.APIService
}
}
//public static void GetSyncUserInfo1()
//{
// var token = GetUserToken(); //获取接口token
// var dic = GetDepartList(); //把本地数据库中的部门全部取出作为字典
// var dicUser = GetUserInfoByAccount(); //同上把所有用户取出来
// //string file = System.Web.HttpContext.Current.Server.MapPath("~/data.txt");
// //string result = System.IO.File.ReadAllText(file);
// string result = BLL.Common.HttpHelper.HttpPostRequest(GETHRINfOAPI, "", token);
// var data = JsonHelper.DeserializeJsonToObject<ResultData<List<UserInfo>>>(result);
// List<Model.SyncDataUserLogs> logList = new List<Model.SyncDataUserLogs>();
// if (data.code == "200")
// {
// //ErrLogInfo.WriteLog($"userinfo={data.data}");
// var userInfo = data.data;
// string batchNo= DateTime.Now.ToString("yyyyMMddHHmmss");
// DateTime syncTime = DateTime.Now;
// foreach (var item in userInfo)
// {
// if (item.ppsHrOtherEmp==null || string.IsNullOrEmpty(item.ppsHrOtherEmp.bgdid))
// {
// Model.SyncDataUserLogs log3 = new Model.SyncDataUserLogs();
// log3.BatchNo = batchNo;
// log3.CreatedTime = syncTime;
// log3.DataType = 3; //错误在账号信息类型
// log3.DepatId = string.Empty;
// log3.UserId = string.Empty;
// log3.IsSuccess = false;
// log3.Remark = $"当前账号为空:{JsonHelper.SerializeObject(item)}";
// logList.Add(log3);
// continue;
// }
// var account = item.ppsHrOtherEmp.bgdid;// 当前json的账号
// var manager = item.ppsHrOtherEmp.manager; //当前经理的员工号
// account = account.ToLower();
// var user = dicUser.ContainsKey(account); //判断当前账号是否在我们数据库中
// string userId = user ? dicUser[account] : null; //存在那就是把用户id取出来,否则用户id就是null
// #region 同步部门
// //部门id
// string departId = "";
// Model.SyncDataUserLogs log = new Model.SyncDataUserLogs();
// try
// {
// log.BatchNo = batchNo;
// log.CreatedTime = syncTime;
// //如果是经理,总经理,总监
// if (item.section.ToUpper() == "CTT" && item.position.Contains("Director"))
// {
// //判断是否存在部门
// if (IsExistsDepart(dic, item.section))
// {
// departId = dic[item.section]; //取出本地数据库部门ID
// UpdateDepartInfo(userId, item.section); //更新部门表数据
// }
// else
// {
// departId = InsertDepartInfo(dic, userId, item.section); //插入本地数据库部门
// }
// }
// else if((item.section.ToUpper() == "CTT" && item.position.Contains("Manager")) || item.section.ToUpper() == "CTT" && item.position.Contains("General Manager"))
// {
// //不处理
// //判断是否存在部门
// if (IsExistsDepart(dic, item.section))
// {
// departId = dic[item.section]; //取出本地数据库部门ID
// // UpdateDepartInfo(null, item.section); //更新部门表数据
// }
// else
// {
// departId = InsertDepartInfo(dic, null, item.section); //插入本地数据库部门
// }
// }
// else if ((item.position.Contains("Manager") || item.position.Contains("Director") || item.position.Contains("General Manager")))
// {
// //判断是否存在部门
// if (IsExistsDepart(dic, item.section))
// {
// departId = dic[item.section]; //取出本地数据库部门ID
// UpdateDepartInfo(userId, item.section); //更新部门表数据
// }
// else
// {
// departId = InsertDepartInfo(dic,userId, item.section); //插入本地数据库部门
// }
// }
// else
// {
// //查找当前用户的上级经理是谁
// var parentUser = userInfo.Where(t => t.ppsHrOtherEmp.bycstaffNo == manager).FirstOrDefault();
// if (parentUser == null)
// {
// //找不到就是他自己
// string itemDepartCode = item.section.ToUpper();
// string itemUserId = userId;
// //判断当前自身的部门是否存在
// if (IsExistsDepart(dic, itemDepartCode))
// {
// departId = dic[itemDepartCode]; //取出自身部门所在的部门ID
// UpdateDepartInfo(itemUserId, itemDepartCode); //更新自身部门的部门数据。
// }
// else
// {
// departId = InsertDepartInfo(dic,itemUserId, itemDepartCode); //插入本地部门表数据
// }
// }
// else
// {
// //找到了就是上级的用户部门+LeaderID;
// string parentDepatCode = parentUser.section.ToUpper(); //上级部门编号
// string parentAccount = parentUser.ppsHrOtherEmp.bgdid; //上级用户的账号
// if (!string.IsNullOrEmpty(parentAccount))
// parentAccount = parentAccount.ToLower();
// else
// parentAccount = string.Empty;
// var parentLocalUser = dicUser.ContainsKey(parentAccount); //查找本地数据库的上级用户是否存在
// string parentUserId = parentLocalUser ? dicUser[parentAccount] : null;
// //上级用户所在的部门已经存在
// if (IsExistsDepart(dic, parentDepatCode))
// {
// //departId = dic[parentDepatCode]; //取出他上级用户所在的部门ID
// UpdateDepartInfo(parentUserId, parentDepatCode); //更新部门信息
// //并且插入自己子部门信息
// departId=InsertDepartInfoChilds(dic,parentUserId, item.section);
// }
// else
// {
// departId = InsertDepartInfo(dic,parentUserId, parentDepatCode); //插入他上级用户所在的部门到部门表中去
// }
// }
// }
// log.DepatId = departId;
// log.DataType = 0; //同步部门类型数据
// log.Remark = "同步成功";
// log.IsSuccess = true;
// }
// catch (Exception ex)
// {
// log.DepatId = departId;
// log.DataType = 0;
// log.Remark = ex.Message;
// log.IsSuccess = false;
// }
// //这里记录同步部门的日志
// logList.Add(log);
// #endregion
// #region 同步用户
// Model.SyncDataUserLogs log2 = new Model.SyncDataUserLogs();
// string resultId = string.Empty;
// try
// {
// log2.BatchNo = batchNo;
// log2.CreatedTime = syncTime;
// log2.Josn = JsonHelper.SerializeObject(item);
// //当前本地数据库用户表不存在此用户
// if (!user)
// {
// //插入
// resultId = InsertUserInfo(item, departId);
// log.UserId = resultId;
// log.DataType = 1;
// }
// else
// {
// resultId = UpdateUserInfo(item, departId);
// log.UserId = resultId;
// log.DataType = 1; //同步用户类型数据
// }
// log2.Remark = "同步成功";
// log2.IsSuccess = true;
// }
// catch (Exception ex)
// {
// log.UserId = resultId;
// log.DataType = 1;
// log2.Remark =$"同步失败:{ex.Message}";
// log2.IsSuccess = false;
// }
// //这里记录同步用户的日志
// logList.Add(log2);
// #endregion
// }
// AddSyncLogs(logList);
// }
// else
// {
// ErrLogInfo.WriteLog("请求失败:返回结果:" + result);
// }
//}
#region
/// <summary>
/// 获取所有的BU
@@ -236,9 +449,7 @@ namespace BLL.APIService
{
return BLL.Funs.DB.Base_Depart.ToList()
.ToDictionary(t => t.DepartCode.ToUpper(), t => t.DepartId);
}
}
/// <summary>
/// 获取所有的User
@@ -309,6 +520,7 @@ namespace BLL.APIService
}
return result.DepartId;
}
/// <summary>
/// 判断是否存在BU
/// </summary>
+1 -1
View File
@@ -41,7 +41,7 @@ namespace BLL.Common
/// <returns></returns>
public static string HttpPostRequest(string url, string postJsonData,string token)
{
//BLL.ErrLogInfo.WriteLog("token=" + token);
BLL.ErrLogInfo.WriteLog("token=" + token);
string strPostReponse = string.Empty;
try
{
+4 -4
View File
@@ -221,7 +221,7 @@ namespace BLL.Common
/// <param name="mailCC">抄送(多个抄送人用""隔开,最后一个不能有"")</param>
/// <param name="sendNum">发送次数</param>
/// <param name="resultMessage">输出信息</param>
public static bool SendNetMail2(EmailPop ps, string mailFrom, string[] mailTo, string mailSubject, string mailBody, string mailPriority, string[] mailCC, string sendNum, out string resultMessage)
public static bool SendNetMail2(EmailPop ps, string mailFrom, string[] mailTo, string mailSubject, string mailBody, string mailPriority, string[] mailCC, out string resultMessage)
{
var englishmonth = DateTime.Now.ToString("MMMM", CultureInfo.CreateSpecificCulture("en-GB"));
bool result = true;
@@ -303,8 +303,8 @@ namespace BLL.Common
{
Model.SendEmail newSendEmail = new Model.SendEmail();
newSendEmail.EmailId = Guid.NewGuid().ToString();
newSendEmail.EmailTile = mailSubject + sendNum;
newSendEmail.EmailContent = ReplaceHtmlTag(mailBody) + sendNum;
newSendEmail.EmailTile = mailSubject;
newSendEmail.EmailContent = ReplaceHtmlTag(mailBody);
newSendEmail.EmailURL = send;
newSendEmail.EmailName = send;
@@ -328,7 +328,7 @@ namespace BLL.Common
{
Model.SendEmail newSendEmail = new Model.SendEmail();
newSendEmail.EmailId = Guid.NewGuid().ToString();
newSendEmail.EmailTile = mailSubject + sendNum;
newSendEmail.EmailTile = mailSubject;
newSendEmail.EmailContent = ReplaceHtmlTag(mailBody);
newSendEmail.EmailURL = send;
newSendEmail.EmailName = send;
+21
View File
@@ -73,6 +73,27 @@ namespace BLL
}
}
/// <summary>
/// 增加ToDo
/// </summary>
/// <param name="todo"></param>
public static void AddToDo(Model.FC_ToDo todo)
{
Model.FC_ToDo newToDo = new Model.FC_ToDo();
newToDo.ToDoId = SQLHelper.GetNewID(typeof(Model.FC_ToDo));
newToDo.FO_NO = todo.FO_NO;
newToDo.ContractId = todo.ContractId;
newToDo.ToDoMan = todo.ToDoMan;
newToDo.ViolationBehavior = todo.ViolationBehavior;
newToDo.Result = todo.Result;
newToDo.IsHandle = todo.IsHandle;
newToDo.HandleDate = todo.HandleDate;
newToDo.Number = todo.Number;
newToDo.Number2 = todo.Number2;
Funs.DB.FC_ToDo.InsertOnSubmit(newToDo);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 根据主键删除Contract Management
/// </summary>
+1 -1
View File
@@ -101,7 +101,7 @@ namespace BLL
newPunishment.Individual = punishment.Individual;
newPunishment.ViolationDegree = punishment.ViolationDegree;
newPunishment.BYC_RU = punishment.BYC_RU;
//newPunishment.Violation_Inspector = punishment.Violation_Inspector;
newPunishment.Violation_Inspector = punishment.Violation_Inspector;
newPunishment.CompletionDate = punishment.CompletionDate;
newPunishment.ViolationRelatedSes = punishment.ViolationRelatedSes;
newPunishment.SelectYesNo = punishment.SelectYesNo;
+5
View File
@@ -244,6 +244,11 @@
密码
</summary>
</member>
<member name="P:Model.ResponeData.success">
<summary>
</summary>
</member>
<member name="P:Model.ResponeData.code">
<summary>
代码 200-正常;1010-异常;