709 lines
36 KiB
C#
709 lines
36 KiB
C#
using Newtonsoft.Json.Linq;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Timers;
|
||
|
||
namespace BLL
|
||
{
|
||
public class BOSHENGMonitorService
|
||
{
|
||
#region 启动监视器 系统启动5分钟
|
||
/// <summary>
|
||
/// 监视组件
|
||
/// </summary>
|
||
private static Timer messageTimer;
|
||
|
||
/// <summary>
|
||
/// 启动监视器,不一定能成功,根据系统设置决定对监视器执行的操作 系统启动5分钟
|
||
/// </summary>
|
||
public static void StartMonitor()
|
||
{
|
||
int adTimeJ = 30;
|
||
if (messageTimer != null)
|
||
{
|
||
messageTimer.Stop();
|
||
messageTimer.Dispose();
|
||
messageTimer = null;
|
||
}
|
||
if (adTimeJ > 0)
|
||
{
|
||
messageTimer = new Timer
|
||
{
|
||
AutoReset = true
|
||
};
|
||
messageTimer.Elapsed += new ElapsedEventHandler(AddData);
|
||
messageTimer.Interval = 1000 * 60 * adTimeJ;// 60000 * adTimeJ;
|
||
messageTimer.Start();
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 流程确认 定时执行 系统启动5分钟
|
||
/// </summary>
|
||
/// <param name="sender">Timer组件</param>
|
||
/// <param name="e">事件参数</param>
|
||
public static void AddData(object sender, ElapsedEventArgs e)
|
||
{
|
||
try
|
||
{
|
||
var getDataList = (from x in Funs.DB.Sys_DataExchange where x.IsUpdate == false select x).Take(100).ToList();
|
||
if (getDataList.Count() > 0)
|
||
{
|
||
var getDataList0 = getDataList.Where(x => x.MessageText.Contains("\"Type\":0")).ToList();
|
||
var getDataList1 = getDataList.Where(x => x.MessageText.Contains("\"Type\":1")).ToList();
|
||
var getDataList2 = getDataList.Where(x => x.MessageText.Contains("\"Type\":2")).ToList();
|
||
var getDataList3 = getDataList.Where(x => x.MessageText.Contains("\"Type\":3")).ToList();
|
||
var getDataList4 = getDataList.Where(x => x.MessageText.Contains("\"Type\":4")).ToList();
|
||
var getDataList5 = getDataList.Where(x => x.MessageText.Contains("\"Type\":5")).ToList();
|
||
|
||
AddDataItem(getDataList1);
|
||
AddDataItem(getDataList0);
|
||
AddDataItem(getDataList2);
|
||
AddDataItem(getDataList3);
|
||
AddDataItem(getDataList4);
|
||
AddDataItem(getDataList5);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
StartMonitor();
|
||
ErrLogInfo.WriteLog(ex, "博晟数据接口定时器", "RealNameMonitorService.AdUserInProcess");
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 与博晟培训考试接口数据插入明细方法
|
||
/// <summary>
|
||
/// 与博晟培训考试接口数据插入明细方法
|
||
/// </summary>
|
||
/// <param name="getDataExchange"></param>
|
||
private static void AddDataItem(List<Model.Sys_DataExchange> getDataExchange)
|
||
{
|
||
bool isOk = false;
|
||
foreach (var item in getDataExchange)
|
||
{
|
||
JObject obj = JObject.Parse(item.MessageText);
|
||
string type = obj["Type"].ToString();
|
||
string code = obj["Code"].ToString();
|
||
string fromprojectId = obj["DepartId"].ToString();
|
||
string OtherDepartId = obj["OtherDepartId"].ToString();
|
||
JArray arr = JArray.Parse(obj["Data"].ToString());
|
||
string projectId = string.Empty;
|
||
////根据传值项目主键
|
||
var getProjectByFromProjectId = Funs.DB.Base_Project.FirstOrDefault(x => x.FromProjectId == fromprojectId && x.ProjectCode== OtherDepartId);
|
||
if (getProjectByFromProjectId != null)
|
||
{
|
||
projectId = getProjectByFromProjectId.ProjectId;
|
||
}
|
||
else
|
||
{
|
||
|
||
var getPByCode= Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == OtherDepartId);
|
||
if (getPByCode != null)
|
||
{
|
||
getPByCode.FromProjectId = fromprojectId;
|
||
Funs.DB.SubmitChanges();
|
||
projectId = getPByCode.ProjectId;
|
||
}
|
||
else
|
||
{
|
||
if (type == "1")
|
||
{
|
||
projectId = AddProject(arr);
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!string.IsNullOrEmpty(projectId))
|
||
{
|
||
var sysUser = BLL.UserService.GetUserByUserId(BLL.Const.sysglyId);
|
||
if (sysUser != null)
|
||
{
|
||
sysUser.LoginProjectId = projectId;
|
||
}
|
||
|
||
if (type == "0")
|
||
{
|
||
isOk = AddPerson(projectId, arr, sysUser);
|
||
}
|
||
else if (type == "1")
|
||
{
|
||
isOk = AddUnit(projectId, arr, sysUser);
|
||
}
|
||
else if (type == "2")
|
||
{
|
||
isOk = AddTrainRecord(projectId, arr, sysUser);
|
||
}
|
||
else if (type == "3")
|
||
{
|
||
isOk = AddTrainRecordPerson(projectId, arr, sysUser);
|
||
}
|
||
else if (type == "4")
|
||
{
|
||
isOk = AddEduTrain_TrainTest(projectId, arr, sysUser);
|
||
}
|
||
else if (type == "5")
|
||
{
|
||
isOk = AddPersonTrainRecord(projectId, arr, sysUser);
|
||
}
|
||
|
||
if (isOk) ///更新数据接收状态
|
||
{
|
||
item.IsUpdate = true;
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入信息-项目信息
|
||
/// <summary>
|
||
/// 插入信息-项目信息
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static string AddProject(JArray arr)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
string projectId = string.Empty;
|
||
try
|
||
{
|
||
foreach (var item in arr)
|
||
{
|
||
string fromUnitId = item["ID"].ToString();
|
||
string departName = item["DepartName"].ToString(); ///单位名称
|
||
string departSir = item["DepartSir"].ToString(); ///单位级别 0:非项目部 1:项目部级 2:项目部下级单位
|
||
if (!string.IsNullOrEmpty(fromUnitId) && !string.IsNullOrEmpty(departName) && departSir == "1")
|
||
{
|
||
var getProjectByFromProjectId = db.Base_Project.FirstOrDefault(x => x.FromProjectId == fromUnitId);
|
||
if (getProjectByFromProjectId == null)
|
||
{
|
||
string projectCode = item["ProjectCode"].ToString();
|
||
var getProjectByProjectCode = db.Base_Project.FirstOrDefault(x => x.ProjectCode == projectCode);
|
||
if (getProjectByProjectCode != null)
|
||
{
|
||
projectId = getProjectByProjectCode.ProjectId;
|
||
getProjectByProjectCode.FromProjectId = fromUnitId;
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ErrLogInfo.WriteLog("博晟-项目同步", ex);
|
||
}
|
||
return projectId;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入人员信息
|
||
/// <summary>
|
||
/// 插入人员信息 0
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static bool AddPerson(string projectId, JArray arr, Model.Sys_User user)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
bool isOk = true;
|
||
try
|
||
{
|
||
List<Model.Bo_Sheng_Person> insertPersons = new List<Model.Bo_Sheng_Person>();
|
||
foreach (var item in arr)
|
||
{
|
||
string getID = item["ID"].ToString();
|
||
var getPerson = db.Bo_Sheng_Person.FirstOrDefault(x => x.ID == getID);
|
||
if (!string.IsNullOrEmpty(getID) )
|
||
{
|
||
if (getPerson == null)
|
||
{
|
||
Model.Bo_Sheng_Person newPerson = new Model.Bo_Sheng_Person
|
||
{
|
||
ID = getID,
|
||
ProjectId = projectId,
|
||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||
CreateUser = item["CreateUser"].ToString(),
|
||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||
OperUser = item["OperUser"].ToString(),
|
||
DeleteUser = item["DeleteUser"].ToString(),
|
||
DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString()),
|
||
DeleteTag = item["DeleteTag"].ToString(),
|
||
Name = item["Name"].ToString(),
|
||
Sex = item["Sex"].ToString(),
|
||
BirthDay = Funs.GetNewDateTime(item["BirthDay"].ToString()),
|
||
Address = item["Address"].ToString(),
|
||
Nation = item["Nation"].ToString(),
|
||
IdentifyID = item["IdentifyID"].ToString(),
|
||
Kind = item["Kind"].ToString(),
|
||
Photo = item["Photo"].ToString(),
|
||
Police = item["Police"].ToString(),
|
||
ValidPeriodStart = item["ValidPeriodStart"].ToString(),
|
||
ValidPeriodEnd = item["ValidPeriodEnd"].ToString(),
|
||
Education = item["Education"].ToString(),
|
||
Native = item["Native"].ToString(),
|
||
Telephone = item["Telephone"].ToString(),
|
||
MaritalStatus = item["MaritalStatus"].ToString(),
|
||
BloodGroup = item["BloodGroup"].ToString(),
|
||
RegisteredType = item["RegisteredType"].ToString(),
|
||
Age = Funs.GetNewInt(item["Age"].ToString()),
|
||
JobNumber = item["JobNumber"].ToString(),
|
||
CardContent = item["CardContent"].ToString(),
|
||
ContactTel = item["ContactTel"].ToString(),
|
||
SecondContacts = item["SecondContacts"].ToString(),
|
||
SecondContactsTel = item["SecondContactsTel"].ToString(),
|
||
NewAddress = item["NewAddress"].ToString(),
|
||
HealthCondition = item["HealthCondition"].ToString(),
|
||
HealthFile = item["HealthFile"].ToString(),
|
||
BuildArea = item["BuildArea"].ToString(),
|
||
TraPrincipal = item["TraPrincipal"].ToString(),
|
||
RegisterDate = Funs.GetNewDateTime(item["RegisterDate"].ToString()),
|
||
CategoryType = item["CategoryType"].ToString(),
|
||
Station = item["Station"].ToString(),
|
||
Category = item["Category"].ToString(),
|
||
CategoryLevel = item["CategoryLevel"].ToString(),
|
||
EntranceDate = Funs.GetNewDateTime(item["EntranceDate"].ToString()),
|
||
IsOut = item["IsOut"].ToString(),
|
||
LeaveDate = Funs.GetNewDateTime(item["LeaveDate"].ToString()),
|
||
IsBlackList = item["IsBlackList"].ToString(),
|
||
AgreementId = item["AgreementId"].ToString(),
|
||
HasInsurance = item["HasInsurance"].ToString(),
|
||
DeviceNumber = item["DeviceNumber"].ToString(),
|
||
IsActive = item["IsActive"].ToString(),
|
||
DepartId = item["DepartId"].ToString(),
|
||
DepartName = item["DepartName"].ToString(),
|
||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||
};
|
||
insertPersons.Add(newPerson);
|
||
}
|
||
else
|
||
{
|
||
getPerson.DeleteUser = item["DeleteUser"].ToString();
|
||
getPerson.DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString());
|
||
getPerson.DeleteTag = item["DeleteTag"].ToString();
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (insertPersons.Count() > 0)
|
||
{
|
||
db.Bo_Sheng_Person.InsertAllOnSubmit(insertPersons);
|
||
db.SubmitChanges();
|
||
}
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
isOk = false;
|
||
ErrLogInfo.WriteLog("博晟-人员信息同步", ex);
|
||
}
|
||
|
||
return isOk;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入信息-单位信息 1
|
||
/// <summary>
|
||
/// 插入信息-单位信息 1
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static bool AddUnit(string projectId, JArray arr, Model.Sys_User user)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
bool isOk = true;
|
||
try
|
||
{
|
||
List<Model.Bo_Sheng_Unit> insertUnits = new List<Model.Bo_Sheng_Unit>();
|
||
foreach (var item in arr)
|
||
{
|
||
string getID = item["ID"].ToString();
|
||
var getUnit = db.Bo_Sheng_Unit.FirstOrDefault(x => x.ID == getID);
|
||
if (!string.IsNullOrEmpty(getID))
|
||
{
|
||
if (getUnit == null)
|
||
{
|
||
Model.Bo_Sheng_Unit newUnit = new Model.Bo_Sheng_Unit
|
||
{
|
||
ID = getID,
|
||
ProjectId = projectId,
|
||
DeleteTag = item["DeleteTag"].ToString(),
|
||
ParentID = item["ParentID"].ToString(),
|
||
DepartCode = item["DepartCode"].ToString(),
|
||
ParentCode = item["ParentCode"].ToString(),
|
||
DepartName = item["DepartName"].ToString(),
|
||
DepartType = item["DepartType"].ToString(),
|
||
DepartShortName = item["DepartShortName"].ToString(),
|
||
DepartOrder = item["DepartOrder"].ToString(),
|
||
State = item["State"].ToString(),
|
||
DepartSir = item["DepartSir"].ToString(),
|
||
IsEpiboly = item["IsEpiboly"].ToString(),
|
||
Phone = item["Phone"].ToString(),
|
||
Charge = item["Charge"].ToString(),
|
||
Remark = item["Remark"].ToString(),
|
||
OwnerDeptID = item["OwnerDeptID"].ToString(),
|
||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||
CreateUser = item["CreateUser"].ToString(),
|
||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||
OperUser = item["OperUser"].ToString(),
|
||
};
|
||
insertUnits.Add(newUnit);
|
||
}
|
||
else
|
||
{
|
||
getUnit.DeleteTag = item["DeleteTag"].ToString();
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
if (insertUnits.Count() > 0)
|
||
{
|
||
db.Bo_Sheng_Unit.InsertAllOnSubmit(insertUnits);
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
isOk = false;
|
||
ErrLogInfo.WriteLog("博晟-单位信息同步", ex);
|
||
}
|
||
return isOk;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入培训记录 2
|
||
/// <summary>
|
||
/// 插入培训记录 2
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static bool AddTrainRecord(string projectId, JArray arr, Model.Sys_User user)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
bool isOk = true;
|
||
try
|
||
{
|
||
List<Model.Bo_Sheng_Train> insertTrains = new List<Model.Bo_Sheng_Train>();
|
||
foreach (var item in arr)
|
||
{
|
||
string getID = item["ID"].ToString();
|
||
var getTrain = db.Bo_Sheng_Train.FirstOrDefault(x => x.ID == getID);
|
||
if (!string.IsNullOrEmpty(getID))
|
||
{
|
||
if (getTrain == null)
|
||
{
|
||
Model.Bo_Sheng_Train newTrainRecord = new Model.Bo_Sheng_Train
|
||
{
|
||
ID = getID,
|
||
ProjectId = projectId,
|
||
DeleteUser = item["DeleteUser"].ToString(),
|
||
DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString()),
|
||
DeleteTag = item["DeleteTag"].ToString(),
|
||
RecordName = item["RecordName"].ToString(),
|
||
TrainType = item["TrainType"].ToString(),
|
||
PaperMode = item["PaperMode"].ToString(),
|
||
TrainMode = item["TrainMode"].ToString(),
|
||
TrainPrincipal = item["TrainPrincipal"].ToString(),
|
||
TrainStartDate = Funs.GetNewDateTime(item["TrainStartDate"].ToString()),
|
||
TrainEndDate = Funs.GetNewDateTime(item["TrainEndDate"].ToString()),
|
||
TrainContent = item["TrainContent"].ToString(),
|
||
TrainDescript = item["TrainDescript"].ToString(),
|
||
TrainPeriod = item["TrainPeriod"].ToString(),
|
||
PersonCount = Funs.GetNewInt(item["PersonCount"].ToString()),
|
||
PassedCount = Funs.GetNewInt(item["PassedCount"].ToString()),
|
||
CoverImg = item["CoverImg"].ToString(),
|
||
DemandID = item["DemandID"].ToString(),
|
||
CourseCount = Funs.GetNewInt(item["CourseCount"].ToString()),
|
||
CourseDuration = item["CourseDuration"].ToString(),
|
||
Source = item["Source"].ToString(),
|
||
Description = item["Description"].ToString(),
|
||
DeviceNo = item["DeviceNo"].ToString(),
|
||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||
OwnerDeptName = item["OwnerDeptName"].ToString(),
|
||
TrainDepart = item["TrainDepart"].ToString(),
|
||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||
CreateUser = item["CreateUser"].ToString(),
|
||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||
OperUser = item["OperUser"].ToString(),
|
||
};
|
||
insertTrains.Add(newTrainRecord);
|
||
}
|
||
else
|
||
{
|
||
getTrain.DeleteUser = item["DeleteUser"].ToString();
|
||
getTrain.DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString());
|
||
getTrain.DeleteTag = item["DeleteTag"].ToString();
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
if (insertTrains.Count() > 0)
|
||
{
|
||
db.Bo_Sheng_Train.InsertAllOnSubmit(insertTrains);
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
isOk = false;
|
||
ErrLogInfo.WriteLog("博晟-培训记录同步", ex);
|
||
}
|
||
return isOk;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入培训人员 3
|
||
/// <summary>
|
||
/// 插入培训人员 3
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static bool AddTrainRecordPerson(string projectId, JArray arr, Model.Sys_User user)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
bool isOk = true;
|
||
try
|
||
{
|
||
List<Model.Bo_Sheng_TrainPerson> insertTrainPersons = new List<Model.Bo_Sheng_TrainPerson>();
|
||
foreach (var item in arr)
|
||
{
|
||
string getID = item["ID"].ToString();
|
||
var getTrainPerson = db.Bo_Sheng_TrainPerson.FirstOrDefault(x => x.ID == getID);
|
||
if (!string.IsNullOrEmpty(getID))
|
||
{
|
||
if (getTrainPerson == null)
|
||
{
|
||
Model.Bo_Sheng_TrainPerson newPerson = new Model.Bo_Sheng_TrainPerson
|
||
{
|
||
ID = getID,
|
||
ProjectId = projectId,
|
||
DeleteUser = item["DeleteUser"].ToString(),
|
||
DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString()),
|
||
DeleteTag = item["DeleteTag"].ToString(),
|
||
EmpName = item["EmpName"].ToString(),
|
||
IdentifyId = item["IdentifyId"].ToString(),
|
||
Photo = item["Photo"].ToString(),
|
||
Station = item["Station"].ToString(),
|
||
Category = item["Category"].ToString(),
|
||
CategoryName = item["CategoryName"].ToString(),
|
||
RecordId = item["RecordId"].ToString(),
|
||
SignName = item["SignName"].ToString(),
|
||
DepartId = item["DepartId"].ToString(),
|
||
DepartName = item["DepartName"].ToString(),
|
||
SignInDate = Funs.GetNewDateTime(item["SignInDate"].ToString()),
|
||
SignInType = item["SignInType"].ToString(),
|
||
TrainPeriod = item["TrainPeriod"].ToString(),
|
||
State = item["State"].ToString(),
|
||
TotalScore = Funs.GetNewDecimal(item["TotalScore"].ToString()),
|
||
PassScore = Funs.GetNewDecimal(item["PassScore"].ToString()),
|
||
Score = Funs.GetNewDecimal(item["Score"].ToString()),
|
||
IsPass = item["IsPass"].ToString(),
|
||
GroupNo = item["GroupNo"].ToString(),
|
||
ExamNo = item["ExamNo"].ToString(),
|
||
ExamCount = Funs.GetNewInt(item["ExamCount"].ToString()),
|
||
DeviceNo = item["DeviceNo"].ToString(),
|
||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||
Answers = item["Answers"].ToString(),
|
||
CreateDate = Funs.GetNewDateTime(item["CreateDate"].ToString()),
|
||
CreateUser = item["CreateUser"].ToString(),
|
||
OperDate = Funs.GetNewDateTime(item["OperDate"].ToString()),
|
||
OperUser = item["OperUser"].ToString(),
|
||
};
|
||
insertTrainPersons.Add(newPerson);
|
||
}
|
||
else
|
||
{
|
||
getTrainPerson.DeleteUser = item["DeleteUser"].ToString();
|
||
getTrainPerson.DeleteDate = Funs.GetNewDateTime(item["DeleteDate"].ToString());
|
||
getTrainPerson.DeleteTag = item["DeleteTag"].ToString();
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (insertTrainPersons.Count() > 0)
|
||
{
|
||
db.Bo_Sheng_TrainPerson.InsertAllOnSubmit(insertTrainPersons);
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
isOk = false;
|
||
ErrLogInfo.WriteLog("博晟-培训人员同步", ex);
|
||
}
|
||
return isOk;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入试卷 4
|
||
/// <summary>
|
||
/// 插入试卷 4
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static bool AddEduTrain_TrainTest(string projectId, JArray arr, Model.Sys_User user)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
bool isOk = true;
|
||
try
|
||
{
|
||
List<Model.Bo_Sheng_Exam> insertExams = new List<Model.Bo_Sheng_Exam>();
|
||
foreach (var item in arr)
|
||
{
|
||
string getID = item["ID"].ToString();
|
||
var getExam = db.Bo_Sheng_Exam.FirstOrDefault(x => x.ID == getID);
|
||
if (!string.IsNullOrEmpty(getID))
|
||
{
|
||
if (getExam == null)
|
||
{
|
||
Model.Bo_Sheng_Exam newTrainTest = new Model.Bo_Sheng_Exam
|
||
{
|
||
ID = getID,
|
||
ProjectId = projectId,
|
||
DeleteTag = item["DeleteTag"].ToString(),
|
||
RecordId = item["RecordId"].ToString(),
|
||
ExamNo = item["ExamNo"].ToString(),
|
||
GroupNo = item["GroupNo"].ToString(),
|
||
CourseID = item["CourseID"].ToString(),
|
||
COrder = Funs.GetNewInt(item["COrder"].ToString()),
|
||
QsnCode = item["QsnCode"].ToString(),
|
||
QsnId = item["QsnId"].ToString(),
|
||
QsnContent = item["QsnContent"].ToString(),
|
||
QsnFileName = item["QsnFileName"].ToString(),
|
||
QsnAnswer = item["QsnAnswer"].ToString(),
|
||
QsnCategory = item["QsnCategory"].ToString(),
|
||
QsnKind = item["QsnKind"].ToString(),
|
||
QsnImportant = item["QsnImportant"].ToString(),
|
||
Description = item["Description"].ToString(),
|
||
Analysis = item["Analysis"].ToString(),
|
||
UploadTime = Funs.GetNewDateTime(item["UploadTime"].ToString()),
|
||
};
|
||
|
||
insertExams.Add(newTrainTest);
|
||
}
|
||
else
|
||
{
|
||
getExam.DeleteTag = item["DeleteTag"].ToString();
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (insertExams.Count() > 0)
|
||
{
|
||
db.Bo_Sheng_Exam.InsertAllOnSubmit(insertExams);
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
isOk = false;
|
||
ErrLogInfo.WriteLog("博晟-培训试卷同步", ex);
|
||
}
|
||
return isOk;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 插入人员培训记录 5
|
||
/// <summary>
|
||
/// 插入人员培训记录 5
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <param name="arr"></param>
|
||
public static bool AddPersonTrainRecord(string projectId, JArray arr, Model.Sys_User user)
|
||
{
|
||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||
{
|
||
bool isOk = true;
|
||
try
|
||
{
|
||
List<Model.Bo_Sheng_PersonTrainRecord> insertPersonTrainRecords = new List<Model.Bo_Sheng_PersonTrainRecord>();
|
||
foreach (var item in arr)
|
||
{
|
||
string getID = item["ID"].ToString();
|
||
var getPersonTrainRecord = db.Bo_Sheng_PersonTrainRecord.FirstOrDefault(x => x.ID == getID);
|
||
if (!string.IsNullOrEmpty(getID))
|
||
{
|
||
if (getPersonTrainRecord == null)
|
||
{
|
||
Model.Bo_Sheng_PersonTrainRecord newRecord = new Model.Bo_Sheng_PersonTrainRecord
|
||
{
|
||
ID = getID,
|
||
ProjectId = projectId,
|
||
DeleteTag = item["DeleteTag"].ToString(),
|
||
EmpName = item["EmpName"].ToString(),
|
||
IdentifyId = item["IdentifyId"].ToString(),
|
||
CategoryName = item["CategoryName"].ToString(),
|
||
RecordId = item["RecordId"].ToString(),
|
||
DepartId = item["DepartId"].ToString(),
|
||
DepartName = item["DepartName"].ToString(),
|
||
TrainPeriod = item["TrainPeriod"].ToString(),
|
||
TotalScore = Funs.GetNewDecimal(item["TotalScore"].ToString()),
|
||
PassScore = Funs.GetNewDecimal(item["PassScore"].ToString()),
|
||
Score = Funs.GetNewDecimal(item["Score"].ToString()),
|
||
IsPass = item["IsPass"].ToString(),
|
||
GroupNo = item["GroupNo"].ToString(),
|
||
ExamNo = item["ExamNo"].ToString(),
|
||
ExamCount = item["ExamCount"].ToString(),
|
||
DeviceNo = item["DeviceNo"].ToString(),
|
||
OwnerDepartId = item["OwnerDepartId"].ToString(),
|
||
Answers = item["Answers"].ToString(),
|
||
RecordName = item["RecordName"].ToString(),
|
||
TrainType = item["TrainType"].ToString(),
|
||
PaperMode = item["PaperMode"].ToString(),
|
||
TrainMode = item["TrainMode"].ToString(),
|
||
TrainPrincipal = item["TrainPrincipal"].ToString(),
|
||
TrainStartDate = Funs.GetNewDateTime(item["TrainStartDate"].ToString()),
|
||
TrainEndDate = Funs.GetNewDateTime(item["TrainEndDate"].ToString()),
|
||
TrainContent = item["TrainContent"].ToString(),
|
||
TrainDescript = item["TrainDescript"].ToString(),
|
||
};
|
||
|
||
insertPersonTrainRecords.Add(newRecord);
|
||
}
|
||
else
|
||
{
|
||
getPersonTrainRecord.DeleteTag = item["DeleteTag"].ToString();
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (insertPersonTrainRecords.Count() > 0)
|
||
{
|
||
db.Bo_Sheng_PersonTrainRecord.InsertAllOnSubmit(insertPersonTrainRecords);
|
||
db.SubmitChanges();
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
isOk = false;
|
||
ErrLogInfo.WriteLog("博晟-人员培训记录同步", ex);
|
||
}
|
||
return isOk;
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|