FrmPlnOrderDbkS.cs 76 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm.Format;
  12. using Core.Mes.Client.Comm.Server;
  13. using Core.Mes.Client.Comm.Tool;
  14. using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
  15. using Core.StlMes.Client.PlnSaleOrd.工序排产;
  16. using Core.StlMes.Client.PlnSaleOrd.工序排产.entity;
  17. using CoreFS.CA06;
  18. using Infragistics.Win;
  19. using Infragistics.Win.UltraWinEditors;
  20. using Infragistics.Win.UltraWinGrid;
  21. using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool;
  22. using Core.StlMes.Client.PlnSaleOrd.窗体;
  23. namespace Core.StlMes.Client.PlnSaleOrd
  24. {
  25. /// <summary>
  26. /// 镦拔扩排产(CustomInfo 为0 镦拔扩排产查询 1 镦拔扩排产 2 镦拔扩炉计划)
  27. /// </summary>
  28. public partial class FrmPlnOrderDbkS : FrmBase
  29. {
  30. DataTable dtPlinGroup = null;
  31. /// <summary>
  32. ///产线权限
  33. /// </summary>
  34. private string[] plinePower = new string[] { "" };
  35. /// <summary>
  36. /// 订单编号
  37. /// </summary>
  38. private string _ProPlanId = "";
  39. /// <summary>
  40. /// 订单排产序号
  41. /// </summary>
  42. private string _GxPlanNo = "";
  43. /// <summary>
  44. /// 产线
  45. /// </summary>
  46. private string _PlineCode = "";
  47. /// <summary>
  48. /// 颜色
  49. /// </summary>
  50. private Color _color = new Color();
  51. private string proPlanId = "";
  52. private string gxPlanNo = "";
  53. private ArrayList _EntityList = null;
  54. public FrmPlnOrderDbkS()
  55. {
  56. this.IsLoadUserView = true;
  57. InitializeComponent();
  58. }
  59. private void FrmPlnOrderDbkS_Load(object sender, EventArgs e)
  60. {
  61. if (CustomInfo == null) { CustomInfo = ""; }
  62. if (CustomInfo == "0")
  63. {
  64. splitContainer1.Panel2Collapsed = true;
  65. BaseHelper.setOtherColumnReadOnly(ultraGridDbks, new string[] { "CHC", "PlineCode" });
  66. BaseHelper.setColumnBackColor(ultraGridDbks, new string[] { "PlineCode"});
  67. EntityHelper.setColumnShowOrHidden(ultraGridDbks, new string[] { "PenaltyDesc", "OrderCreateName", "OrderDocumentaryName" }, false);
  68. }
  69. else
  70. {
  71. BaseHelper.ForbidSort(ultraGridDbks);
  72. BaseHelper.setOtherColumnReadOnly(ultraGridDbks, new string[] { "CHC", "PlanTimeB", "RepairType", "PlanUsetime", "PlineCode", "Memo", "PassCode", "ZyBatchId", "Decision" });//"Decision",
  73. BaseHelper.setColumnBackColor(ultraGridDbks, new string[] { "PlineCode", "Memo", "PassCode", "ZyBatchId", "Decision" });
  74. EntityHelper.setColumnShowOrHidden(ultraGridDbks, new string[] { "OrderTeam" }, false);
  75. }
  76. if (CustomInfo != "2")
  77. {
  78. ultraGridDbks.DisplayLayout.Bands[0].Columns["IsOnloadLine"].Hidden = true;
  79. //ultraGridZyReadyE.DisplayLayout.Bands[0].Columns["CHC"].Hidden = true;
  80. }
  81. BaseHelper.setUltraGridColumnMaxInput(ultraGridDbks, new string[] { "WeigthS" });
  82. BaseHelper.InitCellPosition(ultraGridDbks, new string[] {"CountNum", "GxPlanNo", "OrderSeq", "DeliveryNo", "WeigthS", "NumS", "PlanUsetime", "GxProSeq", "PlnDivideId", "Outdiameter", "Wallthick", "Lengthmax", "Lengthmin", "Aimlength",
  83. "OutdiameterIn", "WallthickIn", "LengthmaxIn", "LengthminIn", "Aimoutdiameter", "Aimwallthick", "LenCuthead", "LenCutend" ,"AddWtIn","AddNumIn","MatchWtIn","MatchNumIn", "BatchedWt","BatchedNum","Finishweight","Finishnum","InNumS","InWeightS","FinishWgt","UnfinishWgt","UnfinishNum","MinWgt","RealBatchWt","RealBatchNum","StockNumMononer","StockNumLiku","ExpectWt","ExpectNum"});
  84. BaseHelper.setUltraGridColumnMaxInput(ultraGridDbks, new string[] { "MinWgt" });
  85. BaseHelper.GridColumnSum(ultraGridDbks, new string[] { "WeigthS" });
  86. BaseHelper.GridColumnCount(ultraGridDbks, new string[] { "NumS" });
  87. BaseHelper.InitCellPositionMiddle(ultraGridDbks, new string[] { "IsRepairPln", "Isendgx", "IfMonitorDbk", "IsPlanOk", "IfStoveIssued", "IfZyReady", "IfZyM", "IsOnloadLine" });
  88. BaseHelper.setUltraGridColumnColor(ultraGridDbks, new string[] { "CraftFileNo", "CraftFileLv2G" }, Color.GreenYellow);
  89. plinePower = PlanHelper.InitDropPlinePower("E", comPline, this.ValidDataPurviewIds, this.ob);
  90. PlanHelper.InitRepairType(ultraGridDbks, this);
  91. PlanHelper.InitEditPline("E", "", ultraGridDbks, this);
  92. //BaseHelper.setOtherColumnReadOnly(ultraGridDbks, new string[] { "CHC", "PlanTimeB", "RepairType", "PlanUsetime", "PlineCode", "Memo" });
  93. _color = ultraGridDbks.DisplayLayout.Override.RowSelectorAppearance.BackColor;
  94. InitColorStyle();
  95. EntityHelper.ShowGridCaption<Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  96. //炉计划
  97. BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC", "JudgeStoveNo", "Memo", "OutnumCut" });
  98. BaseHelper.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" });
  99. BaseHelper.setUltraGridColumnBits(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" });
  100. BaseHelper.InitCellPosition(ultraGrid1, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "PlnInsingleNum", "PlnInsingleWt", "PlnIndoubleNum","PlnIndoubleWt","PlnOutsingleNum","PlnOutsingleW" ,"PlnOutdoubleNum","PlnOutdoubleW","OutdiameterIn","WallthickIn","LengthIn","LengthmaxIn",
  101. "LengthminIn","OutnumCut", "Aimoutdiameter","Aimwallthick","AimlengthMax","Aimlength","AimlengthMin","LenCutend","LenCuthead","CraftSeq","RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt","RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum"});
  102. BaseHelper.GridColumnSum(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" });
  103. BaseHelper.GridColumnCount(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" });
  104. StoveHelper.ForbidSort(ultraGrid1);
  105. BaseHelper.setColumnBackColor(ultraGrid1, new string[] { "JudgeStoveNo", "Memo", "OutnumCut" });
  106. BaseHelper.SetGroupBySum(ultraGrid1, new string[] { "PlnInsingleWt", "PlnOutsingleW","PlnInsingleNum", "PlnOutsingleNum" }, "HeatPlanNo");
  107. InitTime();
  108. ultraGridDbks.DisplayLayout.Bands[0].Columns["PreInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  109. ultraGridDbks.DisplayLayout.Bands[0].Columns["PreInfo"].CellAppearance.BackColor = Color.GreenYellow;
  110. ultraGridDbks.DisplayLayout.Bands[0].Columns["AfInfo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  111. ultraGridDbks.DisplayLayout.Bands[0].Columns["AfInfo"].CellAppearance.BackColor = Color.GreenYellow;
  112. UltraComboEditor uceAbc = new UltraComboEditor();
  113. ultraGridDbks.DisplayLayout.Bands[0].Columns["Decision"].EditorComponent = uceAbc;
  114. ultraGridDbks.DisplayLayout.Bands[0].Columns["Decision"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  115. ValueList vlistSteel = new ValueList(); ;
  116. vlistSteel.ValueListItems.Insert(0, "A", "A");
  117. vlistSteel.ValueListItems.Insert(1, "B", "B");
  118. vlistSteel.ValueListItems.Insert(2, "C", "C");
  119. ultraGridDbks.DisplayLayout.Bands[0].Columns["Decision"].ValueList = vlistSteel;
  120. //查询孔型
  121. DataTable dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.BaseHelper.queryPassCode", null, ob);
  122. Object[] obj = new Object[] { "", "" };
  123. DataRow dr = dt1.NewRow();
  124. dr.ItemArray = obj;
  125. dt1.Rows.InsertAt(dr, 0);
  126. UltraComboEditor uce = new UltraComboEditor();
  127. this.Controls.Add(uce);
  128. uce.Visible = false;
  129. uce.DropDownListWidth = -1;
  130. uce.DropDownStyle = DropDownStyle.DropDownList;
  131. uce.DataSource = dt1;
  132. uce.DisplayMember = "BASENAME";
  133. uce.ValueMember = "BASECODE";
  134. ultraGridDbks.DisplayLayout.Bands[0].Columns["PassCode"].EditorComponent = uce;
  135. ultraGridDbks.DisplayLayout.Bands[0].Columns["PassCode"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  136. ClsBaseInfo.SetComboItemHeight(uce);
  137. }
  138. private void InitTime()
  139. {
  140. DateTime now = DateTime.Now;
  141. DateTime d1 = new DateTime(now.Year, now.Month, 1);
  142. DateTime d2 = d1.AddMonths(1).AddSeconds(-1);
  143. txtPlanTimeB1.Value = d1;
  144. txtPlanTimeB2.Value = d2;
  145. txtPlanTimeE1.Value = d1;
  146. txtPlanTimeE2.Value = d2;
  147. }
  148. public override void ToolBar_Click(object sender, string ToolbarKey)
  149. {
  150. base.ToolBar_Click(sender, ToolbarKey);
  151. switch (ToolbarKey)
  152. {
  153. case "Query"://查询
  154. Query();
  155. break;
  156. case "Capacity"://产线能力维护
  157. Capacity();
  158. break;
  159. case "AddRepairPlan"://新增检修
  160. AddRepairPlan();
  161. break;
  162. case "DeleteRepairPlan"://删除检修
  163. DeleteRepairPlan();
  164. break;
  165. case "PlineChange"://产线调整
  166. PlineChange();
  167. break;
  168. case "TimeChange"://时间调整
  169. TimeChange();
  170. break;
  171. case "StatusChange"://状态调整
  172. StatusChange();
  173. break;
  174. case "InitData"://耗时初始化
  175. InitData();
  176. break;
  177. case "Spit"://拆分订单
  178. Spit();
  179. break;
  180. case "Merge"://合并订单
  181. Merge();
  182. break;
  183. case "Issued"://确认
  184. Issued("0");
  185. break;
  186. case "CancelIssued"://取消确认
  187. Issued("1");
  188. break;
  189. case "StoveIssued"://下发
  190. StoveIssued();
  191. break;
  192. case "CancelStoveIssued"://取消下发
  193. CancelStoveIssued();
  194. break;
  195. case "OnloadLine"://设置上料行
  196. OnloadLine();
  197. break;
  198. case "StoveSpit"://拆分炉计划
  199. StoveSpit();
  200. break;
  201. case "Decision"://修改判定字头
  202. DoDecision();
  203. break;
  204. case "UpdatePass"://修改孔型
  205. UpdatePass();
  206. break;
  207. case "UpdateBatch"://修改作业批次号
  208. UpdateBatch();
  209. break;
  210. case "Export": //导出
  211. GridHelper.ulGridToExcel(ultraGridDbks, "镦拔扩排产信息");
  212. break;
  213. case "ModifyProcess"://手动获取工艺
  214. DoModifyProcess();
  215. break;
  216. case "AgainProcess"://重新获取工艺
  217. doAgainProcess();
  218. break;
  219. case "SortOrderDbk":
  220. sortOrderDbk();
  221. break;
  222. case "Print":
  223. printData();
  224. break;
  225. case "Notice":
  226. tabNotice();
  227. break;
  228. case "UpdateOrderTeam"://修改是否协同
  229. UpdateOrderTeam();
  230. break;
  231. default:
  232. break;
  233. }
  234. }
  235. private void UpdateOrderTeam()
  236. {
  237. this.ultraGridDbks.UpdateData();
  238. IQueryable<UltraGridRow> checkMagRows = this.ultraGridDbks.Rows.AsQueryable().Where(" CHC = 'True'");
  239. if (checkMagRows.Count() == 0)
  240. {
  241. MessageUtil.ShowTips("请选择需要操作的数据信息!");
  242. return;
  243. }
  244. ArrayList parmList = new ArrayList();
  245. foreach (UltraGridRow row in checkMagRows)
  246. {
  247. PlnOrderDbkSOEntity plnOrderDbksTity = (PlnOrderDbkSOEntity)row.ListObject;
  248. string plnOrderDbksEntity = JSONFormat.Format(plnOrderDbksTity);
  249. parmList.Add(plnOrderDbksEntity);
  250. }
  251. CoreClientParam ccp = new CoreClientParam();
  252. ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
  253. ccp.MethodName = "UpdateOrderTeam";
  254. ccp.ServerParams = new object[] { parmList, "E" };
  255. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  256. if (ccp.ReturnCode != -1)
  257. {
  258. if (ccp.ReturnInfo.Equals("修改成功!"))
  259. {
  260. Query();
  261. MessageUtil.ShowTips(ccp.ReturnInfo);
  262. }
  263. else
  264. {
  265. MessageUtil.ShowTips(ccp.ReturnInfo);
  266. }
  267. }
  268. }
  269. /// <summary>
  270. /// 重新排序订单
  271. /// </summary>
  272. private void sortOrderDbk()
  273. {
  274. string plineCode = "";
  275. plineCode = comPline.Value == null ? "" : comPline.Value.ToString();
  276. if (plineCode.Equals(""))
  277. {
  278. MessageUtil.ShowTips("请选择产线!");
  279. return;
  280. }
  281. CoreClientParam ccp = new CoreClientParam();
  282. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
  283. ccp.MethodName = "sortOrderDbk";
  284. ccp.ServerParams = new object[] { plineCode };
  285. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  286. if (ccp.ReturnCode != -1)
  287. {
  288. if (ccp.ReturnInfo.Equals("重新排序成功!"))
  289. {
  290. Query();
  291. MessageUtil.ShowTips(ccp.ReturnInfo);
  292. }
  293. else
  294. {
  295. MessageUtil.ShowTips(ccp.ReturnInfo);
  296. }
  297. }
  298. }
  299. private void tabNotice()
  300. {
  301. this.ultraGridDbks.UpdateData();
  302. IQueryable<UltraGridRow> checkMagRows = this.ultraGridDbks.Rows.AsQueryable().Where(" CHC = 'True'");
  303. if (checkMagRows.Count() == 0)
  304. {
  305. MessageUtil.ShowTips("请选择需要操作的监制信息!");
  306. return;
  307. }
  308. ArrayList parmList = new ArrayList();
  309. foreach (UltraGridRow row in checkMagRows)
  310. {
  311. PlnOrderDbkSOEntity plnOrderZgsTity = (PlnOrderDbkSOEntity)row.ListObject;
  312. string plnOrderZgsEntity = JSONFormat.Format(plnOrderZgsTity);
  313. parmList.Add(plnOrderZgsEntity);
  314. }
  315. CoreClientParam ccp = new CoreClientParam();
  316. ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
  317. ccp.MethodName = "tabNotice";
  318. ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName(), "E" };
  319. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  320. if (ccp.ReturnCode != -1)
  321. {
  322. if (ccp.ReturnInfo.Equals("标识监制成功!"))
  323. {
  324. Query();
  325. MessageUtil.ShowTips(ccp.ReturnInfo);
  326. }
  327. else
  328. {
  329. MessageUtil.ShowTips(ccp.ReturnInfo);
  330. }
  331. }
  332. }
  333. /// <summary>
  334. /// 打印检验要点
  335. /// </summary>
  336. private void printData()
  337. {
  338. UltraGridRow row = ultraGridDbks.ActiveRow;
  339. if (row == null) return;
  340. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilTestKey2.cpt&PROCESS_CODE=E&ORDER_NO=" + row.Cells["OrderNo"].Value.ToString();
  341. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  342. fBug.AutoSize = true;
  343. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  344. fBug.Text = "检验要点打印";
  345. fBug.ShowDialog();
  346. }
  347. private void chcPline_CheckedChanged(object sender, EventArgs e)
  348. {
  349. if (chcPline.Checked) { comPline.ReadOnly = false; } else { comPline.ReadOnly = true; }
  350. if (chcProPlanId.Checked) { txtProPlanId.ReadOnly = false; } else { txtProPlanId.ReadOnly = true; }
  351. if (chcOrderNo.Checked) { txtOrderNo.ReadOnly = false; } else { txtOrderNo.ReadOnly = true; }
  352. if (chcPlanTimeB.Checked) { txtPlanTimeB1.ReadOnly = false; txtPlanTimeB2.ReadOnly = false; } else { txtPlanTimeB1.ReadOnly = true; txtPlanTimeB2.ReadOnly = true; }
  353. if (chcPlanTimeE.Checked) { txtPlanTimeE1.ReadOnly = false; txtPlanTimeE2.ReadOnly = false; } else { txtPlanTimeE1.ReadOnly = true; txtPlanTimeE2.ReadOnly = true; }
  354. }
  355. /// <summary>
  356. /// 查询
  357. /// </summary>
  358. void Query()
  359. {
  360. string plineCode = "";//产线
  361. if (chcPline.Checked && comPline.Value != null) { plineCode = comPline.Value.ToString(); }
  362. if (!CustomInfo.Equals("0") && plineCode.Equals(""))
  363. {
  364. MessageUtil.ShowTips("请选择产线!");
  365. return;
  366. }
  367. WaitingForm2 wf3 = new WaitingForm2("正在刷新,请稍候....");
  368. try
  369. {
  370. this.Cursor = Cursors.WaitCursor;
  371. string[] statusArray = contorlPlanStatus1.statusArr;
  372. string orderNo = "";//合同号
  373. if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
  374. string proPlanId = ""; //订单编号
  375. if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
  376. string planTimeB1 = "";
  377. string planTimeB2 = "";
  378. if (chcPlanTimeB.Checked && txtPlanTimeB2.Value != null && txtPlanTimeB1.Value != null)
  379. {
  380. planTimeB1 = DateTime.Parse(txtPlanTimeB1.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
  381. planTimeB2 = DateTime.Parse(txtPlanTimeB2.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
  382. }
  383. string planTimeE1 = "";
  384. string planTimeE2 = "";
  385. if (chcPlanTimeE.Checked && txtPlanTimeE2.Value != null && txtPlanTimeE1.Value != null)
  386. {
  387. planTimeE1 = DateTime.Parse(txtPlanTimeE1.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
  388. planTimeE2 = DateTime.Parse(txtPlanTimeE2.Value.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
  389. }
  390. string flag = "";//查询下发 的标识
  391. if (CustomInfo.Equals("2")) { flag = "1"; }
  392. List<PlnOrderDbkSOEntity> listSource = EntityHelper.GetData<PlnOrderDbkSOEntity>
  393. ("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlanOrderE",
  394. new object[] { plineCode, orderNo, proPlanId, statusArray, plinePower, flag, planTimeB1, planTimeB2, planTimeE1, planTimeE2 }, this.ob);
  395. plnOrderDbkSOEntityBindingSource.DataSource = listSource;
  396. dtPlinGroup = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.queryPlinCodeGroup", null, this.ob);
  397. if (listSource == null || listSource.Count == 0)
  398. {
  399. //plnZyDbkMEntityBindingSource.Clear();
  400. plnZyDbkReadyEntityBindingSource.Clear();
  401. }
  402. foreach (UltraGridRow ugr in ultraGridDbks.Rows)
  403. {
  404. string str = ugr.Cells["PreInfo"].Text.Trim();
  405. if (str != null && str != "")
  406. {
  407. string[] sArray = str.Split(new char[3] { '天', ',', '条' });
  408. //ugr.Cells["TimeDiffer"].Value = sArray[0];
  409. ugr.Cells["BefProLin"].Value = sArray[2];
  410. ugr.Cells["BefProNum"].Value = sArray[3];
  411. }
  412. string strH = ugr.Cells["AfInfo"].Text.Trim();
  413. if (strH != null && strH != "")
  414. {
  415. string[] sArray = strH.Split(new char[3] { '天', ',', '条' });
  416. string plineCodeH = sArray[2];
  417. if (dtPlinGroup.Rows.Count > 0)
  418. {
  419. //for (int i = 0; i < dtPlinGroup.Rows.Count; i++)
  420. //{
  421. string plinGroup = dtPlinGroup.Rows[0]["PLINE_NAME_M"].ToString() + "/" + dtPlinGroup.Rows[0]["PLINE_NAME_C"].ToString();
  422. DataRow[] dr = dtPlinGroup.Select("PLINE_NAME_M='" + ugr.Cells["PlineCode"].Text.ToString() + "' AND PLINE_NAME_C ='" + plineCodeH + "'", "");
  423. if (dr == null || dr.Length == 0) { }
  424. else
  425. {
  426. //DataTable tmp = dr.Table.Clone(); // 复制DataRow的表结构
  427. //if (tmp.Rows.Count > 0)
  428. //{
  429. ugr.Cells["StockGroupName"].Value = dr[0]["STOCK_GROUP_NAME"].ToString();
  430. //}
  431. }
  432. }
  433. }
  434. //ProducHelper.copyLZData(ultraGridDbks,"E",this.ob);
  435. if ((!_ProPlanId.Equals("") && !_GxPlanNo.Equals("")) || _EntityList != null)
  436. //foreach (UltraGridRow ugr in ultraGridDbks.Rows)
  437. //{
  438. if (!_ProPlanId.Equals("") && !_GxPlanNo.Equals(""))
  439. {
  440. if (ugr.Cells["ProPlanId"].Text.Trim().Equals(_ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(_GxPlanNo))
  441. {
  442. ugr.Activate();
  443. break;
  444. }
  445. }
  446. if (_EntityList != null)
  447. {
  448. for (int i = 0; i < _EntityList.Count; i++)
  449. {
  450. PlnOrderDbkSEntity entity = (PlnOrderDbkSEntity)_EntityList[i];
  451. if (ugr.Cells["ProPlanId"].Text.Trim().Equals(entity.ProPlanId) && ugr.Cells["GxPlanNo"].Text.Trim().Equals(entity.GxPlanNo))
  452. {
  453. ugr.Appearance.BackColor = Color.Wheat;
  454. ugr.Activate();
  455. }
  456. }
  457. }
  458. if (ugr.Cells["IsNoticeEp"].Text.Equals("已通知"))
  459. {
  460. ugr.Cells["IsNoticeEp"].Appearance.BackColor = Color.GreenYellow;
  461. ugr.Activate();
  462. }
  463. }
  464. _ProPlanId = "";
  465. _GxPlanNo = "";
  466. _EntityList = null;
  467. if (comPline.Value != null)
  468. {
  469. _PlineCode = comPline.Value.ToString();
  470. }
  471. }
  472. finally
  473. {
  474. wf3.Close();
  475. this.Cursor = Cursors.Default;
  476. }
  477. }
  478. /// <summary>
  479. /// 拆分
  480. /// </summary>
  481. void Spit()
  482. {
  483. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  484. bool flag = ProducHelper.SpitPlanOrder(list, "E", this.ob);
  485. if (flag)
  486. {
  487. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  488. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  489. Query();
  490. }
  491. }
  492. /// <summary>
  493. /// 合并
  494. /// </summary>
  495. void Merge()
  496. {
  497. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  498. bool flag = ProducHelper.MergePlanOrder(list, "E", this.ob);
  499. if (flag)
  500. {
  501. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  502. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  503. Query();
  504. }
  505. }
  506. /// <summary>
  507. /// 时间调整
  508. /// </summary>
  509. void TimeChange()
  510. {
  511. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  512. bool flag = ProducHelper.TimeChange(list, "E", this.ob);
  513. if (flag)
  514. {
  515. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  516. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  517. Query();
  518. }
  519. }
  520. /// <summary>
  521. ///状态调整
  522. /// </summary>
  523. void StatusChange()
  524. {
  525. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  526. bool flag = ProducHelper.StatusChange(list, "E", this.ob);
  527. if (flag)
  528. {
  529. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  530. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  531. Query();
  532. }
  533. }
  534. /// <summary>
  535. /// 检修计划
  536. /// </summary>
  537. void AddRepairPlan()
  538. {
  539. if (comPline.Value == null || comPline.Value.ToString().Equals(""))
  540. {
  541. MessageUtil.ShowTips("请选择产线!");
  542. return;
  543. }
  544. FrmJxjh frmJxjh = new FrmJxjh(this.ob, comPline.Value.ToString(), "E");
  545. frmJxjh.ShowDialog();
  546. Query();
  547. }
  548. /// <summary>
  549. /// 初始化
  550. /// </summary>
  551. void InitData()
  552. {
  553. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  554. bool flag = ProducHelper.InitData(list, "E", this.ob);
  555. if (flag)
  556. {
  557. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  558. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  559. Query();
  560. }
  561. }
  562. /// <summary>
  563. /// 产线能力维护
  564. /// </summary>
  565. void Capacity()
  566. {
  567. UltraGridRow ugr = ultraGridDbks.ActiveRow;
  568. if (ugr == null)
  569. {
  570. return;
  571. }
  572. if (ugr.Cells["IsRepairPln"].Text.Equals("Y"))
  573. {
  574. return;
  575. }
  576. FrmBaseMaterialEPl frmBaseMaterialEPl = new FrmBaseMaterialEPl(ugr.Cells["InwlId"].Text, ugr.Cells["OutwlId"].Text, ugr.Cells["PlineCode"].Value.ToString(), this.ob);
  577. frmBaseMaterialEPl.ShowDialog();
  578. }
  579. private void ultraGridDbks_InitializeRow(object sender, InitializeRowEventArgs e)
  580. {
  581. PlanHelper.ControlCellEdit(e.Row);
  582. }
  583. private void ultraGridDbks_MouseDown(object sender, MouseEventArgs e)
  584. {
  585. //查询界面,不能排序
  586. if (CustomInfo.Equals("0"))
  587. { return; }
  588. try
  589. { ultraGridDbks.UpdateData(); }
  590. catch (Exception)
  591. {
  592. MessageUtil.ShowWarning("数据异常,请刷新数据!"); return;
  593. }
  594. if (e.Button == MouseButtons.Right)
  595. {
  596. //移动行
  597. ArrayList entityList = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  598. if (entityList == null || entityList.Count == 0)
  599. {
  600. return;
  601. }
  602. //定位行
  603. UIElement myUIElement = ultraGridDbks.DisplayLayout.UIElement.ElementFromPoint(new Point(e.X, e.Y));
  604. UltraGridCell myCell = (UltraGridCell)myUIElement.GetContext(typeof(UltraGridCell));
  605. if (myCell == null) { return; }
  606. UltraGridRow ugr = myCell.Row;
  607. if (ugr == null) { return; }
  608. PlnOrderDbkSEntity entityD = (PlnOrderDbkSEntity)ugr.ListObject;
  609. bool flag = ProducHelper.SortPlanOrder(entityList, entityD, "E",CustomInfo, this.ob);
  610. if (flag)
  611. {
  612. _EntityList = entityList;
  613. Query();
  614. }
  615. }
  616. }
  617. private void ultraGridDbks_AfterRowActivate(object sender, EventArgs e)
  618. {
  619. UltraGridRow ugrAc = ultraGridDbks.ActiveRow;
  620. if (ugrAc == null)
  621. {
  622. return;
  623. }
  624. foreach (UltraGridRow ugr in ultraGridDbks.Rows)
  625. {
  626. if (ugr.Cells["ProPlanId"].Text.Equals(ugrAc.Cells["ProPlanId"].Text))
  627. {
  628. ugr.RowSelectorAppearance.BackColor = Color.LightGreen;
  629. }
  630. else
  631. {
  632. ugr.RowSelectorAppearance.BackColor = _color;
  633. }
  634. if (ugr.Cells["PlanUsetime"].Value == null || ugr.Cells["PlanUsetime"].Value.ToString().Equals("") || Convert.ToDouble(ugr.Cells["PlanUsetime"].Value.ToString()) <= 0)
  635. {
  636. ugr.Cells["PlanUsetime"].Appearance.BackColor = Color.MistyRose;
  637. }
  638. if (ugr.Cells["ExeStatus"].Value.ToString().Equals("生产中"))
  639. {
  640. ugr.Cells["PlanTimeB"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
  641. }
  642. if (ugr.Cells["IsRepairPln"].Text.Equals("Y"))
  643. {
  644. ugr.Cells["PlanUsetime"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
  645. ugr.Cells["RepairType"].Appearance.BackColor = System.Drawing.Color.FromArgb(255, 255, 128);
  646. }
  647. }
  648. proPlanId = ugrAc.Cells["ProPlanId"].Text;
  649. gxPlanNo = ugrAc.Cells["GxPlanNo"].Text;
  650. if (CustomInfo == "1")
  651. {
  652. QueryZyReadyE(proPlanId, gxPlanNo);
  653. }
  654. }
  655. /// <summary>
  656. /// 查询镦拔扩虚拟炉计划
  657. /// </summary>
  658. /// <param name="proPlanId"></param>
  659. /// <param name="gxPlanNo"></param>
  660. private void QueryZyReadyE(string proPlanId, string gxPlanNo)
  661. {
  662. List<Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity> listSource = EntityHelper.GetData<Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity>
  663. ("com.steering.pss.plnsaleord.planStove.FrmPlanStoveE.queryPlanStovePlanId", new object[] { proPlanId, gxPlanNo }, this.ob);
  664. plnZyDbkReadyEntityBindingSource.DataSource = listSource;
  665. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  666. {
  667. //没有实际炉计划,主炉计划变颜色
  668. if (ugr.Cells["HeatPlanSqe"].Value.ToString().Equals(""))
  669. {
  670. //ugr.RowSelectorAppearance.BackColor = Color.GreenYellow;
  671. ugr.Appearance.BackColor = Color.Orange;
  672. }
  673. if (!string.IsNullOrEmpty(ugr.Cells["ApplyDesc"].Value.ToString2()))
  674. {
  675. ugr.Appearance.BackColor = Color.Red;
  676. }
  677. }
  678. }
  679. private void ultraGridDbks_CellChange(object sender, CellEventArgs e)
  680. {
  681. try
  682. {
  683. ultraGridDbks.UpdateData();
  684. if (e.Cell.Column.Key.Equals("PlineCode"))
  685. {
  686. IQueryable<UltraGridRow> chcRows = ultraGridDbks.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
  687. if (CustomInfo.Equals("0"))
  688. {
  689. e.Cell.Row.Cells["PlineName"].Value = e.Cell.Text;
  690. }
  691. else
  692. {
  693. if (chcRows != null && chcRows.Count() > 0)
  694. {
  695. foreach (UltraGridRow ugr in chcRows)
  696. {
  697. ugr.Cells["PlineCode"].Value = e.Cell.Value.ToString();
  698. ugr.Cells["PlineName"].Value = e.Cell.Text;
  699. }
  700. }
  701. }
  702. }
  703. }
  704. catch (Exception)
  705. {
  706. }
  707. }
  708. /// <summary>
  709. /// 产线调整
  710. /// </summary>
  711. private void PlineChange()
  712. {
  713. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  714. bool flag = ProducHelper.PlineChange(list, "E", this.ob);
  715. if (flag)
  716. {
  717. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  718. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  719. Query();
  720. }
  721. }
  722. private void ultraGridDbks_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  723. {
  724. foreach (UltraGridRow uRow in ultraGridDbks.Selected.Rows)
  725. {
  726. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  727. {
  728. uRow.Cells["CHC"].Value = true;
  729. }
  730. }
  731. }
  732. /// <summary>
  733. /// 删除检修计划
  734. /// </summary>
  735. public void DeleteRepairPlan()
  736. {
  737. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  738. bool flag = ProducHelper.DeleteRepairPlan(list, "E", this.ob);
  739. if (flag)
  740. {
  741. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  742. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  743. Query();
  744. }
  745. }
  746. /// <summary>
  747. /// 确认(取消)
  748. /// </summary>
  749. private void Issued(string isFlag)
  750. {
  751. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  752. bool flag = ProducHelper.issuedPlanOrder(list, UserInfo.GetUserName(), isFlag, "E", this.ob);
  753. if (flag)
  754. {
  755. _ProPlanId = ((PlnOrderDbkSEntity)list[0]).ProPlanId;
  756. _GxPlanNo = ((PlnOrderDbkSEntity)list[0]).GxPlanNo;
  757. Query();
  758. }
  759. }
  760. private void ultraGridDbks_ClickCellButton(object sender, CellEventArgs e)
  761. {
  762. UltraGridRow row = ultraGridDbks.ActiveRow;
  763. if (e.Cell.Column.Key.Equals("CraftFileNo"))
  764. {
  765. string filePath = row.GetValue("CraftPath");
  766. dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
  767. askDown.Show();
  768. }
  769. else if (e.Cell.Column.Key.Equals("CraftFileLv2G"))
  770. {
  771. string craftFileLv2G = row.GetValue("CraftFileLv2G");
  772. dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, craftFileLv2G);
  773. askDown.Show();
  774. }
  775. else if (e.Cell.Column.Key.Equals("Liku"))
  776. {
  777. if (CustomInfo.Equals("2")) { return; }
  778. string exeStatus = e.Cell.Row.Cells["ExeStatus"].Text.Trim();
  779. if (!exeStatus.Equals("计划") && !exeStatus.Equals("生产中"))
  780. {
  781. MessageUtil.ShowWarning("不是计划、生产中订单,不能利库!");
  782. return;
  783. }
  784. if (e.Cell.Row.Cells["IsRepairPln"].Text.Equals("Y"))
  785. {
  786. MessageUtil.ShowWarning("检修计划,不能利库!");
  787. return;
  788. }
  789. string materialNo = e.Cell.Row.Cells["InwlId"].Text.Trim();//投入物料
  790. string plineCode = e.Cell.Row.Cells["PlineCode"].Text.Trim();//产线
  791. string proPlanId = e.Cell.Row.Cells["ProPlanId"].Text.Trim();//订单编号
  792. string gxPlanNo = e.Cell.Row.Cells["GxPlanNo"].Text.Trim();//排产序号
  793. Core.StlMes.Client.PlnSaleOrd.炉计划.FrmMaterialChoose frmMaterialChoose = new Core.StlMes.Client.PlnSaleOrd.炉计划.FrmMaterialChoose(materialNo, "E", proPlanId, gxPlanNo, UserInfo.GetUserName(), this.ob);
  794. frmMaterialChoose.ShowDialog();
  795. Query();
  796. }
  797. if (e.Cell.Column.Key.Equals("PreInfo"))
  798. {
  799. string proPlanId = row.GetValue("ProPlanId");
  800. string preInfo = row.GetValue("PreInfo");
  801. if (preInfo == null || preInfo.Length == 0) { return; }
  802. FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "E", "Pr", this.ob);
  803. frmPreGxInfo.ShowDialog();
  804. }
  805. if (e.Cell.Column.Key.Equals("AfInfo"))
  806. {
  807. string proPlanId = row.GetValue("ProPlanId");
  808. string afInfo = row.GetValue("AfInfo");
  809. if (afInfo == null || afInfo.Length == 0) { return; }
  810. FrmPreGxInfo frmPreGxInfo = new FrmPreGxInfo(proPlanId, "E", "Af", this.ob);
  811. frmPreGxInfo.ShowDialog();
  812. }
  813. }
  814. /// <summary>
  815. /// 初始化列状态
  816. /// </summary>
  817. private void InitColorStyle()
  818. {
  819. ultraGridDbks.DisplayLayout.Bands[0].Columns["Liku"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button;
  820. ultraGridDbks.DisplayLayout.Bands[0].Columns["PlanTimeB"].Format = "yyyy-MM-dd HH:mm:ss";
  821. ultraGridDbks.DisplayLayout.Bands[0].Columns["PlanTimeB"].MaskInput = "yyyy-mm-dd hh:mm:ss";
  822. ultraGridDbks.DisplayLayout.Bands[0].Columns["PlanTimeB"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DateTime;
  823. ultraGridDbks.DisplayLayout.Bands[0].Columns["CraftFileLv2G"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  824. ultraGridDbks.DisplayLayout.Bands[0].Columns["CraftFileNo"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  825. }
  826. /// <summary>
  827. /// 下发
  828. /// </summary>
  829. private void StoveIssued()
  830. {
  831. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  832. if (list == null || list.Count == 0)
  833. {
  834. MessageUtil.ShowWarning("请选择订单!");
  835. return;
  836. }
  837. ArrayList jsonList = new ArrayList();
  838. string porderstatus = "";//合同状态
  839. foreach (PlnOrderDbkSEntity entity in list)
  840. {
  841. jsonList.Add(JSONFormat.Format(entity));
  842. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.doQueryPorderstatus", new object[] { entity.OrdLnDlyPk.ToString() }, ob);
  843. if (dt.Rows.Count > 0)
  844. {
  845. porderstatus = dt.Rows[0]["PORDERSTATUS"].ToString();
  846. }
  847. if (porderstatus.Equals("4") || porderstatus.Equals("5"))
  848. {
  849. MessageUtil.ShowTips("该合同已生产完成或关闭,请联系销售!");
  850. return;
  851. }
  852. }
  853. if (MessageUtil.ShowYesNoAndQuestion("是否炉计划下发?") == DialogResult.No)
  854. {
  855. return;
  856. }
  857. string[] param = PlanHelper.SetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.stoveIssued", new object[] { jsonList, UserInfo.GetUserName(), "E" }, ob);
  858. if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); }
  859. else
  860. {
  861. MessageUtil.ShowTips(param[1]);
  862. if ((bool.Parse(param[0]))) { Query(); }
  863. }
  864. }
  865. /// <summary>
  866. /// 取消下发
  867. /// </summary>
  868. private void CancelStoveIssued()
  869. {
  870. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  871. if (list == null || list.Count == 0)
  872. {
  873. MessageUtil.ShowWarning("请选择订单!");
  874. return;
  875. }
  876. ArrayList jsonList = new ArrayList();
  877. foreach (PlnOrderDbkSEntity entity in list)
  878. {
  879. jsonList.Add(JSONFormat.Format(entity));
  880. }
  881. if (MessageUtil.ShowYesNoAndQuestion("是否取消下发?") == DialogResult.No)
  882. {
  883. return;
  884. }
  885. string[] param = PlanHelper.SetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.cancelStoveIssued", new object[] { jsonList, UserInfo.GetUserName(), "E" }, ob);
  886. if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); }
  887. else
  888. {
  889. MessageUtil.ShowTips(param[1]);
  890. if ((bool.Parse(param[0]))) { Query(); }
  891. }
  892. }
  893. /// <summary>
  894. /// 修改判定字头
  895. /// </summary>
  896. private void DoDecision()
  897. {
  898. ultraGridDbks.UpdateData();
  899. IQueryable<UltraGridRow> chcRows = ultraGridDbks.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
  900. if (chcRows == null || chcRows.Count() == 0)
  901. {
  902. MessageUtil.ShowTips("请选择订单!");
  903. return;
  904. }
  905. ArrayList jsonList = new ArrayList();
  906. foreach (UltraGridRow ugr in chcRows)
  907. {
  908. ArrayList list = new ArrayList();
  909. if (!ugr.Cells["ExeStatus"].Text.ToString().Equals("计划"))
  910. {
  911. MessageUtil.ShowTips("选择的订单不是计划状态的不能修改!");
  912. return;
  913. }
  914. list.Add(ugr.Cells["ProPlanId"].Text.ToString());
  915. list.Add(ugr.Cells["GxPlanNo"].Text.ToString());
  916. list.Add(ugr.Cells["Decision"].Text.ToString());
  917. jsonList.Add(list);
  918. }
  919. if (MessageUtil.ShowYesNoAndQuestion("是否判定字头修改?") == DialogResult.No)
  920. {
  921. return;
  922. }
  923. PlanComm.WaitFromOpen(this.Cursor);
  924. CoreClientParam ccp = new CoreClientParam();
  925. ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
  926. ccp.MethodName = "doDecision";
  927. ccp.ServerParams = new object[] { jsonList,"E" };
  928. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  929. PlanComm.WaitFromColse(this.Cursor);
  930. if (ccp.ReturnCode == -1) return;
  931. MessageUtil.ShowTips(ccp.ReturnInfo);
  932. if (ccp.ReturnInfo.Equals("修改成功!"))
  933. {
  934. Query();
  935. }
  936. }
  937. /// <summary>
  938. /// 修改轧批号
  939. /// </summary>
  940. private void UpdateBatch()
  941. {
  942. ArrayList messageErr = new ArrayList();
  943. ultraGridDbks.UpdateData();
  944. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  945. if (list == null || list.Count == 0)
  946. {
  947. MessageUtil.ShowTips("请选择订单!");
  948. return;
  949. }
  950. ArrayList jsonList = new ArrayList();
  951. foreach (PlnOrderDbkSEntity entity in list)
  952. {
  953. entity.ZyBatchId.ToString();
  954. jsonList.Add(JSONFormat.Format(entity));
  955. }
  956. if (MessageUtil.ShowYesNoAndQuestion("是否作业批次号修改?") == DialogResult.No)
  957. {
  958. return;
  959. }
  960. PlanComm.WaitFromOpen(this.Cursor);
  961. CoreClientParam ccp = new CoreClientParam();
  962. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  963. ccp.MethodName = "updateBatch";
  964. ccp.ServerParams = new object[] { jsonList };
  965. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  966. PlanComm.WaitFromColse(this.Cursor);
  967. if (ccp.ReturnCode == -1) return;
  968. MessageUtil.ShowTips(ccp.ReturnInfo);
  969. if (ccp.ReturnInfo.Equals("修改成功!"))
  970. {
  971. Query();
  972. }
  973. }
  974. /// <summary>
  975. /// 修改孔型
  976. /// </summary>
  977. private void UpdatePass()
  978. {
  979. ultraGridDbks.UpdateData();
  980. IQueryable<UltraGridRow> chcRows = ultraGridDbks.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True");
  981. if (chcRows == null || chcRows.Count() == 0)
  982. {
  983. MessageUtil.ShowTips("请选择订单!");
  984. return;
  985. }
  986. ArrayList jsonList = new ArrayList();
  987. foreach (UltraGridRow ugr in chcRows)
  988. {
  989. ArrayList list = new ArrayList();
  990. if (!ugr.Cells["ExeStatus"].Text.ToString().Equals("计划"))
  991. {
  992. MessageUtil.ShowTips("选择的订单不是计划状态的不能修改!");
  993. return;
  994. }
  995. string passCode = "";
  996. if (!ugr.Cells["PassCode"].Text.ToString().Equals(""))
  997. {
  998. passCode = ugr.Cells["PassCode"].Value.ToString();
  999. }
  1000. list.Add(ugr.Cells["ProPlanId"].Text.ToString());
  1001. list.Add(ugr.Cells["GxPlanNo"].Text.ToString());
  1002. list.Add(passCode);
  1003. list.Add(ugr.Cells["PassCode"].Text.ToString());
  1004. jsonList.Add(list);
  1005. }
  1006. if (MessageUtil.ShowYesNoAndQuestion("是否修改孔型?") == DialogResult.No)
  1007. {
  1008. return;
  1009. }
  1010. PlanComm.WaitFromOpen(this.Cursor);
  1011. CoreClientParam ccp = new CoreClientParam();
  1012. ccp.ServerName = "com.steering.pss.plnsaleord.processOrder.base.ProducHelper";
  1013. ccp.MethodName = "UpdatePass";
  1014. ccp.ServerParams = new object[] { jsonList };
  1015. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1016. PlanComm.WaitFromColse(this.Cursor);
  1017. if (ccp.ReturnCode == -1) return;
  1018. MessageUtil.ShowTips(ccp.ReturnInfo);
  1019. if (ccp.ReturnInfo.Equals("修改成功!"))
  1020. {
  1021. Query();
  1022. }
  1023. }
  1024. /// <summary>
  1025. /// 订单层重新获取工艺
  1026. /// </summary>
  1027. private void DoModifyProcess()
  1028. {
  1029. ArrayList messageErr = new ArrayList();
  1030. ultraGridDbks.UpdateData();
  1031. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  1032. if (list == null || list.Count == 0)
  1033. {
  1034. MessageUtil.ShowTips("请选择订单!");
  1035. return;
  1036. }
  1037. ArrayList jsonList = new ArrayList();
  1038. foreach (PlnOrderDbkSEntity entity in list)
  1039. {
  1040. jsonList.Add(JSONFormat.Format(entity));
  1041. }
  1042. if (MessageUtil.ShowYesNoAndQuestion("是否手动获取工艺?") == DialogResult.No)
  1043. {
  1044. return;
  1045. }
  1046. PlanComm.WaitFromOpen(this.Cursor);
  1047. CoreClientParam ccp = new CoreClientParam();
  1048. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
  1049. ccp.MethodName = "DoModifyProcess";
  1050. ccp.ServerParams = new object[] { jsonList, "E" };
  1051. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1052. PlanComm.WaitFromColse(this.Cursor);
  1053. if (ccp.ReturnCode == -1) return;
  1054. MessageUtil.ShowTips(ccp.ReturnInfo);
  1055. if (ccp.ReturnInfo.Equals("获取成功!"))
  1056. {
  1057. Query();
  1058. }
  1059. }
  1060. #region 未用到
  1061. /// <summary>
  1062. /// 设置上料行
  1063. /// </summary>
  1064. private void OnloadLine()
  1065. {
  1066. ArrayList list = ProducHelper.GetChcRows<PlnOrderDbkSEntity>(ultraGridDbks);
  1067. if (list == null || list.Count != 1)
  1068. {
  1069. MessageUtil.ShowWarning("请选择订单(只能选择一条记录)!");
  1070. return;
  1071. }
  1072. PlnOrderDbkSEntity entity = (PlnOrderDbkSEntity)list[0];
  1073. if (entity.IsOnloadLine.Equals("Y"))
  1074. {
  1075. MessageUtil.ShowWarning("已经是上料行!");
  1076. return;
  1077. }
  1078. if (!entity.IfStoveIssued.Equals("Y"))
  1079. {
  1080. MessageUtil.ShowWarning("订单未下发!");
  1081. return;
  1082. }
  1083. if (MessageUtil.ShowYesNoAndQuestion("是否设置上料行?") == DialogResult.No)
  1084. {
  1085. return;
  1086. }
  1087. string[] param = PlanHelper.SetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.setIfOnloadLine", new object[] { JSONFormat.Format(entity), "E" }, ob);
  1088. if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); }
  1089. else
  1090. {
  1091. MessageUtil.ShowTips(param[1]);
  1092. if ((bool.Parse(param[0]))) { Query(); }
  1093. }
  1094. }
  1095. /// <summary>
  1096. /// 虚拟炉计划拆分
  1097. /// </summary>
  1098. private void StoveSpit()
  1099. {
  1100. UltraGridRow ugr = ultraGridDbks.ActiveRow;
  1101. if (ugr == null)
  1102. {
  1103. return;
  1104. }
  1105. ultraGrid1.UpdateData();
  1106. if (ultraGrid1.Rows.Count <= 1)
  1107. {
  1108. MessageUtil.ShowWarning("只有唯一的虚拟炉计划,不能拆分!");
  1109. return;
  1110. }
  1111. ArrayList list = ProducHelper.GetChcRows<Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity>(ultraGrid1);
  1112. if (list==null||list.Count == 0)
  1113. {
  1114. MessageUtil.ShowWarning("请选择要拆分的虚拟炉计划!");
  1115. return;
  1116. }
  1117. if (list.Count == ultraGrid1.Rows.Count)
  1118. {
  1119. MessageUtil.ShowWarning("不能选择全部的虚拟炉计划!");
  1120. return;
  1121. }
  1122. ArrayList jsonlist = new ArrayList();
  1123. foreach (Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity entity in list)
  1124. {
  1125. jsonlist.Add(JSONFormat.Format(entity));
  1126. }
  1127. if (MessageUtil.ShowYesNoAndQuestion("是否拆分虚拟炉计划?") == DialogResult.No)
  1128. {
  1129. return;
  1130. }
  1131. string[] param = PlanHelper.SetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.stoveSpit", new object[] { jsonlist,UserInfo.GetUserName(), "E" }, ob);
  1132. if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); }
  1133. else
  1134. {
  1135. MessageUtil.ShowTips(param[1]);
  1136. if ((bool.Parse(param[0]))) { Query(); }
  1137. }
  1138. }
  1139. #endregion
  1140. #region 炉计划层操作
  1141. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  1142. {
  1143. switch (e.Tool.Key)
  1144. {
  1145. case "Update"://修改判定炉号,备注
  1146. doUpdate();
  1147. break;
  1148. case "Issued"://下发
  1149. Issuedlu("0");
  1150. break;
  1151. case "IssuedU"://撤销
  1152. Issuedlu("1");
  1153. break;
  1154. case "Delete"://删除炉计划
  1155. doDelete();
  1156. break;
  1157. case "DeleteStatr"://删除剩余炉计划
  1158. doDeleteStatr();
  1159. break;
  1160. case "BreakUp"://拆分
  1161. doBreakUp();
  1162. break;
  1163. case "Merge"://合并
  1164. doMerge();
  1165. break;
  1166. case "AgainProcess"://重新获取工艺
  1167. doAgainProcess();
  1168. break;
  1169. case "Print"://打印
  1170. doPrint();
  1171. break;
  1172. case "LuClose"://手动关闭炉计划
  1173. doLuClose();
  1174. break;
  1175. default:
  1176. break;
  1177. }
  1178. }
  1179. /// <summary>
  1180. /// 炉计划打印
  1181. /// </summary>
  1182. private void doPrint()
  1183. {
  1184. UltraGridRow row = ultraGrid1.ActiveRow;
  1185. if (row == null) return;
  1186. int countM = 0;
  1187. string judgeStoveNo = "";
  1188. string plineCode = "";
  1189. ArrayList list = new ArrayList();
  1190. foreach (UltraGridRow item in ultraGrid1.Rows)
  1191. {
  1192. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1193. {
  1194. countM++;
  1195. ArrayList list1 = new ArrayList();
  1196. if (item.Cells["Planstatus"].Text.ToString().Trim().Equals("计划"))
  1197. {
  1198. MessageUtil.ShowTips("选中该轧管炉计划状态是计划状态,不能打印!");
  1199. return;
  1200. }
  1201. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1202. //list1.Add(item.Cells["JudgeStoveNo"].Text.ToString().Trim());
  1203. //list1.Add(item.Cells["StoveNo"].Text.ToString().Trim());
  1204. list.Add(list1);
  1205. plineCode = item.Cells["PlineCode"].Text.ToString().Trim();
  1206. judgeStoveNo += "'" + item.Cells["JudgeStoveNo"].Text.ToString().Trim() + "',";
  1207. }
  1208. }
  1209. if (countM >0)
  1210. {
  1211. }
  1212. else
  1213. {
  1214. }
  1215. //if (MessageUtil.ShowYesNoAndQuestion("是否确认打印炉计划?") ==
  1216. //DialogResult.No)
  1217. // return;
  1218. if (judgeStoveNo.Equals("")) return;
  1219. judgeStoveNo = judgeStoveNo.Substring(1, judgeStoveNo.Length - 3);
  1220. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilZgPlan.cpt&op=view" + "&JUDGE_STOVE_NO=" + judgeStoveNo + "&PLINE_CODE=" + plineCode;
  1221. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  1222. fBug.AutoSize = true;
  1223. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  1224. fBug.Text = "镦拔扩炉计划打印";
  1225. fBug.ShowDialog();
  1226. }
  1227. /// <summary>
  1228. /// 单炉下发炉计划
  1229. /// </summary>
  1230. /// <param name="flag"></param>
  1231. private void Issuedlu(string flag)
  1232. {
  1233. UltraGridRow ugrAc = ultraGridDbks.ActiveRow;
  1234. if (ugrAc == null) return;
  1235. string zyBatchId = ugrAc.Cells["ZyBatchId"].Text.ToString().Trim();
  1236. UltraGridRow row = ultraGrid1.ActiveRow;
  1237. if (row == null) return;
  1238. int countM = 0;
  1239. int countC = 0;
  1240. ArrayList list = new ArrayList();
  1241. foreach (UltraGridRow item in ultraGrid1.Rows)
  1242. {
  1243. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1244. {
  1245. countM++;
  1246. ArrayList list1 = new ArrayList();
  1247. if (flag.Equals("0") && !item.Cells["Planstatus"].Text.ToString().Equals("计划"))
  1248. {
  1249. MessageUtil.ShowTips("选中该炉计划已下发,不能重复下发!");
  1250. return;
  1251. }
  1252. if (flag.Equals("1") && item.Cells["Planstatus"].Text.ToString().Equals("计划"))
  1253. {
  1254. MessageUtil.ShowTips("选中该炉计划不处于下发状态,不能撤销!");
  1255. return;
  1256. }
  1257. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1258. //list1.Add(item.Cells["ZyBatchId"].Text.ToString().Trim());
  1259. //list1.Add(item.Cells["StoveNo"].Text.ToString().Trim());
  1260. list.Add(list1);
  1261. }
  1262. }
  1263. //去重
  1264. for (int i = 0; i < list.Count; i++)
  1265. {
  1266. for (int j = i + 1; j < list.Count; j++)
  1267. {
  1268. if (list[i].Equals(list[j]))
  1269. {
  1270. list.RemoveAt(j);
  1271. if (i > 0)
  1272. {
  1273. i--;
  1274. }
  1275. }
  1276. }
  1277. }
  1278. if (countM == 0)
  1279. {
  1280. MessageUtil.ShowTips("请勾选炉计划信息!");
  1281. return;
  1282. }
  1283. ArrayList possList = new ArrayList();
  1284. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'");
  1285. var posslist = checkMagRows.Select(p => (Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity)p.ListObject).ToList();
  1286. var grouplist = posslist.GroupBy(p => p.HeatPlanNo);
  1287. grouplist.ToList().ForEach(p =>
  1288. {
  1289. Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity tmp = new Core.StlMes.Client.PlnSaleOrd.炉计划.Entity.PlnZyDbkReadyEntity();
  1290. tmp.HeatPlanNo = p.First().HeatPlanNo;
  1291. //tmp.PlineCode = p.First().PlineCode;
  1292. //tmp.ActCount = p.Sum(q => q.ActCount);
  1293. possList.Add(JSONFormat.Format(tmp));
  1294. });
  1295. if (MessageUtil.ShowYesNoAndQuestion((flag.Equals("0") ? "是否下发?" : "是否撤销下发?")) ==
  1296. DialogResult.No)
  1297. return;
  1298. PlanComm.WaitFromOpen(this.Cursor);
  1299. CoreClientParam ccp = new CoreClientParam();
  1300. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  1301. ccp.MethodName = "doFurnacePlan";
  1302. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), flag, proPlanId, gxPlanNo, possList };
  1303. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1304. PlanComm.WaitFromColse(this.Cursor);
  1305. if (ccp.ReturnCode == -1) return;
  1306. MessageUtil.ShowTips(ccp.ReturnInfo);
  1307. if (ccp.ReturnInfo.Equals(flag.Equals("0") ? "下发成功!" : "撤销成功!"))
  1308. {
  1309. QueryZyReadyE(proPlanId, gxPlanNo);
  1310. }
  1311. }
  1312. /// <summary>
  1313. /// 删除炉计划
  1314. /// </summary>
  1315. private void doDelete()
  1316. {
  1317. UltraGridRow row = ultraGrid1.ActiveRow;
  1318. if (row == null) return;
  1319. int countM = 0;
  1320. int countC = 0;
  1321. ArrayList list = new ArrayList();
  1322. foreach (UltraGridRow item in ultraGrid1.Rows)
  1323. {
  1324. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1325. {
  1326. countM++;
  1327. ArrayList list1 = new ArrayList();
  1328. if (!item.Cells["Planstatus"].Text.ToString().Equals("计划"))
  1329. {
  1330. MessageUtil.ShowTips("选中该炉计划不是计划状态,不能删除!");
  1331. return;
  1332. }
  1333. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1334. list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
  1335. list.Add(list1);
  1336. }
  1337. }
  1338. if (countM == 0)
  1339. {
  1340. MessageUtil.ShowTips("请勾选炉计划信息!");
  1341. return;
  1342. }
  1343. if (MessageUtil.ShowYesNoAndQuestion("是删除炉计划?") == DialogResult.No) return;
  1344. PlanComm.WaitFromOpen(this.Cursor);
  1345. CoreClientParam ccp = new CoreClientParam();
  1346. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  1347. ccp.MethodName = "doDeleteLu";
  1348. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  1349. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1350. PlanComm.WaitFromColse(this.Cursor);
  1351. if (ccp.ReturnCode == -1) ;
  1352. MessageUtil.ShowTips(ccp.ReturnInfo);
  1353. if (ccp.ReturnInfo.Equals("删除成功!"))
  1354. {
  1355. QueryZyReadyE(proPlanId, gxPlanNo);
  1356. }
  1357. }
  1358. /// <summary>
  1359. /// 修改判定炉号,备注
  1360. /// </summary>
  1361. private void doUpdate()
  1362. {
  1363. UltraGridRow row = ultraGrid1.ActiveRow;
  1364. if (row == null) return;
  1365. int countM = 0;
  1366. int countC = 0;
  1367. ArrayList list = new ArrayList();
  1368. foreach (UltraGridRow item in ultraGrid1.Rows)
  1369. {
  1370. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1371. {
  1372. countM++;
  1373. ArrayList list1 = new ArrayList();
  1374. if (!item.Cells["Planstatus"].Text.ToString().Equals("计划"))
  1375. {
  1376. MessageUtil.ShowTips("选中该炉计划不是计划状态,不能修改!");
  1377. return;
  1378. }
  1379. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1380. list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
  1381. list1.Add(item.Cells["JudgeStoveNo"].Text.ToString().Trim());
  1382. list1.Add(item.Cells["Memo"].Text.ToString().Trim());
  1383. list1.Add(item.Cells["ZyBatchId"].Text.ToString().Trim());
  1384. list1.Add(item.Cells["OutnumCut"].Text.ToString().Trim());
  1385. list.Add(list1);
  1386. }
  1387. }
  1388. if (countM == 0)
  1389. {
  1390. MessageUtil.ShowTips("请勾选炉计划信息!");
  1391. return;
  1392. }
  1393. if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) return;
  1394. PlanComm.WaitFromOpen(this.Cursor);
  1395. CoreClientParam ccp = new CoreClientParam();
  1396. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  1397. ccp.MethodName = "doUpdate";
  1398. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(),"E" };
  1399. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1400. PlanComm.WaitFromColse(this.Cursor);
  1401. if (ccp.ReturnCode == -1) ;
  1402. MessageUtil.ShowTips(ccp.ReturnInfo);
  1403. if (ccp.ReturnInfo.Equals("修改成功!"))
  1404. {
  1405. QueryZyReadyE(proPlanId, gxPlanNo);
  1406. }
  1407. }
  1408. /// <summary>
  1409. /// 删除剩余炉计划
  1410. /// </summary>
  1411. private void doDeleteStatr()
  1412. {
  1413. UltraGridRow row = ultraGrid1.ActiveRow;
  1414. if (row == null) return;
  1415. int countM = 0;
  1416. int countC = 0;
  1417. ArrayList list = new ArrayList();
  1418. foreach (UltraGridRow item in ultraGrid1.Rows)
  1419. {
  1420. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1421. {
  1422. countM++;
  1423. ArrayList list1 = new ArrayList();
  1424. if (item.Cells["Planstatus"].Text.ToString().Equals("计划") || item.Cells["Planstatus"].Text.ToString().Equals("下发"))
  1425. {
  1426. MessageUtil.ShowTips("选中该炉计划是计划/下发状态,不能删除!");
  1427. return;
  1428. }
  1429. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1430. list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
  1431. list.Add(list1);
  1432. }
  1433. }
  1434. if (countM == 0)
  1435. {
  1436. MessageUtil.ShowTips("请勾选炉计划信息!");
  1437. return;
  1438. }
  1439. if (MessageUtil.ShowYesNoAndQuestion("是否删除剩余炉计划?") == DialogResult.No) return;
  1440. PlanComm.WaitFromOpen(this.Cursor);
  1441. CoreClientParam ccp = new CoreClientParam();
  1442. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  1443. ccp.MethodName = "doDeleteStatr";
  1444. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(),"E" };
  1445. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1446. PlanComm.WaitFromColse(this.Cursor);
  1447. if (ccp.ReturnCode == -1) return;
  1448. MessageUtil.ShowTips(ccp.ReturnInfo);
  1449. if (ccp.ReturnInfo.Equals("删除成功!"))
  1450. {
  1451. QueryZyReadyE(proPlanId, gxPlanNo);
  1452. }
  1453. }
  1454. /// <summary>
  1455. /// 拆分
  1456. /// </summary>
  1457. private void doBreakUp()
  1458. {
  1459. UltraGridRow row = ultraGrid1.ActiveRow;
  1460. if (row == null) return;
  1461. int countM = 0;
  1462. ArrayList list = new ArrayList();
  1463. foreach (UltraGridRow item in ultraGrid1.Rows)
  1464. {
  1465. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1466. {
  1467. countM++;
  1468. ArrayList list1 = new ArrayList();
  1469. int reaNum = 0;//上料支
  1470. int plnNum = 0;//装炉支
  1471. if (!item.Cells["RealIndoubleNum"].Text.ToString().Equals(""))
  1472. {
  1473. reaNum = int.Parse(item.Cells["RealIndoubleNum"].Value.ToString());
  1474. }
  1475. if (!item.Cells["PlanIndoubleNum"].Text.ToString().Equals(""))
  1476. {
  1477. plnNum = int.Parse(item.Cells["PlanIndoubleNum"].Value.ToString());
  1478. }
  1479. if (item.Cells["Planstatus"].Text.ToString().Equals("计划") || item.Cells["Planstatus"].Text.ToString().Equals("下发"))
  1480. {
  1481. MessageUtil.ShowTips("选中炉计划是计划/下发状态,不能拆分!");
  1482. return;
  1483. }
  1484. if (reaNum == 0)
  1485. {
  1486. MessageUtil.ShowTips("选中的炉计划无上料支,不能拆分!");
  1487. return;
  1488. }
  1489. if (plnNum - reaNum <= 0)
  1490. {
  1491. MessageUtil.ShowTips("选中的炉计划已全部上料,不能拆分!");
  1492. return;
  1493. }
  1494. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1495. list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
  1496. list.Add(list1);
  1497. }
  1498. }
  1499. if (countM == 0)
  1500. {
  1501. MessageUtil.ShowTips("请勾选炉计划信息!");
  1502. return;
  1503. }
  1504. if (countM > 1)
  1505. {
  1506. MessageUtil.ShowWarning("不能一次性拆分多条炉计划!");
  1507. return;
  1508. }
  1509. if (MessageUtil.ShowYesNoAndQuestion("是否拆分?") == DialogResult.No) return;
  1510. PlanComm.WaitFromOpen(this.Cursor);
  1511. CoreClientParam ccp = new CoreClientParam();
  1512. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  1513. ccp.MethodName = "doBreakUp";
  1514. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), "E" };
  1515. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1516. PlanComm.WaitFromColse(this.Cursor);
  1517. if (ccp.ReturnCode == -1) return;
  1518. MessageUtil.ShowTips(ccp.ReturnInfo);
  1519. if (ccp.ReturnInfo.Equals("拆分成功!"))
  1520. {
  1521. QueryZyReadyE(proPlanId, gxPlanNo);
  1522. }
  1523. }
  1524. /// <summary>
  1525. /// 合并
  1526. /// </summary>
  1527. private void doMerge()
  1528. {
  1529. }
  1530. /// <summary>
  1531. /// 重新获取工艺
  1532. /// </summary>
  1533. private void doAgainProcess()
  1534. {
  1535. UltraGridRow row = ultraGrid1.ActiveRow;
  1536. if (row == null) return;
  1537. int countM = 0;
  1538. ArrayList list = new ArrayList();
  1539. foreach (UltraGridRow item in ultraGrid1.Rows)
  1540. {
  1541. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1542. {
  1543. countM++;
  1544. ArrayList list1 = new ArrayList();
  1545. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1546. list1.Add(item.Cells["HeatPlanSqe"].Text.ToString().Trim());
  1547. list.Add(list1);
  1548. }
  1549. }
  1550. if (countM == 0)
  1551. {
  1552. MessageUtil.ShowTips("请勾选炉计划信息!");
  1553. return;
  1554. }
  1555. if (MessageUtil.ShowYesNoAndQuestion("是否获取工艺?") == DialogResult.No) return;
  1556. PlanComm.WaitFromOpen(this.Cursor);
  1557. CoreClientParam ccp = new CoreClientParam();
  1558. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.StoveHelper";
  1559. ccp.MethodName = "doAgainProcess";
  1560. ccp.ServerParams = new object[] { list, proPlanId, gxPlanNo, "E" };
  1561. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1562. PlanComm.WaitFromColse(this.Cursor);
  1563. if (ccp.ReturnCode == -1) return;
  1564. MessageUtil.ShowTips(ccp.ReturnInfo);
  1565. if (ccp.ReturnInfo.Equals("获取成功!"))
  1566. {
  1567. QueryZyReadyE(proPlanId, gxPlanNo);
  1568. }
  1569. }
  1570. /// <summary>
  1571. /// 托选
  1572. /// </summary>
  1573. /// <param name="sender"></param>
  1574. /// <param name="e"></param>
  1575. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  1576. {
  1577. foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows)
  1578. {
  1579. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  1580. {
  1581. uRow.Cells["CHC"].Value = true;
  1582. }
  1583. }
  1584. }
  1585. private int splitterDistance = 0;
  1586. private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
  1587. {
  1588. if (ultraExpandableGroupBox1.Expanded == false)
  1589. {
  1590. this.splitContainer1.SplitterDistance = splitContainer1.Size.Height - 26;
  1591. }
  1592. else
  1593. {
  1594. this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance;
  1595. }
  1596. }
  1597. private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
  1598. {
  1599. StoveHelper.CustomMergedCellEvaluator merge = new StoveHelper.CustomMergedCellEvaluator("HeatPlanNo");
  1600. e.Layout.Bands[0].Columns["Memo"].MergedCellStyle = MergedCellStyle.Always;
  1601. e.Layout.Bands[0].Columns["Memo"].MergedCellEvaluator = merge;
  1602. e.Layout.Bands[0].Columns["FeedHeatNo"].MergedCellStyle = MergedCellStyle.Always;
  1603. e.Layout.Bands[0].Columns["FeedHeatNo"].MergedCellEvaluator = merge;
  1604. e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellStyle = MergedCellStyle.Always;
  1605. e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellEvaluator = merge;
  1606. e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellStyle = MergedCellStyle.Always;
  1607. e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellEvaluator = merge;
  1608. e.Layout.Bands[0].Columns["StoveNo"].MergedCellStyle = MergedCellStyle.Always;
  1609. e.Layout.Bands[0].Columns["StoveNo"].MergedCellEvaluator = merge;
  1610. e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellStyle = MergedCellStyle.Always;
  1611. e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellEvaluator = merge;
  1612. e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellStyle = MergedCellStyle.Always;
  1613. e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellEvaluator = merge;
  1614. e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellStyle = MergedCellStyle.Always;
  1615. e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellEvaluator = merge;
  1616. e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellStyle = MergedCellStyle.Always;
  1617. e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellEvaluator = merge;
  1618. e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellStyle = MergedCellStyle.Always;
  1619. e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellEvaluator = merge;
  1620. e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellStyle = MergedCellStyle.Always;
  1621. e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellEvaluator = merge;
  1622. e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellStyle = MergedCellStyle.Always;
  1623. e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellEvaluator = merge;
  1624. e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellStyle = MergedCellStyle.Always;
  1625. e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellEvaluator = merge;
  1626. e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellStyle = MergedCellStyle.Always;
  1627. e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellEvaluator = merge;
  1628. e.Layout.Bands[0].Columns["GxProSeq"].MergedCellStyle = MergedCellStyle.Always;
  1629. e.Layout.Bands[0].Columns["GxProSeq"].MergedCellEvaluator = merge;
  1630. e.Layout.Bands[0].Columns["Planstatus"].MergedCellStyle = MergedCellStyle.Always;
  1631. e.Layout.Bands[0].Columns["Planstatus"].MergedCellEvaluator = merge;
  1632. }
  1633. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  1634. {
  1635. UltraGridRow row = ultraGrid1.ActiveRow;
  1636. ultraGrid1.UpdateData();
  1637. //输入分切
  1638. if (e.Cell.Column.Key.Equals("OutnumCut"))
  1639. {
  1640. if (e.Cell.Row.Cells["OutnumCut"].Text == "")
  1641. {
  1642. row.Cells["OutnumCut"].Value = "1";
  1643. }
  1644. else
  1645. {
  1646. string actLen = e.Cell.Row.Cells["OutnumCut"].Text.ToString();
  1647. if (!StringUtil.IsInt(actLen) || actLen == "0")
  1648. {
  1649. row.Cells["OutnumCut"].Value = "1";
  1650. }
  1651. }
  1652. }
  1653. }
  1654. /// <summary>
  1655. /// 手动关闭炉计划
  1656. /// </summary>
  1657. private void doLuClose()
  1658. {
  1659. UltraGridRow row = ultraGrid1.ActiveRow;
  1660. if (row == null) return;
  1661. int countM = 0;
  1662. ArrayList list = new ArrayList();
  1663. string heatPlanNo = "";
  1664. foreach (UltraGridRow item in ultraGrid1.Rows)
  1665. {
  1666. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1667. {
  1668. countM++;
  1669. ArrayList list1 = new ArrayList();
  1670. if (item.Cells["Planstatus"].Text.ToString().Equals("关闭"))
  1671. {
  1672. MessageUtil.ShowTips("选中该炉计划是关闭状态,不能重复关闭!");
  1673. return;
  1674. }
  1675. if (!heatPlanNo.Equals(item.Cells["HeatPlanNo"].Text.ToString()))
  1676. {
  1677. heatPlanNo = item.Cells["HeatPlanNo"].Text.ToString().Trim();
  1678. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1679. list.Add(list1);
  1680. }
  1681. }
  1682. }
  1683. if (countM == 0)
  1684. {
  1685. MessageUtil.ShowTips("请勾选炉计划信息!");
  1686. return;
  1687. }
  1688. if (MessageUtil.ShowYesNoAndQuestion("是否关闭炉计划?") == DialogResult.No) return;
  1689. PlanComm.WaitFromOpen(this.Cursor);
  1690. CoreClientParam ccp = new CoreClientParam();
  1691. ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveE";
  1692. ccp.MethodName = "doLuClose";
  1693. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  1694. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1695. PlanComm.WaitFromColse(this.Cursor);
  1696. if (ccp.ReturnCode == -1) return;
  1697. MessageUtil.ShowTips(ccp.ReturnInfo);
  1698. if (ccp.ReturnInfo.Equals("关闭成功!"))
  1699. {
  1700. QueryZyReadyE(proPlanId, gxPlanNo);
  1701. }
  1702. }
  1703. #endregion
  1704. private void cmbPro_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1705. {
  1706. this.ultraGridDbks.UpdateData();
  1707. UltraGridRow row = this.ultraGridDbks.ActiveRow;
  1708. if (row == null)
  1709. {
  1710. return;
  1711. }
  1712. FrmProInformation fp = new FrmProInformation(ob, row.Cells["PrdcrNo"].Text, row.Cells["IndexSeq"].Text, "E");
  1713. fp.ShowDialog();
  1714. }
  1715. }
  1716. }