FrmPlnZyJgWorkBill.cs 69 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
  6. using Core.StlMes.Client.PlnSaleOrd.JGGXPln.Entity;
  7. using Core.StlMes.Client.PlnSaleOrd.工序排产;
  8. using Core.StlMes.Client.PlnSaleOrd.炉计划;
  9. using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity;
  10. using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool;
  11. using CoreFS.CA06;
  12. using Infragistics.Win;
  13. using Infragistics.Win.UltraWinGrid;
  14. using System;
  15. using System.Collections;
  16. using System.Collections.Generic;
  17. using System.ComponentModel;
  18. using System.Data;
  19. using System.Drawing;
  20. using System.Linq;
  21. using System.Text;
  22. using System.Windows.Forms;
  23. namespace Core.StlMes.Client.PlnSaleOrd.JGGXPln
  24. {
  25. public partial class FrmPlnZyJgWorkBill : FrmBase
  26. {
  27. public FrmPlnZyJgWorkBill()
  28. {
  29. InitializeComponent();
  30. this.IsLoadUserView = true;
  31. }
  32. private string[] plineC = null;//获取产线代码
  33. private DataTable dt1;
  34. private DataTable dt2;
  35. private ArrayList _entityList = null;
  36. private void FrmPlnZyJgWorkBill_Load(object sender, EventArgs e)
  37. {
  38. EntityHelper.ShowGridCaption<PlnZyJgReadyEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  39. EntityHelper.ShowGridCaption<PlnOrderGxJgCEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  40. EntityHelper.ShowGridCaption<PlnZyJgWorkbillEntity>(ultraGrid3.DisplayLayout.Bands[0]);
  41. EntityHelper.ShowGridCaption<PlnZyJgWorkbillEntity>(ultraGrid4.DisplayLayout.Bands[0]);
  42. BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC" });
  43. BaseHelper.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "PlanBlWt", "UseBlWt" });
  44. BaseHelper.setUltraGridColumnBits(ultraGrid1, new string[] { "PlanBlNum", "PlanJgNum", "UseBlNum", "OutJgNum" });
  45. BaseHelper.InitCellPosition(ultraGrid1, new string[] { "GxProSeq", "GxPlanNo","PlanBlWt", "Diameter", "SingleCutNun","PlanBlNum","PlanJgNum","Aimlength","CheckJVal","Outdiameter","Wallthick",
  46. "LengthMax","LengthMin","AimCutLen","AimlengthBl","MinH","MinD","UseBlNum", "UseBlWt", "OutJgNum"});
  47. BaseHelper.GridColumnSum(ultraGrid1, new string[] { "UseBlWt" });
  48. BaseHelper.GridColumnCount(ultraGrid1, new string[] { "OutJgNum", "UseBlNum" });
  49. BaseHelper.SetGroupBySum(ultraGrid1, new string[] { "PlanBlWt", "PlanBlNum", "PlanJgNum" }, "HeatPlanNo");
  50. plineC = PlanHelper.InitDropPlinePower("H", chcPlineCode, this.ValidDataPurviewIds, this.ob);
  51. PlanHelper.InitDropPlinePower("H", chcPlineBill, this.ValidDataPurviewIds, this.ob);
  52. BaseHelper.setOtherColumnReadOnly(ultraGrid2, new string[] { "CHC" });
  53. BaseHelper.InitCellPosition(ultraGrid2, new string[] { "GroupNumS", "GroupWts", "PlansNum", "ExpectNum", "KcCount", "PlanNum", "PlanWt", "WorkNum", "WorkNumTrant", "WorkNumTranta" });
  54. BaseHelper.setUltraGridColumnMaxInput(ultraGrid2, new string[] { "GroupWts", "PlanWt" });
  55. BaseHelper.setUltraGridColumnBits(ultraGrid2, new string[] { "GroupNumS", "PlansNum", "ExpectNum", "KcCount", "PlanNum", "WorkNum", "WorkNumTrant", "WorkNumTranta" });
  56. BaseHelper.setOtherColumnReadOnly(ultraGrid3, new string[] { "CHC" });
  57. BaseHelper.setUltraGridColumnMaxInput(ultraGrid3, new string[] { "PlanBlWt", "RealBlWt", "OutWt" });
  58. BaseHelper.setUltraGridColumnBits(ultraGrid3, new string[] { "PlanJgNum", "CsJgNum", "XqJgNum", "PlanBlNum", "RealBlNum", "OutNum" });
  59. BaseHelper.InitCellPosition(ultraGrid3, new string[] { "PlanBlWt", "RealBlWt", "OutWt", "PlanJgNum", "CsJgNum", "XqJgNum", "PlanBlNum", "RealBlNum", "OutNum" });
  60. BaseHelper.GridColumnSum(ultraGrid3, new string[] { "PlanBlWt", "RealBlWt", "OutWt" });
  61. BaseHelper.GridColumnCount(ultraGrid3, new string[] { "PlanJgNum", "CsJgNum", "XqJgNum", "PlanBlNum", "RealBlNum", "OutNum" });
  62. BaseHelper.setOtherColumnReadOnly(ultraGrid4, new string[] { "CHC", "PlanBlNum", "PlanBlWt", "LatheGrpNm", "LatheCutNm" });
  63. BaseHelper.setUltraGridColumnMaxInput(ultraGrid4, new string[] { "PlanBlWt", "RealBlWt", "OutWt" });
  64. BaseHelper.setUltraGridColumnBits(ultraGrid4, new string[] { "PlanJgNum", "CsJgNum", "XqJgNum", "PlanBlNum", "RealBlNum", "OutNum" });
  65. BaseHelper.InitCellPosition(ultraGrid4, new string[] { "PlanBlWt", "RealBlWt", "OutWt", "PlanJgNum", "CsJgNum", "XqJgNum", "PlanBlNum", "RealBlNum", "OutNum" });
  66. BaseHelper.GridColumnSum(ultraGrid4, new string[] { "PlanBlWt", "RealBlWt", "OutWt" });
  67. BaseHelper.GridColumnCount(ultraGrid4, new string[] { "PlanJgNum", "CsJgNum", "XqJgNum", "PlanBlNum", "RealBlNum", "OutNum" });
  68. StoveHelper.ForbidSort(ultraGrid2);
  69. StoveHelper.ForbidSort(ultraGrid4);
  70. ultraGrid2.DisplayLayout.Bands[0].Columns["CraftNoJg2"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  71. ultraGrid3.DisplayLayout.Bands[0].Columns["CraftNoJg2"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  72. ultraGrid4.DisplayLayout.Bands[0].Columns["CraftNoJg2"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  73. dt1 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.queryMach", new object[] { plineC, "700305" }, ob);
  74. ultraComboEditor2.DataSource = dt1;
  75. ultraComboEditor2.DisplayMember = "MACHINE_NAME";
  76. ultraComboEditor2.ValueMember = "MACHINE_NO";
  77. csMachine.DataSource = dt1;
  78. csMachine.DisplayMember = "MACHINE_NAME";
  79. csMachine.ValueMember = "MACHINE_NO";
  80. dt2 = ServerHelper.GetData("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.queryMachC", new object[] { plineC, "700302" }, ob);
  81. ultraComboEditor1.DataSource = dt2;
  82. ultraComboEditor1.DisplayMember = "MACHINE_NAME";
  83. ultraComboEditor1.ValueMember = "MACHINE_NO";
  84. cutMachine.DataSource = dt2;
  85. cutMachine.DisplayMember = "MACHINE_NAME";
  86. cutMachine.ValueMember = "MACHINE_NO";
  87. DateTime now = DateTime.Now;
  88. DateTime d1 = now;
  89. DateTime d2 = now;
  90. txtPlanTimeB1.Value = d1.ToString("yyyy-MM-dd") + " 00:00:00";
  91. txtPlanTimeB2.Value = d2.ToString("yyyy-MM-dd") + " 23:59:59";
  92. ultraGrid2.DisplayLayout.Bands[0].Columns["CodeJgBl"].CellAppearance.BackColor = Color.GreenYellow;
  93. ultraGrid2.DisplayLayout.Bands[0].Columns["CodeJg"].CellAppearance.BackColor = Color.GreenYellow;
  94. DateTime date = new DateTime(now.Year, now.Month, 1);
  95. cmbDate.Value = DateTime.Parse(date.ToString("yyyy-MM-dd 00:00"));
  96. cmbEndDate.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm"));
  97. }
  98. public override void ToolBar_Click(object sender, string ToolbarKey)
  99. {
  100. switch (ToolbarKey)
  101. {
  102. case "Query"://查询
  103. Query();
  104. break;
  105. case "QueryCp"://查询炉计划
  106. QueryZyPln("","1");
  107. break;
  108. case "Add"://新增
  109. DoAdd();
  110. break;
  111. case "Delete"://删除
  112. DoDelete();
  113. break;
  114. case "Issued"://下发
  115. DoIssued("0");
  116. break;
  117. case "CanIssued"://取消下发
  118. DoIssued("1");
  119. break;
  120. case "Outsourc"://委外处理
  121. DoOutsourc("0");
  122. break;
  123. case "OutsourcCancel"://取消委外处理
  124. DoOutsourc("1");
  125. break;
  126. case "BreakUp"://工单拆分
  127. DoBreakUp();
  128. break;
  129. case "UpdateOrder"://修改工单计划支
  130. DoUpdateOrder();
  131. break;
  132. case "UpdateMach"://修改机床
  133. DoUpdateMach();
  134. break;
  135. case "Close"://关闭
  136. this.Close();
  137. break;
  138. case "IssuedL"://下发
  139. doFurnacePlan("0");
  140. break;
  141. case "CanIssuedL"://取消下发
  142. doFurnacePlan("1");
  143. break;
  144. case "Export":
  145. ExportData();
  146. break;
  147. case "DoPrint":
  148. Print();
  149. break;
  150. case "UpdateStauts":
  151. updateStatus();
  152. break;
  153. default:
  154. break;
  155. }
  156. }
  157. /// <summary>
  158. /// 打印计划单
  159. /// </summary>
  160. private void Print()
  161. {
  162. this.ultraGrid4.UpdateData();
  163. UltraGridRow uRow = this.ultraGrid4.ActiveRow;
  164. if (uRow == null) return;
  165. string woId = uRow.Cells["WoId"].Text.Trim();
  166. string strurl = "";
  167. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepJgProductionPlan.cpt" + "&WO_ID=" + woId;
  168. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  169. fBug.AutoSize = true;
  170. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  171. fBug.WindowState = FormWindowState.Maximized;
  172. fBug.Text = "计划单";
  173. fBug.Show();
  174. }
  175. /// <summary>
  176. /// 设置工单完成
  177. /// </summary>
  178. private void updateStatus()
  179. {
  180. this.ultraGrid4.UpdateData();
  181. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid4.Rows.AsQueryable().Where(" CHC = 'True'");
  182. if (checkMagRows.Count() == 0)
  183. {
  184. MessageUtil.ShowTips("请选择需要操作的工单信息!");
  185. return;
  186. }
  187. ArrayList parmList = new ArrayList();
  188. foreach (UltraGridRow row in checkMagRows)
  189. {
  190. PlnZyJgWorkbillEntity plWorkBillEntity = (PlnZyJgWorkbillEntity)row.ListObject;
  191. string plWorkBill = JSONFormat.Format(plWorkBillEntity);
  192. parmList.Add(plWorkBill);
  193. }
  194. CoreClientParam ccp = new CoreClientParam();
  195. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  196. ccp.MethodName = "updateStatus";
  197. ccp.ServerParams = new object[] { parmList };
  198. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  199. if (ccp.ReturnCode != -1)
  200. {
  201. if (ccp.ReturnInfo.Equals("设置完成成功!"))
  202. {
  203. Query();
  204. MessageUtil.ShowTips(ccp.ReturnInfo);
  205. }
  206. else
  207. {
  208. MessageUtil.ShowTips(ccp.ReturnInfo);
  209. }
  210. }
  211. }
  212. /// <summary>
  213. /// 导出
  214. /// </summary>
  215. private void ExportData()
  216. {
  217. GridHelper.ulGridToExcel(ultraGrid4, "工单信息");
  218. }
  219. private void Query()
  220. {
  221. if (ultraTabControl1.SelectedTab.Key.Equals("0"))
  222. {
  223. QueryZyPln("","0");
  224. QueryJgOrder("");
  225. }
  226. else
  227. {
  228. QueryWorkBillPln();
  229. }
  230. }
  231. /// <summary>
  232. /// 查询炉计划
  233. /// </summary>
  234. private void QueryZyPln(string proPlanId,string flag)
  235. {
  236. string cpJg = "0";
  237. if (chkJg.Checked)
  238. {
  239. cpJg = "1";
  240. }
  241. string heatPlanNo = "";
  242. if (chkHeatPlanNo.Checked)
  243. {
  244. if (txtHeatPlanNo.Text.Equals(""))
  245. {
  246. MessageUtil.ShowTips("请输入炉计划ID!");
  247. return;
  248. }
  249. else
  250. {
  251. heatPlanNo = txtHeatPlanNo.Text.ToString().Trim();
  252. }
  253. }
  254. string judgeNo = "";
  255. if (chkJudNo.Checked )
  256. {
  257. if (txtJudNo.Text.Equals(""))
  258. {
  259. MessageUtil.ShowTips("请输入判定炉号!");
  260. return;
  261. }
  262. else
  263. {
  264. judgeNo = txtJudNo.Text.ToString().Trim();
  265. }
  266. }
  267. string plineCode = "";
  268. if (chkPlineCode.Checked)
  269. {
  270. if (chcPlineCode.Text.Equals(""))
  271. {
  272. MessageUtil.ShowTips("请选择接箍产线!");
  273. return;
  274. }
  275. else
  276. {
  277. plineCode = chcPlineCode.Value == null ? "" : chcPlineCode.Value.ToString();
  278. }
  279. }
  280. string[] pcStart = { };
  281. if (chkStrat.Checked && !chcStrat.Text.Equals(""))
  282. {
  283. pcStart = (chcStrat.Value as List<object>).Select(p => p.ToString().Trim()).ToArray();
  284. }
  285. string codeBl = "";
  286. if (chkBlCode.Checked)
  287. {
  288. if (txtBlCode.Text.Equals(""))
  289. {
  290. MessageUtil.ShowTips("请输入备料码!");
  291. return;
  292. }
  293. else
  294. {
  295. codeBl = txtBlCode.Text.ToString().Trim();
  296. }
  297. }
  298. string str = "1";
  299. if (ultraCheckEditor6.Checked)
  300. {
  301. str = "0";
  302. }
  303. string timeB = txtPlanTimeB1.Value.ToString().ToString();
  304. string timeE = txtPlanTimeB2.Value.ToString();
  305. List<PlnZyJgReadyEntity> listSource = EntityHelper.GetData<PlnZyJgReadyEntity>
  306. ("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.queryPlnZyJg", new object[] { heatPlanNo, judgeNo, plineCode, plineC, pcStart, codeBl, str, proPlanId, timeB, timeE, cpJg, flag }, this.ob);
  307. plnZyJgReadyEntityBindingSource.DataSource = listSource;
  308. //GridHelper.RefreshAndAutoSize(ultraGrid1);
  309. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  310. {
  311. //没有实际炉计划,主炉计划变颜色
  312. if (ugr.Cells["HeatPlanSqe"].Value.ToString().Equals(""))
  313. {
  314. ugr.Appearance.BackColor = Color.Orange;
  315. }
  316. }
  317. }
  318. List<PlnOrderGxJgCEntity> listSource1 = null;
  319. /// <summary>
  320. /// 查询成品合同
  321. /// </summary>
  322. /// <param name="proPlanId"></param>
  323. private void QueryJgOrder(string proPlanId)
  324. {
  325. string cpJg = "0";
  326. if (chkJg.Checked)
  327. {
  328. cpJg = "1";
  329. }
  330. string day = "0";
  331. if (cpJg.Equals("0"))
  332. {
  333. day = txtDay.Value.ToString();
  334. }
  335. DateTime dTime = DateTime.Now;
  336. string timeB = txtPlanTimeB1.Value.ToString().ToString(); //dTime.Date.ToString("yyyy-MM-dd") + " 00:00:00";
  337. string timeE = txtPlanTimeB2.Value.ToString();//dTime.Date.AddDays(+int.Parse(day)-1).ToString("yyyy-MM-dd") + " 23:59:59";
  338. string[] pcStart = { };
  339. if (chkStrat.Checked && !chcStrat.Text.Equals(""))
  340. {
  341. pcStart = (chcStrat.Value as List<object>).Select(p => p.ToString().Trim()).ToArray();
  342. }
  343. listSource1 = EntityHelper.GetData<PlnOrderGxJgCEntity>
  344. ("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.queryPlnZyJgOrder", new object[] { proPlanId, timeB, timeE, cpJg, pcStart }, this.ob);
  345. bindingSource1.DataSource = listSource1;
  346. //GridHelper.RefreshAndAutoSize(ultraGrid2);
  347. foreach (UltraGridRow item in ultraGrid2.Rows)
  348. {
  349. if (int.Parse(item.Cells["ExpectNum"].Value.ToString()) > 0)
  350. {
  351. item.Cells["WorkNum"].Value = int.Parse(item.Cells["ExpectNum"].Value.ToString()) - int.Parse(item.Cells["WorkNumTranta"].Value.ToString()) - int.Parse(item.Cells["KcCount"].Value.ToString());
  352. }
  353. else
  354. {
  355. item.Cells["WorkNum"].Value = int.Parse(item.Cells["PlansNum"].Value.ToString()) - int.Parse(item.Cells["WorkNumTranta"].Value.ToString()) - int.Parse(item.Cells["KcCount"].Value.ToString());
  356. }
  357. if (int.Parse(item.Cells["WorkNum"].Value.ToString()) <= 0)
  358. {
  359. item.Cells["WorkNum"].Value = 0;
  360. }
  361. }
  362. }
  363. /// <summary>
  364. /// 查询根据炉计划工单
  365. /// </summary>
  366. /// <param name="heatPlanNo"></param>
  367. private void QueryWorkBill(string heatPlanNo, string heatPlanSqe)
  368. {
  369. List<PlnZyJgWorkbillEntity> listSource = EntityHelper.GetData<PlnZyJgWorkbillEntity>
  370. ("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.queryPlnZyWorkBill", new object[] { heatPlanNo, heatPlanSqe }, this.ob);
  371. plnZyJgWorkbillEntitySource.DataSource = listSource;
  372. //GridHelper.RefreshAndAutoSize(ultraGrid3);
  373. }
  374. /// <summary>
  375. /// 查询工单信息
  376. /// </summary>
  377. private void QueryWorkBillPln()
  378. {
  379. string date = "";
  380. string endDate = "";
  381. if (chkDate.Checked)
  382. {
  383. if (DataTimeUtil.JudgeTime(DateTime.Parse(cmbDate.Value.ToString()), DateTime.Parse(cmbEndDate.Value.ToString())) == 0)
  384. {
  385. MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!");
  386. return;
  387. }
  388. else
  389. {
  390. date = cmbDate.Value.ToString();
  391. endDate = cmbEndDate.Value.ToString();
  392. }
  393. }
  394. string workBill = chcWorkBill.Text.ToString().Trim();
  395. if (chkWorkBill.Checked)
  396. {
  397. if (workBill.Equals(""))
  398. {
  399. MessageUtil.ShowTips("请输入工单号!");
  400. return;
  401. }
  402. }
  403. else
  404. {
  405. workBill = "";
  406. }
  407. string judgeNoBill = txtBillJudgeNo.Text.ToString().Trim();
  408. if (chkBillJudgeNo.Checked)
  409. {
  410. if (judgeNoBill.Equals(""))
  411. {
  412. MessageUtil.ShowTips("请输入判定炉号!");
  413. return;
  414. }
  415. }
  416. else
  417. {
  418. judgeNoBill = "";
  419. }
  420. string plineCode = chcPlineBill.Value == null ? "" : chcPlineBill.Value.ToString();
  421. if (chkPlineBill.Checked)
  422. {
  423. if (chcPlineBill.Text.Equals(""))
  424. {
  425. MessageUtil.ShowTips("请选择接箍产线!");
  426. return;
  427. }
  428. }
  429. else
  430. {
  431. plineCode = "";
  432. }
  433. string[] pcStart = { };
  434. if (chkStratBill.Checked && !chcStratBill.Text.Equals(""))
  435. {
  436. pcStart = (chcStratBill.Value as List<object>).Select(p => p.ToString().Trim()).ToArray();
  437. }
  438. List<PlnZyJgWorkbillEntity> listSource = EntityHelper.GetData<PlnZyJgWorkbillEntity>
  439. ("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.queryPlnZyWorkBillPln", new object[] { workBill, judgeNoBill, plineCode, plineC, pcStart, date, endDate }, this.ob);
  440. bindingSource2.DataSource = listSource;
  441. //GridHelper.RefreshAndAutoSize(ultraGrid4);
  442. //激活操作行代码
  443. if ( _entityList != null)
  444. {
  445. foreach (UltraGridRow ugr in ultraGrid4.Rows)
  446. {
  447. if (_entityList != null)
  448. {
  449. for (int i = 0; i < _entityList.Count; i++)
  450. {
  451. PlnZyJgWorkbillEntity jgxsEntity = (PlnZyJgWorkbillEntity)_entityList[i];
  452. if (ugr.Cells["WoId"].Text.Trim().Equals(jgxsEntity.WoId))
  453. {
  454. ugr.Appearance.BackColor = Color.Wheat;
  455. ugr.Activate();
  456. }
  457. }
  458. }
  459. }
  460. }
  461. _entityList = null;
  462. }
  463. /// <summary>
  464. /// 新增工单
  465. /// </summary>
  466. private void DoAdd()
  467. {
  468. UltraGridRow row = ultraGrid1.ActiveRow;
  469. if (row == null) return;
  470. //if (!row.Cells["Planstatus"].Text.Equals("计划") && !row.Cells["Planstatus"].Text.Equals("下发"))
  471. //{
  472. // MessageUtil.ShowTips("选中的该炉计划是不计划和下发状态不能新增工单!");
  473. // return;
  474. //}
  475. string decision = "B";
  476. if (chkJg.Checked)
  477. {
  478. decision = "A";
  479. }
  480. int jgNum = int.Parse(row.Cells["UseBlNum"].Value.ToString()) - int.Parse(row.Cells["RealIndoubleNum"].Value.ToString());
  481. if (jgNum == 0)
  482. {
  483. MessageUtil.ShowTips("选中的炉计划已全部生成工单,请重新选择炉计划!");
  484. return;
  485. }
  486. int count = 0;
  487. string heatPlanNo = row.Cells["HeatPlanNo"].Text.ToString();
  488. string heatPlanSeq = row.Cells["HeatPlanSqe"].Text.ToString();
  489. string proPlanId = row.Cells["ProPlanId"].Text.ToString();
  490. ArrayList list = new ArrayList();
  491. foreach (UltraGridRow item in ultraGrid2.Rows)
  492. {
  493. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  494. {
  495. count++;
  496. if (!proPlanId.Equals(item.Cells["ProPlanId"].Value.ToString()))
  497. {
  498. MessageUtil.ShowTips("请勾选订单号相同的接箍排产订单信息(7+4)");
  499. return;
  500. }
  501. //if (int.Parse(item.Cells["WorkNum"].Value.ToString()) == 0)
  502. //{
  503. // if (MessageUtil.ShowYesNoAndQuestion("可做工单支为零,是否继续新增?") == DialogResult.No)
  504. // {
  505. // return;
  506. // }
  507. //}
  508. if (int.Parse(ultraNumericEditor1.Value.ToString())<= 0)
  509. {
  510. MessageUtil.ShowTips("可做工单不能为零,请输入!");
  511. return;
  512. }
  513. int singLenCutNum = (int)(double.Parse(row.Cells["AimlengthBl"].Value.ToString()) / ((double.Parse(row.Cells["Aimlength"].Value.ToString()) + 15) / 1000)) - 2;
  514. //if(ultraNumericEditor1.Value=)
  515. ArrayList list1 = new ArrayList();
  516. list1.Add(item.Cells["Key"].Text.ToString());
  517. list1.Add(item.Cells["ProPlanId"].Text.ToString());
  518. list1.Add(item.Cells["WorkNum"].Value.ToString());
  519. list1.Add(ultraNumericEditor1.Value.ToString());
  520. list1.Add(singLenCutNum.ToString());
  521. list1.Add(item.Cells["XqJgNum"].Value.ToString());
  522. list.Add(list1);
  523. }
  524. }
  525. if (count == 0)
  526. {
  527. MessageUtil.ShowTips("请勾选接箍排产订单信息(7+4)");
  528. return;
  529. }
  530. string latheGrpNo = "";
  531. string latheGrpName = "";
  532. if (ultraComboEditor2.Text.ToString().Equals(""))
  533. {
  534. if (MessageUtil.ShowYesNoAndQuestion("车丝机编号为空是否新增?") == DialogResult.No) return;
  535. }
  536. else
  537. {
  538. ArrayList listlat = new ArrayList((ultraComboEditor2.Value as List<object>).Select(p => p.ToString().Trim()).ToArray());
  539. latheGrpNo = string.Join(",", (string[])listlat.ToArray(typeof(string)));
  540. latheGrpName = ultraComboEditor2.Text.ToString().Trim();
  541. }
  542. string latheCutName = "";
  543. if (ultraComboEditor1.Text.ToString().Equals(""))
  544. {
  545. if (MessageUtil.ShowYesNoAndQuestion("切管机编号为空是否新增?") == DialogResult.No) return;
  546. }
  547. else
  548. {
  549. //ArrayList listlat = new ArrayList((ultraComboEditor2.Value as List<object>).Select(p => p.ToString().Trim()).ToArray());
  550. //latheGrpNo = string.Join(",", (string[])listlat.ToArray(typeof(string)));
  551. latheCutName = ultraComboEditor1.Text.ToString().Trim();
  552. }
  553. string memo = txtMemo.Text.Trim().ToString();
  554. if (MessageUtil.ShowYesNoAndQuestion("是否新增工单?") == DialogResult.No) return;
  555. PlanComm.WaitFromOpen(this.Cursor);
  556. CoreClientParam ccp = new CoreClientParam();
  557. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  558. ccp.MethodName = "doAdd";
  559. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), heatPlanNo, heatPlanSeq, latheGrpNo, latheGrpName, latheCutName, memo, decision, ultraNumericEditor1.Value.ToString() };
  560. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  561. PlanComm.WaitFromColse(this.Cursor);
  562. if (ccp.ReturnCode == -1) return;
  563. MessageUtil.ShowTips(ccp.ReturnInfo);
  564. if (ccp.ReturnInfo.Equals("新增成功!"))
  565. {
  566. Query();
  567. }
  568. }
  569. /// <summary>
  570. /// 删除工单
  571. /// </summary>
  572. private void DoDelete()
  573. {
  574. UltraGridRow row = ultraGrid4.ActiveRow;
  575. if (row == null) return;
  576. int count = 0;
  577. ArrayList list = new ArrayList();
  578. foreach (UltraGridRow item in ultraGrid4.Rows)
  579. {
  580. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  581. {
  582. count++;
  583. if (!item.Cells["ZyBillStatus"].Text.Equals("计划"))
  584. {
  585. MessageUtil.ShowTips("选中的工单不是计划状态,不能删除!");
  586. return;
  587. }
  588. ArrayList list1 = new ArrayList();
  589. list1.Add(item.Cells["WoId"].Text.ToString());
  590. list.Add(list1);
  591. }
  592. }
  593. if (count == 0)
  594. {
  595. MessageUtil.ShowTips("请勾选工单信息!");
  596. return;
  597. }
  598. if (MessageUtil.ShowYesNoAndQuestion("是否删除工单?") == DialogResult.No) return;
  599. PlanComm.WaitFromOpen(this.Cursor);
  600. CoreClientParam ccp = new CoreClientParam();
  601. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  602. ccp.MethodName = "doDelete";
  603. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  604. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  605. PlanComm.WaitFromColse(this.Cursor);
  606. if (ccp.ReturnCode == -1) return;
  607. MessageUtil.ShowTips(ccp.ReturnInfo);
  608. if (ccp.ReturnInfo.Equals("删除成功!"))
  609. {
  610. Query();
  611. }
  612. }
  613. /// <summary>
  614. /// 工单下发/取消下发
  615. /// </summary>
  616. /// <param name="flag"></param>
  617. private void DoIssued(string flag)
  618. {
  619. UltraGridRow row = ultraGrid4.ActiveRow;
  620. if (row == null) return;
  621. int count = 0;
  622. ArrayList list = new ArrayList();
  623. foreach (UltraGridRow item in ultraGrid4.Rows)
  624. {
  625. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  626. {
  627. count++;
  628. if (flag.Equals("0"))
  629. {
  630. if (!item.Cells["ZyBillStatus"].Text.Equals("计划"))
  631. {
  632. MessageUtil.ShowTips("选中的工单不是计划状态,不能下发!");
  633. return;
  634. }
  635. }
  636. else
  637. {
  638. if (!item.Cells["ZyBillStatus"].Text.Equals("下发"))
  639. {
  640. MessageUtil.ShowTips("选中的工单不是下发状态,不能取消下发!");
  641. return;
  642. }
  643. }
  644. ArrayList list1 = new ArrayList();
  645. list1.Add(item.Cells["WoId"].Text.ToString());
  646. list.Add(list1);
  647. }
  648. }
  649. if (count == 0)
  650. {
  651. MessageUtil.ShowTips("请勾选工单信息!");
  652. return;
  653. }
  654. if (MessageUtil.ShowYesNoAndQuestion(flag.Equals("0") ? "是否下发?" : "是否取消下发?") == DialogResult.No)
  655. {
  656. return;
  657. }
  658. PlanComm.WaitFromOpen(this.Cursor);
  659. CoreClientParam ccp = new CoreClientParam();
  660. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  661. ccp.MethodName = "doIssued";
  662. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), flag};
  663. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  664. PlanComm.WaitFromColse(this.Cursor);
  665. if (ccp.ReturnCode == -1) return;
  666. MessageUtil.ShowTips(ccp.ReturnInfo);
  667. if (ccp.ReturnInfo.Equals("成功!"))
  668. {
  669. Query();
  670. }
  671. }
  672. /// <summary>
  673. /// 委外处理
  674. /// </summary>
  675. private void DoOutsourc(string flag)
  676. {
  677. UltraGridRow row = ultraGrid4.ActiveRow;
  678. if (row == null) return;
  679. int count = 0;
  680. ArrayList list = new ArrayList();
  681. foreach (UltraGridRow item in ultraGrid4.Rows)
  682. {
  683. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  684. {
  685. count++;
  686. if (flag.Equals("0"))
  687. {
  688. if (!item.Cells["ZyBillStatus"].Text.Equals("计划"))
  689. {
  690. MessageUtil.ShowTips("选中的工单不是计划状态,不能委外!");
  691. return;
  692. }
  693. }
  694. else
  695. {
  696. if (!item.Cells["ZyBillStatus"].Text.Equals("计划"))
  697. {
  698. MessageUtil.ShowTips("选中的工单不是下发状态,不能取消委外!");
  699. return;
  700. }
  701. }
  702. ArrayList list1 = new ArrayList();
  703. list1.Add(item.Cells["WoId"].Text.ToString());
  704. list.Add(list1);
  705. }
  706. }
  707. if (count == 0)
  708. {
  709. MessageUtil.ShowTips("请勾选工单信息!");
  710. return;
  711. }
  712. if (MessageUtil.ShowYesNoAndQuestion(flag.Equals("0") ? "是否工单委外?" : "是否取消工单委外?") == DialogResult.No)
  713. {
  714. return;
  715. }
  716. PlanComm.WaitFromOpen(this.Cursor);
  717. CoreClientParam ccp = new CoreClientParam();
  718. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  719. ccp.MethodName = "doOutsourc";
  720. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), flag };
  721. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  722. PlanComm.WaitFromColse(this.Cursor);
  723. if (ccp.ReturnCode == -1) return;
  724. MessageUtil.ShowTips(ccp.ReturnInfo);
  725. if (ccp.ReturnInfo.Equals("成功!"))
  726. {
  727. Query();
  728. }
  729. }
  730. /// <summary>
  731. /// 修改机床
  732. /// </summary>
  733. private void DoUpdateMach()
  734. {
  735. UltraGridRow row = ultraGrid4.ActiveRow;
  736. if (row == null) return;
  737. int countM = 0;
  738. ArrayList list = new ArrayList();
  739. foreach (UltraGridRow item in ultraGrid4.Rows)
  740. {
  741. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  742. {
  743. countM++;
  744. ArrayList list1 = new ArrayList();
  745. if (item.Cells["ZyBillStatus"].Text.ToString().Equals("关闭"))
  746. {
  747. MessageUtil.ShowTips("选中工单已关闭,不能修改机床!");
  748. return;
  749. }
  750. list1.Add(item.Cells["LatheGrpNo"].Value.ToString());
  751. list1.Add(item.Cells["LatheGrpNm"].Text.ToString());
  752. list1.Add(item.Cells["LatheCutNm"].Text.ToString());
  753. list1.Add(item.Cells["WoId"].Text.ToString().Trim());
  754. list.Add(list1);
  755. }
  756. }
  757. if (countM == 0)
  758. {
  759. MessageUtil.ShowTips("请勾选工单信息!");
  760. return;
  761. }
  762. if (MessageUtil.ShowYesNoAndQuestion("是否修改机床?") == DialogResult.No) return;
  763. PlanComm.WaitFromOpen(this.Cursor);
  764. CoreClientParam ccp = new CoreClientParam();
  765. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  766. ccp.MethodName = "doUpdateMach";
  767. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  768. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  769. PlanComm.WaitFromColse(this.Cursor);
  770. if (ccp.ReturnCode == -1) return;
  771. MessageUtil.ShowTips(ccp.ReturnInfo);
  772. if (ccp.ReturnInfo.Equals("修改成功!"))
  773. {
  774. QueryWorkBillPln();
  775. }
  776. }
  777. private void chkHeatPlanNo_CheckedChanged(object sender, EventArgs e)
  778. {
  779. if (chkHeatPlanNo.Checked) { txtHeatPlanNo.Enabled = true; } else { txtHeatPlanNo.Enabled = false; }
  780. if (chkPlineCode.Checked) { chcPlineCode.Enabled = true; } else { chcPlineCode.Enabled = false; }
  781. if (chkJudNo.Checked) { txtJudNo.Enabled = true; } else { txtJudNo.Enabled = false; }
  782. if (chkWorkBill.Checked) { chcWorkBill.Enabled = true; } else { chcWorkBill.Enabled = false; }
  783. if (chkBillJudgeNo.Checked) { txtBillJudgeNo.Enabled = true; } else { txtBillJudgeNo.Enabled = false; }
  784. if (chkPlineBill.Checked) { chcPlineBill.Enabled = true; } else { chcPlineBill.Enabled = false; }
  785. if (chkStratBill.Checked) { chcStratBill.Enabled = true; } else { chcStratBill.Enabled = false; }
  786. if (chkBlCode.Checked) { txtBlCode.Enabled = true; } else { txtBlCode.Enabled = false; }
  787. if (chkDate.Checked) { cmbDate.Enabled = true; } else { cmbDate.Enabled = false; }
  788. if (chkDate.Checked) { cmbEndDate.Enabled = true; } else { cmbEndDate.Enabled = false; }
  789. }
  790. private void radioButton1_CheckedChanged(object sender, EventArgs e)
  791. {
  792. if (chkJg.Checked) { txtDay.Enabled = false; } else { txtDay.Enabled = true; }
  793. }
  794. private string proPlanId1 = "";
  795. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  796. {
  797. UltraGridRow row = ultraGrid1.ActiveRow;
  798. if (row == null) return;
  799. proPlanId1 = row.Cells["ProPlanId"].Text.ToString() + "/" + row.Cells["GxPlanNo"].Text.ToString();
  800. string heatPlanNo = row.Cells["HeatPlanNo"].Text.ToString();
  801. string heatPlanSqe = row.Cells["HeatPlanSqe"].Text.ToString();
  802. string plineCode = row.Cells["PlineCode"].Text.ToString();
  803. QueryWorkBill(heatPlanNo, heatPlanSqe);
  804. ////根据接箍产线过滤车丝机床编号
  805. //DataRow[] rows = dt1.Select("PLINE_NO='" + plineCode + "'");
  806. //if (rows.Count()>0)
  807. //{
  808. // DataTable dt3 = rows[0].Table.Clone();
  809. // foreach (DataRow drow in rows)
  810. // {
  811. // dt3.ImportRow(drow); // 将DataRow添加到DataTable中
  812. // }
  813. // ultraComboEditor2.DataSource = dt3;
  814. // ultraComboEditor2.DisplayMember = "MACHINE_NAME";
  815. // ultraComboEditor2.ValueMember = "MACHINE_NO";
  816. //}
  817. ////根据接箍产线过切割机床编号
  818. //DataRow[] rows1 = dt2.Select("PLINE_CODE='" + plineCode + "'");
  819. //if (rows.Count() > 0)
  820. //{
  821. // DataTable dt4 = rows[0].Table.Clone();
  822. // foreach (DataRow drow in rows1)
  823. // {
  824. // dt4.ImportRow(drow); // 将DataRow添加到DataTable中
  825. // }
  826. // ultraComboEditor1.DataSource = dt4;
  827. // ultraComboEditor1.DisplayMember = "MACHINE_NAME";
  828. // ultraComboEditor1.ValueMember = "MACHINE_NO";
  829. //}
  830. txtMemo.Text = "";
  831. }
  832. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  833. {
  834. if (toolMenu == null) return;
  835. if (e.Tab.TabControl.SelectedTab.Key.Equals("0"))
  836. {
  837. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
  838. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; }
  839. if (toolMenu.Toolbars[0].Tools.Exists("Issued")) { toolMenu.Toolbars[0].Tools["Issued"].InstanceProps.Visible = DefaultableBoolean.False; }
  840. if (toolMenu.Toolbars[0].Tools.Exists("CanIssued")) { toolMenu.Toolbars[0].Tools["CanIssued"].InstanceProps.Visible = DefaultableBoolean.False; }
  841. if (toolMenu.Toolbars[0].Tools.Exists("BreakUp")) { toolMenu.Toolbars[0].Tools["BreakUp"].InstanceProps.Visible = DefaultableBoolean.False; }
  842. if (toolMenu.Toolbars[0].Tools.Exists("UpdateOrder")) { toolMenu.Toolbars[0].Tools["UpdateOrder"].InstanceProps.Visible = DefaultableBoolean.False; }
  843. if (toolMenu.Toolbars[0].Tools.Exists("QueryCp")) { toolMenu.Toolbars[0].Tools["QueryCp"].InstanceProps.Visible = DefaultableBoolean.True; }
  844. if (toolMenu.Toolbars[0].Tools.Exists("UpdateMach")) { toolMenu.Toolbars[0].Tools["UpdateMach"].InstanceProps.Visible = DefaultableBoolean.False; }
  845. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; }
  846. if (toolMenu.Toolbars[0].Tools.Exists("IssuedL")) { toolMenu.Toolbars[0].Tools["IssuedL"].InstanceProps.Visible = DefaultableBoolean.True; }
  847. if (toolMenu.Toolbars[0].Tools.Exists("CanIssuedL")) { toolMenu.Toolbars[0].Tools["CanIssuedL"].InstanceProps.Visible = DefaultableBoolean.True; }
  848. if (toolMenu.Toolbars[0].Tools.Exists("UpdateStauts")) { toolMenu.Toolbars[0].Tools["UpdateStauts"].InstanceProps.Visible = DefaultableBoolean.False; }
  849. if (toolMenu.Toolbars[0].Tools.Exists("DoPrint")) { toolMenu.Toolbars[0].Tools["DoPrint"].InstanceProps.Visible = DefaultableBoolean.False; }
  850. }
  851. else
  852. {
  853. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.False; }
  854. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; }
  855. if (toolMenu.Toolbars[0].Tools.Exists("Issued")) { toolMenu.Toolbars[0].Tools["Issued"].InstanceProps.Visible = DefaultableBoolean.True; }
  856. if (toolMenu.Toolbars[0].Tools.Exists("CanIssued")) { toolMenu.Toolbars[0].Tools["CanIssued"].InstanceProps.Visible = DefaultableBoolean.True; }
  857. if (toolMenu.Toolbars[0].Tools.Exists("BreakUp")) { toolMenu.Toolbars[0].Tools["BreakUp"].InstanceProps.Visible = DefaultableBoolean.True; }
  858. if (toolMenu.Toolbars[0].Tools.Exists("UpdateOrder")) { toolMenu.Toolbars[0].Tools["UpdateOrder"].InstanceProps.Visible = DefaultableBoolean.True;}
  859. if (toolMenu.Toolbars[0].Tools.Exists("QueryCp")) { toolMenu.Toolbars[0].Tools["QueryCp"].InstanceProps.Visible = DefaultableBoolean.False; }
  860. if (toolMenu.Toolbars[0].Tools.Exists("UpdateMach")) { toolMenu.Toolbars[0].Tools["UpdateMach"].InstanceProps.Visible = DefaultableBoolean.True; }
  861. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.True; }
  862. if (toolMenu.Toolbars[0].Tools.Exists("IssuedL")) { toolMenu.Toolbars[0].Tools["IssuedL"].InstanceProps.Visible = DefaultableBoolean.False; }
  863. if (toolMenu.Toolbars[0].Tools.Exists("CanIssuedL")) { toolMenu.Toolbars[0].Tools["CanIssuedL"].InstanceProps.Visible = DefaultableBoolean.False; }
  864. if (toolMenu.Toolbars[0].Tools.Exists("UpdateStauts")) { toolMenu.Toolbars[0].Tools["UpdateStauts"].InstanceProps.Visible = DefaultableBoolean.True; }
  865. if (toolMenu.Toolbars[0].Tools.Exists("DoPrint")) { toolMenu.Toolbars[0].Tools["DoPrint"].InstanceProps.Visible = DefaultableBoolean.True; }
  866. }
  867. }
  868. private void FrmPlnZyJgWorkBill_Shown(object sender, EventArgs e)
  869. {
  870. if (toolMenu.Toolbars[0].Tools.Exists("Add")) { toolMenu.Toolbars[0].Tools["Add"].InstanceProps.Visible = DefaultableBoolean.True; }
  871. if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; }
  872. if (toolMenu.Toolbars[0].Tools.Exists("Issued")) { toolMenu.Toolbars[0].Tools["Issued"].InstanceProps.Visible = DefaultableBoolean.False; }
  873. if (toolMenu.Toolbars[0].Tools.Exists("CanIssued")) { toolMenu.Toolbars[0].Tools["CanIssued"].InstanceProps.Visible = DefaultableBoolean.False; }
  874. if (toolMenu.Toolbars[0].Tools.Exists("BreakUp")) { toolMenu.Toolbars[0].Tools["BreakUp"].InstanceProps.Visible = DefaultableBoolean.False; }
  875. if (toolMenu.Toolbars[0].Tools.Exists("UpdateOrder")) { toolMenu.Toolbars[0].Tools["UpdateOrder"].InstanceProps.Visible = DefaultableBoolean.False; }
  876. if (toolMenu.Toolbars[0].Tools.Exists("QueryCp")) { toolMenu.Toolbars[0].Tools["QueryCp"].InstanceProps.Visible = DefaultableBoolean.True; }
  877. if (toolMenu.Toolbars[0].Tools.Exists("UpdateMach")) { toolMenu.Toolbars[0].Tools["UpdateMach"].InstanceProps.Visible = DefaultableBoolean.False; }
  878. if (toolMenu.Toolbars[0].Tools.Exists("Export")) { toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = DefaultableBoolean.False; }
  879. if (toolMenu.Toolbars[0].Tools.Exists("IssuedL")) { toolMenu.Toolbars[0].Tools["IssuedL"].InstanceProps.Visible = DefaultableBoolean.True; }
  880. if (toolMenu.Toolbars[0].Tools.Exists("CanIssuedL")) { toolMenu.Toolbars[0].Tools["CanIssuedL"].InstanceProps.Visible = DefaultableBoolean.True; }
  881. if (toolMenu.Toolbars[0].Tools.Exists("UpdateStauts")) { toolMenu.Toolbars[0].Tools["UpdateStauts"].InstanceProps.Visible = DefaultableBoolean.False; }
  882. if (toolMenu.Toolbars[0].Tools.Exists("DoPrint")) { toolMenu.Toolbars[0].Tools["DoPrint"].InstanceProps.Visible = DefaultableBoolean.False; }
  883. }
  884. private void chkJg_TabIndexChanged(object sender, EventArgs e)
  885. {
  886. QueryJgOrder(proPlanId1);
  887. }
  888. private void ultraNumericEditor1_ValueChanged(object sender, EventArgs e)
  889. {
  890. UltraGridRow row = ultraGrid1.ActiveRow;
  891. if (row == null) return;
  892. int singLenCutNum = (int)(double.Parse(row.Cells["AimlengthBl"].Value.ToString()) / ((double.Parse(row.Cells["Aimlength"].Value.ToString()) + 15) / 1000)) - 2;
  893. ultraNumericEditor2.Value = int.Parse(ultraNumericEditor1.Value.ToString()) * singLenCutNum;
  894. }
  895. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  896. {
  897. UltraGridRow row = ultraGrid1.ActiveRow;
  898. if (row == null) return;
  899. UltraGridRow row1 = ultraGrid2.ActiveRow;
  900. if (row1 == null) return;
  901. int klnum = 0;
  902. int singLenCutNum = (int)(double.Parse(row.Cells["AimlengthBl"].Value.ToString()) / ((double.Parse(row.Cells["Aimlength"].Value.ToString()) + 15) / 1000)) - 2;
  903. int jhnum = (int.Parse(row.Cells["UseBlNum"].Value.ToString()) - int.Parse(row.Cells["RealIndoubleNum"].Value.ToString())) * singLenCutNum;
  904. if (e.Cell.Column.Key.Equals("CHC"))
  905. {
  906. foreach (UltraGridRow item in ultraGrid2.Rows)
  907. {
  908. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  909. {
  910. klnum += int.Parse(item.Cells["WorkNum"].Value.ToString());
  911. }
  912. }
  913. if (klnum >= jhnum)
  914. {
  915. ultraNumericEditor1.Value = int.Parse(row.Cells["UseBlNum"].Value.ToString()) - int.Parse(row.Cells["RealIndoubleNum"].Value.ToString());
  916. }
  917. else
  918. {
  919. ultraNumericEditor1.Value = Math.Ceiling(klnum / double.Parse(singLenCutNum.ToString()));
  920. }
  921. }
  922. }
  923. #region 查看工艺文件
  924. private void ultraGrid2_ClickCellButton(object sender, CellEventArgs e)
  925. {
  926. UltraGridRow row = ultraGrid2.ActiveRow;
  927. if (row == null) return;
  928. string orderNo = row.Cells["OrderNoSeq"].Text.ToString();
  929. string codeJgBl = row.Cells["CodeJgBl"].Text.ToString();
  930. string codeJg = row.Cells["CodeJg"].Text.ToString();
  931. string jgOrderno = row.Cells["JgOrderno"].Text.ToString();
  932. if (e.Cell.Column.Key.Equals("CraftNoJg2"))
  933. {
  934. //if (e.Cell.Column.Key.Equals("CraftNoJg2"))
  935. //{
  936. // string filePath = row.GetValue("CraftPath");
  937. // dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
  938. // askDown.Show();
  939. //}
  940. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilCouplingProcess2.cpt"
  941. + "&ORDER_NO=" + orderNo;
  942. FrmRepExcel down = new FrmRepExcel(ob, strurl);
  943. down.Text = "接箍二级工艺";
  944. down.Visible = false;
  945. down.Size = new Size(740, this.Height);
  946. down.WindowState = FormWindowState.Maximized;
  947. down.ShowDialog();
  948. }
  949. else if (e.Cell.Column.Key.Equals("CodeJgBl"))
  950. {
  951. FrmRollTubeLibraryJg down = new FrmRollTubeLibraryJg(ob,codeJgBl);
  952. down.Text = "接箍原料利库";
  953. //down.Visible = false;
  954. // down.Size = new Size(740, this.Height);
  955. //down.WindowState = FormWindowState.Minimized;
  956. down.ShowDialog();
  957. bool flag = down.Flaggd;
  958. if (flag) { QueryJgOrder(""); }
  959. }
  960. else if (e.Cell.Column.Key.Equals("CodeJg"))
  961. {
  962. FrmJgOrderLk down = new FrmJgOrderLk(ob, codeJg, jgOrderno);
  963. down.Text = "接箍合同利库";
  964. //down.Visible = false;
  965. // down.Size = new Size(740, this.Height);
  966. //down.WindowState = FormWindowState.Minimized;
  967. down.ShowDialog();
  968. bool flag = down.Flaggd;
  969. if (flag) { QueryJgOrder(""); }
  970. }
  971. }
  972. private void ultraGrid3_ClickCellButton(object sender, CellEventArgs e)
  973. {
  974. UltraGridRow row = ultraGrid3.ActiveRow;
  975. if (row == null) return;
  976. string orderNo = row.Cells["OrderNoSeq"].Text.ToString();
  977. //if (e.Cell.Column.Key.Equals("CraftNoJg2"))
  978. //{
  979. // string filePath = row.GetValue("CraftPath");
  980. // dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
  981. // askDown.Show();
  982. //}
  983. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilCouplingProcess2.cpt"
  984. + "&ORDER_NO=" + orderNo;
  985. FrmRepExcel down = new FrmRepExcel(ob, strurl);
  986. down.Text = "接箍二级工艺";
  987. down.Visible = false;
  988. down.Size = new Size(740, this.Height);
  989. down.WindowState = FormWindowState.Maximized;
  990. down.ShowDialog();
  991. }
  992. private void ultraGrid4_ClickCellButton(object sender, CellEventArgs e)
  993. {
  994. UltraGridRow row = ultraGrid4.ActiveRow;
  995. if (row == null) return;
  996. string orderNo = row.Cells["OrderNoSeq"].Text.ToString();
  997. //if (e.Cell.Column.Key.Equals("CraftNoJg2"))
  998. //{
  999. // string filePath = row.GetValue("CraftPath");
  1000. // dlgOrderAskDown askDown = new dlgOrderAskDown(this.ob, filePath);
  1001. // askDown.Show();
  1002. //}
  1003. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilCouplingProcess2.cpt"
  1004. + "&ORDER_NO=" + orderNo;
  1005. FrmRepExcel down = new FrmRepExcel(ob, strurl);
  1006. down.Text = "接箍二级工艺";
  1007. down.Visible = false;
  1008. down.Size = new Size(740, this.Height);
  1009. down.WindowState = FormWindowState.Maximized;
  1010. down.ShowDialog();
  1011. }
  1012. #endregion
  1013. private void ultraGrid4_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  1014. {
  1015. foreach (UltraGridRow uRow in ultraGrid4.Selected.Rows)
  1016. {
  1017. if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
  1018. {
  1019. uRow.Cells["CHC"].Value = true;
  1020. }
  1021. }
  1022. }
  1023. /// <summary>
  1024. /// 拆分工单
  1025. /// </summary>
  1026. private void DoBreakUp()
  1027. {
  1028. UltraGridRow row = ultraGrid4.ActiveRow;
  1029. if (row == null) return;
  1030. int countM = 0;
  1031. ArrayList list = new ArrayList();
  1032. int reaNum = 0;//上料支
  1033. int plnNum = 0;//装炉支
  1034. double reaWt = 0;
  1035. double plnWt = 0;
  1036. double spitRatio = 0;
  1037. foreach (UltraGridRow item in ultraGrid4.Rows)
  1038. {
  1039. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1040. {
  1041. countM++;
  1042. ArrayList list1 = new ArrayList();
  1043. if (!item.Cells["RealBlNum"].Text.ToString().Equals(""))
  1044. {
  1045. reaNum = int.Parse(item.Cells["RealBlNum"].Value.ToString());
  1046. }
  1047. if (!item.Cells["PlanBlNum"].Text.ToString().Equals(""))
  1048. {
  1049. plnNum = int.Parse(item.Cells["PlanBlNum"].Value.ToString());
  1050. }
  1051. //if (item.Cells["ZyBillStatus"].Text.ToString().Equals("计划") || item.Cells["ZyBillStatus"].Text.ToString().Equals("下发"))
  1052. //{
  1053. // MessageUtil.ShowTips("选中工单是计划/下发状态,不能拆分!");
  1054. // return;
  1055. //}
  1056. //if (reaNum == 0)
  1057. //{
  1058. // MessageUtil.ShowTips("选中的炉计划无上料支,不能拆分!");
  1059. // return;
  1060. //}
  1061. if (plnNum - reaNum <= 0)
  1062. {
  1063. MessageUtil.ShowTips("选中的工单已全部上料,不能拆分!");
  1064. return;
  1065. }
  1066. plnWt = double.Parse(item.Cells["PlanBlWt"].Value.ToString());
  1067. reaWt=double.Parse(item.Cells["RealBlWt"].Value.ToString());
  1068. spitRatio = double.Parse(item.Cells["PlanBlWt"].Value.ToString()) / plnNum;
  1069. list1.Add(item.Cells["WoId"].Text.ToString().Trim());
  1070. list.Add(list1);
  1071. }
  1072. }
  1073. if (countM == 0)
  1074. {
  1075. MessageUtil.ShowTips("请勾选工单信息!");
  1076. return;
  1077. }
  1078. if (countM > 1)
  1079. {
  1080. MessageUtil.ShowWarning("不能一次性拆分多个工单!");
  1081. return;
  1082. }
  1083. FrmSpitBill spBill = new FrmSpitBill(plnWt, plnNum, spitRatio, this.ob, reaWt, reaNum);
  1084. spBill.ShowDialog();
  1085. double spitWgt = spBill.AlreadySpitWgt;
  1086. int spitNum = spBill.AlreadySpitNum;
  1087. if (MessageUtil.ShowYesNoAndQuestion("是否拆分?") == DialogResult.No) return;
  1088. PlanComm.WaitFromOpen(this.Cursor);
  1089. CoreClientParam ccp = new CoreClientParam();
  1090. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  1091. ccp.MethodName = "doBreakUp";
  1092. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), spitWgt.ToString(), spitNum.ToString() };
  1093. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1094. PlanComm.WaitFromColse(this.Cursor);
  1095. if (ccp.ReturnCode == -1) return;
  1096. MessageUtil.ShowTips(ccp.ReturnInfo);
  1097. if (ccp.ReturnInfo.Equals("拆分成功!"))
  1098. {
  1099. QueryWorkBillPln();
  1100. }
  1101. }
  1102. /// <summary>
  1103. ///修改工单计划支
  1104. /// </summary>
  1105. private void DoUpdateOrder()
  1106. {
  1107. UltraGridRow row = ultraGrid4.ActiveRow;
  1108. if (row == null) return;
  1109. int countM = 0;
  1110. ArrayList list = new ArrayList();
  1111. foreach (UltraGridRow item in ultraGrid4.Rows)
  1112. {
  1113. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1114. {
  1115. countM++;
  1116. ArrayList list1 = new ArrayList();
  1117. if (item.Cells["PlanBlNum"].Value.ToString().Equals("0"))
  1118. {
  1119. MessageUtil.ShowTips("计划支不能为零或空!");
  1120. return;
  1121. }
  1122. if (item.Cells["PlanBlWt"].Value.ToString().Equals("0"))
  1123. {
  1124. MessageUtil.ShowTips("计划吨不能为零或空!");
  1125. return;
  1126. }
  1127. if (item.Cells["ZyBillStatus"].Text.ToString().Equals("关闭"))
  1128. {
  1129. MessageUtil.ShowTips("选中工单已关闭,不能修改支吨!");
  1130. return;
  1131. }
  1132. list1.Add(item.Cells["PlanBlNum"].Value.ToString());
  1133. list1.Add(item.Cells["PlanBlWt"].Value.ToString());
  1134. list1.Add(item.Cells["WoId"].Text.ToString().Trim());
  1135. list.Add(list1);
  1136. }
  1137. }
  1138. if (countM == 0)
  1139. {
  1140. MessageUtil.ShowTips("请勾选工单信息!");
  1141. return;
  1142. }
  1143. if (MessageUtil.ShowYesNoAndQuestion("是否修改计划支吨?") == DialogResult.No) return;
  1144. PlanComm.WaitFromOpen(this.Cursor);
  1145. CoreClientParam ccp = new CoreClientParam();
  1146. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  1147. ccp.MethodName = "doUpdateOrder";
  1148. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName() };
  1149. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1150. PlanComm.WaitFromColse(this.Cursor);
  1151. if (ccp.ReturnCode == -1) return;
  1152. MessageUtil.ShowTips(ccp.ReturnInfo);
  1153. if (ccp.ReturnInfo.Equals("修改成功!"))
  1154. {
  1155. QueryWorkBillPln();
  1156. }
  1157. }
  1158. private void ultraGrid4_CellChange(object sender, CellEventArgs e)
  1159. {
  1160. UltraGridRow row = ultraGrid4.ActiveRow;
  1161. if (row == null) return;
  1162. //计划支
  1163. if (e.Cell.Column.Key.Equals("PlanBlNum"))
  1164. {
  1165. if (e.Cell.Row.Cells["PlanBlNum"].Value == null)
  1166. {
  1167. e.Cell.Row.Cells["PlanBlNum"].Value = "0";
  1168. }
  1169. else
  1170. {
  1171. ultraGrid4.UpdateData();
  1172. string hbConNum = e.Cell.Row.Cells["PlanBlNum"].Value.ToString();
  1173. if (!StringUtil.IsInt(hbConNum) || hbConNum == "0")
  1174. {
  1175. e.Cell.Row.Cells["PlanBlNum"].Value = "0";
  1176. }
  1177. }
  1178. }
  1179. //计划吨
  1180. if (e.Cell.Column.Key.Equals("PlanBlWt"))
  1181. {
  1182. if (e.Cell.Row.Cells["PlanBlWt"].Value == null)
  1183. {
  1184. e.Cell.Row.Cells["PlanBlWt"].Value = "0";
  1185. }
  1186. else
  1187. {
  1188. ultraGrid4.UpdateData();
  1189. string hbConWt = e.Cell.Row.Cells["PlanBlWt"].Value.ToString();
  1190. if (!StringUtil.IsFloat(hbConWt) || hbConWt == "0")
  1191. {
  1192. e.Cell.Row.Cells["PlanBlWt"].Value = "0";
  1193. }
  1194. }
  1195. }
  1196. }
  1197. /// <summary>
  1198. /// 工单调整顺序
  1199. /// </summary>
  1200. /// <param name="sender"></param>
  1201. /// <param name="e"></param>
  1202. private void ultraGrid4_MouseDown(object sender, MouseEventArgs e)
  1203. {
  1204. try
  1205. { ultraGrid4.UpdateData(); }
  1206. catch (Exception)
  1207. {
  1208. MessageUtil.ShowWarning("数据异常,请刷新数据!"); return;
  1209. }
  1210. if (e.Button == MouseButtons.Right)
  1211. {
  1212. //移动行
  1213. ArrayList entityList = ProducHelper.GetChcRows<PlnZyJgWorkbillEntity>(ultraGrid4);
  1214. if (entityList == null || entityList.Count == 0)
  1215. {
  1216. return;
  1217. }
  1218. //定位行
  1219. UIElement myUIElement = ultraGrid4.DisplayLayout.UIElement.ElementFromPoint(new Point(e.X, e.Y));
  1220. UltraGridCell myCell = (UltraGridCell)myUIElement.GetContext(typeof(UltraGridCell));
  1221. if (myCell == null) { return; }
  1222. UltraGridRow ugr = myCell.Row;
  1223. if (ugr == null) { return; }
  1224. PlnZyJgWorkbillEntity entityD = (PlnZyJgWorkbillEntity)ugr.ListObject;
  1225. //定位行计划
  1226. if (entityD.ZyBillStatus.Equals("生产完成") ||entityD.ZyBillStatus.Equals("关闭")) { return; }
  1227. //定位行序号
  1228. string gxProSeqD = entityD.GxProSeq.ToString();
  1229. //移动行序号集合
  1230. ArrayList seqList = new ArrayList();
  1231. ArrayList list = new ArrayList();
  1232. //获取数据库服务器当前时间
  1233. //string time = DateTime.Now.ToString("yyyy-MM");
  1234. //DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.base.ProducHelper.selectSystemTime", null, ob);
  1235. //if (dt.Rows.Count > 0)
  1236. //{
  1237. // time = dt.Rows[0]["DATIME"].ToString().Substring(0, 7);
  1238. //}
  1239. foreach (object entityM in entityList)
  1240. {
  1241. PlnZyJgWorkbillEntity entity = (PlnZyJgWorkbillEntity)entityM;
  1242. //调整行只能为计划中的
  1243. if (entity.ZyBillStatus.Equals("生产完成") || entity.ZyBillStatus.Equals("关闭")) { return; }
  1244. seqList.Add(Convert.ToInt32(entity.GxProSeq));
  1245. list.Add(JSONFormat.Format(entity));
  1246. }
  1247. seqList.Sort();
  1248. //如果鼠标坐标行在调整行的中间,则不允许调整
  1249. if (Convert.ToInt32(gxProSeqD) >= (int)seqList[0] && Convert.ToInt32(gxProSeqD) <= (int)seqList[seqList.Count - 1])
  1250. {
  1251. return ;
  1252. }
  1253. if (MessageUtil.ShowYesNoAndQuestion("是否调整生产顺序至:" + entityD.GxProSeq + "位?") == DialogResult.No)
  1254. {
  1255. return ;
  1256. }
  1257. string[] param = PlanHelper.SetData("com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill.sortPlanOrder", new object[] { list, JSONFormat.Format(entityD) }, ob);
  1258. if (param == null) { MessageUtil.ShowTips("服务端处理失败!"); return; }
  1259. else
  1260. {
  1261. _entityList = entityList;
  1262. QueryWorkBillPln();
  1263. }
  1264. }
  1265. }
  1266. private void ultraGrid4_AfterRowActivate(object sender, EventArgs e)
  1267. {
  1268. UltraGridRow row = ultraGrid4.ActiveRow;
  1269. if (row == null) return;
  1270. ultraGrid4.UpdateData();
  1271. string plineCode = row.Cells["PlineCode"].Text.ToString();
  1272. //DataRow[] rows = dt1.Select("PLINE_NO='" + plineCode + "'");
  1273. //if (rows.Count() > 0)
  1274. //{
  1275. // DataTable dt3 = rows[0].Table.Clone();
  1276. // foreach (DataRow drow in rows)
  1277. // {
  1278. // dt3.ImportRow(drow); // 将DataRow添加到DataTable中
  1279. // }
  1280. // csMachine.DataSource = dt3;
  1281. // csMachine.DisplayMember = "MACHINE_NAME";
  1282. // csMachine.ValueMember = "MACHINE_NO";
  1283. //}
  1284. ////根据接箍产线过切割机床编号
  1285. //DataRow[] rows1 = dt2.Select("PLINE_CODE='" + plineCode + "'");
  1286. //if (rows.Count() > 0)
  1287. //{
  1288. // DataTable dt4 = rows[0].Table.Clone();
  1289. // foreach (DataRow drow in rows1)
  1290. // {
  1291. // dt4.ImportRow(drow); // 将DataRow添加到DataTable中
  1292. // }
  1293. // cutMachine.DataSource = dt4;
  1294. // cutMachine.DisplayMember = "MACHINE_NAME";
  1295. // cutMachine.ValueMember = "MACHINE_NO";
  1296. //}
  1297. }
  1298. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  1299. {
  1300. UltraGridRow row1 = ultraGrid2.ActiveRow;
  1301. if (row1 == null) return;
  1302. string proPlanId = row1.Cells["ProPlanId"].Text.ToString() + "/" + row1.Cells["GxPlanNo"].Text.ToString();
  1303. //QueryZyPln(proPlanId, "0");
  1304. UltraGridRow row = ultraGrid1.ActiveRow;
  1305. if (row == null) return;
  1306. foreach (UltraGridRow item in ultraGrid2.Rows)
  1307. {
  1308. if (item == null) return;
  1309. if (item.Cells["ProPlanId"].Value.ToString().Equals(row.Cells["ProPlanId"].Text.ToString()))
  1310. {
  1311. item.Appearance.BackColor = Color.Wheat;
  1312. item.Activate();
  1313. string wasteRate = "0";
  1314. if (!row.Cells["WasteRate"].Text.Equals(""))
  1315. {
  1316. wasteRate = row.Cells["WasteRate"].Value.ToString();
  1317. }
  1318. item.Cells["XqJgNum"].Value = (int)Math.Ceiling((1 + double.Parse(wasteRate) / 10000) * int.Parse(item.Cells["ExpectNum"].Value.ToString()));
  1319. }
  1320. else
  1321. {
  1322. item.Appearance.ResetBackColor();
  1323. item.Cells["XqJgNum"].Value = "0";
  1324. }
  1325. //item.Cells["CHC"].Value = false;
  1326. }
  1327. }
  1328. /// <summary>
  1329. /// 炉计划下发
  1330. /// </summary>
  1331. private void doFurnacePlan(string flag)
  1332. {
  1333. UltraGridRow row = ultraGrid1.ActiveRow;
  1334. if (row == null) return;
  1335. int countM = 0;
  1336. ArrayList list = new ArrayList();
  1337. foreach (UltraGridRow item in ultraGrid1.Rows)
  1338. {
  1339. if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
  1340. {
  1341. countM++;
  1342. ArrayList list1 = new ArrayList();
  1343. if (flag.Equals("0") && !item.Cells["Planstatus"].Text.ToString().Equals("计划"))
  1344. {
  1345. MessageUtil.ShowTips("选中该炉计划已下发,不能重复下发!");
  1346. return;
  1347. }
  1348. if (flag.Equals("1") && item.Cells["Planstatus"].Text.ToString().Equals("计划"))
  1349. {
  1350. MessageUtil.ShowTips("选中该炉计划不处于下发状态,不能撤销!");
  1351. return;
  1352. }
  1353. list1.Add(item.Cells["HeatPlanNo"].Text.ToString().Trim());
  1354. list.Add(list1);
  1355. }
  1356. }
  1357. if (countM == 0)
  1358. {
  1359. MessageUtil.ShowTips("请勾选接箍炉计划信息!");
  1360. return;
  1361. }
  1362. if (MessageUtil.ShowYesNoAndQuestion((flag.Equals("0") ? "是否下发?" : "是否撤销下发?")) ==
  1363. DialogResult.No)
  1364. return;
  1365. PlanComm.WaitFromOpen(this.Cursor);
  1366. CoreClientParam ccp = new CoreClientParam();
  1367. ccp.ServerName = "com.steering.pss.plnsaleord.jggxpln.FrmPlnZyJgWorkBill";
  1368. ccp.MethodName = "doFurnacePlan";
  1369. ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName(), flag };
  1370. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1371. PlanComm.WaitFromColse(this.Cursor);
  1372. if (ccp.ReturnCode == -1) return;
  1373. MessageUtil.ShowTips(ccp.ReturnInfo);
  1374. if (ccp.ReturnInfo.Equals(flag.Equals("0") ? "下发成功!" : "撤销成功!"))
  1375. {
  1376. Query();
  1377. }
  1378. }
  1379. private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
  1380. {
  1381. UltraGridRow row = ultraGrid1.ActiveRow;
  1382. if (row == null) return;
  1383. string proPlanId = row.Cells["ProPlanId"].Text.ToString() + "/" + row.Cells["GxPlanNo"].Text.ToString();
  1384. QueryJgOrder(proPlanId);
  1385. foreach (UltraGridRow item in ultraGrid2.Rows)
  1386. {
  1387. if (item == null) return;
  1388. if (item.Cells["ProPlanId"].Value.ToString().Equals(row.Cells["ProPlanId"].Text.ToString()))
  1389. {
  1390. item.Appearance.BackColor = Color.Wheat;
  1391. item.Activate();
  1392. string wasteRate = "0";
  1393. if (!row.Cells["WasteRate"].Text.Equals(""))
  1394. {
  1395. wasteRate = row.Cells["WasteRate"].Value.ToString();
  1396. }
  1397. item.Cells["XqJgNum"].Value = (int)Math.Ceiling((1 + double.Parse(wasteRate) / 10000) * int.Parse(item.Cells["ExpectNum"].Value.ToString()));
  1398. }
  1399. else
  1400. {
  1401. item.Appearance.ResetBackColor();
  1402. item.Cells["XqJgNum"].Value = "0";
  1403. }
  1404. //item.Cells["CHC"].Value = false;
  1405. }
  1406. }
  1407. private void ultraGrid2_AfterRowActivate_1(object sender, EventArgs e)
  1408. {
  1409. UltraGridRow row1 = ultraGrid2.ActiveRow;
  1410. if (row1 == null) return;
  1411. string proPlanId = row1.Cells["ProPlanId"].Text.ToString() + "/" + row1.Cells["GxPlanNo"].Text.ToString();
  1412. UltraGridRow row = ultraGrid1.ActiveRow;
  1413. if (row == null) return;
  1414. foreach (UltraGridRow item in ultraGrid1.Rows)
  1415. {
  1416. string proPlanId1 = item.Cells["ProPlanId"].Value.ToString() + "/" + item.Cells["GxPlanNo"].Value.ToString();
  1417. if (item == null) return;
  1418. if (proPlanId1.Equals(proPlanId))
  1419. {
  1420. item.Appearance.BackColor = Color.Wheat;
  1421. item.Activate();}
  1422. else
  1423. {
  1424. item.Appearance.ResetBackColor();
  1425. }
  1426. //item.Cells["CHC"].Value = false;
  1427. }
  1428. }
  1429. }
  1430. }