FrmHttControlLogUpdate.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Drawing;
  5. using System.Linq;
  6. using System.Windows.Forms;
  7. using Core.Mes.Client.Comm.Control;
  8. using Core.Mes.Client.Comm.Format;
  9. using Core.Mes.Client.Comm.Server;
  10. using Core.Mes.Client.Comm.Tool;
  11. using Core.StlMes.Client.Mcp.Control.Base;
  12. using Core.StlMes.Client.Mcp.Control.Common;
  13. using Core.StlMes.Client.Mcp.Control.Entity;
  14. using CoreFS.CA06;
  15. using Infragistics.Win;
  16. using Infragistics.Win.UltraWinEditors;
  17. using Infragistics.Win.UltraWinGrid;
  18. using System.Collections;
  19. namespace Core.StlMes.Client.Mcp.Treatment.Report
  20. {
  21. public partial class FrmHttControlLogUpdate : FrmBase
  22. {
  23. private string date = "";
  24. private string endDate = "";
  25. private string departm = "";
  26. private int flag = 0; //分析时间错误
  27. private int flag1 = 0; //分析相差时间
  28. private string station = ""; //工序点
  29. private string ProcessCode = "";
  30. private HttControlShiftEntity httControlShiftEntity;
  31. private string plineCode;
  32. private UltraComboEditor ucePline = new UltraComboEditor(); //产线名称
  33. public FrmHttControlLogUpdate()
  34. {
  35. InitializeComponent();
  36. }
  37. private void FrmHttControlLogUpdate_Load(object sender, EventArgs e)
  38. {
  39. departm = UserInfo.GetDepartment();
  40. //plineCode = YdmBaseClass.GetPCode(departm, this.ob);//获取 用户 对应的产线
  41. if (UserInfo.GetUserOrder().Equals("3"))
  42. {
  43. cmbDate.Value = DateTime.Parse(DateTime.Now.AddDays(0.5d).ToString("yyyy-MM-dd"));
  44. cmbDate2.Value = DateTime.Parse(DateTime.Now.AddDays(0.5d).ToString("yyyy-MM-dd"));
  45. }
  46. else
  47. {
  48. cmbDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
  49. cmbDate2.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
  50. }
  51. EntityHelper.ShowGridCaption<HttControlLogEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  52. }
  53. protected override void OnLoad(EventArgs e)
  54. {
  55. base.OnLoad(e);
  56. ultraGrid1.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.Select;
  57. ProcessCode = this.CustomInfo.ToString2();
  58. if (ProcessCode == "") ProcessCode = "F";
  59. var plineCodes = comm.InitDropPlinePower(ProcessCode, comPlineCode, ValidDataPurviewIds, ob);
  60. if (plineCodes.Length > 0) comPlineCode.SelectedIndex = 0;
  61. var dt2 = ServerHelper.GetData("com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo",
  62. new object[] { "600701" }, ob);
  63. if (dt2.Rows.Count > 0)
  64. {
  65. }
  66. var list = new ValueList();
  67. var list2 = new ValueList();
  68. string FailCode = "";
  69. if (ProcessCode == "F")
  70. {
  71. FailCode = "6006";
  72. ultraSTATION2.Visible = false;
  73. }
  74. else
  75. {
  76. FailCode = "7025";
  77. ultraSTATION1.Visible = false;
  78. }
  79. var list1 = new ValueList();
  80. var list3 = new ValueList();
  81. var dt = TubeRoll.GetComBaseInfo(FailCode, ob);
  82. foreach (DataRow row in dt.Rows)
  83. {
  84. list1.ValueListItems.Add(row["BASECODE"].ToString(), row["BASENAME"].ToString());
  85. list3.ValueListItems.Add(row["BASECODE"].ToString(), row["BASENAME"].ToString());
  86. }
  87. ultraGrid1.DisplayLayout.Bands[0].Columns["StopType"].ValueList = list1;
  88. }
  89. /// <summary>
  90. /// 重写基类方法
  91. /// </summary>
  92. /// <param name="sender"></param>
  93. /// <param name="ToolbarKey"></param>
  94. public override void ToolBar_Click(object sender, string ToolbarKey)
  95. {
  96. switch (ToolbarKey)
  97. {
  98. case "Query":
  99. doQuery();
  100. break;
  101. case "Update":
  102. doUpdate();
  103. break;
  104. case "Export":
  105. if (ProcessCode == "F")
  106. {
  107. GridHelper.ulGridToExcel(ultraGrid1, "热处理调度停机日志");
  108. }
  109. if (ProcessCode == "G")
  110. {
  111. GridHelper.ulGridToExcel(ultraGrid1, "加工线调度停机日志");
  112. }
  113. break;
  114. case "Close":
  115. Close();
  116. break;
  117. }
  118. }
  119. /// <summary>
  120. /// 查询
  121. /// </summary>
  122. private void doQuery()
  123. {
  124. if (ProcessCode == "F")
  125. {
  126. station = ultraSTATION1.Value.ToString();
  127. }
  128. if (ProcessCode == "G")
  129. {
  130. station = ultraSTATION2.Value.ToString();
  131. }
  132. date = cmbDate.Value.ToString("yyyyMMdd");
  133. endDate = cmbDate2.Value.ToString("yyyyMMdd");
  134. List<HttControlLogEntity> listSource = EntityHelper.GetData<HttControlLogEntity>
  135. ("com.steering.mes.mcp.Report.FrmHttControlLog.doQueryStop", new object[] { date, endDate, plineCode, station }, this.ob);
  136. httControlLogEntityBindingSource.DataSource = listSource;
  137. GridHelper.RefreshAndAutoSize(ultraGrid1);
  138. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin;
  139. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].MaskInput = "yyyy-mm-dd hh:mm";
  140. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin;
  141. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].MaskInput = "yyyy-mm-dd hh:mm";
  142. }
  143. /// <summary>
  144. /// 修改
  145. /// </summary>
  146. private void doUpdate()
  147. {
  148. ultraGrid1.UpdateData();
  149. try
  150. {
  151. var list =
  152. httControlLogEntityBindingSource.DataSource as List<HttControlLogEntity>;
  153. if (list == null)
  154. {
  155. MessageUtil.ShowTips("请选择要修改的数据!");
  156. return;
  157. }
  158. list = list.Where(p => p.Chk).Select(p => p.Clone()).ToList();
  159. if (!list.Any())
  160. {
  161. MessageUtil.ShowTips("请选择要修改的数据!");
  162. return;
  163. }
  164. if (list.Any(p => p.StopReason.ToString() == ""))
  165. {
  166. MessageUtil.ShowTips("请选择停机原因!");
  167. return;
  168. }
  169. //if (list.Any(p => p.ConfirmFlag != "未确认"))
  170. //{
  171. // MessageUtil.ShowTips("请选择未确认的数据!");
  172. // return;
  173. //}
  174. for (var i = 0; i < list.Count; i++)
  175. {
  176. DateTime dtStart, dtEnd;
  177. if (DateTime.TryParse(list[i].LogsBeg, out dtStart))
  178. list[i].LogsBeg = dtStart.ToString("yyyyMMddHHmm");
  179. if (DateTime.TryParse(list[i].LogsEnd, out dtEnd))
  180. list[i].LogsEnd = dtEnd.ToString("yyyyMMddHHmm");
  181. }
  182. var ccp = new CoreClientParam();
  183. ccp.ServerName = "com.steering.mes.mcp.Report.FrmHttControlLog";
  184. ccp.MethodName = "updateMilControlLogStop";
  185. ccp.ServerParams = new object[]
  186. {
  187. list.Select(JSONFormat.Format).ToList()
  188. };
  189. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  190. if (ccp.ReturnCode != -1)
  191. {
  192. MessageUtil.ShowTips(ccp.ReturnInfo);
  193. if (ccp.ReturnInfo.Equals("修改成功!"))
  194. doQuery();
  195. }
  196. }
  197. catch (Exception ex)
  198. {
  199. MessageUtil.ShowTips(ex.Message);
  200. }
  201. }
  202. private void chkDate_CheckedChanged(object sender, EventArgs e)
  203. {
  204. if (chkDate.Checked) cmbDate.Enabled = true;
  205. else cmbDate.Enabled = false;
  206. }
  207. private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e)
  208. {
  209. e.RaiseErrorEvent = false;
  210. MessageUtil.ShowTips("您输入的时间格式不正确!");
  211. }
  212. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  213. {
  214. var entity = e.Row.ListObject as HttControlLogEntity;
  215. if (entity == null) return;
  216. var list1 = new ValueList();
  217. var dt = TubeRoll.GetComBaseInfo(entity.StopType, ob);
  218. foreach (DataRow row in dt.Rows)
  219. list1.ValueListItems.Add(row["BASECODE"].ToString(), row["BASENAME"].ToString());
  220. e.Row.Cells["StopSmall"].ValueList = list1;
  221. var list2 = new ValueList();
  222. var dt2 = TubeRoll.GetComBaseInfo(entity.StopSmall, ob);
  223. foreach (DataRow row in dt2.Rows)
  224. list2.ValueListItems.Add(row["BASECODE"].ToString(), row["BASENAME"].ToString());
  225. e.Row.Cells["StopReason"].ValueList = list2;
  226. }
  227. private void ultraGrid1_CellChange_1(object sender, CellEventArgs e)
  228. {
  229. try
  230. {
  231. if (ultraGrid1.ActiveRow != null)
  232. ultraGrid1.ActiveRow.Cells["Chk"].Value = true;
  233. if (((e.Cell.Column.Key == "LogsEnd") || (e.Cell.Column.Key == "LogsBeg")) && e.Cell.Text.Contains("_"))
  234. {
  235. return;
  236. }
  237. if ((e.Cell.Column.Key == "Memo")) return;
  238. ultraGrid1.UpdateData();
  239. if (e.Cell.Column.Key == "StopType")
  240. {
  241. var list1 = new ValueList();
  242. var dt = TubeRoll.GetComBaseInfo(e.Cell.Value.ToString(), ob);
  243. foreach (DataRow row in dt.Rows)
  244. list1.ValueListItems.Add(row["BASECODE"].ToString(), row["BASENAME"].ToString());
  245. e.Cell.Row.Cells["StopSmall"].ValueList = list1;
  246. e.Cell.Row.Cells["StopSmall"].Value = "";
  247. e.Cell.Row.Cells["StopReason"].Value = "";
  248. }
  249. if (e.Cell.Column.Key == "StopSmall")
  250. {
  251. var list2 = new ValueList();
  252. var dt2 = TubeRoll.GetComBaseInfo(e.Cell.Value.ToString(), ob);
  253. foreach (DataRow row in dt2.Rows)
  254. list2.ValueListItems.Add(row["BASECODE"].ToString(), row["BASENAME"].ToString());
  255. e.Cell.Row.Cells["StopReason"].ValueList = list2;
  256. e.Cell.Row.Cells["StopReason"].Value = "";
  257. }
  258. }
  259. catch (Exception)
  260. {
  261. }
  262. }
  263. private double DateDiff(DateTime DateTime1, DateTime DateTime2)
  264. {
  265. double dateDiff = 0;
  266. try
  267. {
  268. var ts1 = new TimeSpan(DateTime1.Ticks);
  269. var ts2 = new TimeSpan(DateTime2.Ticks);
  270. var ts = ts1.Subtract(ts2);
  271. dateDiff = ts.TotalMinutes;
  272. }
  273. catch
  274. {
  275. }
  276. return dateDiff;
  277. }
  278. private void comPlineCode_ValueChanged(object sender, EventArgs e)
  279. {
  280. plineCode = comPlineCode.SelectedItem.DataValue.ToString();
  281. doQuery();
  282. }
  283. private void ultraGrid3_AfterRowInsert(object sender, RowEventArgs e)
  284. {
  285. e.Row.Cells["Chk"].Value = true;
  286. e.Row.Cells["ControlId"].Value = ultraGrid1.ActiveRow.Cells["ControlId"].Value;
  287. }
  288. private void ultraGrid3_InitializeRow(object sender, InitializeRowEventArgs e)
  289. {
  290. var entity = e.Row.ListObject as HttControlLogDetailEntity;
  291. if (entity == null) return;
  292. }
  293. private void cmsCopy_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  294. {
  295. UltraGrid ug = (sender as ContextMenuStrip).SourceControl as UltraGrid;
  296. if (ug == null || ug.ActiveCell == null)
  297. {
  298. return;
  299. }
  300. if (e.ClickedItem.Name == "tsmCopy")
  301. {
  302. Clipboard.SetText(ug.ActiveCell.Text);
  303. }
  304. else
  305. {
  306. if (ug.ActiveCell.Activation == Activation.AllowEdit && ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Cells["ConfirmFlag"].Value.ToString() == "未确认")
  307. {
  308. string text = Clipboard.GetText();
  309. try
  310. {
  311. ug.ActiveCell.Value = text;
  312. }
  313. catch (Exception)
  314. {
  315. }
  316. }
  317. }
  318. }
  319. }
  320. }