Make_CheckNoRelpace.cs 4.2 KB

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