MainWindow.xaml.cs 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. using Google.Protobuf;
  2. using ivf_tl_Control;
  3. using IvfTl.Control.Entity.DTO;
  4. using ivf_tl_SerialHelper.Util;
  5. using ivf_tl_ServicesImpl.DBServices;
  6. using ivf_tl_ServicesImpl.KafkaServices;
  7. using ivf_tl_ServicesImpl.MqttServices;
  8. using Newtonsoft.Json;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Drawing.Imaging;
  12. using System.IO;
  13. using System.Security.Principal;
  14. using System.Threading.Tasks;
  15. using System.Windows;
  16. namespace TLTest
  17. {
  18. /// <summary>
  19. /// Interaction logic for MainWindow.xaml
  20. /// </summary>
  21. public partial class MainWindow : Window
  22. {
  23. public MainWindow()
  24. {
  25. InitializeComponent();
  26. }
  27. ComBin comBin = null;
  28. private void Button_Click(object sender, RoutedEventArgs e)
  29. {
  30. //DBServiceImpl.Instance.BuildEntity();
  31. string ss = "";
  32. //return;
  33. //StartMain startMain = new StartMain();
  34. //MessageBox.Show(startMain.StartRun());
  35. AppData.Instance.Login("admin", "123456");
  36. Dictionary<int, DateTime?> keyValuePairs = new Dictionary<int, DateTime?>();
  37. for (int i = 1; i < 17; i++)
  38. {
  39. keyValuePairs.Add(i, null);
  40. }
  41. for (int i = 1; i < 11; i++)
  42. {
  43. var aaaaa = AppData.Instance.HouseBin_GetCCDServiceEventTest(i, keyValuePairs);
  44. var bbbb = AppData.Instance.HouseBin_GetAutoFocusServiceEventTest(i, keyValuePairs);
  45. }
  46. //var bbbb = AppData.Instance.HouseBin_GetAutoFocusDBEventTest(5, keyValuePairs);
  47. string ss123 = "";
  48. }
  49. KafkaService kafkaService = AppData.Instance.KafkaService;
  50. MqttService mqttService = AppData.Instance.MqttService;
  51. /// <summary>
  52. /// kafka监听
  53. /// </summary>
  54. /// <param name="sender"></param>
  55. /// <param name="e"></param>
  56. private async void Button_Click1(object sender, RoutedEventArgs e)
  57. {
  58. try
  59. {
  60. await mqttService.PublishAsync("测试12354646");
  61. //kafkaService.kafkaConsumerTest();
  62. }
  63. catch (Exception ex)
  64. {
  65. MessageBox.Show($"{ex.Message}{ex.StackTrace}");
  66. }
  67. }
  68. /// <summary>
  69. /// kafka发送
  70. /// </summary>
  71. /// <param name="sender"></param>
  72. /// <param name="e"></param>
  73. private async void Button_Click2(object sender, RoutedEventArgs e)
  74. {
  75. try
  76. {
  77. await kafkaService.kafkaProducerAsync(GetImageDTO());
  78. MessageBox.Show("完成");
  79. }
  80. catch (Exception ex)
  81. {
  82. MessageBox.Show($"{ex.Message}{ex.StackTrace}");
  83. }
  84. }
  85. private ImageDTO GetImageDTO()
  86. {
  87. try
  88. {
  89. ImageDTO imageDTO = new ImageDTO();
  90. imageDTO.TlSn = "TlSn";
  91. imageDTO.HouseSn = int.Parse(this.housesn_TextBox.Text.Trim());
  92. imageDTO.WellSn = 1;
  93. imageDTO.CcdSn = "1";
  94. imageDTO.SourceImageName = "1.jpg";
  95. imageDTO.SourceImagePath = "1";
  96. //imageDTO.SourceImageWidth = "1";
  97. //imageDTO.SourceImageHeight = "1";
  98. imageDTO.ImageTime = "2020-10-10 00:00:00";
  99. imageDTO.FertilizationTime = "2020-10-10 00:00:00";
  100. imageDTO.PhotographType = 1;
  101. imageDTO.TotalLayer = 1;
  102. imageDTO.PictureLayer = 1;
  103. imageDTO.ShootingPosition = 1;
  104. imageDTO.Clearest = 1;
  105. imageDTO.End = 1;
  106. imageDTO.EmbryoCultureRecordId = 1;
  107. imageDTO.EmbryoId = 1;
  108. string fileName = $"{Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @"DependFile\PicLoadFailed.jpg")}";
  109. imageDTO.ImageData = ByteString.CopyFrom(GetImageData(fileName));
  110. return imageDTO;
  111. }
  112. catch (Exception ex)
  113. {
  114. MessageBox.Show($"获取imagedto{ex.Message}{ex.StackTrace}");
  115. return null;
  116. }
  117. }
  118. private byte[] GetImageData(string fileName)
  119. {
  120. try
  121. {
  122. if (!File.Exists(fileName))
  123. {
  124. return null;
  125. }
  126. ImageFormat imageFormat = ImageFormat.Jpeg;
  127. switch (Path.GetExtension(fileName).ToLower())
  128. {
  129. case ".jpg":
  130. imageFormat = ImageFormat.Jpeg;
  131. break;
  132. case ".bmp":
  133. imageFormat = ImageFormat.Bmp;
  134. break;
  135. case ".png":
  136. imageFormat = ImageFormat.Png;
  137. break;
  138. default:
  139. break;
  140. }
  141. System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(fileName);
  142. MemoryStream memoryStream = new MemoryStream();
  143. bitmap.Save(memoryStream, imageFormat);
  144. var a = memoryStream.ToArray();
  145. memoryStream.Close();
  146. memoryStream.Dispose();
  147. bitmap.Dispose();
  148. return a;
  149. }
  150. catch (Exception ex)
  151. {
  152. return null;
  153. }
  154. }
  155. /// <summary>
  156. /// kafka创建分区
  157. /// </summary>
  158. /// <param name="sender"></param>
  159. /// <param name="e"></param>
  160. private async void Button_Click3(object sender, RoutedEventArgs e)
  161. {
  162. try
  163. {
  164. await kafkaService.CreateTopicAsync(int.Parse(this.paNum_TextBox.Text.Trim()));
  165. MessageBox.Show("完成");
  166. }
  167. catch (Exception ex)
  168. {
  169. MessageBox.Show($"{ex.Message}{ex.StackTrace}");
  170. }
  171. }
  172. /// <summary>
  173. /// kafka获取分区
  174. /// </summary>
  175. /// <param name="sender"></param>
  176. /// <param name="e"></param>
  177. private void Button_Click4(object sender, RoutedEventArgs e)
  178. {
  179. try
  180. {
  181. kafkaService.GetAllTopic();
  182. MessageBox.Show("完成");
  183. }
  184. catch (Exception ex)
  185. {
  186. MessageBox.Show($"{ex.Message}{ex.StackTrace}");
  187. }
  188. }
  189. /// <summary>
  190. /// 判断分区存在,若不存在则创建
  191. /// </summary>
  192. /// <param name="sender"></param>
  193. /// <param name="e"></param>
  194. private async void Button_Click5(object sender, RoutedEventArgs e)
  195. {
  196. try
  197. {
  198. var sdf = await kafkaService.CreateTopicAsync(int.Parse(this.paNum_TextBox.Text.Trim()));
  199. MessageBox.Show($"完成{sdf}");
  200. }
  201. catch (Exception ex)
  202. {
  203. MessageBox.Show($"{ex.Message}{ex.StackTrace}");
  204. }
  205. }
  206. private void Button_Click_1(object sender, RoutedEventArgs e)
  207. {
  208. try
  209. {
  210. kafkaService.KafkaSetNameAndIp(this.topic_TextBox.Text.Trim(), this.ip_TextBox.Text.Trim());
  211. }
  212. catch (Exception ex)
  213. {
  214. MessageBox.Show($"{ex.Message}{ex.StackTrace}");
  215. }
  216. }
  217. private void _channel_ReceiveLogEvent(int arg1, DateTime arg2, string arg3)
  218. {
  219. WriteRunRecordLog(arg2, $"[ReceiveLogEvent][{arg1}][{arg3}]");
  220. }
  221. private void _channel_SendLogEvent(int arg1, DateTime arg2, string arg3)
  222. {
  223. WriteRunRecordLog(arg2, $"[SendLogEvent][{arg1}][{arg3}]");
  224. }
  225. private void _channel_ErrorLogEvent(string obj)
  226. {
  227. WriteRunRecordLog(DateTime.Now, $"[ErrorLogEvent]{obj}");
  228. }
  229. private void _channel_LogEvent(string obj)
  230. {
  231. WriteRunRecordLog(DateTime.Now, $"[LogEvent]{obj}");
  232. }
  233. private void _channel_ExceptionLogEvent(Exception arg1, string arg2, string arg3)
  234. {
  235. WriteRunRecordLog(DateTime.Now, $"[ExceptionLogEvent][{arg2}][{arg3}][{arg1.Message}:{arg1.StackTrace}]");
  236. }
  237. private static object WriteRunRecordLock = new object();
  238. /// <summary>
  239. /// 记录程序运行情况
  240. /// </summary>
  241. private static void WriteRunRecordLog(DateTime recordTime, string content)
  242. {
  243. try
  244. {
  245. string dirTime = recordTime.ToString("yyyy-MM-dd");
  246. string path = $"{System.AppDomain.CurrentDomain.BaseDirectory}log";
  247. lock (WriteRunRecordLock)
  248. {
  249. if (!Directory.Exists(path))
  250. {
  251. Directory.CreateDirectory(path);
  252. }
  253. string filename = Path.Combine(path, "RunRecord.log");
  254. string wroteContent = $"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")}] {recordTime.ToString("yyyy-MM-dd HH:mm:ss:fff")} {content}";
  255. using (StreamWriter mySw = File.AppendText(filename))
  256. {
  257. mySw.WriteLine(wroteContent);
  258. mySw.Close();
  259. }
  260. }
  261. }
  262. catch (Exception ex)
  263. {
  264. }
  265. }
  266. }
  267. }