Query_SpecialReport_SN.cs 5.8 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. public Query_SpecialReport_SN()
  17. {
  18. InitializeComponent();
  19. }
  20. private void Export_Click(object sender, EventArgs e)
  21. {
  22. ExcelExport("");
  23. }
  24. //选择导出Excel时是选择导出数据的还是模板
  25. private void ExcelExport(string DataOrTemplet)
  26. {
  27. //Data表示导出数据
  28. //Templet表示导出模板
  29. if (ma_code.Text == "")
  30. {
  31. MessageBox.Show("请输入工单号");
  32. return;
  33. }
  34. if (Num.Text == "")
  35. {
  36. MessageBox.Show("请输入数量");
  37. return;
  38. }
  39. if (BeginMac.Text == "" || BeginMac.TextLength != 12)
  40. {
  41. MessageBox.Show("请输入起始地址号或检查长度");
  42. return;
  43. }
  44. if (BeginBT.Text == "" || BeginBT.TextLength != 12)
  45. {
  46. MessageBox.Show("请输入起始地址号或检查长度");
  47. return;
  48. }
  49. if (BeginIMEI1.Text == "" || BeginIMEI1.TextLength < 15)
  50. {
  51. MessageBox.Show("请输入IMEI1起始地址号或检查长度");
  52. return;
  53. }
  54. if (BeginIMEI2.Text == "" || BeginIMEI2.TextLength < 15)
  55. {
  56. MessageBox.Show("请输入IMEI2起始地址号或检查长度");
  57. return;
  58. }
  59. folderBrowserDialog1.Description = "选择导出的路径";
  60. DialogResult result = folderBrowserDialog1.ShowDialog();
  61. if (result == DialogResult.OK)
  62. {
  63. string FolderPath = folderBrowserDialog1.SelectedPath;
  64. ExcelHandler eh = new ExcelHandler();
  65. DataTable dt = new DataTable();
  66. dt.Columns.Add("工单号");
  67. dt.Columns.Add("SN");
  68. dt.Columns.Add("MAC");
  69. dt.Columns.Add("BT");
  70. dt.Columns.Add("IMEI1");
  71. dt.Columns.Add("IMEI2");
  72. dt.Columns.Add("扩展栏位1");
  73. dt.Columns.Add("扩展栏位2");
  74. dt.Columns.Add("扩展栏位3");
  75. dt.Columns.Add("备注");
  76. string prefix = BeginMac.Text.Substring(0, 6);
  77. string suffix = BeginMac.Text.Substring(6, 6);
  78. string imei1prefix = BeginIMEI1.Text.Substring(0, 10);
  79. string imei1suffix = BeginIMEI1.Text.Substring(10, BeginIMEI1.Text.Length - 10);
  80. string imei2prefix = BeginIMEI2.Text.Substring(0, 10);
  81. string imei2suffix = BeginIMEI2.Text.Substring(10, BeginIMEI2.Text.Length - 10);
  82. int num = Int32.Parse(suffix, System.Globalization.NumberStyles.HexNumber);
  83. int num0 = Int32.Parse(suffix, System.Globalization.NumberStyles.HexNumber);
  84. double num1 = double.Parse(imei1suffix);
  85. double num2 = double.Parse(imei2suffix);
  86. double num3 = double.Parse(BeginSN.Text);
  87. for (int i = 0; i < int.Parse(Num.Text); i++)
  88. {
  89. DataRow dr = dt.NewRow();
  90. dr["工单号"] = ma_code.Text;
  91. dr["SN"] = SNPrefix.Text + lpad(int.Parse(RMLength.Text), num3.ToString(""));
  92. if (dr["SN"].ToString().Length <= 0)
  93. {
  94. MessageBox.Show("生成SN地址错误");
  95. return;
  96. }
  97. dr["MAC"] = prefix + lpad(6, num0.ToString("X"));
  98. if (dr["MAC"].ToString().Length != 12)
  99. {
  100. MessageBox.Show("生成MAC地址错误");
  101. return;
  102. }
  103. dr["BT"] = prefix + lpad(6, num0.ToString("X"));
  104. if (dr["BT"].ToString().Length != 12)
  105. {
  106. MessageBox.Show("生成BT地址错误");
  107. return;
  108. }
  109. Console.WriteLine(imei1prefix+" " + lpad(BeginIMEI1.Text.Length - 10, num1.ToString("")));
  110. dr["IMEI1"] = imei1prefix + lpad(BeginIMEI1.Text.Length - 10, num1.ToString(""));
  111. if (dr["IMEI1"].ToString().Length < 15)
  112. {
  113. MessageBox.Show("生成IMEI1地址错误");
  114. return;
  115. }
  116. dr["IMEI2"] = imei2prefix + lpad(BeginIMEI2.Text.Length - 10, num2.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. }