革博士程序V1仓库
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

309 строки
14 KiB

  1. using GeBoShi.SysCtrl;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.IO.Ports;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace GeBoShi.UI.SysSet
  13. {
  14. public partial class SysSetFrm : Form
  15. {
  16. public SysSetFrm()
  17. {
  18. InitializeComponent();
  19. UIStyle.SetUIStyle(this);
  20. this.uiTitel1.FatherForm = this;
  21. }
  22. private void tsbtnExit_Click(object sender, EventArgs e)
  23. {
  24. this.Close();
  25. }
  26. private void tsbtnSave_Click(object sender, EventArgs e)
  27. {
  28. try
  29. {
  30. GetParamsSave();
  31. MessageBox.Show("保存成功,修改硬件参数之后需重启生效!", "保存成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  32. }
  33. catch (Exception ex)
  34. {
  35. MessageBox.Show(ex.Message, "保存出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
  36. }
  37. }
  38. private void SysSetFrm_Load(object sender, EventArgs e)
  39. {
  40. skinTabControl1.SelectedIndex = 0;
  41. var comNameList = SerialPort.GetPortNames().ToList();
  42. comNameList.ForEach(comName =>
  43. {
  44. this.cobLightPortNum.Items.Add(comName);
  45. });
  46. //显示所有打印机
  47. if (SysMgr.Instance.PrintControl != null)
  48. {
  49. List<string> list = SysMgr.Instance.PrintControl.GetPrintersName();
  50. foreach (string printer in list)
  51. {
  52. cboPrinters.Items.Add(printer);
  53. cboPrinters2.Items.Add(printer);
  54. }
  55. }
  56. RefeshParams();
  57. }
  58. #region 界面刷新&保存
  59. private void RefeshParams()
  60. {
  61. chkBuzzer.Checked = ConfMgr.Instance.SysConfigParams.OpenBuzzer;
  62. //chkDoorSensor.Checked = ConfMgr.Instance.SysConfigParams.OpenDoor;
  63. cbIODev.Checked = ConfMgr.Instance.SysConfigParams.OpenIO;
  64. cbPLC.Checked = ConfMgr.Instance.SysConfigParams.OpenPLC;
  65. cobLightPortNum.Text = ConfMgr.Instance.SysConfigParams.LightCom;
  66. numLightBaud.Value = ConfMgr.Instance.SysConfigParams.LightComBaud;
  67. tbIODevNum.Text = ConfMgr.Instance.SysConfigParams.IODevName;
  68. tbIOCfgPath.Text = ConfMgr.Instance.SysConfigParams.IOCfgPath;
  69. tbPLCIP.Text = ConfMgr.Instance.SysConfigParams.PLC_IP;
  70. tbCamCfgPath.Text = ConfMgr.Instance.SysConfigParams.CamPath_1;
  71. tbCamCfgPath2.Text = ConfMgr.Instance.SysConfigParams.CamPath_2;
  72. numCamIndex.Value = ConfMgr.Instance.SysConfigParams.CamIndex_1;
  73. numCamIndex2.Value = ConfMgr.Instance.SysConfigParams.CamIndex_2;
  74. numCamDev.Value = ConfMgr.Instance.SysConfigParams.CamDev_1;
  75. numCamDev2.Value = ConfMgr.Instance.SysConfigParams.CamDev_2;
  76. chkSave1.Checked = ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoSave;
  77. tbDefectPath.Text = ConfMgr.Instance.SysConfigParams.DefectSrcImag.SavePath;
  78. chkDefect_Path_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoDelete;
  79. numDefect_Path_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoDeleteDays;
  80. chkSave2.Checked = ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoSave;
  81. tbDefectSmallPath.Text = ConfMgr.Instance.SysConfigParams.DefectSmallImag.SavePath;
  82. chkDefect_Small_Path_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoDelete;
  83. numDefect_Small_Path_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoDeleteDays;
  84. chkSave3.Checked = ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoSave;
  85. tbDefectCompressSavePath.Text = ConfMgr.Instance.SysConfigParams.DefectSplicImag.SavePath;
  86. chkDefect_Compress_SavePath_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoDelete;
  87. numDefect_Compress_SavePath_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoDeleteDays;
  88. tbModelPath.Text = ConfMgr.Instance.SysConfigParams.AIModelPath;
  89. tbPdtPath.Text = ConfMgr.Instance.ProjectDir;
  90. tbLogPath.Text = ConfMgr.Instance.SysConfigParams.LogPath;
  91. ckbAutoClear.Checked = ConfMgr.Instance.SysConfigParams.AutoDeleteLog;
  92. numLogDays.Value = (decimal)ConfMgr.Instance.SysConfigParams.AutoDeleteLogData;
  93. cbResetBtn.Checked = ConfMgr.Instance.SysConfigParams.ShowResetBtn;
  94. cbBuzzShow.Checked = ConfMgr.Instance.SysConfigParams.ShowBuzz;
  95. cbDoorAlm.Checked = ConfMgr.Instance.SysConfigParams.ShowDoorAlm;
  96. numViewX.Value = (decimal)ConfMgr.Instance.SysConfigParams.Cm2px_x;
  97. numViewY.Value = (decimal)ConfMgr.Instance.SysConfigParams.Cm2px_y;
  98. numMid.Value = (decimal)ConfMgr.Instance.SysConfigParams.MidCoin;
  99. numKW.Value = (decimal)ConfMgr.Instance.SysConfigParams.HolePx;
  100. numL.Value = (decimal)ConfMgr.Instance.SysConfigParams.LCrop;
  101. numR.Value = (decimal)ConfMgr.Instance.SysConfigParams.RCrop;
  102. /////////////Print////////////////
  103. this.cbOpenBarTenderPrint.Checked = ConfMgr.Instance.SysConfigParams.EnableLabelPrint;
  104. this.cboPrinters.SelectedItem = ConfMgr.Instance.SysConfigParams.LabelPrinterName;
  105. this.cbOpenExcelPrint.Checked = ConfMgr.Instance.SysConfigParams.EnableExcelPrint;
  106. this.cboPrinters2.SelectedItem = ConfMgr.Instance.SysConfigParams.ExcelPrinterName;
  107. ////////////////////////////////
  108. ////////////////本地云端////////////////
  109. cbOpenCloud.Checked = ConfMgr.Instance.SysConfigParams.OpenCloud;
  110. tbCloudName.Text = ConfMgr.Instance.SysConfigParams.CloudThisName;
  111. tbCloudIP.Text = ConfMgr.Instance.SysConfigParams.CloudServerIP;
  112. numCloudPort.Value = (decimal)ConfMgr.Instance.SysConfigParams.CloudServerPort;
  113. tbCloudUser.Text = ConfMgr.Instance.SysConfigParams.CloudUser;
  114. tbCloudPassword.Text = ConfMgr.Instance.SysConfigParams.CloudPassword;
  115. ////////////////////////////////////////
  116. ///
  117. this.cbMX1.Checked = ConfMgr.Instance.SysConfigParams.Cam1_flipX;
  118. this.cbMY1.Checked = ConfMgr.Instance.SysConfigParams.Cam1_flipY;
  119. this.cbMX2.Checked = ConfMgr.Instance.SysConfigParams.Cam2_flipX;
  120. this.cbMY2.Checked = ConfMgr.Instance.SysConfigParams.Cam2_flipY;
  121. }
  122. private void GetParamsSave()
  123. {
  124. SysConfigParams configParams = new SysConfigParams();
  125. configParams = ConfMgr.Instance.SysConfigParams;
  126. configParams.OpenBuzzer = chkBuzzer.Checked;
  127. //configParams.OpenDoor = chkDoorSensor.Checked;
  128. configParams.OpenIO = cbIODev.Checked;
  129. configParams.OpenPLC = cbPLC.Checked;
  130. configParams.LightCom = cobLightPortNum.Text;
  131. configParams.LightComBaud = (int)numLightBaud.Value;
  132. configParams.IODevName = tbIODevNum.Text;
  133. configParams.IOCfgPath = tbIOCfgPath.Text;
  134. configParams.PLC_IP = tbPLCIP.Text;
  135. configParams.PLC_Rack = 0;
  136. configParams.PLC_Solt = 1;
  137. configParams.CamPath_1 = tbCamCfgPath.Text;
  138. configParams.CamPath_2 = tbCamCfgPath2.Text;
  139. configParams.CamIndex_1 = (int)numCamIndex.Value;
  140. configParams.CamIndex_2 = (int)numCamIndex2.Value;
  141. configParams.CamDev_1 = (int)numCamDev.Value;
  142. configParams.CamDev_2 = (int)numCamDev2.Value;
  143. configParams.DefectSrcImag.AutoSave = chkSave1.Checked;
  144. configParams.DefectSrcImag.SavePath = tbDefectPath.Text;
  145. configParams.DefectSrcImag.AutoDelete = chkDefect_Path_AutoClear.Checked;
  146. configParams.DefectSrcImag.AutoDeleteDays = (double)numDefect_Path_AutoClear.Value;
  147. configParams.DefectSmallImag.AutoSave = chkSave2.Checked;
  148. configParams.DefectSmallImag.SavePath = tbDefectSmallPath.Text;
  149. configParams.DefectSmallImag.AutoDelete = chkDefect_Small_Path_AutoClear.Checked;
  150. configParams.DefectSmallImag.AutoDeleteDays = (double)numDefect_Small_Path_AutoClear.Value;
  151. configParams.DefectSplicImag.AutoSave = chkSave3.Checked;
  152. configParams.DefectSplicImag.SavePath = tbDefectCompressSavePath.Text;
  153. configParams.DefectSplicImag.AutoDelete = chkDefect_Compress_SavePath_AutoClear.Checked;
  154. configParams.DefectSplicImag.AutoDeleteDays = (double)numDefect_Compress_SavePath_AutoClear.Value;
  155. configParams.AIModelPath = tbModelPath.Text;
  156. configParams.ProductPath = tbPdtPath.Text;
  157. configParams.LogPath = tbLogPath.Text;
  158. configParams.AutoDeleteLog = ckbAutoClear.Checked;
  159. configParams.AutoDeleteLogData = (double)numLogDays.Value;
  160. configParams.ShowResetBtn = cbResetBtn.Checked;
  161. configParams.ShowBuzz = cbBuzzShow.Checked;
  162. configParams.ShowDoorAlm = cbDoorAlm.Checked;
  163. configParams.Cm2px_x = (int)numViewX.Value;
  164. configParams.Cm2px_y = (int)numViewY.Value;
  165. configParams.MidCoin = (int)numMid.Value;
  166. configParams.HolePx = (int)numKW.Value;
  167. configParams.LCrop = (int)numL.Value;
  168. configParams.RCrop = (int)numR.Value;
  169. ////////////////////Print//////////////////////////
  170. configParams.EnableLabelPrint = this.cbOpenBarTenderPrint.Checked;
  171. if (this.cboPrinters.SelectedItem != null)
  172. configParams.LabelPrinterName = this.cboPrinters.SelectedItem.ToString();
  173. configParams.EnableExcelPrint = this.cbOpenExcelPrint.Checked;
  174. if (this.cboPrinters2.SelectedItem != null)
  175. configParams.ExcelPrinterName = this.cboPrinters2.SelectedItem.ToString();
  176. /////////////////////////////////////////////////
  177. ///////本地云端////////////////////////////
  178. configParams.OpenCloud = this.cbOpenCloud.Checked;
  179. configParams.CloudThisName = this.tbCloudName.Text;
  180. configParams.CloudServerIP = this.tbCloudIP.Text;
  181. configParams.CloudServerPort = (int)this.numCloudPort.Value;
  182. configParams.CloudUser = this.tbCloudUser.Text;
  183. configParams.CloudPassword = this.tbCloudPassword.Text;
  184. ///////////////////////////////////////////
  185. ///
  186. configParams.Cam1_flipX = this.cbMX1.Checked;
  187. configParams.Cam1_flipY = this.cbMY1.Checked;
  188. configParams.Cam2_flipX = this.cbMX2.Checked;
  189. configParams.Cam2_flipY = this.cbMY2.Checked;
  190. ConfMgr.Instance.WriteSysConfParams(configParams);
  191. }
  192. #endregion
  193. private void tbPath_Click(object sender, EventArgs e)
  194. {
  195. TextBox tb = (TextBox)sender;
  196. string path = ConfMgr.SelectFolder(Application.StartupPath);
  197. if (!string.IsNullOrWhiteSpace(path))
  198. {
  199. tb.Text = path;
  200. }
  201. }
  202. private void btnClearPathClick(object sender, EventArgs e)
  203. {
  204. PictureBox pb = (PictureBox)sender;
  205. string path = "";
  206. if (pb.Name == btnClearDefect_Compress_SavePath.Name)
  207. this.tbDefectCompressSavePath.Text = path;
  208. else if (pb.Name == btnClearDefect_Path.Name)
  209. this.tbDefectPath.Text = path;
  210. else if (pb.Name == btnClearDefect_Small_Path.Name)
  211. this.tbDefectSmallPath.Text = path;
  212. }
  213. private void tbPathFile_Click(object sender, EventArgs e)
  214. {
  215. TextBox tb = (TextBox)sender;
  216. string path = ConfMgr.SelectFile("所有文件|*.*", Application.StartupPath);
  217. if (!string.IsNullOrWhiteSpace(path))
  218. {
  219. if (tb.Name == tbIOCfgPath.Name)
  220. this.tbIOCfgPath.Text = path;
  221. else if (tb.Name == tbCamCfgPath.Name)
  222. this.tbCamCfgPath.Text = path;
  223. else if (tb.Name == tbCamCfgPath2.Name)
  224. this.tbCamCfgPath2.Text = path;
  225. }
  226. }
  227. private void tsbtnDataSave_Click(object sender, EventArgs e)
  228. {
  229. try
  230. {
  231. string lsPath = ConfMgr.SelectFolder();
  232. if (string.IsNullOrWhiteSpace(lsPath))
  233. return;
  234. //lsPath += "\\DB" + DateTime.Now.ToString("yyyyMMddHHmm") + ".bak";
  235. lsPath += "\\backup_" + DateTime.Now.ToString("yyyyMMddHHmm") + ".sql";
  236. Service.InitDB.BackupDataBase(lsPath);
  237. MessageBox.Show("备份成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  238. }
  239. catch (Exception ex)
  240. {
  241. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  242. }
  243. }
  244. private void tsbtnDatImport_Click(object sender, EventArgs e)
  245. {
  246. try
  247. {
  248. string dbPath = ConfMgr.SelectFile();
  249. if (string.IsNullOrWhiteSpace(dbPath))
  250. return;
  251. if (MessageBox.Show($"是否导入{dbPath}?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
  252. {
  253. bool rel = Service.InitDB.RestoreDB(dbPath);
  254. if (rel)
  255. {
  256. MessageBox.Show("导入成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  257. }
  258. else
  259. MessageBox.Show("导入失败!", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  260. }
  261. }
  262. catch (Exception ex)
  263. {
  264. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  265. }
  266. }
  267. }
  268. }