FrmFurResult.cs 158 KB

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