革博士V2程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

342 lines
16 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. this.cbJimiqiCom.Items.Add(comName);
  46. });
  47. //显示所有打印机
  48. if (SysMgr.Instance.PrintControl != null)
  49. {
  50. List<string> list = SysMgr.Instance.PrintControl.GetPrintersName();
  51. foreach (string printer in list)
  52. {
  53. cboPrinters.Items.Add(printer);
  54. cboPrinters2.Items.Add(printer);
  55. }
  56. }
  57. RefeshParams();
  58. }
  59. #region 界面刷新&保存
  60. private void RefeshParams()
  61. {
  62. chkBuzzer.Checked = ConfMgr.Instance.SysConfigParams.OpenBuzzer;
  63. //chkDoorSensor.Checked = ConfMgr.Instance.SysConfigParams.OpenDoor;
  64. cbIODev.Checked = ConfMgr.Instance.SysConfigParams.OpenIO;
  65. cbPLC.Checked = ConfMgr.Instance.SysConfigParams.OpenPLC;
  66. cbJimiqi.Checked = ConfMgr.Instance.SysConfigParams.OpenLengthCount;
  67. cbAutorun.Checked = ConfMgr.Instance.SysConfigParams.OpenAutoRun;
  68. cbJMStop.Checked = ConfMgr.Instance.SysConfigParams.OpenLengthCountStop;
  69. cbAIEdge.Checked = ConfMgr.Instance.SysConfigParams.OpenAIEdge;
  70. cobLightPortNum.Text = ConfMgr.Instance.SysConfigParams.LightCom;
  71. numLightBaud.Value = ConfMgr.Instance.SysConfigParams.LightComBaud;
  72. cbJimiqiCom.Text = ConfMgr.Instance.SysConfigParams.LengthCounterCom;
  73. numJimiqiBaud.Value = ConfMgr.Instance.SysConfigParams.LengthCounterComBaud;
  74. tbIODevNum.Text = ConfMgr.Instance.SysConfigParams.IODevName;
  75. tbIOCfgPath.Text = ConfMgr.Instance.SysConfigParams.IOCfgPath;
  76. tbPLCIP.Text = ConfMgr.Instance.SysConfigParams.PLC_IP;
  77. tbCamCfgPath.Text = ConfMgr.Instance.SysConfigParams.CamPath_1;
  78. tbCamCfgPath2.Text = ConfMgr.Instance.SysConfigParams.CamPath_2;
  79. numCamIndex.Value = ConfMgr.Instance.SysConfigParams.CamIndex_1;
  80. numCamIndex2.Value = ConfMgr.Instance.SysConfigParams.CamIndex_2;
  81. numCamDev.Value = ConfMgr.Instance.SysConfigParams.CamDev_1;
  82. numCamDev2.Value = ConfMgr.Instance.SysConfigParams.CamDev_2;
  83. chkSave1.Checked = ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoSave;
  84. tbDefectPath.Text = ConfMgr.Instance.SysConfigParams.DefectSrcImag.SavePath;
  85. chkDefect_Path_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoDelete;
  86. numDefect_Path_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSrcImag.AutoDeleteDays;
  87. chkSave2.Checked = ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoSave;
  88. tbDefectSmallPath.Text = ConfMgr.Instance.SysConfigParams.DefectSmallImag.SavePath;
  89. chkDefect_Small_Path_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoDelete;
  90. numDefect_Small_Path_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSmallImag.AutoDeleteDays;
  91. chkSave3.Checked = ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoSave;
  92. tbDefectCompressSavePath.Text = ConfMgr.Instance.SysConfigParams.DefectSplicImag.SavePath;
  93. chkDefect_Compress_SavePath_AutoClear.Checked = ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoDelete;
  94. numDefect_Compress_SavePath_AutoClear.Value = (decimal)ConfMgr.Instance.SysConfigParams.DefectSplicImag.AutoDeleteDays;
  95. chkSave4.Checked = ConfMgr.Instance.SysConfigParams.CamImag.AutoSave;
  96. tbCamIamgePath.Text = ConfMgr.Instance.SysConfigParams.CamImag.SavePath;
  97. cbAutoDel.Checked = ConfMgr.Instance.SysConfigParams.CamImag.AutoDelete;
  98. numCamimageAutoDelDay.Value = (decimal)ConfMgr.Instance.SysConfigParams.CamImag.AutoDeleteDays;
  99. tbModelPath.Text = ConfMgr.Instance.SysConfigParams.AIModelPath;
  100. tbPdtPath.Text = ConfMgr.Instance.ProjectDir;
  101. tbLogPath.Text = ConfMgr.Instance.SysConfigParams.LogPath;
  102. ckbAutoClear.Checked = ConfMgr.Instance.SysConfigParams.AutoDeleteLog;
  103. numLogDays.Value = (decimal)ConfMgr.Instance.SysConfigParams.AutoDeleteLogData;
  104. cbResetBtn.Checked = ConfMgr.Instance.SysConfigParams.ShowResetBtn;
  105. cbBuzzShow.Checked = ConfMgr.Instance.SysConfigParams.ShowBuzz;
  106. cbDoorAlm.Checked = ConfMgr.Instance.SysConfigParams.ShowDoorAlm;
  107. numViewX.Value = (decimal)ConfMgr.Instance.SysConfigParams.Cm2px_x;
  108. numViewY.Value = (decimal)ConfMgr.Instance.SysConfigParams.Cm2px_y;
  109. numMid.Value = (decimal)ConfMgr.Instance.SysConfigParams.MidCoin;
  110. numKW.Value = (decimal)ConfMgr.Instance.SysConfigParams.HolePx;
  111. numL.Value = (decimal)ConfMgr.Instance.SysConfigParams.LCrop;
  112. numR.Value = (decimal)ConfMgr.Instance.SysConfigParams.RCrop;
  113. /////////////Print////////////////
  114. this.cbOpenBarTenderPrint.Checked = ConfMgr.Instance.SysConfigParams.EnableLabelPrint;
  115. this.cboPrinters.SelectedItem = ConfMgr.Instance.SysConfigParams.LabelPrinterName;
  116. this.cbOpenExcelPrint.Checked = ConfMgr.Instance.SysConfigParams.EnableExcelPrint;
  117. this.cboPrinters2.SelectedItem = ConfMgr.Instance.SysConfigParams.ExcelPrinterName;
  118. ////////////////////////////////
  119. ////////////////本地云端////////////////
  120. cbOpenCloud.Checked = ConfMgr.Instance.SysConfigParams.OpenCloud;
  121. tbCloudName.Text = ConfMgr.Instance.SysConfigParams.CloudThisName;
  122. tbCloudIP.Text = ConfMgr.Instance.SysConfigParams.CloudServerIP;
  123. numCloudPort.Value = (decimal)ConfMgr.Instance.SysConfigParams.CloudServerPort;
  124. tbCloudUser.Text = ConfMgr.Instance.SysConfigParams.CloudUser;
  125. tbCloudPassword.Text = ConfMgr.Instance.SysConfigParams.CloudPassword;
  126. ////////////////////////////////////////
  127. ///
  128. this.cbMX1.Checked = ConfMgr.Instance.SysConfigParams.Cam1_flipX;
  129. this.cbMY1.Checked = ConfMgr.Instance.SysConfigParams.Cam1_flipY;
  130. this.cbMX2.Checked = ConfMgr.Instance.SysConfigParams.Cam2_flipX;
  131. this.cbMY2.Checked = ConfMgr.Instance.SysConfigParams.Cam2_flipY;
  132. this.numStopDis.Value = (decimal)ConfMgr.Instance.SysConfigParams.StopLookDis;
  133. this.numStopDecTime.Value = (decimal)ConfMgr.Instance.SysConfigParams.StopDecTime;
  134. this.numStopPicCnt.Value = ConfMgr.Instance.SysConfigParams.StopImageCnt;
  135. }
  136. private void GetParamsSave()
  137. {
  138. SysConfigParams configParams = new SysConfigParams();
  139. configParams = ConfMgr.Instance.SysConfigParams;
  140. configParams.OpenBuzzer = chkBuzzer.Checked;
  141. //configParams.OpenDoor = chkDoorSensor.Checked;
  142. configParams.OpenIO = cbIODev.Checked;
  143. configParams.OpenPLC = cbPLC.Checked;
  144. configParams.OpenLengthCount = cbJimiqi.Checked;
  145. configParams.OpenAutoRun = cbAutorun.Checked;
  146. configParams.OpenLengthCountStop = cbJMStop.Checked;
  147. configParams.OpenAIEdge = cbAIEdge.Checked;
  148. configParams.LightCom = cobLightPortNum.Text;
  149. configParams.LightComBaud = (int)numLightBaud.Value;
  150. configParams.LengthCounterCom = cbJimiqiCom.Text;
  151. configParams.LengthCounterComBaud = (int)numJimiqiBaud.Value;
  152. configParams.IODevName = tbIODevNum.Text;
  153. configParams.IOCfgPath = tbIOCfgPath.Text;
  154. configParams.PLC_IP = tbPLCIP.Text;
  155. configParams.PLC_Rack = 0;
  156. configParams.PLC_Solt = 1;
  157. configParams.CamPath_1 = tbCamCfgPath.Text;
  158. configParams.CamPath_2 = tbCamCfgPath2.Text;
  159. configParams.CamIndex_1 = (int)numCamIndex.Value;
  160. configParams.CamIndex_2 = (int)numCamIndex2.Value;
  161. configParams.CamDev_1 = (int)numCamDev.Value;
  162. configParams.CamDev_2 = (int)numCamDev2.Value;
  163. configParams.DefectSrcImag.AutoSave = chkSave1.Checked;
  164. configParams.DefectSrcImag.SavePath = tbDefectPath.Text;
  165. configParams.DefectSrcImag.AutoDelete = chkDefect_Path_AutoClear.Checked;
  166. configParams.DefectSrcImag.AutoDeleteDays = (double)numDefect_Path_AutoClear.Value;
  167. configParams.DefectSmallImag.AutoSave = chkSave2.Checked;
  168. configParams.DefectSmallImag.SavePath = tbDefectSmallPath.Text;
  169. configParams.DefectSmallImag.AutoDelete = chkDefect_Small_Path_AutoClear.Checked;
  170. configParams.DefectSmallImag.AutoDeleteDays = (double)numDefect_Small_Path_AutoClear.Value;
  171. configParams.DefectSplicImag.AutoSave = chkSave3.Checked;
  172. configParams.DefectSplicImag.SavePath = tbDefectCompressSavePath.Text;
  173. configParams.DefectSplicImag.AutoDelete = chkDefect_Compress_SavePath_AutoClear.Checked;
  174. configParams.DefectSplicImag.AutoDeleteDays = (double)numDefect_Compress_SavePath_AutoClear.Value;
  175. configParams.CamImag.AutoSave = chkSave4.Checked;
  176. configParams.CamImag.SavePath = tbCamIamgePath.Text;
  177. configParams.CamImag.AutoDelete = cbAutoDel.Checked;
  178. configParams.CamImag.AutoDeleteDays = (double)numCamimageAutoDelDay.Value;
  179. configParams.AIModelPath = tbModelPath.Text;
  180. configParams.ProductPath = tbPdtPath.Text;
  181. configParams.LogPath = tbLogPath.Text;
  182. configParams.AutoDeleteLog = ckbAutoClear.Checked;
  183. configParams.AutoDeleteLogData = (double)numLogDays.Value;
  184. configParams.ShowResetBtn = cbResetBtn.Checked;
  185. configParams.ShowBuzz = cbBuzzShow.Checked;
  186. configParams.ShowDoorAlm = cbDoorAlm.Checked;
  187. configParams.Cm2px_x = (int)numViewX.Value;
  188. configParams.Cm2px_y = (int)numViewY.Value;
  189. configParams.MidCoin = (int)numMid.Value;
  190. configParams.HolePx = (int)numKW.Value;
  191. configParams.LCrop = (int)numL.Value;
  192. configParams.RCrop = (int)numR.Value;
  193. ////////////////////Print//////////////////////////
  194. configParams.EnableLabelPrint = this.cbOpenBarTenderPrint.Checked;
  195. if (this.cboPrinters.SelectedItem != null)
  196. configParams.LabelPrinterName = this.cboPrinters.SelectedItem.ToString();
  197. configParams.EnableExcelPrint = this.cbOpenExcelPrint.Checked;
  198. if (this.cboPrinters2.SelectedItem != null)
  199. configParams.ExcelPrinterName = this.cboPrinters2.SelectedItem.ToString();
  200. /////////////////////////////////////////////////
  201. ///////本地云端////////////////////////////
  202. configParams.OpenCloud = this.cbOpenCloud.Checked;
  203. configParams.CloudThisName = this.tbCloudName.Text;
  204. configParams.CloudServerIP = this.tbCloudIP.Text;
  205. configParams.CloudServerPort = (int)this.numCloudPort.Value;
  206. configParams.CloudUser = this.tbCloudUser.Text;
  207. configParams.CloudPassword = this.tbCloudPassword.Text;
  208. ///////////////////////////////////////////
  209. ///
  210. configParams.Cam1_flipX = this.cbMX1.Checked;
  211. configParams.Cam1_flipY = this.cbMY1.Checked;
  212. configParams.Cam2_flipX = this.cbMX2.Checked;
  213. configParams.Cam2_flipY = this.cbMY2.Checked;
  214. configParams.StopLookDis = (double)this.numStopDis.Value;
  215. configParams.StopDecTime = (double)this.numStopDecTime.Value;
  216. configParams.StopImageCnt = (int)this.numStopPicCnt.Value;
  217. ConfMgr.Instance.WriteSysConfParams(configParams);
  218. }
  219. #endregion
  220. private void tbPath_Click(object sender, EventArgs e)
  221. {
  222. TextBox tb = (TextBox)sender;
  223. string path = ConfMgr.SelectFolder(Application.StartupPath);
  224. if (!string.IsNullOrWhiteSpace(path))
  225. {
  226. tb.Text = path;
  227. }
  228. }
  229. private void btnClearPathClick(object sender, EventArgs e)
  230. {
  231. PictureBox pb = (PictureBox)sender;
  232. string path = "";
  233. if (pb.Name == btnClearDefect_Compress_SavePath.Name)
  234. this.tbDefectCompressSavePath.Text = path;
  235. else if (pb.Name == btnClearDefect_Path.Name)
  236. this.tbDefectPath.Text = path;
  237. else if (pb.Name == btnClearDefect_Small_Path.Name)
  238. this.tbDefectSmallPath.Text = path;
  239. else if (pb.Name == btnClearCamImagePath.Name)
  240. this.btnClearCamImagePath.Text = path;
  241. }
  242. private void tbPathFile_Click(object sender, EventArgs e)
  243. {
  244. TextBox tb = (TextBox)sender;
  245. string path = ConfMgr.SelectFile("所有文件|*.*", Application.StartupPath);
  246. if (!string.IsNullOrWhiteSpace(path))
  247. {
  248. if (tb.Name == tbIOCfgPath.Name)
  249. this.tbIOCfgPath.Text = path;
  250. else if (tb.Name == tbCamCfgPath.Name)
  251. this.tbCamCfgPath.Text = path;
  252. else if (tb.Name == tbCamCfgPath2.Name)
  253. this.tbCamCfgPath2.Text = path;
  254. }
  255. }
  256. private void tsbtnDataSave_Click(object sender, EventArgs e)
  257. {
  258. try
  259. {
  260. string lsPath = ConfMgr.SelectFolder();
  261. if (string.IsNullOrWhiteSpace(lsPath))
  262. return;
  263. //lsPath += "\\DB" + DateTime.Now.ToString("yyyyMMddHHmm") + ".bak";
  264. lsPath += "\\backup_" + DateTime.Now.ToString("yyyyMMddHHmm") + ".sql";
  265. Service.InitDB.BackupDataBase(lsPath);
  266. MessageBox.Show("备份成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  267. }
  268. catch (Exception ex)
  269. {
  270. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  271. }
  272. }
  273. private void tsbtnDatImport_Click(object sender, EventArgs e)
  274. {
  275. try
  276. {
  277. string dbPath = ConfMgr.SelectFile();
  278. if (string.IsNullOrWhiteSpace(dbPath))
  279. return;
  280. if (MessageBox.Show($"是否导入{dbPath}?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
  281. {
  282. bool rel = Service.InitDB.RestoreDB(dbPath);
  283. if (rel)
  284. {
  285. MessageBox.Show("导入成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  286. }
  287. else
  288. MessageBox.Show("导入失败!", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  289. }
  290. }
  291. catch (Exception ex)
  292. {
  293. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  294. }
  295. }
  296. }
  297. }