LookDataFromZZJH.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Linq;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using DevExpress.XtraEditors;
  11. using DevExpress.XtraGrid.Views.Grid;
  12. using Uninpho.Tools.components.MTLFF;
  13. using Uninpho.DBOperation.Operation;
  14. namespace Uninpho.Tools.components.ZZJH
  15. {
  16. public partial class LookDataFromZZJH : DevExpress.XtraEditors.XtraForm
  17. {
  18. string url;
  19. string uuid;
  20. int row;
  21. GridView gv;
  22. string nowtime = String.Empty;//记录修改时间
  23. List<StaticLogClass> newlogs = new List<StaticLogClass>();
  24. public LookDataFromZZJH(string url, GridView gv,int row)
  25. {
  26. InitializeComponent();
  27. this.url = url;
  28. this.uuid = gv.GetRowCellValue(row, "Id").ToString();
  29. this.row = row;
  30. this.gv = gv;
  31. sheetControl01.LoadDocument(url);
  32. sheetControl01.ReadOnly = true;
  33. }
  34. private void simpleButton1_Click(object sender, EventArgs e)
  35. {
  36. SaveFileDialog sfd = new SaveFileDialog();
  37. sfd.Filter = "xlsx files(*.xlsx)|*.xlsx|All files(*.*)|*.*";
  38. sfd.FileName = "道岔几何尺寸检查记录表";//道岔全面检查记录表
  39. if (sfd.ShowDialog() == DialogResult.OK)
  40. {
  41. sheetControl01.SaveDocument(sfd.FileName);
  42. XtraMessageBox.Show("导出完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  43. //this.Close();
  44. }
  45. }
  46. /// <summary>
  47. /// 开始编辑
  48. /// </summary>
  49. private void EditBtn_Click(object sender, EventArgs e)
  50. {
  51. if (UserInform.userinf.Pow == 0)
  52. {
  53. XtraMessageBox.Show("您没有权限执行删除操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  54. }
  55. else
  56. {
  57. if (sheetControl01.ReadOnly)
  58. {
  59. GengxinrenForm GX = new GengxinrenForm();
  60. if (GX.ShowDialog() == DialogResult.OK)
  61. {
  62. sheetControl01.ReadOnly = false;
  63. nowtime = DateTime.Now.ToString();
  64. EditBtn.Text = "结束编辑";
  65. XtraMessageBox.Show("用户:" + UserInform.userinf.Username + " 已启用编辑!再次点击结束编辑。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  66. }
  67. }
  68. else
  69. {
  70. sheetControl01.ReadOnly = true;
  71. EditBtn.Text = "编辑";
  72. XtraMessageBox.Show("用户:" + UserInform.userinf.Username + " 已结束编辑!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  73. }
  74. }
  75. }
  76. /// <summary>
  77. /// 保存
  78. /// </summary>
  79. private void reKeepBtn_Click(object sender, EventArgs e)
  80. {
  81. if (sheetControl01.ReadOnly)
  82. {
  83. XtraMessageBox.Show("请先启用编辑模式!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  84. }
  85. else
  86. {
  87. sheetControl01.SaveDocument(url);
  88. string btyearr = ExcelTools.GetFileData(url);
  89. string datee = DateTime.Now.ToString();
  90. DBOperation.Model.T_zhuzhenjihe_filelist tm = ZZJHCommon.updataListMessage(gv, url, row);
  91. gv.SetRowCellValue(row, "Excelbytearr", btyearr);
  92. gv.SetRowCellValue(row, "Gengxinren", UserInform.userinf.Username);
  93. gv.SetRowCellValue(row, "Gengxinriqi", datee);
  94. tm.Id = uuid;
  95. tm.Excelbytearr = btyearr;
  96. tm.Gengxinren = UserInform.userinf.Username;
  97. tm.Gengxinriqi = datee;
  98. DataAnalysisToPG.UpdataToPGZZJH(tm);
  99. LogGeneratorFun.WriteLogJT(newlogs, Application.StartupPath + "//log//zz_" + uuid + ".log");
  100. newlogs.Clear();
  101. sheetControl01.ReadOnly = true;
  102. EditBtn.Text = "编辑";
  103. XtraMessageBox.Show("保存完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  104. }
  105. }
  106. private async void sheetControl01_CellValueChanged(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellEventArgs e)
  107. {
  108. await Task.Run(() =>
  109. {
  110. List<StaticLogClass> isExitLog = newlogs.FindAll(delegate (StaticLogClass log)
  111. {
  112. return int.Parse(log.Row) == e.RowIndex && int.Parse(log.Column) == e.ColumnIndex;
  113. });
  114. if (isExitLog.Count > 0)
  115. {
  116. var changedd = newlogs.Where(c => int.Parse(c.Column) == e.ColumnIndex && int.Parse(c.Row) == e.RowIndex).First();
  117. changedd.Newvalue = e.Value.ToString();
  118. }
  119. else
  120. {
  121. StaticLogClass sc = new StaticLogClass();
  122. sc.Column = e.ColumnIndex.ToString();
  123. sc.Row = e.RowIndex.ToString();
  124. sc.Username = UserInform.userinf.Username;
  125. sc.Newvalue = e.Value.ToString();
  126. sc.Oldvalue = e.OldValue.ToString();
  127. sc.Date = nowtime;
  128. newlogs.Add(sc);
  129. }
  130. });
  131. }
  132. private void XGJLBtn_Click(object sender, EventArgs e)
  133. {
  134. LoggingForm frm = new LoggingForm(Application.StartupPath + "//log//zz_" + uuid + ".log");
  135. frm.StartPosition = FormStartPosition.CenterParent;
  136. frm.Show(this);
  137. }
  138. }
  139. }