private void CreateUserList(SQLHelper baseHelper) { //增改 var lastSyncTime = baseHelper.ExecuteScalar("select top 1 CreateTime from S_OEM_TaskList where OEMCode='Szsow' and BusinessCode='User' order by CreateTime desc"); if (lastSyncTime == null || lastSyncTime == DBNull.Value) { lastSyncTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var sql = @"insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) select 'Szsow','Save','User',ID,'" + lastSyncTime + "' from S_A_User where ModifyTime is not null"; baseHelper.ExecuteNonQuery(sql); } else { var startDate = Convert.ToDateTime(lastSyncTime).ToString(); var endDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var sql = @"insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) select 'Szsow','Save','User',ID,'" + endDate + "' from S_A_User where ModifyTime >='" + startDate + "' and ModifyTime <='" + endDate + "'"; baseHelper.ExecuteNonQuery(sql); } #region 除 var deleteUser = true; bool.TryParse(ConfigurationManager.AppSettings["SyncDeleteUser"], out deleteUser); if (deleteUser) { #region 获得OEM所有ID var task = new S_OEM_TaskList(); task.OEMCode = "Szsow"; task.BusinessCode = "User"; task.BusinessType = BusinessType.GetData.ToString(); task.CreateTime = DateTime.Now; var getSql = string.Format(@"insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,CreateTime) values( '{0}','{1}','{2}','{3}') select @@IDENTITY", task.OEMCode, task.BusinessType, task.BusinessCode, task.CreateTime.ToString()); task.ID = Convert.ToInt64(baseHelper.ExecuteScalar(getSql)); var sync = new User(task); var oemIDs = sync.GetIDs(); #endregion //获得自己系统所有ID var epmIDs = GlobalData.UserDt.AsEnumerable().Select(c => c.Field <string>("id")).ToList(); //OEM有的数据,我们没有的数据,就是需要删除的数据 var saID = ConfigurationManager.AppSettings["OEMSaUserID"];//不能删除超级管理员 var deleteIDs = oemIDs.Where(a => !epmIDs.Contains(a) && a != saID).ToArray(); //插入删除记录 if (deleteIDs.Length > 0) { StringBuilder sb = new StringBuilder(); foreach (var deleteID in deleteIDs) { sb.AppendFormat("insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) values( '{0}','{1}','{2}','{3}','{4}')", task.OEMCode, BusinessType.Remove.ToString(), task.BusinessCode, deleteID, task.CreateTime.ToString()); sb.AppendLine(); } baseHelper.ExecuteNonQuery(sb.ToString()); } #endregion } }
public BaseApi(S_OEM_TaskList task) { _Task = task; if (string.IsNullOrEmpty(_Task.RequestData)) { _Task.RequestData = string.Empty; } if (string.IsNullOrEmpty(_Task.Response)) { _Task.Response = string.Empty; } if (string.IsNullOrEmpty(_Task.ErrorMsg)) { _Task.ErrorMsg = string.Empty; } }
public Exchange(S_OEM_TaskList task) : base(task) { }
public Task(S_OEM_TaskList task) : base(task) { }
public User(S_OEM_TaskList task) : base(task) { }
public ProjectAreaData(S_OEM_TaskList task) : base(task) { }
public Plan(S_OEM_TaskList task) : base(task) { }
public Project(S_OEM_TaskList task) : base(task) { }
private void CreateProjectList(SQLHelper baseHelper, SQLHelper businessHelper) { //增改 var lastSyncTime = baseHelper.ExecuteScalar("select top 1 CreateTime from S_OEM_TaskList where OEMCode='Szsow' and BusinessCode='Project' and BusinessType!='" + BusinessType.GetData.ToString() + "' order by CreateTime desc"); if (lastSyncTime == null || lastSyncTime == DBNull.Value) { lastSyncTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var sql = @"insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) select 'Szsow','Save','Project',ID,'" + lastSyncTime + "' from " + businessHelper.DbName + "..S_I_ProjectInfo where ModifyDate is not null and ModeCode='Architecture_OEM_Szsow'"; baseHelper.ExecuteNonQuery(sql); } else { var startDate = Convert.ToDateTime(lastSyncTime).ToString(); var endDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var sql = @"insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) select 'Szsow','Save','Project',ID,'" + endDate + "' from " + businessHelper.DbName + "..S_I_ProjectInfo where ModifyDate >='" + startDate + "' and ModifyDate <='" + endDate + "' and ModeCode='Architecture_OEM_Szsow'"; baseHelper.ExecuteNonQuery(sql); } #region 获得OEM所有ID var task = new S_OEM_TaskList(); task.OEMCode = "Szsow"; task.BusinessCode = "Project"; task.BusinessType = BusinessType.GetData.ToString(); task.CreateTime = DateTime.Now; var getSql = string.Format(@"insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,CreateTime) values( '{0}','{1}','{2}','{3}') select @@IDENTITY", task.OEMCode, task.BusinessType, task.BusinessCode, task.CreateTime.ToString()); task.ID = Convert.ToInt64(baseHelper.ExecuteScalar(getSql)); var sync = new Project(task); var oemIDs = sync.GetIDs(); StringBuilder sb = new StringBuilder(); #endregion var prjDt = businessHelper.ExecuteDataTable("select id,state from S_I_ProjectInfo"); //获得自己系统所有ID var epmIDs = prjDt.AsEnumerable().Select(c => c.Field <string>("id")).ToList(); #region 除 var deletePrj = true; bool.TryParse(ConfigurationManager.AppSettings["SyncDeleteProject"], out deletePrj); if (deletePrj) { //OEM有的数据,我们没有的数据,就是需要删除的数据 var deleteIDs = oemIDs.Where(a => !epmIDs.Contains(a)).ToArray(); //插入删除记录 if (deleteIDs.Length > 0) { foreach (var deleteID in deleteIDs) { sb.AppendFormat("insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) values( '{0}','{1}','{2}','{3}','{4}')", task.OEMCode, BusinessType.Remove.ToString(), task.BusinessCode, deleteID, task.CreateTime.ToString()); sb.AppendLine(); } } } #endregion #region 插入获得项目的文件记录的队列数据,发图计划、提资计划、工作任务、公共区数据 epmIDs = prjDt.Select("state not in ('Finish','Pause','Terminate')").AsEnumerable().Select(c => c.Field <string>("id")).ToList(); if (epmIDs.Count > 0) { foreach (var projectId in epmIDs) { //只同步在运行项目,并且存在于四方系统的项目 if (!oemIDs.Contains(projectId)) { continue; } sb.AppendFormat("insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) values( '{0}','{1}','{2}','{3}','{4}')", task.OEMCode, BusinessType.GetData.ToString(), "Plan", projectId, task.CreateTime.ToString()); //发图计划节点下文件记录 sb.AppendFormat("insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) values( '{0}','{1}','{2}','{3}','{4}')", task.OEMCode, BusinessType.GetData.ToString(), "Exchange", projectId, task.CreateTime.ToString()); //提资计划节点下文件记录 sb.AppendFormat("insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) values( '{0}','{1}','{2}','{3}','{4}')", task.OEMCode, BusinessType.GetData.ToString(), "Task", projectId, task.CreateTime.ToString()); //工作任务节点下文件记录 sb.AppendFormat("insert into S_OEM_TaskList(OEMCode,BusinessType,BusinessCode,BusinessID,CreateTime) values( '{0}','{1}','{2}','{3}','{4}')", task.OEMCode, BusinessType.GetData.ToString(), "ProjectAreaData", projectId, task.CreateTime.ToString()); //公共区目录及文件 sb.AppendLine(); } } #endregion if (sb.Length > 0) { baseHelper.ExecuteNonQuery(sb.ToString()); } }