frmOrderQualityManager.cs 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  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 System.Collections;
  14. using Core.Mes.Client.Comm.Tool;
  15. using Core.StlMes.Client.SaleOrder.Dialog;
  16. using com.steering.pss.sale.orderchange.entity;
  17. using Core.Mes.Client.Comm.Format;
  18. using Core.StlMes.Client.SaleOrder.OrderForm;
  19. using Core.Mes.Client.Comm;
  20. using System.Management;
  21. using Infragistics.Win;
  22. namespace Core.StlMes.Client.SaleOrder
  23. {
  24. public partial class frmOrderQualityManager : FrmBase
  25. {
  26. // 120504 为天淮界面
  27. // ----------------------------------- CustomInfo ==2 时 来自于 合同行变更的请求。---------------------------------------------
  28. // 删除 ChgeDelete 变更确认 ChgeConfirm 新增 ChgeAdd 查询 ChgeQuery 修改 ChgeUpdate
  29. // 合同行新增逻辑“冻结变更” 提报完毕之后 还可以修改附加要求
  30. //--------------------------------- CustomInfo ==3 时 来自于 合同头变更的请求。---------------------------------------------'''
  31. // 查询 ChgeHeadQuery 修改 ChgeHeadUpdate 查看修改 ChgeHeadWatch
  32. //合同行是否新增指令参数
  33. private string orderSeq = null;
  34. public string OrderSeq
  35. {
  36. get { return orderSeq; }
  37. set { orderSeq = value; }
  38. }
  39. private string specName = null;
  40. private int pstrueFla = 0;
  41. private bool stas = false;
  42. private string departNames = "";
  43. string orderpsc = "";
  44. string spec = "";
  45. string model = "";
  46. string len = "";
  47. string user = "";
  48. string mps = "";
  49. string addtional = ""; //附加要求
  50. string special = ""; //特殊要求
  51. string dlyaddress = ""; //现货合同 交货地点
  52. /// <summary>
  53. /// 销售组织
  54. /// </summary>
  55. string _saleOrg = "";
  56. /// <summary>
  57. /// 采购期货初始化标识
  58. /// </summary>
  59. bool purchaseNoFlag = false;
  60. bool purchaseNoFlag1 = false;
  61. /// <summary>
  62. /// 合同行初始化标识
  63. /// </summary>
  64. bool lineFlag = false;
  65. /// <summary>
  66. /// 合同行控件 CtrlOrderLine 的编号
  67. /// </summary>
  68. int lineNum = 1;
  69. public string SpecName
  70. {
  71. get { return specName; }
  72. set
  73. {
  74. specName = value;
  75. }
  76. }
  77. /// <summary>
  78. /// CustomInfo=2时 合同变更标识 是否冻结变更
  79. /// </summary>
  80. bool freezeFlag = false;
  81. public frmOrderQualityManager()
  82. {
  83. InitializeComponent();
  84. this.IsLoadUserView = true;
  85. }
  86. protected override void OnLoad(EventArgs e)
  87. {
  88. base.OnLoad(e);
  89. }
  90. Color color = new Color();
  91. private void frmOrderManager_Load(object sender, EventArgs e)
  92. {
  93. departNames = UserInfo.GetDepartment();
  94. string deptId = UserInfo.GetDeptid().Trim();
  95. UserInfo.SaleOrg = ClsBaseInfo.GetSaleOrg(deptId);
  96. _saleOrg = UserInfo.SaleOrg;
  97. //默认查询当前日期-1月——当前日期数据。
  98. udtStart.DateTime = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToShortDateString());
  99. udtEnd.DateTime = Convert.ToDateTime(DateTime.Now.ToShortDateString());
  100. color = ultraGrid2.DisplayLayout.Override.RowSelectorAppearance.BackColor;
  101. if (ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()) != "100102")
  102. {
  103. ultraGrid1.DisplayLayout.Bands[0].Columns["BUSINESS_TYPE"].Hidden = true;
  104. }
  105. purchaseNoFlag = false;
  106. splitContainer1.SplitterDistance = 80;
  107. splitContainer2.SplitterDistance = 80;
  108. ValueList sharedValueList = CreateSharedValueList();
  109. ultraGrid5.DisplayLayout.Bands[0].Columns["SPECL_FL"].ValueList = sharedValueList;
  110. ValueList sharedValueList1 = CreateSharedValueList();
  111. ValueList sharedValueList2 = CreateSharedValueList();
  112. ValueList sharedValueList3 = CreateSharedValueList();
  113. ValueList sharedValueList4 = CreateSharedValueList();
  114. ValueList sharedValueList5 = CreateSharedValueList();
  115. ultraGrid6.DisplayLayout.Bands[0].Columns["SPECL_FL"].ValueList = sharedValueList1;
  116. ultraGrid7.DisplayLayout.Bands[0].Columns["SPECL_FL"].ValueList = sharedValueList2;
  117. ultraGrid8.DisplayLayout.Bands[0].Columns["SPECL_FL"].ValueList = sharedValueList3;
  118. ultraGrid9.DisplayLayout.Bands[0].Columns["SPECL_FL"].ValueList = sharedValueList4;
  119. ultraGrid10.DisplayLayout.Bands[0].Columns["SPECL_FL"].ValueList = sharedValueList5;
  120. }
  121. // 创建共享 ValueList 的方法
  122. private ValueList CreateSharedValueList()
  123. {
  124. ValueList vlist = new ValueList();
  125. vlist.ValueListItems.Insert(0, "0", "交付");
  126. vlist.ValueListItems.Insert(1, "1", "特殊");
  127. vlist.ValueListItems.Insert(2, "2", "内控");
  128. return vlist;
  129. }
  130. /// <summary>
  131. /// 重写基类方法
  132. /// </summary>
  133. /// <param name="sender"></param>
  134. /// <param name="ToolbarKey"></param>
  135. public override void ToolBar_Click(object sender, string ToolbarKey)
  136. {
  137. switch (ToolbarKey)
  138. {
  139. case "doQuery":
  140. doQuery();
  141. break;
  142. case "doApproval":
  143. this.doApproval(); //合同确认
  144. break;
  145. case "doClose":
  146. this.Close();
  147. break;
  148. }
  149. }
  150. /// <summary>
  151. /// 确认
  152. /// </summary>
  153. private void doApproval()
  154. {
  155. UltraGridRow row = ultraGrid2.ActiveRow;
  156. if (row ==null)
  157. {
  158. MessageUtil.ShowTips("请选择需要确认的合同行!!!");
  159. return;
  160. }
  161. else {
  162. if (row.Cells["IS_CONFIRMED"].Value.Equals("已确认")) {
  163. MessageUtil.ShowTips("该合同行当前状态为已确认,不需要重复确认");
  164. return;
  165. }
  166. string orderLnPk = row.Cells["ORD_LN_PK"].Value.ToString();
  167. string orderPK = row.Cells["ORD_PK"].Value.ToString();
  168. string orderNo = row.Cells["ORDER_NO"].Value.ToString();
  169. if (MessageUtil.ShowYesNoAndQuestion("是否确认合同行【" + orderNo + "】?") == DialogResult.No) return;
  170. CoreClientParam ccp = new CoreClientParam();
  171. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  172. ccp.MethodName = "confirmOrderLine";
  173. ccp.ServerParams = new object[] { orderLnPk, this.UserInfo.GetUserName() };
  174. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  175. MessageUtil.ShowTips(ccp.ReturnCode ==-1?ccp.ReturnInfo:"操作成功");
  176. //展示合同行数据
  177. GetOrderLineDt(orderPK, "1");
  178. }
  179. }
  180. /// <summary>
  181. /// 查询功能
  182. /// </summary>
  183. private void doQuery()
  184. {
  185. //清理底部的查询信息
  186. this.clearQualityResult();
  187. string orderNo = ""; //合同号
  188. string orderStart = "";
  189. string orderEnd = "";
  190. if (uchkOrderNo.Checked)
  191. {
  192. orderNo = utxtOrderNo.Text.Trim();
  193. }
  194. string valid = "";
  195. if (chkValid.Checked)
  196. {
  197. valid = "0";
  198. }
  199. else
  200. {
  201. valid = "1";
  202. }
  203. if (uchkDate.Checked)
  204. {
  205. orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
  206. orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
  207. }
  208. else
  209. {
  210. orderStart = "1000-01-01 00:00:01";
  211. orderEnd = "9999-12-31 23:59:59";
  212. }
  213. string isJs = "";
  214. if (ultraCheckEditor2.Checked)
  215. {
  216. isJs = "0";
  217. }
  218. string isQr = "";
  219. if (ultraCheckEditor1.Checked)
  220. {
  221. isQr = "0";
  222. }
  223. string supp = this.CustomInfo.Contains("120504") ? this.CustomInfo : "";
  224. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryHead", new Object[] { orderNo, orderStart, orderEnd, valid, ClsBaseInfo.GetArrByValid(this.ValidDataPurviewIds), this.ValidDataPurviewIds, isJs, isQr }, this.ob);
  225. GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
  226. foreach (UltraGridRow row in ultraGrid1.Rows)
  227. {
  228. if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
  229. {
  230. row.Cells["CUSTOMER_MODEL_FL"].Value = true;
  231. }
  232. else
  233. {
  234. row.Cells["CUSTOMER_MODEL_FL"].Value = false;
  235. }
  236. if ("1".Equals(row.Cells["VALIDFLAG"].Value))
  237. {
  238. row.Cells["VALIDFLAG"].Value = true;
  239. row.Appearance.ForeColor = Color.Black;
  240. }
  241. else
  242. {
  243. row.Cells["VALIDFLAG"].Value = false;
  244. row.Appearance.ForeColor = Color.Red;
  245. }
  246. }
  247. if (ultraGrid1.ActiveRow == null)
  248. {
  249. this.orderLineDt.Clear();
  250. }
  251. }
  252. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  253. {
  254. this.clearQualityResult();
  255. UltraGridRow row = ultraGrid1.ActiveRow;
  256. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_COUNT"].Hidden = true;
  257. string managNo = row.Cells["ORD_PK"].Value.ToString();
  258. string orderNo = row.Cells["ORDER_NO"].Value.ToString();
  259. string orderModelNo = ultraGrid1.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString();
  260. string orderpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  261. //主合同头信息
  262. DataView orderHeadDv = new DataView(orderHeadDt);
  263. orderHeadDv.RowFilter = " ORDER_NO='" + orderNo + "'";
  264. DataTable orderHeadr = orderHeadDv.ToTable();
  265. orderHeadr.TableName = "SLM_ORDER_HEAD";
  266. if (Convert.ToBoolean(orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"]))
  267. {
  268. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "1";
  269. }
  270. else
  271. {
  272. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "0";
  273. }
  274. //列自适应
  275. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, new UltraGridColumn[] {
  276. //});
  277. //获取付款要求
  278. DataTable blanceMnyDt = GetBlanceMny(orderpk);
  279. blanceMnyDt.TableName = "SLM_ORDER_BALNCE_MNY";
  280. orderManagerHeadr.Tables.Clear();
  281. orderManagerHeadr.Tables.Add(orderHeadr);
  282. orderManagerHeadr.Tables.Add(blanceMnyDt);
  283. //展示合同行数据
  284. GetOrderLineDt(managNo, "1");
  285. //ctrlOrderLineChildGer.loadOrderLineChild(this.ob, null, null);
  286. ultraGrid2.ActiveRow = null;
  287. }
  288. /// <summary>
  289. /// 绑定合同行数据源
  290. /// </summary>
  291. private void GetOrderLineDt(string manageNo, string valid)
  292. {
  293. string isQr = "";
  294. if (ultraCheckEditor1.Checked)
  295. {
  296. isQr = "0";
  297. }
  298. string isJs = "";
  299. if (ultraCheckEditor2.Checked)
  300. {
  301. isJs = "0";
  302. }
  303. string form = this.CustomInfo.Equals("2-120504") ? "2" : this.CustomInfo;
  304. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetOrderLineDtLine", new Object[] { manageNo, valid, form, freezeFlag,isQr, isJs }, this.ob);
  305. GridHelper.CopyDataToDatatable(ref dt, ref this.orderLineDt, true);
  306. //不同颜色区分是否有效数据
  307. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  308. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  309. {
  310. row = ultraGrid2.Rows[i];
  311. if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1"))
  312. {
  313. row.Cells["VALIDFLAG"].Value = false;
  314. row.Appearance.ForeColor = Color.Red;
  315. }
  316. else
  317. {
  318. row.Cells["VALIDFLAG"].Value = true;
  319. row.Appearance.ForeColor = Color.Black;
  320. }
  321. if ("1".Equals(row.Cells["MPS_FL"].Value))
  322. {
  323. row.Cells["MPS_FL"].Value = true;
  324. }
  325. else
  326. {
  327. row.Cells["MPS_FL"].Value = false;
  328. }
  329. //监制
  330. if ("1".Equals(row.Cells["PRODUCER_FL"].Value.ToString()))
  331. {
  332. row.Cells["PRODUCER_FL"].Value = true;
  333. }
  334. else
  335. {
  336. row.Cells["PRODUCER_FL"].Value = false;
  337. }
  338. //ASSEL
  339. if ("1".Equals(row.Cells["ASSEL_FL"].Value.ToString()))
  340. {
  341. row.Cells["ASSEL_FL"].Value = true;
  342. }
  343. else
  344. {
  345. row.Cells["ASSEL_FL"].Value = false;
  346. }
  347. if (row.Cells["ISLOCK"].Value.ToString() == "1")
  348. {
  349. row.RowSelectorAppearance.BackColor = Color.Red;
  350. }
  351. else
  352. {
  353. row.RowSelectorAppearance.BackColor = color;
  354. }
  355. }
  356. }
  357. /// <summary>
  358. /// 获取付款要求
  359. /// </summary>
  360. /// <param name="manageNo"></param>
  361. /// <param name="orderNo"></param>
  362. /// <returns></returns>
  363. private DataTable GetBlanceMny(string ord_pk)
  364. {
  365. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetBlanceMny", new Object[] { ord_pk }, this.ob);
  366. return dt;
  367. }
  368. /// <summary>
  369. /// 合同头相关信息
  370. /// </summary>
  371. DataSet orderManagerHeadr = new DataSet();
  372. UltraGridRow oldRow = null;
  373. private string designKey = null;
  374. private string ordLnPk = null;
  375. private string ordPk = null;
  376. private string ordSeq = null;
  377. /// <summary>
  378. /// 合同行选中事件
  379. /// </summary>
  380. /// <param name="sender"></param>
  381. /// <param name="e"></param>
  382. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  383. {
  384. if (ultraGrid1.ActiveRow == null)
  385. return;
  386. this.clearQualityResult();
  387. ultraGrid2.UpdateData();
  388. this.Cursor = Cursors.WaitCursor;
  389. string managNo = ultraGrid2.ActiveRow.Cells["ORD_PK"].Value.ToString();
  390. string orderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  391. string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  392. this.ordLnPk = orderNo;
  393. this.ordPk = managNo;
  394. this.ordSeq = orderSeq;
  395. // 获取质量相关的信息
  396. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderDesignMsc", new Object[] { managNo, orderNo, orderSeq }, this.ob);
  397. GridHelper.CopyDataToDatatable(ref dt, ref this.CRAFT_ORD_DESIGN_MSCDT, true);
  398. if (dt.Rows.Count > 0)
  399. {
  400. designKey = dt.Rows[0]["DESGIN_KEY"].ToString();
  401. string tabName = this.ultraTabControl1.ActiveTab.Key;
  402. if (!string.IsNullOrEmpty(tabName))
  403. {
  404. this.loadQualityTabData(tabName);//加载质量激活标签的数据
  405. }
  406. }
  407. else
  408. {
  409. designKey = null;
  410. this.clearQualityResult();
  411. }
  412. this.Cursor = Cursors.Default;
  413. }
  414. /// <summary>
  415. /// 根据desiginKey查询表
  416. /// </summary>
  417. /// <param name="tableName"></param>
  418. /// <param name="designKey"></param>
  419. /// <returns></returns>
  420. private DataTable queryTableByDesignKey(string tableName, string designKey)
  421. {
  422. return ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderQuality", new Object[] { tableName, designKey }, this.ob);
  423. }
  424. private DataTable executeSqlQuery(string sql, ArrayList paramList)
  425. {
  426. return ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderQualityWithSql", new Object[] { sql, paramList }, this.ob);
  427. }
  428. /// <summary>
  429. /// 查询区合同号
  430. /// </summary>
  431. /// <param name="sender"></param>
  432. /// <param name="e"></param>
  433. private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
  434. {
  435. if (uchkOrderNo.Checked)
  436. {
  437. utxtOrderNo.ReadOnly = false;
  438. }
  439. else
  440. {
  441. utxtOrderNo.Text = "";
  442. utxtOrderNo.ReadOnly = true;
  443. }
  444. }
  445. /// <summary>
  446. /// 查询区签订日期
  447. /// </summary>
  448. /// <param name="sender"></param>
  449. /// <param name="e"></param>
  450. private void uchkDate_CheckedChanged(object sender, EventArgs e)
  451. {
  452. if (uchkDate.Checked)
  453. {
  454. udtStart.ReadOnly = false;
  455. udtEnd.ReadOnly = false;
  456. }
  457. else
  458. {
  459. udtStart.ReadOnly = true;
  460. udtEnd.ReadOnly = true;
  461. }
  462. }
  463. private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
  464. {
  465. this.clearQualityResult();
  466. UltraGridRow row = ultraGrid1.ActiveRow;
  467. string managNo = row.Cells["ORD_PK"].Value.ToString();
  468. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  469. {
  470. GetOrderLineDt(managNo, "0");
  471. return;
  472. }
  473. string orderNo = row.Cells["ORDER_NO"].Value.ToString();
  474. string orderModelNo = ultraGrid1.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString();
  475. string orderpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  476. //主合同头信息
  477. DataView orderHeadDv = new DataView(orderHeadDt);
  478. orderHeadDv.RowFilter = " ORDER_NO='" + orderNo + "'";
  479. DataTable orderHeadr = orderHeadDv.ToTable();
  480. orderHeadr.TableName = "SLM_ORDER_HEAD";
  481. if (Convert.ToBoolean(orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"]))
  482. {
  483. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "1";
  484. }
  485. else
  486. {
  487. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "0";
  488. }
  489. //列自适应
  490. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, new UltraGridColumn[] {
  491. //});
  492. //获取付款要求
  493. DataTable blanceMnyDt = GetBlanceMny(orderpk);
  494. blanceMnyDt.TableName = "SLM_ORDER_BALNCE_MNY";
  495. orderManagerHeadr.Tables.Clear();
  496. orderManagerHeadr.Tables.Add(orderHeadr);
  497. orderManagerHeadr.Tables.Add(blanceMnyDt);
  498. string valid = "";
  499. if (chkValid.Checked)
  500. {
  501. valid = "0";
  502. }
  503. else
  504. {
  505. valid = "1";
  506. }
  507. if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  508. return;
  509. //展示合同行数据
  510. GetOrderLineDt(managNo, valid);
  511. //ctrlOrderLineChildGer.loadOrderLineChild(this.ob, null, null);
  512. ultraGrid2.ActiveRow = null;
  513. }
  514. private void utxtOrderNo_KeyPress(object sender, KeyPressEventArgs e)
  515. {
  516. if (e.KeyChar == 13)
  517. {
  518. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  519. {
  520. this.ChgeQuery();
  521. }
  522. else if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  523. {
  524. this.ChgeHeadQuery();
  525. }
  526. else
  527. {
  528. doQuery();
  529. }
  530. }
  531. }
  532. string locaPk = ""; //主键定位
  533. /// <summary>
  534. /// 合同行变更 合同头查询
  535. /// </summary>
  536. private void ChgeQuery()
  537. {
  538. UltraGridRow ugr = ultraGrid1.ActiveRow;
  539. if (ugr != null)
  540. locaPk = ugr.Cells["ORD_PK"].Value.ToString();
  541. string orderNo = utxtOrderNo.Text.Trim();
  542. string orderStart = "1000-01-01 00:00:01";
  543. string orderEnd = "9999-12-31 23:59:59";
  544. string valid = "";
  545. if (chkValid.Checked)
  546. {
  547. valid = "0";
  548. }
  549. else
  550. {
  551. valid = "1";
  552. }
  553. if (uchkDate.Checked)
  554. {
  555. orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
  556. orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
  557. }
  558. ArrayList list = new ArrayList();
  559. list.Add(orderNo);
  560. list.Add(orderStart);
  561. list.Add(orderEnd);
  562. list.Add(valid);
  563. list.Add(UserInfo.SaleOrg);
  564. list.Add(UserInfo.GetDeptid());
  565. string supp = this.CustomInfo.Equals("2-120504") ? "120504" : "";
  566. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.chgeOrderHeadQuery", new Object[] { list, freezeFlag, supp }, this.ob);
  567. GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
  568. foreach (UltraGridRow row in ultraGrid1.Rows)
  569. {
  570. if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
  571. {
  572. row.Cells["CUSTOMER_MODEL_FL"].Value = true;
  573. }
  574. else
  575. {
  576. row.Cells["CUSTOMER_MODEL_FL"].Value = false;
  577. }
  578. if (locaPk != "")
  579. {
  580. if (row.Cells["ORD_PK"].Value.ToString() == locaPk)
  581. row.Activate();
  582. }
  583. }
  584. if (dt.Rows.Count <= 0)
  585. {
  586. this.orderLineDt.Rows.Clear();
  587. }
  588. }
  589. /// <summary>
  590. /// 合同头变更-合同头的查询
  591. /// </summary>
  592. private void ChgeHeadQuery()
  593. {
  594. string orderNo = utxtOrderNo.Text.Trim();
  595. string orderStart = "1000-01-01 00:00:01";
  596. string orderEnd = "9999-12-31 23:59:59";
  597. string valid = "0";
  598. if (uchkDate.Checked)
  599. {
  600. orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
  601. orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
  602. }
  603. ArrayList list = new ArrayList();
  604. list.Add(orderNo);
  605. list.Add(orderStart);
  606. list.Add(orderEnd);
  607. list.Add(valid);
  608. list.Add(UserInfo.SaleOrg);
  609. list.Add(UserInfo.GetDeptid());
  610. string supp = this.CustomInfo.Contains("120504") ? "120504" : "";
  611. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.orderChangeHeadDetail", new Object[] { list, supp }, this.ob);
  612. GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
  613. foreach (UltraGridRow row in ultraGrid1.Rows)
  614. {
  615. if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
  616. {
  617. row.Cells["CUSTOMER_MODEL_FL"].Value = true;
  618. }
  619. else
  620. {
  621. row.Cells["CUSTOMER_MODEL_FL"].Value = false;
  622. }
  623. if (row.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "TRUE")
  624. {
  625. row.Appearance.ForeColor = Color.Black;
  626. }
  627. else
  628. {
  629. row.Appearance.ForeColor = Color.Red;
  630. }
  631. }
  632. if (dt.Rows.Count <= 0)
  633. {
  634. this.orderLineDt.Rows.Clear();
  635. }
  636. }
  637. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  638. {
  639. if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  640. {
  641. if (e.Row.Cells["ISLOCK"].Value.ToString() == "1")
  642. {
  643. e.Row.RowSelectorAppearance.BackColor = Color.Red;
  644. }
  645. else
  646. {
  647. e.Row.RowSelectorAppearance.BackColor = color;
  648. }
  649. }
  650. }
  651. public string GetComputerInfo()
  652. {
  653. return "计算机名:" + Environment.GetEnvironmentVariable("COMPUTERNAME") + " IP:" +
  654. System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList[0].ToString2() +
  655. " Mac地址:" + GetLocalMac();
  656. }
  657. /// <summary>
  658. /// 获取本机的MAC地址
  659. /// </summary>
  660. /// <returns></returns>
  661. public static string GetLocalMac()
  662. {
  663. try
  664. {
  665. string mac = null;
  666. ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
  667. ManagementObjectCollection queryCollection = query.Get();
  668. foreach (ManagementObject mo in queryCollection)
  669. {
  670. if (mo["IPEnabled"].ToString() == "True")
  671. mac = mo["MacAddress"].ToString();
  672. }
  673. return (mac);
  674. }
  675. catch (Exception)
  676. {
  677. return "";
  678. }
  679. }
  680. /// <summary>
  681. /// 下面质量TAB页切换的点击事件
  682. /// </summary>
  683. /// <param name="sender"></param>
  684. /// <param name="e"></param>
  685. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  686. {
  687. string tabName = e.Tab.Key;
  688. loadQualityTabData(tabName);
  689. }
  690. /// <summary>
  691. /// 查询最下面的那一堆TAB页的数据
  692. /// </summary>
  693. /// <param name="tabName"></param>
  694. private void loadQualityTabData(string tabName)
  695. {
  696. DataTable gridTab = null;
  697. switch (tabName)
  698. {
  699. case "CRAFT_ORD_DESIGN"://工艺评审
  700. gridTab = this.CRAFT_ORD_DESIGN_DT;
  701. break;
  702. case "CRAFT_ORD_DESIGN_STD_CIC"://成分标准
  703. gridTab = this.CRAFT_ORD_DESIGN_STD_CIC_DT;
  704. break;
  705. case "CRAFT_ORD_DESIGN_STD_WIC"://水压
  706. gridTab = this.CRAFT_ORD_DESIGN_STD_WIC_DT;
  707. break;
  708. case "CRAFT_ORD_DESIGN_STD_DIC"://探伤
  709. gridTab = this.CRAFT_ORD_DESIGN_STD_DIC_DT;
  710. break;
  711. case "CRAFT_ORD_DESIGN_STD_SIC"://公差
  712. gridTab = this.CRAFT_ORD_DESIGN_STD_SIC_DT;
  713. break;
  714. case "CRAFT_ORD_DESIGN_STD_GIC"://加工标注
  715. gridTab = this.CRAFT_ORD_DESIGN_STD_GIC_DT;
  716. break;
  717. case "CRAFT_ORD_DESIGN_STD_PIC"://理化标准
  718. gridTab = this.CRAFT_ORD_DESIGN_STD_PIC_DT;
  719. break;
  720. case "CRAFT_ORD_DESIGN_STS_TKLG"://设计状态主表
  721. gridTab = this.CRAFT_ORD_DESIGN_STS_TKLG_DT;
  722. break;
  723. case "CRAFT_ORD_DESIGN_STS_TKLG_LST"://设计状态从表
  724. gridTab = this.CRAFT_ORD_DESIGN_STS_TKLG_LST_DT;
  725. break;
  726. case "CRAFT_ORD_DESIGN_MSC_PL"://制程
  727. gridTab = this.CRAFT_ORD_DESIGN_MSC_PL_DT;
  728. break;
  729. case "CRAFT_ORD_DESIGN_MSC_PL_GZ"://制程钢种
  730. gridTab = this.CRAFT_ORD_DESIGN_MSC_PL_GZ_DT;
  731. break;
  732. case "CRAFT_ORD_DESIGN_ADD_ASK"://附加要求
  733. gridTab = this.CRAFT_ORD_DESIGN_ADD_ASK_DT;
  734. break;
  735. case "CRAFT_ORD_DESIGN_MSC_PL_PRC"://钢种及物料内控
  736. gridTab = this.CRAFT_ORD_DESIGN_MSC_PL_PRC_DT;
  737. break;
  738. case "CRAFT_ORD_DESIGN_MSC_PL_STI"://全制程工序点
  739. gridTab = this.CRAFT_ORD_DESIGN_MSC_PL_STI_DT;
  740. break;
  741. case "CRAFT_ORD_DESIGN_STD_PIC_SMP"://取样要求
  742. gridTab = this.CRAFT_ORD_DESIGN_STD_PIC_SMP_DT;
  743. break;
  744. case "CRAFT_ORD_DESIGN_MSC_PL_GX_PRL"://工序适用产线
  745. gridTab = this.CRAFT_ORD_DESIGN_MSC_PL_GX_PRL_DT;
  746. break;
  747. case "SLM_ORD_DESIGN_BOM"://BOM清单
  748. gridTab = null;
  749. if (this.designKey != null)
  750. {
  751. string sql = "SELECT * FROM SLM_ORD_DESIGN_BOM sodb WHERE EXISTS (SELECT 1 FROM CRAFT_ORD_LINE_BOM colb WHERE sodb.BOM = colb.BOM AND colb.DESGIN_KEY =? )";
  752. ArrayList list = new ArrayList();
  753. list.Add(designKey);
  754. DataTable dt = this.executeSqlQuery(sql, list);
  755. GridHelper.CopyDataToDatatable(ref dt, ref this.SLM_ORD_DESIGN_BOM_DT, true);
  756. }
  757. break;
  758. case "SLM_BASE_MATERIAL"://物料清单
  759. gridTab = null;
  760. if (designKey != null)
  761. {
  762. string sql = "SELECT m.* FROM SLM_BASE_MATERIAL m WHERE EXISTS( SELECT 1 FROM SLM_ORD_DESIGN_BOM b WHERE b.MATERIAL_NO = m.MATERIAL_NO "
  763. + " AND EXISTS( SELECT 1 FROM CRAFT_ORD_LINE_BOM c WHERE c.BOM = b.BOM AND c.DESGIN_KEY = ? ))";
  764. ArrayList list = new ArrayList();
  765. list.Add(designKey);
  766. DataTable dt = this.executeSqlQuery(sql, list);
  767. GridHelper.CopyDataToDatatable(ref dt, ref this.SLM_BASE_MATERIAL_DT, true);
  768. }
  769. break;
  770. case "CRAFT_ORD_FD_CIC"://首日检成分标准
  771. if (ordLnPk != null)
  772. {
  773. string sql = "select * from CRAFT_ORD_FD_CIC where ord_ln_pk=?";
  774. ArrayList list = new ArrayList();
  775. list.Add(ordLnPk);
  776. DataTable dt = this.executeSqlQuery(sql, list);
  777. GridHelper.CopyDataToDatatable(ref dt, ref this.CRAFT_ORD_FD_CIC_DT, true);
  778. }
  779. break;
  780. case "CRAFT_ORD_FD_CIC_COUNT"://成分首日检套数
  781. if (ordLnPk != null)
  782. {
  783. string sql = "select * from CRAFT_ORD_FD_CIC_COUNT where ord_ln_pk=?";
  784. ArrayList list = new ArrayList();
  785. list.Add(ordLnPk);
  786. DataTable dt = this.executeSqlQuery(sql, list);
  787. GridHelper.CopyDataToDatatable(ref dt, ref this.CRAFT_ORD_FD_CIC_COUNT_DT, true);
  788. }
  789. break;
  790. case "CRAFT_ORD_FD_PIC"://工艺理化评审首日检基础表
  791. if (ordLnPk != null)
  792. {
  793. string sql = "select * from CRAFT_ORD_FD_PIC where ord_ln_pk=?";
  794. ArrayList list = new ArrayList();
  795. list.Add(ordLnPk);
  796. DataTable dt = this.executeSqlQuery(sql, list);
  797. GridHelper.CopyDataToDatatable(ref dt, ref this.CRAFT_ORD_FD_PIC_DT, true);
  798. }
  799. break;
  800. case "CRAFT_ORD_FD_PIC_SMP"://首日检取样
  801. if (ordLnPk != null)
  802. {
  803. string sql = "select * from CRAFT_ORD_FD_PIC_SMP where ord_ln_pk=?";
  804. ArrayList list = new ArrayList();
  805. list.Add(ordLnPk);
  806. DataTable dt = this.executeSqlQuery(sql, list);
  807. GridHelper.CopyDataToDatatable(ref dt, ref this.CRAFT_ORD_FD_PIC_SMP_DT, true);
  808. }
  809. break;
  810. case "CRAFT_ORD_FD_WIC"://水压首日检
  811. if (ordLnPk != null)
  812. {
  813. string sql = "select * from CRAFT_ORD_FD_WIC where ord_ln_pk=?";
  814. ArrayList list = new ArrayList();
  815. list.Add(ordLnPk);
  816. DataTable dt = this.executeSqlQuery(sql, list);
  817. GridHelper.CopyDataToDatatable(ref dt, ref this.CRAFT_ORD_FD_WIC_DT, true);
  818. }
  819. break;
  820. case "PLN_SALEORD"://销售合同
  821. if (ordPk != null && ordLnPk != null)
  822. {
  823. string sql = "select * from PLN_SALEORD where ord_pk=? and ord_ln_pk=?";
  824. ArrayList list = new ArrayList();
  825. list.Add(this.ordPk);
  826. list.Add(this.ordLnPk);
  827. DataTable dt = this.executeSqlQuery(sql, list);
  828. GridHelper.CopyDataToDatatable(ref dt, ref PLN_SALEORD_DT, true);
  829. }
  830. break;
  831. case "PROCESS_ORDER_M"://合同进程主表
  832. if (ordPk != null && ordLnPk != null)
  833. {
  834. string sql = "select * from PROCESS_ORDER_M where ord_pk=? and ord_ln_pk=?";
  835. ArrayList list = new ArrayList();
  836. list.Add(this.ordPk);
  837. list.Add(this.ordLnPk);
  838. DataTable dt = this.executeSqlQuery(sql, list);
  839. GridHelper.CopyDataToDatatable(ref dt, ref PLN_SALEORD_DT, true);
  840. }
  841. break;
  842. case "SLM_ORDER_LINE_DELIVERY"://合同信息_合同行交货信息
  843. if (ordPk != null && ordLnPk != null)
  844. {
  845. string sql = "select * from SLM_ORDER_LINE_DELIVERY where ord_pk=? and ord_ln_pk=?";
  846. ArrayList list = new ArrayList();
  847. list.Add(this.ordPk);
  848. list.Add(this.ordLnPk);
  849. DataTable dt = this.executeSqlQuery(sql, list);
  850. GridHelper.CopyDataToDatatable(ref dt, ref SLM_ORDER_LINE_DELIVERY_DT, true);
  851. }
  852. break;
  853. case "CRM_SLM_ORDER"://CRM接口合同信息表
  854. if (ordPk != null && ordLnPk != null)
  855. {
  856. string sql = "select * from CRM_SLM_ORDER where ord_pk=? and ord_ln_pk=? and order_seq=?";
  857. ArrayList list = new ArrayList();
  858. list.Add(this.ordPk);
  859. list.Add(this.ordLnPk);
  860. list.Add(this.ordSeq);
  861. DataTable dt = this.executeSqlQuery(sql, list);
  862. if (dt.Rows.Count > 0) GridHelper.CopyDataToDatatable(ref dt, ref CRM_SLM_ORDER_DT, true);
  863. }
  864. break;
  865. case "CRM_ORDER_PRODUCE"://CRM接口排产计划信息表
  866. if (ordPk != null && ordLnPk != null)
  867. {
  868. string sql = "select * from CRM_ORDER_PRODUCE where ord_pk=? and ord_ln_pk=? and order_seq=?";
  869. ArrayList list = new ArrayList();
  870. list.Add(this.ordPk);
  871. list.Add(this.ordLnPk);
  872. list.Add(this.ordSeq);
  873. DataTable dt = this.executeSqlQuery(sql, list);
  874. GridHelper.CopyDataToDatatable(ref dt, ref CRM_ORDER_PRODUCE_DT, true);
  875. }
  876. break;
  877. default:
  878. gridTab = null;
  879. break;
  880. }
  881. if (this.designKey != null && gridTab != null)
  882. {
  883. DataTable dt = this.queryTableByDesignKey(tabName, this.designKey);
  884. GridHelper.CopyDataToDatatable(ref dt, ref gridTab, true);
  885. }
  886. }
  887. private void clearQualityResult()
  888. {
  889. this.designKey = null;
  890. this.ordPk = null;
  891. this.ordLnPk = null;
  892. foreach (DataTable table in this.dataSet1.Tables)
  893. {
  894. if (table.TableName.Contains("_"))
  895. {
  896. table.Clear();
  897. }
  898. }
  899. }
  900. }
  901. }