FrmSizingResult.cs 159 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Server;
  11. using Core.Mes.Client.Comm.Control;
  12. using com.steering.mes.zgmil.entity;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Core.Mes.Client.Comm.Tool;
  15. using Core.StlMes.Client.ZGMil.Entity;
  16. using Core.StlMes.Client.ZGMil.NodeResultQuery;
  17. using System.Net;
  18. using Core.StlMes.Client.ZGMil.Popup;
  19. using Core.StlMes.Client.ZGMil.ResultConrtrol;
  20. using Core.StlMes.Client.ZGMil.Common;
  21. using CoreFS.SA06;
  22. namespace Core.StlMes.Client.ZGMil.Result
  23. {
  24. public partial class FrmSizingResult : FrmBase
  25. {
  26. #region 初始化
  27. MilPlan QueryMainPlan = new MilPlan();
  28. MilPlan MainPlan = new MilPlan();
  29. MilSizingResultEntity SizingResultSave = new MilSizingResultEntity();
  30. MilSizingResultEntity SizingResultEntity = new MilSizingResultEntity();
  31. private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null;
  32. int PanelSizeFlag = 0;
  33. string PLineCode = "";//产线代码
  34. string PlanStatusQuery = "59";
  35. string PlanStartStatusQuery = "00"; //查询结炉实绩起始状态
  36. string ActiveJUDGE_STOVE_NO = string.Empty;//主计划活动行的判定炉号
  37. string ActiveResultNo = string.Empty;//主计划活动行的判定炉号
  38. private string ActiveStatus = null;//主计划活动行的状态
  39. private string proPlanId = null;//轧管订单编号
  40. private string gxPlanNo = null;//工序排产序号
  41. private string lotNo = null;//生产批号
  42. //private string PlineCode = null;//产线代码
  43. private string ChangeUserID = ""; //接班用户名
  44. private string ChangePassWord = ""; //接班密码
  45. MilSizingResultEntity tempsizingresult = new MilSizingResultEntity();
  46. string Shift = "";
  47. string Group = "";
  48. private string Departm = "";//部门
  49. private string PlineCod = "";//产线
  50. private int _MouseLocX = 0; //鼠标横坐标
  51. private int _MouseLocY = 0; //鼠标纵坐标
  52. private int ShowMessageFlag = 0; //保存弹窗标识 0 弹出 1 不弹出
  53. private int ChangeFlag = 0; //交班结炉提示 0弹出 1不弹出
  54. private string _UserName = "";
  55. private string _UserID = "";
  56. private string _Url = "";
  57. public Infragistics.Win.UltraWinGrid.UltraGrid Grid
  58. {
  59. get { return _grid; }
  60. }
  61. public FrmSizingResult()
  62. {
  63. InitializeComponent();
  64. InitControl();
  65. Shift = UserInfo.GetUserOrder();
  66. Group = UserInfo.GetUserGroup();
  67. this.sizingResult1.UltraGrid2.ClickCellButton += new CellEventHandler(UltraGrid2_ClickCellButton);
  68. this.sinzingResult_4601.UltraGrid2.ClickCellButton += new CellEventHandler(UltraGrid2_ClickCellButton);
  69. //获取鼠标坐标
  70. Point formPoint = this.PointToClient(Control.MousePosition);
  71. _MouseLocX = Convert.ToInt32(formPoint.X);
  72. _MouseLocY = Convert.ToInt32(formPoint.Y);
  73. }
  74. /// <summary>
  75. /// 定时器事件
  76. /// </summary>
  77. /// <param name="sender"></param>
  78. /// <param name="e"></param>
  79. void timer1_Tick(object sender, EventArgs e)
  80. {
  81. int MouseLocX = 0;
  82. int MouseLocY = 0;
  83. //获取当前鼠标坐标
  84. //获取鼠标坐标
  85. Point formPoint = this.PointToClient(Control.MousePosition);
  86. MouseLocX = Convert.ToInt32(formPoint.X);
  87. MouseLocY = Convert.ToInt32(formPoint.Y);
  88. if (MouseLocX == _MouseLocX && MouseLocY == _MouseLocY)
  89. {
  90. ShowMessageFlag = 1;
  91. PlanQuery();
  92. ShowMessageFlag = 0;
  93. }
  94. else
  95. {
  96. _MouseLocX = MouseLocX;
  97. _MouseLocY = MouseLocY;
  98. }
  99. }
  100. /// <summary>
  101. /// 交班取消
  102. /// </summary>
  103. /// <param name="sender"></param>
  104. /// <param name="e"></param>
  105. void UltraGrid2_ClickCellButton(object sender, CellEventArgs e)
  106. {
  107. string JudgeStoveNo = "";
  108. string Status = "";
  109. string ResultNo = "";
  110. UltraGridRow ugr = this.ultraGridPlan.ActiveRow;
  111. if (ugr != null)
  112. {
  113. if (e.Cell.Column.Key == "CHANGENUMCANCEL")
  114. {
  115. JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  116. Status = ugr.Cells["IS_START"].Value.ToString();
  117. ResultNo = ugr.Cells["ID"].Value.ToString();
  118. if (Status == "已完成定径")
  119. {
  120. MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已完成定径操作,不允许交班取消!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  121. return;
  122. }
  123. if (Status == "未开始定径")
  124. {
  125. MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未开始定径,不允许交班取消!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  126. return;
  127. }
  128. NativeMethodNew nass = new NativeMethodNew(this.ob);
  129. nass.ChangeShiftBack(JudgeStoveNo, ResultNo, proPlanId, gxPlanNo, PLineCode, Shift, Group, 5);
  130. MainPlan.JudgeStoveNo = JudgeStoveNo;
  131. MainPlan.ProPlanId = proPlanId;
  132. MainPlan.GxPlanNo = gxPlanNo;
  133. GetFurRack();
  134. DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  135. //查询定径实绩信息
  136. DataTable dtSizingResult = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getSizingResult", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  137. if (dtSizingResult.Rows.Count > 0)
  138. {
  139. if (PLineCode != "C017" && PLineCode != "C072")
  140. {
  141. SizingResultEditForRack(dtSizingResult);
  142. }
  143. else
  144. {
  145. Sizing460ResultEidtForRack(dtSizingResult, dtMP.Rows[0]["PIPE_SIZE"].ToString());
  146. }
  147. }
  148. else
  149. {
  150. this.sizingResult1.Value.Clear();
  151. this.sinzingResult_4601.Value.Clear();
  152. //清空定径实绩
  153. GridHelper.InitCardGrid(sizingResult1.SizingDataSource1, sizingResult1.UltraGrid2);
  154. //清空定径实绩460
  155. GridHelper.InitCardGrid(sinzingResult_4601.SizingDataSource1, sinzingResult_4601.UltraGrid2);
  156. }
  157. }
  158. }
  159. }
  160. private void ChangeCancel()
  161. {
  162. string JudgeStoveNo = "";
  163. string Status = "";
  164. string ResultNo = "";
  165. UltraGridRow ugr = this.ultraGridPlan.ActiveRow;
  166. if (ugr != null)
  167. {
  168. JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  169. Status = ugr.Cells["IS_START"].Value.ToString();
  170. ResultNo = ugr.Cells["ID"].Value.ToString();
  171. if (Status == "已完成定径")
  172. {
  173. MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已完成定径操作,不允许交班取消!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  174. return;
  175. }
  176. if (Status == "未开始定径")
  177. {
  178. MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未开始定径,不允许交班取消!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  179. return;
  180. }
  181. NativeMethodNew nass = new NativeMethodNew(this.ob);
  182. nass.ChangeShiftBack(JudgeStoveNo, ResultNo, proPlanId, gxPlanNo, PLineCode, Shift, Group, 5);
  183. MainPlan.JudgeStoveNo = JudgeStoveNo;
  184. MainPlan.ProPlanId = proPlanId;
  185. MainPlan.GxPlanNo = gxPlanNo;
  186. GetFurRack();
  187. ChangeGridColor();
  188. DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  189. //查询定径实绩信息
  190. DataTable dtSizingResult = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getSizingResult", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  191. if (dtSizingResult.Rows.Count > 0)
  192. {
  193. if (PLineCode != "C017" && PLineCode != "C072")
  194. {
  195. SizingResultEditForRack(dtSizingResult);
  196. }
  197. else
  198. {
  199. Sizing460ResultEidtForRack(dtSizingResult, dtMP.Rows[0]["PIPE_SIZE"].ToString());
  200. }
  201. }
  202. else
  203. {
  204. this.sizingResult1.Value.Clear();
  205. this.sinzingResult_4601.Value.Clear();
  206. //清空定径实绩
  207. GridHelper.InitCardGrid(sizingResult1.SizingDataSource1, sizingResult1.UltraGrid2);
  208. //清空定径实绩460
  209. GridHelper.InitCardGrid(sinzingResult_4601.SizingDataSource1, sinzingResult_4601.UltraGrid2);
  210. }
  211. }
  212. }
  213. protected override void OnLoad(EventArgs e)
  214. {
  215. base.OnLoad(e);
  216. rollingInfomation1.UltraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  217. rollingCard1.UltraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  218. this.sizingResult1.UltraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  219. this.sinzingResult_4601.UltraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  220. ultraGridPlan.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  221. splitContainer2.SplitterDistance = 180;
  222. foreach (UltraGridColumn ugc in ultraGridPlan.DisplayLayout.Bands[0].Columns)
  223. {
  224. ugc.SortIndicator = SortIndicator.Disabled;
  225. }
  226. PanelSizeFlag = 0;
  227. timer1.Tick += new EventHandler(timer1_Tick);
  228. ShowShift();
  229. }
  230. private void ShowShift()
  231. {
  232. colShowShiftGroup1.Ob = this.ob;
  233. colShowShiftGroup1.Group = this.UserInfo.GetUserGroup();
  234. colShowShiftGroup1.Shift = this.UserInfo.GetUserOrder();
  235. colShowShiftGroup1.ShowShift();
  236. colShowShiftGroup1.Timer1.Enabled = true;
  237. }
  238. /// <summary>
  239. /// 页面开启事件
  240. /// </summary>
  241. /// <param name="e"></param>
  242. protected override void OnShown(EventArgs e)
  243. {
  244. base.OnShown(e);
  245. string hostname = Dns.GetHostName();
  246. IPAddress ip = Dns.GetHostByName(hostname).AddressList[0];
  247. NativeMethodNew na = new NativeMethodNew(this.ob);
  248. Departm = UserInfo.GetDepartment();
  249. PLineCode = na.GetPCode(Departm);
  250. PlineCod = na.GetPCode(Departm);//获取 用户 对应的产线
  251. if (PlineCod.Equals("C008") || PlineCod.Equals("C009") || PlineCod.Equals("C012") || PlineCod.Equals("C017") || PlineCod.Equals("C072"))
  252. {
  253. this.rollingCard1.ChangCard();
  254. }
  255. ultraTabControl1.Tabs[1].Visible = false;
  256. switch (PLineCode)
  257. {
  258. case "C009":
  259. sizingResult1.UltraGrid2.DisplayLayout.Bands[0].Columns["ELE2#"].Header.Appearance.ForeColor = Color.Gray;
  260. sizingResult1.UltraGrid2.DisplayLayout.Bands[0].Columns["ELE2#S"].Header.Appearance.ForeColor = Color.Gray;
  261. sizingResult1.UltraGrid2.DisplayLayout.Bands[0].Columns["MainELE2"].CellActivation = Activation.NoEdit;
  262. sizingResult1.UltraGrid2.DisplayLayout.Bands[0].Columns["SELESpeed2"].CellActivation = Activation.NoEdit;
  263. break;
  264. case "C008":
  265. break;
  266. case "C017":
  267. ultraTabControl1.Tabs[0].Visible = false;
  268. ultraTabControl1.Tabs[1].Visible = true;
  269. break;
  270. case "C072":
  271. ultraTabControl1.Tabs[0].Visible = false;
  272. ultraTabControl1.Tabs[1].Visible = true;
  273. break;
  274. }
  275. Sign();
  276. frmTechnological1.InitMilSet(PLineCode, "40110", this.ob);
  277. PlanQuery();
  278. foreach (UltraGridRow ugr in ultraGridPlan.Rows)
  279. {
  280. ugr.Cells["JUDGE_NO"].Value = BaseMethod.getJudgeStoveNo(ugr.Cells["JUDGE_STOVE_NO"].Value.ToString());
  281. }
  282. }
  283. /// <summary>
  284. /// 签名
  285. /// </summary>
  286. private void Sign()
  287. {
  288. ColUserName col = new ColUserName();
  289. col.StationId = "5";
  290. col.PlineCode = PLineCode;
  291. col.ColGroup = Group;
  292. col.Ob = this.ob;
  293. col.ShowDialog();
  294. _UserID = col.getUserId();
  295. _UserName = col.getUserName();
  296. }
  297. /// <summary>
  298. /// 初始化控件
  299. /// </summary>
  300. public void InitControl()
  301. {
  302. if (chkLotNo.Checked)
  303. {
  304. txtLOT_NO.Enabled = true;
  305. }
  306. else
  307. {
  308. txtLOT_NO.Enabled = false;
  309. }
  310. if (chkHeatNo.Checked)
  311. {
  312. txtJudgeStoveNo.Enabled = true;
  313. }
  314. else
  315. {
  316. txtJudgeStoveNo.Enabled = false;
  317. }
  318. }
  319. #endregion
  320. #region 控制赋值 方法
  321. /// <summary>
  322. /// 刷新
  323. /// </summary>
  324. public void ReFresh()
  325. {
  326. }
  327. /// <summary>
  328. /// 更改剔除坯料行颜色
  329. /// </summary>
  330. public void ChangeGridColor()
  331. {
  332. if (ultraGridPlan.Rows.Count > 0)
  333. {
  334. foreach (UltraGridRow ugr in ultraGridPlan.Rows)
  335. {
  336. if (ugr.Cells["IS_START"].Value.ToString() != "未开始定径" && ugr.Cells["IS_START"].Value.ToString() != "已开始定径" && ugr.Cells["IS_START"].Value.ToString() != "已完成定径")
  337. {
  338. switch (Convert.ToInt32(ugr.Cells["IS_START"].Value))
  339. {
  340. case 3:
  341. ugr.Cells["IS_START"].Value = "未开始定径";
  342. break;
  343. case 0:
  344. ugr.Cells["IS_START"].Value = "已开始定径";
  345. break;
  346. case 1:
  347. ugr.Cells["IS_START"].Value = "已完成定径";
  348. break;
  349. }
  350. }
  351. }
  352. }
  353. foreach (UltraGridRow ugr in ultraGridPlan.Rows)
  354. {
  355. if (ugr.Cells["IS_START"].Value.ToString() == "已完成定径")
  356. {
  357. ugr.Appearance.BackColor = Color.YellowGreen;
  358. }
  359. }
  360. foreach (UltraGridRow ugr in ultraGridMatSeq.Rows)
  361. {
  362. if (ugr != null)
  363. {
  364. switch (ugr.Cells["STATUS"].Value.ToString())
  365. {
  366. case "剔除":
  367. ugr.Appearance.BackColor = Color.Yellow;
  368. break;
  369. }
  370. switch (ugr.Cells["CHANGE_FLAG"].Value.ToString())
  371. {
  372. case "待接班确认":
  373. ugr.Appearance.BackColor = Color.LightGreen;
  374. break;
  375. }
  376. }
  377. }
  378. }
  379. /// <summary>
  380. /// 查询流通卡信息
  381. /// </summary>
  382. public void GetRollingCard()
  383. {
  384. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  385. if (ugr != null)
  386. {
  387. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  388. DataTable dt = new DataTable();
  389. if (PlineCod.Equals("C008") || PlineCod.Equals("C009") || PlineCod.Equals("C012") || PlineCod.Equals("C017") || PlineCod.Equals("C072"))
  390. {
  391. dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard1", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  392. }
  393. else
  394. {
  395. dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  396. }
  397. RollingCardEditGrid(dt, JudgeStoveNo);
  398. }
  399. }
  400. /// <summary>
  401. /// 查询管号队列
  402. /// </summary>
  403. public void GetFurRack()
  404. {
  405. dtMatSeq.Clear();
  406. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  407. if (ugr != null)
  408. {
  409. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  410. DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getSizingRackSeq", new object[] { JudgeStoveNo }, this.ob);
  411. GridHelper.CopyDataToDatatable(ref dt, ref dtMatSeq, true);
  412. ultraGridMatSeq.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  413. }
  414. ChangeGridColor();
  415. }
  416. #endregion
  417. #region 事件
  418. /// <summary>
  419. /// ToolBar按钮
  420. /// </summary>
  421. /// <param name="sender"></param>
  422. /// <param name="ToolbarKey"></param>
  423. public override void ToolBar_Click(object sender, string ToolbarKey)
  424. {
  425. switch (ToolbarKey)
  426. {
  427. case "DoQuery":
  428. PlanQuery();
  429. break;
  430. case "DoSave":
  431. ResultSave();
  432. break;
  433. case "DoNode":
  434. ResultNode();
  435. break;
  436. case "DoNodeBack":
  437. NodeBack();
  438. break;
  439. case "NodeQuery":
  440. NodeQuery();
  441. break;
  442. case "DoStart":
  443. DoStart();
  444. break;
  445. case "DoStartBack":
  446. StartBack();
  447. break;
  448. case "DoSign":
  449. Sign();
  450. break;
  451. case "DoPrint":
  452. PrintResult();
  453. break;
  454. case "DoPrint2":
  455. PrintResult2();
  456. break;
  457. case "DoToolChange":
  458. DoToolChange();
  459. break;
  460. case "DoHotCheck":
  461. DoHotCheck();
  462. break;
  463. case "DoChangeCancel":
  464. ChangeCancel();
  465. break;
  466. case "DoQueryBefore":
  467. QueryBefore();
  468. break;
  469. case "Close":
  470. this.Dispose();
  471. this.Close();
  472. break;
  473. }
  474. }
  475. /// <summary>
  476. /// 判断是否能开始当前炉次
  477. /// </summary>
  478. /// <returns></returns>
  479. private bool IsStart()
  480. {
  481. bool Start = true;
  482. foreach (UltraGridRow ugr in ultraGridPlan.Rows)
  483. {
  484. if (ugr.Cells["IS_START"].Value.ToString() == "已开始定径")
  485. {
  486. MessageBox.Show("炉号【" + ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() + "】正在定径,不能两炉同时开始定径", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  487. Start = false;
  488. }
  489. }
  490. return Start;
  491. }
  492. /// <summary>
  493. /// checkbox点击事件
  494. /// </summary>
  495. /// <param name="sender"></param>
  496. /// <param name="e"></param>
  497. private void chkDate_CheckedChanged(object sender, EventArgs e)
  498. {
  499. if (chkLotNo.Checked)
  500. {
  501. txtLOT_NO.Enabled = true;
  502. }
  503. else
  504. {
  505. txtLOT_NO.Enabled = false;
  506. }
  507. if (chkHeatNo.Checked)
  508. {
  509. txtJudgeStoveNo.Enabled = true;
  510. }
  511. else
  512. {
  513. txtJudgeStoveNo.Enabled = false;
  514. }
  515. if (chkStatusQuery.Checked)
  516. {
  517. PlanStatusQuery = "99";
  518. PlanStartStatusQuery = "60";
  519. }
  520. else
  521. {
  522. PlanStatusQuery = "59";
  523. PlanStartStatusQuery = "00";
  524. }
  525. if (chkAutoRefresh.Checked)
  526. {
  527. timer1.Enabled = true;
  528. }
  529. else
  530. {
  531. timer1.Enabled = false;
  532. }
  533. }
  534. /// <summary>
  535. /// 计划查询
  536. /// </summary>
  537. public void PlanQuery()
  538. {
  539. string PrimaKey = "";
  540. UltraGridRow ugr = this.ultraGridPlan.ActiveRow;
  541. if (ugr != null)
  542. {
  543. PrimaKey = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  544. }
  545. if (chkHeatNo.Checked == true)
  546. {
  547. if (string.IsNullOrEmpty(this.txtJudgeStoveNo.Text))
  548. {
  549. MessageBox.Show("请输入判定炉号后再执行查询操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  550. return;
  551. }
  552. QueryMainPlan.JudgeStoveNo = this.txtJudgeStoveNo.Text;
  553. }
  554. else
  555. {
  556. QueryMainPlan.JudgeStoveNo = "";
  557. }
  558. if (chkLotNo.Checked == true)
  559. {
  560. if (string.IsNullOrEmpty(this.txtLOT_NO.Text))
  561. {
  562. MessageBox.Show("请输入生产批号后再执行查询操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  563. return;
  564. }
  565. QueryMainPlan.LotNo = this.txtLOT_NO.Text;
  566. }
  567. else
  568. {
  569. QueryMainPlan.LotNo = "";
  570. }
  571. //dtMatSeq.Clear();
  572. dtPlan.Clear();
  573. QueryMainPlan.PlineCode = PlineCod;
  574. QueryMainPlan.Status = PlanStatusQuery;
  575. QueryMainPlan.StartStatus = PlanStartStatusQuery;
  576. QueryMainPlan.ProPlanId = proPlanId;
  577. QueryMainPlan.GxPlanNo = gxPlanNo;
  578. //查询计划记录
  579. DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlan", new object[] { QueryMainPlan, 6 }, this.ob);
  580. if (dt.Rows.Count == 0)
  581. {
  582. if (ShowMessageFlag == 0)
  583. {
  584. MessageBox.Show("未查询到匹配的数据,请重新查询!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  585. }
  586. return;
  587. }
  588. GridHelper.CopyDataToDatatable(ref dt, ref dtPlan, true);
  589. ChangeGridColor();
  590. //ultraGridPlan.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  591. if (ugr != null)
  592. {
  593. foreach (UltraGridRow ugr1 in ultraGridPlan.Rows)
  594. {
  595. //ugr1.Cells["JUDGE_NO"].Value = BaseMethod.getJudgeStoveNo(ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString());
  596. if (ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString() == PrimaKey)
  597. {
  598. ugr1.Activated = true;
  599. }
  600. }
  601. }
  602. ChangeGridColor();
  603. }
  604. /// <summary>
  605. /// 查询结果Gird单击事件
  606. /// </summary>
  607. /// <param name="sender"></param>
  608. /// <param name="e"></param>
  609. private void ultraGridPlan_AfterRowActivate(object sender, EventArgs e)
  610. {
  611. dtMatSeq.Clear();
  612. if (this.dtPlan.Rows.Count > 0)
  613. {
  614. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  615. if (ugr != null)
  616. {
  617. //查询主计划信息
  618. dtMatSeq.Clear();
  619. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  620. ActiveJUDGE_STOVE_NO = JudgeStoveNo;
  621. ActiveResultNo = ugr.Cells["ID"].Value.ToString();
  622. proPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  623. gxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  624. lotNo = ugr.Cells["LOT_NO"].Value.ToString();
  625. MainPlan.JudgeStoveNo = JudgeStoveNo;
  626. MainPlan.ProPlanId = proPlanId;
  627. MainPlan.GxPlanNo = gxPlanNo;
  628. string Status = ugr.Cells["IS_START"].Value.ToString();
  629. ActiveStatus = Status;
  630. // PLineCode = ugr.Cells["Pline_Code"].Value.ToString();
  631. DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  632. if (dtMP.Rows.Count > 0)
  633. {
  634. if (dtMP.Rows[0]["PLINE_CODE"].ToString() == "C017" || dtMP.Rows[0]["PLINE_CODE"].ToString() == "C072")
  635. {
  636. ultraTabControl1.Tabs[0].Visible = false;
  637. ultraTabControl1.Tabs[1].Visible = true;
  638. }
  639. else
  640. {
  641. ultraTabControl1.Tabs[0].Visible = true;
  642. ultraTabControl1.Tabs[1].Visible = false;
  643. }
  644. PLineCode = dtMP.Rows[0]["PLINE_CODE"].ToString();
  645. GridEdit(dtMP); //轧制计划信息
  646. //查询流通卡信息
  647. DataTable dtRollingCard = new DataTable();
  648. if (PlineCod.Equals("C008") || PlineCod.Equals("C009") || PlineCod.Equals("C012") || PlineCod.Equals("C017") || PlineCod.Equals("C072"))
  649. {
  650. dtRollingCard = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard1", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  651. }
  652. else
  653. {
  654. dtRollingCard = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  655. }
  656. if (dtRollingCard.Rows.Count > 0)
  657. {
  658. RollingCardEditGrid(dtRollingCard, JudgeStoveNo);
  659. }
  660. else
  661. {
  662. //清空流通卡值
  663. rollingCard1.Value.Clear();
  664. GridHelper.InitCardGrid(rollingCard1.RollCardDataSource1, rollingCard1.UltraGrid4);
  665. }
  666. //查询定径实绩信息
  667. DataTable dtSizingResult = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getSizingResult", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  668. if (dtSizingResult.Rows.Count > 0)
  669. {
  670. if (PLineCode != "C017" && PLineCode != "C072")
  671. {
  672. SizingResultEdit(dtSizingResult);
  673. }
  674. else
  675. {
  676. Sizing460ResultEidt(dtSizingResult, dtMP.Rows[0]["PIPE_SIZE"].ToString());
  677. }
  678. }
  679. else
  680. {
  681. this.sizingResult1.Value.Clear();
  682. this.sinzingResult_4601.Value.Clear();
  683. sizingResult1.UpdateDate();
  684. sinzingResult_4601.UpdateDate();
  685. //清空定径实绩
  686. //GridHelper.InitCardGrid(sizingResult1.SizingDataSource1, sizingResult1.UltraGrid2);
  687. //清空定径实绩460
  688. //GridHelper.InitCardGrid(sinzingResult_4601.SizingDataSource1, sinzingResult_4601.UltraGrid2);
  689. }
  690. if (Status != "未开始定径")
  691. {
  692. GetFurRack();
  693. }
  694. else
  695. {
  696. dtMatSeq.Rows.Clear();
  697. }
  698. ChangeGridColor();
  699. }
  700. }
  701. }
  702. }
  703. /// <summary>
  704. /// 双击计划开始定径
  705. /// </summary>
  706. /// <param name="sender"></param>
  707. /// <param name="e"></param>
  708. private void DoStart()
  709. //private void ultraGridPlan_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e)
  710. {
  711. //if (!IsStart())
  712. //{
  713. // return;
  714. //}
  715. NativeMethodNew NaMethod = new NativeMethodNew(this.ob);
  716. if (ultraGridPlan.Rows.Count > 0)
  717. {
  718. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  719. if (ugr != null)
  720. {
  721. string HeatNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  722. string Statue = ugr.Cells["IS_START"].Value.ToString();
  723. string ResultNo = ugr.Cells["ID"].Value.ToString();
  724. ActiveResultNo = ResultNo;
  725. MainPlan.JudgeStoveNo = HeatNo;
  726. MainPlan.ProPlanId = proPlanId;
  727. MainPlan.GxPlanNo = gxPlanNo;
  728. ActiveJUDGE_STOVE_NO = HeatNo;
  729. //NativeMethodNew Nvw = new NativeMethodNew(this.ob);
  730. //if (PLineCode == "C009" || PLineCode == "C012" || PLineCode == "C017")
  731. //{
  732. // if (!Nvw.isBegineNode(HeatNo, 3))
  733. // {
  734. // MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(HeatNo) + "】未连轧,不能定径。");
  735. // return;
  736. // }
  737. //}
  738. //else
  739. //{
  740. // if (!Nvw.isBegineNode(HeatNo, 4))
  741. // {
  742. // MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(HeatNo) + "】未入再加热炉,不能定径。");
  743. // return;
  744. // }
  745. //}
  746. if (Statue == "已完成定径")
  747. {
  748. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(HeatNo) + "】已完成定径不能再次开始!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  749. return;
  750. }
  751. DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  752. if (dtMP.Rows.Count > 0)
  753. {
  754. GridEdit(dtMP); //轧制计划信息
  755. PLineCode = dtMP.Rows[0]["PLINE_CODE"].ToString();
  756. }
  757. //if (!NaMethod.isBegineNode(HeatNo, 0))
  758. //{
  759. // MessageBox.Show("炉号【" + HeatNo + "】未开始锯切,不能定径!");
  760. // return;
  761. //}
  762. if (Statue != "已开始定径")
  763. {
  764. //if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + MainPlan.JudgeStoveNo + "】开始定径?") == DialogResult.No)
  765. //{
  766. // return;
  767. //}
  768. // string PLineCode = dtMP.Rows[0]["PLINE_CODE"].ToString();
  769. string LotNo = dtMP.Rows[0]["LOT_NO"].ToString();
  770. string StoveNo = dtMP.Rows[0]["STOVE_NO"].ToString();
  771. //修改主计划状态为 55-开始定径,新增定径实绩信息
  772. if (tempsizingresult != null)
  773. {
  774. //1
  775. SizingResultEntity.PipeSize = tempsizingresult.PipeSize;
  776. SizingResultEntity.EntranceSpeed = tempsizingresult.EntranceSpeed;
  777. SizingResultEntity.PassSeries = tempsizingresult.PassSeries;
  778. SizingResultEntity.RackNo = tempsizingresult.RackNo;
  779. SizingResultEntity.EntranceTemp = tempsizingresult.EntranceTemp;
  780. SizingResultEntity.ExitTemp = tempsizingresult.ExitTemp;
  781. SizingResultEntity.ExitSpeed = tempsizingresult.ExitSpeed;
  782. SizingResultEntity.ProductSize = tempsizingresult.ProductSize;
  783. SizingResultEntity.HostEleSpeed1 = tempsizingresult.HostEleSpeed1;
  784. SizingResultEntity.HostEleSpeed2 = tempsizingresult.HostEleSpeed2;
  785. SizingResultEntity.HostEleSpeed3 = tempsizingresult.HostEleSpeed3;
  786. SizingResultEntity.FoldEleSpeed1 = tempsizingresult.FoldEleSpeed1;
  787. SizingResultEntity.FoldEleSpeed2 = tempsizingresult.FoldEleSpeed2;
  788. SizingResultEntity.FoldEleSpeed3 = tempsizingresult.FoldEleSpeed3;
  789. SizingResultEntity.BeginRollingTemp = tempsizingresult.BeginRollingTemp;
  790. SizingResultEntity.FinishRollNum = tempsizingresult.FinishRollNum;
  791. //460
  792. SizingResultEntity.EntranceTemp = tempsizingresult.EntranceTemp;
  793. SizingResultEntity.ExitTemp = tempsizingresult.ExitTemp;
  794. SizingResultEntity.EntranceSpeed = tempsizingresult.EntranceSpeed;
  795. SizingResultEntity.ExitSpeed = tempsizingresult.ExitSpeed;
  796. SizingResultEntity.BedRhythm = tempsizingresult.BedRhythm;
  797. SizingResultEntity.ProductSize = tempsizingresult.ProductSize;
  798. SizingResultEntity.HostEleSpeed1 = tempsizingresult.HostEleSpeed1;
  799. SizingResultEntity.HostEleSpeed2 = tempsizingresult.HostEleSpeed2;
  800. SizingResultEntity.HostEleSpeed3 = tempsizingresult.HostEleSpeed3;
  801. SizingResultEntity.HostEleSpeed4 = tempsizingresult.HostEleSpeed4;
  802. SizingResultEntity.HostEleSpeed5 = tempsizingresult.HostEleSpeed5;
  803. SizingResultEntity.HostEleSpeed6 = tempsizingresult.HostEleSpeed6;
  804. SizingResultEntity.HostEleSpeed7 = tempsizingresult.HostEleSpeed7;
  805. SizingResultEntity.HostEleSpeed8 = tempsizingresult.HostEleSpeed8;
  806. SizingResultEntity.HostEleSpeed9 = tempsizingresult.HostEleSpeed9;
  807. SizingResultEntity.HostEleSpeed10 = tempsizingresult.HostEleSpeed10;
  808. }
  809. SizingResultEntity.JudgeStoveNo = HeatNo;
  810. SizingResultEntity.ResultNo = ResultNo;
  811. SizingResultEntity.LotNo = LotNo;
  812. SizingResultEntity.StoveNo = StoveNo;
  813. SizingResultEntity.PlineCode = PLineCode;
  814. SizingResultEntity.Status = "55";
  815. SizingResultEntity.StartTime = DateTime.Now.ToString();
  816. SizingResultEntity.ProPlanId = proPlanId;
  817. SizingResultEntity.GxPlanNo = gxPlanNo;
  818. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.startSizing", new object[] { SizingResultEntity }, this.ob);
  819. //往跟踪记录表插入探伤开始时间
  820. NativeMethodNew na = new NativeMethodNew(this.ob);
  821. na.InsertSTAferDoubleClick(HeatNo, 5, "0", proPlanId, gxPlanNo);
  822. DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlan", new object[] { QueryMainPlan, 6 }, this.ob);
  823. GridHelper.CopyDataToDatatable(ref dt1, ref dtPlan, true);
  824. ChangeGridColor();
  825. //ultraGridPlan.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  826. foreach (UltraGridRow ugr1 in this.ultraGridPlan.Rows)
  827. {
  828. ugr1.Cells["JUDGE_NO"].Value = BaseMethod.getJudgeStoveNo(ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString());
  829. if (ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString() == HeatNo)
  830. {
  831. ultraGridPlan.ActiveRow = ugr1;
  832. }
  833. }
  834. GetFurRack();
  835. }
  836. else
  837. {
  838. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(HeatNo) + "】已开始定径,不能再次开始定径!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  839. }
  840. }
  841. }
  842. }
  843. /// <summary>
  844. /// 保存
  845. /// </summary>
  846. public void ResultSave()
  847. {
  848. try
  849. {
  850. sizingResult1.UltraGrid2.UpdateData();
  851. sinzingResult_4601.UltraGrid2.UpdateData();
  852. }
  853. catch (Exception e)
  854. {
  855. MessageBox.Show("请输入正确的时间。");
  856. return;
  857. }
  858. if (this.ultraGridPlan.ActiveRow == null && ActiveJUDGE_STOVE_NO == null)
  859. {
  860. // MessageBox.Show("未选择任何炉号,请选择炉号后进行保存操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  861. return;
  862. }
  863. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  864. UltraGridRow ugr1 = this.sizingResult1.UltraGrid2.Rows[0];
  865. //UltraGridRow ugr2 = this.sinzingResult_4601.UltraGrid2.Rows[0];
  866. UltraGridRow ugr3 = this.rollingCard1.UltraGrid4.Rows[0];
  867. //sizingResult1.UltraGrid2.UpdateData();
  868. //sinzingResult_4601.UltraGrid2.UpdateData();
  869. SizingResultSave.Clear();
  870. if (ugr != null)
  871. {
  872. SizingResultSave.JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  873. if (ugr.Cells["IS_START"].Value.ToString() == "未开始定径")
  874. {
  875. MessageBox.Show("炉号【" + SizingResultSave.JudgeStoveNo + "】未开始定径不能保存实绩!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  876. return;
  877. }
  878. //if (ugr.Cells["IS_START"].Value.ToString() == "已完成定径")
  879. //{
  880. // MessageBox.Show("炉号【" + SizingResultSave.JudgeStoveNo + "】已完成定径不能保存实绩!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  881. // return;
  882. //}
  883. //if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + SizingResultSave.JudgeStoveNo + "】定径实绩信息保存?") == DialogResult.No)
  884. //{
  885. // return;
  886. //}
  887. //460机组
  888. if (PLineCode == "C017" || PLineCode == "C072")
  889. {
  890. this.sinzingResult_4601.UltraGrid2.UpdateData();
  891. ////---从再加热取得剔除支数
  892. //SizingResultSave.ScrapNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString();
  893. //if (!string.IsNullOrEmpty(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()))
  894. //{
  895. // if (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  896. // {
  897. // SizingResultSave.ProductNum = int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString());
  898. // }
  899. // else
  900. // {
  901. // MessageBox.Show("存在上一道工序已经剔除的管坯在本道工序也剔除了,请回退后再进行结炉操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  902. // return;
  903. // }
  904. //}//--------------------从再加热取得
  905. SizingResultSave.ScrapNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString();
  906. //if (!string.IsNullOrEmpty(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()))
  907. //{
  908. // if (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  909. // {
  910. // SizingResultSave.ProductNum = int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString());
  911. // }
  912. // else
  913. // {
  914. // MessageBox.Show("存在上一道工序已经剔除的管坯在本道工序也剔除了,请回退后再进行结炉操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  915. // return;
  916. // }
  917. //}
  918. //合格支数
  919. //SizingResultSave.ProductNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["PRODUCT_NUM"].ToString();
  920. //荒管尺寸
  921. //SizingResultSave.PipeSize = this.sinzingResult_4601.SizingDataSource1.Rows[0]["SIZE"].ToString();
  922. //轧辊入口速度
  923. SizingResultSave.EntranceSpeed = this.sinzingResult_4601.SizingDataSource1.Rows[0]["ENTRANCE_SPEED"].ToString();
  924. //交接班支数
  925. SizingResultSave.ChangeNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["CHANGE_NUM"].ToString();
  926. //轧辊出口速度
  927. SizingResultSave.ExitSpeed = this.sinzingResult_4601.SizingDataSource1.Rows[0]["EXIT_SPEED"].ToString();
  928. //荒管尺寸
  929. SizingResultSave.PipeSize = this.sinzingResult_4601.SizingDataSource1.Rows[0]["PIPE_SIZE"].ToString();
  930. //成品规格
  931. SizingResultSave.ProductSize = this.sinzingResult_4601.SizingDataSource1.Rows[0]["PRODUCT_SIZE"].ToString();
  932. //终轧温度
  933. SizingResultSave.ExitTemp = this.sinzingResult_4601.SizingDataSource1.Rows[0]["EXIT_TEMP"].ToString();
  934. //入口温度
  935. SizingResultSave.EntranceTemp = this.sinzingResult_4601.SizingDataSource1.Rows[0]["ENTRANCE_TEMP"].ToString();
  936. //小冷床节奏
  937. SizingResultSave.BedRhythm = this.sinzingResult_4601.SizingDataSource1.Rows[0]["BED_RHYTHM"].ToString();
  938. //主电机转速1
  939. SizingResultSave.HostEleSpeed1 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED1"].ToString();
  940. //主电机转速2
  941. SizingResultSave.HostEleSpeed2 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED2"].ToString();
  942. //主电机转速3
  943. SizingResultSave.HostEleSpeed3 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED3"].ToString();
  944. //主电机转速4
  945. SizingResultSave.HostEleSpeed4 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED4"].ToString();
  946. //主电机转速5
  947. SizingResultSave.HostEleSpeed5 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED5"].ToString();
  948. //主电机转速6
  949. SizingResultSave.HostEleSpeed6 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED6"].ToString();
  950. //主电机转速7
  951. SizingResultSave.HostEleSpeed7 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED7"].ToString();
  952. //主电机转速8
  953. SizingResultSave.HostEleSpeed8 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED8"].ToString();
  954. //主电机转速9
  955. SizingResultSave.HostEleSpeed9 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED9"].ToString();
  956. //主电机转速10
  957. SizingResultSave.HostEleSpeed10 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED10"].ToString();
  958. //SizingResultSave.FinishRollNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["FINISH_ROLL_NUM"].ToString();
  959. //主电机转速11
  960. SizingResultSave.HostEleSpeed11 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED11"].ToString();
  961. //主电机转速12
  962. SizingResultSave.HostEleSpeed12 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED12"].ToString();
  963. //备注
  964. SizingResultSave.Remark = this.sinzingResult_4601.SizingDataSource1.Rows[0]["REMARK"].ToString();
  965. //开始时间
  966. SizingResultSave.StartTime = this.sinzingResult_4601.SizingDataSource1.Rows[0]["START_TIME"].ToString();
  967. //结束时间
  968. SizingResultSave.EndTime = this.sinzingResult_4601.SizingDataSource1.Rows[0]["END_TIME"].ToString();
  969. //精轧机架
  970. SizingResultSave.RackNo = this.sinzingResult_4601.SizingDataSource1.Rows[0]["RACK_NO"].ToString();
  971. //终轧温度(中)
  972. SizingResultSave.ExitTemp3=this.sinzingResult_4601.SizingDataSource1.Rows[0]["EXIT_TEMP3"].ToString();
  973. //终轧温度(前)
  974. SizingResultSave.ExitTemp2=this.sinzingResult_4601.SizingDataSource1.Rows[0]["EXIT_TEMP2"].ToString();
  975. //int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.saveSizingResult", new object[] { SizingResultSave }, this.ob);
  976. //SizingResultSave = NativeMethod.GetEntityToEntity(SizingResultSave, this.sinzingResult_4601.Value);
  977. }
  978. else
  979. {
  980. sizingResult1.UltraGrid2.UpdateData();
  981. if (PLineCode.Equals("C009") || PLineCode.Equals("C012"))//258和阿塞尔机组
  982. {
  983. SizingResultSave.ScrapNum = this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString();
  984. if (!string.IsNullOrEmpty(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()))
  985. {
  986. if (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  987. {
  988. SizingResultSave.ProductNum = (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString())).ToString();
  989. }
  990. else
  991. {
  992. //MessageBox.Show("存在上一道工序已经剔除的管坯在本道工序也剔除了,请回退后再进行结炉操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  993. //return;
  994. }
  995. }
  996. }
  997. else
  998. {
  999. //剔除支数
  1000. SizingResultSave.ScrapNum = this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString();
  1001. if (!string.IsNullOrEmpty(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()))
  1002. {
  1003. if (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  1004. {
  1005. //合格支数
  1006. SizingResultSave.ProductNum = (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString())).ToString();
  1007. }
  1008. else
  1009. {
  1010. //MessageBox.Show("存在上一道工序已经剔除的管坯在本道工序也剔除了,请回退后再进行结炉操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1011. //return;
  1012. }
  1013. }
  1014. }
  1015. //荒管尺寸
  1016. SizingResultSave.PipeSize = this.sizingResult1.SizingDataSource1.Rows[0]["PipeSize"].ToString();
  1017. //轧辊入口速度
  1018. SizingResultSave.EntranceSpeed = this.sizingResult1.SizingDataSource1.Rows[0]["EntranceSpeed"].ToString();
  1019. //轧辊出口速度
  1020. SizingResultSave.ExitSpeed = this.sizingResult1.SizingDataSource1.Rows[0]["ExitSpeed"].ToString();
  1021. //轧机入口温度
  1022. SizingResultSave.EntranceTemp = this.sizingResult1.SizingDataSource1.Rows[0]["RollEntranceTemp"].ToString();
  1023. //成品规格
  1024. SizingResultSave.ProductSize = this.sizingResult1.SizingDataSource1.Rows[0]["ProductSize"].ToString();
  1025. //终轧温度
  1026. SizingResultSave.ExitTemp = this.sizingResult1.SizingDataSource1.Rows[0]["EndRollingTemp"].ToString();
  1027. //孔型系列
  1028. SizingResultSave.PassSeries = this.sizingResult1.SizingDataSource1.Rows[0]["KXXL"].ToString();
  1029. //精轧系列机架数
  1030. SizingResultSave.FinishRollNum = this.sizingResult1.SizingDataSource1.Rows[0]["RackNum"].ToString();
  1031. //交接班支数
  1032. //SizingResultSave.ScrapNum = this.sizingResult1.SizingDataSource1.Rows[0]["ChangeClassNum"].ToString();
  1033. //主电机转速1
  1034. SizingResultSave.HostEleSpeed1 = this.sizingResult1.SizingDataSource1.Rows[0]["MainELE1"].ToString();
  1035. //主电机转速2
  1036. SizingResultSave.HostEleSpeed2 = this.sizingResult1.SizingDataSource1.Rows[0]["MainELE2"].ToString();
  1037. //主电机转速3
  1038. SizingResultSave.HostEleSpeed3 = this.sizingResult1.SizingDataSource1.Rows[0]["MainELE3"].ToString();
  1039. //叠加电机转速1
  1040. SizingResultSave.FoldEleSpeed1 = this.sizingResult1.SizingDataSource1.Rows[0]["SELESpeed1"].ToString();
  1041. //叠加电机转速2
  1042. SizingResultSave.FoldEleSpeed2 = this.sizingResult1.SizingDataSource1.Rows[0]["SELESpeed2"].ToString();
  1043. //叠加电机转速3
  1044. SizingResultSave.FoldEleSpeed3 = this.sizingResult1.SizingDataSource1.Rows[0]["SELESpeed3"].ToString();
  1045. //备注
  1046. SizingResultSave.Remark = this.sizingResult1.SizingDataSource1.Rows[0]["Remark"].ToString();
  1047. //开始时间
  1048. SizingResultSave.StartTime = this.sizingResult1.SizingDataSource1.Rows[0]["StartTime"].ToString();
  1049. //结束时间
  1050. SizingResultSave.EndTime = this.sizingResult1.SizingDataSource1.Rows[0]["EndTime"].ToString();
  1051. //开轧温度
  1052. SizingResultSave.BeginRollingTemp = this.sizingResult1.SizingDataSource1.Rows[0]["beginRollingTemp"].ToString();
  1053. //终轧温度(中)
  1054. SizingResultSave.ExitTemp3=this.sizingResult1.SizingDataSource1.Rows[0]["ExitTemp3"].ToString();
  1055. //终轧温度(前)
  1056. SizingResultSave.ExitTemp2=this.sizingResult1.SizingDataSource1.Rows[0]["ExitTemp2"].ToString();
  1057. //int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.saveSizingResult", new object[] { SizingResultSave }, this.ob);
  1058. //SizingResultSave = NativeMethod.GetEntityToEntity(SizingResultSave, this.sizingResult1.Value);
  1059. }
  1060. if (string.IsNullOrEmpty(SizingResultSave.StartTime.ToString()))
  1061. {
  1062. MessageBox.Show("开始时间不能为空,请输入正确的开始时间");
  1063. return;
  1064. }
  1065. //查询结炉状态,已结炉的计划 结炉时间不能为空
  1066. DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getNodeStatus", new object[] { ActiveJUDGE_STOVE_NO, ActiveResultNo, proPlanId, gxPlanNo }, this.ob);
  1067. if (int.Parse(dt.Rows[0][0].ToString()) > 59)
  1068. {
  1069. if (string.IsNullOrEmpty(SizingResultSave.EndTime.ToString()))
  1070. {
  1071. MessageBox.Show("结束时间不能为空,请输入正确的结束时间");
  1072. return;
  1073. }
  1074. //开始时间必须小于结束时间
  1075. if (DateTime.Parse(SizingResultSave.StartTime) > DateTime.Parse(SizingResultSave.EndTime))
  1076. {
  1077. MessageBox.Show("结束时间不能小于开始时间。");
  1078. return;
  1079. }
  1080. }
  1081. SizingResultSave.ProPlanId = proPlanId;
  1082. SizingResultSave.GxPlanNo = gxPlanNo;
  1083. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.saveSizingResult", new object[] { SizingResultSave }, this.ob);
  1084. tempsizingresult = NativeMethod.GetEntityToEntity(tempsizingresult, SizingResultSave);
  1085. this.sinzingResult_4601.IsCellSelect = false;
  1086. this.sizingResult1.IsCellSelect = false;
  1087. if (ShowMessageFlag == 0)
  1088. {
  1089. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(SizingResultSave.JudgeStoveNo.ToString()) + "】保存成功!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1090. }
  1091. }
  1092. GetFurRack();
  1093. PlanQuery();
  1094. }
  1095. /// <summary>
  1096. /// 结炉
  1097. /// </summary>
  1098. public void ResultNode()
  1099. {
  1100. ResultSave();
  1101. try
  1102. {
  1103. sizingResult1.UltraGrid2.UpdateData();
  1104. sinzingResult_4601.UltraGrid2.UpdateData();
  1105. }
  1106. catch (Exception e)
  1107. {
  1108. MessageBox.Show("请输入正确的时间。");
  1109. return;
  1110. }
  1111. HOTMethod hm = new HOTMethod(this.ob);
  1112. if (this.ultraGridPlan.ActiveRow == null && ActiveJUDGE_STOVE_NO == null)
  1113. {
  1114. MessageBox.Show("未选择任何炉号,请选择炉号后进行保存操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1115. return;
  1116. }
  1117. //判断是否有重复剔除的坯子
  1118. foreach (UltraGridRow ugr4 in ultraGridMatSeq.Rows)
  1119. {
  1120. if (ugr4.Cells["MAT_NO"].Value.ToString().Equals("") && ugr4.Cells["STATUS"].Value.ToString().Equals("剔除"))
  1121. {
  1122. MessageBox.Show("不存在序号第【" + ugr4.Cells["SEQ"].Value.ToString() + "】的坯子,它已被其它工序剔除,不能再次剔除", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1123. return;
  1124. }
  1125. }
  1126. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  1127. UltraGridRow ugr1 = this.sizingResult1.UltraGrid2.Rows[0];
  1128. //UltraGridRow ugr2 = this.sinzingResult_4601.UltraGrid2.Rows[0];
  1129. UltraGridRow ugr3 = this.rollingCard1.UltraGrid4.Rows[0];
  1130. //sizingResult1.UltraGrid2.UpdateData();
  1131. //sinzingResult_4601.UltraGrid2.Update();
  1132. SizingResultSave.Clear();
  1133. if (ugr != null)
  1134. {
  1135. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  1136. string Status = ugr.Cells["IS_START"].Value.ToString();
  1137. string ResultNo = ugr.Cells["ID"].Value.ToString();
  1138. string proPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
  1139. string gxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
  1140. if (Status != "已开始定径")
  1141. {
  1142. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未开始定径,不允许结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1143. return;
  1144. }
  1145. if (Status == "已完成定径")
  1146. {
  1147. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已完成定径不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1148. return;
  1149. }
  1150. MainPlan.JudgeStoveNo = JudgeStoveNo;
  1151. MainPlan.ProPlanId = proPlanId;
  1152. MainPlan.GxPlanNo = gxPlanNo;
  1153. DataTable dtPlan = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  1154. if (dtPlan.Rows.Count > 0)
  1155. {
  1156. //if (string.IsNullOrEmpty(dtPlan.Rows[0]["CUT_HEAD_LENGTHA"].ToString()) || string.IsNullOrEmpty(dtPlan.Rows[0]["CUT_TRAIL_LENGTHA"].ToString()))
  1157. //{
  1158. // MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】热取样工序分切参数未录入,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1159. // return;
  1160. //}
  1161. }
  1162. MilRefurResultEntity Refur = new MilRefurResultEntity();
  1163. Refur.JudgeStoveNo = JudgeStoveNo;
  1164. //终轧温度
  1165. string EXIT_TEMP = "";
  1166. DataTable exitTemp = new DataTable();
  1167. exitTemp = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getSizingResult", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  1168. if (exitTemp.Rows.Count > 0)
  1169. {
  1170. EXIT_TEMP = exitTemp.Rows[0]["EXIT_TEMP"].ToString();
  1171. }
  1172. if (EXIT_TEMP.Length <= 0)
  1173. {
  1174. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】没有终轧温度,不允许结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1175. return;
  1176. }
  1177. //查看连轧结炉标识
  1178. string NodeFlag = "";
  1179. DataTable dtFlag = new DataTable();
  1180. if (PLineCode.Equals("C017") || PLineCode.Equals("C012") || PLineCode.Equals("C008") || PLineCode.Equals("C009") || PLineCode.Equals("C072"))
  1181. {
  1182. dtFlag = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getReFurResult1", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  1183. }
  1184. else
  1185. {
  1186. dtFlag = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getReFurResult", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  1187. }
  1188. // DataTable dtFlag = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmReFurResult.getRefurResult", new object[] { Refur }, this.ob);
  1189. if (dtFlag.Rows.Count > 0)
  1190. {
  1191. NodeFlag = dtFlag.Rows[0]["NODE_FUR_FLAG"].ToString();
  1192. }
  1193. else
  1194. {
  1195. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】上一道工序未开始,不允许结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1196. return;
  1197. }
  1198. if (NodeFlag != "1")
  1199. {
  1200. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】上一道工序未结炉,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1201. return;
  1202. }
  1203. if (hm.NodeGetWaitChangeMat(JudgeStoveNo, ResultNo, 5) > 0)
  1204. {
  1205. MessageBox.Show("管号【" + hm.NodeGetWaitChangeMat(JudgeStoveNo, ResultNo, 5) + "】未接班确认,不能结炉");
  1206. return;
  1207. }
  1208. if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】结炉?") == DialogResult.No)
  1209. {
  1210. return;
  1211. }
  1212. //460机组
  1213. if (PLineCode == "C017" || PLineCode == "C072")
  1214. {
  1215. this.sinzingResult_4601.UltraGrid2.UpdateData();
  1216. ////---从再加热取得剔除支数
  1217. //SizingResultSave.ScrapNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString();
  1218. //if (!string.IsNullOrEmpty(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()))
  1219. //{
  1220. // if (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  1221. // {
  1222. // SizingResultSave.ProductNum = int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum6"].Value.ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString());
  1223. // }
  1224. // else
  1225. // {
  1226. // MessageBox.Show("存在上一道工序已经剔除的管坯在本道工序也剔除了,请回退后再进行结炉操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1227. // return;
  1228. // }
  1229. //}//--------------------从再加热取得
  1230. //剔除支数
  1231. SizingResultSave.ScrapNum = "0";
  1232. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1233. if (dtScrapNum.Rows.Count > 0)
  1234. {
  1235. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  1236. {
  1237. SizingResultSave.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  1238. }
  1239. }
  1240. //合格支数
  1241. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1242. if (dtQANum.Rows.Count > 0)
  1243. {
  1244. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  1245. {
  1246. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  1247. {
  1248. //合格支数
  1249. SizingResultSave.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString())).ToString();
  1250. }
  1251. else
  1252. {
  1253. SizingResultSave.ProductNum = "0";
  1254. }
  1255. }
  1256. else
  1257. { SizingResultSave.ProductNum = "0"; }
  1258. }
  1259. //SizingResultSave.ScrapNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString();
  1260. //if (!string.IsNullOrEmpty(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()))
  1261. //{
  1262. // if (int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  1263. // {
  1264. // SizingResultSave.ProductNum = int.Parse(this.rollingCard1.UltraGrid4.Rows[0].Cells["QualifiedNum5"].Value.ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString());
  1265. // }
  1266. // else
  1267. // {
  1268. // MessageBox.Show("存在上一道工序已经剔除的管坯在本道工序也剔除了,请回退后再进行结炉操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1269. // return;
  1270. // }
  1271. //}
  1272. //荒管尺寸
  1273. //SizingResultSave.PipeSize = this.sinzingResult_4601.SizingDataSource1.Rows[0]["SIZE"].ToString();
  1274. //荒管尺寸
  1275. SizingResultSave.PipeSize = this.sinzingResult_4601.SizingDataSource1.Rows[0]["PIPE_SIZE"].ToString();
  1276. //交接班支数
  1277. SizingResultSave.ChangeNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["CHANGE_NUM"].ToString();
  1278. //轧辊入口速度
  1279. SizingResultSave.EntranceSpeed = this.sinzingResult_4601.SizingDataSource1.Rows[0]["ENTRANCE_SPEED"].ToString();
  1280. //轧辊出口速度
  1281. SizingResultSave.ExitSpeed = this.sinzingResult_4601.SizingDataSource1.Rows[0]["EXIT_SPEED"].ToString();
  1282. //精轧机架
  1283. SizingResultSave.RackNo = this.sinzingResult_4601.SizingDataSource1.Rows[0]["RACK_NO"].ToString();
  1284. //成品规格
  1285. SizingResultSave.ProductSize = this.sinzingResult_4601.SizingDataSource1.Rows[0]["PRODUCT_SIZE"].ToString();
  1286. //终轧温度
  1287. SizingResultSave.ExitTemp = this.sinzingResult_4601.SizingDataSource1.Rows[0]["EXIT_TEMP"].ToString();
  1288. //入口温度
  1289. SizingResultSave.EntranceTemp = this.sinzingResult_4601.SizingDataSource1.Rows[0]["ENTRANCE_TEMP"].ToString();
  1290. //小冷床节奏
  1291. SizingResultSave.BedRhythm = this.sinzingResult_4601.SizingDataSource1.Rows[0]["BED_RHYTHM"].ToString();
  1292. //主电机转速1
  1293. SizingResultSave.HostEleSpeed1 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED1"].ToString();
  1294. //主电机转速2
  1295. SizingResultSave.HostEleSpeed2 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED2"].ToString();
  1296. //主电机转速3
  1297. SizingResultSave.HostEleSpeed3 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED3"].ToString();
  1298. //主电机转速4
  1299. SizingResultSave.HostEleSpeed4 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED4"].ToString();
  1300. //主电机转速5
  1301. SizingResultSave.HostEleSpeed5 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED5"].ToString();
  1302. //主电机转速6
  1303. SizingResultSave.HostEleSpeed6 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED6"].ToString();
  1304. //主电机转速7
  1305. SizingResultSave.HostEleSpeed7 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED7"].ToString();
  1306. //主电机转速8
  1307. SizingResultSave.HostEleSpeed8 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED8"].ToString();
  1308. //主电机转速9
  1309. SizingResultSave.HostEleSpeed9 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED9"].ToString();
  1310. //主电机转速10
  1311. SizingResultSave.HostEleSpeed10 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED10"].ToString();
  1312. //SizingResultSave.FinishRollNum = this.sinzingResult_4601.SizingDataSource1.Rows[0]["FINISH_ROLL_NUM"].ToString();
  1313. //主电机转速11
  1314. SizingResultSave.HostEleSpeed11 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED11"].ToString();
  1315. //主电机转速12
  1316. SizingResultSave.HostEleSpeed12 = this.sinzingResult_4601.SizingDataSource1.Rows[0]["HOST_ELE_SPEED12"].ToString();
  1317. //备注
  1318. SizingResultSave.Remark = this.sinzingResult_4601.SizingDataSource1.Rows[0]["REMARK"].ToString();
  1319. //开始时间
  1320. SizingResultSave.StartTime = this.sinzingResult_4601.SizingDataSource1.Rows[0]["START_TIME"].ToString();
  1321. //精轧机架
  1322. SizingResultSave.RackNo = this.sinzingResult_4601.SizingDataSource1.Rows[0]["RACK_NO"].ToString();
  1323. //int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.saveSizingResult", new object[] { SizingResultSave }, this.ob);
  1324. //SizingResultSave = NativeMethod.GetEntityToEntity(SizingResultSave, this.sinzingResult_4601.Value);
  1325. }
  1326. else
  1327. {
  1328. sizingResult1.UltraGrid2.UpdateData();
  1329. if (PLineCode.Equals("C008") || PLineCode.Equals("C009") || PLineCode.Equals("C012"))//258和阿塞尔机组
  1330. {
  1331. //剔除支数
  1332. SizingResultSave.ScrapNum = "0";
  1333. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1334. if (dtScrapNum.Rows.Count > 0)
  1335. {
  1336. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  1337. {
  1338. SizingResultSave.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  1339. }
  1340. }
  1341. //合格支数
  1342. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1343. if (dtQANum.Rows.Count > 0)
  1344. {
  1345. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  1346. {
  1347. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  1348. {
  1349. //合格支数
  1350. SizingResultSave.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString())).ToString();
  1351. }
  1352. else
  1353. {
  1354. SizingResultSave.ProductNum = "0";
  1355. }
  1356. }
  1357. else
  1358. { SizingResultSave.ProductNum = "0"; }
  1359. }
  1360. }
  1361. else
  1362. {
  1363. //剔除支数
  1364. SizingResultSave.ScrapNum = "0";
  1365. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1366. if (dtScrapNum.Rows.Count > 0)
  1367. {
  1368. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  1369. {
  1370. SizingResultSave.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  1371. }
  1372. }
  1373. //合格支数
  1374. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1375. if (dtQANum.Rows.Count > 0)
  1376. {
  1377. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  1378. {
  1379. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(SizingResultSave.ScrapNum.ToString()))
  1380. {
  1381. //合格支数
  1382. SizingResultSave.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(SizingResultSave.ScrapNum.ToString())).ToString();
  1383. }
  1384. else
  1385. {
  1386. SizingResultSave.ProductNum = "0";
  1387. }
  1388. }
  1389. else
  1390. { SizingResultSave.ProductNum = "0"; }
  1391. }
  1392. }
  1393. //荒管尺寸
  1394. SizingResultSave.PipeSize = this.sizingResult1.SizingDataSource1.Rows[0]["PipeSize"].ToString();
  1395. //轧辊入口速度
  1396. SizingResultSave.EntranceSpeed = this.sizingResult1.SizingDataSource1.Rows[0]["EntranceSpeed"].ToString();
  1397. //轧辊出口速度
  1398. SizingResultSave.ExitSpeed = this.sizingResult1.SizingDataSource1.Rows[0]["ExitSpeed"].ToString();
  1399. //轧机入口温度
  1400. SizingResultSave.EntranceTemp = this.sizingResult1.SizingDataSource1.Rows[0]["RollEntranceTemp"].ToString();
  1401. //成品规格
  1402. SizingResultSave.ProductSize = this.sizingResult1.SizingDataSource1.Rows[0]["ProductSize"].ToString();
  1403. //终轧温度
  1404. SizingResultSave.ExitTemp = this.sizingResult1.SizingDataSource1.Rows[0]["EndRollingTemp"].ToString();
  1405. //孔型系列
  1406. SizingResultSave.PassSeries = this.sizingResult1.SizingDataSource1.Rows[0]["KXXL"].ToString();
  1407. //精轧系列机架数
  1408. SizingResultSave.FinishRollNum = this.sizingResult1.SizingDataSource1.Rows[0]["RackNum"].ToString();
  1409. //交接班支数
  1410. //SizingResultSave.ScrapNum = this.sizingResult1.SizingDataSource1.Rows[0]["ChangeClassNum"].ToString();
  1411. //主电机转速1
  1412. SizingResultSave.HostEleSpeed1 = this.sizingResult1.SizingDataSource1.Rows[0]["MainELE1"].ToString();
  1413. //主电机转速2
  1414. SizingResultSave.HostEleSpeed2 = this.sizingResult1.SizingDataSource1.Rows[0]["MainELE2"].ToString();
  1415. //主电机转速3
  1416. SizingResultSave.HostEleSpeed3 = this.sizingResult1.SizingDataSource1.Rows[0]["MainELE3"].ToString();
  1417. //叠加电机转速1
  1418. SizingResultSave.FoldEleSpeed1 = this.sizingResult1.SizingDataSource1.Rows[0]["SELESpeed1"].ToString();
  1419. //叠加电机转速2
  1420. SizingResultSave.FoldEleSpeed2 = this.sizingResult1.SizingDataSource1.Rows[0]["SELESpeed2"].ToString();
  1421. //叠加电机转速3
  1422. SizingResultSave.FoldEleSpeed3 = this.sizingResult1.SizingDataSource1.Rows[0]["SELESpeed3"].ToString();
  1423. //备注
  1424. SizingResultSave.Remark = this.sizingResult1.SizingDataSource1.Rows[0]["Remark"].ToString();
  1425. //开始时间
  1426. SizingResultSave.StartTime = this.sizingResult1.SizingDataSource1.Rows[0]["StartTime"].ToString();
  1427. //开始时间
  1428. SizingResultSave.BeginRollingTemp = this.sizingResult1.SizingDataSource1.Rows[0]["beginRollingTemp"].ToString();
  1429. //int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.saveSizingResult", new object[] { SizingResultSave }, this.ob);
  1430. //SizingResultSave = NativeMethod.GetEntityToEntity(SizingResultSave, this.sizingResult1.Value);
  1431. }
  1432. SizingResultSave.UserId = _UserID;
  1433. SizingResultSave.ColUser = _UserName;
  1434. SizingResultSave.ColGroup = UserInfo.GetUserGroup();
  1435. SizingResultSave.ColShift = UserInfo.GetUserOrder();
  1436. //合格吨
  1437. double DBHeight = 0;
  1438. double BurnningRate = 0;
  1439. double BurnningRate1 = 0;
  1440. double DBNum = 1;
  1441. DataTable dtDBH = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getDbHeight", new object[] { JudgeStoveNo, ResultNo, proPlanId, gxPlanNo }, this.ob);
  1442. if (dtDBH.Rows.Count > 0)
  1443. {
  1444. if (!string.IsNullOrEmpty(dtDBH.Rows[0]["DB_HEIGHT"].ToString()))
  1445. {
  1446. DBHeight = double.Parse(dtDBH.Rows[0]["DB_HEIGHT"].ToString());
  1447. }
  1448. if (!string.IsNullOrEmpty(dtDBH.Rows[0]["BURNNING_RATE"].ToString()))
  1449. {
  1450. BurnningRate = double.Parse(dtDBH.Rows[0]["BURNNING_RATE"].ToString());
  1451. }
  1452. if (!string.IsNullOrEmpty(dtDBH.Rows[0]["BURNINGRATE"].ToString()))
  1453. {
  1454. BurnningRate1 = double.Parse(dtDBH.Rows[0]["BURNINGRATE"].ToString());
  1455. }
  1456. if (!string.IsNullOrEmpty(dtDBH.Rows[0]["DB_NUM"].ToString()))
  1457. {
  1458. DBNum = double.Parse(dtDBH.Rows[0]["DB_NUM"].ToString());
  1459. }
  1460. }
  1461. //分产线 是否经过再加热炉
  1462. if (PLineCode == "C008" || PLineCode == "C009" || PLineCode == "C012" || PLineCode == "C017" || PLineCode == "C072")
  1463. {
  1464. SizingResultSave.QaTon = (DBHeight * (1 - (BurnningRate / 100)) * double.Parse(SizingResultSave.ProductNum.ToString3())).ToString();
  1465. }
  1466. else
  1467. {
  1468. SizingResultSave.QaTon = (DBHeight * (1 - (BurnningRate / 100)) * (1 - (BurnningRate1 / 100)) * double.Parse(SizingResultSave.ProductNum.ToString())).ToString();
  1469. }
  1470. SizingResultSave.JudgeStoveNo = JudgeStoveNo;
  1471. SizingResultSave.Status = "60";
  1472. SizingResultSave.ProPlanId = proPlanId;
  1473. SizingResultSave.GxPlanNo = gxPlanNo;
  1474. SizingResultSave.LotNo = lotNo;
  1475. SizingResultSave.PlineCode = PLineCode;
  1476. //写进程表
  1477. CoreClientParam ccp = new CoreClientParam();
  1478. ccp.ServerName = "com.steering.mes.zgmil.coup.FurResult";
  1479. ccp.MethodName = "updateMilSlab";
  1480. ccp.ServerParams = new object[] { JudgeStoveNo, "6", proPlanId, gxPlanNo };
  1481. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1482. if (ccp.ReturnCode != -1)
  1483. {
  1484. if (ccp.ReturnInfo.Equals("修改成功!"))
  1485. {
  1486. ccp.ServerName = "com.steering.mes.zgmil.coup.FurResult";
  1487. ccp.MethodName = "updateProcess";
  1488. ccp.ServerParams = new object[] { JudgeStoveNo, "6", "6", proPlanId, gxPlanNo, lotNo, PLineCode };
  1489. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1490. if (ccp.ReturnCode != -1)
  1491. {
  1492. if (ccp.ReturnInfo.Equals("修改成功!"))
  1493. {
  1494. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.nodeResult", new object[] { SizingResultSave }, this.ob);
  1495. if (count > 0)
  1496. {
  1497. int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.scrapNodeMat", new object[] { JudgeStoveNo, 6, 0, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1498. NativeMethodNew na = new NativeMethodNew(this.ob);
  1499. //na.InsertSTAferDoubleClick(JudgeStoveNo, 5, "1", proPlanId, gxPlanNo);
  1500. NativeMethod.CheckNodeMatStatus(JudgeStoveNo, proPlanId, gxPlanNo, 5, this.ob);
  1501. }
  1502. }
  1503. else
  1504. {
  1505. MessageUtil.ShowTips(ccp.ReturnInfo);
  1506. }
  1507. }
  1508. }
  1509. }
  1510. this.sinzingResult_4601.IsCellSelect = false;
  1511. this.sizingResult1.IsCellSelect = false;
  1512. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】结炉成功!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1513. //刷新主表
  1514. DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlan", new object[] { QueryMainPlan, 6 }, this.ob);
  1515. GridHelper.CopyDataToDatatable(ref dt1, ref dtPlan, true);
  1516. //ultraGridPlan.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  1517. ChangeGridColor();
  1518. PlanQuery();
  1519. GetFurRack();
  1520. tempsizingresult = NativeMethod.GetEntityToEntity(tempsizingresult, SizingResultSave);
  1521. }
  1522. }
  1523. /// <summary>
  1524. /// 开始回退
  1525. /// </summary>
  1526. private void StartBack()
  1527. {
  1528. if (ultraGridPlan.Rows.Count > 0)
  1529. {
  1530. if (this.ultraGridPlan.ActiveRow == null)
  1531. {
  1532. MessageBox.Show("请选择需要回退的炉号!!!");
  1533. return;
  1534. }
  1535. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  1536. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  1537. string ResultNo = ugr.Cells["ID"].Value.ToString();
  1538. string StartStatus = ugr.Cells["IS_START"].Value.ToString();
  1539. if (StartStatus == "已完成定径")
  1540. {
  1541. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已结炉,不能开始回退!!!!");
  1542. return;
  1543. }
  1544. if (StartStatus == "未开始定径")
  1545. {
  1546. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未开始定径,不能开始回退!!!!");
  1547. return;
  1548. }
  1549. //NativeMethodNew nvw = new NativeMethodNew(this.ob);
  1550. //if (nvw.isBegineNode(JudgeStoveNo, 6))
  1551. //{
  1552. // MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已开始分切,不能开始回退!!!!");
  1553. // return;
  1554. //}
  1555. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.startBack", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1556. if (PLineCode == "C009" || PLineCode == "C012" || PLineCode == "C017")
  1557. {
  1558. //int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.startBack", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, proPlanId, gxPlanNo }, this.ob);
  1559. }
  1560. ChangeGridColor();
  1561. GetFurRack();
  1562. PlanQuery();
  1563. }
  1564. }
  1565. /// <summary>
  1566. /// 结炉回退
  1567. /// </summary>
  1568. private void NodeBack()
  1569. {
  1570. if (this.ultraGridPlan.ActiveRow == null)
  1571. {
  1572. MessageBox.Show("请选择需要回退的炉号!!!");
  1573. return;
  1574. }
  1575. UltraGridRow ugr = ultraGridPlan.ActiveRow;
  1576. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  1577. string ResultNo = ugr.Cells["ID"].Value.ToString();
  1578. string NodeFlag = ugr.Cells["IS_START"].Value.ToString();
  1579. if (NodeFlag != "已完成定径")
  1580. {
  1581. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未结炉,不能结炉回退!!!!");
  1582. return;
  1583. }
  1584. //查询结炉班次班组
  1585. DataTable dtNodeGroup = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.doNodeBackCheck", new object[] { JudgeStoveNo, ResultNo, 5, proPlanId, gxPlanNo }, this.ob);
  1586. if (dtNodeGroup.Rows.Count > 0)
  1587. {
  1588. string NodeShift = dtNodeGroup.Rows[0][0].ToString();
  1589. string NodeGroup = dtNodeGroup.Rows[0][1].ToString();
  1590. if (Shift == NodeShift && Group == NodeGroup)
  1591. {
  1592. }
  1593. else
  1594. {
  1595. switch (NodeShift)
  1596. {
  1597. case "0":
  1598. NodeShift = "白班";
  1599. break;
  1600. case "1":
  1601. NodeShift = "早班";
  1602. break;
  1603. case "2":
  1604. NodeShift = "中班";
  1605. break;
  1606. case "3":
  1607. NodeShift = "夜班";
  1608. break;
  1609. }
  1610. switch (NodeGroup)
  1611. {
  1612. case "1":
  1613. NodeGroup = "甲班";
  1614. break;
  1615. case "2":
  1616. NodeGroup = "乙班";
  1617. break;
  1618. case "3":
  1619. NodeGroup = "丙班";
  1620. break;
  1621. case "4":
  1622. NodeGroup = "丁班";
  1623. break;
  1624. }
  1625. switch (this.UserInfo.GetUserOrder())
  1626. {
  1627. case "0":
  1628. Shift = "白班";
  1629. break;
  1630. case "1":
  1631. Shift = "早班";
  1632. break;
  1633. case "2":
  1634. Shift = "中班";
  1635. break;
  1636. case "3":
  1637. Shift = "夜班";
  1638. break;
  1639. }
  1640. switch (this.UserInfo.GetUserGroup())
  1641. {
  1642. case "1":
  1643. Group = "甲班";
  1644. break;
  1645. case "2":
  1646. Group = "乙班";
  1647. break;
  1648. case "3":
  1649. Group = "丙班";
  1650. break;
  1651. case "4":
  1652. Group = "丁班";
  1653. break;
  1654. }
  1655. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已由" + NodeGroup + "," + NodeShift + "结炉,当班不能结炉回退");
  1656. return;
  1657. }
  1658. }
  1659. DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.doNodeBackCheck", new object[] { JudgeStoveNo, ResultNo, proPlanId, gxPlanNo }, this.ob);
  1660. if (dt.Rows.Count > 0)
  1661. {
  1662. string NodeProcess = ""; //当前炉次结炉工序
  1663. string NodeStatus = dt.Rows[0][0].ToString();
  1664. switch (NodeStatus)
  1665. {
  1666. case "30":
  1667. NodeProcess = "穿孔";
  1668. break;
  1669. case "40":
  1670. NodeProcess = "连轧";
  1671. break;
  1672. case "50":
  1673. NodeProcess = "再加热炉";
  1674. break;
  1675. case "60":
  1676. NodeProcess = "定径";
  1677. break;
  1678. case "70":
  1679. NodeProcess = "分切";
  1680. break;
  1681. case "80":
  1682. NodeProcess = "矫直";
  1683. break;
  1684. case "90":
  1685. NodeProcess = "探伤";
  1686. break;
  1687. case "96":
  1688. NodeProcess = "质检";
  1689. break;
  1690. }
  1691. if (NodeStatus != "60")
  1692. {
  1693. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】 " + NodeProcess + "工序已结炉,当前工序不能结炉回退");
  1694. return;
  1695. }
  1696. }
  1697. //判断当前炉次下道工序是否结炉 下道工序结炉 - 不允许回退
  1698. int Seq = 0;
  1699. DataTable dt2 = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.changeFlagQuery", new object[] { JudgeStoveNo, ResultNo, 5, proPlanId, gxPlanNo }, this.ob);
  1700. if (dt2.Rows.Count > 0)
  1701. {
  1702. Seq = int.Parse(dt2.Rows[0][0].ToString());
  1703. }
  1704. if (PLineCode == "C008" || PLineCode == "C009" || PLineCode == "C012" || PLineCode == "C017" || PLineCode == "C072") //无再加热炉
  1705. {
  1706. //查询当前炉次是否有交班点
  1707. int InSeq = 0; //入炉交班序号
  1708. int OutSeq = 0; //出炉交班序号
  1709. DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.changeFlagQuery", new object[] { JudgeStoveNo, ResultNo, 4, proPlanId, gxPlanNo }, this.ob);
  1710. if (dt1.Rows.Count > 0)
  1711. {
  1712. for (int i = 0; i < dt1.Rows.Count; i++)
  1713. {
  1714. if (dt1.Rows[i]["IN_CHANGE_FLAG"].ToString() == "1")
  1715. {
  1716. Seq = int.Parse(dt1.Rows[i][0].ToString());
  1717. }
  1718. else
  1719. {
  1720. OutSeq = int.Parse(dt1.Rows[i][0].ToString());
  1721. }
  1722. }
  1723. }
  1724. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.nodeBack", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, Seq, 0, 6, proPlanId, gxPlanNo, lotNo }, this.ob);
  1725. int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.nodeBack", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, InSeq, OutSeq, 6, proPlanId, gxPlanNo, lotNo }, this.ob);
  1726. }
  1727. else
  1728. {
  1729. int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.nodeBack", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, Seq, 0, 6, proPlanId, gxPlanNo, lotNo }, this.ob);
  1730. }
  1731. ChangeGridColor();
  1732. GetFurRack();
  1733. PlanQuery();
  1734. }
  1735. /// <summary>
  1736. /// 剔除
  1737. /// </summary>
  1738. /// <param name="sender"></param>
  1739. /// <param name="e"></param>
  1740. private void ultraGridMatSeq_ClickCellButton(object sender, CellEventArgs e)
  1741. {
  1742. MilSlabScrapSeqEntity ScrapSlab = new MilSlabScrapSeqEntity();
  1743. UltraGridRow ugr = ultraGridMatSeq.ActiveRow;
  1744. UltraGridRow ugr1 = ultraGridPlan.ActiveRow;
  1745. HOTMethod hm = new HOTMethod(this.ob);
  1746. string PlanStatuss = ultraGridPlan.ActiveRow.Cells["IS_START"].Value.ToString();
  1747. string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
  1748. int Seq = int.Parse(ugr.Cells["SEQ"].Value.ToString());
  1749. string MAT_NO = ugr.Cells["MAT_NO"].Value.ToString();
  1750. string PlanStatus = ugr1.Cells["IS_START"].Value.ToString();
  1751. string MatStatus = ugr.Cells["STATUS"].Value.ToString();
  1752. string ResultNo = ugr1.Cells["ID"].Value.ToString();
  1753. string NodeStatus = ugr1.Cells["NODE_STATUS"].Value.ToString();
  1754. string shif = ugr.Cells["COL_SHIFT"].Value.ToString();
  1755. string group = ugr.Cells["COL_GROUP"].Value.ToString();
  1756. NativeMethodNew nasssss = new NativeMethodNew(this.ob);
  1757. if (nasssss.IsRackOperate(shif, group))
  1758. {
  1759. MessageBox.Show("序号:【" + Seq + "】子管已由" + shif + "," + group + "操作,不允许再进行操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1760. return;
  1761. }
  1762. if (PlanStatus == "已完成定径")
  1763. {
  1764. if (e.Cell.Column.Key == "CHANGE_NUM")
  1765. {
  1766. MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString()) + "】已完成定径,不允许交班。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1767. }
  1768. else if (e.Cell.Column.Key == "BTNCHANGECOM")
  1769. {
  1770. MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString()) + "】已完成定径,不允许接班!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1771. }
  1772. else
  1773. {
  1774. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString()) + "】已完成定径,不能剔除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1775. }
  1776. return;
  1777. }
  1778. CoreClientParam ccp = new CoreClientParam();
  1779. ccp.ServerName = "com.steering.mes.zgmil.coup.FeedSawResult";
  1780. ccp.MethodName = "scrapMatCheck";
  1781. ccp.ServerParams = new object[] { JudgeStoveNo, 6, proPlanId, gxPlanNo };
  1782. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1783. int ScrapNumBefore = Convert.ToInt32(ccp.ReturnInfo);
  1784. if (e.Cell.Column.Key == "SCRAP_DBNUM" || e.Cell.Column.Key == "SCRAP_AFTER")
  1785. {
  1786. if (MatStatus == "剔除")
  1787. {
  1788. MessageBox.Show("荒管已被剔除不能再次剔除!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1789. return;
  1790. }
  1791. if (ultraGridMatSeq.Rows.Count - ScrapNumBefore < Seq)
  1792. {
  1793. MessageBox.Show("不存在序号为【" + Seq + "】的管号,已被其他工序剔除,不能再次剔除!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1794. return;
  1795. }
  1796. int i = 0;
  1797. foreach (UltraGridRow uRow in ultraGridMatSeq.Rows)
  1798. {
  1799. if (uRow.Cells["STATUS"].Value.ToString().Equals("正常轧制") && int.Parse(uRow.Cells["SEQ"].Value.ToString3()) > 2)
  1800. {
  1801. i = i + 1;
  1802. }
  1803. }
  1804. if (Seq < 3 && i > 0)
  1805. {
  1806. if (MessageUtil.ShowYesNoAndQuestion("该管坯可能是样管,是否确认剔除。") == DialogResult.No)
  1807. {
  1808. return;
  1809. }
  1810. }
  1811. //if (ugr.Cells["MAT_NO"].Text == "")
  1812. //{
  1813. // MessageBox.Show("不存在序号为【" + Seq + "】的管号,已被其他工序剔除,不能再次剔除!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1814. // return;
  1815. //}
  1816. DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.FurResult.selectPortBacthSlample", new object[] { MAT_NO }, ob);
  1817. if (ds.Rows.Count > 0)
  1818. {
  1819. if (MessageUtil.ShowYesNoAndQuestion("此管坯已有被取为样管,是否继续剔除?") == DialogResult.No)
  1820. {
  1821. return;
  1822. }
  1823. }
  1824. //管排锯切前判断当前管坯序号是否已剔除
  1825. //DataTable dtSeq = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapSeq", new object[] { JudgeStoveNo, Seq.ToString() }, this.ob);
  1826. //if (dtSeq.Rows.Count > 0)
  1827. //{
  1828. // MessageBox.Show("不存在序号为【" + Seq + "】的管号,已在【" + dtSeq.Rows[0][0].ToString() + "】剔除,不能再次剔除!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1829. // return;
  1830. //}
  1831. //if (MessageUtil.ShowYesNoAndQuestion("是否剔除该荒管") == DialogResult.No)
  1832. //{
  1833. // return;
  1834. //}
  1835. ScrapSlab.JudgeStoveNo = JudgeStoveNo;
  1836. ScrapSlab.Seq = Seq;
  1837. ScrapSlab.ProcessNo = "6";
  1838. if (e.Cell.Column.Key == "SCRAP_DBNUM")
  1839. {
  1840. ScrapSlab.FeedRowNo = "1"; //定径前剔除
  1841. ScrapSlab.ScrapReason = "温降";
  1842. }
  1843. else
  1844. {
  1845. ScrapSlab.FeedRowNo = "2"; //定径后剔除
  1846. ScrapSlab.ScrapReason = "弯曲";
  1847. }
  1848. ScrapSlab.Flag = "0";
  1849. ScrapSlab.ColMode = "1";
  1850. ScrapSlab.ColUser = UserInfo.GetUserName();
  1851. ScrapSlab.ColGroup = UserInfo.GetUserGroup();
  1852. ScrapSlab.ColShift = UserInfo.GetUserOrder();
  1853. ScrapSlab.ProPlanId = proPlanId;
  1854. ScrapSlab.GxPlanNo = gxPlanNo;
  1855. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.SizingResult.scrapMat", new object[] { ScrapSlab }, this.ob);
  1856. int ScrapNum = 0;
  1857. //460机组
  1858. if (PLineCode == "C017" || PLineCode == "C072")
  1859. {
  1860. //if (string.IsNullOrEmpty(this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString()) || this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString() == "0")
  1861. //{
  1862. // ScrapNum = 1;
  1863. //}
  1864. //else
  1865. //{
  1866. // ScrapNum = int.Parse(this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString()) + count;
  1867. //}
  1868. //sizingResult1.Value.ScrapNum = ScrapNum;
  1869. //sizingResult1.UpdateDateForRack();
  1870. if (!string.IsNullOrEmpty(this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString()) || this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString() == "0")
  1871. {
  1872. ScrapNum = 1;
  1873. }
  1874. else
  1875. {
  1876. ScrapNum = int.Parse(this.sinzingResult_4601.SizingDataSource1.Rows[0]["SCRAP_NUM"].ToString()) + count;
  1877. }
  1878. sinzingResult_4601.Value.ScrapNum = ScrapNum.ToString();
  1879. sinzingResult_4601.UpdateDateForRack();
  1880. }
  1881. else
  1882. {
  1883. if (!string.IsNullOrEmpty(this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString()) || this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString() == "0")
  1884. {
  1885. ScrapNum = 1;
  1886. }
  1887. else
  1888. {
  1889. ScrapNum = int.Parse(this.sizingResult1.SizingDataSource1.Rows[0]["ScrapNum"].ToString()) + count;
  1890. }
  1891. sizingResult1.Value.ScrapNum = ScrapNum.ToString();
  1892. sizingResult1.UpdateDateForRack();
  1893. }
  1894. }
  1895. if (e.Cell.Column.Key == "DELBACK")
  1896. {
  1897. //if (MessageUtil.ShowYesNoAndQuestion("是否回退该剔除的坯料") == DialogResult.No)
  1898. //{
  1899. // return;
  1900. //}
  1901. if (!MatStatus.Equals("剔除"))
  1902. {
  1903. MessageBox.Show("该坯料未被剔除,请确认后重新选择!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1904. return;
  1905. }
  1906. NativeMethodNew na = new NativeMethodNew(this.ob);
  1907. int counts = na.DeleteSlabSeq(JudgeStoveNo, Seq.ToString(), 6, 1, 0, proPlanId, gxPlanNo);
  1908. if (counts > 0)
  1909. {
  1910. //MessageBox.Show("剔料回退成功", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1911. }
  1912. else
  1913. {
  1914. MessageBox.Show("剔料回退失败", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1915. return;
  1916. }
  1917. }
  1918. //交班
  1919. if (e.Cell.Column.Key == "CHANGE_NUM")
  1920. {
  1921. string Shift = UserInfo.GetUserOrder();
  1922. string Group = UserInfo.GetUserGroup();
  1923. string User = UserInfo.GetUserName();
  1924. int BeforeChangeNum = 0;
  1925. //查询上个班交班支数
  1926. DataTable dtChangeNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getChangeSeq", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, Shift, Group, proPlanId, gxPlanNo }, this.ob);
  1927. if (dtChangeNum.Rows.Count > 0)
  1928. {
  1929. if (!string.IsNullOrEmpty(dtChangeNum.Rows[0][0].ToString()))
  1930. {
  1931. BeforeChangeNum = int.Parse(dtChangeNum.Rows[0][0].ToString());
  1932. }
  1933. }
  1934. int Seq2 = Seq;
  1935. if (Seq2 <= BeforeChangeNum)
  1936. {
  1937. MessageBox.Show("前道班次已交班,该支不能再次交班。");
  1938. return;
  1939. }
  1940. if (Seq2 > ultraGridMatSeq.Rows.Count - ScrapNumBefore)
  1941. {
  1942. MessageBox.Show("该支已被前道工序剔除,不能在该支交班");
  1943. return;
  1944. }
  1945. // int Seq = int.Parse(e.Cell.Row.Cells["SEQ"].Value.ToString());
  1946. //int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.changeNum", new object[] { JudgeStoveNo, ResultNo, Seq2, BeforeChangeNum, 0, PLineCode, Shift, Group, _UserName, 6, 0 }, this.ob);
  1947. //ChangeFlag = 1;
  1948. hm.UpdateChangeFlag(ActiveJUDGE_STOVE_NO, ActiveResultNo, "", 5, Seq, 0);
  1949. }
  1950. //接班
  1951. if (e.Cell.Column.Key == "BTNCHANGECOM")
  1952. {
  1953. string Shift = UserInfo.GetUserOrder();
  1954. string Group = UserInfo.GetUserGroup();
  1955. string User = UserInfo.GetUserName();
  1956. int BeforeChangeNum = 0;
  1957. //查询上个班交班支数
  1958. DataTable dtChangeNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getChangeSeq", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, Shift, Group, proPlanId, gxPlanNo }, this.ob);
  1959. if (dtChangeNum.Rows.Count > 0)
  1960. {
  1961. if (!string.IsNullOrEmpty(dtChangeNum.Rows[0][0].ToString()))
  1962. {
  1963. BeforeChangeNum = int.Parse(dtChangeNum.Rows[0][0].ToString());
  1964. }
  1965. }
  1966. int WaitChangeSeq = hm.GetWaitChangeSeq(ActiveJUDGE_STOVE_NO, ActiveResultNo, "", 5, 0, proPlanId, gxPlanNo);
  1967. if (WaitChangeSeq == 0)
  1968. {
  1969. MessageBox.Show("没有待交班确认的管号。");
  1970. return;
  1971. }
  1972. if (WaitChangeSeq != Seq)
  1973. {
  1974. MessageBox.Show("交班管序号与接班管序号不符,请确认后接班。");
  1975. return;
  1976. }
  1977. if (MessageUtil.ShowYesNoAndQuestion("确认炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】序号:【" + Seq + "】交班?") == DialogResult.No)
  1978. {
  1979. return;
  1980. }
  1981. //查询是否有该班接班记录
  1982. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  1983. string Time = SeverTime.ToLongTimeString();
  1984. string StartTime = SeverTime.ToShortDateString() + " 00:00:00";
  1985. string EndTime = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  1986. //未登录
  1987. //if (!hm.IsChanged(StartTime, EndTime, Shift, Group, "5", PLineCode))
  1988. //{
  1989. //FrmChangeGroup frmCg = new FrmChangeGroup(this.ob);
  1990. //frmCg.ShowDialog();
  1991. //if (frmCg.DialogResult == DialogResult.OK)
  1992. if (this.DoRelogin(DoCheck))
  1993. {
  1994. //插入接班确认履历表
  1995. hm.InsertChangeRemuse(Shift, Group, _UserName, "5", PLineCode);
  1996. int Seq2 = Seq;
  1997. int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.changeNum", new object[] { JudgeStoveNo, ResultNo, Seq2, BeforeChangeNum, 0, PLineCode, Shift, Group, _UserName, 6, 0, proPlanId, gxPlanNo }, this.ob);
  1998. ChangeFlag = 1;
  1999. }
  2000. //}
  2001. //else
  2002. //{
  2003. // int Seq2 = Seq;
  2004. // int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.changeNum", new object[] { JudgeStoveNo, ResultNo, Seq2, BeforeChangeNum, 0, PLineCode, Shift, Group, _UserName, 6, 0 }, this.ob);
  2005. // ChangeFlag = 1;
  2006. //}
  2007. }
  2008. //过渡方法,接班后重登陆初始化导致Grid.Row为null
  2009. if (ultraGridPlan.Rows == null)
  2010. {
  2011. return;
  2012. }
  2013. GetRollingCard();
  2014. GetFurRack();
  2015. ChangeGridColor();
  2016. DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  2017. //查询定径实绩信息
  2018. DataTable dtSizingResult = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.getSizingResult", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
  2019. if (dtSizingResult.Rows.Count > 0)
  2020. {
  2021. if (PLineCode != "C017" && PLineCode != "C072")
  2022. {
  2023. SizingResultEditForRack(dtSizingResult);
  2024. }
  2025. else
  2026. {
  2027. Sizing460ResultEidtForRack(dtSizingResult, dtMP.Rows[0]["PIPE_SIZE"].ToString());
  2028. }
  2029. }
  2030. else
  2031. {
  2032. this.sizingResult1.Value.Clear();
  2033. this.sinzingResult_4601.Value.Clear();
  2034. //清空定径实绩
  2035. GridHelper.InitCardGrid(sizingResult1.SizingDataSource1, sizingResult1.UltraGrid2);
  2036. //清空定径实绩460
  2037. GridHelper.InitCardGrid(sinzingResult_4601.SizingDataSource1, sinzingResult_4601.UltraGrid2);
  2038. }
  2039. }
  2040. public string DoCheck(CoreUserInfo User)
  2041. {
  2042. return "";
  2043. }
  2044. /// <summary>
  2045. /// 双击管号队列表头更改grid大小
  2046. /// </summary>
  2047. /// <param name="sender"></param>
  2048. /// <param name="e"></param>
  2049. private void ultraGridMatSeq_DoubleClickHeader(object sender, DoubleClickHeaderEventArgs e)
  2050. {
  2051. if (PanelSizeFlag == 0)
  2052. {
  2053. PanelSizeFlag = 1;
  2054. splitContainer2.SplitterDistance = 180;
  2055. }
  2056. else
  2057. {
  2058. PanelSizeFlag = 0;
  2059. splitContainer2.SplitterDistance = 90;
  2060. }
  2061. }
  2062. #endregion
  2063. #region 卡片赋值
  2064. /// <summary>
  2065. /// 轧制信息Grid赋值
  2066. /// </summary>
  2067. /// <param name="dt">轧制计划信息datatable</param>
  2068. public void GridEdit(DataTable dt)
  2069. {
  2070. if (dt.Rows.Count > 0)
  2071. {
  2072. DataRow row1 = dt.Rows[0];
  2073. //熔炼炉号
  2074. this.rollingInfomation1.Value.StoveNo = row1["stove_no"].ToString();
  2075. //炉号
  2076. this.rollingInfomation1.Value.JudgeStoveNo = BaseMethod.getJudgeStoveNo(row1["judge_stove_no"].ToString());
  2077. //生产批号
  2078. this.rollingInfomation1.Value.LotNo = row1["lot_no"].ToString();
  2079. //工序合同号
  2080. this.rollingInfomation1.Value.ContractNo = row1["contract_no"].ToString();
  2081. //执行工艺号
  2082. this.rollingInfomation1.Value.ImpProcess = row1["imp_process"].ToString();
  2083. //执行工艺号路径
  2084. this.rollingInfomation1.Value.ImpProcessPath = row1["imp_process_path"].ToString();
  2085. //产线代码
  2086. this.rollingInfomation1.Value.PlineCode = row1["pline_code"].ToString();
  2087. //状态
  2088. this.rollingInfomation1.Value.Status = row1["STATUS"].ToString();
  2089. //监制
  2090. this.rollingInfomation1.Value.Producer = row1["producer"].ToString();
  2091. //工艺状态
  2092. this.rollingInfomation1.Value.ProcessStatus = row1["process_status"].ToString();
  2093. //单倍长
  2094. this.rollingInfomation1.Value.DbLength = row1["db_length"].ToString();
  2095. //单倍重
  2096. this.rollingInfomation1.Value.DbHeight = row1["db_height"].ToString();
  2097. //轧制长度
  2098. this.rollingInfomation1.Value.RollLength = row1["roll_length"].ToString();
  2099. //分切数
  2100. this.rollingInfomation1.Value.SawNum = row1["saw_num"].ToString();
  2101. //目标长度
  2102. this.rollingInfomation1.Value.TargetLength = row1["target_length"].ToString();
  2103. //最终用户
  2104. this.rollingInfomation1.Value.FinishUser = row1["finish_user"].ToString();
  2105. //目标库
  2106. this.rollingInfomation1.Value.TargetLiabrary = row1["target_liabrary"].ToString();
  2107. //品种
  2108. this.rollingInfomation1.Value.Varieties = row1["varieties"].ToString();
  2109. //成品规格
  2110. this.rollingInfomation1.Value.PipeSize = row1["pipe_size"].ToString();
  2111. //扣型
  2112. this.rollingInfomation1.Value.BuckleType = row1["buckle_type"].ToString();
  2113. //长度范围
  2114. this.rollingInfomation1.Value.LengthRange = row1["length_range"].ToString();
  2115. //轧管判定标准
  2116. this.rollingInfomation1.Value.RollStandrad = row1["roll_standrad"].ToString();
  2117. //断面
  2118. this.rollingInfomation1.Value.PipeSection = row1["pipe_section"].ToString();
  2119. //钢种代码
  2120. this.rollingInfomation1.Value.SteelCode = row1["steelcode"].ToString();
  2121. //钢种名称
  2122. this.rollingInfomation1.Value.SteelName = row1["steelname"].ToString();
  2123. //钢级代码
  2124. this.rollingInfomation1.Value.GradeCode = row1["gradecode"].ToString();
  2125. //钢级名称
  2126. this.rollingInfomation1.Value.GradeName = row1["gradename"].ToString();
  2127. //炼钢判定标准
  2128. this.rollingInfomation1.Value.SteelStandrad = row1["steel_standrad"].ToString();
  2129. //去向
  2130. this.rollingInfomation1.Value.Target = row1["target"].ToString();
  2131. //支
  2132. this.rollingInfomation1.Value.PlanNum = row1["BRANCH"].ToString();
  2133. //吨
  2134. this.rollingInfomation1.Value.PlanTon = row1["TON"].ToString();
  2135. //切损去向
  2136. this.rollingInfomation1.Value.CutTarget = row1["cut_target"].ToString();
  2137. //切损长度
  2138. this.rollingInfomation1.Value.CutLength = row1["cut_length"].ToString();
  2139. //切损重量
  2140. this.rollingInfomation1.Value.CutHeight = row1["CUT_WEIGHT"].ToString();
  2141. //倍尺数
  2142. this.rollingInfomation1.Value.DbNum = row1["DB_NUM"].ToString();
  2143. //标准类别代码
  2144. this.rollingInfomation1.Value.StdStyle = row1["STD_STYLE"].ToString();
  2145. //标准类别描述
  2146. this.rollingInfomation1.Value.StdStyleDesc = row1["STD_STYLE_DESC"].ToString();
  2147. //成品备注
  2148. this.rollingInfomation1.Value.ReMark = row1["ReMark"].ToString();
  2149. this.rollingInfomation1.UpdateData();
  2150. }
  2151. }
  2152. /// <summary>
  2153. /// 流通卡赋值
  2154. /// </summary>
  2155. /// <param name="dt"></param>
  2156. public void RollingCardEditGrid(DataTable dt, string heatno)
  2157. {
  2158. if (dt.Rows.Count > 0)
  2159. {
  2160. //上料切前剔除支数
  2161. this.rollingCard1.Value.FeedScrapNum = dt.Rows[0]["SCRAP_FEED"].ToString();
  2162. //上料切前合格支数
  2163. this.rollingCard1.Value.FeedQualifiedNum = dt.Rows[0]["QUALIFIED_FEED"].ToString();
  2164. //上料剔除支数
  2165. this.rollingCard1.Value.FeedScrapDBNum = dt.Rows[0]["SCRAP_DBFEED"].ToString();
  2166. //上料合格支数
  2167. this.rollingCard1.Value.FeedQualifiedDBNum = dt.Rows[0]["QUALIFIED_DBFEED"].ToString();
  2168. //加热炉剔除支数
  2169. this.rollingCard1.Value.FurScrapNum = dt.Rows[0]["SCRAP_FUR"].ToString();
  2170. //加热炉合格支数
  2171. this.rollingCard1.Value.FurQualifiedNum = dt.Rows[0]["QUALIFIED_FUR"].ToString();
  2172. //穿孔剔除支数
  2173. this.rollingCard1.Value.PerScrapNum = dt.Rows[0]["SCRAP_PER"].ToString();
  2174. //穿孔合格支数
  2175. this.rollingCard1.Value.PerQualifiedNum = dt.Rows[0]["QUALIFIED_PER"].ToString();
  2176. //连轧剔除支数
  2177. this.rollingCard1.Value.RollingScrapNum = dt.Rows[0]["SCRAP_ROLLING"].ToString();
  2178. //连轧合格支数
  2179. this.rollingCard1.Value.RollingQualifiedNum = dt.Rows[0]["QUALIFIED_ROLLING"].ToString();
  2180. //再加热炉剔除支数
  2181. this.rollingCard1.Value.RefurScrapNum = dt.Rows[0]["SCRAP_REFUR"].ToString();
  2182. //再加热炉合格支数
  2183. this.rollingCard1.Value.RefurQualifiedNum = dt.Rows[0]["QUALIFIED_REFUR"].ToString();
  2184. //定径剔除支数
  2185. this.rollingCard1.Value.SizingScrapNum = dt.Rows[0]["SCRAP_SIZING"].ToString();
  2186. //定径合格支数
  2187. this.rollingCard1.Value.SizingQualifiedNum = dt.Rows[0]["QUALIFIED_SIZING"].ToString();
  2188. //分切前剔除支数
  2189. this.rollingCard1.Value.SawScrapNumBE = dt.Rows[0]["SCRAP_SAW_BE"].ToString();
  2190. //分切前合格支数
  2191. this.rollingCard1.Value.SawQualifiedNumBE = dt.Rows[0]["QUALIFIED_SAW_BE"].ToString();
  2192. //分切剔除支数
  2193. this.rollingCard1.Value.SawScrapNum = dt.Rows[0]["SCRAP_SAW"].ToString();
  2194. //分切合格支数
  2195. this.rollingCard1.Value.SawQualifiedNum = dt.Rows[0]["QUALIFIED_SAW"].ToString();
  2196. //矫直剔除支数
  2197. this.rollingCard1.Value.StraightScrapNum = dt.Rows[0]["SCRAP_STRAIGHT"].ToString();
  2198. //矫直合格支数
  2199. this.rollingCard1.Value.StraightQualifiedNum = dt.Rows[0]["QUALIFIED_STRAIGHT"].ToString();
  2200. //矫直下线支数
  2201. this.rollingCard1.Value.OfflineStraight = dt.Rows[0]["OFFLINE_STRAIGHT"].ToString();
  2202. //探伤剔除支数
  2203. this.rollingCard1.Value.TestingScrapNum = dt.Rows[0]["SCRAP_TESTING"].ToString();
  2204. //探伤合格支数
  2205. this.rollingCard1.Value.TestingQualifiedNum = dt.Rows[0]["QUALIFIED_TESTING"].ToString();
  2206. NativeMethodNew na = new NativeMethodNew(this.ob);
  2207. if (na.isBegineNode(heatno, 8) || na.isBegineNode(heatno, 9) || na.isBegineNode(heatno, 10))
  2208. {
  2209. //探伤下线支数
  2210. this.rollingCard1.Value.OfflineTesting = dt.Rows[0]["OFFLINE_TESTING"].ToString();
  2211. }
  2212. else
  2213. {
  2214. if (dt.Rows[0]["OFFLINE_TESTING"].ToString() == "0")
  2215. {
  2216. this.rollingCard1.Value.OfflineTesting = "";
  2217. }
  2218. else
  2219. {
  2220. //探伤下线支数
  2221. this.rollingCard1.Value.OfflineTesting = dt.Rows[0]["OFFLINE_TESTING"].ToString();
  2222. }
  2223. }
  2224. //表检合格支数
  2225. this.rollingCard1.Value.SurfaceQualifiedNum = dt.Rows[0]["QUALIFIED_BRANCH"].ToString();
  2226. //表检废品支数
  2227. this.rollingCard1.Value.SurfaceScrapNum = dt.Rows[0]["WASTE_QUANTITY"].ToString();
  2228. //表检下线支数
  2229. this.rollingCard1.Value.OfflineSurface = dt.Rows[0]["OFFLINE_QUANTITY"].ToString();
  2230. //表检返线支数
  2231. //this.rollingCard1.Value.SurfaceBackLineNum= dt.Rows[0]["OFFLINE_TESTING"].ToString();
  2232. this.rollingCard1.UpdateData();
  2233. }
  2234. else
  2235. {
  2236. this.rollingCard1.ClearData();
  2237. }
  2238. }
  2239. /// <summary>
  2240. /// 定径实绩赋值
  2241. /// </summary>
  2242. public void SizingResultEdit(DataTable dt)
  2243. {
  2244. ultraTabControl1.Tabs[0].Visible = true;
  2245. ultraTabControl1.Tabs[1].Visible = false;
  2246. UltraGridRow ugr = this.rollingCard1.UltraGrid4.Rows[0];
  2247. UltraGridRow ugr1 = ultraGridPlan.ActiveRow;
  2248. string JudgeStoveNo = ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString();
  2249. string ResultNo = ugr1.Cells["ID"].Value.ToString();
  2250. sizingResult1.Value.ScrapNum = "0";
  2251. //查询本道工序剔除支数
  2252. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2253. if (dtScrapNum.Rows.Count > 0)
  2254. {
  2255. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  2256. {
  2257. sizingResult1.Value.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  2258. }
  2259. }
  2260. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2261. if (dtQANum.Rows.Count > 0)
  2262. {
  2263. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  2264. {
  2265. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(sizingResult1.Value.ScrapNum.ToString()))
  2266. {
  2267. //合格支数
  2268. sizingResult1.Value.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(sizingResult1.Value.ScrapNum.ToString())).ToString();
  2269. }
  2270. else
  2271. {
  2272. sizingResult1.Value.ProductNum = "0";
  2273. }
  2274. }
  2275. else
  2276. { sizingResult1.Value.ProductNum = "0"; }
  2277. }
  2278. //荒管尺寸
  2279. this.sizingResult1.Value.PipeSize = dt.Rows[0]["PIPE_SIZE"].ToString();
  2280. this.sizingResult1.Value.PipeDiameter = dt.Rows[0]["PIPE_DIAMETER"].ToString();
  2281. this.sizingResult1.Value.PipeThickness = dt.Rows[0]["PIPE_THICKNESS"].ToString();
  2282. //轧辊入口速度
  2283. this.sizingResult1.Value.EntranceSpeed = dt.Rows[0]["ENTRANCE_SPEED"].ToString();
  2284. //轧辊出口速度
  2285. this.sizingResult1.Value.ExitSpeed = dt.Rows[0]["EXIT_SPEED"].ToString();
  2286. //轧机入口温度
  2287. this.sizingResult1.Value.EntranceTemp = dt.Rows[0]["ENTRANCE_TEMP"].ToString();
  2288. //成品规格
  2289. this.sizingResult1.Value.ProductSize = dt.Rows[0]["PRODUCT_SIZE"].ToString();
  2290. //终轧温度
  2291. this.sizingResult1.Value.ExitTemp = dt.Rows[0]["EXIT_TEMP"].ToString();
  2292. //入口温度
  2293. this.sizingResult1.Value.EntranceTemp = dt.Rows[0]["ENTRANCE_TEMP"].ToString();
  2294. //孔型系列
  2295. this.sizingResult1.Value.PassSeries = dt.Rows[0]["PASS_SERIES"].ToString();
  2296. //精轧系列机架数
  2297. this.sizingResult1.Value.FinishRollNum = dt.Rows[0]["FINISH_ROLL_NUM"].ToString();
  2298. //交接班支数
  2299. this.sizingResult1.Value.ChangeNum = dt.Rows[0]["CHANGE_NUM"].ToString();
  2300. //主电机转速1
  2301. this.sizingResult1.Value.HostEleSpeed1 = dt.Rows[0]["HOST_ELE_SPEED1"].ToString();
  2302. //主电机转速2
  2303. this.sizingResult1.Value.HostEleSpeed2 = dt.Rows[0]["HOST_ELE_SPEED2"].ToString();
  2304. //主电机转速3
  2305. this.sizingResult1.Value.HostEleSpeed3 = dt.Rows[0]["HOST_ELE_SPEED3"].ToString();
  2306. //叠加电机转速1
  2307. this.sizingResult1.Value.FoldEleSpeed1 = dt.Rows[0]["FOLD_ELE_SPEED1"].ToString();
  2308. //叠加电机转速2
  2309. this.sizingResult1.Value.FoldEleSpeed2 = dt.Rows[0]["FOLD_ELE_SPEED2"].ToString();
  2310. //叠加电机转速3
  2311. this.sizingResult1.Value.FoldEleSpeed3 = dt.Rows[0]["FOLD_ELE_SPEED3"].ToString();
  2312. //备注
  2313. this.sizingResult1.Value.Remark = dt.Rows[0]["REMARK"].ToString();
  2314. //开始时间
  2315. this.sizingResult1.Value.StartTime = dt.Rows[0]["START_TIME"].ToString();
  2316. //结束时间
  2317. this.sizingResult1.Value.EndTime = dt.Rows[0]["END_TIME"].ToString();
  2318. //开轧温度
  2319. this.sizingResult1.Value.BeginRollingTemp = dt.Rows[0]["BEGIN_ROLLING_TEMP"].ToString();
  2320. //交接班支数
  2321. this.sizingResult1.Value.ChangeNum = dt.Rows[0]["CHANGE_NUM"].ToString();
  2322. this.sizingResult1.Value.ExitTemp2= dt.Rows[0]["EXIT_TEMP2"].ToString2();
  2323. this.sizingResult1.Value.ExitTemp3= dt.Rows[0]["EXIT_TEMP3"].ToString2();
  2324. this.sizingResult1.UpdateDate();
  2325. }
  2326. /// <summary>
  2327. /// 定径实绩赋值
  2328. /// </summary>
  2329. public void SizingResultEditForRack(DataTable dt)
  2330. {
  2331. ultraTabControl1.Tabs[0].Visible = true;
  2332. ultraTabControl1.Tabs[1].Visible = false;
  2333. UltraGridRow ugr = this.rollingCard1.UltraGrid4.Rows[0];
  2334. UltraGridRow ugr1 = ultraGridPlan.ActiveRow;
  2335. string JudgeStoveNo = ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString();
  2336. string ResultNo = ugr1.Cells["ID"].Value.ToString();
  2337. sizingResult1.Value.ScrapNum = "0";
  2338. //查询本道工序剔除支数
  2339. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2340. if (dtScrapNum.Rows.Count > 0)
  2341. {
  2342. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  2343. {
  2344. sizingResult1.Value.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  2345. }
  2346. }
  2347. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2348. if (dtQANum.Rows.Count > 0)
  2349. {
  2350. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  2351. {
  2352. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(sizingResult1.Value.ScrapNum.ToString()))
  2353. {
  2354. //合格支数
  2355. sizingResult1.Value.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(sizingResult1.Value.ScrapNum.ToString())).ToString();
  2356. }
  2357. else
  2358. {
  2359. sizingResult1.Value.ProductNum = "0";
  2360. }
  2361. }
  2362. else
  2363. { sizingResult1.Value.ProductNum = "0"; }
  2364. }
  2365. //交接班支数
  2366. this.sizingResult1.Value.ChangeNum = dt.Rows[0]["CHANGE_NUM"].ToString();
  2367. this.sizingResult1.UpdateDateForRack();
  2368. }
  2369. /// <summary>
  2370. /// 460定径实绩赋值
  2371. /// </summary>
  2372. /// <param name="dt"></param>
  2373. public void Sizing460ResultEidt(DataTable dt, string str)
  2374. {
  2375. ultraTabControl1.Tabs[0].Visible = false;
  2376. ultraTabControl1.Tabs[1].Visible = true;
  2377. UltraGridRow ugr1 = ultraGridPlan.ActiveRow;
  2378. string JudgeStoveNo = ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString();
  2379. string ResultNo = ugr1.Cells["ID"].Value.ToString();
  2380. sinzingResult_4601.Value.ScrapNum = "0";
  2381. //查询本道工序剔除支数
  2382. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2383. if (dtScrapNum.Rows.Count > 0)
  2384. {
  2385. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  2386. {
  2387. sinzingResult_4601.Value.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  2388. }
  2389. }
  2390. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 4, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2391. if (dtQANum.Rows.Count > 0)
  2392. {
  2393. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  2394. {
  2395. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(sinzingResult_4601.Value.ScrapNum.ToString()))
  2396. {
  2397. //合格支数
  2398. sinzingResult_4601.Value.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(sinzingResult_4601.Value.ScrapNum.ToString())).ToString();
  2399. }
  2400. else
  2401. {
  2402. sinzingResult_4601.Value.ProductNum = "0";
  2403. }
  2404. }
  2405. else
  2406. { sinzingResult_4601.Value.ProductNum = "0"; }
  2407. }
  2408. //荒管尺寸
  2409. this.sinzingResult_4601.Value.PipeSize = dt.Rows[0]["PIPE_SIZE"].ToString();
  2410. //轧辊入口速度
  2411. this.sinzingResult_4601.Value.EntranceSpeed = dt.Rows[0]["ENTRANCE_SPEED"].ToString();
  2412. //交接班支数
  2413. this.sinzingResult_4601.Value.ChangeNum = dt.Rows[0]["CHANGE_NUM"].ToString();
  2414. //轧辊出口速度
  2415. this.sinzingResult_4601.Value.ExitSpeed = dt.Rows[0]["EXIT_SPEED"].ToString();
  2416. //轧机入口温度
  2417. this.sinzingResult_4601.Value.EntranceTemp = dt.Rows[0]["ENTRANCE_TEMP"].ToString();
  2418. //成品规格
  2419. this.sinzingResult_4601.Value.ProductSize = str;
  2420. //终轧温度
  2421. this.sinzingResult_4601.Value.ExitTemp = dt.Rows[0]["EXIT_TEMP"].ToString();
  2422. //入口温度
  2423. this.sinzingResult_4601.Value.EntranceTemp = dt.Rows[0]["ENTRANCE_TEMP"].ToString();
  2424. //小冷床节奏
  2425. this.sinzingResult_4601.Value.BedRhythm = dt.Rows[0]["BED_RHYTHM"].ToString();
  2426. //精轧机架
  2427. this.sinzingResult_4601.Value.RackNo = dt.Rows[0]["RACK_NO"].ToString();
  2428. //主电机转速1
  2429. this.sinzingResult_4601.Value.HostEleSpeed1 = dt.Rows[0]["HOST_ELE_SPEED1"].ToString();
  2430. //主电机转速2
  2431. this.sinzingResult_4601.Value.HostEleSpeed2 = dt.Rows[0]["HOST_ELE_SPEED2"].ToString();
  2432. //主电机转速3
  2433. this.sinzingResult_4601.Value.HostEleSpeed3 = dt.Rows[0]["HOST_ELE_SPEED3"].ToString();
  2434. //主电机转速4
  2435. this.sinzingResult_4601.Value.HostEleSpeed4 = dt.Rows[0]["HOST_ELE_SPEED4"].ToString();
  2436. //主电机转速5
  2437. this.sinzingResult_4601.Value.HostEleSpeed5 = dt.Rows[0]["HOST_ELE_SPEED5"].ToString();
  2438. //主电机转速6
  2439. this.sinzingResult_4601.Value.HostEleSpeed6 = dt.Rows[0]["HOST_ELE_SPEED6"].ToString();
  2440. //主电机转速7
  2441. this.sinzingResult_4601.Value.HostEleSpeed7 = dt.Rows[0]["HOST_ELE_SPEED7"].ToString();
  2442. //主电机转速8
  2443. this.sinzingResult_4601.Value.HostEleSpeed8 = dt.Rows[0]["HOST_ELE_SPEED8"].ToString();
  2444. //主电机转速9
  2445. this.sinzingResult_4601.Value.HostEleSpeed9 = dt.Rows[0]["HOST_ELE_SPEED9"].ToString();
  2446. //主电机转速10
  2447. this.sinzingResult_4601.Value.HostEleSpeed10 = dt.Rows[0]["HOST_ELE_SPEED10"].ToString();
  2448. //主电机转速11
  2449. this.sinzingResult_4601.Value.HostEleSpeed11 = dt.Rows[0]["HOST_ELE_SPEED11"].ToString();
  2450. //主电机转速12
  2451. this.sinzingResult_4601.Value.HostEleSpeed12 = dt.Rows[0]["HOST_ELE_SPEED12"].ToString();
  2452. //备注
  2453. this.sinzingResult_4601.Value.Remark = dt.Rows[0]["REMARK"].ToString();
  2454. //开始时间
  2455. this.sinzingResult_4601.Value.StartTime = dt.Rows[0]["START_TIME"].ToString();
  2456. //结束时间
  2457. this.sinzingResult_4601.Value.EndTime = dt.Rows[0]["END_TIME"].ToString();
  2458. //开轧温度
  2459. this.sinzingResult_4601.Value.BeginRollingTemp = dt.Rows[0]["BEGIN_ROLLING_TEMP"].ToString();
  2460. this.sinzingResult_4601.Value.ExitTemp2 = dt.Rows[0]["EXIT_TEMP2"].ToString2();
  2461. this.sinzingResult_4601.Value.ExitTemp3 = dt.Rows[0]["EXIT_TEMP3"].ToString2();
  2462. this.sinzingResult_4601.UpdateDate();
  2463. }
  2464. /// <summary>
  2465. /// 460定径实绩赋值
  2466. /// </summary>
  2467. /// <param name="dt"></param>
  2468. public void Sizing460ResultEidtForRack(DataTable dt, string str)
  2469. {
  2470. ultraTabControl1.Tabs[0].Visible = false;
  2471. ultraTabControl1.Tabs[1].Visible = true;
  2472. UltraGridRow ugr1 = ultraGridPlan.ActiveRow;
  2473. string JudgeStoveNo = ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString();
  2474. string ResultNo = ugr1.Cells["ID"].Value.ToString();
  2475. sinzingResult_4601.Value.ScrapNum = "0";
  2476. //查询本道工序剔除支数
  2477. DataTable dtScrapNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getScrapNum", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2478. if (dtScrapNum.Rows.Count > 0)
  2479. {
  2480. if (!string.IsNullOrEmpty(dtScrapNum.Rows[0][0].ToString()))
  2481. {
  2482. sinzingResult_4601.Value.ScrapNum = dtScrapNum.Rows[0][0].ToString();
  2483. }
  2484. }
  2485. DataTable dtQANum = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getQANumBefore", new object[] { JudgeStoveNo, ResultNo, 5, PLineCode, proPlanId, gxPlanNo }, this.ob);
  2486. if (dtQANum.Rows.Count > 0)
  2487. {
  2488. if (!string.IsNullOrEmpty(dtQANum.Rows[0][0].ToString()))
  2489. {
  2490. if (int.Parse(dtQANum.Rows[0][0].ToString()) > int.Parse(sinzingResult_4601.Value.ScrapNum.ToString()))
  2491. {
  2492. //合格支数
  2493. sinzingResult_4601.Value.ProductNum = (int.Parse(dtQANum.Rows[0][0].ToString()) - int.Parse(sinzingResult_4601.Value.ScrapNum.ToString())).ToString();
  2494. }
  2495. else
  2496. {
  2497. sinzingResult_4601.Value.ProductNum = "0";
  2498. }
  2499. }
  2500. else
  2501. { sinzingResult_4601.Value.ProductNum = "0"; }
  2502. }
  2503. //轧废支数
  2504. this.sinzingResult_4601.Value.ProductNum = dt.Rows[0]["PRODUCT_NUM"].ToString();
  2505. //轧制支数
  2506. this.sinzingResult_4601.Value.ScrapNum = dt.Rows[0]["SCRAP_NUM"].ToString();
  2507. this.sinzingResult_4601.UpdateDateForRack();
  2508. }
  2509. #endregion
  2510. /// <summary>
  2511. /// 计划表ROW点击变换判断
  2512. /// </summary>
  2513. /// <param name="sender"></param>
  2514. /// <param name="e"></param>
  2515. private void ultraGridPlan_BeforeRowActivate(object sender, RowEventArgs e)
  2516. {
  2517. //if(PLineCode="")
  2518. //{
  2519. if (this.sizingResult1.IsCellSelect == true)
  2520. {
  2521. NativeMethodNew na = new NativeMethodNew(this.ob);
  2522. if (!na.isBegineNode(ActiveJUDGE_STOVE_NO, 5))
  2523. {
  2524. this.sizingResult1.IsCellSelect = false;
  2525. return;
  2526. }
  2527. //if (MessageBox.Show("提示:定径可能已修改,是否保存", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
  2528. //{
  2529. // this.sizingResult1.IsCellSelect = false;
  2530. // //保存探伤实绩
  2531. //}
  2532. else
  2533. {
  2534. ShowMessageFlag = 1;
  2535. ResultSave();
  2536. ShowMessageFlag = 0;
  2537. this.sizingResult1.IsCellSelect = false;
  2538. foreach (UltraGridRow ugr in this.ultraGridPlan.Rows)
  2539. {
  2540. if (ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() == ActiveJUDGE_STOVE_NO)
  2541. {
  2542. this.ultraGridPlan.ActiveRow = ugr;
  2543. }
  2544. }
  2545. return;
  2546. }
  2547. }
  2548. if (this.sinzingResult_4601.IsCellSelect == true)
  2549. {
  2550. NativeMethodNew na = new NativeMethodNew(this.ob);
  2551. if (!na.isBegineNode(ActiveJUDGE_STOVE_NO, 5))
  2552. {
  2553. this.sinzingResult_4601.IsCellSelect = false;
  2554. return;
  2555. }
  2556. //if (MessageBox.Show("提示:定径可能已修改,是否保存", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
  2557. //{
  2558. // this.sinzingResult_4601.IsCellSelect = false;
  2559. // //保存定径实绩
  2560. // ResultSave();
  2561. //}
  2562. else
  2563. {
  2564. ShowMessageFlag = 1;
  2565. ResultSave();
  2566. ShowMessageFlag = 0;
  2567. this.sinzingResult_4601.IsCellSelect = false;
  2568. foreach (UltraGridRow ugr in this.ultraGridPlan.Rows)
  2569. {
  2570. if (ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() == ActiveJUDGE_STOVE_NO)
  2571. {
  2572. this.ultraGridPlan.ActiveRow = ugr;
  2573. }
  2574. }
  2575. return;
  2576. }
  2577. }
  2578. }
  2579. /// <summary>
  2580. /// 查询结炉实绩
  2581. /// </summary>
  2582. public void NodeQuery()
  2583. {
  2584. string Shift = UserInfo.GetUserOrder();
  2585. string Group = UserInfo.GetUserGroup();
  2586. //DateTime SeverTime = DateTime.Now;//
  2587. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  2588. string StartTime = SeverTime.ToString("yyyy-MM-dd");
  2589. string EndTime = SeverTime.AddDays(1).ToString("yyyy-MM-dd");
  2590. string Date = StartTime;
  2591. string Time = SeverTime.ToLongTimeString();
  2592. //晚班
  2593. if (Shift == "3")
  2594. {
  2595. Time = Time.Replace(":", "");
  2596. if (int.Parse(Time) > 205900)
  2597. {
  2598. StartTime += " " + "20:00:00";
  2599. EndTime += " " + "10:00:00";
  2600. }
  2601. else
  2602. {
  2603. StartTime = SeverTime.AddDays(-1).ToString("yyyy-MM-dd") + " " + "21:00:00";
  2604. EndTime = SeverTime.ToString("yyyy-MM-dd") + " " + "10:00:00";
  2605. }
  2606. }
  2607. DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.GetSizingResultNodeQuery", new object[] { PLineCode, Shift, Group, StartTime, EndTime }, this.ob);
  2608. FrmNodeResultQuery frm = new FrmNodeResultQuery(dt, 6, Date, Shift, Group, this.ob);
  2609. frm.ShowDialog();
  2610. }
  2611. /// <summary>
  2612. /// 当班工具更换
  2613. /// </summary>
  2614. private void DoToolChange()
  2615. {
  2616. string Shift = UserInfo.GetUserOrder();
  2617. string Group = UserInfo.GetUserGroup();
  2618. string User = UserInfo.GetUserName();
  2619. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  2620. string StartTime = SeverTime.ToString("yyyy-MM-dd");
  2621. string EndTime = SeverTime.AddDays(1).ToString("yyyy-MM-dd");
  2622. string Date = StartTime;
  2623. string Time = SeverTime.ToLongTimeString();
  2624. //晚班
  2625. if (Shift == "3")
  2626. {
  2627. Time = Time.Replace(":", "");
  2628. if (int.Parse(Time) > 205900)
  2629. {
  2630. StartTime += " " + "21:00:00";
  2631. EndTime += " " + "07:00:00";
  2632. }
  2633. else
  2634. {
  2635. StartTime = SeverTime.AddDays(-1).ToString("yyyy-MM-dd") + " " + "21:00:00";
  2636. EndTime = SeverTime.ToString("yyyy-MM-dd") + " " + "07:00:00";
  2637. }
  2638. }
  2639. //DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.SizingResult.toolChangeQuery", new object[] { PLineCode, Shift, Group, StartTime, EndTime }, this.ob);
  2640. txtQuery frm = new txtQuery(3, Date, Shift, Group, User, PLineCode, this.ob);
  2641. frm.ShowDialog();
  2642. }
  2643. public void DoHotCheck()
  2644. {
  2645. MainPlan.JudgeStoveNo = ActiveJUDGE_STOVE_NO;
  2646. MainPlan.ProPlanId = proPlanId;
  2647. MainPlan.GxPlanNo = gxPlanNo;
  2648. DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
  2649. //FrmHotCheck frm = new FrmHotCheck(dtMP, this.ob);
  2650. //frm.ShowDialog();
  2651. }
  2652. /// <summary>
  2653. /// 打印温度记录
  2654. /// </summary>
  2655. private void PrintResult2()
  2656. {
  2657. Group = UserInfo.GetUserGroup();
  2658. Shift = UserInfo.GetUserOrder();
  2659. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  2660. string Time = SeverTime.ToLongTimeString();
  2661. string StartTime = ""; // 开始时间 用于报表查询
  2662. string EndTime = ""; // 结束时间 用于报表查询
  2663. string strurl = "";
  2664. //晚班
  2665. Time = Time.Replace(":", "");
  2666. if (Shift == "3")
  2667. {
  2668. //查询晚班前一天20点40后到当天07点20前所有记录
  2669. if (int.Parse(Time) < 072000)
  2670. {
  2671. StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 20:40:00";
  2672. EndTime = SeverTime.ToShortDateString() + " 07:20:00";
  2673. }
  2674. //查询当天晚班的所有数据
  2675. else if (int.Parse(Time) > 204000)
  2676. {
  2677. StartTime = SeverTime.ToShortDateString() + " 20:40:00";
  2678. EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:20:00";
  2679. }
  2680. }
  2681. //白班 中班
  2682. else
  2683. {
  2684. StartTime = SeverTime.ToShortDateString() + " 00:00:00";
  2685. EndTime = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  2686. }
  2687. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResultAlltemp.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
  2688. FrmRepExcel fre = new FrmRepExcel(ob, strurl);
  2689. fre.AutoSize = true;
  2690. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  2691. fre.WindowState = FormWindowState.Maximized;
  2692. fre.Show();
  2693. }
  2694. /// <summary>
  2695. /// 打印报表
  2696. /// </summary>
  2697. private void PrintResult()
  2698. {
  2699. Group = UserInfo.GetUserGroup();
  2700. Shift = UserInfo.GetUserOrder();
  2701. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  2702. string Time = SeverTime.ToLongTimeString();
  2703. string StartTime = ""; // 开始时间 用于报表查询
  2704. string EndTime = ""; // 结束时间 用于报表查询
  2705. string strurl = "";
  2706. //晚班
  2707. Time = Time.Replace(":", "");
  2708. if (Shift == "3")
  2709. {
  2710. //查询晚班前一天20点40后到当天07点20前所有记录
  2711. if (int.Parse(Time) < 072000)
  2712. {
  2713. StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 20:40:00";
  2714. EndTime = SeverTime.ToShortDateString() + " 07:20:00";
  2715. }
  2716. //查询当天晚班的所有数据
  2717. else if (int.Parse(Time) > 204000)
  2718. {
  2719. StartTime = SeverTime.ToShortDateString() + " 20:40:00";
  2720. EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:20:00";
  2721. }
  2722. }
  2723. //白班 中班
  2724. else
  2725. {
  2726. StartTime = SeverTime.ToShortDateString() + " 00:00:00";
  2727. EndTime = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  2728. }
  2729. switch (PLineCode)
  2730. {
  2731. case "C008": //250
  2732. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult250.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
  2733. break;
  2734. case "C009": //258
  2735. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult258.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
  2736. break;
  2737. case "C010": //168
  2738. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult168.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
  2739. break;
  2740. case "C012": //Arssel
  2741. break;
  2742. case "C017": //460
  2743. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult460.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
  2744. break;
  2745. case "C072": //508
  2746. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult508.cpt&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
  2747. break;
  2748. }
  2749. FrmRepExcel fre = new FrmRepExcel(ob, strurl);
  2750. fre.AutoSize = true;
  2751. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  2752. fre.WindowState = FormWindowState.Maximized;
  2753. fre.Show();
  2754. }
  2755. /// <summary>
  2756. /// 查询上个班原始记录
  2757. /// </summary>
  2758. private void QueryBefore()
  2759. {
  2760. HOTMethod hm = new HOTMethod(this.ob);
  2761. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  2762. string Time = SeverTime.ToLongTimeString();
  2763. string Date = "";
  2764. if (Shift == "3")
  2765. {
  2766. Time = Time.Replace(":", "");
  2767. if (int.Parse(Time) < 122000)
  2768. {
  2769. Date = SeverTime.AddDays(-1).ToString("yyyyMMdd");
  2770. }
  2771. else
  2772. {
  2773. Date = SeverTime.ToString("yyyyMMdd");
  2774. }
  2775. }
  2776. if (Shift == "1" || Shift == "0")
  2777. {
  2778. Date = SeverTime.AddDays(-1).ToString("yyyyMMdd");
  2779. }
  2780. else
  2781. {
  2782. Date = SeverTime.ToString("yyyyMMdd");
  2783. }
  2784. string StartTime = ""; // 开始时间 用于报表查询
  2785. string EndTime = ""; // 结束时间 用于报表查询
  2786. string StartTimeU = ""; // 开始时间 用于得到上班UserID
  2787. string EndTimeU = ""; // 结束时间 用于得到上班UserID
  2788. string strurl = "";
  2789. string ShitGroupBefore = HOTMethod.GetShiftBefore(Shift, Group, Date, PLineCode);
  2790. //if (PLineCode.Equals("C072"))
  2791. //{
  2792. // ShitGroupBefore = HOTMethod.GetShiftBefore(Shift, Group, Date);
  2793. //}
  2794. //else
  2795. //{
  2796. // ShitGroupBefore = HOTMethod.GetShiftBefore(Shift, Group);
  2797. //}
  2798. string UserIDBefore = "";
  2799. //晚班
  2800. Time = Time.Replace(":", "");
  2801. if (Shift == "3")
  2802. {
  2803. //查询晚班前一天中班所有记录
  2804. if (int.Parse(Time) < 122000)
  2805. {
  2806. StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 13:40:00";
  2807. EndTime = SeverTime.ToShortDateString() + " 00:00:00";
  2808. //string Date2 = SeverTime.ToString("yyyy-MM-dd");
  2809. StartTimeU = SeverTime.AddDays(-1).ToShortDateString() + " 13:40:00";
  2810. EndTimeU = SeverTime.ToShortDateString() + " 00:00:00";
  2811. UserIDBefore = hm.GetUserIDBefore(StartTimeU, EndTimeU, ShitGroupBefore.Substring(0, 1), ShitGroupBefore.Substring(1, 1), 5, PLineCode);
  2812. //strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilPerforation.cpt&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2813. }
  2814. //查询当天中班的所有数据
  2815. else if (int.Parse(Time) > 204000)
  2816. {
  2817. StartTime = SeverTime.ToShortDateString() + " 13:40:00";
  2818. EndTime = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  2819. StartTimeU = SeverTime.ToShortDateString() + " 13:40:00";
  2820. EndTimeU = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  2821. UserIDBefore = hm.GetUserIDBefore(StartTimeU, EndTimeU, ShitGroupBefore.Substring(0, 1), ShitGroupBefore.Substring(1, 1), 5, PLineCode);
  2822. //strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilPerforation.cpt&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2823. }
  2824. }
  2825. //白班
  2826. else if (Shift == "1")
  2827. {
  2828. StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 12:00:00";
  2829. EndTime = SeverTime.AddDays(0).ToShortDateString() + " 12:00:00";
  2830. StartTimeU = SeverTime.AddDays(-1).ToShortDateString() + " 12:00:00";
  2831. EndTimeU = SeverTime.AddDays(0).ToShortDateString() + " 12:00:00";
  2832. UserIDBefore = hm.GetUserIDBefore(StartTimeU, EndTimeU, ShitGroupBefore.Substring(0, 1), ShitGroupBefore.Substring(1, 1), 5, PLineCode);
  2833. }
  2834. //中班
  2835. else
  2836. {
  2837. StartTime = SeverTime.ToShortDateString() + " 00:00:00";
  2838. EndTime = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  2839. StartTimeU = SeverTime.ToShortDateString() + " 00:00:00";
  2840. EndTimeU = SeverTime.AddDays(1).ToShortDateString() + " 00:00:00";
  2841. UserIDBefore = hm.GetUserIDBefore(StartTimeU, EndTimeU, ShitGroupBefore.Substring(0, 1), ShitGroupBefore.Substring(1, 1), 5, PLineCode);
  2842. //strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilPerforation.cpt&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2843. }
  2844. switch (PLineCode)
  2845. {
  2846. case "C008": //250
  2847. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult250.cpt&format=pdf&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2848. break;
  2849. case "C009": //258
  2850. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult258.cpt&format=pdf&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2851. break;
  2852. case "C010": //168
  2853. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult168.cpt&format=pdf&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2854. break;
  2855. case "C012": //Arssel
  2856. break;
  2857. case "C017": //460
  2858. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult460.cpt&format=pdf&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2859. break;
  2860. case "C072": //508
  2861. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSizingResult508.cpt&SHIFT=" + ShitGroupBefore.Substring(0, 1) + "&GROUP=" + ShitGroupBefore.Substring(1, 1) + "&DATE=" + StartTime + "&PLINECODE=" + PLineCode + "&DATE2=" + EndTime + "&USERID=" + UserIDBefore;
  2862. break;
  2863. }
  2864. FrmRepExcel fre = new FrmRepExcel(ob, strurl);
  2865. fre.AutoSize = true;
  2866. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  2867. fre.WindowState = FormWindowState.Maximized;
  2868. fre.Show();
  2869. }
  2870. /// <summary>
  2871. /// 460
  2872. /// </summary>
  2873. /// <param name="dt"></param>
  2874. private void frmTechnological2_DoubleClickEvent(DataTable dt)
  2875. {
  2876. NativeMethodNew NmN = new NativeMethodNew(this.ob);
  2877. HOTMethod HOTm = new HOTMethod(this.ob);
  2878. if (!NmN.isBegineNode(ActiveJUDGE_STOVE_NO, 5))
  2879. {
  2880. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】未开始定径,不能带入参数。");
  2881. return;
  2882. }
  2883. //if (HOTm.isNode(ActiveJUDGE_STOVE_NO, ActiveResultNo, 5, PLineCode))
  2884. //{
  2885. // MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】已完成定径,不能带入参数。");
  2886. // return;
  2887. //}
  2888. MilSizingResultEntity SizingResult = new MilSizingResultEntity();
  2889. SizingResult = (MilSizingResultEntity)EntityTool.setObjectByDataTable(SizingResult, dt);
  2890. this.sinzingResult_4601.UpdateDateForPrama(SizingResult);
  2891. ShowMessageFlag = 1;
  2892. ResultSave();
  2893. ShowMessageFlag = 0;
  2894. }
  2895. private void frmTechnological1_DoubleClickEvent(DataTable dt)
  2896. {
  2897. NativeMethodNew NmN = new NativeMethodNew(this.ob);
  2898. HOTMethod HOTm = new HOTMethod(this.ob);
  2899. if (!NmN.isBegineNode(ActiveJUDGE_STOVE_NO, 5))
  2900. {
  2901. MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】未开始定径,不能带入参数。");
  2902. return;
  2903. }
  2904. //if (HOTm.isNode(ActiveJUDGE_STOVE_NO, ActiveResultNo, 5, PLineCode))
  2905. //{
  2906. // MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】已完成定径,不能带入参数。");
  2907. // return;
  2908. //}
  2909. MilSizingResultEntity SizingResult = new MilSizingResultEntity();
  2910. SizingResult = (MilSizingResultEntity)EntityTool.setObjectByDataTable(SizingResult, dt);
  2911. this.sizingResult1.UpdateDateForPrama(SizingResult);
  2912. ShowMessageFlag = 1;
  2913. ResultSave();
  2914. ShowMessageFlag = 0;
  2915. }
  2916. private void timer2_Tick(object sender, EventArgs e)
  2917. {
  2918. if (!PlineCod.Equals("C072"))
  2919. {
  2920. DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
  2921. string Time = SeverTime.ToLongTimeString();
  2922. Time = Time.Replace(":", "");
  2923. if (ChangeFlag == 0)
  2924. {
  2925. if (int.Parse(Time) > 065459 && int.Parse(Time) < 065600 || int.Parse(Time) > 070359 && int.Parse(Time) < 070500)
  2926. {
  2927. if (Shift == "3")
  2928. {
  2929. if (MessageUtil.ShowYesNoAndQuestion("确认最后一炉已交班或已结炉!") == DialogResult.Yes)
  2930. {
  2931. }
  2932. ChangeFlag = 1;
  2933. return;
  2934. }
  2935. }
  2936. if (int.Parse(Time) > 135359 && int.Parse(Time) < 135500 || int.Parse(Time) > 140359 && int.Parse(Time) < 140500)
  2937. {
  2938. if (Shift == "1")
  2939. {
  2940. if (MessageUtil.ShowYesNoAndQuestion("确认最后一炉已交班或已结炉!") == DialogResult.Yes)
  2941. {
  2942. }
  2943. ChangeFlag = 1;
  2944. return;
  2945. }
  2946. }
  2947. if (int.Parse(Time) > 205359 && int.Parse(Time) < 205500 || int.Parse(Time) > 210359 && int.Parse(Time) < 210500)
  2948. {
  2949. if (Shift == "2")
  2950. {
  2951. if (MessageUtil.ShowYesNoAndQuestion("确认最后一炉已交班或已结炉!") == DialogResult.Yes)
  2952. {
  2953. }
  2954. ChangeFlag = 1;
  2955. return;
  2956. }
  2957. }
  2958. }
  2959. }
  2960. }
  2961. /// <summary>
  2962. /// 管号队列修改剔除原因 备注
  2963. /// </summary>
  2964. /// <param name="sender"></param>
  2965. /// <param name="e"></param>
  2966. private void ultraGridMatSeq_KeyPress(object sender, KeyPressEventArgs e)
  2967. {
  2968. if (e.KeyChar == (char)13)
  2969. {
  2970. e.Handled = true;
  2971. UltraGridRow ugr = null;
  2972. int Index = ultraGridMatSeq.ActiveRow.Index;
  2973. if (Index < ultraGridMatSeq.Rows.Count - 1)
  2974. {
  2975. ugr = ultraGridMatSeq.Rows[Index - 1];
  2976. // ugr = ultraGrid1.ActiveRow;
  2977. }
  2978. else
  2979. {
  2980. ugr = ultraGridMatSeq.ActiveRow;
  2981. }
  2982. ultraGridMatSeq.UpdateData();
  2983. ultraGridMatSeq.Update();
  2984. string ScrapReason = ugr.Cells["SCRAP_REASON"].Text.ToString();
  2985. string Remark = ugr.Cells["REMARK"].Text.ToString();
  2986. string Seq = ugr.Cells["SEQ"].Text.ToString();
  2987. string Status = ugr.Cells["STATUS"].Text.ToString();
  2988. if (Status == "剔除")
  2989. {
  2990. int dt = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.UpdateMatNoPro", new object[] { ActiveJUDGE_STOVE_NO, ActiveResultNo, 5, Seq, ScrapReason, Remark }, this.ob);
  2991. }
  2992. GetFurRack();
  2993. ChangeGridColor();
  2994. }
  2995. }
  2996. }
  2997. }