geboshi_V1/LeatherProject/GeBoShi/UI/SysSet/SysSetFrm.cs

309 lines
14 KiB
C#

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<string> 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);
}
}
}
}