652 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			652 lines
		
	
	
		
			32 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) && 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);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
 | 
						||
                    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) && getUnit == null)
 | 
						||
                        {
 | 
						||
                            Model.Bo_Sheng_Unit newUnit = new Model.Bo_Sheng_Unit
 | 
						||
                            {
 | 
						||
                                ID = getID,
 | 
						||
                                ProjectId = projectId,
 | 
						||
                                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);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    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) && 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);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    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) && 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);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
 | 
						||
                    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) && getExam == null)
 | 
						||
                        {
 | 
						||
                            Model.Bo_Sheng_Exam newTrainTest = new Model.Bo_Sheng_Exam
 | 
						||
                            {
 | 
						||
                                ID = getID,
 | 
						||
                                ProjectId = projectId,
 | 
						||
                                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);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
 | 
						||
                    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) && getPersonTrainRecord == null)
 | 
						||
                        {
 | 
						||
                            Model.Bo_Sheng_PersonTrainRecord newRecord = new Model.Bo_Sheng_PersonTrainRecord
 | 
						||
                            {
 | 
						||
                                ID = getID,
 | 
						||
                                ProjectId = projectId,
 | 
						||
                                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);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
 | 
						||
                    if (insertPersonTrainRecords.Count() > 0)
 | 
						||
                    {
 | 
						||
                        db.Bo_Sheng_PersonTrainRecord.InsertAllOnSubmit(insertPersonTrainRecords);
 | 
						||
                        db.SubmitChanges();
 | 
						||
                    }                   
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    isOk = false;
 | 
						||
                    ErrLogInfo.WriteLog("博晟-人员培训记录同步", ex);
 | 
						||
                }
 | 
						||
                return isOk;
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
    }
 | 
						||
}
 |