Make_CheckNoRelpace.cs 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Drawing;
  4. using UAS_MES_NEW.DataOperate;
  5. using UAS_MES_NEW.PublicMethod;
  6. using UAS_MES_NEW.Entity;
  7. using System.Text;
  8. using System.Data;
  9. namespace UAS_MES_NEW.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. try { UAS_MES_NEW.I18n.LanguageManager.Localize(this); } catch { }
  19. }
  20. private void Make_CheckNoRelpace_Load(object sender, EventArgs e)
  21. {
  22. dh = SystemInf.dh;
  23. }
  24. private void ReplaceCheckNo_Click(object sender, EventArgs e)
  25. {
  26. if (dh.CheckExist("makeserial", "ms_sncode='" + old_sncode.Text + "'"))
  27. {
  28. if (new_sncode.Text != "")
  29. {
  30. //更新序列号,利用了回滚机制,要么全部执行成功,要么不执行
  31. string UpdateMakeSerial = "update makeserial set ms_sncode='" + new_sncode.Text + "',ms_beforesn='" + old_sncode.Text + "' where ms_sncode='" + old_sncode.Text + "'";
  32. string UpdateCraftMaterial = "update CraftMaterial set cm_sncode='" + new_sncode.Text + "' where cm_sncode='" + old_sncode.Text + "'";
  33. dh.ExecuteSQLTran(UpdateMakeSerial, UpdateCraftMaterial);
  34. //复制之前的日志,保证使用之前的序列号也能够找到操作记录
  35. DataTable dt = (DataTable)dh.ExecuteSql("select mp_result,mp_makecode,mp_inman from makeprocess where mp_sncode='" + old_sncode.Text + "'", "select");
  36. if (dt.Rows.Count > 0)
  37. {
  38. string[] sncode = new string[dt.Rows.Count];
  39. string[] makecode = new string[dt.Rows.Count];
  40. string[] result = new string[dt.Rows.Count];
  41. string[] inman = new string[dt.Rows.Count];
  42. for (int i = 0; i < dt.Rows.Count; i++)
  43. {
  44. sncode[i] = new_sncode.Text;
  45. makecode[i] = dt.Rows[i]["mp_makecode"].ToString();
  46. result[i] = dt.Rows[i]["mp_result"].ToString();
  47. inman[i] = dt.Rows[i]["mp_inman"].ToString();
  48. }
  49. sql.Clear();
  50. sql.Append("insert into MakeProcess(mp_id,mp_makecode,mp_maid, mp_mscode,mp_sncode,mp_stepcode,mp_stepname,");
  51. sql.Append("mp_craftcode,mp_craftname,mp_kind,mp_result,mp_indate,mp_inman,mp_wccode,mp_linecode,mp_sourcecode) ");
  52. sql.Append("select MakeProcess_seq.nextval, ma_code,ma_id,ms_code,ms_sncode,mcd_stepcode,mcd_stepname,");
  53. sql.Append("ma_craftcode,ma_craftname,ma_kind,:result,sysdate,:inman,ma_wccode,ma_linecode,''");
  54. sql.Append("from make left join makecraftdetail on mcd_macode=ma_code left join makeserial on ms_makecode=ma_code ");
  55. sql.Append("where ms_sncode=:sncode and ma_code=:makecode");
  56. dh.BatchInsert(sql.GetString(), new string[] { "result", "inman", "sncode", "makecode" }, result, inman, sncode, makecode);
  57. }
  58. //记录MakeProcess和一般的操作日志
  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. }