using GeBoShi.SysCtrl; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GeBoShi.UI.SysSet { public partial class SysSetFrm : Form { public SysSetFrm() { InitializeComponent(); UIStyle.SetUIStyle(this); this.uiTitel1.FatherForm = this; } private void tsbtnExit_Click(object sender, EventArgs e) { this.Close(); } private void tsbtnSave_Click(object sender, EventArgs e) { try { GetParamsSave(); MessageBox.Show("保存成功,修改硬件参数之后需重启生效!", "保存成功", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "保存出错", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void SysSetFrm_Load(object sender, EventArgs e) { skinTabControl1.SelectedIndex = 0; var comNameList = SerialPort.GetPortNames().ToList(); comNameList.ForEach(comName => { this.cobLightPortNum.Items.Add(comName); }); //显示所有打印机 if (SysMgr.Instance.PrintControl != null) { List list = SysMgr.Instance.PrintControl.GetPrintersName(); foreach (string printer in list) { cboPrinters.Items.Add(printer); cboPrinters2.Items.Add(printer); } } RefeshParams(); } #region 界面刷新&保存 private void RefeshParams() { chkBuzzer.Checked = ConfMgr.Instance.SysConfigParams.OpenBuzzer; //chkDoorSensor.Checked = ConfMgr.Instance.SysConfigParams.OpenDoor; cbIODev.Checked = ConfMgr.Instance.SysConfigParams.OpenIO; cbPLC.Checked = ConfMgr.Instance.SysConfigParams.OpenPLC; cobLightPortNum.Text = ConfMgr.Instance.SysConfigParams.LightCom; numLightBaud.Value = ConfMgr.Instance.SysConfigParams.LightComBaud; tbIODevNum.Text = ConfMgr.Instance.SysConfigParams.IODevName; tbIOCfgPath.Text = ConfMgr.Instance.SysConfigParams.IOCfgPath; tbPLCIP.Text = ConfMgr.Instance.SysConfigParams.PLC_IP; tbCamCfgPath.Text = ConfMgr.Instance.SysConfigParams.CamPath_1; tbCamCfgPath2.Text = ConfMgr.Instance.SysConfigParams.CamPath_2; numCamIndex.Value = ConfMgr.Instance.SysConfigParams.CamIndex_1; numCamIndex2.Value = ConfMgr.Instance.SysConfigParams.CamIndex_2; numCamDev.Value = ConfMgr.Instance.SysConfigParams.CamDev_1; numCamDev2.Value = ConfMgr.Instance.SysConfigParams.CamDev_2; chkSave1.Checked = ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoSave; tbDefectPath.Text = ConfMgr.Instance.SysConfigParams.DefectSrcImag.SavePath; chkDefect_Path_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoDelete; numDefect_Path_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoDeleteDays; chkSave2.Checked = ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoSave; tbDefectSmallPath.Text = ConfMgr.Instance.SysConfigParams.DefectSmallImag.SavePath; chkDefect_Small_Path_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoDelete; numDefect_Small_Path_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoDeleteDays; chkSave3.Checked = ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoSave; tbDefectCompressSavePath.Text = ConfMgr.Instance.SysConfigParams.DefectSplicImag.SavePath; chkDefect_Compress_SavePath_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoDelete; numDefect_Compress_SavePath_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoDeleteDays; tbModelPath.Text = ConfMgr.Instance.SysConfigParams.AIModelPath; tbPdtPath.Text = ConfMgr.Instance.ProjectDir; tbLogPath.Text = ConfMgr.Instance.SysConfigParams.LogPath; ckbAutoClear.Checked = ConfMgr.Instance.SysConfigParams.AutoDeleteLog; numLogDays.Value = (decimal)ConfMgr.Instance.SysConfigParams.AutoDeleteLogData; cbResetBtn.Checked = ConfMgr.Instance.SysConfigParams.ShowResetBtn; cbBuzzShow.Checked = ConfMgr.Instance.SysConfigParams.ShowBuzz; cbDoorAlm.Checked = ConfMgr.Instance.SysConfigParams.ShowDoorAlm; numViewX.Value = (decimal)ConfMgr.Instance.SysConfigParams.Cm2px_x; numViewY.Value = (decimal)ConfMgr.Instance.SysConfigParams.Cm2px_y; numMid.Value = (decimal)ConfMgr.Instance.SysConfigParams.MidCoin; numKW.Value = (decimal)ConfMgr.Instance.SysConfigParams.HolePx; numL.Value = (decimal)ConfMgr.Instance.SysConfigParams.LCrop; numR.Value = (decimal)ConfMgr.Instance.SysConfigParams.RCrop; /////////////Print//////////////// this.cbOpenBarTenderPrint.Checked = ConfMgr.Instance.SysConfigParams.EnableLabelPrint; this.cboPrinters.SelectedItem = ConfMgr.Instance.SysConfigParams.LabelPrinterName; this.cbOpenExcelPrint.Checked = ConfMgr.Instance.SysConfigParams.EnableExcelPrint; this.cboPrinters2.SelectedItem = ConfMgr.Instance.SysConfigParams.ExcelPrinterName; //////////////////////////////// ////////////////本地云端//////////////// cbOpenCloud.Checked = ConfMgr.Instance.SysConfigParams.OpenCloud; tbCloudName.Text = ConfMgr.Instance.SysConfigParams.CloudThisName; tbCloudIP.Text = ConfMgr.Instance.SysConfigParams.CloudServerIP; numCloudPort.Value = (decimal)ConfMgr.Instance.SysConfigParams.CloudServerPort; tbCloudUser.Text = ConfMgr.Instance.SysConfigParams.CloudUser; tbCloudPassword.Text = ConfMgr.Instance.SysConfigParams.CloudPassword; //////////////////////////////////////// /// this.cbMX1.Checked = ConfMgr.Instance.SysConfigParams.Cam1_flipX; this.cbMY1.Checked = ConfMgr.Instance.SysConfigParams.Cam1_flipY; this.cbMX2.Checked = ConfMgr.Instance.SysConfigParams.Cam2_flipX; this.cbMY2.Checked = ConfMgr.Instance.SysConfigParams.Cam2_flipY; } private void GetParamsSave() { SysConfigParams configParams = new SysConfigParams(); configParams = ConfMgr.Instance.SysConfigParams; configParams.OpenBuzzer = chkBuzzer.Checked; //configParams.OpenDoor = chkDoorSensor.Checked; configParams.OpenIO = cbIODev.Checked; configParams.OpenPLC = cbPLC.Checked; configParams.LightCom = cobLightPortNum.Text; configParams.LightComBaud = (int)numLightBaud.Value; configParams.IODevName = tbIODevNum.Text; configParams.IOCfgPath = tbIOCfgPath.Text; configParams.PLC_IP = tbPLCIP.Text; configParams.PLC_Rack = 0; configParams.PLC_Solt = 1; configParams.CamPath_1 = tbCamCfgPath.Text; configParams.CamPath_2 = tbCamCfgPath2.Text; configParams.CamIndex_1 = (int)numCamIndex.Value; configParams.CamIndex_2 = (int)numCamIndex2.Value; configParams.CamDev_1 = (int)numCamDev.Value; configParams.CamDev_2 = (int)numCamDev2.Value; configParams.DefectSrcImag.AutoSave = chkSave1.Checked; configParams.DefectSrcImag.SavePath = tbDefectPath.Text; configParams.DefectSrcImag.AutoDelete = chkDefect_Path_AutoClear.Checked; configParams.DefectSrcImag.AutoDeleteDays = (double)numDefect_Path_AutoClear.Value; configParams.DefectSmallImag.AutoSave = chkSave2.Checked; configParams.DefectSmallImag.SavePath = tbDefectSmallPath.Text; configParams.DefectSmallImag.AutoDelete = chkDefect_Small_Path_AutoClear.Checked; configParams.DefectSmallImag.AutoDeleteDays = (double)numDefect_Small_Path_AutoClear.Value; configParams.DefectSplicImag.AutoSave = chkSave3.Checked; configParams.DefectSplicImag.SavePath = tbDefectCompressSavePath.Text; configParams.DefectSplicImag.AutoDelete = chkDefect_Compress_SavePath_AutoClear.Checked; configParams.DefectSplicImag.AutoDeleteDays = (double)numDefect_Compress_SavePath_AutoClear.Value; configParams.AIModelPath = tbModelPath.Text; configParams.ProductPath = tbPdtPath.Text; configParams.LogPath = tbLogPath.Text; configParams.AutoDeleteLog = ckbAutoClear.Checked; configParams.AutoDeleteLogData = (double)numLogDays.Value; configParams.ShowResetBtn = cbResetBtn.Checked; configParams.ShowBuzz = cbBuzzShow.Checked; configParams.ShowDoorAlm = cbDoorAlm.Checked; configParams.Cm2px_x = (int)numViewX.Value; configParams.Cm2px_y = (int)numViewY.Value; configParams.MidCoin = (int)numMid.Value; configParams.HolePx = (int)numKW.Value; configParams.LCrop = (int)numL.Value; configParams.RCrop = (int)numR.Value; ////////////////////Print////////////////////////// configParams.EnableLabelPrint = this.cbOpenBarTenderPrint.Checked; if (this.cboPrinters.SelectedItem != null) configParams.LabelPrinterName = this.cboPrinters.SelectedItem.ToString(); configParams.EnableExcelPrint = this.cbOpenExcelPrint.Checked; if (this.cboPrinters2.SelectedItem != null) configParams.ExcelPrinterName = this.cboPrinters2.SelectedItem.ToString(); ///////////////////////////////////////////////// ///////本地云端//////////////////////////// configParams.OpenCloud = this.cbOpenCloud.Checked; configParams.CloudThisName = this.tbCloudName.Text; configParams.CloudServerIP = this.tbCloudIP.Text; configParams.CloudServerPort = (int)this.numCloudPort.Value; configParams.CloudUser = this.tbCloudUser.Text; configParams.CloudPassword = this.tbCloudPassword.Text; /////////////////////////////////////////// /// configParams.Cam1_flipX = this.cbMX1.Checked; configParams.Cam1_flipY = this.cbMY1.Checked; configParams.Cam2_flipX = this.cbMX2.Checked; configParams.Cam2_flipY = this.cbMY2.Checked; ConfMgr.Instance.WriteSysConfParams(configParams); } #endregion private void tbPath_Click(object sender, EventArgs e) { TextBox tb = (TextBox)sender; string path = ConfMgr.SelectFolder(Application.StartupPath); if (!string.IsNullOrWhiteSpace(path)) { tb.Text = path; } } private void btnClearPathClick(object sender, EventArgs e) { PictureBox pb = (PictureBox)sender; string path = ""; if (pb.Name == btnClearDefect_Compress_SavePath.Name) this.tbDefectCompressSavePath.Text = path; else if (pb.Name == btnClearDefect_Path.Name) this.tbDefectPath.Text = path; else if (pb.Name == btnClearDefect_Small_Path.Name) this.tbDefectSmallPath.Text = path; } private void tbPathFile_Click(object sender, EventArgs e) { TextBox tb = (TextBox)sender; string path = ConfMgr.SelectFile("所有文件|*.*", Application.StartupPath); if (!string.IsNullOrWhiteSpace(path)) { if (tb.Name == tbIOCfgPath.Name) this.tbIOCfgPath.Text = path; else if (tb.Name == tbCamCfgPath.Name) this.tbCamCfgPath.Text = path; else if (tb.Name == tbCamCfgPath2.Name) this.tbCamCfgPath2.Text = path; } } private void tsbtnDataSave_Click(object sender, EventArgs e) { try { string lsPath = ConfMgr.SelectFolder(); if (string.IsNullOrWhiteSpace(lsPath)) return; //lsPath += "\\DB" + DateTime.Now.ToString("yyyyMMddHHmm") + ".bak"; lsPath += "\\backup_" + DateTime.Now.ToString("yyyyMMddHHmm") + ".sql"; Service.InitDB.BackupDataBase(lsPath); MessageBox.Show("备份成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void tsbtnDatImport_Click(object sender, EventArgs e) { try { string dbPath = ConfMgr.SelectFile(); if (string.IsNullOrWhiteSpace(dbPath)) return; if (MessageBox.Show($"是否导入{dbPath}?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) { bool rel = Service.InitDB.RestoreDB(dbPath); if (rel) { MessageBox.Show("导入成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information); } else MessageBox.Show("导入失败!", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }