FrmVrpBatchSampleNew.cs 82 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.Lims.Port.封装类.方法;
  5. using Core.StlMes.Client.Lims.Port.数据管理.实体类;
  6. using CoreFS.CA06;
  7. using Infragistics.Win;
  8. using Infragistics.Win.UltraWinGrid;
  9. using System;
  10. using System.Collections;
  11. using System.Collections.Generic;
  12. using System.ComponentModel;
  13. using System.Data;
  14. using System.Drawing;
  15. using System.Linq;
  16. using System.Text;
  17. using System.Windows.Forms;
  18. namespace Core.StlMes.Client.Lims.Port
  19. {
  20. public partial class FrmVrpBatchSampleNew : FrmBase
  21. {
  22. public FrmVrpBatchSampleNew()
  23. {
  24. InitializeComponent();
  25. }
  26. private string plineCode = "";//产线
  27. List<CraftSamplingMEntity> dtPlanM = null;//检验计划主信息
  28. List<CraftSamplingDetailEntity> dtPlanDetial = null;//检验计划从信息
  29. List<CraftSamplingMEntity> dtPlanM1 = null;//分批详细方案
  30. int minBatchNum = 0;//最小分批数量
  31. private string batchNoZ = "";//性能批号产线标识
  32. private void FrmMilBatchSampleNew_Load(object sender, EventArgs e)
  33. {
  34. DateTime now = DateTime.Now;
  35. DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天
  36. DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天
  37. this.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
  38. this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
  39. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid1.DisplayLayout.Bands[0]);
  40. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid2.DisplayLayout.Bands[0]);
  41. EntityHelper.ShowGridCaption<PortVrpBatchSampleResultEntity>(this.ultraGrid3.DisplayLayout.Bands[0]);
  42. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid5.DisplayLayout.Bands[0]);
  43. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid6.DisplayLayout.Bands[0]);
  44. EntityHelper.ShowGridCaption<PortVrpBatchSampleResultEntity>(this.ultraGrid7.DisplayLayout.Bands[0]);
  45. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid9.DisplayLayout.Bands[0]);
  46. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid10.DisplayLayout.Bands[0]);
  47. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid12.DisplayLayout.Bands[0]);
  48. EntityHelper.ShowGridCaption<PlnZyDbkMEntity>(this.ultraGrid13.DisplayLayout.Bands[0]);
  49. EntityHelper.ShowGridCaption<PipeCheckconsignNoqualifiedEntity>(this.ultraGrid15.DisplayLayout.Bands[0]);
  50. EntityHelper.ShowGridCaption<PipeCheckconsignNoqualifiedEntity>(this.ultraGrid16.DisplayLayout.Bands[0]);
  51. EntityHelper.ShowGridCaption<PortVrpBatchSampleResultEntity>(this.ultraGrid17.DisplayLayout.Bands[0]);
  52. EntityHelper.ShowGridCaption<PipeCheckconsignNoqualifiedEntity>(this.ultraGrid18.DisplayLayout.Bands[0]);
  53. EntityHelper.ShowGridCaption<PipeCheckconsignNoqualifiedEntity>(this.ultraGrid19.DisplayLayout.Bands[0]);
  54. plineCode = PublicPort.GetPCode(this.ValidDataPurviewIds, ob);
  55. }
  56. /// <summary>
  57. /// 重写基类方法
  58. /// </summary>
  59. /// <param name="sender"></param>
  60. /// <param name="ToolbarKey"></param>
  61. public override void ToolBar_Click(object sender, string ToolbarKey)
  62. {
  63. switch (ToolbarKey)
  64. {
  65. case "Query":
  66. doQueryPlan();
  67. break;
  68. case "QueryRepeate":
  69. doQueryRepeate();
  70. break;
  71. case "BatchSeting":
  72. batchSeting();
  73. break;
  74. case "CancelBatchSeting":
  75. cancelBatchSeting();
  76. break;
  77. case "OprocessBatch":
  78. oprocessBatch();
  79. break;
  80. case "CancelOprocessBatch":
  81. cancelBatch();
  82. break;
  83. case "GetSample":
  84. getSample();
  85. break;
  86. case "CancelGetSample":
  87. cancelGetSample();
  88. break;
  89. case "Confirm":
  90. confirm();
  91. break;
  92. case "CancelConfirm":
  93. cancelConfirm();
  94. break;
  95. case "ReGetSample":
  96. reGetSample();
  97. break;
  98. case "CancelReGetSample":
  99. cancelReGetSample();
  100. break;
  101. case "RepeateFrim":
  102. repeateFrim();
  103. break;
  104. case "CancelRepeateFrim":
  105. cancelRepeateFrim();
  106. break;
  107. case "Print":
  108. printTrust();
  109. break;
  110. case "PrintLable":
  111. printLable();
  112. break;
  113. case "PrintReLable":
  114. printReLable();
  115. break;
  116. case "PrintRe":
  117. printReTrust();
  118. break;
  119. case "Close":
  120. close();
  121. break;
  122. }
  123. }
  124. /// <summary>
  125. /// 撤销复取样
  126. /// </summary>
  127. private void cancelReGetSample()
  128. {
  129. this.ultraGrid15.UpdateData();
  130. this.ultraGrid17.UpdateData();
  131. UltraGridRow uRow = this.ultraGrid15.ActiveRow;
  132. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource2.DataSource as List<PortVrpBatchSampleResultEntity>;
  133. if (uRow == null || lists.Count <= 0)
  134. {
  135. return;
  136. }
  137. PipeCheckconsignNoqualifiedEntity milPlans = (PipeCheckconsignNoqualifiedEntity)uRow.ListObject;
  138. string milPlanEntity = JSONFormat.Format(milPlans);
  139. List<string> portMilEntity = lists.Where(p => p.ResamplePipeLenA != "" || p.ResamplePipeLenB != "").Select(JSONFormat.Format).ToList();
  140. CoreClientParam ccp = new CoreClientParam();
  141. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  142. ccp.MethodName = "cancelReGetSample";
  143. ccp.ServerParams = new object[] { milPlanEntity, portMilEntity };
  144. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  145. if (ccp.ReturnCode != -1)
  146. {
  147. if (ccp.ReturnInfo.Equals("撤销成功!"))
  148. {
  149. doQueryRepeate();
  150. MessageUtil.ShowTips(ccp.ReturnInfo);
  151. }
  152. else
  153. {
  154. MessageUtil.ShowTips(ccp.ReturnInfo);
  155. }
  156. }
  157. }
  158. /// <summary>
  159. /// 复取样
  160. /// </summary>
  161. private void reGetSample()
  162. {
  163. this.ultraGrid15.UpdateData();
  164. this.ultraGrid17.UpdateData();
  165. UltraGridRow uRow = this.ultraGrid15.ActiveRow;
  166. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource2.DataSource as List<PortVrpBatchSampleResultEntity>;
  167. if (uRow == null || lists.Count <= 0)
  168. {
  169. return;
  170. }
  171. if (lists.Any(p => p.Chk == true && p.ResamplePipeLenA == "" && p.ResamplePipeLenB == ""))
  172. {
  173. MessageUtil.ShowTips("还有已选做样管未输入样管长度的管材,不允许进行复取样完成!");
  174. return;
  175. }
  176. if (lists.Any(p => p.Chk == true && !StringUtil.IsInt32(p.ResamplePipeLenA) && !StringUtil.IsInt32(p.ResamplePipeLenB)))
  177. {
  178. MessageUtil.ShowTips("样管长度单位为毫米,请输入整数!");
  179. return;
  180. }
  181. PipeCheckconsignNoqualifiedEntity milPlans = (PipeCheckconsignNoqualifiedEntity)uRow.ListObject;
  182. string milPlanEntity = JSONFormat.Format(milPlans);
  183. List<string> portMilEntity = lists.Where(p => p.Chk).Select(JSONFormat.Format).ToList();
  184. CoreClientParam ccp = new CoreClientParam();
  185. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  186. ccp.MethodName = "reGetSample";
  187. ccp.ServerParams = new object[] { milPlanEntity, portMilEntity, UserInfo.GetUserName(), UserInfo.GetUserGroup(), UserInfo.GetUserOrder() };
  188. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  189. if (ccp.ReturnCode != -1)
  190. {
  191. if (ccp.ReturnInfo.Equals("复取样完成!"))
  192. {
  193. doQueryRepeate();
  194. MessageUtil.ShowTips(ccp.ReturnInfo);
  195. }
  196. else
  197. {
  198. MessageUtil.ShowTips(ccp.ReturnInfo);
  199. }
  200. }
  201. }
  202. /// <summary>
  203. /// 查询可复取样信息
  204. /// </summary>
  205. private void doQueryRepeate()
  206. {
  207. string startTime = "";
  208. string endTim = "";
  209. string lotNo = "";
  210. string judgeNo = "";
  211. if (this.chkRegTime.Checked)
  212. {
  213. startTime = this.RegStartTime.Value.ToString();
  214. endTim = this.RegEndTime.Value.ToString();
  215. }
  216. if (chkLotNo.Checked && this.txtLotNo.Text.Trim() != "")
  217. {
  218. lotNo = this.txtLotNo.Text;
  219. }
  220. if (chkJudgeNo.Checked && this.txtJudgeNo.Text.Trim() != "")
  221. {
  222. judgeNo = this.txtJudgeNo.Text;
  223. }
  224. ArrayList parm = new ArrayList();
  225. parm.Add(startTime);
  226. parm.Add(endTim);
  227. parm.Add(lotNo);
  228. parm.Add(judgeNo);
  229. if (ultraTabControl1.SelectedTab.Key == "4")
  230. {
  231. parm.Add("0");
  232. }
  233. else if (ultraTabControl1.SelectedTab.Key == "5")
  234. {
  235. parm.Add("1");
  236. }
  237. List<PipeCheckconsignNoqualifiedEntity> listSource = EntityHelper.GetData<PipeCheckconsignNoqualifiedEntity>(
  238. "com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryRepeate", new object[] { parm, plineCode }, this.ob);
  239. if (ultraTabControl1.SelectedTab.Key == "4")
  240. {
  241. pipeCheckconsignNoqualifiedEntityBindingSource.DataSource = listSource;
  242. }
  243. else if (ultraTabControl1.SelectedTab.Key == "5")
  244. {
  245. pipeCheckconsignNoqualifiedEntityBindingSource3.DataSource = listSource;
  246. }
  247. }
  248. /// <summary>
  249. /// 复取样委托
  250. /// </summary>
  251. private void repeateFrim()
  252. {
  253. this.ultraGrid18.UpdateData();
  254. this.ultraGrid20.UpdateData();
  255. UltraGridRow uRow = this.ultraGrid18.ActiveRow;
  256. if (uRow == null) return;
  257. PipeCheckconsignNoqualifiedEntity pipeCheckEntity = (PipeCheckconsignNoqualifiedEntity)uRow.ListObject;
  258. string pipeTity = JSONFormat.Format(pipeCheckEntity);
  259. List<List<string>> parmList = new List<List<string>>();
  260. foreach (UltraGridRow row in this.ultraGrid20.Rows)
  261. {
  262. List<string> list = new List<string>();
  263. list.Add(row.Cells["PHY_BATCH_NO"].Text);
  264. list.Add(row.Cells["MAT_NO"].Text);
  265. list.Add(row.Cells["SAMPLE_PIPE_LEN"].Text);
  266. list.Add(row.Cells["SAMPLE_POSTION"].Text);
  267. for (int j = 5; j < dataTable5.Columns.Count; j++)
  268. {
  269. if (row.Cells[j].Value == "√")
  270. {
  271. list.Add(row.Cells[j].Column.Key);
  272. }
  273. }
  274. parmList.Add(list);
  275. }
  276. List<List<string>> batchList = parmList.GroupBy(p => p[0]).Select(p => p.FirstOrDefault()
  277. ).ToList();
  278. CoreClientParam ccp = new CoreClientParam();
  279. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  280. ccp.MethodName = "repeateFrim";
  281. ccp.ServerParams = new object[] { pipeTity, parmList, batchList, UserInfo.GetUserName(), UserInfo.GetDepartment() };
  282. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  283. if (ccp.ReturnCode != -1)
  284. {
  285. if (ccp.ReturnInfo.Equals("复取样委托成功!"))
  286. {
  287. doQueryRepeate();
  288. MessageUtil.ShowTips(ccp.ReturnInfo);
  289. }
  290. else
  291. {
  292. MessageUtil.ShowTips(ccp.ReturnInfo);
  293. }
  294. }
  295. }
  296. /// <summary>
  297. /// 取消复取样委托
  298. /// </summary>
  299. private void cancelRepeateFrim()
  300. {
  301. this.ultraGrid18.UpdateData();
  302. UltraGridRow uRow = this.ultraGrid18.ActiveRow;
  303. if (uRow == null) return;
  304. PipeCheckconsignNoqualifiedEntity pipeNoTity = (PipeCheckconsignNoqualifiedEntity)uRow.ListObject;
  305. string pipeNoEntity = JSONFormat.Format(pipeNoTity);
  306. CoreClientParam ccp = new CoreClientParam();
  307. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  308. ccp.MethodName = "cancelRepeateFrim";
  309. ccp.ServerParams = new object[] { pipeNoEntity };
  310. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  311. if (ccp.ReturnCode != -1)
  312. {
  313. if (ccp.ReturnInfo.Equals("撤销复取样委托成功!"))
  314. {
  315. doQueryRepeate();
  316. MessageUtil.ShowTips(ccp.ReturnInfo);
  317. }
  318. else
  319. {
  320. MessageUtil.ShowTips(ccp.ReturnInfo);
  321. }
  322. }
  323. }
  324. private void printLable()
  325. {
  326. this.ultraGrid12.UpdateData();
  327. UltraGridRow uRow = this.ultraGrid12.ActiveRow;
  328. if (uRow == null) return;
  329. string checkNo = uRow.Cells["CheckNo"].Text.Trim();
  330. string strurl = "";
  331. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepEntrustLabel.cpt&&format=pdf&__embed__=true" + "&CHECK_NO=" + checkNo + "&JUDGE_STOVE_NO=" + uRow.Cells["JudgeStoveNo"].Text.Trim() + "&PROCESS_CODE=E";
  332. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  333. fBug.AutoSize = true;
  334. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  335. fBug.WindowState = FormWindowState.Maximized;
  336. fBug.Text = "样管号标签";
  337. fBug.Show();
  338. }
  339. /// <summary>
  340. /// 打印复样标签
  341. /// </summary>
  342. private void printReLable()
  343. {
  344. this.ultraGrid18.UpdateData();
  345. UltraGridRow uRow = this.ultraGrid18.ActiveRow;
  346. if (uRow == null) return;
  347. this.ultraGrid19.UpdateData();
  348. UltraGridRow uRow2 = this.ultraGrid19.ActiveRow;
  349. if (uRow2 == null) return;
  350. string checkNo = "F" + uRow.Cells["CheckNo"].Text.Trim();
  351. string strurl = "";
  352. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepEntrustLabel.cpt" + "&CHECK_NO=" + checkNo ;
  353. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  354. fBug.AutoSize = true;
  355. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  356. fBug.WindowState = FormWindowState.Maximized;
  357. fBug.Text = "样管号标签";
  358. fBug.Show();
  359. }
  360. /// <summary>
  361. /// 打印
  362. /// </summary>
  363. private void printTrust()
  364. {
  365. this.ultraGrid12.UpdateData();
  366. UltraGridRow uRow = this.ultraGrid12.ActiveRow;
  367. if (uRow == null) return;
  368. this.ultraGrid13.UpdateData();
  369. UltraGridRow uRow2 = this.ultraGrid13.ActiveRow;
  370. if (uRow2 == null) return;
  371. string checkNo = uRow.Cells["CheckNo"].Text.Trim();
  372. string orderNo = uRow2.Cells["OrderNo"].Text.Trim();
  373. string strurl = "";
  374. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsPortCheckConsignOrder.cpt&&format=pdf&__embed__=true" + "&CHECK_NO=" + checkNo + "&orderNo=" + orderNo;
  375. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  376. fBug.AutoSize = true;
  377. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  378. fBug.WindowState = FormWindowState.Maximized;
  379. fBug.Text = "检验委托单";
  380. fBug.Show();
  381. }
  382. /// <summary>
  383. /// 打印复样委托单
  384. /// </summary>
  385. private void printReTrust()
  386. {
  387. this.ultraGrid18.UpdateData();
  388. UltraGridRow uRow = this.ultraGrid18.ActiveRow;
  389. if (uRow == null) return;
  390. string checkNo = "F" + uRow.Cells["CheckNo"].Text.Trim();
  391. string orderNo = uRow.Cells["ContractNo"].Text.Trim();
  392. string strurl = "";
  393. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsPortCheckConsignOrder.cpt&&format=pdf&__embed__=true" + "&CHECK_NO=" + checkNo + "&orderNo=" + orderNo;
  394. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  395. fBug.AutoSize = true;
  396. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  397. fBug.WindowState = FormWindowState.Maximized;
  398. fBug.Text = "检验委托单";
  399. fBug.Show();
  400. }
  401. private void close()
  402. {
  403. this.Close();
  404. }
  405. /// <summary>
  406. /// 分批取样完成
  407. /// </summary>
  408. private void batchSeting()
  409. {
  410. this.ultraGrid1.UpdateData();
  411. this.ultraGrid3.UpdateData();
  412. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  413. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  414. if (uRow == null || lists.Count <= 0)
  415. {
  416. return;
  417. }
  418. if (lists.Any(p => p.PhyBatchNo == ""))
  419. {
  420. MessageUtil.ShowTips("还有未分配批号管材,不允许进行分批完成!");
  421. return;
  422. }
  423. if (lists.Any(p => p.Chk == true && p.SamplePipeLenA == "" && p.SamplePipeLenB == ""))
  424. {
  425. MessageUtil.ShowTips("还有已选做样管未输入样管长度的管材,不允许进行分批完成!");
  426. return;
  427. }
  428. if (lists.Any(p => p.Chk == true && !StringUtil.IsInt32(p.SamplePipeLenA) && !StringUtil.IsInt32(p.SamplePipeLenB)))
  429. {
  430. MessageUtil.ShowTips("样管长度单位为毫米,请输入整数!");
  431. return;
  432. }
  433. PlnZyDbkMEntity milPlans = (PlnZyDbkMEntity)uRow.ListObject;
  434. string milPlanEntity = JSONFormat.Format(milPlans);
  435. List<string> portMilEntity = lists.Select(JSONFormat.Format).ToList();
  436. CoreClientParam ccp = new CoreClientParam();
  437. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  438. ccp.MethodName = "batchSeting";
  439. ccp.ServerParams = new object[] { milPlanEntity, portMilEntity,UserInfo.GetUserName(),UserInfo.GetUserGroup(),UserInfo.GetUserOrder() };
  440. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  441. if (ccp.ReturnCode != -1)
  442. {
  443. if (ccp.ReturnInfo.Equals("分批取样完成!"))
  444. {
  445. doQueryPlan();
  446. MessageUtil.ShowTips(ccp.ReturnInfo);
  447. }
  448. else
  449. {
  450. MessageUtil.ShowTips(ccp.ReturnInfo);
  451. }
  452. }
  453. }
  454. /// <summary>
  455. /// 撤销分批取样
  456. /// </summary>
  457. private void cancelBatchSeting()
  458. {
  459. this.ultraGrid5.UpdateData();
  460. UltraGridRow uRow = this.ultraGrid5.ActiveRow;
  461. if (uRow == null) return;
  462. PlnZyDbkMEntity milPlans = (PlnZyDbkMEntity)uRow.ListObject;
  463. string milPlanEntity = JSONFormat.Format(milPlans);
  464. CoreClientParam ccp = new CoreClientParam();
  465. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  466. ccp.MethodName = "cancelBatchSeting";
  467. ccp.ServerParams = new object[] { milPlanEntity};
  468. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  469. if (ccp.ReturnCode != -1)
  470. {
  471. if (ccp.ReturnInfo.Equals("撤销成功!"))
  472. {
  473. doQueryPlan();
  474. MessageUtil.ShowTips(ccp.ReturnInfo);
  475. }
  476. else
  477. {
  478. MessageUtil.ShowTips(ccp.ReturnInfo);
  479. }
  480. }
  481. }
  482. /// <summary>
  483. /// 分批完成
  484. /// </summary>
  485. private void oprocessBatch()
  486. {
  487. this.ultraGrid1.UpdateData();
  488. this.ultraGrid3.UpdateData();
  489. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  490. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  491. if (uRow == null || lists.Count <= 0)
  492. {
  493. return;
  494. }
  495. if (lists.Any(p => p.PhyBatchNo == ""))
  496. {
  497. MessageUtil.ShowTips("还有未分配批号管材,不允许进行分批完成!");
  498. return;
  499. }
  500. PlnZyDbkMEntity milPlans = (PlnZyDbkMEntity)uRow.ListObject;
  501. string milPlanEntity = JSONFormat.Format(milPlans);
  502. List<string> portMilEntity = lists.Select(JSONFormat.Format).ToList();
  503. CoreClientParam ccp = new CoreClientParam();
  504. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  505. ccp.MethodName = "oprocessBatch";
  506. ccp.ServerParams = new object[] { milPlanEntity, portMilEntity, UserInfo.GetUserName(), UserInfo.GetUserGroup(), UserInfo.GetUserOrder() };
  507. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  508. if (ccp.ReturnCode != -1)
  509. {
  510. if (ccp.ReturnInfo.Equals("分批完成!"))
  511. {
  512. doQueryPlan();
  513. MessageUtil.ShowTips(ccp.ReturnInfo);
  514. }
  515. else
  516. {
  517. MessageUtil.ShowTips(ccp.ReturnInfo);
  518. }
  519. }
  520. }
  521. /// <summary>
  522. /// 撤销分批
  523. /// </summary>
  524. private void cancelBatch()
  525. {
  526. this.ultraGrid1.UpdateData();
  527. this.ultraGrid3.UpdateData();
  528. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  529. if (uRow == null) return;
  530. PlnZyDbkMEntity milPlans = (PlnZyDbkMEntity)uRow.ListObject;
  531. string milPlanEntity = JSONFormat.Format(milPlans);
  532. CoreClientParam ccp = new CoreClientParam();
  533. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  534. ccp.MethodName = "cancelBatch";
  535. ccp.ServerParams = new object[] { milPlanEntity };
  536. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  537. if (ccp.ReturnCode != -1)
  538. {
  539. if (ccp.ReturnInfo.Equals("撤销成功!"))
  540. {
  541. doQueryPlan();
  542. MessageUtil.ShowTips(ccp.ReturnInfo);
  543. }
  544. else
  545. {
  546. MessageUtil.ShowTips(ccp.ReturnInfo);
  547. }
  548. }
  549. }
  550. /// <summary>
  551. /// 撤销取样完成
  552. /// </summary>
  553. private void cancelGetSample()
  554. {
  555. this.ultraGrid5.UpdateData();
  556. UltraGridRow uRow = this.ultraGrid5.ActiveRow;
  557. if (uRow == null) return;
  558. PlnZyDbkMEntity milPlans = (PlnZyDbkMEntity)uRow.ListObject;
  559. string milPlanEntity = JSONFormat.Format(milPlans);
  560. CoreClientParam ccp = new CoreClientParam();
  561. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  562. ccp.MethodName = "cancelGetSample";
  563. ccp.ServerParams = new object[] { milPlanEntity };
  564. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  565. if (ccp.ReturnCode != -1)
  566. {
  567. if (ccp.ReturnInfo.Equals("撤销成功!"))
  568. {
  569. doQueryPlan();
  570. MessageUtil.ShowTips(ccp.ReturnInfo);
  571. }
  572. else
  573. {
  574. MessageUtil.ShowTips(ccp.ReturnInfo);
  575. }
  576. }
  577. }
  578. /// <summary>
  579. /// 取样完成
  580. /// </summary>
  581. private void getSample()
  582. {
  583. this.ultraGrid1.UpdateData();
  584. this.ultraGrid3.UpdateData();
  585. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  586. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  587. if (uRow == null || lists.Count <= 0)
  588. {
  589. return;
  590. }
  591. if (lists.Any(p => p.Chk == true && p.SamplePipeLenA == "" && p.SamplePipeLenB == ""))
  592. {
  593. MessageUtil.ShowTips("还有已选做样管未输入样管长度的管材,不允许进行取样完成!");
  594. return;
  595. }
  596. if (lists.Any(p => p.Chk == true && !StringUtil.IsInt32(p.SamplePipeLenA) && !StringUtil.IsInt32(p.SamplePipeLenB)))
  597. {
  598. MessageUtil.ShowTips("样管长度单位为毫米,请输入整数!");
  599. return;
  600. }
  601. PlnZyDbkMEntity milPlans = (PlnZyDbkMEntity)uRow.ListObject;
  602. string milPlanEntity = JSONFormat.Format(milPlans);
  603. List<string> portMilEntity = lists.Select(JSONFormat.Format).ToList();
  604. CoreClientParam ccp = new CoreClientParam();
  605. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  606. ccp.MethodName = "getSample";
  607. ccp.ServerParams = new object[] { milPlanEntity, portMilEntity, UserInfo.GetUserName(), UserInfo.GetUserGroup(), UserInfo.GetUserOrder() };
  608. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  609. if (ccp.ReturnCode != -1)
  610. {
  611. if (ccp.ReturnInfo.Equals("取样完成!"))
  612. {
  613. doQueryPlan();
  614. MessageUtil.ShowTips(ccp.ReturnInfo);
  615. }
  616. else
  617. {
  618. MessageUtil.ShowTips(ccp.ReturnInfo);
  619. }
  620. }
  621. }
  622. /// <summary>
  623. /// 确认委托
  624. /// </summary>
  625. private void confirm()
  626. {
  627. this.ultraGrid9.UpdateData();
  628. this.ultraGrid10.UpdateData();
  629. this.ultraGrid11.UpdateData();
  630. UltraGridRow uRow = this.ultraGrid9.ActiveRow;
  631. if (uRow == null) return;
  632. // List<CraftOrdDesignStdCicEntity> chemSource = EntityHelper.GetData<CraftOrdDesignStdCicEntity>(
  633. //"com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryChem", new object[] { uRow.Cells["ProPlanId"].Text, uRow.Cells["GxPlanNo"].Text, uRow.Cells["JudgeStoveNo"].Text.Substring(0,6) }, this.ob);//查询成分详细信息
  634. // List<CraftOrdDesignStdPicEntity> phySource = EntityHelper.GetData<CraftOrdDesignStdPicEntity>(
  635. //"com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryPhy", new object[] { uRow.Cells["ProPlanId"].Text, uRow.Cells["GxPlanNo"].Text, BaseMethod.getJudgeStoveNo(uRow.Cells["JudgeStoveNo"].Text) }, this.ob);//查询理化详细信息
  636. PlnZyDbkMEntity milTity = (PlnZyDbkMEntity)uRow.ListObject;
  637. string milEntity = JSONFormat.Format(milTity);
  638. List<List<string>> parmList = new List<List<string>>();
  639. foreach(UltraGridRow row in this.ultraGrid11.Rows)
  640. {
  641. int m = 0;
  642. List<string> list = new List<string>();
  643. list.Add(row.Cells["PHY_BATCH_NO"].Text);
  644. list.Add(row.Cells["MAT_NO"].Text);
  645. list.Add(row.Cells["SAMPLE_PIPE_LEN"].Text);
  646. list.Add(row.Cells["SAMPLE_POSTION"].Text);
  647. for (int j = 5; j < dataTable3.Columns.Count; j++)
  648. {
  649. if (row.Cells[j].Value == "√")
  650. {
  651. list.Add(row.Cells[j].Column.Key);
  652. m = m + 1;
  653. }
  654. }
  655. if(m>0)
  656. {
  657. parmList.Add(list);
  658. }
  659. }
  660. List<List<string>> batchList = parmList.GroupBy(p => p[0]).Select(p => p.FirstOrDefault()
  661. ).ToList();
  662. CoreClientParam ccp = new CoreClientParam();
  663. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  664. ccp.MethodName = "confirm";
  665. ccp.ServerParams = new object[] { milEntity, parmList, batchList, UserInfo.GetUserName(), UserInfo.GetDepartment() };
  666. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  667. if (ccp.ReturnCode != -1)
  668. {
  669. if (ccp.ReturnInfo.Equals("委托成功!"))
  670. {
  671. doQueryPlan();
  672. MessageUtil.ShowTips(ccp.ReturnInfo);
  673. }
  674. else
  675. {
  676. MessageUtil.ShowTips(ccp.ReturnInfo);
  677. }
  678. }
  679. }
  680. /// <summary>
  681. /// 取消确认
  682. /// </summary>
  683. private void cancelConfirm()
  684. {
  685. this.ultraGrid12.UpdateData();
  686. UltraGridRow uRow = this.ultraGrid12.ActiveRow;
  687. if (uRow == null) return;
  688. PlnZyDbkMEntity milTity = (PlnZyDbkMEntity)uRow.ListObject;
  689. string milPlanEntity = JSONFormat.Format(milTity);
  690. CoreClientParam ccp = new CoreClientParam();
  691. ccp.ServerName = "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew";
  692. ccp.MethodName = "cancelConfirm";
  693. ccp.ServerParams = new object[] { milPlanEntity };
  694. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  695. if (ccp.ReturnCode != -1)
  696. {
  697. if (ccp.ReturnInfo.Equals("撤销委托成功!"))
  698. {
  699. doQueryPlan();
  700. MessageUtil.ShowTips(ccp.ReturnInfo);
  701. }
  702. else
  703. {
  704. MessageUtil.ShowTips(ccp.ReturnInfo);
  705. }
  706. }
  707. }
  708. /// <summary>
  709. /// 查询炉计划
  710. /// </summary>
  711. private void doQueryPlan()
  712. {
  713. string startTime = "";
  714. string endTim = "";
  715. string lotNo = "";
  716. string judgeNo = "";
  717. if (this.chkRegTime.Checked)
  718. {
  719. startTime = this.RegStartTime.Value.ToString();
  720. endTim = this.RegEndTime.Value.ToString();
  721. }
  722. if (chkLotNo.Checked && this.txtLotNo.Text.Trim() != "")
  723. {
  724. lotNo = this.txtLotNo.Text;
  725. }
  726. if (chkJudgeNo.Checked && this.txtJudgeNo.Text.Trim() != "")
  727. {
  728. judgeNo = this.txtJudgeNo.Text;
  729. }
  730. ArrayList parm = new ArrayList();
  731. parm.Add(startTime);
  732. parm.Add(endTim);
  733. parm.Add(lotNo);
  734. parm.Add(judgeNo);
  735. if (this.ultraTabControl1.SelectedTab.Key == "0")
  736. {
  737. parm.Add("0");
  738. }
  739. else if(this.ultraTabControl1.SelectedTab.Key == "1")
  740. {
  741. parm.Add("2");
  742. }
  743. else if (this.ultraTabControl1.SelectedTab.Key == "2")
  744. {
  745. parm.Add("2");
  746. }
  747. else if (this.ultraTabControl1.SelectedTab.Key == "3")
  748. {
  749. parm.Add("3");
  750. }
  751. List<PlnZyDbkMEntity> listSource = EntityHelper.GetData<PlnZyDbkMEntity>(
  752. "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryPlan", new object[] { parm, plineCode }, this.ob);
  753. if (this.ultraTabControl1.SelectedTab.Key == "0")
  754. {
  755. plnZyDbkMEntityBindingSource1.Clear();
  756. portVrpBatchSampleResultEntityBindingSource.Clear();
  757. dataTable1.Clear();
  758. plnZyDbkMEntityBindingSource.DataSource = listSource;
  759. }
  760. else if (this.ultraTabControl1.SelectedTab.Key == "1")
  761. {
  762. plnZyDbkMEntityBindingSource3.Clear();
  763. portVrpBatchSampleResultEntityBindingSource1.Clear();
  764. dataTable2.Clear();
  765. plnZyDbkMEntityBindingSource2.DataSource = listSource;
  766. }
  767. else if (this.ultraTabControl1.SelectedTab.Key == "2")
  768. {
  769. plnZyDbkMEntityBindingSource5.Clear();
  770. dataTable3.Clear();
  771. plnZyDbkMEntityBindingSource4.DataSource = listSource;
  772. }
  773. else if (this.ultraTabControl1.SelectedTab.Key == "3")
  774. {
  775. plnZyDbkMEntityBindingSource7.Clear();
  776. dataTable4.Clear();
  777. plnZyDbkMEntityBindingSource6.DataSource = listSource;
  778. }
  779. }
  780. private void chkRegTime_CheckedChanged(object sender, EventArgs e)
  781. {
  782. this.RegStartTime.Enabled = this.RegEndTime.Enabled = this.chkRegTime.Checked;
  783. }
  784. private void chkLotNo_CheckedChanged(object sender, EventArgs e)
  785. {
  786. this.txtLotNo.Enabled = this.chkLotNo.Checked;
  787. }
  788. private void chkJudgeNo_CheckedChanged(object sender, EventArgs e)
  789. {
  790. this.txtJudgeNo.Enabled = this.chkJudgeNo.Checked;
  791. }
  792. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  793. {
  794. this.ultraGrid1.UpdateData();
  795. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  796. batchNoZ = doQueryBacthPline(uRow);
  797. doQueryBasePlan(uRow);
  798. doQueryRack(uRow);
  799. dtPlanDetial = doQueryCheckPlanDetila(uRow);
  800. if (dtPlanDetial != null && dtPlanDetial.Count() > 0)
  801. {
  802. var s = dtPlanDetial.Where(p => p.Rate == "408601" || p.Rate == "408608").ToList();
  803. if (s.Any())
  804. {
  805. dtPlanM = doQueryCheckPlan(uRow, "1");
  806. }
  807. else
  808. {
  809. dtPlanM = doQueryCheckPlan(uRow, "0");
  810. }
  811. }
  812. ultraGrid3.Update();
  813. ultraGrid3.DataBind();
  814. ultraGrid3_CellChange(null, null);
  815. if (dtPlanM == null || dtPlanDetial == null || dtPlanM.Count == 0 || dtPlanDetial.Count == 0)
  816. {
  817. txtBATCH_MIN.Text = "";
  818. txtBATCH_MIN.Text = this.txtPIPE_NUM.Text;//参考批数;
  819. return;
  820. }
  821. //bool isFlag = dtPlanDetial.Any(p => p.Rate == "408607" || p.Rate == "408608" || p.Rate == "408601");
  822. //if (isFlag)
  823. //{
  824. //}
  825. //else
  826. //{
  827. if (int.Parse(uRow.Cells["IsBatch"].Text) >= 1)
  828. {
  829. txt_BatchMax.Text = this.ultraGrid4.Rows[0].Cells["NUM"].Text;
  830. txtBATCH_MIN.Text = (Math.Ceiling(double.Parse(this.txtPIPE_NUM.Text) / int.Parse(this.txt_BatchMax.Text))).ToString();
  831. }
  832. else
  833. {
  834. minBatchNum = dtPlanDetial.Min(p => p.BatchCnt == null ? int.Parse(this.txtPIPE_NUM.Text) : (int)(p.BatchCnt));//检验计划最小分批数量
  835. txt_BatchMax.Text = minBatchNum.ToString();//分批上限
  836. txtREMARK.Text = dtPlanM.Select(p => p.Remark).Distinct().Aggregate((a, b) => a + " " + b);
  837. if (minBatchNum == 0)
  838. {
  839. txtBATCH_MIN.Text = "0";
  840. }
  841. else
  842. {
  843. txtBATCH_MIN.Text = (Math.Ceiling(double.Parse(this.txtPIPE_NUM.Text) / minBatchNum)).ToString();//参考批数
  844. }
  845. ultraGrid3.Update();
  846. ultraGrid3.DataBind();
  847. ultraGrid3_CellChange(null, null);
  848. }
  849. //}
  850. }
  851. private string doQueryBacthPline(UltraGridRow uRow)
  852. {
  853. string ss = "";
  854. DataTable ds = PublicServer.GetData("com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryBacthNo", new object[] { uRow.Cells["PlineCode"].Text }, ob);
  855. if (ds.Rows.Count > 0)
  856. {
  857. ss = ds.Rows[0][0].ToString();
  858. }
  859. return ss;
  860. }
  861. private void initBindTable()
  862. {
  863. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource1.DataSource as List<PortVrpBatchSampleResultEntity>;
  864. dataTable2.Rows.Clear();
  865. if (lists == null || lists.Count <= 0) return;
  866. foreach (var list in lists.Where(p => p.PhyBatchNo != "").GroupBy(p => p.PhyBatchNo))
  867. {
  868. DataRow newRow;
  869. newRow = dataTable2.NewRow();
  870. newRow["PHY_BATCH_NO"] = list.Key;
  871. newRow["START_SEQ"] = list.Min(p => p.Seq);
  872. newRow["END_SEQ"] = list.Max(p => p.Seq);
  873. newRow["NUM"] = list.Count();
  874. newRow["SAMPLE_NUM"] = list.Count(p => p.SamplePipeLenA != "" || p.SamplePipeLenB != "");
  875. dataTable2.Rows.Add(newRow);
  876. }
  877. ultraGrid8.Update();
  878. }
  879. /// <summary>
  880. /// 自动分批
  881. /// </summary>
  882. /// <param name="sender"></param>
  883. /// <param name="e"></param>
  884. private void btnAuto_Click(object sender, EventArgs e)
  885. {
  886. this.ultraGrid4.UpdateData();
  887. UltraGridRow row = this.ultraGrid1.ActiveRow;
  888. if(row == null)return;
  889. string target = row.Cells["Decision"].Text;
  890. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  891. if (lists==null || lists.Count<=0)
  892. {
  893. MessageUtil.ShowTips("不存在有效管号队列,不允许进行分批!");
  894. return;
  895. }
  896. if (dtPlanM == null || dtPlanM.Count <= 0)
  897. {
  898. MessageUtil.ShowTips("检验计划未确认,不能自动分批!");
  899. return;
  900. }
  901. int maxBacthNum = int.Parse(this.txt_BatchMax.Text.ToString3());//分批上限
  902. int maxBacth = dtPlanM.Max(p => p.BatchNo == null ? 1 : (int)(p.BatchNo));//取主表最大方案
  903. string sampleLen = "";//样管长度
  904. string sampleCount = "";//样管数量
  905. //为批号赋值
  906. for (int i = 0; i < int.Parse(this.txtBATCH_MIN.Text);i++)
  907. {
  908. var list = dtPlanM1.Where(p => p.BatchNo == (i+1 > maxBacth ? maxBacth : i+1)).ToList();
  909. var listA = list.Where(p => p.Position == "401201").ToList();
  910. var listB = list.Where(p => p.Position == "401202").ToList();
  911. int m = 0;
  912. for (int k = 0; k < listA.Count; k++)
  913. {
  914. var crft = listA[k];
  915. int a = (int)crft.SampleCount;//样管数量
  916. for (int j = 0; j < a; j++,m++)
  917. {
  918. if (lists.Count > m + i * maxBacthNum)
  919. {
  920. lists[m + i * maxBacthNum].SamplePipeLenA = crft.SampleLength.ToString();
  921. lists[m + i * maxBacthNum].PhyCodeGroup = crft.PhyCodeGroup.ToString();
  922. lists[m + i * maxBacthNum].Chk = true;
  923. }
  924. }
  925. }
  926. m = 0;
  927. for (int k = 0; k < listB.Count; k++)
  928. {
  929. var crft = listB[k];
  930. int a = (int)crft.SampleCount;//样管数量
  931. for (int j = 0; j < a; j++, m++)
  932. {
  933. if (lists.Count > m + i * maxBacthNum)
  934. {
  935. lists[m + i * maxBacthNum].SamplePipeLenB = crft.SampleLength.ToString();
  936. lists[m + i * maxBacthNum].PhyCodeGroupb = crft.PhyCodeGroup.ToString();
  937. lists[m + i * maxBacthNum].Chk = true;
  938. }
  939. }
  940. }
  941. if (target == "C")
  942. {
  943. lists.Skip(i * maxBacthNum).Take((i + 1) * maxBacthNum).ToList().ForEach(p => p.PhyBatchNo = batchNoZ + "999");
  944. }else
  945. {
  946. lists.Skip(i * maxBacthNum).Take((i + 1) * maxBacthNum).ToList().ForEach(p => p.PhyBatchNo = batchNoZ + (i + 1).ToString("000"));
  947. }
  948. }
  949. ultraGrid3.Update();
  950. ultraGrid3.DataBind();
  951. ultraGrid3_CellChange(null, null);
  952. }
  953. /// <summary>
  954. /// 人工分批
  955. /// </summary>
  956. /// <param name="sender"></param>
  957. /// <param name="e"></param>
  958. private void btnConfirm_Click(object sender, EventArgs e)
  959. {
  960. this.ultraGrid4.UpdateData();
  961. UltraGridRow row = this.ultraGrid1.ActiveRow;
  962. if (row == null) return;
  963. string target = row.Cells["Decision"].Text;
  964. int sampleNum = 0;
  965. if (!StringUtil.IsInt32(this.txt_SampleNum.Text.Trim().ToString3()))
  966. {
  967. MessageUtil.ShowTips("样管数量需输入正整数!");
  968. return;
  969. }
  970. else
  971. {
  972. sampleNum = int.Parse(this.txt_SampleNum.Text.Trim().ToString3());
  973. }
  974. if (!StringUtil.IsInt32(txt_BatchMax.Text.ToString3()) || int.Parse(txt_BatchMax.Text.ToString3()) <= 0)
  975. {
  976. MessageUtil.ShowTips("人工分批输入的分批上限需为正整数!");
  977. return;
  978. }
  979. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  980. var m = lists.Where(p => p.PhyBatchNo == "").ToList();//判断是否还未分配性能批号集合数据
  981. if (m.Count == 0)
  982. {
  983. return;
  984. }
  985. int Bathno = 1;
  986. for (int k = 0; k < int.Parse(this.txtBATCH_MIN.Text.ToString3()); k++)
  987. {
  988. int startSeq = int.Parse(ultraSTART_PIPE_NO.Text);//开始序号
  989. int endSeq = int.Parse(ultraEND_PIPE_NO.Text);//结束序号
  990. var lists1 = lists.Where(p => p.PhyBatchNo != "").ToList();
  991. if (lists1.Any())
  992. {
  993. Bathno = lists1.Max(p => int.Parse(p.PhyBatchNo.Substring(2, 3))) + 1;
  994. }
  995. if (target == "C")
  996. {
  997. m.Take(endSeq - startSeq + 1).ToList().ForEach(p => p.PhyBatchNo = batchNoZ + "999");//赋值批号
  998. }
  999. else
  1000. {
  1001. m.Take(endSeq - startSeq + 1).ToList().ForEach(p => p.PhyBatchNo = batchNoZ + Bathno.ToString("000"));//赋值批号
  1002. }
  1003. m.Take(sampleNum).ToList().ForEach(p => p.Chk = true);
  1004. ultraSTART_PIPE_NO.Text = m.First().Seq.ToString();//初始序号 跳过已赋值批号数据
  1005. ultraEND_PIPE_NO.Text = m.Take(int.Parse(txt_BatchMax.Text)).Last().Seq.ToString();//结束序号
  1006. ultraGrid3.Update();
  1007. ultraGrid3.DataBind();
  1008. ultraGrid3_CellChange(null, null);
  1009. m = lists.Where(p => p.PhyBatchNo == "").ToList();//判断是否还未分配性能批号集合数据
  1010. if (m.Count == 0)
  1011. {
  1012. return;
  1013. }
  1014. }
  1015. }
  1016. /// <summary>
  1017. /// 查询检验计划子表
  1018. /// </summary>
  1019. /// <param name="uRow"></param>
  1020. /// <returns></returns>
  1021. private List<CraftSamplingDetailEntity> doQueryCheckPlanDetila(UltraGridRow uRow)
  1022. {
  1023. List<CraftSamplingDetailEntity> listSource = EntityHelper.GetData<CraftSamplingDetailEntity>(
  1024. "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryCheckPlanDetial", new object[] { uRow.Cells["OrdLnPk"].Text, uRow.Cells["CraftFileNo"].Text, uRow.Cells["CraftSeq"].Text }, this.ob);//查询检验计划主表
  1025. return listSource;
  1026. }
  1027. /// <summary>
  1028. /// 查询检验计划主表
  1029. /// </summary>
  1030. /// <param name="uRow"></param>
  1031. private List<CraftSamplingMEntity> doQueryCheckPlan(UltraGridRow uRow,string flag)
  1032. {
  1033. List<CraftSamplingMEntity> listSource = EntityHelper.GetData<CraftSamplingMEntity>(
  1034. "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryCheckPlan", new object[] { uRow.Cells["OrdLnPk"].Text, uRow.Cells["CraftFileNo"].Text, uRow.Cells["CraftSeq"].Text,flag }, this.ob);//查询检验计划主表
  1035. return listSource;
  1036. }
  1037. /// <summary>
  1038. /// 查询炉计划基础信息
  1039. /// </summary>
  1040. /// <param name="row"></param>
  1041. private void doQueryBasePlan(UltraGridRow row)
  1042. {
  1043. List<PlnZyDbkMEntity> listSource = EntityHelper.GetData<PlnZyDbkMEntity>(
  1044. "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryBasePlan", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["JudgeStoveNo"].Text }, this.ob);
  1045. if (this.ultraTabControl1.SelectedTab.Key == "0")
  1046. {
  1047. plnZyDbkMEntityBindingSource1.DataSource = listSource;
  1048. }
  1049. else if (this.ultraTabControl1.SelectedTab.Key == "1")
  1050. {
  1051. plnZyDbkMEntityBindingSource3.DataSource = listSource;
  1052. }
  1053. else if (this.ultraTabControl1.SelectedTab.Key == "2")
  1054. {
  1055. plnZyDbkMEntityBindingSource5.DataSource = listSource;
  1056. }else if(this.ultraTabControl1.SelectedTab.Key == "3")
  1057. {
  1058. plnZyDbkMEntityBindingSource7.DataSource = listSource;
  1059. }
  1060. }
  1061. /// <summary>
  1062. /// 查询管号队列
  1063. /// </summary>
  1064. /// <param name="row"></param>
  1065. private void doQueryRack(UltraGridRow row)
  1066. {
  1067. List<PortVrpBatchSampleResultEntity> listSource = EntityHelper.GetData<PortVrpBatchSampleResultEntity>(
  1068. "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryRack", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["JudgeStoveNo"].Text }, this.ob);
  1069. if (this.ultraTabControl1.SelectedTab.Key == "0")
  1070. {
  1071. portVrpBatchSampleResultEntityBindingSource.DataSource = listSource;
  1072. txtPIPE_NUM.Text = listSource.Count.ToString();
  1073. }
  1074. else if (this.ultraTabControl1.SelectedTab.Key == "1")
  1075. {
  1076. List<PortVrpBatchSampleResultEntity> lists = listSource as List<PortVrpBatchSampleResultEntity>;
  1077. lists.Where(p => p.IsSamplePipe == "1").ToList().ForEach(p => p.Chk = true);
  1078. portVrpBatchSampleResultEntityBindingSource1.DataSource = lists;
  1079. initBindTable();
  1080. }
  1081. }
  1082. private void txt_BatchMax_ValueChanged(object sender, EventArgs e)
  1083. {
  1084. UltraGridRow uRow = this.ultraGrid1.ActiveRow;
  1085. if (uRow == null) return;
  1086. if (!StringUtil.IsInt32(this.txt_BatchMax.Text.Trim()))
  1087. {
  1088. MessageUtil.ShowTips("分批上限请输入整数!");
  1089. return;
  1090. }
  1091. doQueryRack(uRow);
  1092. dataTable1.Clear();
  1093. if (int.Parse(this.txt_BatchMax.Text) == 0)
  1094. {
  1095. txtBATCH_MIN.Text = "0";
  1096. }else
  1097. {
  1098. txtBATCH_MIN.Text = (Math.Ceiling(double.Parse(this.txtPIPE_NUM.Text) / int.Parse(this.txt_BatchMax.Text))).ToString();
  1099. }
  1100. if (dtPlanDetial.Count > 0)
  1101. {
  1102. //bool isBacthFlag = dtPlanDetial.Any(p => p.Rate == "408601" || p.Rate == "408608");//判断是否试样组有生产批
  1103. //if (isBacthFlag)
  1104. //{
  1105. //}
  1106. //else
  1107. //{
  1108. int maxBacth = dtPlanM.Max(p => p.BatchNum == null ? 1 : (int)(p.BatchNum));//取主表最大方案
  1109. int batchNum = int.Parse(txtBATCH_MIN.Text);//实际批数
  1110. dtPlanM1 = dtPlanM.Where(p => p.BatchNum == (batchNum > maxBacth ? maxBacth : batchNum)).ToList();//取具体方案
  1111. //}
  1112. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  1113. if (lists == null || lists.Count() == 0)
  1114. {
  1115. return;
  1116. }
  1117. var lists1 = lists.Where(p => p.BatchNo == "").ToList();
  1118. if (lists1.Any())
  1119. {
  1120. ultraSTART_PIPE_NO.Text = lists1.First().Seq.ToString();
  1121. ultraEND_PIPE_NO.Text =
  1122. lists1.Take(int.Parse(txt_BatchMax.Text)).Last().Seq.ToString();
  1123. }
  1124. else
  1125. {
  1126. ultraSTART_PIPE_NO.Text = "";
  1127. ultraEND_PIPE_NO.Text = "";
  1128. }
  1129. /*
  1130. ultraSTART_PIPE_NO.Text = lists.Where(p => p.BatchNo == "").First().Seq.ToString();
  1131. ultraEND_PIPE_NO.Text = lists.Where(p => p.BatchNo == "").Take(int.Parse(txt_BatchMax.Text)).Last().Seq.ToString();*/
  1132. }
  1133. else
  1134. {
  1135. ultraSTART_PIPE_NO.Text = "1";
  1136. ultraEND_PIPE_NO.Text = this.txt_BatchMax.Text;
  1137. }
  1138. }
  1139. private void ultraGrid3_CellChange(object sender, CellEventArgs e)
  1140. {
  1141. dataTable1.Rows.Clear();
  1142. ultraGrid3.Update();
  1143. ultraGrid3.UpdateData();
  1144. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  1145. if (lists == null || lists.Count() <= 0) return;
  1146. foreach (var list in lists.Where(p => p.PhyBatchNo != "").GroupBy(p => p.PhyBatchNo))
  1147. {
  1148. DataRow newRow;
  1149. newRow = dataTable1.NewRow();
  1150. newRow["PHY_BATCH_NO"] = list.Key;
  1151. newRow["START_SEQ"] = list.Min(p => int.Parse(p.Seq));
  1152. newRow["END_SEQ"] = list.Max(p => int.Parse(p.Seq));
  1153. newRow["NUM"] = list.Count();
  1154. newRow["SAMPLE_NUM"] = list.Count(p => p.Chk);
  1155. dataTable1.Rows.Add(newRow);
  1156. }
  1157. ultraGrid4.Update();
  1158. }
  1159. private void ultraGrid5_AfterRowActivate(object sender, EventArgs e)
  1160. {
  1161. this.ultraGrid5.UpdateData();
  1162. UltraGridRow uRow = this.ultraGrid5.ActiveRow;
  1163. if (uRow == null) return;
  1164. doQueryRack(uRow);
  1165. doQueryBasePlan(uRow);
  1166. }
  1167. DataTable dtChem = new DataTable();
  1168. DataTable dtPhy = new DataTable();
  1169. private void ultraGrid9_AfterRowActivate(object sender, EventArgs e)
  1170. {
  1171. this.ultraGrid9.UpdateData();
  1172. UltraGridRow uRow = this.ultraGrid9.ActiveRow;
  1173. if (uRow == null) return;
  1174. doQuerySampleRack(uRow);//查询样管信息
  1175. doQueryBasePlan(uRow);
  1176. doQueryPhyChem(uRow);//查询成分、理化项目明细
  1177. }
  1178. private void ultraGrid12_AfterRowActivate(object sender, EventArgs e)
  1179. {
  1180. this.ultraGrid12.UpdateData();
  1181. UltraGridRow uRow = this.ultraGrid12.ActiveRow;
  1182. if (uRow == null) return;
  1183. doQueryBasePlan(uRow);
  1184. doQuerySampleNo(uRow);//查询试样号信息
  1185. }
  1186. /// <summary>
  1187. /// 查询试样号信息
  1188. /// </summary>
  1189. /// <param name="uRow"></param>
  1190. private void doQuerySampleNo(UltraGridRow uRow)
  1191. {
  1192. while (dataTable4.Columns.Count > 3)
  1193. {
  1194. dataTable4.Columns.RemoveAt(3);
  1195. }
  1196. DataTable dtSample = PublicServer.GetData("com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryDetialSampleNo",
  1197. new Object[] { uRow.Cells["CheckNo"].Text }, ob);
  1198. dataTable4.Rows.Clear();
  1199. dtSample.AsEnumerable().GroupBy(p => new { BatchNo = p["BATCH_NO"].ToString(), Sample = p["SAMPLE_NO"].ToString() }).ToList()
  1200. .ForEach(p =>
  1201. {
  1202. foreach (DataRow row in p)
  1203. {
  1204. if (!dataTable4.Columns.Contains(row["PHY_CODE_MAX"].ToString()))
  1205. {
  1206. DataColumn phyCloum = new DataColumn();
  1207. phyCloum.ColumnName = row["PHY_CODE_MAX"].ToString();
  1208. phyCloum.Caption = row["PHY_NAME_MAX"].ToString();
  1209. dataTable4.Columns.Add(phyCloum);
  1210. }
  1211. }
  1212. DataRow dr = dataTable4.NewRow();
  1213. dr["PHY_BATCH_NO"] = p.Key.BatchNo;
  1214. dr["SAMPLE_NO"] = p.Key.Sample;
  1215. dr["SAMPLE_LEN"] = p.Max(q => q["SAMPLE_LEN"]);
  1216. foreach (DataRow row in p)
  1217. {
  1218. dr[row["PHY_CODE_MAX"].ToString()] = row["SAMPLE_COUNT"].ToString();
  1219. }
  1220. dataTable4.Rows.Add(dr);
  1221. });
  1222. ultraGrid14.DataBind();
  1223. // GridHelper.CopyDataToDatatable(dtSample, dataTable4, true);
  1224. GridHelper.RefreshAndAutoSize(ultraGrid14);
  1225. }
  1226. /// <summary>
  1227. /// 查询成分理化项目明细
  1228. /// </summary>
  1229. /// <param name="uRow"></param>
  1230. private void doQueryPhyChem(UltraGridRow uRow)
  1231. {
  1232. while (dataTable3.Columns.Count > 5)
  1233. {
  1234. dataTable3.Columns.RemoveAt(5);
  1235. }
  1236. dtChem = PublicServer.GetData("com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryChem", new Object[] { uRow.Cells["ProPlanId"].Text, uRow.Cells["GxPlanNo"].Text, BaseMethod.getJudgeStoveNo(uRow.Cells["JudgeStoveNo"].Text) }, ob);//查询成分明细
  1237. if (dtChem.Rows.Count > 0)
  1238. {
  1239. DataColumn hxCloum = new DataColumn();
  1240. hxCloum.ColumnName = "HX";
  1241. hxCloum.Caption = "化学";
  1242. dataTable3.Columns.Add(hxCloum);
  1243. }
  1244. dtPhy = PublicServer.GetData("com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryPhy", new Object[] { uRow.Cells["ProPlanId"].Text, uRow.Cells["GxPlanNo"].Text, BaseMethod.getJudgeStoveNo(uRow.Cells["JudgeStoveNo"].Text) }, ob);//查询理化明细
  1245. string[] phyMaxCode = null;
  1246. ultraLabel3.Text = "";
  1247. List<string> list = new List<string>();
  1248. if (dtPhy.Rows.Count > 0)
  1249. {
  1250. dtPhy.AsEnumerable().Select(p => new { Code = p["PHY_CODE_MIN"].ToString(), Name = p["PHY_NAME_MIN"].ToString(), rate = p["RATE"].ToString(), rateName = p["DESC_RATE"].ToString() }).Distinct().ToList()
  1251. .ForEach(p =>
  1252. {
  1253. DataColumn phyCloum = new DataColumn();
  1254. phyCloum.ColumnName = p.Code;
  1255. phyCloum.Caption = p.Name;
  1256. dataTable3.Columns.Add(phyCloum);
  1257. if (p.rate.Equals("408601") || p.rate.Equals("408608"))
  1258. {
  1259. ultraLabel3.Text = ultraLabel3.Text + p.Name + " 取样频次:" + p.rateName;
  1260. list.Add(p.Code);
  1261. }
  1262. });
  1263. }
  1264. foreach(DataRow dr in dataTable3.Rows)
  1265. {
  1266. string[] phyCodeGroup = dr["PHY_CODE_GROUP"].ToString().Split(',');
  1267. for (int i = 5; i < dataTable3.Columns.Count; i++)
  1268. {
  1269. if (phyCodeGroup.Contains(dataTable3.Columns[i].ColumnName))
  1270. {
  1271. dr[i] = "√";
  1272. }
  1273. }
  1274. }
  1275. phyMaxCode = list.ToArray();
  1276. ultraGrid11.DataBind();
  1277. GridHelper.RefreshAndAutoSize(ultraGrid11);
  1278. ultraLabel3.ForeColor = Color.Red;
  1279. //if (phyMaxCode.Length > 0)
  1280. //{
  1281. // doQueryPhyCodeMax(phyMaxCode, uRow.Cells["LotNo"].Text);
  1282. //}
  1283. }
  1284. private void doQueryPhyCodeMax(string[] phyMaxCode, string lotNo)
  1285. {
  1286. List<PipeCheckconsignDetailEntity> listSource = EntityHelper.GetData<PipeCheckconsignDetailEntity>(
  1287. "com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryPhyCodeMax", new object[] { lotNo, phyMaxCode }, this.ob);
  1288. pipeCheckconsignDetailEntityBindingSource.DataSource = listSource;
  1289. }
  1290. /// <summary>
  1291. /// 查询样管信息
  1292. /// </summary>
  1293. private void doQuerySampleRack(UltraGridRow uRow)
  1294. {
  1295. DataTable dtBatchNo = PublicServer.GetData("com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQuerySampleInfo",
  1296. new Object[] { uRow.Cells["HeatPlanNo"].Text, uRow.Cells["JudgeStoveNo"].Text }, ob);
  1297. dataTable3.Rows.Clear();
  1298. foreach (DataRow row in dtBatchNo.Rows)
  1299. {
  1300. if (row["SAMPLE_PIPE_LEN_A"] != null && row["SAMPLE_PIPE_LEN_A"].ToString() != "")
  1301. {
  1302. DataRow newRowA = dataTable3.NewRow();
  1303. newRowA["PHY_BATCH_NO"] = row["PHY_BATCH_NO"].ToString();
  1304. newRowA["MAT_NO"] = row["MAT_NO"].ToString();
  1305. newRowA["SAMPLE_PIPE_LEN"] = row["SAMPLE_PIPE_LEN_A"].ToString();
  1306. newRowA["SAMPLE_POSTION"] = "A端";
  1307. newRowA["PHY_CODE_GROUP"] = row["PHY_CODE_GROUP"].ToString();
  1308. dataTable3.Rows.Add(newRowA);
  1309. }
  1310. if (row["SAMPLE_PIPE_LEN_B"] != null && row["SAMPLE_PIPE_LEN_B"].ToString() != "")
  1311. {
  1312. DataRow newRowA = dataTable3.NewRow();
  1313. newRowA["PHY_BATCH_NO"] = row["PHY_BATCH_NO"].ToString();
  1314. newRowA["MAT_NO"] = row["MAT_NO"].ToString();
  1315. newRowA["SAMPLE_PIPE_LEN"] = row["SAMPLE_PIPE_LEN_B"].ToString();
  1316. newRowA["SAMPLE_POSTION"] = "B端";
  1317. newRowA["PHY_CODE_GROUP"] = row["PHY_CODE_GROUPB"].ToString();
  1318. dataTable3.Rows.Add(newRowA);
  1319. }
  1320. }
  1321. GridHelper.RefreshAndAutoSize(ultraGrid11);
  1322. }
  1323. private void ultraGrid11_ClickCell(object sender, ClickCellEventArgs e)
  1324. {
  1325. if (e.Cell.Column.Key != "PHY_BATCH_NO" && e.Cell.Column.Key != "MAT_NO" && e.Cell.Column.Key != "SAMPLE_PIPE_LEN" && e.Cell.Column.Key != "SAMPLE_POSTION")
  1326. {
  1327. if (e.Cell.Text.Trim() == "")
  1328. {
  1329. e.Cell.Value = "√";
  1330. }
  1331. else
  1332. {
  1333. e.Cell.Value = "";
  1334. }
  1335. }
  1336. }
  1337. private void FrmMilBatchSampleNew_Shown(object sender, EventArgs e)
  1338. {
  1339. if (toolMenu == null || toolMenu.Toolbars == null) return;
  1340. if (toolMenu.Toolbars[0].Tools.Exists("CancelBatchSeting"))
  1341. {
  1342. toolMenu.Toolbars[0].Tools["CancelBatchSeting"].InstanceProps.Visible = DefaultableBoolean.False;
  1343. }
  1344. if (toolMenu.Toolbars[0].Tools.Exists("Confirm"))
  1345. {
  1346. toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = DefaultableBoolean.False;
  1347. }
  1348. if (toolMenu.Toolbars[0].Tools.Exists("CancelConfirm"))
  1349. {
  1350. toolMenu.Toolbars[0].Tools["CancelConfirm"].InstanceProps.Visible = DefaultableBoolean.False;
  1351. }
  1352. if (toolMenu.Toolbars[0].Tools.Exists("Print"))
  1353. {
  1354. toolMenu.Toolbars[0].Tools["Print"].InstanceProps.Visible = DefaultableBoolean.False;
  1355. }
  1356. if (toolMenu.Toolbars[0].Tools.Exists("PrintLable"))
  1357. {
  1358. toolMenu.Toolbars[0].Tools["PrintLable"].InstanceProps.Visible = DefaultableBoolean.False;
  1359. }
  1360. if (toolMenu.Toolbars[0].Tools.Exists("QueryRepeate"))
  1361. {
  1362. toolMenu.Toolbars[0].Tools["QueryRepeate"].InstanceProps.Visible = DefaultableBoolean.False;
  1363. }
  1364. if (toolMenu.Toolbars[0].Tools.Exists("CancelGetSample"))
  1365. {
  1366. toolMenu.Toolbars[0].Tools["CancelGetSample"].InstanceProps.Visible = DefaultableBoolean.False;
  1367. }
  1368. if (toolMenu.Toolbars[0].Tools.Exists("ReGetSample"))
  1369. {
  1370. toolMenu.Toolbars[0].Tools["ReGetSample"].InstanceProps.Visible = DefaultableBoolean.False;
  1371. }
  1372. if (toolMenu.Toolbars[0].Tools.Exists("CancelReGetSample"))
  1373. {
  1374. toolMenu.Toolbars[0].Tools["CancelReGetSample"].InstanceProps.Visible = DefaultableBoolean.False;
  1375. }
  1376. if (toolMenu.Toolbars[0].Tools.Exists("RepeateFrim"))
  1377. {
  1378. toolMenu.Toolbars[0].Tools["RepeateFrim"].InstanceProps.Visible = DefaultableBoolean.False;
  1379. }
  1380. if (toolMenu.Toolbars[0].Tools.Exists("CancelRepeateFrim"))
  1381. {
  1382. toolMenu.Toolbars[0].Tools["CancelRepeateFrim"].InstanceProps.Visible = DefaultableBoolean.False;
  1383. }
  1384. if (toolMenu.Toolbars[0].Tools.Exists("PrintRe"))
  1385. {
  1386. toolMenu.Toolbars[0].Tools["PrintRe"].InstanceProps.Visible = DefaultableBoolean.False;
  1387. }
  1388. if (toolMenu.Toolbars[0].Tools.Exists("PrintReLable"))
  1389. {
  1390. toolMenu.Toolbars[0].Tools["PrintReLable"].InstanceProps.Visible = DefaultableBoolean.False;
  1391. }
  1392. }
  1393. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  1394. {
  1395. if (toolMenu == null || toolMenu.Toolbars == null) return;
  1396. if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 4 || this.ultraTabControl1.SelectedTab.Index == 5 ? DefaultableBoolean.False : DefaultableBoolean.True; }
  1397. if (toolMenu.Toolbars[0].Tools.Exists("BatchSeting")) { toolMenu.Toolbars[0].Tools["BatchSeting"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1398. if (toolMenu.Toolbars[0].Tools.Exists("CancelBatchSeting")) { toolMenu.Toolbars[0].Tools["CancelBatchSeting"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 1 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1399. if (toolMenu.Toolbars[0].Tools.Exists("OprocessBatch")) { toolMenu.Toolbars[0].Tools["OprocessBatch"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1400. if (toolMenu.Toolbars[0].Tools.Exists("CancelOprocessBatch")) { toolMenu.Toolbars[0].Tools["CancelOprocessBatch"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1401. if (toolMenu.Toolbars[0].Tools.Exists("GetSample")) { toolMenu.Toolbars[0].Tools["GetSample"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1402. if (toolMenu.Toolbars[0].Tools.Exists("CancelGetSample")) { toolMenu.Toolbars[0].Tools["CancelGetSample"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 1 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1403. if (toolMenu.Toolbars[0].Tools.Exists("Confirm")) { toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 2 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1404. if (toolMenu.Toolbars[0].Tools.Exists("CancelConfirm")) { toolMenu.Toolbars[0].Tools["CancelConfirm"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 3 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1405. if (toolMenu.Toolbars[0].Tools.Exists("Print")) { toolMenu.Toolbars[0].Tools["Print"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 3 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1406. if (toolMenu.Toolbars[0].Tools.Exists("PrintLable")) { toolMenu.Toolbars[0].Tools["PrintLable"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 3 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1407. if (toolMenu.Toolbars[0].Tools.Exists("QueryRepeate")) { toolMenu.Toolbars[0].Tools["QueryRepeate"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 4 || this.ultraTabControl1.SelectedTab.Index == 5 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1408. if (toolMenu.Toolbars[0].Tools.Exists("ReGetSample")) { toolMenu.Toolbars[0].Tools["ReGetSample"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 4 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1409. if (toolMenu.Toolbars[0].Tools.Exists("CancelReGetSample")) { toolMenu.Toolbars[0].Tools["CancelReGetSample"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 4 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1410. if (toolMenu.Toolbars[0].Tools.Exists("PrintRe")) { toolMenu.Toolbars[0].Tools["PrintRe"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 5 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1411. if (toolMenu.Toolbars[0].Tools.Exists("PrintReLable")) { toolMenu.Toolbars[0].Tools["PrintReLable"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 5 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1412. if (toolMenu.Toolbars[0].Tools.Exists("RepeateFrim")) { toolMenu.Toolbars[0].Tools["RepeateFrim"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 5 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1413. if (toolMenu.Toolbars[0].Tools.Exists("CancelRepeateFrim")) { toolMenu.Toolbars[0].Tools["CancelRepeateFrim"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 5 ? DefaultableBoolean.True : DefaultableBoolean.False; }
  1414. }
  1415. private void txtBATCH_MIN_ValueChanged(object sender, EventArgs e)
  1416. {
  1417. if (txtBATCH_MIN.Text == "") return;
  1418. if (dtPlanM == null || dtPlanDetial == null || dtPlanM.Count == 0 || dtPlanDetial.Count == 0)
  1419. {
  1420. return;
  1421. }
  1422. //bool isBacthFlag = dtPlanDetial.Any(p => p.Rate == "408601" || p.Rate == "408608");//判断是否试样组有生产批
  1423. //if (isBacthFlag)
  1424. //{
  1425. //}
  1426. //else
  1427. //{
  1428. int maxBacth = dtPlanM.Max(p => p.BatchNum == null ? 1 : (int)(p.BatchNum));//取主表最大方案
  1429. int batchNum = int.Parse(txtBATCH_MIN.Text);//实际批数
  1430. dtPlanM1 = dtPlanM.Where(p => p.BatchNum == (batchNum > maxBacth ? maxBacth : batchNum)).ToList();//取具体方案
  1431. //}
  1432. }
  1433. private void buttonBatchNo_Click(object sender, EventArgs e)
  1434. {
  1435. this.ultraGrid4.UpdateData();
  1436. UltraGridRow row = this.ultraGrid1.ActiveRow;
  1437. if (row == null) return;
  1438. string target = row.Cells["Decision"].Text;
  1439. if (!StringUtil.IsInt32(txt_BatchMax.Text.ToString3()) || int.Parse(txt_BatchMax.Text.ToString3()) <= 0)
  1440. {
  1441. MessageUtil.ShowTips("人工分批输入的分批上限需为正整数!");
  1442. return;
  1443. }
  1444. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  1445. var m = lists.Where(p => p.PhyBatchNo == "").ToList();//判断是否还未分配性能批号集合数据
  1446. if (m.Count == 0)
  1447. {
  1448. return;
  1449. }
  1450. int Bathno = 1;
  1451. int sampleNum = 0;
  1452. for (int k = 0; k < int.Parse(this.txtBATCH_MIN.Text.ToString3()); k++)
  1453. {
  1454. int startSeq = int.Parse(ultraSTART_PIPE_NO.Text);//开始序号
  1455. int endSeq = int.Parse(ultraEND_PIPE_NO.Text);//结束序号
  1456. var lists1 = lists.Where(p => p.PhyBatchNo != "").ToList();
  1457. if (lists1.Any())
  1458. {
  1459. Bathno = lists1.Max(p => int.Parse(p.PhyBatchNo.Substring(2, 3))) + 1;
  1460. }
  1461. if (target == "C")
  1462. {
  1463. m.Take(endSeq - startSeq + 1).ToList().ForEach(p => p.PhyBatchNo = batchNoZ + "999");//赋值批号
  1464. }
  1465. else
  1466. {
  1467. m.Take(endSeq - startSeq + 1).ToList().ForEach(p => p.PhyBatchNo = batchNoZ + Bathno.ToString("000"));//赋值批号
  1468. }
  1469. m.Take(sampleNum).ToList().ForEach(p => p.Chk = true);
  1470. ultraSTART_PIPE_NO.Text = m.First().Seq.ToString();//初始序号 跳过已赋值批号数据
  1471. ultraEND_PIPE_NO.Text = m.Take(int.Parse(txt_BatchMax.Text.ToString3())).Last().Seq.ToString();//结束序号
  1472. ultraGrid3.Update();
  1473. ultraGrid3.DataBind();
  1474. ultraGrid3_CellChange(null, null);
  1475. m = lists.Where(p => p.PhyBatchNo == "").ToList();//判断是否还未分配性能批号集合数据
  1476. if (m.Count == 0)
  1477. {
  1478. return;
  1479. }
  1480. }
  1481. }
  1482. private void buttonGetSample_Click(object sender, EventArgs e)
  1483. {
  1484. this.ultraGrid4.UpdateData();
  1485. int sampleNum = 0;
  1486. List<PortVrpBatchSampleResultEntity> lists = portVrpBatchSampleResultEntityBindingSource.DataSource as List<PortVrpBatchSampleResultEntity>;
  1487. var m = lists.Where(p => p.PhyBatchNo != "").ToList();//判断是否还未分配性能批号集合数据
  1488. if (m.Count == 0)
  1489. {
  1490. return;
  1491. }
  1492. if (dtPlanM1.Count() == 0)
  1493. {
  1494. if (!StringUtil.IsInt32(this.txt_SampleNum.Text.Trim().ToString3()))
  1495. {
  1496. MessageUtil.ShowTips("样管数量需输入正整数!");
  1497. return;
  1498. }
  1499. if (int.Parse(this.txt_SampleNum.Text.Trim().ToString3()) <= 0)
  1500. {
  1501. MessageUtil.ShowTips("取样时每批样管数应大于0");
  1502. return;
  1503. }
  1504. else
  1505. {
  1506. sampleNum = int.Parse(this.txt_SampleNum.Text.Trim().ToString3());
  1507. }
  1508. foreach (var item in lists.GroupBy(p => p.PhyBatchNo))
  1509. {
  1510. item.Take(sampleNum).ToList().ForEach(p => p.Chk = true);
  1511. }
  1512. }
  1513. else
  1514. {
  1515. int maxBacthNum = int.Parse(this.ultraGrid4.Rows[0].Cells["NUM"].Text);//分批上限
  1516. int maxBacth = dtPlanM.Max(p => p.BatchNo == null ? 1 : (int)(p.BatchNo));//取主表最大方案
  1517. for (int i = 0; i < lists.GroupBy(p => p.PhyBatchNo).Count(); i++)
  1518. {
  1519. var list = dtPlanM1.Where(p => p.BatchNo == (i + 1 > maxBacth ? maxBacth : i + 1)).ToList();
  1520. var listA = list.Where(p => p.Position == "401201").ToList();
  1521. var listB = list.Where(p => p.Position == "401202").ToList();
  1522. int s = 0;
  1523. for (int k = 0; k < listA.Count; k++)
  1524. {
  1525. var crft = list[k];
  1526. int a = (int)crft.SampleCount;//样管数量
  1527. for (int j = 0; j < a; j++, s++)
  1528. {
  1529. if (lists.Count > s + i * maxBacthNum)
  1530. {
  1531. lists[s + i * maxBacthNum].SamplePipeLenA = crft.SampleLength.ToString();
  1532. lists[s + i * maxBacthNum].PhyCodeGroup = crft.PhyCodeGroup.ToString();
  1533. lists[s + i * maxBacthNum].Chk = true;
  1534. }
  1535. }
  1536. }
  1537. s = 0;
  1538. for (int k = 0; k < listB.Count; k++)
  1539. {
  1540. var crft = list[k];
  1541. int a = (int)crft.SampleCount;//样管数量
  1542. for (int j = 0; j < a; j++, s++)
  1543. {
  1544. if (lists.Count > s + i * maxBacthNum)
  1545. {
  1546. lists[s + i * maxBacthNum].SamplePipeLenB = crft.SampleLength.ToString();
  1547. lists[s + i * maxBacthNum].PhyCodeGroupb = crft.PhyCodeGroup.ToString();
  1548. lists[s + i * maxBacthNum].Chk = true;
  1549. }
  1550. }
  1551. }
  1552. }
  1553. }
  1554. ultraGrid3.Update();
  1555. ultraGrid3.DataBind();
  1556. ultraGrid3_CellChange(null, null);
  1557. }
  1558. /// <summary>
  1559. /// 查询复取样样管信息
  1560. /// </summary>
  1561. /// <param name="uRow"></param>
  1562. private void doQueryResampleRck(UltraGridRow uRow)
  1563. {
  1564. DataTable dtBatchNo = PublicServer.GetData("com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryResampleInfo",
  1565. new Object[] { uRow.Cells["JudgeStoveNo"].Text }, ob);
  1566. dataTable5.Rows.Clear();
  1567. foreach (DataRow row in dtBatchNo.Rows)
  1568. {
  1569. if (row["RESAMPLE_PIPE_LEN_A"] != null && row["RESAMPLE_PIPE_LEN_A"].ToString() != "")
  1570. {
  1571. DataRow newRowA = dataTable5.NewRow();
  1572. newRowA["PHY_BATCH_NO"] = row["PHY_BATCH_NO"].ToString();
  1573. newRowA["MAT_NO"] = row["MAT_NO"].ToString();
  1574. newRowA["SAMPLE_PIPE_LEN"] = row["RESAMPLE_PIPE_LEN_A"].ToString();
  1575. newRowA["SAMPLE_POSTION"] = "A端";
  1576. newRowA["PHY_CODE_GROUP"] = row["REPHY_CODE_GROUP"].ToString();
  1577. dataTable5.Rows.Add(newRowA);
  1578. }
  1579. if (row["RESAMPLE_PIPE_LEN_B"] != null && row["RESAMPLE_PIPE_LEN_B"].ToString() != "")
  1580. {
  1581. DataRow newRowA = dataTable5.NewRow();
  1582. newRowA["PHY_BATCH_NO"] = row["PHY_BATCH_NO"].ToString();
  1583. newRowA["MAT_NO"] = row["MAT_NO"].ToString();
  1584. newRowA["SAMPLE_PIPE_LEN"] = row["RESAMPLE_PIPE_LEN_B"].ToString();
  1585. newRowA["SAMPLE_POSTION"] = "B端";
  1586. newRowA["PHY_CODE_GROUP"] = row["REPHY_CODE_GROUPB"].ToString();
  1587. dataTable5.Rows.Add(newRowA);
  1588. }
  1589. }
  1590. GridHelper.RefreshAndAutoSize(ultraGrid20);
  1591. }
  1592. private void ultraGrid15_AfterRowActivate(object sender, EventArgs e)
  1593. {
  1594. this.ultraGrid15.UpdateData();
  1595. UltraGridRow uRow = this.ultraGrid15.ActiveRow;
  1596. if (uRow == null) return;
  1597. List<PipeCheckconsignNoqualifiedEntity> listSource = EntityHelper.GetData<PipeCheckconsignNoqualifiedEntity>(
  1598. "com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryRepeateInformation", new object[] { uRow.Cells["CheckNo"].Text, uRow.Cells["JudgeStoveNo"].Text }, this.ob);
  1599. pipeCheckconsignNoqualifiedEntityBindingSource2.DataSource = listSource;
  1600. List<PortVrpBatchSampleResultEntity> listSource1 = EntityHelper.GetData<PortVrpBatchSampleResultEntity>(
  1601. "com.steering.mes.port.vrp.FrmVrpBatchSaplmeNew.doQueryRepeatRack", new object[] { uRow.Cells["JudgeStoveNo"].Text }, this.ob);
  1602. portVrpBatchSampleResultEntityBindingSource2.DataSource = listSource1;
  1603. foreach (UltraGridRow row in this.ultraGrid17.Rows)
  1604. {
  1605. if (row.Cells["IsSamplePipe"].Text == "1")
  1606. {
  1607. row.RowSelectorAppearance.BackColor = Color.Red;
  1608. }
  1609. }
  1610. }
  1611. private void ultraGrid18_AfterRowActivate(object sender, EventArgs e)
  1612. {
  1613. UltraGridRow uRow = this.ultraGrid18.ActiveRow;
  1614. if (uRow == null) return;
  1615. List<PipeCheckconsignNoqualifiedEntity> listSource = EntityHelper.GetData<PipeCheckconsignNoqualifiedEntity>(
  1616. "com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryRepeateInformation", new object[] { uRow.Cells["CheckNo"].Text, uRow.Cells["JudgeStoveNo"].Text }, this.ob);
  1617. pipeCheckconsignNoqualifiedEntityBindingSource4.DataSource = listSource;
  1618. doQueryResampleRck(uRow);
  1619. doQueryChemPhy(uRow);
  1620. doQueryResampleNo(uRow);//复取样委托信息
  1621. }
  1622. /// <summary>
  1623. /// 查询复取样委托信息
  1624. /// </summary>
  1625. /// <param name="uRow"></param>
  1626. private void doQueryResampleNo(UltraGridRow uRow)
  1627. {
  1628. while (dataTable6.Columns.Count > 3)
  1629. {
  1630. dataTable6.Columns.RemoveAt(3);
  1631. }
  1632. DataTable dtSample = PublicServer.GetData("com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryReDetialSampleNo",
  1633. new Object[] { uRow.Cells["CheckNo"].Text, "2","E" }, ob);
  1634. dataTable6.Rows.Clear();
  1635. dtSample.AsEnumerable().GroupBy(p => new { BatchNo = p["BATCH_NO"].ToString(), Sample = p["SAMPLE_NO"].ToString() }).ToList()
  1636. .ForEach(p =>
  1637. {
  1638. foreach (DataRow row in p)
  1639. {
  1640. if (!dataTable6.Columns.Contains(row["PHY_CODE_MAX"].ToString()))
  1641. {
  1642. DataColumn phyCloum = new DataColumn();
  1643. phyCloum.ColumnName = row["PHY_CODE_MAX"].ToString();
  1644. phyCloum.Caption = row["PHY_NAME_MAX"].ToString();
  1645. dataTable6.Columns.Add(phyCloum);
  1646. }
  1647. }
  1648. DataRow dr = dataTable6.NewRow();
  1649. dr["PHY_BATCH_NO"] = p.Key.BatchNo;
  1650. dr["SAMPLE_NO"] = p.Key.Sample;
  1651. dr["SAMPLE_LEN"] = p.Max(q => q["SAMPLE_LEN"]);
  1652. foreach (DataRow row in p)
  1653. {
  1654. dr[row["PHY_CODE_MAX"].ToString()] = row["SAMPLE_COUNT"].ToString();
  1655. }
  1656. dataTable6.Rows.Add(dr);
  1657. });
  1658. ultraGrid21.DataBind();
  1659. GridHelper.RefreshAndAutoSize(ultraGrid21);
  1660. }
  1661. /// <summary>
  1662. /// 查询复取样试样组
  1663. /// </summary>
  1664. /// <param name="uRow"></param>
  1665. private void doQueryChemPhy(UltraGridRow uRow)
  1666. {
  1667. while (dataTable5.Columns.Count > 5)
  1668. {
  1669. dataTable5.Columns.RemoveAt(5);
  1670. }
  1671. dtPhy = PublicServer.GetData("com.steering.mes.port.mil.FrmMilBatchSampleNew.doQueryReChemPhy", new Object[] { uRow.Cells["LotNo"].Text, uRow.Cells["JudgeStoveNo"].Text, uRow.Cells["CheckNo"].Text }, ob);//查询复取样试样组
  1672. List<string> list = new List<string>();
  1673. if (dtPhy.Rows.Count > 0)
  1674. {
  1675. dtPhy.AsEnumerable().Select(p => new { Code = p["PHY_CODE_MAX"].ToString(), Name = p["PHY_NAME_MAX"].ToString() }).Distinct().ToList()
  1676. .ForEach(p =>
  1677. {
  1678. DataColumn phyCloum = new DataColumn();
  1679. phyCloum.ColumnName = p.Code;
  1680. phyCloum.Caption = p.Name;
  1681. dataTable5.Columns.Add(phyCloum);
  1682. });
  1683. }
  1684. //foreach (DataRow dr in dataTable5.Rows)
  1685. //{
  1686. // string[] phyCodeGroup = dr["PHY_CODE_GROUP"].ToString().Split(',');
  1687. // for (int i = 5; i < dataTable5.Columns.Count; i++)
  1688. // {
  1689. // if (phyCodeGroup.Contains(dataTable5.Columns[i].ColumnName))
  1690. // {
  1691. // dr[i] = "√";
  1692. // }
  1693. // }
  1694. //}
  1695. ultraGrid20.DataBind();
  1696. GridHelper.RefreshAndAutoSize(ultraGrid20);
  1697. }
  1698. private void ultraGrid20_ClickCell(object sender, ClickCellEventArgs e)
  1699. {
  1700. if (e.Cell.Column.Key != "PHY_BATCH_NO" && e.Cell.Column.Key != "MAT_NO" && e.Cell.Column.Key != "SAMPLE_PIPE_LEN" && e.Cell.Column.Key != "SAMPLE_POSTION")
  1701. {
  1702. if (e.Cell.Text.Trim() == "")
  1703. {
  1704. e.Cell.Value = "√";
  1705. }
  1706. else
  1707. {
  1708. e.Cell.Value = "";
  1709. }
  1710. }
  1711. }
  1712. }
  1713. }