CTaskExceptionHandling.cs 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. using CasunCommon.BaseUI;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using Pms.Common.SystemEnum;
  12. using Pms.Common.Utility;
  13. namespace PMSUI
  14. {
  15. public partial class CTaskExceptionHandling : CasunForm
  16. {
  17. public CTaskExceptionHandling()
  18. {
  19. InitializeComponent();
  20. }
  21. private void Init()
  22. {
  23. DGVTask.Columns.Clear();
  24. DGVTask.DataSource = null;
  25. LoadTable();
  26. }
  27. private int selectRowIndexOfordersDataGridView; // 记录选中的行号
  28. private int selectColumnIndexOfordersDataGridView; // 记录选中的列号
  29. private int scrollingRowIndexOfordersDataGridView; // 记录垂直滚动条位置
  30. private int scrollingColumnIndexOfordersDataGridView; // 记录水平滚动条的位置
  31. private void LoadTable(string OrderID = "")
  32. {
  33. if (DGVTask.CurrentCell != null && DGVTask.RowCount != 0 && DGVTask.ColumnCount != 0)
  34. {
  35. selectRowIndexOfordersDataGridView = DGVTask.CurrentCell.RowIndex;
  36. selectColumnIndexOfordersDataGridView = DGVTask.CurrentCell.ColumnIndex;
  37. scrollingRowIndexOfordersDataGridView = DGVTask.FirstDisplayedScrollingRowIndex;
  38. scrollingColumnIndexOfordersDataGridView = DGVTask.FirstDisplayedScrollingColumnIndex;
  39. }
  40. DataTable dt;
  41. //DataSet ds = CasunModelDB.CDBManager.Instance.PMS_bas_StationIDRelated.GetAllList();
  42. if (OrderID == "")
  43. {
  44. dt = CFormColumnManager.GetDGVDataSource(this.Name, "PMS_mid_OrderData", " order by CalledTime desc ");
  45. }
  46. else
  47. {
  48. dt = CFormColumnManager.GetDGVDataSource(this.Name, "PMS_mid_OrderData", " order by CalledTime desc ", "OrderID = '" + OrderID + "'");
  49. }
  50. //if(DBNameToShowNameDic.ContainsKey("OrderState"))
  51. //{
  52. // foreach(DataRow dw in dt.Rows)
  53. // {
  54. // string str = dw[DBNameToShowNameDic["OrderState"]].ToString();
  55. // //dw[DBNameToShowNameDic["OrderState"]] = ((EOrderState)dw[DBNameToShowNameDic["OrderState"]]).ToString() ;
  56. // }
  57. //}
  58. DGVTask.DataSource = dt;
  59. int n = DGVTask.RowCount;
  60. int m = DGVTask.ColumnCount;
  61. if (n != 0 && m != 0)
  62. {
  63. if (selectRowIndexOfordersDataGridView < n && selectColumnIndexOfordersDataGridView < m &&
  64. scrollingRowIndexOfordersDataGridView < n && scrollingColumnIndexOfordersDataGridView < m)
  65. {
  66. DGVTask.CurrentCell = DGVTask.Rows[selectRowIndexOfordersDataGridView].Cells[selectColumnIndexOfordersDataGridView];
  67. DGVTask.FirstDisplayedScrollingRowIndex = scrollingRowIndexOfordersDataGridView;
  68. DGVTask.FirstDisplayedScrollingColumnIndex = scrollingColumnIndexOfordersDataGridView;
  69. }
  70. }
  71. }
  72. private void CTaskExceptionHandling_Load(object sender, EventArgs e)
  73. {
  74. if (!InitDBNameToShowNameDic())
  75. {
  76. this.Close();
  77. return;
  78. }
  79. CasunUILib.ButtonHelps(btHelps);
  80. gp_Opt.Location = new Point(btHelps.Location.X, gp_Opt.Location.Y);
  81. gp_Read.Location = new Point(btHelps.Location.X, gp_Read.Location.Y);
  82. CasunUILib.GroupBoxReadModel(gp_Read, PermissionLevel);
  83. CasunUILib.GroupBoxReadWriteModel(gp_Opt, PermissionLevel);
  84. Init();
  85. CasunUILib.splitContainerModel(splitContainer1);
  86. CasunUILib.DgvModel(DGVTask);
  87. }
  88. /// <summary>
  89. /// 用于事件重复使用
  90. /// </summary>
  91. private Dictionary<string, string> DBNameToShowNameDic = new Dictionary<string, string>();
  92. private bool InitDBNameToShowNameDic()
  93. {
  94. if (!CFormColumnManager.GetDBNameToShowNameDic(this.Name, out DBNameToShowNameDic))
  95. {
  96. MessageBox.Show(CLanguageManager.LanguageChange("加载界面配置失败,请重启尝试恢复。"));
  97. return false;
  98. }
  99. return true;
  100. }
  101. private void btQuery_Click(object sender, EventArgs e)
  102. {
  103. LoadTable(tbOrderID.Text.Trim());
  104. }
  105. private void btRefresh_Click(object sender, EventArgs e)
  106. {
  107. LoadTable();
  108. }
  109. private void btforceDelete_Click(object sender, EventArgs e)
  110. {
  111. if (DGVTask.CurrentRow == null)
  112. {
  113. return;
  114. }
  115. int DGVCurrentRow = DGVTask.CurrentRow.Index;
  116. if (DGVCurrentRow < 0 || (DBNameToShowNameDic.ContainsKey("OrderID") && DGVTask.Rows[DGVCurrentRow].Cells[DBNameToShowNameDic["OrderID"]].Value == null))
  117. {
  118. MessageBox.Show(CLanguageManager.LanguageChange("请选择需要处理的信息") + "!");
  119. return;
  120. }
  121. string strOrderID = DGVTask.Rows[DGVCurrentRow].Cells[DBNameToShowNameDic["OrderID"]].Value.ToString();
  122. //////没有taskstatus
  123. if (DGVTask.Rows[DGVCurrentRow].Cells[DBNameToShowNameDic["OrderState"]].Value.ToString() != ((int)EOrderState.Exception).ToString())
  124. {
  125. string strMesg = string.Format("{0}{1},{2}!"
  126. , CLanguageManager.LanguageChange("强制删除")
  127. , CLanguageManager.LanguageChange("只处理异常状态任务")
  128. , CLanguageManager.LanguageChange("请谨慎操作")
  129. );
  130. MessageBox.Show(strMesg);
  131. return;
  132. }
  133. string strMsg = CLanguageManager.LanguageChange("强制删除") + ":OrderID=" + strOrderID
  134. + CLanguageManager.LanguageChange("的任务信息") + "!";
  135. if (MessageBox.Show(strMsg, CLanguageManager.LanguageChange("强制删除"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
  136. {
  137. PmsCoreDB.DBHost.Instance.TransformOrderDataToHis(strOrderID);
  138. string strOptLog = string.Format("【{0}】:OrderID={1}"
  139. , CLanguageManager.LanguageChange("强制删除")
  140. , strOrderID);
  141. COperateLog.Instance.InsertOperaterLogAsync(UserID, strOptLog, DateTime.Now);
  142. DGVTask.Rows.RemoveAt(DGVCurrentRow);
  143. }
  144. }
  145. private void btHelps_Click(object sender, EventArgs e)
  146. {
  147. MessageBox.Show(PMSUI.Config.CConfigManager.gs_FormHelpConfig.GetFormHelp(this.Name));
  148. }
  149. private void btForceComplete_Click(object sender, EventArgs e)
  150. {
  151. if (DGVTask.CurrentRow == null)
  152. {
  153. return;
  154. }
  155. int DGVCurrentRow = DGVTask.CurrentRow.Index;
  156. if (DGVCurrentRow < 0 || (DBNameToShowNameDic.ContainsKey("OrderID") && DGVTask.Rows[DGVCurrentRow].Cells[DBNameToShowNameDic["OrderID"]].Value == null))
  157. {
  158. MessageBox.Show(CLanguageManager.LanguageChange($"{"请选择需要处理的信息"}!"));
  159. return;
  160. }
  161. string strOrderID = DGVTask.Rows[DGVCurrentRow].Cells[DBNameToShowNameDic["OrderID"]].Value.ToString();
  162. //////没有taskstatus
  163. if (DGVTask.Rows[DGVCurrentRow].Cells[DBNameToShowNameDic["OrderState"]].Value.ToString() != ((int)EOrderState.Append).ToString())
  164. {
  165. string strMesg = string.Format($"{CLanguageManager.LanguageChange("强制完成")}{CLanguageManager.LanguageChange("只处理未派车任务")},{CLanguageManager.LanguageChange("请谨慎操作")}!");
  166. MessageBox.Show(strMesg);
  167. return;
  168. }
  169. string strMsg = CLanguageManager.LanguageChange($"强制完成{strOrderID}{CLanguageManager.LanguageChange("的任务信息")}!");
  170. if (MessageBox.Show(strMsg, CLanguageManager.LanguageChange("强制完成"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
  171. {
  172. PmsCoreDB.DBHost.Instance.TransformOrderDataToHis(strOrderID);
  173. string strOptLog = string.Format($"【{CLanguageManager.LanguageChange("强制完成")}】:OrderID={strOrderID}");
  174. COperateLog.Instance.InsertOperaterLogAsync(UserID, strOptLog, DateTime.Now);
  175. DGVTask.Rows.RemoveAt(DGVCurrentRow);
  176. }
  177. }
  178. }
  179. }