コード例 #1
0
ファイル: Main.cs プロジェクト: 15831944/EPC
        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
            }
        }
コード例 #2
0
ファイル: BaseApi.cs プロジェクト: 15831944/EPC
 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;
     }
 }
コード例 #3
0
 public Exchange(S_OEM_TaskList task)
     : base(task)
 {
 }
コード例 #4
0
ファイル: Task.cs プロジェクト: 15831944/EPC
 public Task(S_OEM_TaskList task)
     : base(task)
 {
 }
コード例 #5
0
ファイル: User.cs プロジェクト: 15831944/EPC
 public User(S_OEM_TaskList task)
     : base(task)
 {
 }
コード例 #6
0
 public ProjectAreaData(S_OEM_TaskList task)
     : base(task)
 {
 }
コード例 #7
0
ファイル: Plan.cs プロジェクト: 15831944/EPC
 public Plan(S_OEM_TaskList task)
     : base(task)
 {
 }
コード例 #8
0
ファイル: Project.cs プロジェクト: 15831944/EPC
 public Project(S_OEM_TaskList task)
     : base(task)
 {
 }
コード例 #9
0
ファイル: Main.cs プロジェクト: 15831944/EPC
        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());
            }
        }