FrmBaseInfoMerge.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. using Core.Mes.Client.Comm.Format;
  2. using Core.Mes.Client.Comm.Tool;
  3. using Core.StlMes.Client.Lims.Port.数据管理.实体类;
  4. using CoreFS.CA06;
  5. using Infragistics.Win;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.ComponentModel;
  11. using System.Data;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Windows.Forms;
  16. namespace Core.StlMes.Client.Lims.Port
  17. {
  18. public partial class FrmBaseInfoMerge : FrmBase
  19. {
  20. public FrmBaseInfoMerge()
  21. {
  22. InitializeComponent();
  23. }
  24. private string plineCode = "";//产线
  25. private void FrmBaseInfoMerge_Load(object sender, EventArgs e)
  26. {
  27. DateTime now = DateTime.Now;
  28. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  29. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  30. this.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  31. this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  32. EntityHelper.ShowGridCaption<PipeCheckconsignBaseinfoEntity>(this.ultraGrid1.DisplayLayout.Bands[0]);
  33. EntityHelper.ShowGridCaption<PipeCheckconsignDetailEntity>(this.ultraGrid2.DisplayLayout.Bands[0]);
  34. EntityHelper.ShowGridCaption<QcmZcCheckconsignDetailEntity>(this.ultraGrid3.DisplayLayout.Bands[0]);
  35. EntityHelper.ShowGridCaption<QcmZcCheckconsignDetailEntity>(this.ultraGrid4.DisplayLayout.Bands[0]);
  36. plineCode = PublicPort.GetPCode(this.ValidDataPurviewIds, ob);
  37. }
  38. /// <summary>
  39. /// 重写基类方法
  40. /// </summary>
  41. /// <param name="sender"></param>
  42. /// <param name="ToolbarKey"></param>
  43. public override void ToolBar_Click(object sender, string ToolbarKey)
  44. {
  45. switch (ToolbarKey)
  46. {
  47. case "Query":
  48. doQueryBaseinfo();
  49. break;
  50. case"Merge":
  51. mergeNo();
  52. break;
  53. case "Merge3":
  54. mergeNo3();
  55. break;
  56. case"CancelMergeNo":
  57. cancelMergeNo();
  58. break;
  59. case"CheckCondition":
  60. checkCondition();
  61. break;
  62. case "Close":
  63. close();
  64. break;
  65. }
  66. }
  67. private void doQueryBaseinfo()
  68. {
  69. string lotNo = "";
  70. string judgeNo = "";
  71. string startTim = "";
  72. string endTim = "";
  73. if(this.chkRegTime.Checked)
  74. {
  75. startTim = this.RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  76. endTim = this.RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
  77. }
  78. if (this.chkLotNo.Checked && this.txtLotNo.Text.Trim() != "")
  79. {
  80. lotNo = this.txtLotNo.Text.Trim();
  81. }
  82. if(this.chkJudgeNo.Checked)
  83. {
  84. judgeNo = this.txtJudgeNo.Text.Trim();
  85. }
  86. ArrayList list = new ArrayList();
  87. list.Add(startTim);
  88. list.Add(endTim);
  89. list.Add(lotNo);
  90. list.Add(judgeNo);
  91. if (ultraTabControl1.SelectedTab.Key == "0")
  92. {
  93. List<PipeCheckconsignBaseinfoEntity> listSource = EntityHelper.GetData<PipeCheckconsignBaseinfoEntity>(
  94. "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryBaseInfo", new object[] { list, plineCode }, this.ob);
  95. pipeCheckconsignBaseinfoEntityBindingSource.DataSource = listSource;
  96. }
  97. else if (ultraTabControl1.SelectedTab.Key == "1")
  98. {
  99. List<PipeCheckconsignDetailEntity> listSource = EntityHelper.GetData<PipeCheckconsignDetailEntity>(
  100. "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryBaseInfoDetial", new object[] { list, plineCode }, this.ob);
  101. pipeCheckconsignDetailEntityBindingSource.DataSource = listSource;
  102. }
  103. }
  104. /// <summary>
  105. /// 合并委托单
  106. /// </summary>
  107. private void mergeNo()
  108. {
  109. this.ultraGrid1.UpdateData();
  110. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  111. if (checkMagRows.Count() == 0)
  112. {
  113. return;
  114. }
  115. int count = checkMagRows.GroupBy(a => a.GetValue("HeatNo")).Count();
  116. if (count > 1)
  117. {
  118. MessageUtil.ShowTips("合并检验单,只允许在同一炉号中合并!");
  119. return;
  120. }
  121. ArrayList parmList = new ArrayList();
  122. foreach(UltraGridRow row in checkMagRows)
  123. {
  124. PipeCheckconsignBaseinfoEntity pipeBaseTity = (PipeCheckconsignBaseinfoEntity)row.ListObject;
  125. if(pipeBaseTity.MergerNo != "")
  126. {
  127. MessageUtil.ShowTips("已合并过的委托单不允许再次合并!");
  128. return;
  129. }
  130. string pipeBaseEntity = JSONFormat.Format(pipeBaseTity);
  131. parmList.Add(pipeBaseEntity);
  132. }
  133. CoreClientParam ccp = new CoreClientParam();
  134. ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge";
  135. ccp.MethodName = "mergeNo";
  136. ccp.ServerParams = new object[] { parmList,UserInfo.GetUserName() };
  137. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  138. if (ccp.ReturnCode != -1)
  139. {
  140. if (ccp.ReturnInfo.Equals("合并成功!"))
  141. {
  142. doQueryBaseinfo();
  143. MessageUtil.ShowTips(ccp.ReturnInfo);
  144. }
  145. else
  146. {
  147. MessageUtil.ShowTips(ccp.ReturnInfo);
  148. }
  149. }
  150. }
  151. /// <summary>
  152. /// 并单3
  153. /// </summary>
  154. private void mergeNo3()
  155. {
  156. this.ultraGrid1.UpdateData();
  157. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  158. if (checkMagRows.Count() == 0)
  159. {
  160. return;
  161. }
  162. int count = checkMagRows.GroupBy(a => a.GetValue("HeatNo")).Count();
  163. if (count > 1)
  164. {
  165. MessageUtil.ShowTips("合并检验单,只允许在同一炉号中合并!");
  166. return;
  167. }
  168. ArrayList parmList = new ArrayList();
  169. foreach (UltraGridRow row in checkMagRows)
  170. {
  171. PipeCheckconsignBaseinfoEntity pipeBaseTity = (PipeCheckconsignBaseinfoEntity)row.ListObject;
  172. if (pipeBaseTity.MergerNo != "")
  173. {
  174. MessageUtil.ShowTips("已合并过的委托单不允许再次合并!");
  175. return;
  176. }
  177. string pipeBaseEntity = JSONFormat.Format(pipeBaseTity);
  178. parmList.Add(pipeBaseEntity);
  179. }
  180. CoreClientParam ccp = new CoreClientParam();
  181. ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge";
  182. ccp.MethodName = "mergeNo3";
  183. ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName() };
  184. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  185. if (ccp.ReturnCode != -1)
  186. {
  187. if (ccp.ReturnInfo.Equals("合并成功!"))
  188. {
  189. doQueryBaseinfo();
  190. MessageUtil.ShowTips(ccp.ReturnInfo);
  191. }
  192. else
  193. {
  194. MessageUtil.ShowTips(ccp.ReturnInfo);
  195. }
  196. }
  197. }
  198. /// <summary>
  199. /// 撤销并单
  200. /// </summary>
  201. private void cancelMergeNo()
  202. {
  203. this.ultraGrid1.UpdateData();
  204. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  205. if (checkMagRows.Count() == 0)
  206. {
  207. return;
  208. }
  209. ArrayList parmList = new ArrayList();
  210. foreach (UltraGridRow row in checkMagRows)
  211. {
  212. PipeCheckconsignBaseinfoEntity pipeBaseTity = (PipeCheckconsignBaseinfoEntity)row.ListObject;
  213. string pipeBaseEntity = JSONFormat.Format(pipeBaseTity);
  214. parmList.Add(pipeBaseEntity);
  215. }
  216. CoreClientParam ccp = new CoreClientParam();
  217. ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge";
  218. ccp.MethodName = "cancelMergeNo";
  219. ccp.ServerParams = new object[] { parmList };
  220. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  221. if (ccp.ReturnCode != -1)
  222. {
  223. if (ccp.ReturnInfo.Equals("撤销成功!"))
  224. {
  225. doQueryBaseinfo();
  226. MessageUtil.ShowTips(ccp.ReturnInfo);
  227. }
  228. else
  229. {
  230. MessageUtil.ShowTips(ccp.ReturnInfo);
  231. }
  232. }
  233. }
  234. /// <summary>
  235. /// 检验批内选择硬度最高
  236. /// </summary>
  237. private void checkCondition()
  238. {
  239. this.ultraGrid2.UpdateData();
  240. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  241. if (checkMagRows.Count() == 0)
  242. {
  243. return;
  244. }
  245. ArrayList parmList = new ArrayList();
  246. foreach (UltraGridRow row in checkMagRows)
  247. {
  248. PipeCheckconsignDetailEntity pipeBaseTity = (PipeCheckconsignDetailEntity)row.ListObject;
  249. string pipeBaseEntity = JSONFormat.Format(pipeBaseTity);
  250. parmList.Add(pipeBaseEntity);
  251. }
  252. CoreClientParam ccp = new CoreClientParam();
  253. ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge";
  254. ccp.MethodName = "checkCondition";
  255. ccp.ServerParams = new object[] { parmList,UserInfo.GetUserName() };
  256. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  257. if (ccp.ReturnCode != -1)
  258. {
  259. if (ccp.ReturnInfo.Equals("推送检验批内SSC硬度最高试样成功!"))
  260. {
  261. doQueryBaseinfo();
  262. MessageUtil.ShowTips(ccp.ReturnInfo);
  263. }
  264. else
  265. {
  266. MessageUtil.ShowTips(ccp.ReturnInfo);
  267. }
  268. }
  269. }
  270. /// <summary>
  271. /// 关闭
  272. /// </summary>
  273. private void close()
  274. {
  275. this.Close();
  276. }
  277. private void chkRegTime_CheckedChanged(object sender, EventArgs e)
  278. {
  279. this.RegStartTime.Enabled = this.RegEndTime.Enabled = this.chkRegTime.Checked;
  280. }
  281. private void chkLotNo_CheckedChanged(object sender, EventArgs e)
  282. {
  283. this.txtLotNo.Enabled = this.chkLotNo.Checked;
  284. }
  285. private void chkJudgeNo_CheckedChanged(object sender, EventArgs e)
  286. {
  287. this.txtJudgeNo.Enabled = this.chkJudgeNo.Checked;
  288. }
  289. private void FrmBaseInfoMerge_Shown(object sender, EventArgs e)
  290. {
  291. if (toolMenu == null || toolMenu.Toolbars == null) return;
  292. if (toolMenu.Toolbars[0].Tools.Exists("CheckCondition"))
  293. {
  294. toolMenu.Toolbars[0].Tools["CheckCondition"].InstanceProps.Visible = DefaultableBoolean.False;
  295. }
  296. }
  297. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  298. {
  299. if (toolMenu == null || toolMenu.Toolbars == null) return;
  300. if (toolMenu.Toolbars[0].Tools.Exists("Merge")) { toolMenu.Toolbars[0].Tools["Merge"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  301. if (toolMenu.Toolbars[0].Tools.Exists("CheckCondition")) { toolMenu.Toolbars[0].Tools["CheckCondition"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.False : DefaultableBoolean.True; }
  302. if (toolMenu.Toolbars[0].Tools.Exists("CancelMergeNo")) { toolMenu.Toolbars[0].Tools["CancelMergeNo"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 1 ? DefaultableBoolean.False : DefaultableBoolean.True; }
  303. }
  304. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  305. {
  306. this.ultraGrid1.UpdateData();
  307. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  308. if(uRow == null)return;
  309. doQueryQcmDeatial(uRow);
  310. }
  311. /// <summary>
  312. ///
  313. /// </summary>
  314. private void doQueryQcmDeatial(UltraGridRow row)
  315. {
  316. List<QcmZcCheckconsignDetailEntity> listSource = EntityHelper.GetData<QcmZcCheckconsignDetailEntity>(
  317. "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryQcmDetail", new object[] { row.Cells["CheckNo"].Text }, this.ob);
  318. qcmZcCheckconsignDetailEntityBindingSource.DataSource = listSource;
  319. }
  320. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  321. {
  322. this.ultraGrid2.UpdateData();
  323. UltraGridRow uRow = this.ultraGrid2.ActiveRow;
  324. if (uRow == null) return;
  325. doQueryQcmDeatial1(uRow);
  326. }
  327. private void doQueryQcmDeatial1(UltraGridRow uRow)
  328. {
  329. List<QcmZcCheckconsignDetailEntity> listSource = EntityHelper.GetData<QcmZcCheckconsignDetailEntity>(
  330. "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryQcmDetail", new object[] { uRow.Cells["CheckNo"].Text }, this.ob);
  331. qcmZcCheckconsignDetailEntityBindingSource1.DataSource = listSource;
  332. }
  333. }
  334. }