MTLFCommon.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows.Forms;
  7. using Uninpho.DBOperation.Model;
  8. using Uninpho.DBOperation.Operation;
  9. using System.IO;
  10. using DevExpress.XtraEditors;
  11. using DevExpress.XtraGrid.Views.Grid;
  12. using DevExpress.XtraGrid;
  13. using ClosedXML.Excel;
  14. namespace Uninpho.Tools.components.MTLFF
  15. {
  16. class MTLFCommon
  17. {
  18. static string UUID;
  19. static int celllength = 18;
  20. public static T_mitielifeng_filelist updataListMessage(GridView gv,string url,int row)
  21. {
  22. IXLWorksheet XLWorksheet = new XLWorkbook(url).Worksheet(1);
  23. T_mitielifeng_filelist tm = new T_mitielifeng_filelist()
  24. {
  25. Zhanming= XLWorksheet.Row(2).Cell(3).Value.ToString(),
  26. Xianluming = XLWorksheet.Row(2).Cell(14).Value.ToString(),
  27. Daochahao = XLWorksheet.Row(2).Cell(6).Value.ToString(),
  28. Zhechahao = XLWorksheet.Row(2).Cell(9).Value.ToString(),
  29. Shejituhao = XLWorksheet.Row(2).Cell(12).Value.ToString(),
  30. Riqi = XLWorksheet.Row(2).Cell(20).Value.ToString(),
  31. Jiancharen = XLWorksheet.Row(2).Cell(17).Value.ToString()
  32. };
  33. gv.SetRowCellValue(row, "Zhanming", tm.Zhanming);
  34. gv.SetRowCellValue(row, "Xianluming", tm.Xianluming);
  35. gv.SetRowCellValue(row, "Daochahao", tm.Daochahao);
  36. gv.SetRowCellValue(row, "Zhechahao", tm.Zhechahao);
  37. gv.SetRowCellValue(row, "Shejituhao", tm.Shejituhao);
  38. gv.SetRowCellValue(row, "Riqi", tm.Riqi.Split(' ')[0]);
  39. gv.SetRowCellValue(row, "Jiancharen", tm.Jiancharen);
  40. return tm;
  41. }
  42. /// <summary>
  43. /// 保存至filelist表
  44. /// </summary>
  45. public static string SaveExcel2PG()
  46. {
  47. T_mitielifeng_filelist mtlf = new T_mitielifeng_filelist();
  48. mtlf.Zhanming = ExcelTools.chezhan;
  49. mtlf.Daochahao = ExcelTools.daocha;
  50. mtlf.Zhechahao = ExcelTools.zhecha;
  51. mtlf.Riqi = ExcelTools.jianceshijian;
  52. mtlf.Jiancharen = ExcelTools.jianceren;
  53. mtlf.Shejituhao = ExcelTools.shejituhao;
  54. mtlf.Xianluming = ExcelTools.xianluming;
  55. mtlf.Excelbytearr = ExcelTools.GetFileData(ExcelTools.filenameall);
  56. mtlf.Remark = DateTime.Now.ToString();
  57. //mtlf.Gengxinriqi = DateTime.Now.ToString();
  58. //mtlf.Gengxinren = UserInform.userinf.Username;
  59. UUID = DataAnalysisToPG.InsertMTLFListDataToPG(mtlf);
  60. return UUID;
  61. }
  62. #region 读excel内部(没必要)
  63. /// <summary>
  64. /// 保存至exceldata表
  65. /// </summary>
  66. public static void saveExcelData2PG()
  67. {
  68. T_mitielifeng_exceldata mtlfdata = new T_mitielifeng_exceldata();
  69. string[] datas = GetmtlfExcelData();
  70. mtlfdata.Filelistid = UUID;
  71. mtlfdata.Jgjdyhctjx = datas[0];
  72. mtlfdata.Qita = datas[1];
  73. mtlfdata.Cljgfgzbyjbggzbzxjx = datas[2];
  74. mtlfdata.Jgwy = datas[3];
  75. mtlfdata.Gczqs = datas[4];
  76. mtlfdata.Ljgxcl = datas[5];
  77. mtlfdata.Bcqs = datas[6];
  78. mtlfdata.Jggyydtjxch = datas[7];
  79. mtlfdata.Jggyydtjxzh = datas[8];
  80. mtlfdata.Jggdsbmyftdtjx = datas[9];
  81. mtlfdata.Jgymtjbgjx = datas[10];
  82. mtlfdata.Xggdyhctjx = datas[11];
  83. mtlfdata.Xggyydtjx = datas[12];
  84. mtlfdata.Xggtsbmyftdtjx = datas[13];
  85. mtlfdata.Xgyftjgtjx = datas[14];
  86. mtlfdata.Xgyygjx = datas[15];
  87. mtlfdata.Dxgycgjgjdjx = datas[16];
  88. mtlfdata.Cljggdsbmyftxwzzjx = datas[17];
  89. DataAnalysisToPG.InsertMTLFExcelDataToPG(mtlfdata);
  90. }
  91. /// <summary>
  92. /// 读取密贴离缝excel数据
  93. /// 返回数据格式为
  94. /// 【Filelistid,Jgjdyhctjx,Qita,Cljgfgzbyjbggzbzxjx,
  95. /// Jgwy,Gczqs,Ljgxcl,Bcqs,Jggyydtjxch,Jggyydtjxzh,,
  96. /// Jggdsbmyftdtjx,Jgymtjbgjx,Xggdyhctjx,Xggyydtjx,
  97. /// Xggtsbmyftdtjx,Xgyftjgtjx,Xgyygjx,Dxgycgjgjdjx,
  98. /// Cljggdsbmyftxwzzjx】
  99. /// </summary>
  100. /// <returns></returns>
  101. private static string[] GetmtlfExcelData()
  102. {
  103. string[] datas = new string[18];
  104. var workbook = new XLWorkbook(ExcelTools.filenameall);
  105. IXLWorksheet XLWorksheet = workbook.Worksheet(1);
  106. datas[0] = readJgjdyhctjx(XLWorksheet);
  107. datas[1] = readQita(XLWorksheet);
  108. datas[2] = readCljgfgzbyjbggzbzxjx(XLWorksheet);
  109. datas[3] = readJgwy(XLWorksheet);
  110. datas[4] = readGxzqs(XLWorksheet);
  111. datas[5] = readLjgxcl(XLWorksheet);
  112. datas[6] = readBcqs(XLWorksheet);
  113. datas[7] = readJggyydtjxch(XLWorksheet);
  114. datas[8] = readJggyydtjxzh(XLWorksheet);
  115. datas[9] = readJggdsbmyftdtjx(XLWorksheet);
  116. datas[10] = readJgymtjbgjx(XLWorksheet);
  117. datas[11] = readXggdyhctjx(XLWorksheet);
  118. datas[12] = readXggyydtjx(XLWorksheet);
  119. datas[13] = readXggtsbmyftdtjx(XLWorksheet);
  120. datas[14] = readXgyftjgtjx(XLWorksheet);
  121. datas[15] = readXgyygjx(XLWorksheet);
  122. datas[16] = readDxgycgjgjdjx(XLWorksheet);
  123. datas[17] = readCljggdsbmyftxwzzjx(XLWorksheet);
  124. return datas;
  125. }
  126. /// <summary>
  127. /// 获取尖轨轨底与滑床台间隙
  128. /// </summary>
  129. /// <param name="XLWorksheet"></param>
  130. /// <returns></returns>
  131. private static string readJgjdyhctjx(IXLWorksheet XLWorksheet)
  132. {
  133. string data = String.Empty;
  134. int[] rows = new int[] { 4, 7, 10, 13 };
  135. for (int i = 0; i < rows.Length; i++)
  136. {
  137. for (int j = 0; j < celllength; j++)
  138. {
  139. data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//枕号
  140. data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString() + ",";//直
  141. data += XLWorksheet.Row(rows[i] + 2).Cell(j + 4).Value.ToString() + ";";//曲
  142. }
  143. }
  144. return data;
  145. }
  146. /// <summary>
  147. /// 获取其他
  148. /// </summary>
  149. /// <param name="XLWorksheet"></param>
  150. /// <returns></returns>
  151. private static string readQita(IXLWorksheet XLWorksheet)
  152. {
  153. string data = XLWorksheet.Row(16).Cell(10).Value.ToString();
  154. return data;
  155. }
  156. /// <summary>
  157. /// 获取斥离尖轨非工作边与基本轨工作边最小间距
  158. /// </summary>
  159. private static string readCljgfgzbyjbggzbzxjx(IXLWorksheet XLWorksheet)
  160. {
  161. string data = XLWorksheet.Row(16).Cell(15).Value.ToString() + ",";
  162. data += XLWorksheet.Row(16).Cell(16).Value.ToString() + ",";
  163. data += XLWorksheet.Row(17).Cell(15).Value.ToString() + ",";
  164. data += XLWorksheet.Row(18).Cell(15).Value.ToString();
  165. return data;
  166. }
  167. /// <summary>
  168. /// 获取尖轨位移
  169. /// </summary>
  170. private static string readJgwy(IXLWorksheet XLWorksheet)
  171. {
  172. string data = XLWorksheet.Row(16).Cell(19).Value.ToString() + ",";
  173. data += XLWorksheet.Row(17).Cell(19).Value.ToString();
  174. return data;
  175. }
  176. /// <summary>
  177. /// 获取观测桩缺损
  178. /// </summary>
  179. private static string readGxzqs(IXLWorksheet XLWorksheet)
  180. {
  181. string data = XLWorksheet.Row(18).Cell(19).Value.ToString();
  182. return data;
  183. }
  184. /// <summary>
  185. /// 获取两尖轨相错量
  186. /// </summary>
  187. private static string readLjgxcl(IXLWorksheet XLWorksheet)
  188. {
  189. string data = XLWorksheet.Row(16).Cell(21).Value.ToString();
  190. return data;
  191. }
  192. /// <summary>
  193. /// 获取标尺缺损
  194. /// </summary>
  195. private static string readBcqs(IXLWorksheet XLWorksheet)
  196. {
  197. string data = XLWorksheet.Row(18).Cell(21).Value.ToString();
  198. return data;
  199. }
  200. /// <summary>
  201. /// 获取尖轨轨腰与顶铁间隙的岔号
  202. /// </summary>
  203. private static string readJggyydtjxch(IXLWorksheet XLWorksheet)
  204. {
  205. string data = String.Empty;
  206. int[] rows = new int[] { 19, 21 };
  207. for (int i = 0; i < rows.Length; i++)
  208. {
  209. for (int j = 0; j < celllength - 1; j = j + 2)
  210. {
  211. data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//岔号左
  212. data += XLWorksheet.Row(rows[i]).Cell(j + 5).Value.ToString() + ",";//岔号右
  213. data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直
  214. data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲
  215. }
  216. }
  217. return data;
  218. }
  219. /// <summary>
  220. /// 获取尖轨轨腰与顶铁间隙的枕号
  221. /// </summary>
  222. private static string readJggyydtjxzh(IXLWorksheet XLWorksheet)
  223. {
  224. string data = String.Empty;
  225. int rows = 23;
  226. for (int j = 0; j < celllength - 1; j = j + 2)
  227. {
  228. data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
  229. data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右
  230. data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直
  231. data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲
  232. }
  233. return data;
  234. }
  235. /// <summary>
  236. /// 获取尖轨轨底上表面与防跳顶铁间隙
  237. /// </summary>
  238. private static string readJggdsbmyftdtjx(IXLWorksheet XLWorksheet)
  239. {
  240. string data = String.Empty;
  241. int rows = 25;
  242. for (int j = 0; j < celllength - 1; j = j + 2)
  243. {
  244. data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
  245. data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右
  246. data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直
  247. data += XLWorksheet.Row(rows + 2).Cell(j + 4).Value.ToString() + ";";//曲
  248. }
  249. return data;
  250. }
  251. /// <summary>
  252. /// 获取尖轨与密贴基本轨间隙
  253. /// </summary>
  254. private static string readJgymtjbgjx(IXLWorksheet XLWorksheet)
  255. {
  256. string data = String.Empty;
  257. int rows = 28;
  258. for (int j = 0; j < celllength - 2; j = j + 3)
  259. {
  260. data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
  261. data += XLWorksheet.Row(rows).Cell(j + 6).Value.ToString() + ",";//枕号右
  262. data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直
  263. data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ";";//曲
  264. }
  265. return data;
  266. }
  267. /// <summary>
  268. /// 获取心轨轨底与滑床台间隙
  269. /// </summary>
  270. private static string readXggdyhctjx(IXLWorksheet XLWorksheet)
  271. {
  272. string data = String.Empty;
  273. int[] rows = new int[] { 31, 33 };
  274. for (int i = 0; i < rows.Length; i++)
  275. {
  276. for (int j = 0; j < celllength; j++)
  277. {
  278. data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//枕号
  279. data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString() + ";";//间隙值
  280. }
  281. }
  282. return data;
  283. }
  284. /// <summary>
  285. /// 获取心轨轨腰与顶铁间隙
  286. /// </summary>
  287. private static string readXggyydtjx(IXLWorksheet XLWorksheet)
  288. {
  289. string data = String.Empty;
  290. int[] rows = new int[] { 35, 37 };
  291. for (int i = 0; i < rows.Length; i++)
  292. {
  293. for (int j = 0; j < celllength - 1; j = j + 2)
  294. {
  295. data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//岔号左
  296. data += XLWorksheet.Row(rows[i]).Cell(j + 5).Value.ToString() + ",";//岔号右
  297. data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直
  298. data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲
  299. }
  300. }
  301. return data;
  302. }
  303. /// <summary>
  304. /// 获取心轨轨底上表面与防跳顶铁间隙
  305. /// </summary>
  306. private static string readXggtsbmyftdtjx(IXLWorksheet XLWorksheet)
  307. {
  308. string data = String.Empty;
  309. int rows = 39;
  310. for (int j = 0; j < celllength - 1; j = j + 2)
  311. {
  312. data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左
  313. data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右
  314. data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直
  315. data += XLWorksheet.Row(rows + 2).Cell(j + 4).Value.ToString() + ";";//曲
  316. }
  317. return data;
  318. }
  319. /// <summary>
  320. /// 获取心轨与防跳间隔铁间隙
  321. /// </summary>
  322. private static string readXgyftjgtjx(IXLWorksheet XLWorksheet)
  323. {
  324. return XLWorksheet.Row(39).Cell(celllength + 3).Value.ToString();
  325. }
  326. /// <summary>
  327. /// 获取心轨与翼轨间隙
  328. /// </summary>
  329. private static string readXgyygjx(IXLWorksheet XLWorksheet)
  330. {
  331. string data = String.Empty;
  332. int[] cell = new int[] { 4, 7, 10 };
  333. for (int i = 0; i < cell.Length; i++)
  334. {
  335. data += XLWorksheet.Row(42).Cell(cell[i]).Value.ToString() + ",";//枕号左
  336. data += XLWorksheet.Row(42).Cell(cell[i] + 2).Value.ToString() + ",";//枕号右
  337. data += XLWorksheet.Row(43).Cell(cell[i]).Value.ToString() + ",";//直
  338. data += XLWorksheet.Row(44).Cell(cell[i]).Value.ToString() + ";";//曲
  339. }
  340. return data;
  341. }
  342. /// <summary>
  343. /// 获取短心轨与岔跟尖轨尖端间隙
  344. /// </summary>
  345. private static string readDxgycgjgjdjx(IXLWorksheet XLWorksheet)
  346. {
  347. string data = String.Empty;
  348. int[] cell = new int[] { 16, 19 };
  349. for (int i = 0; i < cell.Length; i++)
  350. {
  351. data += XLWorksheet.Row(42).Cell(cell[i]).Value.ToString() + ",";//枕号左
  352. data += XLWorksheet.Row(42).Cell(cell[i] + 2).Value.ToString() + ",";//枕号右
  353. data += XLWorksheet.Row(43).Cell(cell[i]).Value.ToString() + ";";//间隙值
  354. }
  355. return data;
  356. }
  357. /// <summary>
  358. /// 获取斥离尖轨轨底上表面与防跳限位装置间隙
  359. /// </summary>
  360. private static string readCljggdsbmyftxwzzjx(IXLWorksheet XLWorksheet)
  361. {
  362. string data = String.Empty;
  363. for (int i = 4; i <= 9; i++)
  364. {
  365. data += XLWorksheet.Row(16).Cell(i).Value.ToString() + ",";//枕号左
  366. data += XLWorksheet.Row(17).Cell(i).Value.ToString() + ",";//直
  367. data += XLWorksheet.Row(18).Cell(i).Value.ToString() + ";";//曲
  368. }
  369. return data;
  370. }
  371. #endregion
  372. }
  373. }