Beispiel #1
0
 /// <summary> 格式化
 /// </summary>
 private void dgvSyncData_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
     try
     {
         if (e.Value == null || string.IsNullOrEmpty(e.Value.ToString()))
         {
             return;
         }
         string fieldNmae = dgvSyncData.Columns[e.ColumnIndex].DataPropertyName;
         if (fieldNmae.Equals("business_name"))
         {
             DataSources.EnumInterfaceType enumInterfaceType = (DataSources.EnumInterfaceType)Convert.ToInt16(e.Value.ToString());
             e.Value = DataSources.GetDescription(enumInterfaceType, true);
         }
         if (fieldNmae.Equals("external_sys"))
         {
             DataSources.EnumExternalSys enumExternalSys = (DataSources.EnumExternalSys)Convert.ToInt16(e.Value.ToString());
             e.Value = DataSources.GetDescription(enumExternalSys, true);
         }
         if (fieldNmae.Equals("last_sync_time"))
         {
             long ticks = (long)e.Value;
             e.Value = Common.UtcLongToLocalDateTime(ticks);
         }
     }
     catch (Exception ex)
     {
         GlobalStaticObj_Server.GlobalLogService.WriteLog("数据同步", ex);
         MessageBoxEx.ShowWarning("程序异常");
     }
 }
Beispiel #2
0
        void UCSyncData_SyncEvent(object sender, EventArgs e)
        {
            try
            {
                List <DataSources.EnumInterfaceType> list = new List <DataSources.EnumInterfaceType>();
                foreach (DataGridViewRow dr in dgvSyncData.Rows)
                {
                    object value = dr.Cells["colCheck"].EditedFormattedValue;
                    if (value != null && (bool)value)
                    {
                        DataSources.EnumInterfaceType enumInterfaceType = (DataSources.EnumInterfaceType)Convert.ToInt32(dr.Cells["data_sync_id"].Value.ToString().Substring(2, 1));
                        list.Add(enumInterfaceType);
                    }
                }

                if (list.Count == 0)
                {
                    MessageBoxEx.ShowInformation("请选择同步项");
                    return;
                }
                if (MessageBoxEx.ShowQuestion("本操作数据量大,时间长,会占用服务器大量资源,请谨慎操作,是否继续?如果继续,同步数据会转入后台执行。"))
                {
                    foreach (DataSources.EnumInterfaceType enumType in list)
                    {
                        SyncData(enumType);
                    }
                }
            }
            catch (Exception ex)
            {
                GlobalStaticObj_Server.GlobalLogService.WriteLog("数据同步", ex);
                MessageBoxEx.ShowWarning("程序异常");
            }
        }
Beispiel #3
0
        /// <summary> 格式化
        /// </summary>
        private void dgvSyncData_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (e.Value == null || string.IsNullOrEmpty(e.Value.ToString()))
            {
                return;
            }
            string fieldNmae = dgvSyncDataLog.Columns[e.ColumnIndex].DataPropertyName;

            if (fieldNmae.Equals("business_name"))
            {
                DataSources.EnumInterfaceType enumInterfaceType = (DataSources.EnumInterfaceType)Convert.ToInt16(e.Value.ToString());
                e.Value = DataSources.GetDescription(enumInterfaceType, true);
            }
            if (fieldNmae.Equals("external_sys"))
            {
                DataSources.EnumExternalSys enumExternalSys = (DataSources.EnumExternalSys)Convert.ToInt16(e.Value.ToString());
                e.Value = DataSources.GetDescription(enumExternalSys, true);
            }
            if (fieldNmae.Equals("sync_direction"))
            {
                DataSources.EnumSyncDirection enumSyncDirection = (DataSources.EnumSyncDirection)Convert.ToInt16(e.Value.ToString());
                e.Value = DataSources.GetDescription(enumSyncDirection, true);
            }
            if (fieldNmae.Equals("sync_start_time") || fieldNmae.Equals("sync_end_time"))
            {
                long ticks = (long)e.Value;
                e.Value = Common.UtcLongToLocalDateTime(ticks);
            }
        }
Beispiel #4
0
        /// <summary> 接口调用记录
        /// </summary>
        /// <param name="enumInterfaceType">接口类型</param>
        /// <param name="enumExternalSys">外部系统</param>
        /// <param name="totalCount">同步后本地总条数</param>
        /// <param name="updateCount">更新条数</param
        /// <param name="dtLastSyncTime">同步时间</param>
        /// <returns>返回true or false</returns>
        public static bool WriteInterficeSync(DataSources.EnumInterfaceType enumInterfaceType, DataSources.EnumExternalSys enumExternalSys, int totalCount, int updateCount, DateTime dtLastSyncTime)
        {
            string enumName = DataSources.GetDescription(enumInterfaceType, true);
            string keyName  = "data_sync_id";
            string keyValue = Convert.ToInt32(enumExternalSys).ToString() + "-" + Convert.ToInt32(enumInterfaceType).ToString();
            Dictionary <string, string> dicFields = new Dictionary <string, string>();

            dicFields.Add("local_total_num", totalCount.ToString());
            dicFields.Add("update_total_num", updateCount.ToString());
            dicFields.Add("last_sync_time", Common.LocalDateTimeToUtcLong(dtLastSyncTime).ToString());
            bool flag = DBHelper.Submit_AddOrEdit("接口调用记录-" + enumName, GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode, "sys_data_sync", keyName, keyValue, dicFields);

            return(flag);
        }
Beispiel #5
0
        /// <summary> 同步信息
        /// </summary>
        public void SyncData(DataSources.EnumInterfaceType enumInterfaceType)
        {
            switch (enumInterfaceType)
            {
            case DataSources.EnumInterfaceType.ServiceStation:
                new System.Threading.Thread(SysServiceStationData).Start();
                break;

            case DataSources.EnumInterfaceType.Bus:
                new System.Threading.Thread(SysBusData).Start();
                break;

            case DataSources.EnumInterfaceType.BusCustomer:
                new System.Threading.Thread(SysCustomerData).Start();
                break;

            case DataSources.EnumInterfaceType.Contact:
                new System.Threading.Thread(SysContactData).Start();
                break;

            case DataSources.EnumInterfaceType.RepairProject:
                new System.Threading.Thread(SysRepairProjectData).Start();
                break;

            case DataSources.EnumInterfaceType.Part:
                new System.Threading.Thread(SysPartData).Start();
                break;

            case DataSources.EnumInterfaceType.BusModel:
                new System.Threading.Thread(SysBusModelData).Start();
                break;

            case DataSources.EnumInterfaceType.HitchMode:
                new System.Threading.Thread(SysHitchModeData).Start();
                break;

            case DataSources.EnumInterfaceType.ProdImprovement:
                new System.Threading.Thread(SysProdImprovementData).Start();
                break;

            default:
                MessageBoxEx.ShowInformation("无对应同步项");
                break;
            }
        }
Beispiel #6
0
        /// <summary> 接口调用日志
        /// </summary>
        /// <param name="enumInterfaceType">接口类型</param>
        /// <param name="enumExternalSys">外部系统</param>
        /// <param name="enumSyncDirection">同步方向</param>
        /// <param name="tableName">更新表名</param>
        /// <param name="dtpStart">开始时间</param>
        /// <param name="dtpEnd">结束时间</param>
        /// <param name="updateCount">更新条数</param>
        /// <param name="errMsg">错误原因</param>
        /// <returns>返回true or false</returns>
        public static bool WriteInterficeSyncLog(DataSources.EnumInterfaceType enumInterfaceType, DataSources.EnumExternalSys enumExternalSys, DataSources.EnumSyncDirection enumSyncDirection, string tableName, DateTime dtpStart, DateTime dtpEnd, int updateCount, string errMsg)
        {
            Dictionary <string, string> dicFields = new Dictionary <string, string>();

            dicFields.Add("data_sync_log_id", Guid.NewGuid().ToString());
            dicFields.Add("external_sys", Convert.ToInt32(enumExternalSys).ToString());
            string enumName = DataSources.GetDescription(enumInterfaceType, true);

            dicFields.Add("business_name", Convert.ToInt32(enumInterfaceType).ToString());
            dicFields.Add("table_name", tableName);
            dicFields.Add("sync_start_time", Common.LocalDateTimeToUtcLong(dtpStart).ToString());
            dicFields.Add("sync_end_time", Common.LocalDateTimeToUtcLong(dtpEnd).ToString());
            dicFields.Add("sync_direction", Convert.ToInt32(enumSyncDirection).ToString());
            dicFields.Add("changes_num", updateCount.ToString());
            dicFields.Add("sync_result", errMsg);
            bool flag = DBHelper.Submit_AddOrEdit("接口调用日志-" + enumName, GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode, "sys_data_sync_log", "", "", dicFields);

            return(flag);
        }
Beispiel #7
0
        /// <summary> 提示同步信息
        /// </summary>
        public void ShowMsg(string msg, DataSources.EnumInterfaceType enumType)
        {
            if (parentCol == null)
            {
                return;
            }
            if (parentCol.IsDisposed || !parentCol.Parent.IsHandleCreated)
            {
                return;
            }
            string enumDesc = DataSources.GetDescription(enumType, true);

            if (!string.IsNullOrEmpty(msg))
            {
                parentCol.Invoke(new Action(() => { MessageBoxEx.ShowWarning(enumDesc + "同步失败!失败原因:" + msg); }));
            }
            else
            {
                parentCol.Invoke(new Action(() => { MessageBoxEx.ShowInformation(enumDesc + "同步成功!请进入系统监控-数据同步查看"); BindData(); }));
            }
        }