Make_CollectLcd.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. using System;
  2. using System.Data;
  3. using System.Drawing;
  4. using System.Windows.Forms;
  5. using UAS_MES_NEW.DataOperate;
  6. using UAS_MES_NEW.Entity;
  7. using UAS_MES_NEW.PublicMethod;
  8. namespace UAS_MES_NEW.Make
  9. {
  10. public partial class Make_CollectLcd : Form
  11. {
  12. DataHelper dh;
  13. AutoSizeFormClass asc = new AutoSizeFormClass();
  14. LogStringBuilder sql = new LogStringBuilder();
  15. DataTable dt;
  16. //当前序列号记录
  17. string sn_code;
  18. //制造单号
  19. string macode;
  20. //采集网标号
  21. string net_code;
  22. //网标查询条件ms_id
  23. string oMsID;
  24. //判断是否输入网标
  25. Boolean isnetcode = false;
  26. //打印计数
  27. int printcount = 0;
  28. int ma_unlimitin;
  29. DataTable Dbfind;
  30. public Make_CollectLcd()
  31. {
  32. InitializeComponent();
  33. }
  34. private void Make_CollectNetCode_Load(object sender, EventArgs e)
  35. {
  36. //设置锁定工单
  37. LockMakeCode.GetMakeCodeCtl(ma_code);
  38. ma_code.SetLockCheckBox(LockMakeCode);
  39. asc.controllInitializeSize(this);
  40. //工单号放大镜配置
  41. ma_code.TableName = "make left join product on ma_prodcode=pr_code";
  42. ma_code.SelectField = "ma_code # 工单号,pr_code # 产品编号,pr_detail # 产品名称";
  43. ma_code.FormName = Name;
  44. ma_code.SetValueField = new string[] { "ma_code", "pr_code", "pr_detail" };
  45. ma_code.Condition = "ma_statuscode='STARTED'";
  46. ma_code.DbChange += Ma_code_DbChange;
  47. sncode.Focus();
  48. dh = SystemInf.dh;
  49. }
  50. private void Ma_code_DbChange(object sender, EventArgs e)
  51. {
  52. Dbfind = ma_code.ReturnData;
  53. BaseUtil.SetFormValue(this.Controls, Dbfind);
  54. }
  55. private void sncode_KeyDown(object sender, KeyEventArgs e)
  56. {
  57. if (e.KeyCode == Keys.Enter)
  58. {
  59. if (ma_code.Text == "")
  60. {
  61. OperateResult.AppendText(">>工单号不可为空\n", Color.Red);
  62. return;
  63. }
  64. if (!checkBox1.Checked && dh.CheckExist("lcdcheck", "lc_sncode = '" + sncode.Text + "' and lc_status = 0"))
  65. {
  66. OperateResult.AppendText(">>SN:" + sncode.Text + "已存在良品检验记录\n", Color.Red, sncode);
  67. return;
  68. }
  69. String status = radioButton1.Checked ? "0" : "-1";
  70. String statuscode = radioButton1.Checked ? "良品" : "不良";
  71. dh.ExecuteSql(" insert into lcdcheck(LC_ID,LC_SNCODE,LC_STATUS,LC_INDATE,LC_INMAN,LC_MAKECODE) values" +
  72. " (lcdcheck_seq.nextval,'" + sncode.Text + "','" + status + "',sysdate,'" + User.UserCode + "','" + ma_code.Text + "') ", "insert");
  73. OperateResult.AppendText(">>SN:" + sncode.Text + "全捡采集" + statuscode + "成功\n", Color.Green, sncode);
  74. }
  75. }
  76. private void Make_CollectNetCode_SizeChanged(object sender, EventArgs e)
  77. {
  78. asc.controlAutoSize(this);
  79. }
  80. private void Make_CollectNetCode_Activated(object sender, EventArgs e)
  81. {
  82. sncode.Focus();
  83. }
  84. /// <summary>
  85. /// 检验长度或者前缀是否合法
  86. /// </summary>
  87. /// <param name="checkbox"></param>
  88. /// <param name="c"></param>
  89. /// <param name="info"></param>
  90. private bool checkLengthOrPre(int psr_length, string psr_prefix, string TSNorSN)
  91. {
  92. //则判断输入转换前的序列号长度是否合法,不合法则提示
  93. if (sncode.Text.Trim().Length != psr_length && psr_length != 0)
  94. {
  95. //序列号校验错误,长度错误
  96. OperateResult.AppendText("<<" + TSNorSN + ":" + sncode.Text + "校验错误,长度错误\n", Color.Red, sncode);
  97. OperateResult.AppendText(">>请重新输入" + TSNorSN + "\n", Color.Black);
  98. return false;
  99. }
  100. string[] pres = psr_prefix.Split('|');
  101. bool f = false;
  102. for (int i = 0; i < pres.Length; i++)
  103. {
  104. if (pres[i] == "" ? true : sncode.Text.StartsWith(pres[i]))
  105. {
  106. //满足其中一条即可
  107. f = true;
  108. break;
  109. }
  110. }
  111. //则判断输入转换前的序列号前缀是否合法,不合法则提示
  112. if (!f)
  113. {
  114. //序列号校验错误,前缀错误
  115. OperateResult.AppendText("<<" + TSNorSN + ":" + sncode.Text + "校验错误,前缀错误\n", Color.Red, sncode);
  116. OperateResult.AppendText(">>请重新输入" + TSNorSN + "\n", Color.Black);
  117. return false;
  118. }
  119. return true;
  120. }
  121. private void radioButton1_CheckedChanged(object sender, EventArgs e)
  122. {
  123. sncode.Focus();
  124. sncode.SelectAll();
  125. }
  126. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  127. {
  128. sncode.Focus();
  129. sncode.SelectAll();
  130. }
  131. }
  132. }