Special_GetBad.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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.Make;
  8. using UAS_MES_NEW.PublicMethod;
  9. namespace UAS_MES_NEW.Special
  10. {
  11. public partial class Special_GetBad : Form
  12. {
  13. DataHelper dh;
  14. LogStringBuilder sql = new LogStringBuilder();
  15. DataTable dt;
  16. public Special_GetBad()
  17. {
  18. InitializeComponent();
  19. }
  20. private void Special_BoxSplit_Load(object sender, EventArgs e)
  21. {
  22. dh = SystemInf.dh;
  23. }
  24. private void Split_Click(object sender, EventArgs e)
  25. {
  26. if (SN.Text == "" || makecode.Text == null || makecode.Text == "")
  27. {
  28. OperatResult.AppendText(">>序列号和工单号不允许为空\n", Color.Red);
  29. }
  30. else
  31. {
  32. //如果存在送检批号则进行删除
  33. if (dh.CheckExist("oqcbatchdetail", "obd_sncode='" + SN.Text + "'"))
  34. {
  35. string checkno = dh.getFieldDataByCondition("oqcbatchdetail", "obd_checkno", "obd_sncode='" + SN.Text + "'").ToString();
  36. string ifng = dh.getFieldDataByCondition("oqcbatchdetail", "obd_ifng", "obd_sncode='" + SN.Text + "'").ToString();
  37. if (ifng == "-1")
  38. {
  39. dh.ExecuteSql("delete OQCITEMSAMPLES where ois_sncode = '" + SN.Text + "'", "select");
  40. dh.ExecuteSql("update oqcbatch set ob_nowcheckqty=ob_nowcheckqty-1,ob_ngqty = ob_ngqty -1 where ob_checkno='" + checkno + "'", "update");
  41. }
  42. dh.ExecuteSql("delete from oqcbatchdetail where obd_sncode='" + SN.Text + "'", "delete");
  43. }
  44. //之前保存的不良就不再调用
  45. DataTable dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_stepcode", "nvl(ms_ifrework,0)ms_ifrework", "ms_status" }, "ms_sncode='" + SN.Text + "' and ms_makecode='" + makecode.Text + "'");
  46. if (dt.Rows.Count > 0)
  47. {
  48. string ifrework = dt.Rows[0]["ms_ifrework"].ToString();
  49. string ms_stepcode = dt.Rows[0]["ms_stepcode"].ToString();
  50. string ms_status = dt.Rows[0]["ms_status"].ToString();
  51. if (ms_status == "2")
  52. {
  53. dh.UpdateByCondition("make", "ma_madeqty=nvl(ma_madeqty,0)-1", "ma_code='" + makecode.Text + "'");
  54. }
  55. dh.UpdateByCondition("makeserial", "ms_nextstepcode='',ms_status=3", "ms_sncode='" + SN.Text + "' and ms_makecode='" + makecode.Text + "' ");
  56. }
  57. LogicHandler.InsertMakeProcess(SN.Text, makecode.Text, User.UserSourceCode, "采集成不良", "特殊测试不良", User.UserCode);
  58. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, makecode.Text, User.UserLineCode, User.UserSourceCode, "采集成不良", "特殊采集不良", SN.Text, "");
  59. OperatResult.AppendText(">>序列号:" + SN.Text + "不良采集成功\n", Color.Green);
  60. BaseUtil.CleanControls(this.Controls);
  61. }
  62. }
  63. private void SN_KeyDown(object sender, KeyEventArgs e)
  64. {
  65. if (e.KeyCode == Keys.Enter)
  66. {
  67. sql.Clear();
  68. sql.Append("select ms_makecode makecode from makeserial left join make ");
  69. sql.Append("on ms_makecode=ma_code where ms_sncode = '" + SN.Text + "' order by ms_id desc");
  70. dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  71. BaseUtil.SetFormValue(this.Controls, dt);
  72. string ms_paststep = "";
  73. if (!(dt.Rows.Count > 0))
  74. {
  75. OperatResult.AppendText(">>序列号:" + SN.Text + "不存在\n", Color.Red);
  76. BaseUtil.CleanForm(this);
  77. return;
  78. }
  79. }
  80. }
  81. private void NewBadCode_Click(object sender, EventArgs e)
  82. {
  83. if (SN.Text == "" || makecode.Text == null || makecode.Text == "")
  84. {
  85. OperatResult.AppendText(">>序列号和工单号不允许为空\n", Color.Red);
  86. }
  87. else
  88. {
  89. Make_NewBadCode badcode = new Make_NewBadCode(SN.Text, makecode.Text);
  90. // badcode.FormClosed += LoadBadInfTree;
  91. BaseUtil.SetFormCenter(badcode);
  92. badcode.ShowDialog();
  93. }
  94. }
  95. }
  96. }