革博士V2程序
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

351 líneas
17 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. ///////////////mes////////////////////
  136. cbOpenMes.Checked = ConfMgr.Instance.SysConfigParams.OpenMes;
  137. tbMesAddr.Text = ConfMgr.Instance.SysConfigParams.MesServerAddr;
  138. /////////////////////////////////////
  139. }
  140. private void GetParamsSave()
  141. {
  142. SysConfigParams configParams = new SysConfigParams();
  143. configParams = ConfMgr.Instance.SysConfigParams;
  144. configParams.OpenBuzzer = chkBuzzer.Checked;
  145. //configParams.OpenDoor = chkDoorSensor.Checked;
  146. configParams.OpenIO = cbIODev.Checked;
  147. configParams.OpenPLC = cbPLC.Checked;
  148. configParams.OpenLengthCount = cbJimiqi.Checked;
  149. configParams.OpenAutoRun = cbAutorun.Checked;
  150. configParams.OpenLengthCountStop = cbJMStop.Checked;
  151. configParams.OpenAIEdge = cbAIEdge.Checked;
  152. configParams.LightCom = cobLightPortNum.Text;
  153. configParams.LightComBaud = (int)numLightBaud.Value;
  154. configParams.LengthCounterCom = cbJimiqiCom.Text;
  155. configParams.LengthCounterComBaud = (int)numJimiqiBaud.Value;
  156. configParams.IODevName = tbIODevNum.Text;
  157. configParams.IOCfgPath = tbIOCfgPath.Text;
  158. configParams.PLC_IP = tbPLCIP.Text;
  159. configParams.PLC_Rack = 0;
  160. configParams.PLC_Solt = 1;
  161. configParams.CamPath_1 = tbCamCfgPath.Text;
  162. configParams.CamPath_2 = tbCamCfgPath2.Text;
  163. configParams.CamIndex_1 = (int)numCamIndex.Value;
  164. configParams.CamIndex_2 = (int)numCamIndex2.Value;
  165. configParams.CamDev_1 = (int)numCamDev.Value;
  166. configParams.CamDev_2 = (int)numCamDev2.Value;
  167. configParams.DefectSrcImag.AutoSave = chkSave1.Checked;
  168. configParams.DefectSrcImag.SavePath = tbDefectPath.Text;
  169. configParams.DefectSrcImag.AutoDelete = chkDefect_Path_AutoClear.Checked;
  170. configParams.DefectSrcImag.AutoDeleteDays = (double)numDefect_Path_AutoClear.Value;
  171. configParams.DefectSmallImag.AutoSave = chkSave2.Checked;
  172. configParams.DefectSmallImag.SavePath = tbDefectSmallPath.Text;
  173. configParams.DefectSmallImag.AutoDelete = chkDefect_Small_Path_AutoClear.Checked;
  174. configParams.DefectSmallImag.AutoDeleteDays = (double)numDefect_Small_Path_AutoClear.Value;
  175. configParams.DefectSplicImag.AutoSave = chkSave3.Checked;
  176. configParams.DefectSplicImag.SavePath = tbDefectCompressSavePath.Text;
  177. configParams.DefectSplicImag.AutoDelete = chkDefect_Compress_SavePath_AutoClear.Checked;
  178. configParams.DefectSplicImag.AutoDeleteDays = (double)numDefect_Compress_SavePath_AutoClear.Value;
  179. configParams.CamImag.AutoSave = chkSave4.Checked;
  180. configParams.CamImag.SavePath = tbCamIamgePath.Text;
  181. configParams.CamImag.AutoDelete = cbAutoDel.Checked;
  182. configParams.CamImag.AutoDeleteDays = (double)numCamimageAutoDelDay.Value;
  183. configParams.AIModelPath = tbModelPath.Text;
  184. configParams.ProductPath = tbPdtPath.Text;
  185. configParams.LogPath = tbLogPath.Text;
  186. configParams.AutoDeleteLog = ckbAutoClear.Checked;
  187. configParams.AutoDeleteLogData = (double)numLogDays.Value;
  188. configParams.ShowResetBtn = cbResetBtn.Checked;
  189. configParams.ShowBuzz = cbBuzzShow.Checked;
  190. configParams.ShowDoorAlm = cbDoorAlm.Checked;
  191. configParams.Cm2px_x = (int)numViewX.Value;
  192. configParams.Cm2px_y = (int)numViewY.Value;
  193. configParams.MidCoin = (int)numMid.Value;
  194. configParams.HolePx = (int)numKW.Value;
  195. configParams.LCrop = (int)numL.Value;
  196. configParams.RCrop = (int)numR.Value;
  197. ////////////////////Print//////////////////////////
  198. configParams.EnableLabelPrint = this.cbOpenBarTenderPrint.Checked;
  199. if (this.cboPrinters.SelectedItem != null)
  200. configParams.LabelPrinterName = this.cboPrinters.SelectedItem.ToString();
  201. configParams.EnableExcelPrint = this.cbOpenExcelPrint.Checked;
  202. if (this.cboPrinters2.SelectedItem != null)
  203. configParams.ExcelPrinterName = this.cboPrinters2.SelectedItem.ToString();
  204. /////////////////////////////////////////////////
  205. ///////本地云端////////////////////////////
  206. configParams.OpenCloud = this.cbOpenCloud.Checked;
  207. configParams.CloudThisName = this.tbCloudName.Text;
  208. configParams.CloudServerIP = this.tbCloudIP.Text;
  209. configParams.CloudServerPort = (int)this.numCloudPort.Value;
  210. configParams.CloudUser = this.tbCloudUser.Text;
  211. configParams.CloudPassword = this.tbCloudPassword.Text;
  212. ///////////////////////////////////////////
  213. ///
  214. configParams.Cam1_flipX = this.cbMX1.Checked;
  215. configParams.Cam1_flipY = this.cbMY1.Checked;
  216. configParams.Cam2_flipX = this.cbMX2.Checked;
  217. configParams.Cam2_flipY = this.cbMY2.Checked;
  218. configParams.StopLookDis = (double)this.numStopDis.Value;
  219. configParams.StopDecTime = (double)this.numStopDecTime.Value;
  220. configParams.StopImageCnt = (int)this.numStopPicCnt.Value;
  221. /////mes////////////////
  222. configParams.OpenMes = this.cbOpenMes.Checked;
  223. configParams.MesServerAddr = this.tbMesAddr.Text;
  224. ///////////////////////
  225. ConfMgr.Instance.WriteSysConfParams(configParams);
  226. }
  227. #endregion
  228. private void tbPath_Click(object sender, EventArgs e)
  229. {
  230. TextBox tb = (TextBox)sender;
  231. string path = ConfMgr.SelectFolder(Application.StartupPath);
  232. if (!string.IsNullOrWhiteSpace(path))
  233. {
  234. tb.Text = path;
  235. }
  236. }
  237. private void btnClearPathClick(object sender, EventArgs e)
  238. {
  239. PictureBox pb = (PictureBox)sender;
  240. string path = "";
  241. if (pb.Name == btnClearDefect_Compress_SavePath.Name)
  242. this.tbDefectCompressSavePath.Text = path;
  243. else if (pb.Name == btnClearDefect_Path.Name)
  244. this.tbDefectPath.Text = path;
  245. else if (pb.Name == btnClearDefect_Small_Path.Name)
  246. this.tbDefectSmallPath.Text = path;
  247. else if (pb.Name == btnClearCamImagePath.Name)
  248. this.btnClearCamImagePath.Text = path;
  249. }
  250. private void tbPathFile_Click(object sender, EventArgs e)
  251. {
  252. TextBox tb = (TextBox)sender;
  253. string path = ConfMgr.SelectFile("所有文件|*.*", Application.StartupPath);
  254. if (!string.IsNullOrWhiteSpace(path))
  255. {
  256. if (tb.Name == tbIOCfgPath.Name)
  257. this.tbIOCfgPath.Text = path;
  258. else if (tb.Name == tbCamCfgPath.Name)
  259. this.tbCamCfgPath.Text = path;
  260. else if (tb.Name == tbCamCfgPath2.Name)
  261. this.tbCamCfgPath2.Text = path;
  262. }
  263. }
  264. private void tsbtnDataSave_Click(object sender, EventArgs e)
  265. {
  266. try
  267. {
  268. string lsPath = ConfMgr.SelectFolder();
  269. if (string.IsNullOrWhiteSpace(lsPath))
  270. return;
  271. //lsPath += "\\DB" + DateTime.Now.ToString("yyyyMMddHHmm") + ".bak";
  272. lsPath += "\\backup_" + DateTime.Now.ToString("yyyyMMddHHmm") + ".sql";
  273. Service.InitDB.BackupDataBase(lsPath);
  274. MessageBox.Show("备份成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  275. }
  276. catch (Exception ex)
  277. {
  278. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  279. }
  280. }
  281. private void tsbtnDatImport_Click(object sender, EventArgs e)
  282. {
  283. try
  284. {
  285. string dbPath = ConfMgr.SelectFile();
  286. if (string.IsNullOrWhiteSpace(dbPath))
  287. return;
  288. if (MessageBox.Show($"是否导入{dbPath}?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
  289. {
  290. bool rel = Service.InitDB.RestoreDB(dbPath);
  291. if (rel)
  292. {
  293. MessageBox.Show("导入成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
  294. }
  295. else
  296. MessageBox.Show("导入失败!", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  297. }
  298. }
  299. catch (Exception ex)
  300. {
  301. MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
  302. }
  303. }
  304. }
  305. }