FrmMilControlLogUpdate.cs 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452
  1. using com.steering.mes.zgmil.entity;
  2. using Core.Mes.Client.Comm.Control;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.ZGMil.Entity;
  6. using CoreFS.CA06;
  7. using Infragistics.Win;
  8. using Infragistics.Win.UltraWinEditors;
  9. using Infragistics.Win.UltraWinGrid;
  10. using System;
  11. using System.Collections;
  12. using System.Collections.Generic;
  13. using System.ComponentModel;
  14. using System.Data;
  15. using System.Drawing;
  16. using System.Globalization;
  17. using System.Linq;
  18. using System.Text;
  19. using System.Windows.Forms;
  20. namespace Core.StlMes.Client.ZGMil.Signature
  21. {
  22. public partial class FrmMilControlLogUpdate : FrmBase
  23. {
  24. private string departm = "";
  25. UltraComboEditor ucePline = new UltraComboEditor();//产线名称
  26. private string plineCode;
  27. private string userId = "";
  28. //int stratday;//开始时间日期差,天,时,分
  29. //int strathours;
  30. //int stratminutes;
  31. //int endday;//结束时间日期差,天,时,分
  32. //int endhours;
  33. //int endminutes;toolba
  34. int flag = 0;//分析时间错误
  35. int flag1 = 0;//分析相差时间
  36. private string basecodeSamll = "";//停机小类值
  37. private string basecodeReason = "";//停机原因值
  38. public FrmMilControlLogUpdate()
  39. {
  40. InitializeComponent();
  41. this.IsLoadUserView = true;
  42. }
  43. private void FrmMilControlLogUpdate_Load(object sender, EventArgs e)
  44. {
  45. EntityHelper.ShowGridCaption<MilControlLogEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  46. NativeMethodNew na = new NativeMethodNew(this.ob);
  47. departm = UserInfo.GetDepartment();
  48. userId = UserInfo.GetUserID();
  49. plineCode = na.GetPCode(departm);//获取 用户 对应的产线
  50. //cmbPline.DataSource = ServerHelper.GetData("com.steering.mes.signature.FrmTubeRollFileManage.queryPlineCode", new object[] { plineCode }, this.ob);
  51. //cmbPline.ValueMember = "PLINE_CODE";
  52. //cmbPline.DisplayMember = "PLINE_NAME";
  53. //TubeRoll.SetComboItemHeight(cmbPline);
  54. //cmbPlineE.DataSource = ServerHelper.GetData("com.steering.mes.signature.FrmTubeRollFileManage.queryPlineCode", new object[] { plineCode }, this.ob);
  55. //cmbPlineE.ValueMember = "PLINE_CODE";
  56. //cmbPlineE.DisplayMember = "PLINE_NAME";
  57. //TubeRoll.SetComboItemHeight(cmbPlineE);
  58. //cmbDate.MaxDate = DateTime.Now;
  59. cmbDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
  60. cmbDate2.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
  61. cmbPline.Value = na.GetPCodePline(this.ValidDataPurviewIds);
  62. TubeRoll.setUltraGridColumnInput(ultraGrid1, new string[] { "QualifiedNum", "ScrapNum" });//支数
  63. TubeRoll.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "QualifiedWt", "ScrapWt" });//重量
  64. TubeRoll.SetComboItemHeight(cmbPline);
  65. TubeRoll.SetComboItemHeight(cmbBc);
  66. TubeRoll.SetComboItemHeight(cmbBz);
  67. DataTable dt = TubeRoll.GetComBaseInfo("5006", ob);
  68. cmbStop.DataSource = dt;
  69. cmbStop.ValueMember = "BASECODE";
  70. cmbStop.DisplayMember = "BASENAME";
  71. TubeRoll.SetComboItemHeight(cmbStop);
  72. }
  73. /// <summary>
  74. /// 重写基类方法
  75. /// </summary>
  76. /// <param name="sender"></param>
  77. /// <param name="ToolbarKey"></param>
  78. public override void ToolBar_Click(object sender, string ToolbarKey)
  79. {
  80. switch (ToolbarKey)
  81. {
  82. case "Query":
  83. doQuery();
  84. break;
  85. //case "Add":
  86. // doAdd();
  87. // break;
  88. //case "Update":
  89. // doUpdate("0");
  90. // break;
  91. case "UpdateM":
  92. doUpdate("1");
  93. break;
  94. //case "Delete":
  95. // doDelete();
  96. // break;
  97. case "Analysis":
  98. doQuery();
  99. doAnalysis();
  100. break;
  101. //case "Confirm":
  102. // doConfirm();
  103. // break;
  104. //case "UpConfirm":
  105. // UpConfirm();
  106. // break;
  107. //case "OneKeyProces":
  108. // DoOneKeyProces();
  109. // break;
  110. //case "Statistical":
  111. // DoStatistical();
  112. // break;
  113. //case "OneKeyUpdate":
  114. // DoOneKeyUpdate();
  115. // break;
  116. //case "Production":
  117. // DoProduction();
  118. // break;
  119. case "Export":
  120. GridHelper.ulGridToExcel(ultraGrid1, "轧管调度日志");
  121. break;
  122. case "Close":
  123. this.Close();
  124. break;
  125. }
  126. }
  127. /// <summary>
  128. /// 生产记录
  129. /// </summary>
  130. private void DoProduction()
  131. {
  132. FrmProductionDetails pro = new FrmProductionDetails(cmbDate.Value.ToString("yyyyMMdd"), plineCode, this.ob);
  133. pro.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  134. pro.Text = "生产详细";
  135. pro.ShowDialog();
  136. }
  137. /// <summary>
  138. /// 查询统计数据
  139. /// </summary>
  140. private void DoStatistical()
  141. {
  142. UltraGridRow row = ultraGrid1.ActiveRow;
  143. if (row == null) { MessageUtil.ShowTips("无数据!"); return; }
  144. //foreach (UltraGridRow urg in ultraGrid1.Rows)
  145. //{
  146. // if (row.Cells["ConfirmFlag"].Text.Equals("未确认")) { MessageUtil.ShowTips("未确认,不允许此操作!"); return; }
  147. //}
  148. FrmStatistical fsta = new FrmStatistical(plineCode, ob);
  149. fsta.AutoSize = true;
  150. fsta.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  151. fsta.Text = "统计查询";
  152. fsta.ShowDialog();
  153. }
  154. /// <summary>
  155. /// 查询
  156. /// </summary>
  157. private void doQuery()
  158. {
  159. ArrayList list = new ArrayList();
  160. //当天
  161. string date = "";
  162. //前一天
  163. string endDate = "";
  164. date = cmbDate.Value.ToString("yyyyMMdd");
  165. endDate = cmbDate2.Value.ToString("yyyyMMdd");
  166. //当班数据
  167. List<MilControlLogEntity> listSource = EntityHelper.GetData<MilControlLogEntity>
  168. ("com.steering.mes.signature.FrmMilControlLog.doQueryPlan", new object[] { date, endDate, plineCode}, this.ob);
  169. MilControlLogEntity.DataSource = listSource;
  170. GridHelper.RefreshAndAutoSize(ultraGrid1);
  171. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin;
  172. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsBeg"].MaskInput = "yyyy-mm-dd hh:mm";
  173. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTimeWithSpin;
  174. this.ultraGrid1.DisplayLayout.Bands[0].Columns["LogsEnd"].MaskInput = "yyyy-mm-dd hh:mm";
  175. foreach (UltraGridRow row in ultraGrid1.Rows)
  176. {
  177. if (row.Cells["ProType"].Text.ToString().Trim().Equals("停机"))
  178. {
  179. row.Cells["StopType"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  180. row.Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  181. row.Cells["StopType"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  182. row.Cells["StopReasonm"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  183. row.Cells["StopReasonm"].Appearance.BackHatchStyle = BackHatchStyle.None;
  184. row.Cells["StopReasonm"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  185. row.Cells["StopSmallm"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  186. row.Cells["StopSmallm"].Appearance.BackHatchStyle = BackHatchStyle.None;
  187. row.Cells["StopSmallm"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  188. }
  189. else
  190. {
  191. row.Cells["StopType"].Appearance.BackColor = Color.Transparent;
  192. row.Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  193. row.Cells["StopType"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  194. row.Cells["StopReasonm"].Appearance.BackColor = Color.Transparent;
  195. row.Cells["StopReasonm"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  196. row.Cells["StopReasonm"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  197. row.Cells["StopSmallm"].Appearance.BackColor = Color.Transparent;
  198. row.Cells["StopSmallm"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  199. row.Cells["StopSmallm"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  200. }
  201. }
  202. }
  203. /// <summary>
  204. /// 一键处理新增(分析后五分钟以内的时间间隔)
  205. /// </summary>
  206. //private void DoOneKeyProces()
  207. //{
  208. // ultraGrid1.UpdateData();
  209. // UltraGridRow row = ultraGrid1.ActiveRow;
  210. // if (row == null) { MessageUtil.ShowTips("无数据,不允许此操作!"); return; }
  211. // int minutes = int.Parse(MinTime.Value.ToString());
  212. // if (minutes == 0) { MessageUtil.ShowTips("请输入相差时间!"); }
  213. // ArrayList pram = new ArrayList();
  214. // if (flag == 0) { MessageUtil.ShowTips("未分析,不允许此操作!"); return; }
  215. // if (flag == 1 && flag1 == 0) { MessageUtil.ShowTips("分析通过,不允许此操作!"); return; }
  216. // if (flag == 2) { MessageUtil.ShowTips("分析时间错误,不允许此操作!"); return; }
  217. // int i = 0;
  218. // try
  219. // {
  220. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  221. // {
  222. // //if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认"))
  223. // //{
  224. // // MessageUtil.ShowTips("已确认数据,不允许此操作!");
  225. // // return;
  226. // //}
  227. // if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  228. // {
  229. // i += 1;
  230. // }
  231. // }
  232. // for (int j = 0; j < i; j++)
  233. // {
  234. // string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString();
  235. // string loagBeg = "";
  236. // if (j + 1 < i)
  237. // {
  238. // loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString();
  239. // if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0)
  240. // {
  241. // if (TubeRoll.JudgeTimeMax(Convert.ToDateTime(loagEnd), Convert.ToDateTime(loagBeg)) <= minutes
  242. // && TubeRoll.JudgeTimeMax(Convert.ToDateTime(loagEnd), Convert.ToDateTime(loagBeg)) > 0)
  243. // {
  244. // ArrayList list = new ArrayList();
  245. // list.Add(DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"));
  246. // list.Add(DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  247. // list.Add(this.UserInfo.GetUserName());
  248. // list.Add(this.UserInfo.GetUserOrder());
  249. // list.Add(this.UserInfo.GetUserGroup());
  250. // list.Add(plineCode);
  251. // pram.Add(list);
  252. // }
  253. // }
  254. // }
  255. // }
  256. // if (MessageUtil.ShowYesNoAndQuestion("是否一键新增处理?") == DialogResult.No)
  257. // {
  258. // return;
  259. // }
  260. // CoreClientParam ccp = new CoreClientParam();
  261. // ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  262. // ccp.MethodName = "oneKeyProcesMilControlLog";
  263. // ccp.ServerParams = new object[] { pram };
  264. // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  265. // if (ccp.ReturnCode != -1)
  266. // {
  267. // MessageUtil.ShowTips(ccp.ReturnInfo);
  268. // if (ccp.ReturnInfo.Equals("一键处理成功!"))
  269. // {
  270. // doQuery();
  271. // doAnalysis();
  272. // }
  273. // }
  274. // }
  275. // catch (Exception ex)
  276. // {
  277. // MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  278. // }
  279. //}
  280. /// <summary>
  281. /// 一键修改
  282. /// </summary>
  283. //private void DoOneKeyUpdate()
  284. //{
  285. // ultraGrid1.UpdateData();
  286. // UltraGridRow row = ultraGrid1.ActiveRow;
  287. // if (row == null) { MessageUtil.ShowTips("无数据,不允许此操作!"); return; }
  288. // ArrayList pram = new ArrayList();
  289. // if (flag == 0) { MessageUtil.ShowTips("未分析,不允许此操作!"); return; }
  290. // if (flag == 1 && flag1 == 0) { MessageUtil.ShowTips("分析通过,不允许此操作!"); return; }
  291. // //if (flag == 2) { MessageUtil.ShowTips("分析时间错误,不允许此操作!"); return; }
  292. // int i = 0;
  293. // try
  294. // {
  295. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  296. // {
  297. // //if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认"))
  298. // //{
  299. // // MessageUtil.ShowTips("已确认数据,不允许此操作!");
  300. // // return;
  301. // //}
  302. // if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  303. // {
  304. // i += 1;
  305. // }
  306. // }
  307. // for (int j = 0; j < i; j++)
  308. // {
  309. // string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString();
  310. // string loagBeg = "";
  311. // if (j + 1 < i)
  312. // {
  313. // loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString();
  314. // if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) < 0)
  315. // {
  316. // ArrayList list = new ArrayList();
  317. // list.Add(DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  318. // list.Add(DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"));
  319. // list.Add(DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  320. // list.Add(this.UserInfo.GetUserName());
  321. // list.Add(this.UserInfo.GetUserOrder());
  322. // list.Add(this.UserInfo.GetUserGroup());
  323. // list.Add(plineCode);
  324. // list.Add(ultraGrid1.Rows[j].Cells["ControlId"].Value.ToString());
  325. // pram.Add(list);
  326. // }
  327. // }
  328. // }
  329. // if (ultraGrid1.Rows.Count > 0 && ultraGrid2.Rows.Count > 0)
  330. // {
  331. // int a = ultraGrid2.Rows.Count;
  332. // string logsBeg = ultraGrid1.Rows[0].Cells["LogsBeg"].Value.ToString();
  333. // string logsEnd = ultraGrid2.Rows[a - 1].Cells["LogsEnd"].Value.ToString();
  334. // string ControlId = ultraGrid1.Rows[0].Cells["ControlId"].Value.ToString();
  335. // if (DateTime.Compare(Convert.ToDateTime(logsBeg), Convert.ToDateTime(logsEnd)) < 0)
  336. // {
  337. // logsEnd = DateTime.Parse(logsEnd).ToString("yyyyMMddHHmm");
  338. // ServerHelper.SetData("com.steering.mes.signature.FrmMilControlLog.updateOneDate", new object[] { logsEnd, ControlId }, this.ob);
  339. // }
  340. // }
  341. // if (MessageUtil.ShowYesNoAndQuestion("是否一键修改处理?") == DialogResult.No)
  342. // {
  343. // return;
  344. // }
  345. // CoreClientParam ccp = new CoreClientParam();
  346. // ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  347. // ccp.MethodName = "oneKeyUpdateMilControlLog";
  348. // ccp.ServerParams = new object[] { pram };
  349. // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  350. // if (ccp.ReturnCode != -1)
  351. // {
  352. // MessageUtil.ShowTips(ccp.ReturnInfo);
  353. // if (ccp.ReturnInfo.Equals("一键处理成功!"))
  354. // {
  355. // doQuery();
  356. // doAnalysis();
  357. // }
  358. // }
  359. // }
  360. // catch (Exception ex)
  361. // {
  362. // MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  363. // }
  364. //}
  365. /// <summary>
  366. /// 新增
  367. /// </summary>
  368. //private void doAdd()
  369. //{
  370. // ultraGrid1.UpdateData();
  371. // ArrayList pram = new ArrayList();
  372. // UltraGridRow row = ultraGrid1.ActiveRow;
  373. // int count = 0;
  374. // int statrindex = 0;//第一行记录
  375. // int endindex = 0;//最后一行记录
  376. // int indexEnd = 0;//获取Grid最后一行记录
  377. // string statime = "";//新增开始时间
  378. // string endtime = "";//新增结束时间
  379. // string datetime1 = "";//获取选中第一行结束时间
  380. // string datetime2 = "";//获取选中第二行开始时间
  381. // if (row != null)
  382. // {
  383. // try
  384. // {
  385. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  386. // {
  387. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  388. // {
  389. // //if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认"))
  390. // //{
  391. // // MessageUtil.ShowTips("已确认数据,不允许此操作!");
  392. // // return;
  393. // //}
  394. // statime = DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm");//新增开始时间
  395. // datetime1 = DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm");
  396. // statrindex = ugr.Index;
  397. // break;
  398. // }
  399. // }
  400. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  401. // {
  402. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  403. // {
  404. // count += 1;
  405. // endindex = ugr.Index;
  406. // endtime = DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm");//新增结束时间
  407. // datetime2 = DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm");
  408. // }
  409. // indexEnd = ugr.Index;
  410. // }
  411. // //判断选中的两行没有时间差,不许增加
  412. // int cnt = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Count();
  413. // if (datetime2 == datetime1 && cnt > 1)
  414. // { MessageUtil.ShowTips("选中的两行没有时间差,不允许增加!"); return; }
  415. // int index = endindex - statrindex;
  416. // if (index == 0)
  417. // {
  418. // if (statrindex == 0)//获取第一行
  419. // {
  420. // if (indexEnd == 0)//如果只有一条数据
  421. // {
  422. // FrmPopupWindow win = new FrmPopupWindow();
  423. // win.AutoSize = true;
  424. // win.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  425. // win.Text = "提示";
  426. // win.ShowDialog();
  427. // if (win.DialogResult == System.Windows.Forms.DialogResult.OK)
  428. // {
  429. // if (win.Popup == "之前")
  430. // {
  431. // pram.Add(DateTime.Parse(row.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  432. // pram.Add(DateTime.Parse(row.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  433. // }
  434. // else if (win.Popup == "之后")
  435. // {
  436. // pram.Add(DateTime.Parse(row.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"));
  437. // pram.Add(DateTime.Parse(row.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"));
  438. // }
  439. // else
  440. // {
  441. // return;
  442. // }
  443. // }
  444. // }
  445. // else
  446. // {
  447. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  448. // {
  449. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  450. // {
  451. // pram.Add(DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  452. // pram.Add(DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  453. // }
  454. // }
  455. // }
  456. // }
  457. // else if (statrindex == indexEnd)//获取最后一行
  458. // {
  459. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  460. // {
  461. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  462. // {
  463. // pram.Add(DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"));
  464. // pram.Add(DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyyMMddHHmm"));
  465. // }
  466. // }
  467. // }
  468. // else
  469. // {
  470. // if (count == 0 || count > 2 || count < 2 && index < 2)
  471. // {
  472. // MessageUtil.ShowTips("请选择数据且选择相邻两条数据新增!");
  473. // return;
  474. // }
  475. // if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == DialogResult.No)
  476. // {
  477. // return;
  478. // }
  479. // pram.Add(statime);
  480. // pram.Add(endtime);
  481. // }
  482. // }
  483. // else
  484. // {
  485. // if (count == 0 || count > 2 || count < 2 && index < 2)
  486. // {
  487. // MessageUtil.ShowTips("请选择数据且选择相邻两条数据新增!");
  488. // return;
  489. // }
  490. // if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == DialogResult.No)
  491. // {
  492. // return;
  493. // }
  494. // pram.Add(statime);
  495. // pram.Add(endtime);
  496. // }
  497. // }
  498. // catch (Exception ex)
  499. // {
  500. // MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  501. // return;
  502. // }
  503. // }
  504. // else//Grid 为空
  505. // {
  506. // if (MessageUtil.ShowYesNoAndQuestion("当前班次无数据是否新增?") == DialogResult.No)
  507. // {
  508. // return;
  509. // }
  510. // pram.Add(cmbDate.Value.ToString("yyyyMMdd") + DateTime.Now.ToString("HHmm"));
  511. // pram.Add(cmbDate.Value.ToString("yyyyMMdd") + DateTime.Now.ToString("HHmm"));
  512. // //pram.Add(DateTime.Now.ToString("yyyyMMddHHmm"));
  513. // //pram.Add(DateTime.Now.ToString("yyyyMMddHHmm"));
  514. // }
  515. // pram.Add(this.UserInfo.GetUserName());
  516. // pram.Add(this.UserInfo.GetUserOrder());
  517. // pram.Add(this.UserInfo.GetUserGroup());
  518. // pram.Add(plineCode);
  519. // CoreClientParam ccp = new CoreClientParam();
  520. // ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  521. // ccp.MethodName = "addMilControlLog";
  522. // ccp.ServerParams = new object[] { pram };
  523. // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  524. // if (ccp.ReturnCode != -1)
  525. // {
  526. // MessageUtil.ShowTips(ccp.ReturnInfo);
  527. // if (ccp.ReturnInfo.Equals("新增成功!"))
  528. // {
  529. // doQuery();
  530. // doAnalysis();
  531. // }
  532. // }
  533. //}
  534. /// <summary>
  535. /// 修改
  536. /// </summary>
  537. /// <param name="ifConfirm">0只能修改未确认的,1可以修改已确认的</param>
  538. private void doUpdate(String ifConfirm)
  539. {
  540. ultraGrid1.UpdateData();
  541. UltraGridRow row = ultraGrid1.ActiveRow;
  542. if (row == null) { MessageUtil.ShowTips("无数据!"); return; }
  543. int count = 0;
  544. int statrindex = 0;//选择行记录
  545. int endindex = 0;//最后一行记录
  546. //if (flag == false) { MessageUtil.ShowTips("未分析或分析后数据不通过!"); return; }
  547. ArrayList list = new ArrayList();
  548. try
  549. {
  550. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  551. {
  552. if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  553. {
  554. count += 1;
  555. if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认") && ifConfirm.Equals("0") )
  556. {
  557. MessageUtil.ShowTips("已确认数据,不允许此操作!");
  558. return;
  559. }
  560. if (ugr.Cells["ProType"].Text.Equals("正常") && ugr.Cells["QualifiedNum"].Text.Equals("0") && ugr.Cells["ScrapNum"].Text.Equals("0"))
  561. {
  562. MessageUtil.ShowTips("此炉的生产支数和废品支数都为0,请联系【连轧】做【交接班】或【结炉】处理!");
  563. return;
  564. }
  565. //string plineCode1 = "";
  566. //if (!ugr.Cells["PlineCode"].Text.ToString().Equals(""))
  567. //{
  568. // plineCode1 = ugr.Cells["PlineCode"].Value.ToString();
  569. //}
  570. string stopType = "";
  571. if (!ugr.Cells["StopType"].Text.ToString().Equals(""))
  572. {
  573. stopType = ugr.Cells["StopType"].Value.ToString();
  574. }
  575. string stopReason = "";
  576. if (!ugr.Cells["StopReasonm"].Text.ToString().Equals(""))
  577. {
  578. stopReason = basecodeReason;// ugr.Cells["StopReason"].Value.ToString();
  579. }
  580. string stopSmall = "";
  581. if (!ugr.Cells["StopSmallm"].Text.ToString().Equals(""))
  582. {
  583. stopSmall = basecodeSamll;// ugr.Cells["StopSmall"].Value.ToString();
  584. }
  585. string bc = "";
  586. if (!ugr.Cells["ProBc"].Text.ToString().Equals(""))
  587. {
  588. bc = ugr.Cells["ProBc"].Value.ToString();
  589. }
  590. string bz = "";
  591. if (!ugr.Cells["ProBz"].Text.ToString().Equals(""))
  592. {
  593. bz = ugr.Cells["ProBz"].Value.ToString();
  594. }
  595. if (Convert.ToDateTime(ugr.Cells["LogsBeg"].Value.ToString()) > Convert.ToDateTime(ugr.Cells["LogsEnd"].Value.ToString()))
  596. {
  597. MessageUtil.ShowTips("开始时间不能大于等于结束时间!");
  598. return;
  599. }
  600. ArrayList pram = new ArrayList();
  601. pram.Add(DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyy-MM-dd HH:mm"));
  602. pram.Add(DateTime.Parse(ugr.Cells["LogsEnd"].Value.ToString()).ToString("yyyy-MM-dd HH:mm"));
  603. pram.Add(plineCode);
  604. pram.Add(stopType);
  605. pram.Add(stopReason);
  606. pram.Add(ugr.Cells["QualifiedNum"].Value.ToString());
  607. pram.Add(ugr.Cells["QualifiedWt"].Value.ToString());
  608. pram.Add(ugr.Cells["ScrapNum"].Value.ToString());
  609. pram.Add(ugr.Cells["ScrapWt"].Value.ToString());
  610. pram.Add(bc);
  611. pram.Add(bz);
  612. pram.Add(ugr.Cells["ControlId"].Value.ToString());
  613. pram.Add(stopSmall);
  614. pram.Add(ugr.Cells["Memo"].Text.ToString());
  615. list.Add(pram);
  616. }
  617. }
  618. int index = endindex - statrindex;
  619. if (count == 0 || count > 1)
  620. {
  621. MessageUtil.ShowTips("请选择一条需要修改的数据!");
  622. return;
  623. }
  624. if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No)
  625. {
  626. return;
  627. }
  628. CoreClientParam ccp = new CoreClientParam();
  629. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  630. ccp.MethodName = "updateMilControlLog2";
  631. ccp.ServerParams = new object[] { list, ifConfirm };
  632. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  633. if (ccp.ReturnCode != -1)
  634. {
  635. MessageUtil.ShowTips(ccp.ReturnInfo);
  636. if (ccp.ReturnInfo.Equals("修改成功!"))
  637. {
  638. doQuery();
  639. doAnalysis();
  640. }
  641. }
  642. }
  643. catch (Exception ex)
  644. {
  645. MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  646. }
  647. }
  648. /// <summary>
  649. /// 删除
  650. /// </summary>
  651. //private void doDelete()
  652. //{
  653. // ultraGrid1.UpdateData();
  654. // UltraGridRow row = ultraGrid1.ActiveRow;
  655. // if (row == null) { MessageUtil.ShowTips("无数据!"); return; }
  656. // int count = 0;
  657. // ArrayList list = new ArrayList();
  658. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  659. // {
  660. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  661. // {
  662. // count += 1;
  663. // //只有各厂总账号可以删除正常数据,普通账号只可删除停机数据。
  664. // if (userId != "250001" && userId != "1680001" && userId != "2580001" && userId != "4600001")
  665. // {
  666. // if (ugr.Cells["ProType"].Text.Equals("正常"))
  667. // {
  668. // MessageUtil.ShowTips("请选择停机数据!");
  669. // return;
  670. // }
  671. // }
  672. // if (ugr.Cells["ConfirmFlag"].Text.Equals("已确认"))
  673. // {
  674. // MessageUtil.ShowTips("已确认数据,不允许此操作!");
  675. // return;
  676. // }
  677. // ArrayList pram = new ArrayList();
  678. // pram.Add(ugr.Cells["ControlId"].Value.ToString());
  679. // list.Add(pram);
  680. // }
  681. // }
  682. // if (count == 0)
  683. // {
  684. // MessageUtil.ShowTips("请选择要删除的停机数据!");
  685. // return;
  686. // }
  687. // if (MessageUtil.ShowYesNoAndQuestion("是否删除?") == DialogResult.No)
  688. // {
  689. // return;
  690. // }
  691. // CoreClientParam ccp = new CoreClientParam();
  692. // ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  693. // ccp.MethodName = "deleteMilControlLog";
  694. // ccp.ServerParams = new object[] { list };
  695. // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  696. // if (ccp.ReturnCode != -1)
  697. // {
  698. // MessageUtil.ShowTips(ccp.ReturnInfo);
  699. // if (ccp.ReturnInfo.Equals("删除成功!"))
  700. // {
  701. // doQuery();
  702. // doAnalysis();
  703. // }
  704. // }
  705. //}
  706. /// <summary>
  707. ///分析
  708. /// </summary>
  709. private void doAnalysis()
  710. {
  711. flag = 1;
  712. flag1 = 0;
  713. int i = 0;
  714. try
  715. {
  716. //当班数据分析
  717. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  718. {
  719. if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  720. { i += 1; }
  721. if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  722. {
  723. if (Convert.ToDateTime(ugr.Cells["LogsBeg"].Value.ToString()) > Convert.ToDateTime(ugr.Cells["LogsEnd"].Value.ToString()))
  724. {
  725. ugr.RowSelectorAppearance.BackColor = Color.Red;
  726. //ugr.Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None;
  727. //ugr.Cells["LogsEnd"].Appearance.BackColor = Color.Red;
  728. //ugr.Cells["LogsEnd"].Appearance.BackHatchStyle = BackHatchStyle.None;
  729. flag = 2;//分析时间错误
  730. }
  731. }
  732. }
  733. for (int j = 0; j < i; j++)
  734. {
  735. string loagEnd = ultraGrid1.Rows[j].Cells["LogsEnd"].Text.ToString();
  736. string loagBeg = "";
  737. if (j + 1 < i)
  738. {
  739. loagBeg = ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Text.ToString();
  740. if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0)
  741. {
  742. if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0)
  743. {
  744. ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.Pink;
  745. ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  746. ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackColor = Color.Pink;
  747. ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  748. flag1 = 1;//时间差
  749. }
  750. //else if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) <= 5 && TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd))>=3)
  751. //{
  752. // ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.LightGray;
  753. // ultraGrid1.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  754. // ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackColor = Color.LightGray;
  755. // ultraGrid1.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  756. // flag = 2;
  757. //}
  758. }
  759. else if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) < 0)
  760. {
  761. ultraGrid1.Rows[j].RowSelectorAppearance.BackColor = Color.Red;
  762. //ultraGrid1.Rows[j + 1].RowSelectorAppearance.BackColor = Color.Red;
  763. //ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Appearance.BackColor = Color.Orange;
  764. //ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None;
  765. //ultraGrid1.Rows[j].Cells["LogsBeg"].Appearance.BackColor = Color.Orange;
  766. //ultraGrid1.Rows[j].Cells["LogsBeg"].Appearance.BackHatchStyle = BackHatchStyle.None;
  767. flag = 2;
  768. }
  769. TimeSpan timeSpan = DateTime.Parse(ultraGrid1.Rows[j + 1].Cells["LogsBeg"].Value.ToString()) -
  770. DateTime.Parse(ultraGrid1.Rows[j].Cells["LogsEnd"].Value.ToString());
  771. ultraGrid1.Rows[j + 1].Cells["TimeDiff"].Value = timeSpan.TotalMinutes.ToString();
  772. }
  773. }
  774. //上班数据分析
  775. //i = 0;
  776. //foreach (UltraGridRow ugr in ultraGrid2.Rows)
  777. //{
  778. // if (!ugr.Cells["LogsBeg"].Value.Equals(""))
  779. // { i += 1; }
  780. // if (!ugr.Cells["LogsEnd"].Value.Equals(""))
  781. // {
  782. // //i += 1;
  783. // if (Convert.ToDateTime(ugr.Cells["LogsBeg"].Value.ToString()) > Convert.ToDateTime(ugr.Cells["LogsEnd"].Value.ToString()))
  784. // {
  785. // ugr.RowSelectorAppearance.BackColor = Color.Red;
  786. // flag = 2;//分析时间错误
  787. // }
  788. // }
  789. //}
  790. //for (int j = 0; j < i; j++)
  791. //{
  792. // string loagEnd = ultraGrid2.Rows[j].Cells["LogsEnd"].Text.ToString();
  793. // string loagBeg = "";
  794. // if (j + 1 < i)
  795. // {
  796. // loagBeg = ultraGrid2.Rows[j + 1].Cells["LogsBeg"].Text.ToString();
  797. // if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0)
  798. // {
  799. // if (TubeRoll.JudgeTime(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) > 0)
  800. // {
  801. // ultraGrid2.Rows[j + 1].Cells["StopType"].Appearance.BackColor = Color.Pink;
  802. // ultraGrid2.Rows[j + 1].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  803. // ultraGrid2.Rows[j].Cells["StopType"].Appearance.BackColor = Color.Pink;
  804. // ultraGrid2.Rows[j].Cells["StopType"].Appearance.BackHatchStyle = BackHatchStyle.None;
  805. // flag1 = 1;//时间差
  806. // }
  807. // }
  808. // else if (DateTime.Compare(Convert.ToDateTime(loagBeg), Convert.ToDateTime(loagEnd)) < 0)
  809. // {
  810. // ultraGrid2.Rows[j].RowSelectorAppearance.BackColor = Color.Red;
  811. // flag = 2;
  812. // }
  813. // TimeSpan timeSpan = DateTime.Parse(ultraGrid2.Rows[j + 1].Cells["LogsBeg"].Value.ToString()) -
  814. // DateTime.Parse(ultraGrid2.Rows[j].Cells["LogsEnd"].Value.ToString());
  815. // ultraGrid2.Rows[j + 1].Cells["TimeDiff"].Value = timeSpan.TotalMinutes.ToString();
  816. // }
  817. //}
  818. //if (ultraGrid1.Rows.Count > 0 && ultraGrid2.Rows.Count > 0)
  819. //{
  820. // string logsBeg = ultraGrid1.Rows[0].Cells["LogsBeg"].Value.ToString();
  821. // string logsEnd = ultraGrid2.Rows[i - 1].Cells["LogsEnd"].Value.ToString();
  822. // if (DateTime.Compare(Convert.ToDateTime(logsBeg), Convert.ToDateTime(logsEnd)) > 0)
  823. // {
  824. // if (TubeRoll.JudgeTime(Convert.ToDateTime(logsBeg), Convert.ToDateTime(logsEnd)) > 0)
  825. // {
  826. // flag1 = 1;//时间差
  827. // }
  828. // }
  829. // else if (DateTime.Compare(Convert.ToDateTime(logsBeg), Convert.ToDateTime(logsEnd)) < 0)
  830. // {
  831. // flag = 2;
  832. // }
  833. // TimeSpan timeSpan = DateTime.Parse(logsBeg) - DateTime.Parse(logsEnd);
  834. // ultraGrid1.Rows[0].Cells["TimeDiff"].Value = timeSpan.TotalMinutes.ToString();
  835. //}
  836. }
  837. catch (Exception ex)
  838. {
  839. // MessageUtil.ShowTips(ex.Message);
  840. MessageUtil.ShowTips("开始时间或结束时间不能为空!");
  841. }
  842. }
  843. private string DateDiff(DateTime DateTime1, DateTime DateTime2)
  844. {
  845. string dateDiff = null;
  846. try
  847. {
  848. TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
  849. TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
  850. TimeSpan ts = ts1.Subtract(ts2).Duration();
  851. dateDiff = ts.Minutes.ToString();
  852. }
  853. catch
  854. {
  855. }
  856. return dateDiff;
  857. }
  858. /// <summary>
  859. ///确认
  860. /// </summary>
  861. //private void doConfirm()
  862. //{
  863. // UltraGridRow uow = ultraGrid1.ActiveRow;
  864. // if (uow == null) { MessageUtil.ShowTips("无数据!"); return; }
  865. // ArrayList list = new ArrayList();
  866. // string date = DateTime.Now.ToString();
  867. // int count = 0;
  868. // if (flag == 0) { MessageUtil.ShowTips("未分析,不允许此操作!"); return; }
  869. // if (flag1 == 1) { MessageUtil.ShowTips("有停机记录未新增,不允许此操作!"); return; }
  870. // if (flag == 2) { MessageUtil.ShowTips("分析时间错误,不允许此操作!"); return; }
  871. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  872. // {
  873. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true && ugr.Cells["LogsBeg"].Value.ToString().Equals(""))
  874. // {
  875. // MessageUtil.ShowTips("有开始时间为空,不允许此操作!"); return;
  876. // }
  877. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true && ugr.Cells["LogsEnd"].Value.ToString().Equals(""))
  878. // {
  879. // MessageUtil.ShowTips("有结束时间为空,不允许此操作!"); return;
  880. // }
  881. // }
  882. // ultraGrid1.UpdateData();
  883. // int seqmin1 = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Count();
  884. // if (seqmin1 < 1)
  885. // {
  886. // MessageUtil.ShowTips("没有选中要确认的数据!"); return;
  887. // }
  888. // if (seqmin1 > 0 && ultraGrid1.Rows.Count > 0)
  889. // {
  890. // int seqmin = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Min();
  891. // for (int i = 0; i < seqmin; i++)
  892. // {
  893. // if (ultraGrid1.Rows[i].Cells["ConfirmFlag"].Value.ToString().Trim().Equals("未确认"))
  894. // {
  895. // MessageBox.Show("前面有未确认的数据,请先确认!");
  896. // return;
  897. // }
  898. // }
  899. // }
  900. // //if (flag2 == 1) { MessageUtil.ShowTips("有开始时间为空,不允许此操作!"); return; }
  901. // //if (flag2 == 2) { MessageUtil.ShowTips("有结束时间为空,不允许此操作!"); return; }
  902. // //判断上班是否有未确认的数据
  903. // if (ultraGrid2.Rows.Count() < 1)
  904. // {
  905. // MessageBox.Show("上班有停机记录未新增!");
  906. // return;
  907. // }
  908. // foreach (UltraGridRow row in ultraGrid2.Rows)
  909. // {
  910. // if (row.Cells["ConfirmFlag"].Value.ToString().Trim().Equals("未确认"))
  911. // {
  912. // MessageBox.Show("上班有未确认的数据,请先确认!");
  913. // return;
  914. // }
  915. // }
  916. // string startdate = "";
  917. // string endDate = "";
  918. // if (chkDate.Checked)
  919. // {
  920. // startdate = cmbDate.Value.ToString("yyyyMMdd1800");
  921. // }
  922. // else
  923. // {
  924. // MessageUtil.ShowTips("请选择日期!");
  925. // return;
  926. // //startdate = cmbDate.Value.ToString("199901012100");
  927. // //endDate = cmbEndDate.Value.ToString("203901012100");
  928. // }
  929. // foreach (UltraGridRow ugr in ultraGrid1.Rows)
  930. // {
  931. // if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  932. // {
  933. // if (ugr.Cells["ProType"].Text.ToString().Trim().Equals("停机"))
  934. // {
  935. // if (ugr.Cells["StopType"].Value.Equals("") || ugr.Cells["StopSmall"].Value.Equals("") || ugr.Cells["StopReason"].Value.Equals(""))
  936. // {
  937. // MessageUtil.ShowTips("停机大类,停机小类,停机原因不能为空!");
  938. // return;
  939. // }
  940. // }
  941. // string shift = ugr.Cells["ProBc"].Value.ToString();
  942. // string group = ugr.Cells["ProBz"].Value.ToString();
  943. // if (shift != this.UserInfo.GetUserOrder() || group != this.UserInfo.GetUserGroup())
  944. // {
  945. // MessageUtil.ShowTips("您登录的班次班组与要确认的数据班次班组不符,请重新确认!");
  946. // return;
  947. // }
  948. // count += 1;
  949. // ArrayList list1 = new ArrayList();
  950. // list1.Add(ugr.Cells["ControlId"].Text.ToString());
  951. // list1.Add(this.UserInfo.GetUserName());
  952. // list1.Add(date);
  953. // list1.Add(this.UserInfo.GetUserOrder());
  954. // list1.Add(this.UserInfo.GetUserGroup());
  955. // list1.Add(plineCode);
  956. // list1.Add(DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  957. // list1.Add(startdate);
  958. // list1.Add(endDate);
  959. // list1.Add(ugr.Cells["JudgeStoveNo"].Text.ToString());
  960. // list.Add(list1);
  961. // }
  962. // }
  963. // if (count == 0)
  964. // {
  965. // MessageUtil.ShowTips("请选中要确认的数据!");
  966. // return;
  967. // }
  968. // string intCount = "0";//是否选择确认
  969. // if (MessageUtil.ShowYesNoAndQuestion("是否只确认选中行数据?") == DialogResult.No)
  970. // {
  971. // intCount = "0";
  972. // if (count == 2)
  973. // {
  974. // MessageUtil.ShowTips("请选择一条数据!");
  975. // return;
  976. // }
  977. // }
  978. // else
  979. // {
  980. // intCount = "1";
  981. // }
  982. // //if (MessageUtil.ShowYesNoAndQuestion("是否确认?") == DialogResult.No)
  983. // //{
  984. // // return;
  985. // //}
  986. // UltraGridRow ugr1 = ultraGrid1.ActiveRow;
  987. // if (ugr1 != null)
  988. // {
  989. // string logbeg = ugr1.Cells["LogsBeg"].Value.ToString();
  990. // }
  991. // CoreClientParam ccp = new CoreClientParam();
  992. // ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  993. // ccp.MethodName = "confirmMilControlLog";
  994. // ccp.ServerParams = new object[] { list, intCount };
  995. // ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  996. // if (ccp.ReturnCode != -1)
  997. // {
  998. // MessageUtil.ShowTips(ccp.ReturnInfo);
  999. // if (ccp.ReturnInfo.Equals("确认成功!"))
  1000. // {
  1001. // doQuery();
  1002. // doAnalysis();
  1003. // }
  1004. // }
  1005. //}
  1006. /// <summary>
  1007. ///取消确认
  1008. /// </summary>
  1009. private void UpConfirm()
  1010. {
  1011. UltraGridRow uow = ultraGrid1.ActiveRow;
  1012. if (uow == null) { MessageUtil.ShowTips("无数据!"); return; }
  1013. ultraGrid1.UpdateData();
  1014. int seqmax1 = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Count();
  1015. if (seqmax1 < 1)
  1016. {
  1017. MessageUtil.ShowTips("没有选中要确认的数据!"); return;
  1018. }
  1019. if (seqmax1 > 0 && ultraGrid1.Rows.Count() > 0)
  1020. {
  1021. int seqmax = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True").Select(a => a.Index).Max();
  1022. for (int i = seqmax + 1; i < ultraGrid1.Rows.Count(); i++)
  1023. {
  1024. if (ultraGrid1.Rows[i].Cells["ConfirmFlag"].Value.ToString().Trim().Equals("已确认"))
  1025. {
  1026. MessageBox.Show("后面有已确认的数据,请先取消确认!");
  1027. return;
  1028. }
  1029. }
  1030. }
  1031. ArrayList list = new ArrayList();
  1032. string date = DateTime.Now.ToString();
  1033. int count = 0;
  1034. string startdate = "";
  1035. string endDate = "";
  1036. if (chkDate.Checked)
  1037. {
  1038. startdate = cmbDate.Value.ToString("yyyyMMdd1800");
  1039. }
  1040. else
  1041. {
  1042. MessageUtil.ShowTips("请选择日期!");
  1043. return;
  1044. //startdate = cmbDate.Value.ToString("199901012100");
  1045. //endDate = cmbEndDate.Value.ToString("203901012100");
  1046. }
  1047. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  1048. {
  1049. if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
  1050. {
  1051. count += 1;
  1052. ArrayList list1 = new ArrayList();
  1053. list1.Add(ugr.Cells["ControlId"].Text.ToString());
  1054. list1.Add(this.UserInfo.GetUserOrder());
  1055. list1.Add(this.UserInfo.GetUserGroup());
  1056. list1.Add(plineCode);
  1057. list1.Add(DateTime.Parse(ugr.Cells["LogsBeg"].Value.ToString()).ToString("yyyyMMddHHmm"));
  1058. list1.Add(startdate);
  1059. list1.Add(endDate);
  1060. list1.Add(ugr.Cells["JudgeStoveNo"].Text.ToString());
  1061. list.Add(list1);
  1062. }
  1063. }
  1064. if (count == 0) { MessageUtil.ShowTips("请选中要取消确认的数据!"); return; }
  1065. string intCount = "0";//是否选择取消确认
  1066. if (MessageUtil.ShowYesNoAndQuestion("是否只取消确认选中行数据?") == DialogResult.No)
  1067. {
  1068. intCount = "0";
  1069. if (count == 2)
  1070. {
  1071. MessageUtil.ShowTips("请选择一条数据!");
  1072. return;
  1073. }
  1074. }
  1075. else
  1076. {
  1077. intCount = "1";
  1078. }
  1079. //if (MessageUtil.ShowYesNoAndQuestion("是否取消确认?") == DialogResult.No)
  1080. //{
  1081. // return;
  1082. //}
  1083. CoreClientParam ccp = new CoreClientParam();
  1084. ccp.ServerName = "com.steering.mes.signature.FrmMilControlLog";
  1085. ccp.MethodName = "upConfirmMilControlLog";
  1086. ccp.ServerParams = new object[] { list, intCount };
  1087. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1088. if (ccp.ReturnCode != -1)
  1089. {
  1090. MessageUtil.ShowTips(ccp.ReturnInfo);
  1091. if (ccp.ReturnInfo.Equals("取消确认成功!"))
  1092. {
  1093. doQuery();
  1094. doAnalysis();
  1095. }
  1096. }
  1097. }
  1098. private void chkDate_CheckedChanged(object sender, EventArgs e)
  1099. {
  1100. if (chkDate.Checked) { cmbDate.Enabled = true; } else { cmbDate.Enabled = false; }
  1101. if (chkBc.Checked) { cmbBc.Enabled = true; } else { cmbBc.Enabled = false; }
  1102. if (chkBz.Checked) { cmbBz.Enabled = true; } else { cmbBz.Enabled = false; }
  1103. if (chkpline.Checked) { cmbPline.Enabled = true; } else { cmbPline.Enabled = false; }
  1104. }
  1105. /// <summary>
  1106. /// Grid字段修改触发事件
  1107. /// </summary>
  1108. /// <param name="sender"></param>
  1109. /// <param name="e"></param>
  1110. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  1111. {
  1112. UltraGridRow row = ultraGrid1.ActiveRow;
  1113. //string stratime = row.Cells["LogsBeg"].Value.ToString();
  1114. //string endtime = row.Cells["LogsEnd"].Value.ToString();
  1115. try
  1116. {
  1117. //string updateStratime = "";
  1118. //string updateEndtime = "";
  1119. ultraGrid1.UpdateData();
  1120. //if (e.Cell.Column.Key.Equals("LogsEnd"))
  1121. //{
  1122. // if (Convert.ToBoolean(e.Cell.Row.Cells["CHK"].Text) == true)
  1123. // {
  1124. // if (e.Cell.Value == null || e.Cell.Value.ToString().Trim().Equals(""))
  1125. // {
  1126. // return;
  1127. // }
  1128. // else
  1129. // {
  1130. // updateEndtime = e.Cell.Row.Cells["LogsEnd"].Value.ToString();
  1131. // TimeSpan midTime = DateTime.Parse(updateEndtime) - DateTime.Parse(endtime);
  1132. // stratday = midTime.Days;
  1133. // strathours = midTime.Hours;
  1134. // stratminutes = midTime.Minutes;
  1135. // int i = e.Cell.Row.Index;//h获取选中行序号
  1136. // UltraGridRow urg = ultraGrid1.Rows.AsQueryable().Where(a => a.Index == i + 1).First();//获取选择行下一行序号
  1137. // DateTime time = DateTime.Parse(urg.Cells["LogsBeg"].Value.ToString()).AddDays(stratday).AddHours(strathours).AddMinutes(stratminutes);
  1138. // urg.Cells["LogsBeg"].Value = time;
  1139. // }
  1140. // }
  1141. // else
  1142. // {
  1143. // MessageUtil.ShowTips("请选择需要修改的数据!");
  1144. // e.Cell.Row.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Value.ToString();
  1145. // return;
  1146. // }
  1147. //}
  1148. //if (e.Cell.Column.Key.Equals("LogsBeg"))
  1149. //{
  1150. // if (Convert.ToBoolean(e.Cell.Row.Cells["CHK"].Text) == true)
  1151. // {
  1152. // if (e.Cell.Value == null || e.Cell.Value.ToString().Trim().Equals(""))
  1153. // {
  1154. // return;
  1155. // }
  1156. // else
  1157. // {
  1158. // updateStratime = e.Cell.Row.Cells["LogsBeg"].Value.ToString();
  1159. // TimeSpan midTime = DateTime.Parse(updateStratime) - DateTime.Parse(stratime);
  1160. // endday = midTime.Days;
  1161. // endhours = midTime.Hours;
  1162. // endminutes = midTime.Minutes;
  1163. // int i = e.Cell.Row.Index;//h获取选中行序号
  1164. // UltraGridRow urg = ultraGrid1.Rows.AsQueryable().Where(a => a.Index == i -1).First();//获取选择行上一行序号
  1165. // //if (urg.Index < 0) return;
  1166. // DateTime time = DateTime.Parse(urg.Cells["LogsEnd"].Value.ToString()).AddDays(endday).AddHours(endhours).AddMinutes(endminutes);
  1167. // urg.Cells["LogsEnd"].Value = time;
  1168. // }
  1169. // }
  1170. // else
  1171. // {
  1172. // MessageUtil.ShowTips("请选择需要修改的数据!");
  1173. // e.Cell.Row.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Value.ToString();
  1174. // return;
  1175. // }
  1176. //}
  1177. if (e.Cell.Column.Key.Equals("QualifiedNum"))
  1178. {
  1179. if (e.Cell.Row.Cells["QualifiedNum"].Value == null)
  1180. {
  1181. e.Cell.Row.Cells["QualifiedNum"].Value = "0";
  1182. }
  1183. else
  1184. {
  1185. string actCount = e.Cell.Row.Cells["QualifiedNum"].Value.ToString();
  1186. if (!StringUtil.IsInt(actCount) || actCount == "0")//actCount == "" || int.Parse(actCount)==0
  1187. {
  1188. e.Cell.Row.Cells["QualifiedNum"].Value = "0";
  1189. }
  1190. }
  1191. }
  1192. if (e.Cell.Column.Key.Equals("QualifiedWt"))
  1193. {
  1194. if (e.Cell.Row.Cells["QualifiedWt"].Value == null)
  1195. {
  1196. e.Cell.Row.Cells["QualifiedWt"].Value = "0";
  1197. }
  1198. else
  1199. {
  1200. string actWt = e.Cell.Row.Cells["QualifiedWt"].Value.ToString();
  1201. if (!StringUtil.IsDouble(actWt) || actWt == "0")//actCount == "" || int.Parse(actCount)==0
  1202. {
  1203. e.Cell.Row.Cells["QualifiedWt"].Value = "0";
  1204. }
  1205. }
  1206. }
  1207. if (e.Cell.Column.Key.Equals("ScrapNum"))
  1208. {
  1209. if (e.Cell.Row.Cells["ScrapNum"].Value == null)
  1210. {
  1211. e.Cell.Row.Cells["ScrapNum"].Value = "0";
  1212. }
  1213. else
  1214. {
  1215. string scrpNum = e.Cell.Row.Cells["ScrapNum"].Value.ToString();
  1216. if (!StringUtil.IsInt(scrpNum) || scrpNum == "0")//actCount == "" || int.Parse(actCount)==0
  1217. {
  1218. e.Cell.Row.Cells["ScrapNum"].Value = "0";
  1219. }
  1220. }
  1221. }
  1222. if (e.Cell.Column.Key.Equals("ScrapWt"))
  1223. {
  1224. if (e.Cell.Row.Cells["ScrapWt"].Value == null)
  1225. {
  1226. e.Cell.Row.Cells["ScrapWt"].Value = "0";
  1227. }
  1228. else
  1229. {
  1230. string scrpwt = e.Cell.Row.Cells["ScrapWt"].Value.ToString();
  1231. if (!StringUtil.IsDouble(scrpwt) || scrpwt == "0")//actCount == "" || int.Parse(actCount)==0
  1232. {
  1233. e.Cell.Row.Cells["ScrapWt"].Value = "0";
  1234. }
  1235. }
  1236. }
  1237. if (e.Cell.Column.Key.Equals("StopType"))
  1238. {
  1239. e.Cell.Row.Cells["StopSmall"].Value = "";
  1240. e.Cell.Row.Cells["StopReason"].Value = "";
  1241. }
  1242. if (e.Cell.Column.Key.Equals("StopSmall"))
  1243. {
  1244. e.Cell.Row.Cells["StopReason"].Value = "";
  1245. }
  1246. }
  1247. catch (Exception ex)
  1248. {
  1249. //MessageUtil.ShowTips("您输入的时间格式不正确!");
  1250. //e.Cell.Row.Cells["LogsBeg"].Value = row.Cells["LogsBeg"].Value.ToString();
  1251. //e.Cell.Row.Cells["LogsEnd"].Value = row.Cells["LogsEnd"].Value.ToString();
  1252. return;
  1253. }
  1254. }
  1255. private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e)
  1256. {
  1257. e.RaiseErrorEvent = false;
  1258. MessageUtil.ShowTips("您输入的时间格式不正确!");
  1259. }
  1260. /// <summary>
  1261. /// 停机原因
  1262. /// </summary>
  1263. /// <param name="sender"></param>
  1264. /// <param name="e"></param>
  1265. private void cmbStopReason_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1266. {
  1267. UltraGridRow row = ultraGrid1.ActiveRow;
  1268. if (row == null) return;
  1269. string stopSallm = basecodeSamll;
  1270. if (!row.Cells["StopSmall"].Text.Equals("")) { stopSallm = row.Cells["StopSmall"].Text; }
  1271. FrmStopSamll fpdc = new FrmStopSamll(basecodeSamll, ob);
  1272. fpdc.AutoSize = true;
  1273. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  1274. fpdc.Text = "停机原因";
  1275. fpdc.ShowDialog();
  1276. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  1277. {
  1278. //获取弹出窗体的属性值
  1279. row.Cells["StopReasonm"].Value = fpdc.Basename;
  1280. //cmbStopReason.Value = fpdc.Basename;
  1281. basecodeReason = fpdc.Basecode;
  1282. }
  1283. }
  1284. /// <summary>
  1285. /// 停机小类
  1286. /// </summary>
  1287. /// <param name="sender"></param>
  1288. /// <param name="e"></param>
  1289. private void cmbStopSmall_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1290. {
  1291. UltraGridRow row = ultraGrid1.ActiveRow;
  1292. string stoptype = "";
  1293. if (!row.Cells["StopType"].Text.Trim().Equals(""))
  1294. {
  1295. stoptype = row.Cells["StopType"].Value.ToString();
  1296. }
  1297. FrmStopSamll fpdc = new FrmStopSamll(stoptype, ob);
  1298. fpdc.AutoSize = true;
  1299. fpdc.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  1300. fpdc.Text = "停机小类";
  1301. fpdc.ShowDialog();
  1302. if (fpdc.DialogResult == System.Windows.Forms.DialogResult.OK)
  1303. {
  1304. //获取弹出窗体的属性值
  1305. row.Cells["StopSmallm"].Value = fpdc.Basename;
  1306. //cmbStopSmall.Value = fpdc.Basename;
  1307. basecodeSamll = fpdc.Basecode;
  1308. }
  1309. }
  1310. /// <summary>
  1311. /// 班次中文
  1312. /// </summary>
  1313. /// <param name="dtShift"></param>
  1314. /// <returns></returns>
  1315. private string changeShift(string dtShift)
  1316. {
  1317. switch (dtShift)
  1318. {
  1319. case "1":
  1320. dtShift = "早班";
  1321. break;
  1322. case "2":
  1323. dtShift = "中班";
  1324. break;
  1325. case "3":
  1326. dtShift = "夜班";
  1327. break;
  1328. }
  1329. return dtShift;
  1330. }
  1331. /// <summary>
  1332. /// 班组中文
  1333. /// </summary>
  1334. /// <param name="dtGroup"></param>
  1335. /// <returns></returns>
  1336. private string changeGroup(string dtGroup)
  1337. {
  1338. switch (dtGroup)
  1339. {
  1340. case "1":
  1341. dtGroup = "甲班";
  1342. break;
  1343. case "2":
  1344. dtGroup = "乙班";
  1345. break;
  1346. case "3":
  1347. dtGroup = "丙班";
  1348. break;
  1349. case "4":
  1350. dtGroup = "丁班";
  1351. break;
  1352. }
  1353. return dtGroup;
  1354. }
  1355. }
  1356. }