frmCraftReviewTechnologyList.cs 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Server;
  11. using Core.Mes.Client.Comm.Control;
  12. using Infragistics.Win.UltraWinGrid;
  13. using Core.StlMes.Client.Qcm;
  14. using Core.Mes.Client.Comm.Format;
  15. using System.Collections;
  16. using Core.Mes.Client.Comm.Tool;
  17. using System.Threading;
  18. using CoreFS.SA06;
  19. namespace Core.StlMes.Client.Qcm.ht
  20. {
  21. public partial class frmCraftReviewTechnologyList : FrmBase
  22. {
  23. private CtrlBom _ctrlBom;
  24. private CtrlBom _ctrlBomHead;
  25. private CtrlBom _ctrlBomJg;
  26. private CtrlBom _ctrlBomBl;
  27. private CtrlBomI _ctrlBomI;
  28. private CtrlBom _ctrlBomJgBl;
  29. private string _errItem = "";//当前正在执行确认的错误项。
  30. private bool _isRun = false;//是否正在执行后台查询和质量设计
  31. private Dictionary<string, string> _dicQualityFlag = new Dictionary<string, string>();
  32. private string _msc = "";
  33. public frmCraftReviewTechnologyList(String msc, OpeBase ob)
  34. {
  35. _msc = msc;
  36. this.ob = ob;
  37. InitializeComponent();
  38. //ExceptionHelper.RegistException();
  39. _ctrlBomHead = new CtrlBom(splitContainer1.Panel1);
  40. _ctrlBomHead.UltraLabel1.Text = " 产品";
  41. _ctrlBomHead.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomHead_AfterRowActivate);
  42. GridHelper.HidenExcludeColumns(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0], "MaterialDesc");
  43. _ctrlBom = new CtrlBom(ultraTabPageControl14);
  44. _ctrlBom.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBom_AfterRowActivate);
  45. _ctrlBom.UltraLabel1.Text = " 产品";
  46. GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "JInMaterialDesc", "JOutMaterialDesc", "IInMaterialDesc", "IOutMaterialDesc");
  47. GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo");
  48. _ctrlBomJg = new CtrlBom(ultraTabPageControl12);
  49. _ctrlBomJg.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomJg_AfterRowActivate);
  50. _ctrlBomJg.UltraLabel1.Text = " 接箍";
  51. GridHelper.HidenExcludeColumns(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo", "MaterialDesc", "BomTyp");
  52. _ctrlBomBl = new CtrlBom(ultraTabPageControl13);
  53. _ctrlBomBl.UltraLabel1.Text = " 备料";
  54. _ctrlBomI = new CtrlBomI(splitContainer2.Panel2);
  55. _ctrlBomJgBl = new CtrlBom(splitContainer2.Panel2);
  56. _ctrlBomJgBl.Visible = false;
  57. this.IsLoadUserView = true;
  58. }
  59. private void frmOrderReviewTechnologyList_Load(object sender, EventArgs e)
  60. {
  61. labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-30);
  62. labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  63. //评审状态,设计状态,默认选中第一项,数据是手动绑定在控件上面的。
  64. cmbSts.SelectedIndex = 0;
  65. cmbDesignSts.SelectedIndex = 0;
  66. ClsBaseInfo.SetComboItemHeight(cmbSts);
  67. ClsBaseInfo.SetComboItemHeight(cmbDesignSts);
  68. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0]);
  69. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0]);
  70. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0]);
  71. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomBl.UltraGridBom.DisplayLayout.Bands[0]);
  72. EntityHelper.ShowGridCaption<SlmOrdDesignBomIEntity>(_ctrlBomI.UltraGridBomI.DisplayLayout.Bands[0]);
  73. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomJgBl.UltraGridBom.DisplayLayout.Bands[0]);
  74. InitSche();
  75. doQuery();
  76. }
  77. private void InitSche()
  78. {
  79. }
  80. /// <summary>
  81. /// 重写基类toolBar方法
  82. /// </summary>
  83. /// <param name="sender"></param>
  84. /// <param name="ToolbarKey"></param>
  85. public override void ToolBar_Click(object sender, string ToolbarKey)
  86. {
  87. switch (ToolbarKey)
  88. {
  89. case "doQuery":
  90. doQuery();
  91. break;
  92. case "Msc":
  93. ShowMsc();
  94. break;
  95. case "doClose":
  96. this.Close();
  97. break;
  98. case "Export":
  99. GridHelper.ulGridToExcel(ultraGridOrderLine, "工艺评审清单");
  100. break;
  101. }
  102. }
  103. private DataTable GetCraftDesignSts(string ordLnPk)
  104. {
  105. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getCraftDesignSts",
  106. new object[] { ordLnPk }, ob);
  107. return dt;
  108. }
  109. private void ShowMsc()
  110. {
  111. if (ultraGridOrderLine.ActiveRow == null) return;
  112. var row = ultraGridOrderLine.ActiveRow;
  113. string psc = row.GetValue("PSC");
  114. string msc = "";
  115. string dimater = "";
  116. string height = "";
  117. string specCode = "";
  118. msc = row.GetValue("MSC");
  119. dimater = row.GetValue("DIMATER");
  120. height = row.GetValue("HEIGHT");
  121. specCode = row.GetValue("SPEC_CODE");
  122. string ordLnPk = row.GetValue("ORD_LN_PK");
  123. FrmProPSCMSC2Popup popup = new FrmProPSCMSC2Popup(new string[] { psc, msc, dimater, height, specCode, ordLnPk},
  124. "", "", "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.AllMsc, "", ob);
  125. popup.ShowDialog();
  126. }
  127. /// <summary>
  128. /// 获取当前合同头状态。
  129. /// </summary>
  130. /// <param name="ordPk"></param>
  131. /// <returns></returns>
  132. private DataTable GetOrderHeadSts(string ordPk)
  133. {
  134. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetOrderHeadSts",
  135. new object[] { ordPk }, this.ob);
  136. }
  137. /// <summary>
  138. /// 修改当前合同头状态为技术评审失败
  139. /// </summary>
  140. /// <param name="ordSts"></param>
  141. private void UpdateOrderHeadSts(string ordPk)
  142. {
  143. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.UpdateOrderHeadSts",
  144. new object[] { ordPk }, this.ob);
  145. }
  146. /// <summary>
  147. /// 合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。
  148. /// </summary>
  149. private void UpdateOrderHead(string ordPk)
  150. {
  151. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.UpdateOrderHead",
  152. new Object[] { ordPk }, this.ob);
  153. }
  154. /// <summary>
  155. /// 依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。
  156. /// </summary>
  157. /// <param name="ordPk"></param>
  158. /// <returns></returns>
  159. private DataTable GetLineDtByOrdPk(string ordPk)
  160. {
  161. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetLineDtByOrdPk",
  162. new Object[] { ordPk }, this.ob);
  163. }
  164. private DataTable GetOrdLnState(string ordLnPk)
  165. {
  166. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getOrdLnState",
  167. new object[] { ordLnPk }, ob);
  168. return dt;
  169. }
  170. private Dictionary<string, string> _craftDataSourceDic = new Dictionary<string, string>();
  171. /// <summary>
  172. /// 获取制程工艺评审中的工艺文件号。
  173. /// </summary>
  174. /// <param name="desginKey"></param>
  175. /// <returns></returns>
  176. private DataTable GetDesignPlCraftNo(string desginKey)
  177. {
  178. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getDesignPlCraftNo",
  179. new object[] { desginKey }, ob);
  180. return dt;
  181. }
  182. /// <summary>
  183. /// 修改工艺文件号并置为生效状态
  184. /// </summary>
  185. /// <param name="ordLnPk"></param>
  186. private void UpdateCraftNo(string ordLnPk, string craftNo, string craftPath)
  187. {
  188. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.updateCraftNo",
  189. new object[] { ordLnPk, craftNo, craftPath }, ob);
  190. }
  191. /// <summary>
  192. /// 复制FTP服务器不同目录的文件。
  193. /// </summary>
  194. /// <param name="srcPath"></param>
  195. /// <param name="desPath"></param>
  196. public int CopyFtpFile(string srcPath, string desPath)
  197. {
  198. List<FileBean> list = FileHelper.Download(srcPath);
  199. int i = 0;
  200. foreach (FileBean file in list)
  201. {
  202. file.setPathName(desPath);
  203. i++;
  204. }
  205. bool result = FileHelper.Upload(list);
  206. if (result)
  207. {
  208. return i;
  209. }
  210. else
  211. {
  212. return -1;
  213. }
  214. }
  215. /// <summary>
  216. /// 查询工艺指派记录
  217. /// </summary>
  218. /// <param name="ordLnPk"></param>
  219. /// <returns></returns>
  220. private DataTable GetCraftDesignAppointByPk(string ordLnPk)
  221. {
  222. DataTable dt = ServerHelper.GetData(
  223. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.getCraftDesignAppointByPk",
  224. new object[] { ordLnPk }, ob);
  225. return dt;
  226. }
  227. private void Relocate(string ordLnPk)
  228. {
  229. doQuery();
  230. foreach (UltraGridRow rowT in ultraGridOrderLine.Rows)
  231. {
  232. if (ordLnPk.Equals(rowT.Cells["ORD_LN_PK"].Value.ToString()))
  233. {
  234. rowT.Activate();
  235. break;
  236. }
  237. }
  238. }
  239. private void CopyOrdToCraft(string ordLnPk, string craftSrc, string userName, bool isClickQualityButton)
  240. {
  241. sum++;
  242. object obj = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.copyOrdToCraft",
  243. new object[] { ordLnPk, craftSrc, userName }, ob);
  244. if (isClickQualityButton)
  245. {
  246. //工艺指定,默认是点击工艺制定的人。
  247. ArrayList list = new ArrayList();
  248. list.Add(ordLnPk);
  249. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.appoint",
  250. new object[] { list, UserInfo.GetUserName(), UserInfo.GetUserName(), UserInfo.GetUserID() }, ob);
  251. }
  252. if (obj.ToString() == "S")
  253. {
  254. sumT++;
  255. }
  256. else
  257. {
  258. sumF++;
  259. }
  260. }
  261. private DataRow GetMscBLByPk(string bLCode)
  262. {
  263. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.BLCodeManage.queryMscBlByPk",
  264. new object[] { bLCode }, ob);
  265. return dt.Rows[0];
  266. }
  267. /// <summary>
  268. /// 获取合同行技术评审状态。
  269. /// </summary>
  270. /// <param name="ordLnPk"></param>
  271. /// <returns></returns>
  272. private string GetReviewStatus(string ordLnPk)
  273. {
  274. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetReviewStatus",
  275. new Object[] { ordLnPk }, this.ob);
  276. if (dt.Rows.Count > 0)
  277. {
  278. return dt.Rows[0][0].ToString();
  279. }
  280. else
  281. {
  282. return "";
  283. }
  284. }
  285. private int sum = 0;
  286. private int sumT = 0;
  287. private int sumF = 0;
  288. /// <summary>
  289. /// 质量设计方法
  290. /// </summary>
  291. private void Quality(string ordLnPk, string designKey)
  292. {
  293. if (AskRollBack() == false) return;
  294. string flag = ordLnPk.StartsWith("BL") ? "1" : "0";
  295. CoreClientParam ccp = new CoreClientParam();
  296. ccp.ServerName = "com.steering.pss.sale.order.craftDesign.main.CraftDesignMain";
  297. ccp.MethodName = "craftDesign";
  298. ccp.ServerParams = new object[] { ordLnPk, UserInfo.GetUserName(), designKey, flag };
  299. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  300. if (ccp.ReturnCode == -1)
  301. {
  302. return;
  303. }
  304. else
  305. {
  306. if (!"".Equals(ccp.ReturnInfo))
  307. {
  308. MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  309. return;
  310. }
  311. sum++;
  312. if (Convert.ToBoolean(ccp.ReturnObject.ToString()))
  313. {
  314. sumT++;
  315. }
  316. else
  317. {
  318. sumF++;
  319. }
  320. }
  321. }
  322. /// <summary>
  323. /// 质量设计方法
  324. /// </summary>
  325. private void QualityBL(string blCode)
  326. {
  327. //循环遍历当前UltraGrid,判断行是否选中,选中则调用质量设计方法即可。
  328. //循环调用质量设计方法。
  329. if (AskRollBack() == false) return;
  330. ArrayList param = new ArrayList();
  331. param.Add(UserInfo.GetUserID());
  332. CoreClientParam ccp = new CoreClientParam();
  333. ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignBL";
  334. ccp.MethodName = "qualityDesignBL";
  335. ccp.ServerParams = new object[] { blCode, UserInfo.GetUserName() };
  336. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  337. //ccp.ReturnObject();
  338. if (ccp.ReturnCode == -1)
  339. {
  340. return;
  341. }
  342. else
  343. {
  344. if (!"".Equals(ccp.ReturnInfo))
  345. {
  346. MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  347. return;
  348. }
  349. sum++;
  350. if (Convert.ToBoolean(ccp.ReturnObject.ToString()))
  351. {
  352. sumT++;
  353. }
  354. else
  355. {
  356. sumF++;
  357. }
  358. }
  359. }
  360. private DataTable GetParentData()
  361. {
  362. //模糊查询条件,合同号、评审状态W、F、S、设计状态。
  363. string beginTime = "";
  364. string endTime = "";
  365. if (labelDateTimePicker1.Checked)
  366. {
  367. beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss");
  368. endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss");
  369. }
  370. string ordLnPk = utxtOrderNo.Text.Trim();
  371. string isValid = chkHis.Checked == true ? "0" : "1";
  372. string planStatus = "1";
  373. string userDesc = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
  374. if (labelComboBox1.Checked)
  375. {
  376. if (labelComboBox1.SelecteValue.ToString2() == "0")
  377. {
  378. planStatus = "0";
  379. }
  380. }
  381. string isBl = checkBox1.Checked ? "1" : "0";
  382. ArrayList list = new ArrayList();
  383. list.AddRange(ordLnPk, beginTime, endTime, isValid, planStatus, isBl, userDesc, _msc);
  384. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.doQueryCraft1",
  385. new Object[] { list }, this.ob);
  386. return dt;
  387. }
  388. /// <summary>
  389. /// 合同行查询
  390. /// </summary>
  391. private void doQuery()
  392. {
  393. try
  394. {
  395. this.Cursor = Cursors.WaitCursor;
  396. string beginTime = "";
  397. string endTime = "";
  398. if (labelDateTimePicker1.Checked)
  399. {
  400. /*if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(30))
  401. {
  402. MessageUtil.ShowWarning("查询条件:合同行生效时间范围不能超过31天!");
  403. labelDateTimePicker1.DateTimePicker.Focus();
  404. return;
  405. }
  406. else */
  407. if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0))
  408. {
  409. MessageUtil.ShowWarning("查询条件:合同行生效时间的开始时间不能大于结束时间!");
  410. labelDateTimePicker1.DateTimePicker.Focus();
  411. return;
  412. }
  413. beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss");
  414. endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss");
  415. }
  416. //模糊查询条件,合同号、评审状态W、F、S、设计状态。
  417. string ordLnPk = utxtOrderNo.Text.Trim();
  418. string orderSts = cmbSts.Value.ToString().Trim();
  419. string designSts = cmbDesignSts.Value.ToString().Trim();
  420. string unit_code = UserInfo.GetDeptid();
  421. if (UserInfo.GetUserID() == "admin" || UserInfo.GetUserID() == "19880049")
  422. {
  423. unit_code = "";
  424. }
  425. //先清除交货信息子表记录,再清除合同行主表记录。
  426. this.slm_order_line_delivery.Rows.Clear();
  427. this.slm_order_line.Clear();
  428. DataTable dt = GetParentData();
  429. //当合同行数据为空时,清空其下设计状态TABLE。
  430. if (dt.Rows.Count <= 0)
  431. {
  432. //交付标准
  433. this.slm_ord_design_std.Rows.Clear();
  434. //制程
  435. this.slm_ord_design_msc_pl.Rows.Clear();
  436. //制程适用钢种
  437. this.slm_ord_design_msc_pl_gz.Rows.Clear();
  438. //投入、产出物料,现在好像没有该表。
  439. this.slm_ord_design_msc_pl_In.Rows.Clear();
  440. //接箍料
  441. this.com_msc_jg.Rows.Clear();
  442. //接箍备料
  443. this.com_msc_bl.Rows.Clear();
  444. //单独备料
  445. this.slm_ord_design_msc_bl.Rows.Clear();
  446. //生产周期主表
  447. this.slm_ord_design_msc_pl_pc.Rows.Clear();
  448. //生产周期明细
  449. this.slm_ord_design_msc_pl_pc_lst.Rows.Clear();
  450. _ctrlBom.BomBindingSource.Clear();
  451. _ctrlBomBl.BomBindingSource.Clear();
  452. _ctrlBomHead.BomBindingSource.Clear();
  453. _ctrlBomI.BomIBindingSource.Clear();
  454. _ctrlBomJg.BomBindingSource.Clear();
  455. _ctrlBomJgBl.BomBindingSource.Clear();
  456. }
  457. //绑定数据时,先绑定主表。
  458. GridHelper.CopyDataToDatatable(ref dt, ref this.slm_order_line, true);
  459. ultraGridOrderLine.UpdateData();
  460. }
  461. finally
  462. {
  463. this.Cursor = Cursors.Default;
  464. }
  465. }
  466. /// <summary>
  467. /// 获取当前合同行主键下面,设计状态不通过的管理科室。
  468. /// </summary>
  469. /// <param name="p"></param>
  470. /// <returns></returns>
  471. private DataTable isDesignV(string ordLnPk)
  472. {
  473. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.isDesignV",
  474. new Object[] { ordLnPk }, this.ob);
  475. }
  476. /// <summary>
  477. /// 查询区合同号查询事件。
  478. /// </summary>
  479. /// <param name="sender"></param>
  480. /// <param name="e"></param>
  481. private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
  482. {
  483. if (uchkOrderNo.Checked)
  484. {
  485. utxtOrderNo.ReadOnly = false;
  486. }
  487. else
  488. {
  489. utxtOrderNo.Text = "";
  490. utxtOrderNo.ReadOnly = true;
  491. }
  492. }
  493. /// <summary>
  494. /// 查询区评审状态
  495. /// </summary>
  496. /// <param name="sender"></param>
  497. /// <param name="e"></param>
  498. private void uchkSts_CheckedChanged(object sender, EventArgs e)
  499. {
  500. if (uchkSts.Checked)
  501. {
  502. cmbSts.ReadOnly = false;
  503. }
  504. else
  505. {
  506. cmbSts.ReadOnly = true;
  507. cmbSts.SelectedIndex = 0;
  508. }
  509. }
  510. /// <summary>
  511. /// 查询区设计状态
  512. /// </summary>
  513. /// <param name="sender"></param>
  514. /// <param name="e"></param>
  515. private void uchkDesignSts_CheckedChanged(object sender, EventArgs e)
  516. {
  517. if (uchkDesignSts.Checked)
  518. {
  519. cmbDesignSts.ReadOnly = false;
  520. }
  521. else
  522. {
  523. cmbDesignSts.ReadOnly = true;
  524. cmbDesignSts.SelectedIndex = 0;
  525. }
  526. }
  527. private string pOrdLnPk = "";
  528. private string pDesignKey = "";
  529. /// <summary>
  530. /// 选中合同行时
  531. /// </summary>
  532. /// <param name="sender"></param>
  533. /// <param name="e"></param>
  534. private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e)
  535. {
  536. string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  537. string designKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  538. GetDesginDownData(ordLnPk, designKey);
  539. }
  540. private void ultraTabControl3_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  541. {
  542. if (ultraGridOrderLine.ActiveRow == null) return;
  543. this.Cursor = Cursors.WaitCursor;
  544. string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  545. string designKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  546. GetDesginDownData(ordLnPk, designKey);
  547. this.Cursor = Cursors.Default;
  548. }
  549. /// <summary>
  550. /// 获取质量设计向下数据
  551. /// </summary>
  552. private void GetDesginDownData(string ordLnPk, string designKey)
  553. {
  554. if (ultraTabControl3.SelectedTab == null) return;
  555. switch (ultraTabControl3.SelectedTab.Key)
  556. {
  557. case "0":
  558. //产品交付要求数据绑定
  559. GetDesignStd(designKey);
  560. break;
  561. case "1":
  562. //生产制程,全程途径数据绑定。
  563. GetDesignMscPl(designKey);
  564. break;
  565. case "2":
  566. //接箍数据绑定。COM_MSC_JG
  567. GetComMscJg(designKey);
  568. break;
  569. case "3":
  570. //备料码数据绑定
  571. GetMscBl(designKey);
  572. break;
  573. case "4":
  574. //交货行数据绑定。
  575. GetMscPlPc(ordLnPk);
  576. break;
  577. case "5":
  578. GetBomHead(designKey);
  579. break;
  580. case "7":
  581. GetPlsOrdProc(ordLnPk);
  582. break;
  583. }
  584. }
  585. /// <summary>
  586. /// 获取计划排产队列
  587. /// </summary>
  588. private void GetPlsOrdProc(string ordLnPk)
  589. {
  590. UltraGridRow row = ultraGridOrderLine.ActiveRow;
  591. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.queryPlnProcess",
  592. new object[] { row.GetValue("ORD_LN_PK") }, ob);
  593. GridHelper.CopyDataToDatatable(dt, dataTable14, true);
  594. //PlnSaleordProcEntity plaOrdProcEntity = new PlnSaleordProcEntity();
  595. //plaOrdProcEntity.CraftFileNo = row.GetValue("CRAFT_NO");
  596. //plaOrdProcEntity.CraftNoV = row.GetValue("CRAFT_NO_V_C");
  597. //_plaSaleOrdProcCtrl.Query(plaOrdProcEntity, ordLnPk);
  598. }
  599. /// <summary>
  600. /// 备料码
  601. /// </summary>
  602. /// <param name="ordLnPk"></param>
  603. private void GetMscBl(string designKey)
  604. {
  605. DataTable mscBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftMscBl",
  606. new Object[] { designKey }, this.ob);
  607. GridHelper.CopyDataToDatatable(ref mscBlDt, ref this.slm_ord_design_msc_bl, true);
  608. ////列自适应
  609. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscBl, new UltraGridColumn[] {
  610. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]3
  611. //});
  612. }
  613. private void GetBomHead(string designKey)
  614. {
  615. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  616. "com.steering.pss.sale.order.CoreOrderReviewTechnologyList.getCraftBomLst", new object[] { designKey }, ob);
  617. _ctrlBomHead.BomBindingSource.DataSource = listSource;
  618. if (_ctrlBomHead.UltraGridBom.Rows.Count == 0)
  619. {
  620. _ctrlBom.BomBindingSource.Clear();
  621. _ctrlBomJg.BomBindingSource.Clear();
  622. _ctrlBomBl.BomBindingSource.Clear();
  623. _ctrlBomI.BomIBindingSource.Clear();
  624. _ctrlBomJgBl.BomBindingSource.Clear();
  625. }
  626. }
  627. /// <summary>
  628. /// 查询Bom
  629. /// </summary>
  630. private void GetBom(SlmOrdDesignBomEntity bom)
  631. {
  632. List<SlmOrdDesignBomEntity> listSource = new List<SlmOrdDesignBomEntity>();
  633. listSource.Add(EntityHelper.CopyEntity<SlmOrdDesignBomEntity>(bom));
  634. _ctrlBom.BomBindingSource.DataSource = listSource;
  635. GridHelper.RefreshAndAutoSize(_ctrlBom.UltraGridBom);
  636. if (_ctrlBom.UltraGridBom.Rows.Count == 0)
  637. {
  638. _ctrlBomI.BomIBindingSource.Clear();
  639. }
  640. }
  641. /// <summary>
  642. /// 查询BomJg
  643. /// </summary>
  644. private void GetBomJg(string bom)
  645. {
  646. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  647. "com.steering.pss.sale.order.CoreOrderReviewTechnologyList.getBomJgLst", new object[] { bom }, ob);
  648. _ctrlBomJg.BomBindingSource.DataSource = listSource;
  649. GridHelper.RefreshAndAutoSize(_ctrlBomJg.UltraGridBom);
  650. }
  651. /// <summary>
  652. /// 查询BomBl
  653. /// </summary>
  654. private void GetBomBl(string bom)
  655. {
  656. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  657. "com.steering.pss.sale.order.CoreOrderReviewTechnologyList.getBomBlLst", new object[] { bom }, ob);
  658. _ctrlBomBl.BomBindingSource.DataSource = listSource;
  659. GridHelper.RefreshAndAutoSize(_ctrlBomBl.UltraGridBom);
  660. }
  661. private void GetBomJgBlByBom(string bom, string bomJg)
  662. {
  663. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  664. "com.steering.pss.sale.order.CoreOrderReviewTechnologyList.getBomLstByBomJg", new object[] { bom, bomJg }, ob);
  665. _ctrlBomJgBl.BomBindingSource.DataSource = listSource;
  666. GridHelper.RefreshAndAutoSize(_ctrlBomJgBl.UltraGridBom);
  667. }
  668. private void GetBomIByBom(string bom)
  669. {
  670. List<SlmOrdDesignBomIEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomIEntity>(
  671. "com.steering.pss.sale.order.CoreOrderReviewTechnologyList.getBomILst", new object[] { bom }, ob);
  672. _ctrlBomI.BomIBindingSource.DataSource = listSource;
  673. GridHelper.RefreshAndAutoSize(_ctrlBomI.UltraGridBomI);
  674. }
  675. /// <summary>
  676. /// 交货行数据绑定。
  677. /// </summary>
  678. /// <param name="ordLnPk"></param>
  679. private void GetMscPlPc(string ordLnPk)
  680. {
  681. DataTable mscPlPcDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftMscPlPc",
  682. new Object[] { ordLnPk, "" }, this.ob);
  683. if (mscPlPcDt.Rows.Count > 0)
  684. {
  685. GridHelper.CopyDataToDatatable(ref mscPlPcDt, ref this.slm_ord_design_msc_pl_pc, true);
  686. foreach (UltraGridRow row in ultraGridMscPlPc.Rows)
  687. {
  688. row.SetValue("BTN", "维护");
  689. }
  690. }
  691. else
  692. {
  693. this.slm_ord_design_msc_pl_pc.Rows.Clear();
  694. this.slm_ord_design_msc_pl_pc_lst.Rows.Clear();
  695. }
  696. for (int i = 0; i < ultraGridMscPlPc.Rows.Count; i++)
  697. {
  698. //除最后一项,选择项外,其他项不可编辑。
  699. for (int j = 0; j < ultraGridMscPlPc.Rows[i].Cells.Count - 1; j++)
  700. {
  701. ultraGridMscPlPc.Rows[i].Cells[j].Activation = Activation.ActivateOnly;
  702. }
  703. //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12
  704. string prdCyc = Math.Round(Convert.ToDouble(ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value), 4).ToString();
  705. ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value = prdCyc;
  706. ultraGridMscPlPc.Rows[i].Cells["CHK"].Value = false;
  707. }
  708. ultraGridMscPlPc.UpdateData();
  709. }
  710. /// <summary>
  711. /// 接箍数据绑定
  712. /// </summary>
  713. /// <param name="ordLnPk"></param>
  714. private void GetComMscJg(string designKey)
  715. {
  716. DataTable comMscJgDt = ServerHelper.GetData(
  717. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftComMscJg",
  718. new Object[] { designKey }, this.ob);
  719. if (comMscJgDt.Rows.Count > 0)
  720. {
  721. GridHelper.CopyDataToDatatable(ref comMscJgDt, ref this.com_msc_jg, true);
  722. }
  723. else
  724. {
  725. this.com_msc_jg.Rows.Clear();
  726. this.com_msc_bl.Rows.Clear();
  727. }
  728. //列自适应
  729. //GridHelper.RefreshAndAutoSize(ultraGridJg);
  730. }
  731. /// <summary>
  732. /// 生产制程,全程途径数据绑定。
  733. /// </summary>
  734. /// <param name="ordLnPk"></param>
  735. private void GetDesignMscPl(string designKey)
  736. {
  737. DataTable designMscPlDt = ServerHelper.GetData(
  738. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftDesignMscPl",
  739. new Object[] { designKey }, this.ob);
  740. if (designMscPlDt.Rows.Count > 0)
  741. {
  742. GridHelper.CopyDataToDatatable(ref designMscPlDt, ref this.slm_ord_design_msc_pl, true);
  743. }
  744. else
  745. {
  746. this.slm_ord_design_msc_pl.Rows.Clear();
  747. this.slm_ord_design_msc_pl_gz.Rows.Clear();
  748. this.slm_ord_design_msc_pl_In.Rows.Clear();
  749. this.slm_ord_design_msc_pl_gx_prl.Rows.Clear();
  750. }
  751. ////列自适应
  752. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridDesignMscPl, new UltraGridColumn[] {
  753. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  754. //});
  755. }
  756. /// <summary>
  757. /// 产品交付要求数据绑定
  758. /// </summary>
  759. /// <param name="ordLnPk"></param>
  760. private void GetDesignStd(string designKey)
  761. {
  762. DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftDesignStd",
  763. new Object[] { designKey }, this.ob);
  764. GridHelper.CopyDataToDatatable(ref designDt, ref this.slm_ord_design_std, true);
  765. }
  766. /// <summary>
  767. /// 用于判断,质量设计是否通过。
  768. /// </summary>
  769. private string orderDesignSts = "";
  770. /// <summary>
  771. /// 全程途径选中行触发事件
  772. /// </summary>
  773. /// <param name="sender"></param>
  774. /// <param name="e"></param>
  775. private void ultraGridDesignMscPl_AfterRowActivate(object sender, EventArgs e)
  776. {
  777. string desginKey = ultraGridDesignMscPl.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  778. string mscPline = ultraGridDesignMscPl.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  779. GetDesignMscPlGz(desginKey, mscPline);
  780. GetDesignMscPlIn(desginKey, mscPline);
  781. }
  782. /// <summary>
  783. /// 依据全程途径获取对应钢种
  784. /// </summary>
  785. /// <param name="designKey"></param>
  786. private void GetDesignMscPlGz(string desginKey, string mscPline)
  787. {
  788. DataTable desginMscPlGzDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftDesignMscPlGz",
  789. new Object[] { desginKey, mscPline }, this.ob);
  790. GridHelper.CopyDataToDatatable(ref desginMscPlGzDt, ref this.slm_ord_design_msc_pl_gz, true);
  791. ////列自适应
  792. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGz, new UltraGridColumn[] {
  793. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  794. //});
  795. }
  796. /// <summary>
  797. /// 依据全程途径获取工序投入产出物料
  798. /// </summary>
  799. /// <param name="desginKey"></param>
  800. private void GetDesignMscPlIn(string desginKey, string mscPline)
  801. {
  802. DataTable desginMscPlInDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftDesignMscPlIn",
  803. new Object[] { desginKey, mscPline }, this.ob);
  804. if (desginMscPlInDt.Rows.Count > 0)
  805. {
  806. GridHelper.CopyDataToDatatable(ref desginMscPlInDt, ref this.slm_ord_design_msc_pl_In, true);
  807. }
  808. else
  809. {
  810. this.slm_ord_design_msc_pl_In.Rows.Clear();
  811. this.slm_ord_design_msc_pl_gx_prl.Rows.Clear();
  812. }
  813. ////列自适应
  814. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridIn, new UltraGridColumn[] {
  815. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  816. //});
  817. }
  818. private void ultraGridIn_AfterRowActivate(object sender, EventArgs e)
  819. {
  820. string desginKey = ultraGridIn.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  821. string mscPline = ultraGridIn.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  822. string backlogSeq = ultraGridIn.ActiveRow.Cells["BACKLOG_SEQ"].Value.ToString();
  823. string processCode = ultraGridIn.ActiveRow.Cells["PROCESS_CODE"].Value.ToString();
  824. GetDesignMscPlGxPrl(desginKey, mscPline, backlogSeq, processCode);
  825. }
  826. /// <summary>
  827. /// 依据工序获取适应产线
  828. /// </summary>
  829. /// <param name="desginKey"></param>
  830. /// <param name="processCode"></param>
  831. private void GetDesignMscPlGxPrl(string designKey, string mscPline, string backlogSeq, string processCode)
  832. {
  833. DataTable desginMscPlGxPrl = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftDesignMscPlGxPrl",
  834. new Object[] { designKey, mscPline, backlogSeq, processCode }, this.ob);
  835. GridHelper.CopyDataToDatatable(ref desginMscPlGxPrl, ref this.slm_ord_design_msc_pl_gx_prl, true);
  836. ////列自适应
  837. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGxPrl, new UltraGridColumn[] {
  838. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  839. //});
  840. }
  841. /// <summary>
  842. /// 接箍行触发事件,获取接箍备料信息。
  843. /// </summary>
  844. /// <param name="sender"></param>
  845. /// <param name="e"></param>
  846. private void ultraGridJg_AfterRowActivate(object sender, EventArgs e)
  847. {
  848. string keyJg = ultraGridJg.ActiveRow.Cells["KEY_JG"].Value.ToString();
  849. string desginKey = ultraGridJg.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  850. GetJgBl(desginKey, keyJg);
  851. }
  852. /// <summary>
  853. /// 获取接箍备料信息
  854. /// </summary>
  855. /// <param name="codeJg"></param>
  856. private void GetJgBl(string desginKey, string keyJg)
  857. {
  858. DataTable jgBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftJgBl",
  859. new Object[] { desginKey, keyJg }, this.ob);
  860. GridHelper.CopyDataToDatatable(ref jgBlDt, ref this.com_msc_bl, true);
  861. ////列自适应
  862. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridBl, new UltraGridColumn[] {
  863. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  864. //});
  865. }
  866. /// <summary>
  867. /// 交货行带出相应的工序。
  868. /// </summary>
  869. /// <param name="sender"></param>
  870. /// <param name="e"></param>
  871. private void ultraGridMscPlPc_AfterRowActivate(object sender, EventArgs e)
  872. {
  873. string designKey = ultraGridMscPlPc.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  874. string mscPline = ultraGridMscPlPc.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  875. string ordLnDlyPk = ultraGridMscPlPc.ActiveRow.Cells["ORD_LN_DLY_PK"].Value.ToString();
  876. GetMscPlPcLst(designKey, mscPline, ordLnDlyPk);
  877. ultraGridMscPlPcLst.UpdateData();
  878. }
  879. /// <summary>
  880. /// 获取交货行对应的工序。
  881. /// </summary>
  882. /// <param name="desginKey"></param>
  883. private void GetMscPlPcLst(string designKey, string mscPline, string ordLnDlyPk)
  884. {
  885. DataTable plPcLstDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.GetCraftMscPlPcLst",
  886. new Object[] { designKey, mscPline, ordLnDlyPk }, this.ob);
  887. GridHelper.CopyDataToDatatable(ref plPcLstDt, ref this.slm_ord_design_msc_pl_pc_lst, true);
  888. for (int i = 0; i < ultraGridMscPlPcLst.Rows.Count; i++)
  889. {
  890. //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12
  891. string prdCyc = Convert.ToDouble(ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value).ToString("f4");
  892. ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value = prdCyc;
  893. }
  894. ////列自适应
  895. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscPlPcLst, new UltraGridColumn[] {
  896. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  897. //});
  898. }
  899. private void _ctrlBomJg_AfterRowActivate(object sender, EventArgs e)
  900. {
  901. SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject;
  902. SlmOrdDesignBomEntity bomJg = (SlmOrdDesignBomEntity)_ctrlBomJg.UltraGridBom.ActiveRow.ListObject;
  903. GetBomJgBlByBom(bomHead.Bom.ToString(), bomJg.Bom.ToString());
  904. }
  905. private void ultraTabControl4_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  906. {
  907. if (e.Tab.Key == "0")
  908. {
  909. splitContainer2.Panel2Collapsed = false;
  910. splitContainer2.SplitterDistance = this.Width - 300 - splitContainer1.Panel1.Width;
  911. _ctrlBomI.Visible = true;
  912. _ctrlBomJgBl.Visible = false;
  913. }
  914. else if (e.Tab.Key == "1")
  915. {
  916. splitContainer2.Panel2Collapsed = false;
  917. splitContainer2.SplitterDistance = 400;
  918. _ctrlBomI.Visible = false;
  919. _ctrlBomJgBl.Visible = true;
  920. }
  921. else
  922. {
  923. splitContainer2.Panel2Collapsed = true;
  924. }
  925. GetBomHeadDown();
  926. }
  927. private void _ctrlBomHead_AfterRowActivate(object sender, EventArgs e)
  928. {
  929. GetBomHeadDown();
  930. }
  931. private void GetBomHeadDown()
  932. {
  933. if (ultraTabControl4.SelectedTab == null) return;
  934. if (_ctrlBomHead.UltraGridBom.ActiveRow == null) return;
  935. SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject;
  936. if (ultraTabControl4.SelectedTab.Key == "0")
  937. {
  938. GetBom(bomHead);
  939. }
  940. else if (ultraTabControl4.SelectedTab.Key == "1")
  941. {
  942. GetBomJg(bomHead.Bom.ToString());
  943. }
  944. else if (ultraTabControl4.SelectedTab.Key == "2")
  945. {
  946. GetBomBl(bomHead.Bom.ToString());
  947. }
  948. }
  949. private void _ctrlBom_AfterRowActivate(object sender, EventArgs e)
  950. {
  951. SlmOrdDesignBomEntity bom = (SlmOrdDesignBomEntity)_ctrlBom.UltraGridBom.ActiveRow.ListObject;
  952. GetBomIByBom(bom.Bom.ToString());
  953. }
  954. private bool AskRollBack()
  955. {
  956. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.checkFallBack",
  957. new object[] { pOrdLnPk }, ob);
  958. if (dt.Rows.Count > 0)
  959. {
  960. if (_errItem != "" && _errItem != dt.Rows[0]["FALLBACK_ITEM"].ToString())
  961. {
  962. string str = dt.Rows[0]["FALLBACK_DEPT_DESC"].ToString() + dt.Rows[0]["FALLBACK_MAN"].ToString() +
  963. "将此合同号回退至" + dt.Rows[0]["FALLBACK_ITEM"].ToString() + " 回退原因:" +
  964. dt.Rows[0]["FALLBACK_REASON"].ToString();
  965. if (MessageUtil.ShowYesNoAndQuestion(str + " \r\n是否继续质量设计?") == DialogResult.No)
  966. {
  967. return false;
  968. }
  969. }
  970. }
  971. ServerHelper.SetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.updateFallBack",
  972. new object[] { pOrdLnPk }, ob);
  973. return true;
  974. }
  975. /// <summary>
  976. /// 选中之后,才允许编辑。
  977. /// </summary>
  978. /// <param name="sender"></param>
  979. /// <param name="e"></param>
  980. private void ultraGridMscPlPc_CellChange(object sender, CellEventArgs e)
  981. {
  982. ultraGridMscPlPc.UpdateData();
  983. if (e.Cell.Column.Key.Equals("CHK"))
  984. {
  985. if (e.Cell.Value != null && !string.IsNullOrEmpty(e.Cell.Value.ToString()))
  986. {
  987. if (Convert.ToBoolean(e.Cell.Value))
  988. {
  989. e.Cell.Row.Cells["CYC_EDIT"].Activation = Activation.AllowEdit;
  990. }
  991. else
  992. {
  993. //没有选中,除第一列外,全部不可编辑。
  994. for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++)
  995. {
  996. e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  997. }
  998. }
  999. }
  1000. else
  1001. {
  1002. //没有选中,除第一列外,全部不可编辑。
  1003. for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++)
  1004. {
  1005. e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  1006. }
  1007. }
  1008. }
  1009. }
  1010. private void ultraGridMscPlPc_ClickCellButton(object sender, CellEventArgs e)
  1011. {
  1012. /*
  1013. string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK");
  1014. string mscPline = ultraGridMscPlPc.GetActiveRowValue("MSC_PLINE");
  1015. string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ");
  1016. PopupMscPlPc popup = new PopupMscPlPc(ordLnPk, mscPline, craftSeq, true, ob);
  1017. popup.ShowDialog();
  1018. GetMscPlPc(ordLnPk);
  1019. */
  1020. }
  1021. private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e)
  1022. {
  1023. labelDateTimePicker2.DateTimePicker.Enabled = labelDateTimePicker1.CheckBox.Checked;
  1024. }
  1025. private void utxtOrderNo_KeyDown(object sender, KeyEventArgs e)
  1026. {
  1027. if (e.KeyData == Keys.Enter)
  1028. {
  1029. doQuery();
  1030. }
  1031. }
  1032. private void ckbAutoRefresh_CheckedChanged(object sender, EventArgs e)
  1033. {
  1034. if (ckbAutoRefresh.Checked)
  1035. {
  1036. timer1.Start();
  1037. }
  1038. else
  1039. {
  1040. timer1.Stop();
  1041. }
  1042. }
  1043. private void timer1_Tick(object sender, EventArgs e)
  1044. {
  1045. timer1.Enabled = false;
  1046. if (_isRun == true) return;
  1047. _isRun = true;
  1048. DataTable dt = GetParentData();
  1049. try
  1050. {
  1051. if (dt != null && dt.Rows.Count > 0)
  1052. {
  1053. Beap();
  1054. WaitingForm2 wf = new WaitingForm2();
  1055. wf.Msg = "正在刷新数据,请稍候......";
  1056. wf.Show();
  1057. wf.Update();
  1058. this.doQuery();
  1059. this.Update();
  1060. while (_isBeaping)
  1061. { }
  1062. wf.ShowToUser = false;
  1063. wf.Close();
  1064. }
  1065. else
  1066. {
  1067. this.slm_order_line_delivery.Rows.Clear();
  1068. this.slm_order_line.Clear();
  1069. }
  1070. }
  1071. finally
  1072. {
  1073. _isRun = false;
  1074. timer1.Enabled = true;
  1075. }
  1076. }
  1077. private bool _isBeaping;
  1078. private void Beap()
  1079. {
  1080. _isBeaping = true;
  1081. Thread thread = new Thread(() =>
  1082. {
  1083. for (int i = 0; i < 5; i++)
  1084. {
  1085. BeepHelper.Beep(500, 700);
  1086. }
  1087. _isBeaping = false;
  1088. });
  1089. thread.Start();
  1090. }
  1091. private void ultraGridOrderLine_InitializeRow(object sender, InitializeRowEventArgs e)
  1092. {
  1093. if (e.Row.GetValue("REVIEW_STATUS") == "评审通过")
  1094. {
  1095. e.Row.Appearance.BackColor = Color.FromArgb(121, 205, 205);
  1096. }
  1097. else if (e.Row.GetValue("REVIEW_STATUS") == "评审中")
  1098. {
  1099. e.Row.Appearance.BackColor = Color.FromArgb(126, 192, 238);
  1100. }
  1101. if (e.Row.GetValue("HISTORY") == "1")
  1102. {
  1103. e.Row.RowSelectorAppearance.BackColor = Color.Yellow;
  1104. }
  1105. }
  1106. private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e)
  1107. {
  1108. ultraGridOrderLine.UpdateData();
  1109. }
  1110. private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1111. {
  1112. UltraGridRow row = ultraGridOrderLine.ActiveRow;
  1113. if (e.Button.Key.ToLower().Equals("select"))
  1114. {
  1115. if (ultraGridOrderLine.ActiveCell.Column.Key == "CRAFT_NO")
  1116. {
  1117. string filePath = row.GetValue("CRAFT_PATH");
  1118. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath);
  1119. down.DeleteButton.Visible = false;
  1120. down.ShowDialog();
  1121. }
  1122. else if (ultraGridOrderLine.ActiveCell.Column.Key == "MPS_NO")
  1123. {
  1124. string filePath = "Mps/" + row.GetValue("ORD_LN_PK");
  1125. string dbFilePath = "";
  1126. bool isNull = false;
  1127. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReviewTechnologyList.selectMpsAddr", new object[] { row.GetValue("ORD_LN_PK") }, this.ob);
  1128. if (dt != null && dt.Rows.Count > 0)
  1129. {
  1130. dbFilePath = dt.Rows[0][0].ToString();
  1131. }
  1132. else
  1133. {
  1134. isNull = true;
  1135. }
  1136. string fpath = filePath;
  1137. if (dbFilePath != filePath && isNull == false)
  1138. fpath = dbFilePath;
  1139. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, fpath);
  1140. down.DeleteButton.Visible = false;
  1141. down.ShowDialog();
  1142. }
  1143. else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_ALL")
  1144. {
  1145. PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(),10000);
  1146. popupTextBox.TxtInfo.ReadOnly = true;
  1147. popupTextBox.ShowDialog();
  1148. }
  1149. else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_DIFF")
  1150. {
  1151. PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000);
  1152. popupTextBox.TxtInfo.ReadOnly = true;
  1153. popupTextBox.ShowDialog();
  1154. }
  1155. else if (ultraGridOrderLine.ActiveCell.Column.Key == "ORDER_SPECIAL_DESC")
  1156. {
  1157. PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000);
  1158. popupTextBox.TxtInfo.ReadOnly = true;
  1159. popupTextBox.ShowDialog();
  1160. }
  1161. else if (ultraGridOrderLine.ActiveCell.Column.Key == "MEMO")
  1162. {
  1163. PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000);
  1164. popupTextBox.TxtInfo.ReadOnly = true;
  1165. popupTextBox.ShowDialog();
  1166. }
  1167. else if (ultraGridOrderLine.ActiveCell.Column.Key == "CRAFT_CHANGE_MEMO")
  1168. {
  1169. PopupTextBox popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 10000);
  1170. popupTextBox.TxtInfo.ReadOnly = true;
  1171. popupTextBox.ShowDialog();
  1172. }
  1173. }
  1174. }
  1175. private void ultraGridOrderLine_MouseUp(object sender, MouseEventArgs e)
  1176. {
  1177. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  1178. {
  1179. if (row.Selected)
  1180. {
  1181. row.Cells["CHK"].Value = true;
  1182. }
  1183. }
  1184. ultraGridOrderLine.UpdateData();
  1185. }
  1186. //dlgOrderAskDown askDown;
  1187. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1188. {
  1189. //string filePath = ultraGrid2.ActiveRow.GetValue("CRAFT_PATH");
  1190. //askDown = new dlgOrderAskDown(this.ob, filePath);
  1191. //askDown.DeleteButton.Visible = false;
  1192. //askDown.Show();
  1193. }
  1194. private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1195. {
  1196. //CraftOrdDesignEntity craftOrdDesign = _craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  1197. //{
  1198. // OrdLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"),
  1199. // CraftSeq = decimal.Parse(ultraGridOrderLine.ActiveRow.GetValue("CRAFT_SEQ"))
  1200. //});
  1201. //string msc = ultraGridOrderLine.ActiveRow.GetValue("MSC");
  1202. //string craftFileLv2Pks = ultraGrid2.GetActiveRowValue("CRAFT_FILE_LV2");
  1203. //switch (ultraGrid2.ActiveRow.GetValue("PROCESS_DESC"))
  1204. //{
  1205. // case "轧制":
  1206. // ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "D", "轧制", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  1207. // break;
  1208. // case "镦拔扩":
  1209. // ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "E", "镦拔扩", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  1210. // break;
  1211. // case "热处理":
  1212. // ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "F", "热处理", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  1213. // break;
  1214. // case "加工":
  1215. // ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "G", "加工", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  1216. // break;
  1217. //}
  1218. }
  1219. private void ChoiceCraftFileLv2(string designKey, string processCode, string processDesc,
  1220. string craftNo, string msc, string craftFileLv2Pks)
  1221. {
  1222. //int cnt = _craftOrdDesignBLL.GetCntByDesignKeyProcess(designKey, processCode);
  1223. //if (cnt == 0)
  1224. //{
  1225. // MessageUtil.ShowWarning("一级工艺文件不包含" + processDesc + "工序!");
  1226. // return;
  1227. //}
  1228. //FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(designKey, processCode, craftFileLv2Pks,
  1229. // craftNo, "1", ob, msc, false, "", "", "", "");
  1230. //if (frmCraftFileLv2.ShowDialog() == DialogResult.OK)
  1231. //{
  1232. // ultraGrid2.ActiveRow.SetValue("CRAFT_FILE_LV2", frmCraftFileLv2.CraftFileLv2Nos);
  1233. // ultraGrid2.ActiveRow.SetValue("CRAFT_FILE_LV2_DESC", frmCraftFileLv2.CraftFileLv2Nos);
  1234. //}
  1235. }
  1236. }
  1237. }