Special_CancelOQC.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using System;
  2. using System.Data;
  3. using System.Text;
  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.Special
  9. {
  10. public partial class Special_CancelOQC : Form
  11. {
  12. DataHelper dh;
  13. LogStringBuilder sql = new LogStringBuilder();
  14. DataTable Dbfind;
  15. public Special_CancelOQC()
  16. {
  17. InitializeComponent();
  18. }
  19. private void Special_BoxSplit_Load(object sender, EventArgs e)
  20. {
  21. dh = SystemInf.dh;
  22. cd_stepcode.FormName = Name;
  23. cd_stepcode.TableName = "craftdetail left join step on st_code=cd_stepcode left join craft on cd_crid=cr_id";
  24. cd_stepcode.SetValueField = new string[] { "cd_stepcode", "cd_stepno" };
  25. cd_stepcode.SelectField = "cd_stepname # 工序名称 ,cd_stepcode # 工序编号,cd_stepno # 执行顺序";
  26. cd_stepcode.DBTitle = "回流工序";
  27. cd_stepcode.DbChange += Cd_stepcode_DbChange;
  28. }
  29. private void Cd_stepcode_DbChange(object sender, EventArgs e)
  30. {
  31. Dbfind = cd_stepcode.ReturnData;
  32. BaseUtil.SetFormValue(this.Controls, Dbfind);
  33. }
  34. string ms_id = "";
  35. private void SaveRepairInf_Click(object sender, EventArgs e)
  36. {
  37. if (ms_id == "") { OperateResult.AppendText(">>请先获取SN\n"); return; }
  38. if (cd_stepcode.Text == "") { OperateResult.AppendText(">>请选择回流工序\n"); return; }
  39. DataTable dt = (DataTable)dh.ExecuteSql("select ms_makecode,ms_firstsn,ms_sncode,ms_prodcode,ms_checkno,ms_craftcode,ms_outboxcode from makeserial where ms_id='" + ms_id + "' and instr(ms_paststep,'" + cd_stepcode.Text + "')>0 ", "select");
  40. if (dt.Rows.Count == 0) { OperateResult.AppendText(">>" + SN.Text + "不存在或未执行过" + cd_stepcode.Text + "工序\n"); return; }
  41. string ms_makecode = dt.Rows[0]["ms_makecode"].ToString();
  42. string ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
  43. string ms_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
  44. string ms_sncode = dt.Rows[0]["ms_sncode"].ToString();
  45. string ms_checkno = dt.Rows[0]["ms_checkno"].ToString();
  46. string ms_craftcode = dt.Rows[0]["ms_craftcode"].ToString();
  47. string ms_outboxcode = dt.Rows[0]["ms_outboxcode"].ToString();
  48. if (ms_outboxcode != "")
  49. {
  50. OperateResult.AppendText(">>序列号已经装箱" + ms_outboxcode + "\n"); return;
  51. }
  52. if (cr_code.Text != "" && cr_code.Text != ms_craftcode) { OperateResult.AppendText(">>序列号途程和所选途程不一致\n"); return; }
  53. dt = (DataTable)dh.ExecuteSql("select cd_id from craft left join craftdetail on cr_id=cd_crid where cr_prodcode='" + ms_prodcode + "' and cr_code='" + ms_craftcode + "' and cd_stepcode='" + cd_stepcode.Text + "'", "select");
  54. if (dt.Rows.Count == 0) { OperateResult.AppendText(">>工序不在所选途程中\n"); return; }
  55. StringBuilder sql = new StringBuilder();
  56. sql.Append("update craftmaterial set cm_status=-1,CM_DROPMAN='"+User.UserName+"' where cm_stepcode in (select cd_stepcode from craft left join ");
  57. sql.Append("craftdetail on cd_crid = cr_id where cr_prodcode = '" + ms_prodcode + "' and cd_detno >= " + cd_stepno.Text + ") ");
  58. sql.Append("and cm_firstsn='" + ms_firstsn + "' and cm_makecode='" + ms_makecode + "'");
  59. dh.ExecuteSql(sql.ToString(), "update");
  60. //dh.ExecuteSql("delete from oqcbatchdetail where obd_sncode='" + ms_sncode + "'", "update");
  61. //dh.ExecuteSql("update oqcbatch set ob_nowcheckqty=(select count(1) from oqcbatchdetail where obd_checkno='" + ms_checkno + "') where ob_checkno='" + ms_checkno + "'", "update");
  62. dh.ExecuteSql("update makeserial set ms_nextstepcode='" + cd_stepcode.Text + "' where ms_id='" + ms_id + "'", "update");
  63. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode, User.UserLineCode, User.UserSourceCode, "OQC回流", "回流成功" + cd_stepcode.Text, ms_sncode, ms_checkno);
  64. OperateResult.AppendText(">>" + SN.Text + "回流成功\n");
  65. //cr_code.Text = "";
  66. //cd_stepcode.Text = "";
  67. SN.Text = "";
  68. ms_id = "";
  69. }
  70. private void SN_KeyDown(object sender, KeyEventArgs e)
  71. {
  72. if (e.KeyCode == Keys.Enter)
  73. {
  74. DataTable dt = (DataTable)dh.ExecuteSql("select ms_id,ms_craftcode,ms_prodcode,ms_checkno from makeserial where ms_sncode='" + SN.Text + "' order by ms_id desc", "select");
  75. if (dt.Rows.Count == 0) { OperateResult.AppendText(">>" + SN.Text + "不存在\n", System.Drawing.Color.Red, SN); return; }
  76. ms_id = dt.Rows[0]["ms_id"].ToString();
  77. string ms_checkno = dt.Rows[0]["ms_checkno"].ToString();
  78. if (ms_checkno == "") { OperateResult.AppendText(">>" + SN.Text + "不存在抽检批次中\n", System.Drawing.Color.Red, SN); return; }
  79. cr_code.Text = dt.Rows[0]["ms_craftcode"].ToString();
  80. string ms_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
  81. cd_stepcode.Condition = "ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "' and cr_prodcode='" + ms_prodcode + "' order by cd_stepno";
  82. SaveRepairInf_Click(sender, e);
  83. }
  84. }
  85. }
  86. }