CommandClass.cs 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using CoreFS.CA06;
  5. using System.Windows.Forms;
  6. using System.Net;
  7. using Core.LgMes.Client.lgClassModel;
  8. using Core.Mes.Client.Common;
  9. using System.Collections;
  10. namespace Core.LgMes.Client.LgJobMgt
  11. {
  12. public class CommandClass
  13. {
  14. public CommandClass()
  15. {
  16. //
  17. // TODO: 在此处添加构造函数逻辑
  18. //
  19. }
  20. public string heatProcessNumb = "";
  21. public OpeBase obComm = null;
  22. //设置加热处理号
  23. public void setHeatID(string id)
  24. {
  25. heatProcessNumb = id;
  26. }
  27. private bool IsFloat(string sVal)
  28. {
  29. try
  30. {
  31. Convert.ToDecimal(sVal);
  32. return true;
  33. }
  34. catch
  35. {
  36. return false;
  37. }
  38. }
  39. private bool IsDateTime(string sVal)
  40. {
  41. try
  42. {
  43. Convert.ToDateTime(sVal);
  44. return true;
  45. }
  46. catch
  47. {
  48. return false;
  49. }
  50. }
  51. /// <summary>
  52. /// 获取本地机器IP
  53. /// </summary>
  54. /// <returns></returns>
  55. private string GetLocalMachineIP()
  56. {
  57. IPHostEntry myHost = new IPHostEntry();
  58. //myHost = Dns.GetHostByName(Dns.GetHostName());
  59. myHost = Dns.GetHostEntry(Dns.GetHostName());
  60. string str = "";
  61. str = myHost.AddressList[0].ToString();
  62. return str;
  63. }
  64. /// <summary>
  65. /// 加载炉次计划命令
  66. /// </summary>
  67. /// <param name="objecttype"></param>
  68. /// <param name="objectPos"></param>
  69. /// <param name="smeltingid"></param>
  70. public void setChargingCommand(string objecttype, string objectPos, string smeltingid)
  71. {
  72. // objecttype: "MOLSTL" OR "MOLIRN"
  73. try
  74. {
  75. RealDataCommand realDataCommand = new RealDataCommand();
  76. realDataCommand.COMMANDTYPE = "SCHEDULE_CHARGE";
  77. realDataCommand.OBJECTPOS = objectPos;
  78. realDataCommand.OBJECTTYPE = objecttype;
  79. realDataCommand.OBJECTID = smeltingid;
  80. realDataCommand.OBJECTLINKKEY1 = smeltingid;
  81. realDataCommand.VALUETYPE = "STRTYPE";
  82. realDataCommand.STR_VALUE = objectPos;
  83. realDataCommand.OBJECTIP = GetLocalMachineIP();
  84. realDataCommand.SENDTYPE = "0";
  85. string strErr = "";
  86. ArrayList arry = new ArrayList();
  87. CommonClientToServer ccTos = new CommonClientToServer();
  88. ccTos.ob = obComm;
  89. arry.Add(realDataCommand.COMMANDTYPE);
  90. arry.Add(realDataCommand.OBJECTTYPE);
  91. arry.Add(realDataCommand.OBJECTID);
  92. arry.Add(realDataCommand.OBJECTLINKKEY1);
  93. arry.Add(realDataCommand.OBJECTPOS);
  94. arry.Add(realDataCommand.STR_VALUE);
  95. arry.Add(realDataCommand.DTT_VALUE);
  96. arry.Add(realDataCommand.OBJECTIP);
  97. arry.Add(realDataCommand.SENDTYPE);
  98. //查询作业手动操作配置信息
  99. CoreClientParam ccp = ccTos.ExecuteClietnToServer("Core.LgMes.Server.LgJobMgt.SchedulingCommandMgt",
  100. "AddNewCommand", arry, out strErr);
  101. if (strErr.Length > 0)
  102. {
  103. MessageBox.Show("命令发送失败,请重新操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  104. }
  105. }
  106. catch (Exception ex)
  107. {
  108. Console.WriteLine(ex.Message);
  109. }
  110. }
  111. //过程值命令发送函数,将指令写入数据库与后台交互
  112. /// <summary>
  113. /// 使用
  114. /// </summary>
  115. /// <param name="objPos"></param>
  116. /// <param name="linkTable"></param>
  117. /// <param name="fieldName"></param>
  118. /// <param name="valType"></param>
  119. /// <param name="val"></param>
  120. /// <returns></returns>
  121. public string setProcValueCommand(string objPos, string linkTable, string fieldName, string valType, string val)
  122. {
  123. try
  124. {
  125. RealDataCommand realDataCommand = new RealDataCommand();
  126. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  127. realDataCommand.OBJECTTYPE = "PROCVALUE";
  128. realDataCommand.OBJECTPOS = objPos;
  129. realDataCommand.OBJECTID = heatProcessNumb;
  130. realDataCommand.OBJECTLINKTABLE = linkTable;
  131. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  132. realDataCommand.OBJECTLINKKEY2 = fieldName;
  133. realDataCommand.VALUETYPE = valType;
  134. realDataCommand.OBJECTIP = GetLocalMachineIP();
  135. realDataCommand.SENDTYPE = "0";
  136. switch (valType)
  137. {
  138. case "STRTYPE":
  139. realDataCommand.STR_VALUE = val;
  140. break;
  141. case "FLTTYPE":
  142. if (val.Length == 0 || !IsFloat(val))
  143. val = "0";
  144. realDataCommand.FLT_VALUE = Convert.ToDecimal(val);
  145. break;
  146. case "BOLTYPE":
  147. if (val.Length == 0 || val != "F" || val != "T")
  148. val = "F";
  149. realDataCommand.BOL_VALUE = val;
  150. break;
  151. case "DTTTYPE":
  152. if (val.Length == 0 || !IsDateTime(val))
  153. val = "2000";
  154. realDataCommand.DTT_VALUE = Convert.ToDateTime(val);
  155. break;
  156. }
  157. string outErrStr = "";
  158. //hengxing
  159. //CallingMessage par = new CallingMessage();
  160. //par.ServerName = "lgJobMgt";
  161. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  162. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  163. //par.MethodName = "AddNewCommand";
  164. //par.args = new object[] { realDataCommand };
  165. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  166. if (outErrStr.Length > 0)
  167. {
  168. MessageBox.Show("命令发送失败", "提示");
  169. }
  170. return outErrStr;
  171. }
  172. catch (Exception ex)
  173. {
  174. Console.WriteLine(ex.Message);
  175. return "命令发送异常";
  176. }
  177. }
  178. //浇注命令发送函数
  179. /// <summary>
  180. /// 暂时没有使用
  181. /// </summary>
  182. /// <param name="objPos"></param>
  183. /// <param name="linkTable"></param>
  184. /// <param name="fieldName"></param>
  185. /// <param name="valType"></param>
  186. /// <param name="val"></param>
  187. public void setCastValueCommand(string objPos, string linkTable, string fieldName, string valType, string val)
  188. {
  189. try
  190. {
  191. RealDataCommand realDataCommand = new RealDataCommand();
  192. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  193. realDataCommand.OBJECTTYPE = "CASTINGNUM";
  194. realDataCommand.OBJECTPOS = objPos;
  195. realDataCommand.OBJECTID = heatProcessNumb;
  196. realDataCommand.OBJECTLINKTABLE = linkTable;
  197. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  198. realDataCommand.OBJECTLINKKEY2 = fieldName;
  199. realDataCommand.VALUETYPE = valType;
  200. realDataCommand.OBJECTIP = GetLocalMachineIP();
  201. realDataCommand.SENDTYPE = "0";
  202. switch (valType)
  203. {
  204. case "STRTYPE":
  205. realDataCommand.STR_VALUE = val;
  206. break;
  207. case "FLTTYPE":
  208. if (val.Length == 0)
  209. val = "0";
  210. realDataCommand.FLT_VALUE = Convert.ToDecimal(val);
  211. break;
  212. case "BOLTYPE":
  213. if (val.Length == 0)
  214. val = "F";
  215. realDataCommand.BOL_VALUE = val;
  216. break;
  217. case "DTTTYPE":
  218. if (val.Length == 0)
  219. val = "2000";
  220. realDataCommand.DTT_VALUE = Convert.ToDateTime(val);
  221. break;
  222. }
  223. string outErrStr = "";
  224. //hengxing
  225. //CallingMessage par = new CallingMessage();
  226. //par.ServerName = "lgJobMgt";
  227. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  228. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  229. //par.MethodName = "AddNewCommand";
  230. //par.args = new object[] { realDataCommand };
  231. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  232. if (outErrStr.Length > 0)
  233. {
  234. MessageBox.Show("命令发送失败", "提示");
  235. }
  236. }
  237. catch (Exception ex)
  238. {
  239. Console.WriteLine(ex.Message);
  240. }
  241. }
  242. //物料过程值命令发送函数(暂时没用)
  243. public void setMtrlProcCommand(string objPos, string linkTable, string hopperNo, string materialID, string materialType, string val, string strThrowType)
  244. {
  245. try
  246. {
  247. RealDataCommand realDataCommand = new RealDataCommand();
  248. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  249. realDataCommand.OBJECTTYPE = materialType;
  250. realDataCommand.OBJECTNAME = strThrowType;
  251. realDataCommand.OBJECTPOS = objPos;
  252. realDataCommand.OBJECTID = materialID;
  253. realDataCommand.OBJECTLINKTABLE = linkTable;
  254. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  255. realDataCommand.OBJECTLINKKEY2 = hopperNo;
  256. realDataCommand.VALUETYPE = "FLTTYPE";
  257. realDataCommand.OBJECTIP = GetLocalMachineIP();
  258. realDataCommand.SENDTYPE = "0";
  259. if (val.Length == 0 || !IsFloat(val))
  260. val = "0";
  261. realDataCommand.FLT_VALUE = Convert.ToDecimal(val);
  262. string outErrStr = "";
  263. //hengxing
  264. //CallingMessage par = new CallingMessage();
  265. //par.ServerName = "lgJobMgt";
  266. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  267. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  268. //par.MethodName = "AddNewCommand";
  269. //par.args = new object[] { realDataCommand };
  270. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  271. if (outErrStr.Length > 0)
  272. {
  273. MessageBox.Show("命令发送失败", "提示");
  274. }
  275. }
  276. catch (Exception ex)
  277. {
  278. Console.WriteLine(ex.Message);
  279. }
  280. }
  281. //物料添加命令发送(暂时没用)
  282. public void addMtrlCommand(string objPos, string materialID, string linkTable, string mtrlType, string strHopper, string strThrowType)
  283. {
  284. try
  285. {
  286. RealDataCommand realDataCommand = new RealDataCommand();
  287. realDataCommand.COMMANDTYPE = "SCHEDULE_ADD";
  288. realDataCommand.OBJECTTYPE = mtrlType;
  289. realDataCommand.OBJECTNAME = strThrowType;
  290. realDataCommand.OBJECTPOS = objPos;
  291. realDataCommand.OBJECTID = materialID;
  292. realDataCommand.OBJECTLINKTABLE = linkTable;
  293. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  294. realDataCommand.OBJECTLINKKEY2 = strHopper;
  295. realDataCommand.VALUETYPE = "STRTYPE";
  296. realDataCommand.DTT_VALUE = DateTime.Now;
  297. realDataCommand.STR_VALUE = materialID;
  298. realDataCommand.OBJECTIP = GetLocalMachineIP();
  299. realDataCommand.SENDTYPE = "0";
  300. string outErrStr = "";
  301. //hengxing
  302. //CallingMessage par = new CallingMessage();
  303. //par.ServerName = "lgJobMgt";
  304. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  305. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  306. //par.MethodName = "AddNewCommand";
  307. //par.args = new object[] { realDataCommand };
  308. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  309. if (outErrStr.Length > 0)
  310. {
  311. MessageBox.Show("命令发送失败", "提示");
  312. }
  313. }
  314. catch (Exception ex)
  315. {
  316. Console.WriteLine(ex.Message);
  317. }
  318. }
  319. //物料删除命令发送(暂时没用)
  320. public void delMtrlCommand(string objPos, string materialID, string linkTable, string mtrlType, string strThrowType, string strHopper)
  321. {
  322. try
  323. {
  324. RealDataCommand realDataCommand = new RealDataCommand();
  325. realDataCommand.COMMANDTYPE = "SCHEDULE_DELETE";
  326. realDataCommand.OBJECTTYPE = mtrlType;
  327. realDataCommand.OBJECTPOS = objPos;
  328. realDataCommand.OBJECTNAME = strThrowType;
  329. realDataCommand.OBJECTID = materialID;
  330. realDataCommand.OBJECTLINKTABLE = linkTable;
  331. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  332. realDataCommand.OBJECTLINKKEY2 = strHopper;
  333. realDataCommand.VALUETYPE = "STRTYPE";
  334. realDataCommand.DTT_VALUE = DateTime.Now;
  335. realDataCommand.STR_VALUE = materialID;
  336. realDataCommand.OBJECTIP = GetLocalMachineIP();
  337. realDataCommand.SENDTYPE = "0";
  338. string outErrStr = "";
  339. //hengxing
  340. //CallingMessage par = new CallingMessage();
  341. //par.ServerName = "lgJobMgt";
  342. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  343. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  344. //par.MethodName = "AddNewCommand";
  345. //par.args = new object[] { realDataCommand };
  346. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  347. if (outErrStr.Length > 0)
  348. {
  349. MessageBox.Show("命令发送失败", "提示");
  350. }
  351. }
  352. catch (Exception ex)
  353. {
  354. Console.WriteLine(ex.Message);
  355. }
  356. }
  357. //设备数据命令发送(暂时没用)
  358. public void setDevValueCommand(string objType, string linkTable, string fieldName, string valType, string val)
  359. {
  360. try
  361. {
  362. RealDataCommand realDataCommand = new RealDataCommand();
  363. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  364. realDataCommand.OBJECTTYPE = objType;
  365. realDataCommand.OBJECTID = heatProcessNumb;
  366. realDataCommand.OBJECTLINKTABLE = linkTable;
  367. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  368. realDataCommand.OBJECTLINKKEY2 = fieldName;
  369. realDataCommand.VALUETYPE = valType;
  370. realDataCommand.DTT_VALUE = DateTime.Now;
  371. realDataCommand.OBJECTIP = GetLocalMachineIP();
  372. realDataCommand.SENDTYPE = "0";
  373. switch (valType)
  374. {
  375. case "STRTYPE":
  376. realDataCommand.STR_VALUE = val;
  377. break;
  378. case "FLTTYPE":
  379. if (val.Length == 0)
  380. val = "0";
  381. realDataCommand.FLT_VALUE = Convert.ToDecimal(val);
  382. break;
  383. case "BOLTYPE":
  384. if (val.Length == 0)
  385. val = "F";
  386. realDataCommand.BOL_VALUE = val;
  387. break;
  388. case "DTTTYPE":
  389. if (val.Length == 0)
  390. val = "2000";
  391. realDataCommand.DTT_VALUE = Convert.ToDateTime(val);
  392. break;
  393. }
  394. string outErrStr = "";
  395. //hengxing
  396. //CallingMessage par = new CallingMessage();
  397. //par.ServerName = "lgJobMgt";
  398. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  399. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  400. //par.MethodName = "AddNewCommand";
  401. //par.args = new object[] { realDataCommand };
  402. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  403. if (outErrStr.Length > 0)
  404. {
  405. MessageBox.Show("命令发送失败", "提示");
  406. }
  407. }
  408. catch (Exception ex)
  409. {
  410. Console.WriteLine(ex.Message);
  411. }
  412. }
  413. //设备数据命令发送(reset命令)(暂时没用)
  414. public void resetDevValCommand(string linkTable, string fieldName, string valType, string val)
  415. {
  416. try
  417. {
  418. RealDataCommand realDataCommand = new RealDataCommand();
  419. realDataCommand.COMMANDTYPE = "SCHEDULE_RESET";
  420. realDataCommand.OBJECTTYPE = "DRAWLEN";
  421. realDataCommand.OBJECTID = heatProcessNumb;
  422. realDataCommand.OBJECTLINKTABLE = linkTable;
  423. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  424. realDataCommand.OBJECTLINKKEY2 = fieldName;
  425. realDataCommand.VALUETYPE = valType;
  426. realDataCommand.DTT_VALUE = DateTime.Now;
  427. realDataCommand.OBJECTIP = GetLocalMachineIP();
  428. realDataCommand.SENDTYPE = "0";
  429. switch (valType)
  430. {
  431. case "STRTYPE":
  432. realDataCommand.STR_VALUE = val;
  433. break;
  434. case "FLTTYPE":
  435. if (val.Length == 0)
  436. val = "0";
  437. realDataCommand.FLT_VALUE = Convert.ToDecimal(val);
  438. break;
  439. case "BOLTYPE":
  440. if (val.Length == 0)
  441. val = "F";
  442. realDataCommand.BOL_VALUE = val;
  443. break;
  444. case "DTTTYPE":
  445. if (val.Length == 0)
  446. val = "2000";
  447. realDataCommand.DTT_VALUE = Convert.ToDateTime(val);
  448. break;
  449. }
  450. string outErrStr = "";
  451. //hengxing
  452. //CallingMessage par = new CallingMessage();
  453. //par.ServerName = "lgJobMgt";
  454. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  455. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  456. //par.MethodName = "AddNewCommand";
  457. //par.args = new object[] { realDataCommand };
  458. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  459. if (outErrStr.Length > 0)
  460. {
  461. MessageBox.Show("命令发送失败", "提示");
  462. }
  463. }
  464. catch (Exception ex)
  465. {
  466. Console.WriteLine(ex.Message);
  467. }
  468. }
  469. //班组命令发送(暂时没用)
  470. public void setDutyCommand(string objType, string linkTable, string val)
  471. {
  472. try
  473. {
  474. RealDataCommand realDataCommand = new RealDataCommand();
  475. realDataCommand.COMMANDTYPE = "SCHEDULE_DUTY";
  476. realDataCommand.OBJECTTYPE = objType;
  477. realDataCommand.OBJECTID = heatProcessNumb;
  478. realDataCommand.OBJECTLINKTABLE = linkTable;
  479. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  480. realDataCommand.OBJECTLINKKEY2 = "DUTYNO";
  481. realDataCommand.VALUETYPE = "STRTYPE";
  482. realDataCommand.STR_VALUE = val;
  483. realDataCommand.OBJECTIP = GetLocalMachineIP();
  484. realDataCommand.SENDTYPE = "0";
  485. string outErrStr = "";
  486. //hengxing
  487. //CallingMessage par = new CallingMessage();
  488. //par.ServerName = "lgJobMgt";
  489. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  490. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  491. //par.MethodName = "AddNewCommand";
  492. //par.args = new object[] { realDataCommand };
  493. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  494. if (outErrStr.Length > 0)
  495. {
  496. MessageBox.Show("命令发送失败", "提示");
  497. }
  498. }
  499. catch (Exception ex)
  500. {
  501. Console.WriteLine(ex.Message);
  502. }
  503. }
  504. /// <summary>
  505. /// 作业管理手动操作包括:OUTSTEEL:出钢,GONEXT:出下道工序,ASSIGNPOS:指定位置,OVER:强制结束
  506. /// </summary>
  507. /// <param name="currPos">原始位置</param>
  508. /// <param name="nextPos">目标位置</param>
  509. public void goNextPosCvtCmmd(string currPos, string nextPos)
  510. {
  511. try
  512. {
  513. RealDataCommand realDataCommand = new RealDataCommand();
  514. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  515. realDataCommand.OBJECTTYPE = "MOLSTL";
  516. realDataCommand.OBJECTID = heatProcessNumb;
  517. if (currPos.Contains("HMP"))
  518. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getHudwIdID(heatProcessNumb);
  519. else
  520. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  521. realDataCommand.OBJECTPOS = currPos;
  522. realDataCommand.STR_VALUE = nextPos;
  523. realDataCommand.DTT_VALUE = DateTime.Now;
  524. realDataCommand.OBJECTIP = GetLocalMachineIP();
  525. realDataCommand.SENDTYPE = "0";
  526. string strErr = "";
  527. ArrayList arry = new ArrayList();
  528. CommonClientToServer ccTos = new CommonClientToServer();
  529. ccTos.ob = obComm;
  530. arry.Add(realDataCommand.COMMANDTYPE);
  531. arry.Add(realDataCommand.OBJECTTYPE);
  532. arry.Add(realDataCommand.OBJECTID);
  533. arry.Add(realDataCommand.OBJECTLINKKEY1);
  534. arry.Add(realDataCommand.OBJECTPOS);
  535. arry.Add(realDataCommand.STR_VALUE);
  536. arry.Add(realDataCommand.DTT_VALUE);
  537. arry.Add(realDataCommand.OBJECTIP);
  538. arry.Add(realDataCommand.SENDTYPE);
  539. //查询作业手动操作配置信息
  540. CoreClientParam ccp = ccTos.ExecuteClietnToServer("Core.LgMes.Server.LgJobMgt.SchedulingCommandMgt",
  541. "AddNewCommand", arry, out strErr);
  542. if (strErr.Length > 0)
  543. {
  544. MessageBox.Show("命令发送失败,请重新操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  545. }
  546. }
  547. catch (Exception ex)
  548. {
  549. Console.WriteLine(ex.Message);
  550. }
  551. }
  552. //上台命令发送(使用)
  553. public void goOverCmmd(string sSrcPos)
  554. {
  555. string strMess = "确认清除本炉钢吗?";
  556. try
  557. {
  558. string sDevPos = "";
  559. if (sSrcPos.Length >= 3)
  560. {
  561. sDevPos = sSrcPos.Substring(0, 5);
  562. if (sSrcPos.Substring(0, 3) == "HMP")
  563. strMess = "确认清除本炉铁水吗?";
  564. }
  565. if (MessageBox.Show(strMess, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
  566. {
  567. RealDataCommand realDataCommand = new RealDataCommand();
  568. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  569. realDataCommand.OBJECTTYPE = "MOLSTL";
  570. realDataCommand.OBJECTID = heatProcessNumb;
  571. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  572. realDataCommand.OBJECTPOS = sSrcPos;
  573. realDataCommand.STR_VALUE = sDevPos + "_OVER";
  574. realDataCommand.DTT_VALUE = DateTime.Now;
  575. realDataCommand.OBJECTIP = GetLocalMachineIP();
  576. realDataCommand.SENDTYPE = "0";
  577. string outErrStr = "";
  578. //hengxing
  579. //CallingMessage par = new CallingMessage();
  580. //par.ServerName = "lgJobMgt";
  581. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  582. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  583. //par.MethodName = "AddNewCommand";
  584. //par.args = new object[] { realDataCommand };
  585. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  586. }
  587. }
  588. catch
  589. { }
  590. }
  591. //暂时没用
  592. public void goDiscardCmmd(string sSrcPos)
  593. {
  594. try
  595. {
  596. string sDevPos = "";
  597. if (sSrcPos.Length >= 3)
  598. {
  599. sDevPos = sSrcPos.Substring(0, 3);
  600. }
  601. if (MessageBox.Show("确认作废本炉钢吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
  602. {
  603. RealDataCommand realDataCommand = new RealDataCommand();
  604. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  605. realDataCommand.OBJECTTYPE = "MOLSTL";
  606. realDataCommand.OBJECTID = heatProcessNumb;
  607. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  608. realDataCommand.OBJECTPOS = sSrcPos;
  609. realDataCommand.STR_VALUE = sDevPos + "_WASTE";
  610. realDataCommand.DTT_VALUE = DateTime.Now;
  611. realDataCommand.OBJECTIP = GetLocalMachineIP();
  612. realDataCommand.SENDTYPE = "0";
  613. string outErrStr = "";
  614. //hengxing
  615. //CallingMessage par = new CallingMessage();
  616. //par.ServerName = "lgJobMgt";
  617. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  618. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  619. //par.MethodName = "AddNewCommand";
  620. //par.args = new object[] { realDataCommand };
  621. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  622. }
  623. }
  624. catch
  625. { }
  626. }
  627. //铸机使用
  628. public void goNextPosCmmd(int ccmNo, int state)
  629. {
  630. try
  631. {
  632. string curentPos = "", nextPos = "";
  633. string str = "CCM0" + ccmNo.ToString();
  634. switch (state)
  635. {
  636. case 0:
  637. curentPos = str + "_FRONT";
  638. nextPos = str + "_DEVICE";
  639. break;
  640. case 1:
  641. curentPos = str + "_DEVICE";
  642. nextPos = str + "_FRONT";
  643. break;
  644. case 2:
  645. curentPos = str + "_DEVICE";
  646. nextPos = str + "_BACK";
  647. break;
  648. }
  649. RealDataCommand realDataCommand = new RealDataCommand();
  650. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  651. realDataCommand.OBJECTTYPE = "MOLSTL";
  652. realDataCommand.OBJECTID = heatProcessNumb;
  653. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  654. realDataCommand.OBJECTPOS = curentPos;
  655. realDataCommand.STR_VALUE = nextPos;
  656. realDataCommand.DTT_VALUE = DateTime.Now;
  657. realDataCommand.OBJECTIP = GetLocalMachineIP();
  658. realDataCommand.SENDTYPE = "0";
  659. string outErrStr = "";
  660. //hengxing
  661. //CallingMessage par = new CallingMessage();
  662. //par.ServerName = "lgJobMgt";
  663. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  664. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  665. //par.MethodName = "AddNewCommand";
  666. //par.args = new object[] { realDataCommand };
  667. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  668. if (outErrStr.Length > 0)
  669. {
  670. MessageBox.Show("命令发送失败", "提示");
  671. }
  672. }
  673. catch (Exception ex)
  674. {
  675. Console.WriteLine(ex.Message);
  676. }
  677. }
  678. //开浇命令发送(暂时没用)
  679. public void startCastingCmmd(string position)
  680. {
  681. try
  682. {
  683. string str = position.Substring(position.Length - 6, 6);
  684. if (str != "DEVICE")
  685. return;
  686. RealDataCommand realDataCommand = new RealDataCommand();
  687. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  688. realDataCommand.OBJECTTYPE = "MOLSTL";
  689. realDataCommand.OBJECTID = heatProcessNumb;
  690. realDataCommand.OBJECTLINKTABLE = "ZY_CCMZYXX";
  691. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  692. realDataCommand.OBJECTLINKKEY2 = "DBKJSK";//"MOULDINGBEGINTIME";
  693. realDataCommand.OBJECTPOS = position;
  694. realDataCommand.VALUETYPE = "DTTTYPE";
  695. realDataCommand.DTT_VALUE = DateTime.Now;
  696. realDataCommand.OBJECTIP = GetLocalMachineIP();
  697. realDataCommand.SENDTYPE = "0";
  698. string outErrStr = "";
  699. //hengxing
  700. //CallingMessage par = new CallingMessage();
  701. //par.ServerName = "lgJobMgt";
  702. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  703. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  704. //par.MethodName = "AddNewCommand";
  705. //par.args = new object[] { realDataCommand };
  706. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  707. if (outErrStr.Length > 0)
  708. {
  709. MessageBox.Show("命令发送失败", "提示");
  710. }
  711. }
  712. catch (Exception ex)
  713. {
  714. Console.WriteLine(ex.Message);
  715. }
  716. }
  717. //停浇命令发送(暂时没用)
  718. public void stopCastingCmmd(string position)
  719. {
  720. try
  721. {
  722. string str = position.Substring(position.Length - 6, 6);
  723. if (str != "DEVICE")
  724. return;
  725. RealDataCommand realDataCommand = new RealDataCommand();
  726. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  727. realDataCommand.OBJECTTYPE = "MOLSTL";
  728. realDataCommand.OBJECTID = heatProcessNumb;
  729. realDataCommand.OBJECTLINKTABLE = "ZY_CCMZYXX";
  730. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  731. realDataCommand.OBJECTLINKKEY2 = "DBTJSK";
  732. realDataCommand.OBJECTPOS = position;
  733. realDataCommand.VALUETYPE = "DTTTYPE";
  734. realDataCommand.DTT_VALUE = DateTime.Now;
  735. realDataCommand.OBJECTIP = GetLocalMachineIP();
  736. realDataCommand.SENDTYPE = "0";
  737. string outErrStr = "";
  738. //hengxing
  739. //CallingMessage par = new CallingMessage();
  740. //par.ServerName = "lgJobMgt";
  741. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  742. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  743. //par.MethodName = "AddNewCommand";
  744. //par.args = new object[] { realDataCommand };
  745. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  746. if (outErrStr.Length > 0)
  747. {
  748. MessageBox.Show("命令发送失败", "提示");
  749. }
  750. }
  751. catch (Exception ex)
  752. {
  753. Console.WriteLine(ex.Message);
  754. }
  755. }
  756. //去下道工序命令发送(强制废除/回炉翻损)(使用)
  757. public void goNextProcCmmd(string position, string linkTable)
  758. {
  759. try
  760. {
  761. RealDataCommand realDataCommand = new RealDataCommand();
  762. realDataCommand.COMMANDTYPE = "SCHEDULE_SET";
  763. realDataCommand.OBJECTTYPE = "PROCVALUE";
  764. realDataCommand.OBJECTID = heatProcessNumb;
  765. realDataCommand.OBJECTLINKTABLE = linkTable;
  766. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  767. realDataCommand.OBJECTLINKKEY2 = "DBLTSK";//"ONESTRADECLOSETIME";
  768. realDataCommand.OBJECTPOS = position;
  769. realDataCommand.VALUETYPE = "DTTTYPE";
  770. realDataCommand.DTT_VALUE = DateTime.Now;
  771. realDataCommand.OBJECTIP = GetLocalMachineIP();
  772. realDataCommand.SENDTYPE = "0";
  773. string outErrStr = "";
  774. //hengxing
  775. //CallingMessage par = new CallingMessage();
  776. //par.ServerName = "lgJobMgt";
  777. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  778. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  779. //par.MethodName = "AddNewCommand";
  780. //par.args = new object[] { realDataCommand };
  781. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  782. if (outErrStr.Length > 0)
  783. {
  784. MessageBox.Show("命令发送失败", "提示");
  785. }
  786. }
  787. catch (Exception ex)
  788. {
  789. Console.WriteLine(ex.Message);
  790. }
  791. }
  792. //下台命令(使用)
  793. public void goCcmOverCmmd(string position, int nNo)
  794. {
  795. try
  796. {
  797. RealDataCommand realDataCommand = new RealDataCommand();
  798. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  799. realDataCommand.OBJECTTYPE = "MOLSTL";
  800. realDataCommand.OBJECTID = heatProcessNumb;
  801. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  802. realDataCommand.OBJECTPOS = position;
  803. realDataCommand.VALUETYPE = "STRTYPE";
  804. realDataCommand.STR_VALUE = "CCM0" + nNo.ToString() + "_OVER";//"CCM_OVER";
  805. realDataCommand.DTT_VALUE = DateTime.Now;
  806. realDataCommand.OBJECTIP = GetLocalMachineIP();
  807. realDataCommand.SENDTYPE = "0";
  808. string outErrStr = "";
  809. //hengxing
  810. //CallingMessage par = new CallingMessage();
  811. //par.ServerName = "lgJobMgt";
  812. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  813. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  814. //par.MethodName = "AddNewCommand";
  815. //par.args = new object[] { realDataCommand };
  816. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  817. if (outErrStr.Length > 0)
  818. {
  819. MessageBox.Show("命令发送失败", "提示");
  820. }
  821. }
  822. catch (Exception ex)
  823. {
  824. Console.WriteLine(ex.Message);
  825. }
  826. }
  827. //去精炼炉(使用)
  828. public void goLfsCmmd(string srcPos, string lfsPos)
  829. {
  830. try
  831. {
  832. RealDataCommand realDataCommand = new RealDataCommand();
  833. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  834. realDataCommand.OBJECTTYPE = "MOLSTL";
  835. realDataCommand.OBJECTID = heatProcessNumb;
  836. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  837. realDataCommand.OBJECTPOS = srcPos;
  838. realDataCommand.STR_VALUE = lfsPos;
  839. realDataCommand.DTT_VALUE = DateTime.Now;
  840. realDataCommand.OBJECTIP = GetLocalMachineIP();
  841. realDataCommand.SENDTYPE = "0";
  842. string outErrStr = "";
  843. //hengxing
  844. //CallingMessage par = new CallingMessage();
  845. //par.ServerName = "lgJobMgt";
  846. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  847. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  848. //par.MethodName = "AddNewCommand";
  849. //par.args = new object[] { realDataCommand };
  850. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  851. if (outErrStr.Length > 0)
  852. {
  853. MessageBox.Show("命令发送失败", "提示");
  854. }
  855. }
  856. catch (Exception ex)
  857. {
  858. Console.WriteLine(ex.Message);
  859. }
  860. }
  861. //去VD炉(暂时没用)
  862. public void goVdsCmmd(string srcPos, string vdsPos)
  863. {
  864. try
  865. {
  866. RealDataCommand realDataCommand = new RealDataCommand();
  867. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  868. realDataCommand.OBJECTTYPE = "MOLSTL";
  869. realDataCommand.OBJECTID = heatProcessNumb;
  870. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  871. realDataCommand.OBJECTPOS = srcPos;
  872. realDataCommand.STR_VALUE = vdsPos;
  873. realDataCommand.DTT_VALUE = DateTime.Now;
  874. realDataCommand.OBJECTIP = GetLocalMachineIP();
  875. realDataCommand.SENDTYPE = "0";
  876. string outErrStr = "";
  877. //hengxing
  878. //CallingMessage par = new CallingMessage();
  879. //par.ServerName = "lgJobMgt";
  880. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  881. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  882. //par.MethodName = "AddNewCommand";
  883. //par.args = new object[] { realDataCommand };
  884. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  885. if (outErrStr.Length > 0)
  886. {
  887. MessageBox.Show("命令发送失败", "提示");
  888. }
  889. }
  890. catch (Exception ex)
  891. {
  892. Console.WriteLine(ex.Message);
  893. }
  894. }
  895. //去吹氩站(暂时没用)
  896. public void goCasCmmd(string CasPos, string srcPos)
  897. {
  898. try
  899. {
  900. RealDataCommand realDataCommand = new RealDataCommand();
  901. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  902. realDataCommand.OBJECTTYPE = "MOLSTL";
  903. realDataCommand.OBJECTID = heatProcessNumb;
  904. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  905. realDataCommand.OBJECTPOS = srcPos;
  906. realDataCommand.STR_VALUE = CasPos;
  907. realDataCommand.DTT_VALUE = DateTime.Now;
  908. realDataCommand.OBJECTIP = GetLocalMachineIP();
  909. realDataCommand.SENDTYPE = "0";
  910. string outErrStr = "";
  911. //hengxing
  912. //CallingMessage par = new CallingMessage();
  913. //par.ServerName = "lgJobMgt";
  914. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  915. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  916. //par.MethodName = "AddNewCommand";
  917. //par.args = new object[] { realDataCommand };
  918. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  919. if (outErrStr.Length > 0)
  920. {
  921. MessageBox.Show("命令发送失败", "提示");
  922. }
  923. }
  924. catch (Exception ex)
  925. {
  926. Console.WriteLine(ex.Message);
  927. }
  928. }
  929. //去连铸机(使用)
  930. public void goCcmCmmd(string srcPos, string ccmPos)
  931. {
  932. try
  933. {
  934. RealDataCommand realDataCommand = new RealDataCommand();
  935. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  936. realDataCommand.OBJECTTYPE = "MOLSTL";
  937. realDataCommand.OBJECTID = heatProcessNumb;
  938. realDataCommand.OBJECTLINKKEY1 = CStaticMethod.getSmeltingID(heatProcessNumb);
  939. realDataCommand.OBJECTPOS = srcPos;
  940. realDataCommand.STR_VALUE = ccmPos;
  941. realDataCommand.DTT_VALUE = DateTime.Now;
  942. realDataCommand.OBJECTIP = GetLocalMachineIP();
  943. realDataCommand.SENDTYPE = "0";
  944. string outErrStr = "";
  945. //hengxing
  946. //CallingMessage par = new CallingMessage();
  947. //par.ServerName = "lgJobMgt";
  948. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  949. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  950. //par.MethodName = "AddNewCommand";
  951. //par.args = new object[] { realDataCommand };
  952. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  953. if (outErrStr.Length > 0)
  954. {
  955. MessageBox.Show("命令发送失败", "提示");
  956. }
  957. }
  958. catch (Exception ex)
  959. {
  960. Console.WriteLine(ex.Message);
  961. }
  962. }
  963. //大包换包(使用)
  964. public void goReplaceOfCcm(string sSrcPos, string[] bufferArray)
  965. {
  966. if (bufferArray == null && sSrcPos.Length < 5)
  967. return;
  968. string sIdelID = bufferArray[0];
  969. if (sIdelID.Length >= 13)
  970. sIdelID = sIdelID.Substring(0, 13);
  971. else
  972. sIdelID = "";
  973. string sFrontID = bufferArray[1];
  974. if (sFrontID.Length >= 13)
  975. sFrontID = sFrontID.Substring(0, 13);
  976. else
  977. sFrontID = "";
  978. string sDeviceID = bufferArray[2];
  979. if (sDeviceID.Length >= 13)
  980. sDeviceID = sDeviceID.Substring(0, 13);
  981. else
  982. sDeviceID = "";
  983. string sSrcHeatNo, sDesHeatNo, sSrcSite, sDesSite, sDesPos = "";
  984. sSrcHeatNo = sDesHeatNo = sSrcSite = sDesSite = "";
  985. bool flag = false;
  986. if (sSrcPos.IndexOf("_IDLE") > -1) //IDEL->FRONT
  987. {
  988. sSrcHeatNo = sIdelID;
  989. sDesHeatNo = sFrontID;
  990. sDesPos = sSrcPos.Substring(0, 5) + "_FRONT";
  991. sSrcSite = sSrcPos.Substring(4, 1) + "#连铸机缓冲位";
  992. sDesSite = sDesPos.Substring(4, 1) + "#连铸机等待位";
  993. flag = true;
  994. }
  995. else if (sSrcPos.IndexOf("_FRONT") > -1) //FRONT->IDEL
  996. {
  997. sSrcHeatNo = sFrontID;
  998. sDesHeatNo = sIdelID;
  999. sDesPos = sSrcPos.Substring(0, 5) + "_IDLE";
  1000. sSrcSite = sSrcPos.Substring(4, 1) + "#连铸机等待位";
  1001. sDesSite = sDesPos.Substring(4, 1) + "#连铸机缓冲位";
  1002. flag = true;
  1003. // if(sIdelID != "") //FRONT->IDEL
  1004. // {
  1005. // sSrcHeatNo = sFrontID;
  1006. // sDesHeatNo = sIdelID;
  1007. //
  1008. // sDesPos=sSrcPos.Substring(0, 5)+"_IDLE";
  1009. // sSrcSite = sSrcPos.Substring(4, 1)+"#连铸机等待位";
  1010. // sDesSite = sDesPos.Substring(4, 1)+"#连铸机缓冲位";
  1011. // flag=true;
  1012. //
  1013. // }
  1014. // else //FRONT->DEVICE
  1015. // {
  1016. // sSrcHeatNo = sFrontID;
  1017. // sDesHeatNo = sDeviceID;
  1018. // if(sDesHeatNo.Length>1)
  1019. // {
  1020. // sDesPos = sSrcPos.Substring(0,5)+"_DEVICE";
  1021. //
  1022. // sSrcSite = sSrcPos.Substring(4, 1)+"#连铸机等待位";
  1023. // sDesSite = sDesPos.Substring(4, 1)+"#连铸机在站位";
  1024. // flag=true;
  1025. // }
  1026. // }
  1027. }
  1028. else if (sSrcPos.IndexOf("_DEVICE") > -1) //DEVICE->FRONT
  1029. {
  1030. sSrcHeatNo = sDeviceID;
  1031. sDesHeatNo = sFrontID;
  1032. sDesPos = sSrcPos.Substring(0, 5) + "_FRONT";
  1033. sSrcSite = sSrcPos.Substring(4, 1) + "#连铸机在站位";
  1034. sDesSite = sDesPos.Substring(4, 1) + "#连铸机等待位";
  1035. flag = true;
  1036. }
  1037. //string strMsg = "炉号: " + sSrcHeatNo.Substring(5);
  1038. //strMsg += " " + sSrcSite + "\r\n";
  1039. //strMsg += " 与 " + "\r\n";
  1040. //strMsg += "炉号: " + sDesHeatNo.Substring(5);
  1041. //strMsg += " " + sDesSite + "\r\n";
  1042. //strMsg += "换钢水确认吗?";
  1043. if (flag == true)
  1044. {
  1045. try
  1046. {
  1047. //if (MessageBox.Show(strMsg, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
  1048. //{
  1049. RealDataCommand realDataCommand = new RealDataCommand();
  1050. realDataCommand.COMMANDTYPE = "SCHEDULE_TRANS";
  1051. realDataCommand.OBJECTTYPE = "MOLSTL";
  1052. realDataCommand.OBJECTID = sSrcHeatNo;
  1053. realDataCommand.OBJECTLINKKEY1 = sDesHeatNo;
  1054. realDataCommand.OBJECTPOS = sSrcPos;
  1055. realDataCommand.STR_VALUE = sDesPos;
  1056. realDataCommand.DTT_VALUE = DateTime.Now;
  1057. realDataCommand.OBJECTIP = GetLocalMachineIP();
  1058. realDataCommand.SENDTYPE = "0";
  1059. string outErrStr = "";
  1060. //hengxing
  1061. //CallingMessage par = new CallingMessage();
  1062. //par.ServerName = "lgJobMgt";
  1063. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  1064. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  1065. //par.MethodName = "AddNewCommand";
  1066. //par.args = new object[] { realDataCommand };
  1067. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  1068. //}
  1069. }
  1070. catch
  1071. { }
  1072. }
  1073. }
  1074. //钢包换包(使用)
  1075. public void goReplaceOfLfs(string sSrcPos, string[] bufferArray)
  1076. {
  1077. if (bufferArray == null && sSrcPos.Length < 5)
  1078. return;
  1079. string sIdleID = bufferArray[0];
  1080. if (sIdleID.Length >= (int)OBJLEN.nHeatProcessNo)
  1081. sIdleID = sIdleID.Substring(0, (int)OBJLEN.nHeatProcessNo);
  1082. else
  1083. sIdleID = "";
  1084. string sFrontID = bufferArray[1];
  1085. if (sFrontID.Length >= (int)OBJLEN.nHeatProcessNo)
  1086. sFrontID = sFrontID.Substring(0, (int)OBJLEN.nHeatProcessNo);
  1087. else
  1088. sFrontID = "";
  1089. string sDeviceID = bufferArray[2];
  1090. if (sDeviceID.Length >= (int)OBJLEN.nHeatProcessNo)
  1091. sDeviceID = sDeviceID.Substring(0, (int)OBJLEN.nHeatProcessNo);
  1092. else
  1093. sDeviceID = "";
  1094. string sBackID = bufferArray[3];
  1095. if (sBackID.Length >= (int)OBJLEN.nHeatProcessNo)
  1096. sBackID = sBackID.Substring(0, (int)OBJLEN.nHeatProcessNo);
  1097. else
  1098. sBackID = "";
  1099. string sDesPos = "";
  1100. string sSrcHeatNo, sDesHeatNo, sSrcSite, sDesSite;
  1101. sSrcHeatNo = sDesHeatNo = sSrcSite = sDesSite = "";
  1102. if (sSrcPos.IndexOf("_FRONT") > -1) //FRONT->IDLE
  1103. {
  1104. if (sIdleID != "") //FRONT->IDLE
  1105. {
  1106. sSrcHeatNo = sFrontID;
  1107. sDesHeatNo = sIdleID;
  1108. sDesPos = sSrcPos.Substring(0, 5) + "_IDLE";
  1109. sSrcSite = sSrcPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sSrcPos) + CStaticMethod.analysPosName(sSrcPos);
  1110. sDesSite = sDesPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sDesPos) + CStaticMethod.analysPosName(sDesPos);
  1111. }
  1112. else //FRONT->DEVICE
  1113. {
  1114. sSrcHeatNo = sFrontID;
  1115. sDesHeatNo = sDeviceID;
  1116. sDesPos = sSrcPos.Substring(0, 5) + "_DEVICE";
  1117. sSrcSite = sSrcPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sSrcPos) + CStaticMethod.analysPosName(sSrcPos);
  1118. sDesSite = sDesPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sDesPos) + CStaticMethod.analysPosName(sDesPos);
  1119. }
  1120. }
  1121. else if (sSrcPos.IndexOf("_DEVICE") > -1) //DEVICE->FRONT
  1122. {
  1123. sSrcHeatNo = sDeviceID;
  1124. sDesHeatNo = sFrontID;
  1125. sDesPos = sSrcPos.Substring(0, 5) + "_FRONT";
  1126. sSrcSite = sSrcPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sSrcPos) + CStaticMethod.analysPosName(sSrcPos);
  1127. sDesSite = sDesPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sDesPos) + CStaticMethod.analysPosName(sDesPos);
  1128. }
  1129. else if (sSrcPos.IndexOf("_BACK") > -1) //BACK->DEVICE
  1130. {
  1131. sSrcHeatNo = sBackID;
  1132. sDesHeatNo = sDeviceID;
  1133. sDesPos = sSrcPos.Substring(0, 5) + "_DEVICE";
  1134. sSrcSite = sSrcPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sSrcPos) + CStaticMethod.analysPosName(sSrcPos);
  1135. sDesSite = sDesPos.Substring(4, 1) + "#" + CStaticMethod.analysChineseName(sDesPos) + CStaticMethod.analysPosName(sDesPos);
  1136. }
  1137. string strMsg = "炉号: " + sSrcHeatNo;
  1138. strMsg += " " + sSrcSite + "\r\n";
  1139. strMsg += " 与 " + "\r\n";
  1140. strMsg += "炉号: " + sDesHeatNo;
  1141. strMsg += " " + sDesSite + "\r\n";
  1142. strMsg += "换钢水确认吗?";
  1143. try
  1144. {
  1145. if (MessageBox.Show(strMsg, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
  1146. {
  1147. RealDataCommand realDataCommand = new RealDataCommand();
  1148. realDataCommand.COMMANDTYPE = "SCHEDULE_TRANS";
  1149. realDataCommand.OBJECTTYPE = "MOLSTL";
  1150. realDataCommand.OBJECTID = sSrcHeatNo;
  1151. realDataCommand.OBJECTLINKKEY1 = sDesHeatNo;
  1152. realDataCommand.OBJECTPOS = sSrcPos;
  1153. realDataCommand.STR_VALUE = sDesPos;
  1154. realDataCommand.DTT_VALUE = DateTime.Now;
  1155. realDataCommand.OBJECTIP = GetLocalMachineIP();
  1156. realDataCommand.SENDTYPE = "0";
  1157. string strErr = "";
  1158. ArrayList arry = new ArrayList();
  1159. CommonClientToServer ccTos = new CommonClientToServer();
  1160. ccTos.ob = obComm;
  1161. arry.Add(realDataCommand.COMMANDTYPE);
  1162. arry.Add(realDataCommand.OBJECTTYPE);
  1163. arry.Add(realDataCommand.OBJECTID);
  1164. arry.Add(realDataCommand.OBJECTLINKKEY1);
  1165. arry.Add(realDataCommand.OBJECTPOS);
  1166. arry.Add(realDataCommand.STR_VALUE);
  1167. arry.Add(realDataCommand.DTT_VALUE);
  1168. arry.Add(realDataCommand.OBJECTIP);
  1169. arry.Add(realDataCommand.SENDTYPE);
  1170. //查询作业手动操作配置信息
  1171. CoreClientParam ccp = ccTos.ExecuteClietnToServer("Core.LgMes.Server.LgJobMgt.SchedulingCommandMgt",
  1172. "AddNewCommand", arry, out strErr);
  1173. if (strErr.Length > 0)
  1174. {
  1175. MessageBox.Show("命令发送失败,请重新操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1176. }
  1177. }
  1178. }
  1179. catch
  1180. { }
  1181. }
  1182. //LFS 下个位置(使用)
  1183. public void goNextPosition(string sSrcPos, string sDesPos)
  1184. {
  1185. try
  1186. {
  1187. RealDataCommand realDataCommand = new RealDataCommand();
  1188. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  1189. realDataCommand.OBJECTTYPE = "MOLSTL";
  1190. realDataCommand.OBJECTID = heatProcessNumb;
  1191. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  1192. realDataCommand.OBJECTPOS = sSrcPos;
  1193. realDataCommand.VALUETYPE = "STRTYPE";
  1194. realDataCommand.STR_VALUE = sDesPos;
  1195. realDataCommand.DTT_VALUE = DateTime.Now;
  1196. realDataCommand.OBJECTIP = GetLocalMachineIP();
  1197. realDataCommand.SENDTYPE = "0";
  1198. string outErrStr = "", str = "";
  1199. //hengxing
  1200. //CallingMessage par = new CallingMessage();
  1201. //par.ServerName = "lgJobMgt";
  1202. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  1203. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  1204. //par.MethodName = "AddNewCommand";
  1205. //par.args = new object[] { realDataCommand };
  1206. //ClientCommon._RemotingHelp.ExecuteMethod(par, out outErrStr);
  1207. str = outErrStr;
  1208. }
  1209. catch
  1210. { }
  1211. }
  1212. //使用
  1213. public void goNextTechnics(string sSrcPos)
  1214. {
  1215. try
  1216. {
  1217. string err = "";
  1218. object obj;
  1219. //hengxing
  1220. //CallingMessage par = new CallingMessage();
  1221. //par.ServerName = "lgJobMgt";
  1222. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  1223. //par.ClassName = "Core.LgMes.Server.lgJobMgt.classTrackObjectInfo";
  1224. //par.MethodName = "GetNextPos";
  1225. //par.args = new object[] { heatProcessNumb };
  1226. obj = null;// RemotingHelp.ExecuteMethod(par, out err);
  1227. // obj = this.RemotingHelp.ExecuteMethod("Craft", "Core.Sglg.CraftBusiness", "Core.Sglg.CraftBusiness.ReadDataClass", "GetNextPos", new object[]{heatProcessNumb}, out err);
  1228. if (obj != null)
  1229. {
  1230. string sNextPos = (string)obj;
  1231. string strMsg = "炉号: " + CStaticMethod.getSmeltingID(heatProcessNumb) + " 确认去" + err + "吗?";
  1232. if (MessageBox.Show(strMsg, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
  1233. {
  1234. RealDataCommand realDataCommand = new RealDataCommand();
  1235. realDataCommand.COMMANDTYPE = "SCHEDULE_MOVE";
  1236. realDataCommand.OBJECTTYPE = "MOLSTL";
  1237. realDataCommand.OBJECTID = heatProcessNumb;
  1238. realDataCommand.OBJECTLINKKEY1 = heatProcessNumb;
  1239. realDataCommand.OBJECTPOS = sSrcPos;
  1240. realDataCommand.STR_VALUE = sNextPos;
  1241. realDataCommand.DTT_VALUE = DateTime.Now;
  1242. realDataCommand.OBJECTIP = GetLocalMachineIP();
  1243. realDataCommand.SENDTYPE = "0";
  1244. //hengxing
  1245. //par.ServerName = "lgJobMgt";
  1246. //par.AssemblyName = "Core.LgMes.Server.lgJobMgt";
  1247. //par.ClassName = "Core.LgMes.Server.lgJobMgt.SchedulingCommandMgt";
  1248. //par.MethodName = "AddNewCommand";
  1249. //par.args = new object[] { realDataCommand };
  1250. //ClientCommon._RemotingHelp.ExecuteMethod(par, out err);
  1251. }
  1252. }
  1253. else
  1254. {
  1255. MessageBox.Show(err, "提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
  1256. }
  1257. }
  1258. catch
  1259. { }
  1260. }
  1261. }
  1262. public enum DeviceCode : int
  1263. {
  1264. MIS = 20,
  1265. MIS01 = 1,
  1266. MIS02 = 2,
  1267. HMP = 21,
  1268. HMP01 = 1,
  1269. HMP02 = 2,
  1270. HMP03 = 3,
  1271. BOF = 22,
  1272. BOF01 = 1,
  1273. BOF02 = 2,
  1274. BOF03 = 3,
  1275. CAS = 23,
  1276. CAS01 = 1,
  1277. CAS02 = 2,
  1278. CAS03 = 3,
  1279. LFS = 24,
  1280. LFS01 = 1,
  1281. LFS02 = 2,
  1282. LFS03 = 3,
  1283. RHS = 25,
  1284. RHS01 = 1,
  1285. RHS02 = 2,
  1286. RHS03 = 3,
  1287. CCM = 26,
  1288. CCM01 = 1,
  1289. CCM02 = 2,
  1290. CCM03 = 3,
  1291. CCM04 = 4,
  1292. CCB = 27,
  1293. VDS = 28,
  1294. VDS01 = 1,
  1295. VDS02 = 2,
  1296. VDS03 = 3,
  1297. }
  1298. }