/// <summary> /// 保存配置文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Click(object sender, EventArgs e) { try { if (_CaijiCommHelper.GetClientConfigStatus(txtECode.Text.Trim()) == 0) { MessageBox.Show("本地设备信息未在服务上注册,请查证!", "本地配置提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); return; } _SXCJModule.SpecialSetting.InvalidValueRangeList = new List <ValueRange>(); for (int i = 0; i < ListBoxValidData.Items.Count; i++) { ValueRange _ValueRange = new ValueRange(); _ValueRange.MinValue = Convert.ToDouble(ListBoxValidData.Items[i].ToString().Substring(0, ListBoxValidData.Items[i].ToString().IndexOf("----"))); _ValueRange.MaxValue = Convert.ToDouble(ListBoxValidData.Items[i].ToString().Substring(ListBoxValidData.Items[i].ToString().IndexOf("----") + 4)); _SXCJModule.SpecialSetting.InvalidValueRangeList.Add(_ValueRange); } _SXCJModule.SpecialSetting.MachineCode = txtECode.Text; _SXCJModule.SpecialSetting.MachineCompany = cmbCJ.Text; _SXCJModule.SpecialSetting.MachineKeyCode = txtXLQM.Text; _SXCJModule.SpecialSetting.MachineType = rdbWNJ.Checked ? 2 : 1; _SXCJModule.SpecialSetting.MinFinishValue = Convert.ToDouble(txtFinishForce.Text ?? "0"); _SXCJModule.SpecialSetting.MinValidValue = Convert.ToDouble(txtStartForce.Text ?? "0"); if (rdbCOM.Checked) { _SXCJModule.SpecialSetting.CommunicationType = 0; _SXCJModule.SpecialSetting.PortBaud = Convert.ToInt32(cmbBaudRate.Text); _SXCJModule.SpecialSetting.PortName = cmbSerialPort.Text; } else { _SXCJModule.SpecialSetting.CommunicationType = 1; _SXCJModule.SpecialSetting.LocalPort = ushort.Parse(txtMPort.Text); _SXCJModule.SpecialSetting.LocalIP = txtMIP.Text; _SXCJModule.SpecialSetting.RemotPort = ushort.Parse(txtDevicePort.Text); _SXCJModule.SpecialSetting.RemotIP = txtDeviceIP.Text; } _SXCJModule.SpecialSetting.QFParameter = Convert.ToDouble(txtQFCondition.Text ?? "0"); _SXCJModule.SpecialSetting.QFStartValueMPA = Convert.ToDouble(txtQFStart.Text ?? "0"); _SXCJModule.SpecialSetting.QuFuType = short.Parse((rdbQFL.Checked ? 2 : 1).ToString()); _SXCJModule.SpecialSetting.QFPoints = Convert.ToInt32(txtPoints.Text ?? "0"); _SXCJModule.SpecialSetting.QFName = (cmbQFName.SelectedValue ?? "").ToString(); _SXCJModule.SpecialSetting.TestRoomCode = txtTestCode.Text; _SXCJModule.SpecialSetting.XDefaultMaxValue = Convert.ToDouble(txtXDataMValue.Text ?? "0"); _SXCJModule.SpecialSetting.YDefaultMaxValue = Convert.ToDouble(txtYDataMValue.Text ?? "0"); _SXCJModule.SpecialSetting.DrawChartInterval = Convert.ToInt32(txtDrawChartInterval.Text ?? "0"); _SXCJModule.SpecialSetting.ZeroParameters = float.Parse(txtZeroParameters.Text ?? "0"); _SXCJModule.SpecialSetting.DPlace = float.Parse(tb_DPlace.Text ?? "0"); _SXCJModule.SpecialSetting.SpecialD = float.Parse(tb_Special.Text ?? "0"); _SXCJModule.SpecialSetting.PointNum = Convert.ToInt32(txtPointNum.Text ?? "0"); _SXCJModule.SpecialSetting.IsDebug = cb_debug.Checked; _SXCJModule.SpecialSetting.ValidCount = Convert.ToInt32(tb_validCount.Text ?? "0"); _SXCJModule.SpecialSetting.PrecisionGrade = int.Parse(txtPrecisionGrade.Text); _SXCJModule.SpecialSetting.BDValue = float.Parse(txtKentADBDValue.Text); _ConfigOperation.SaveModul(_SXCJModule); MessageBox.Show("保存成功"); } catch (Exception ex) { log.WriteLog(ex.ToString(), true, true); MessageBox.Show("保存失败"); } }
public void StartInit() { log = new Logger(Path.Combine(Directory.GetCurrentDirectory(), "Log")); /// <summary> /// 登录实例 /// </summary> LoginForm _LoginForm = null; /// <summary> /// 获取调用实例 /// </summary> CaijiCommHelper _CaijiCommHelper = null; /// <summary> /// 试验初始化配置信息 /// </summary> SXCJModule _Module = null; try { _Module = CalHelper.LoadModule(); _CaijiCommHelper = new CaijiCommHelper(log, _Module); _LoginForm = new LoginForm(log, _CaijiCommHelper, _Module); ReLogin: if (DialogResult.OK == _LoginForm.ShowDialog()) { if (_LoginForm.IsUpdate && !IsRuningProcess("JZUpgradeAgent")) { JZUpgrade.UpdateAlert ua = new JZUpgrade.UpdateAlert(2); if (ua.ShowDialog() != DialogResult.OK) { goto ReLogin; } ProcessStartInfo Info = new ProcessStartInfo(); Info.CreateNoWindow = false; Info.UseShellExecute = true; Info.FileName = Path.Combine(Application.StartupPath, "JZUpgrade.exe"); Info.Arguments = "\"5\""; Process.Start(Info); _LoginForm.Enabled = false; _LoginForm.lblUpdateStatus.Text = "正在更新..."; goto ReLogin; } #region 用户登录 if (_LoginForm.bNetWorkIsConnected) { #region 在线登陆 ShowForm(); SetText("用户登录中......."); try { string msg = _CaijiCommHelper.Login(_LoginForm.cmbUserName.Text, _LoginForm.txtUserPwd.Text, _Module.SpecialSetting.MachineCode, true); if (msg.ToLower().Trim() != "true") { CloseFrom(); if (MessageBox.Show(msg, "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.OK) { goto ReLogin; } else { Application.Exit(); return; } } else { #region 网络登录成功 _LoginForm.timerUpdate.Stop(); #region 步本地用户 SetText("同步本地用户......."); _CaijiCommHelper.SysUserInfo(Yqun.Common.ContextCache.ApplicationContext.Current.UserName, Yqun.Common.ContextCache.ApplicationContext.Current.Password, Yqun.Common.ContextCache.ApplicationContext.Current.UserCode, Yqun.Common.ContextCache.ApplicationContext.Current.InTestRoom.Code); #endregion #region 步本地模板 SetText("初始化用户配置信息......."); SetText("同步本地模板......."); _CaijiCommHelper.UpdateLocalModelInfo(_Module.SpecialSetting.TestRoomCode); #endregion if (!Yqun.Common.ContextCache.ApplicationContext.Current.IsAdministrator) { #region 步本地配置信息 try { SetText("检查本地配置信息状态......."); switch (_CaijiCommHelper.GetClientConfigStatus(_Module.SpecialSetting.MachineCode)) { case -1: SetText("本地配置信息状态检查失败,请联系管理员......."); break; case 0: //SetText("同步本地配置信息......."); //_CaijiCommHelper.UploadClientConfig(_Module.SpecialSetting.TestRoomCode, _Module.SpecialSetting.MachineCode, Newtonsoft.Json.JsonConvert.SerializeObject(_Module.SpecialSetting)); MessageBox.Show("本地设备信息未在服务上注册,请联系管理员!", "本地配置提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); CloseFrom(); goto ReLogin; case 1: SetText("同步本地配置信息......."); _CaijiCommHelper.UpDateClientConfig(_Module.SpecialSetting.MachineCode, Newtonsoft.Json.JsonConvert.SerializeObject(_Module.SpecialSetting)); break; case 2: SetText("同步本地配置信息......."); _CaijiCommHelper.GetClientConfig(ref _Module, _Module.SpecialSetting.MachineCode); break; } SetText("同步本地配置信息完成......."); } catch (Exception exSysConfig) { log.WriteLog(exSysConfig.Message + System.Environment.NewLine + exSysConfig.TargetSite, true, true); } #endregion } #region 本地数据 if (!Yqun.Common.ContextCache.ApplicationContext.Current.IsAdministrator) { SetText("上传本地数据中......."); if (_CaijiCommHelper.UpdateLocalDateToServer()) { SetText("上传本地数据成功......."); } else { SetText("上传本地数据失败,下次启动将继续上传......."); } } #endregion #region 记录历史登陆 _LoginForm.MemberUser(); #endregion #endregion } } catch (Exception ex) { MessageBox.Show("网络连接失败!已经转至本地服务登录!" + ex.Message, "登录提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); Yqun.Common.ContextCache.ApplicationContext.Current.ISLocalService = true; } #endregion } else { #region 本地用户登录 ShowForm(); SetText("用户登录中......."); SetText("读取本地登录用户信息......."); DataTable _DataTable = new DataTable(); _DataTable = _CaijiCommHelper.GetUserInfo(_LoginForm.cmbUserName.Text, _LoginForm.txtUserPwd.Text); if (_DataTable != null && _DataTable.Rows.Count > 0) { Yqun.Common.ContextCache.ApplicationContext.Current.UserName = _LoginForm.cmbUserName.Text; Yqun.Common.ContextCache.ApplicationContext.Current.Password = _LoginForm.txtUserPwd.Text; Yqun.Common.ContextCache.ApplicationContext.Current.UserCode = _DataTable.Rows[0]["UserCode"].ToString(); Yqun.Common.ContextCache.ApplicationContext.Current.InTestRoom.Code = _DataTable.Rows[0]["UserTestCode"].ToString(); Yqun.Common.ContextCache.ApplicationContext.Current.ISLocalService = true; _Module = CalHelper.LoadModule(); } else { if (MessageBox.Show("用户名或密码错误,请查证后在登录!", "登录错误", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.OK) { goto ReLogin; } else { Application.Exit(); return; } } #endregion } #region 释放资源 if (_SplashScreen != null) { CloseFrom(); } #endregion #endregion Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm(log, _Module, _CaijiCommHelper)); } } catch (Exception ex) { log.WriteLog(ex.StackTrace, true, false); } }
public static void DoMain() { try { #region 更新或执行更新\工管中心MD5验证 Thread _Thread = new Thread(new ThreadStart(InitUpdate)); _Thread.Start(); #endregion Logger log = new Logger(Path.Combine(Directory.GetCurrentDirectory(), "Log")); StringBuilder sql_select = new StringBuilder(); sql_select.Append("select top 1 * from sys_login order by loginId"); DataTable Data = Agent.CallLocalService("Yqun.BO.BOBase.dll", "GetDataTable", new object[] { sql_select.ToString() }) as DataTable; if (Data != null) { logger.Info(string.Format("发现{0}条登录记录", Data.Rows.Count)); DataRow Row = null; if (Data.Rows.Count > 0) { Row = Data.Rows[0]; } else { Row = Data.NewRow(); Data.Rows.Add(Row); } String UserName = Row["username"].ToString(); String Password = Row["password"].ToString(); Boolean r = Agent.LoginProcess(UserName, Password); int Result = (r ? 1 : 0); logger.Info(string.Format("用户‘{0}’登录{1}", UserName, r ? "成功" : "失败")); Row["loginresult"] = Result; object o = Agent.CallLocalService("Yqun.BO.BOBase.dll", "Update", new object[] { Data }); r = (Convert.ToInt32(o) == 1); logger.Info(string.Format("保存用户‘{0}’登录状态{1}", UserName, r ? "成功" : "失败")); if (!ProcessHelper.IsRuningProcess("JZUpgradeAgent")) { ProcessStartInfo Info = new ProcessStartInfo(); Info.CreateNoWindow = false; Info.UseShellExecute = true; Info.FileName = Path.Combine(Application.StartupPath, "JZUpgrade.exe"); Info.Arguments = "\"9\""; //1 管理系统文件+不执行,2 采集系统文件+不执行,3 管理系统数据+不执行, //4 管理系统文件+数据+执行; //5 采集系统文件+执行 //6 管理系统执行 //7 采集系统执行 //8 管理系统文件+执行 //9 电液伺服系统执行 Process.Start(Info); } CaijiCommHelper _CaijiCommHelper = new CaijiCommHelper(log); SXCJModule _Module = new SXCJModule(); _Module.SpecialSetting.MachineType = Convert.ToInt32(ConfigurationManager.ConfigurationManager.AppSettings["type"]); switch (_CaijiCommHelper.GetClientConfigStatus(Convert.ToString(ConfigurationManager.ConfigurationManager.AppSettings["Machinecode"]))) { case -1: break; case 0: _CaijiCommHelper.UploadClientConfig(Convert.ToString(ConfigurationManager.ConfigurationManager.AppSettings["testcode"]), Convert.ToString(ConfigurationManager.ConfigurationManager.AppSettings["Machinecode"]), Newtonsoft.Json.JsonConvert.SerializeObject(_Module.SpecialSetting)); break; case 1: _CaijiCommHelper.UpDateClientConfig(Convert.ToString(ConfigurationManager.ConfigurationManager.AppSettings["Machinecode"]), Newtonsoft.Json.JsonConvert.SerializeObject(_Module.SpecialSetting)); break; case 2: _CaijiCommHelper.GetClientConfig(ref _Module, Convert.ToString(ConfigurationManager.ConfigurationManager.AppSettings["Machinecode"])); break; } #region OldCode //if (Internet.IsWanAlive()) //{ // logger.Info("正在更新试验项目..."); // sql_select = new StringBuilder(); // sql_select.Append("select * from sys_testitem"); // DataTable networkData = Agent.CallRemoteService("Yqun.BO.BOBase.dll", "GetDataTable", new object[] { sql_select.ToString() }) as DataTable; // DataTable localData = Agent.CallLocalService("Yqun.BO.BOBase.dll", "GetDataTable", new object[] { sql_select.ToString() }) as DataTable; // if (networkData != null && localData != null) // { // foreach (DataRow testRow in networkData.Rows) // { // String Index = testRow["ID"].ToString(); // DataRow[] DataRows = localData.Select("ID='" + Index + "'"); // if (DataRows.Length == 0) // { // DataRow localRow = localData.NewRow(); // localRow["ID"] = testRow["ID"]; // localRow["ItemName"] = testRow["ItemName"]; // localRow["TestCount"] = testRow["TestCount"]; // localRow["Type"] = testRow["Type"]; // localData.Rows.Add(localRow); // } // else // { // DataRow localRow = DataRows[0]; // localRow["ID"] = testRow["ID"]; // localRow["ItemName"] = testRow["ItemName"]; // localRow["TestCount"] = testRow["TestCount"]; // localRow["Type"] = testRow["Type"]; // } // } // object rt = Agent.CallLocalService("Yqun.BO.BOBase.dll", "Update", new object[] { localData }); // r = (Convert.ToInt32(o) == 1); // logger.Info(string.Format("更新用户‘{0}’的试验项目{1}", UserName, r ? "成功" : "失败")); // } // else if (networkData == null) // { // logger.Info("获得服务端的试验项目失败"); // logger.Info(string.Format("更新用户‘{0}’的试验项目失败", UserName)); // } // else if (localData == null) // { // logger.Info("获得本机的试验项目表结构失败"); // logger.Info(string.Format("更新用户‘{0}’的试验项目失败", UserName)); // } //} //else //{ // logger.Info("无法访问Internet,更新试验项目失败"); //} #endregion } } catch (Exception ex) { logger.Error(string.Format("应用出错:{0}", ex.Message)); } }