20230302修改人员同步方法,推送日志方法优化

This commit is contained in:
2023-03-02 17:33:49 +08:00
parent 59586afee7
commit 2cc23282fd
24 changed files with 294 additions and 64 deletions
+141 -8
View File
@@ -256,10 +256,13 @@ namespace BLL
Success = Success,
Code = Code,
Message = Message,
PushTime = DateTime.Now,
ReturnData = ReturnData,
PushContent = PushContent,
PushTime = DateTime.Now,
};
if (Code != "200")
{
newLog.ReturnData = ReturnData;
newLog.PushContent = PushContent;
}
db.RealName_PushLog.InsertOnSubmit(newLog);
db.SubmitChanges();
}
@@ -1029,6 +1032,7 @@ namespace BLL
x.RealNameAddTime,
x.RealNameUpdateTime,
x.PersonId,
x.SitePersonId,
}).Take(200).ToList();
if (getData.Count() > 0)
{
@@ -1069,7 +1073,7 @@ namespace BLL
{
foreach (var item in getData)
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.PersonId == item.PersonId);
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == item.SitePersonId);
if (getPerson != null)
{
if (!getPerson.RealNameAddTime.HasValue)
@@ -1162,6 +1166,7 @@ namespace BLL
x.RealNameAddTime,
x.RealNameUpdateTime,
x.PersonId,
x.SitePersonId,
}).ToList();
if (getData.Count() > 0)
{
@@ -1202,7 +1207,7 @@ namespace BLL
{
foreach (var item in getData)
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.PersonId == item.PersonId);
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == item.SitePersonId);
if (getPerson != null)
{
if (!getPerson.RealNameAddTime.HasValue)
@@ -1228,7 +1233,7 @@ namespace BLL
}
InsertRealNamePushLog(null, proCode, "推送人员数据", sucess, code, mess, data, pushContent);
if (data.Contains("已存在") || mess.Contains("已存在"))
if (data.Contains("已存在") || mess.Contains("已存在") || mess.Contains("重合") || data.Contains("重合"))
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
@@ -1236,7 +1241,133 @@ namespace BLL
{
if (data.Contains(item.idcardNumber) || mess.Contains(item.idcardNumber))
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.PersonId == item.PersonId);
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == item.SitePersonId);
if (getPerson != null)
{
if (!getPerson.RealNameAddTime.HasValue)
{
getPerson.RealNameAddTime = DateTime.Now;
}
db.SubmitChanges();
}
}
}
}
}
}
else
{
mess = "没有符合条件的数据!";
}
return mess;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(ex, "推送人员数据", "SynchroSetService.PushPersons");
return "推送人员异常";
}
}
/// <summary>
/// 推送人员数据
/// </summary>
/// <returns></returns>
public static string PushPersonsByIdentityCardUpdate(string proCode, string identityCard)
{
try
{
string mess = string.Empty;
string sucess = string.Empty;
string code = string.Empty;
string data = string.Empty;
string pushContent = string.Empty;
string contenttype = "application/json;charset=unicode";
var getData = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_Project on x.ProjectId equals y.ProjectId
join Persons in Funs.DB.Person_Persons on x.IdentityCard equals Persons.IdentityCard
join z in Funs.DB.RealName_Project on y.ContractNo equals z.ProCode
join v in Funs.DB.ProjectData_TeamGroup on x.TeamGroupId equals v.TeamGroupId
join w in Funs.DB.Base_WorkPost on x.WorkPostId equals w.WorkPostId
where x.IdentityCard == identityCard && y.ContractNo == proCode
&& v.TeamId.HasValue
&& z.JTproCode != null
select new
{
name = x.PersonName,
idcardType = "SHENFEN_ZHENGJIAN",
idcardNumber = x.IdentityCard,
proCode = z.JTproCode,
teamId = v.TeamId,
userType = ((w.PostType == "1" || w.PostType == "4") ? "LAB_USER_MANAGE" : "LAB_USER_BULIDER"),
workType = w.WorkPostCode,
isLeave = x.OutTime.HasValue ? "Y" : "N",
entryTime = x.InTime.HasValue ? string.Format("{0:yyyy-MM-dd}", x.InTime) : null,
exitTime = x.OutTime.HasValue ? string.Format("{0:yyyy-MM-dd}", x.OutTime) : null,
x.RealNameAddTime,
x.RealNameUpdateTime,
x.PersonId,
x.SitePersonId,
}).ToList();
if (getData.Count() > 0)
{
string returndata = string.Empty;
Hashtable newToken = new Hashtable
{
{ "token", getaccess_token(proCode) }
};
var updatelistObject = new
{
list = getData.Select(x => new { x.name, x.idcardType, x.idcardNumber, x.proCode, x.teamId, x.userType, x.workType, x.isLeave, x.entryTime, x.exitTime })
};
pushContent = JsonConvert.SerializeObject(updatelistObject);
returndata = BLL.APIGetHttpService.OutsideHttp(Funs.RealNameApiUrl + "/foreignApi/accept/updatePersons", "POST", contenttype, newToken, JsonConvert.SerializeObject(updatelistObject));
if (!string.IsNullOrEmpty(returndata))
{
JObject obj = JObject.Parse(returndata);
mess = obj["message"].ToString();
code = obj["code"].ToString();
sucess = obj["success"].ToString();
data = obj["data"].ToString();
if (obj["success"] != null && Convert.ToBoolean(obj["success"].ToString()))
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
foreach (var item in getData)
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == item.SitePersonId);
if (getPerson != null)
{
if (!getPerson.RealNameAddTime.HasValue)
{
getPerson.RealNameAddTime = DateTime.Now;
}
getPerson.RealNameUpdateTime = DateTime.Now;
db.SubmitChanges();
}
}
}
}
else
{
if (mess.Contains("token无效"))
{
getaccess_token_New(proCode);
}
}
}
InsertRealNamePushLog(null, proCode, "推送人员数据", sucess, code, mess, data, pushContent);
if (data.Contains("已存在") || mess.Contains("已存在") || mess.Contains("重合") || data.Contains("重合"))
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
foreach (var item in getData)
{
if (data.Contains(item.idcardNumber) || mess.Contains(item.idcardNumber))
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == item.SitePersonId);
if (getPerson != null)
{
if (!getPerson.RealNameAddTime.HasValue)
@@ -1295,6 +1426,7 @@ namespace BLL
x.RealNameUpdateTime,
name = x.PersonName,
x.PersonId,
x.SitePersonId,
});
if (getData.Count() > 0)
{
@@ -1324,7 +1456,7 @@ namespace BLL
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.PersonId == itemData.PersonId);
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.SitePersonId == itemData.SitePersonId);
if (getPerson != null)
{
if (!getPerson.RealNameAddTime.HasValue)
@@ -1637,6 +1769,7 @@ namespace BLL
x.RealNameAddTime,
x.RealNameUpdateTime,
x.PersonId,
x.SitePersonId,
}).ToList();
if (getData.Count() > 0)
{