bee7db05bd1b9787ff6c30d7d45d1d05a5b4217f.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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 CoreFS.CA06;
  10. using PrintSolution.LabelPrinter;
  11. using INI;
  12. namespace Core.LZMes.Client.UIL
  13. {
  14. public partial class Form1 : FrmBase
  15. {
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. Init_WithConfig();
  20. }
  21. public override void ToolBar_Click(object sender, string ToolbarKey)
  22. {
  23. switch (ToolbarKey)
  24. {
  25. case "Query":
  26. this.QUERYData();
  27. break;
  28. }
  29. }
  30. private ZebraPrinter printer = new ZebraPrinter();
  31. private string iniVersions = "5"; //初始化从配置文件中加载的打印版本号
  32. System.Timers.Timer Weight_Time = new System.Timers.Timer();
  33. System.Data.DataSet Weight_Data = new DataSet();
  34. System.Data.DataSet Del_Weight_Data = new DataSet();
  35. int num = 1;
  36. private void Init_WithConfig()
  37. {
  38. try
  39. {
  40. //Get Init Value from App.Config file
  41. //System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
  42. // Weight_DBManager.SQConnStr = ((string)(configurationAppSettings.GetValue("SQConn", typeof(string))));
  43. // Weight_DBManager.SQConnStr = "Provider=\"MSDAORA.1\";User ID=XG3Q;Data Source=XG3Q_8;Password=XG3Q123";
  44. // Weight_DBManager.JLConnStr = ((string)(configurationAppSettings.GetValue("SZConn", typeof(string))));
  45. // string interval = ((string)(configurationAppSettings.GetValue("Interval", typeof(string))));
  46. string interval = "10000";
  47. //Inter_H_WeightData();
  48. //Init CoilWeight Server Time
  49. Weight_Time.Enabled = true;
  50. Weight_Time.Interval = Convert.ToDouble(interval);
  51. Weight_Time.Elapsed += new System.Timers.ElapsedEventHandler(Weight_Time_Elapsed);
  52. }
  53. catch (System.Exception ex)
  54. {
  55. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName, "酸轧二级接口服务初始化失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  56. }
  57. }
  58. void Weight_Time_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
  59. {
  60. Weight_Time.Enabled = false;
  61. try
  62. {
  63. //处理酸轧二级接口数据
  64. Inter_H_WeightData();
  65. num++;
  66. }
  67. catch (System.Exception ex)
  68. {
  69. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName, "酸轧二级接口服务定时器失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  70. }
  71. Weight_Time.Enabled = true;
  72. }
  73. private void Inter_H_WeightData()
  74. {
  75. try
  76. {
  77. DataSetDispose();
  78. GetWeightData();
  79. AddWeightData();
  80. DelWeightData();
  81. }
  82. catch (System.Exception ex)
  83. {
  84. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName + "-热轧", "处理热轧计量数据失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  85. }
  86. }
  87. private void DelWeightData()
  88. {
  89. try
  90. {
  91. if (Del_Weight_Data != null && Del_Weight_Data.Tables.Count == 1 && Del_Weight_Data.Tables[0].Rows.Count > 0)
  92. {
  93. for (int i = Del_Weight_Data.Tables[0].Rows.Count - 1; i >= 0; i--)
  94. {
  95. CoreClientParam ccp2 = new CoreClientParam();
  96. ccp2.ServerName = "UIL.UIL01.UIL010010";
  97. ccp2.MethodName = "updateprinter";
  98. ccp2.ServerParams = new object[] { FixDBManager.CheckNullStr(Del_Weight_Data.Tables[0].Rows[i]["OLD_SAMPL_NO"]) };
  99. ccp2 = this.ExecuteNonQuery(ccp2, CoreInvokeType.Internal);
  100. Del_Weight_Data.Tables[0].Rows.RemoveAt(i);
  101. Del_Weight_Data.AcceptChanges();
  102. /*string exesql = "UPDATE L2_CALTHKDATA SET FLAG=1 WHERE convert(nvarchar(500),COILIDLZ)=N'" + FixDBManager.CheckNullStr(Del_Weight_Data.Tables[0].Rows[i]["COILIDLZ"]) + "'";
  103. if (DBManager.ExecuteDB(Weight_DBManager.LogName + "-热轧", "更新酸轧二级接口数据失败:", exesql, Weight_DBManager.JLConn))
  104. {
  105. Del_Weight_Data.Tables[0].Rows.RemoveAt(i);
  106. Del_Weight_Data.AcceptChanges();
  107. }*/
  108. }
  109. }
  110. // QUERYData();
  111. }
  112. catch (System.Exception ex)
  113. {
  114. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName + "-热轧", "更新酸轧二级接口数据失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  115. }
  116. }
  117. private void DataSetDispose()
  118. {
  119. try
  120. {
  121. Weight_Data = null;
  122. Del_Weight_Data = null;
  123. }
  124. catch (System.Exception ex)
  125. {
  126. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName, "释放资源失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  127. }
  128. }
  129. private void GetWeightData()
  130. {
  131. try
  132. {
  133. this.dataSet1.Tables[0].Clear();
  134. CoreClientParam ccp = new CoreClientParam();
  135. ccp.ServerName = "UIL.UIL01.UIL010010";
  136. ccp.MethodName = "queryprinter";
  137. ccp.SourceDataTable = this.dataSet1.Tables[0];
  138. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  139. Weight_Data = this.dataSet1.Copy();
  140. //string sql = "SELECT COILIDLZ,COILTHICK,COILSETTHICK,COILFLAT,INSERTDATE FROM L2_CALTHKDATA WHERE FLAG='4'";
  141. //object obj = DBManager.GetDataSet(Weight_DBManager.LogName + "-酸轧", "获取酸轧二级接口数据失败:", sql, "L2_CALTHKDATA", Weight_DBManager.SQConn);
  142. //if (obj != null)
  143. //{
  144. // Weight_Data = (obj as System.Data.DataSet).Copy();
  145. //}
  146. }
  147. catch (System.Exception ex)
  148. {
  149. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName + "-热轧", "获取酸轧二级接口数据失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  150. }
  151. }
  152. private void QUERYData()
  153. {
  154. try
  155. {
  156. this.dataSet2.Tables[0].Clear();
  157. CoreClientParam ccp = new CoreClientParam();
  158. ccp.ServerName = "UIL.UIL01.UIL010010";
  159. ccp.MethodName = "queryprintING";
  160. ccp.SourceDataTable = this.dataSet2.Tables[0];
  161. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  162. }
  163. catch (System.Exception ex)
  164. {
  165. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName + "-热轧", "获取酸轧二级接口数据失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  166. }
  167. }
  168. private void AddWeightData()
  169. {
  170. try
  171. {
  172. if (Weight_Data != null && Weight_Data.Tables.Count > 0 && Weight_Data.Tables[0].Rows.Count > 0)
  173. {
  174. Del_Weight_Data = Weight_Data;//Weight_Data.Clone();
  175. foreach (System.Data.DataRow row in Weight_Data.Tables[0].Rows)
  176. {
  177. //string sql = "SELECT COILIDLZ FROM L2_CALTHKDATA WHERE COILIDLZ='" + FixDBManager.CheckNullStr(row["COILIDLZ"]) + "'";
  178. // param = new Hashtable();
  179. ColdCoilLable coilLabel = new ColdCoilLable();
  180. coilLabel.rollNo = string.Empty;
  181. coilLabel.specification = FixDBManager.CheckNullStr(row["SPEC_ABBSYM"]);
  182. coilLabel.steelGrade = FixDBManager.CheckNullStr(row["STL_GRD"]); ;//SPEC_STL_GRD
  183. coilLabel.dimension = FixDBManager.CheckNullStr(row["T_K"]);
  184. coilLabel.coilNo = FixDBManager.CheckNullStr(row["OLD_SAMPL_NO"]);
  185. coilLabel.weight = FixDBManager.CheckNullStr(row["ACT_WGT"]);
  186. coilLabel.heatNo = FixDBManager.CheckNullStr(row["CHARGE_NO"]);
  187. coilLabel.prodDate = FixDBManager.CheckNullStr(row["MILL_DTIME"]);
  188. coilLabel.contractNo = FixDBManager.CheckNullStr(row["ORD_NO"]);//ORD
  189. coilLabel.prodName = FixDBManager.CheckNullStr(row["ORD_USE_TP"]);
  190. coilLabel.custName = FixDBManager.CheckNullStr(row["ORDCUST_CD"]);
  191. coilLabel.licenseNo = string.Empty;
  192. coilLabel.licenseMark = string.Empty;
  193. //coilLabel.checker = string.Empty;
  194. coilLabel.checker = FixDBManager.CheckNullStr(row["FAC_STL_GRD"]);//销售备注
  195. coilLabel.barcode = coilLabel.coilNo;
  196. printer.printLable(coilLabel);//PRINTING
  197. printer.printLable(coilLabel);//PRINTING
  198. }
  199. }
  200. }
  201. catch (System.Exception ex)
  202. {
  203. System.Diagnostics.EventLog.WriteEntry(Weight_DBManager.LogName + "-热轧", "拷贝酸轧二级接口数据失败:" + ex.ToString(), System.Diagnostics.EventLogEntryType.Error);
  204. }
  205. }
  206. protected void OnStart(string[] args)
  207. {
  208. try
  209. {
  210. Weight_Time.Enabled = true;
  211. Weight_Time.Start();
  212. }
  213. catch (System.Exception ex)
  214. {
  215. System.Diagnostics.Debug.WriteLine(ex.ToString());
  216. }
  217. }
  218. protected void OnStop()
  219. {
  220. try
  221. {
  222. Weight_Time.Stop();
  223. Weight_Time.Close();
  224. DataSetDispose();
  225. /* Weight_DBManager.JLConn.Close();
  226. Weight_DBManager.JLConn.Dispose();
  227. Weight_DBManager.SQConn.Close();
  228. Weight_DBManager.SQConn.Dispose();*/
  229. }
  230. catch (System.Exception ex)
  231. {
  232. System.Diagnostics.Debug.WriteLine(ex.ToString());
  233. }
  234. }
  235. private void Form1_Load(object sender, EventArgs e)
  236. {
  237. /* printer.Addr = "172.16.50.210";
  238. printer.LableVersion = 5;*/
  239. string Current = System.IO.Directory.GetCurrentDirectory();//获取当前根目录
  240. Ini ini = new Ini(Current + "/CoreFS.ini");
  241. // 读取ini
  242. string labPrinterAddr = ini.ReadValue("LABPRINTERADDR", "6");
  243. //labPrinterAddr = "172.16.50.200";//测试代码20161014
  244. printer.Addr = labPrinterAddr;
  245. //string version = ini.ReadValue("LABPRINTERADDR", "Version");
  246. string version = "5";
  247. printer.LableVersion = int.Parse(version);
  248. }
  249. private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  250. {
  251. OnStop();
  252. }
  253. }
  254. }