Make_CheckNoRelpace.cs 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Drawing;
  4. using UAS_MES.DataOperate;
  5. using UAS_MES.PublicMethod;
  6. using UAS_MES.Entity;
  7. using System.Text;
  8. using System.Data;
  9. namespace UAS_MES.Make
  10. {
  11. public partial class Make_CheckNoRelpace : Form
  12. {
  13. DataHelper dh;
  14. LogStringBuilder sql = new LogStringBuilder();
  15. public Make_CheckNoRelpace()
  16. {
  17. InitializeComponent();
  18. }
  19. private void Make_CheckNoRelpace_Load(object sender, EventArgs e)
  20. {
  21. dh = SystemInf.dh;
  22. }
  23. private void ReplaceCheckNo_Click(object sender, EventArgs e)
  24. {
  25. if (dh.CheckExist("makeserial", "ms_sncode='" + old_sncode.Text + "'"))
  26. {
  27. if (new_sncode.Text != "")
  28. {
  29. //更新序列号,利用了回滚机制,要么全部执行成功,要么不执行
  30. string UpdateMakeSerial = "update makeserial set ms_sncode='" + new_sncode.Text + "',ms_beforesn='" + old_sncode.Text + "' where ms_sncode='" + old_sncode.Text + "'";
  31. string UpdateCraftMaterial = "update CraftMaterial set cm_sncode='" + new_sncode.Text + "' where cm_sncode='" + old_sncode.Text + "'";
  32. dh.ExecuteSQLTran(UpdateMakeSerial, UpdateCraftMaterial);
  33. //复制之前的日志,保证使用之前的序列号也能够找到操作记录
  34. DataTable dt = (DataTable)dh.ExecuteSql("select mp_result,mp_makecode,mp_inman from makeprocess where mp_sncode='" + old_sncode.Text + "'", "select");
  35. if (dt.Rows.Count > 0)
  36. {
  37. string[] sncode = new string[dt.Rows.Count];
  38. string[] makecode = new string[dt.Rows.Count];
  39. string[] result = new string[dt.Rows.Count];
  40. string[] inman = new string[dt.Rows.Count];
  41. for (int i = 0; i < dt.Rows.Count; i++)
  42. {
  43. sncode[i] = new_sncode.Text;
  44. makecode[i] = dt.Rows[i]["mp_makecode"].ToString();
  45. result[i] = dt.Rows[i]["mp_result"].ToString();
  46. inman[i] = dt.Rows[i]["mp_inman"].ToString();
  47. }
  48. sql.Clear();
  49. sql.Append("insert into MakeProcess(mp_id,mp_makecode,mp_maid, mp_mscode,mp_sncode,mp_stepcode,mp_stepname,");
  50. sql.Append("mp_craftcode,mp_craftname,mp_kind,mp_result,mp_indate,mp_inman,mp_wccode,mp_linecode,mp_sourcecode) ");
  51. sql.Append("select MakeProcess_seq.nextval, ma_code,ma_id,ms_code,ms_sncode,mcd_stepcode,mcd_stepname,");
  52. sql.Append("ma_craftcode,ma_craftname,ma_kind,:result,sysdate,:inman,ma_wccode,ma_linecode,''");
  53. sql.Append("from make left join makecraftdetail on mcd_macode=ma_code left join makeserial on ms_makecode=ma_code ");
  54. sql.Append("where ms_sncode=:sncode and ma_code=:makecode");
  55. dh.BatchInsert(sql.GetString(), new string[] { "result", "inman", "sncode", "makecode" }, result, inman, sncode, makecode);
  56. }
  57. //记录MakeProcess和一般的操作日志
  58. LogicHandler.InsertMessageLog(User.UserName, "变更序列号,备注:" + ReplaceReason.Text, "变更成功", "MakeSerial|ms_sncode=" + new_sncode.Text, "");
  59. LogicHandler.InsertMakeProcess(new_sncode.Text, dh.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_sncode='" + new_sncode.Text + "'").ToString(),User.UserSourceCode,"序列号转换操作", "变更序列号成功,备注:" + ReplaceReason.Text, User.UserName);
  60. OperateResult.AppendText(">>序列号" + old_sncode.Text + "已成功替换为" + new_sncode.Text + "\n", Color.Green);
  61. }
  62. else
  63. {
  64. OperateResult.AppendText(">>新序列号不能为空\n", Color.Red);
  65. }
  66. }
  67. else
  68. {
  69. OperateResult.AppendText(">>序列号" + old_sncode.Text + "不存在\n", Color.Red);
  70. }
  71. }
  72. private void Clean_Click(object sender, EventArgs e)
  73. {
  74. OperateResult.Clear();
  75. }
  76. }
  77. }