OQC_QCRecheck.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Drawing;
  5. using System.Windows.Forms;
  6. using UAS_MES_NEW.DataOperate;
  7. using UAS_MES_NEW.Entity;
  8. using UAS_MES_NEW.PublicMethod;
  9. namespace UAS_MES_NEW.OQC
  10. {
  11. public partial class OQC_QCRecheck : Form
  12. {
  13. DataHelper dh = SystemInf.dh;
  14. LogStringBuilder sql = new LogStringBuilder();
  15. public OQC_QCRecheck()
  16. {
  17. InitializeComponent();
  18. }
  19. private void Confirm_Click(object sender, EventArgs e)
  20. {
  21. if (inputreson.Text == "")
  22. {
  23. OperateResult.AppendText(">>下地原因必填\n", Color.Red);
  24. return;
  25. }
  26. //获取序列号的途程
  27. DataTable dt = (DataTable)dh.ExecuteSql("select nvl(MS_IFQCCHECK,0)MS_IFQCCHECK,ms_makecode,ms_stepcode,ms_status,pr_detail,ms_outboxcode,ms_sncode,ms_firstsn,ms_id,ms_nextstepcode,ms_currentstepcode,ms_makecode,ms_status,ms_checkno,ms_craftcode,ms_prodcode,ms_stepcode,nvl(ms_qccheck,0)ms_qccheck from makeserial left join product on pr_code=ms_prodcode where (ms_sncode='" + sn_code.Text + "' or ms_imei1='" + sn_code.Text + "' and ms_imei2='" + sn_code.Text + "') order by ms_id desc", "select");
  28. if (dt.Rows.Count > 0)
  29. {
  30. pr_code.Text = dt.Rows[0]["ms_prodcode"].ToString();
  31. string ms_makecode = dt.Rows[0]["ms_makecode"].ToString();
  32. string ms_stepcode = dt.Rows[0]["ms_stepcode"].ToString();
  33. string ms_status = dt.Rows[0]["ms_status"].ToString();
  34. string ms_ifqccheck = dt.Rows[0]["MS_IFQCCHECK"].ToString();
  35. pr_detail.Text = dt.Rows[0]["pr_detail"].ToString();
  36. if (ms_ifqccheck == "-1" && ms_status == "3")
  37. {
  38. OperateResult.AppendText(">>序列号" + sn_code.Text + "不处于QC判定状态\n", Color.Red, sn_code);
  39. return;
  40. }
  41. string[] param = new string[] { "MakeDown", "0", ms_makecode };
  42. dh.CallProcedure("SP_GETMAXNUMBER", ref param);
  43. string mdcode = param[2];
  44. string sp_date = dh.getFieldDataByCondition("steppassed", "to_char(max(sp_date),'yyyy-mm-dd hh24:mi:ss')", "sp_stepcode='" + ms_stepcode + "' and sp_makecode='" + ms_makecode + "' and sp_sncode='" + sn_code.Text + "'").ToString();
  45. dh.ExecuteSql("update makeserial set ms_downcode='" + mdcode + "',ms_downstatus=-1 where ms_sncode in (select sp_sncode from steppassed where sp_date>to_date('" + sp_date + "','yyyy-mm-dd hh24:mi:ss')-30/1440 and " +
  46. " sp_date<to_date('" + sp_date + "','yyyy-mm-dd hh24:mi:ss')+30/1440 and sp_stepcode='" + ms_stepcode + "' and sp_makecode='" + ms_makecode + "') ", "update");
  47. sql.Clear();
  48. sql.Append("INSERT INTO MAKEDOWN (MD_ID,MD_LINECODE,MD_SCCODE,MD_STEPCODE,");
  49. sql.Append("MD_SNCODE,MD_PRODCODE,MD_MACODE, MD_DOWNREASON, MD_CODE,");
  50. sql.Append("MD_DOWNDATE,MD_DOWNMAN,MD_STATUS) select MAKEDOWN_seq.nextval,'" + User.UserLineCode + "','" + User.UserSourceCode + "',");
  51. sql.Append("'" + User.CurrentStepCode + "',ms_sncode,'" + pr_code.Text + "','" + ms_makecode + "','" + inputreson.Text + "','" + mdcode + "',sysdate,'" + User.UserCode + "','-1' from " +
  52. "makeserial where ms_sncode in (select sp_sncode from steppassed where sp_date>to_date('" + sp_date + "','yyyy-mm-dd hh24:mi:ss')-30/1440 and sp_date<to_date('" + sp_date + "','yyyy-mm-dd hh24:mi:ss')+30/1440 and sp_stepcode='" + ms_stepcode + "' and sp_makecode='" + ms_makecode + "')");
  53. //执行
  54. dh.ExecuteSql(sql.GetString(), "insert");
  55. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_makecode, User.UserLineCode, User.UserSourceCode, "锁定不良品", "锁定不良品", sn_code.Text, "");
  56. OperateResult.AppendText(">>序列号" + sn_code.Text + "锁定不良品\n", Color.Green, sn_code);
  57. }
  58. else OperateResult.AppendText(">>序列号" + sn_code.Text + "不存在\n", Color.Red, sn_code);
  59. }
  60. private void Clean_Click(object sender, EventArgs e)
  61. {
  62. OperateResult.Clear();
  63. }
  64. private void Special_CancelCollection_Load(object sender, EventArgs e)
  65. {
  66. }
  67. DataTable Dbfind;
  68. private void pr_code_DbChange(object sender, EventArgs e)
  69. {
  70. }
  71. private void sn_code_KeyDown(object sender, KeyEventArgs e)
  72. {
  73. if (e.KeyCode == Keys.Enter)
  74. {
  75. DataTable dt = (DataTable)dh.ExecuteSql("select pr_detail,ms_outboxcode,ms_sncode,ms_firstsn,ms_id,ms_nextstepcode,ms_currentstepcode,ms_makecode,ms_status,ms_checkno,ms_craftcode,ms_prodcode,ms_stepcode,nvl(ms_qccheck,0)ms_qccheck from makeserial left join product on pr_code=ms_prodcode where (ms_sncode='" + sn_code.Text + "' or ms_imei1='" + sn_code.Text + "' and ms_imei2='" + sn_code.Text + "') order by ms_id desc", "select");
  76. if (dt.Rows.Count > 0)
  77. {
  78. pr_code.Text = dt.Rows[0]["ms_prodcode"].ToString();
  79. string ms_makecode = dt.Rows[0]["ms_makecode"].ToString();
  80. string ms_qccheck = dt.Rows[0]["ms_qccheck"].ToString();
  81. pr_detail.Text = dt.Rows[0]["pr_detail"].ToString();
  82. }
  83. else OperateResult.AppendText(">>序列号" + sn_code.Text + "不存在\n", Color.Red, sn_code);
  84. }
  85. }
  86. }
  87. }