Query_SpecialReport_SN.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using UAS_MES_NEW.DataOperate;
  10. using UAS_MES_NEW.Entity;
  11. using UAS_MES_NEW.PublicMethod;
  12. namespace UAS_MES_NEW.Query
  13. {
  14. public partial class Query_SpecialReport_SN : Form
  15. {
  16. DataHelper dh = SystemInf.dh;
  17. public Query_SpecialReport_SN()
  18. {
  19. InitializeComponent();
  20. }
  21. private void Export_Click(object sender, EventArgs e)
  22. {
  23. ExcelExport("");
  24. }
  25. //选择导出Excel时是选择导出数据的还是模板
  26. private void ExcelExport(string DataOrTemplet)
  27. {
  28. //Data表示导出数据
  29. //Templet表示导出模板
  30. if (ma_code.Text == "")
  31. {
  32. MessageBox.Show("请输入工单号");
  33. return;
  34. }
  35. if (Num.Text == "")
  36. {
  37. MessageBox.Show("请输入数量");
  38. return;
  39. }
  40. if (BeginMac.Text == "" || BeginMac.TextLength != 12)
  41. {
  42. MessageBox.Show("请输入起始地址号或检查长度");
  43. return;
  44. }
  45. if (BeginBT.Text == "" || BeginBT.TextLength != 12)
  46. {
  47. MessageBox.Show("请输入起始地址号或检查长度");
  48. return;
  49. }
  50. if (BeginIMEI1.Text == "" || BeginIMEI1.TextLength < 15)
  51. {
  52. MessageBox.Show("请输入IMEI1起始地址号或检查长度");
  53. return;
  54. }
  55. if (BeginIMEI2.Text == "" || BeginIMEI2.TextLength < 15)
  56. {
  57. MessageBox.Show("请输入IMEI2起始地址号或检查长度");
  58. return;
  59. }
  60. folderBrowserDialog1.Description = "选择导出的路径";
  61. DialogResult result = folderBrowserDialog1.ShowDialog();
  62. if (result == DialogResult.OK)
  63. {
  64. string FolderPath = folderBrowserDialog1.SelectedPath;
  65. ExcelHandler eh = new ExcelHandler();
  66. DataTable dt = new DataTable();
  67. dt.Columns.Add("工单号");
  68. dt.Columns.Add("SN");
  69. dt.Columns.Add("MAC");
  70. dt.Columns.Add("BT");
  71. dt.Columns.Add("IMEI1");
  72. dt.Columns.Add("IMEI2");
  73. dt.Columns.Add("扩展栏位1");
  74. dt.Columns.Add("扩展栏位2");
  75. dt.Columns.Add("扩展栏位3");
  76. dt.Columns.Add("备注");
  77. string prefix = BeginMac.Text.Substring(0, 6);
  78. string suffix = BeginMac.Text.Substring(6, 6);
  79. string imei1prefix = BeginIMEI1.Text.Substring(0, 10);
  80. string imei1suffix = BeginIMEI1.Text.Substring(10, BeginIMEI1.Text.Length-10);
  81. string imei2prefix = BeginIMEI2.Text.Substring(0, 10);
  82. string imei2suffix = BeginIMEI2.Text.Substring(10, BeginIMEI2.Text.Length - 10);
  83. int num = Int32.Parse(suffix, System.Globalization.NumberStyles.HexNumber);
  84. int num0 = Int32.Parse(suffix, System.Globalization.NumberStyles.HexNumber);
  85. double num1 = double.Parse(imei1suffix);
  86. double num2 = double.Parse(imei2suffix);
  87. double num3 = double.Parse(BeginSN.Text);
  88. for (int i = 0; i < int.Parse(Num.Text); i++)
  89. {
  90. DataRow dr = dt.NewRow();
  91. dr["工单号"] = ma_code.Text;
  92. dr["SN"] = SNPrefix.Text + lpad(int.Parse(RMLength.Text), num3.ToString(""));
  93. if (dr["SN"].ToString().Length <=0)
  94. {
  95. MessageBox.Show("生成SN地址错误");
  96. return;
  97. }
  98. dr["MAC"] = prefix + lpad(6, num0.ToString("X"));
  99. if (dr["MAC"].ToString().Length != 12)
  100. {
  101. MessageBox.Show("生成MAC地址错误");
  102. return;
  103. }
  104. dr["BT"] = prefix + lpad(6, num0.ToString("X"));
  105. if (dr["BT"].ToString().Length != 12)
  106. {
  107. MessageBox.Show("生成BT地址错误");
  108. return;
  109. }
  110. dr["IMEI1"] = imei1prefix + num1.ToString("");
  111. if (dr["IMEI1"].ToString().Length < 15)
  112. {
  113. MessageBox.Show("生成IMEI1地址错误");
  114. return;
  115. }
  116. dr["IMEI2"] = imei2prefix + num1.ToString("");
  117. if (dr["IMEI2"].ToString().Length < 15)
  118. {
  119. MessageBox.Show("生成IMEI2地址错误");
  120. return;
  121. }
  122. num = num + 1;
  123. num0 = num0 + 1;
  124. num1 = num1 + 1;
  125. num2= num2 + 1;
  126. num3 = num3 + 1;
  127. dt.Rows.Add(dr);
  128. }
  129. eh.ExportExcel(dt, FolderPath);
  130. }
  131. }
  132. private static string lpad(int length, string number)
  133. {
  134. while (number.Length < length)
  135. {
  136. number = "0" + number;
  137. }
  138. number = number.Substring(number.Length - length, length);
  139. return number;
  140. }
  141. private void Query_SpecialReport_Load(object sender, EventArgs e)
  142. {
  143. }
  144. }
  145. }