FrmChangeOrder.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using com.hnshituo.pur.vo;
  11. using Core.Mes.Client.Comm.Control;
  12. using Core.Mes.Client.Comm.Tool;
  13. using CoreFS.CA06;
  14. using Infragistics.Win.UltraWinGrid;
  15. using Pur.Entity;
  16. using Pur.PublicTools;
  17. namespace Pur.order
  18. {
  19. public partial class FrmChangeOrder : FrmPmsBase
  20. {
  21. Hashtable _Hashtable=new Hashtable();
  22. Hashtable _OrderRow = new Hashtable();
  23. Hashtable _ClauseRow = new Hashtable();
  24. ArrayList listDeleteRow = new ArrayList();
  25. public String strTips = "0";
  26. String strOrderId = "";
  27. public FrmChangeOrder()
  28. {
  29. InitializeComponent();
  30. }
  31. public FrmChangeOrder(OpeBase Ob, String orderId)
  32. {
  33. InitializeComponent();
  34. this.ob = Ob;
  35. this.strOrderId = orderId;
  36. }
  37. private void FrmChangeOrder_Load(object sender, EventArgs e)
  38. {
  39. this.Text = "合同【" + strOrderId + "】变更申请";
  40. PublicPur.InitCellEdit(new UltraGrid[] { ultraGrid1 }, new string[] { "CHK","Qty", "PriceWithTax", "TaxRateName", "EndDate", "remark" });
  41. PublicPur.InitCellEdit(new UltraGrid[] { ultraGrid2 }, new string[] { "ClauseDesc" });
  42. PublicPur.InitCellEdit(new UltraGrid[] { ultraGrid3 }, new string[] { });
  43. _Hashtable.Add("1","含税价格调整");
  44. _Hashtable.Add("2","税率调整");
  45. _Hashtable.Add("3","数量调整");
  46. _Hashtable.Add("4","交期调整");
  47. _Hashtable.Add("5","合同条款内容调整");
  48. _Hashtable.Add("6","备注修改");
  49. _Hashtable.Add("9", "合同行删除");
  50. getOrderDetail(strOrderId);
  51. QuerySUPP_NAME();
  52. ultraSUPP_NAME.Text = FrmOrderMNew.suppName;
  53. }
  54. //查询供应商
  55. private void QuerySUPP_NAME()
  56. {
  57. try
  58. {
  59. ultraSUPP_NAME.Items.Clear();
  60. DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QuerySuppName",
  61. new Object[] { "1" }, ob);
  62. ultraSUPP_NAME.DataSource = dt;
  63. ultraSUPP_NAME.DisplayMember = "SUPP_NAME";
  64. ultraSUPP_NAME.ValueMember = "SUPP_CODE";
  65. }
  66. catch (Exception e)
  67. {
  68. MessageUtil.ShowWarning(e.Message);
  69. return;
  70. }
  71. }
  72. #region toolbar工具栏
  73. /// <summary>
  74. /// toolbar
  75. /// </summary>
  76. /// <param name="sender"></param>
  77. /// <param name="e"></param>
  78. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  79. {
  80. switch (e.Tool.Key)
  81. {
  82. case "doQuery": //查询、清空
  83. getOrderDetail(strOrderId);
  84. break;
  85. case "doSure": // 确认---生成新合同
  86. doSure();
  87. break;
  88. case "doDelete": //删除合同行--非合同行不允许删除
  89. doDelete();
  90. break;
  91. case "doCreateDetail": // ButtonTool
  92. doCreateDetail();
  93. break;
  94. case "doExit": // ButtonTool
  95. this.Close();
  96. break;
  97. }
  98. }
  99. /// <summary>
  100. /// 生成变更明细
  101. /// </summary>
  102. private void doCreateDetail()
  103. {
  104. createChangeD();
  105. }
  106. /// <summary>
  107. /// 要拆分的合同行
  108. /// </summary>
  109. private void doDelete()
  110. {
  111. ultraGrid1.UpdateData();
  112. if (ultraTabControl1.SelectedTab!= ultraTabControl1.Tabs[0])
  113. {
  114. MessageUtil.ShowTips("只允许作废合同行,合同条款不允许作废");
  115. return;
  116. }
  117. if (ultraGrid1.ActiveRow == null)
  118. {
  119. MessageUtil.ShowTips("请选择待删除的合同行");
  120. return;
  121. }
  122. ArrayList list = new ArrayList();
  123. for (int i = ultraGrid1.Rows.Count - 1; i >= 0; i--)
  124. {
  125. UltraGridRow uRow = ultraGrid1.Rows[i];
  126. //String OrderId = uRow.Cells["OrderId"].Text.ToString().Trim();
  127. if (Convert.ToBoolean(uRow.Cells["CHK"].Text) == true)
  128. {
  129. //String strOrderLineSqe = ultraGrid1.ActiveRow.GetCellValue("OrderLineSqe").ToString().Trim();
  130. String strOrderLineSqe = uRow.Cells["OrderLineSqe"].Text.ToString().Trim();
  131. //String strOrderId= uRow.Cells["OrderId"].Text.ToString().Trim();
  132. listDeleteRow.Add(strOrderLineSqe);
  133. // ultraGrid1.ActiveRow.Delete(true);
  134. uRow.Delete(true);
  135. // list.Add(strOrderLineSqe);
  136. //ultraGrid1.UpdateData();
  137. }
  138. }
  139. // DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.UpdateOrder",
  140. //new Object[] { list }, ob);
  141. }
  142. /// <summary>
  143. /// 查询
  144. /// </summary>
  145. /// <param name="strOrderId"></param>
  146. private void getOrderDetail(string strOrderId)
  147. {
  148. txt_record.Clear();
  149. dataSet1.Clear();
  150. dataSet2.Clear();
  151. dataSet3.Clear();
  152. if (listDeleteRow != null)
  153. {
  154. listDeleteRow.Clear();
  155. }
  156. if (_OrderRow != null)
  157. {
  158. _OrderRow.Clear();
  159. }
  160. if (_ClauseRow != null)
  161. {
  162. _ClauseRow.Clear();
  163. }
  164. OrderC odC = new OrderC();
  165. if (!String.IsNullOrEmpty(strOrderId))
  166. {
  167. odC.OrderId = strOrderId;
  168. odC.Validflag = "1";
  169. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCService", "doQueryOrderC", new object[] { odC, 0, 0 });
  170. List<OrderC> listOc = this.execute<List<OrderC>>("com.hnshituo.pur.order.service.OrderCService", "doQueryOrderC", new object[] { odC, 0, 0 });
  171. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  172. GridHelper.RefreshAndAutoSize(ultraGrid1);
  173. foreach (OrderC odC1 in listOc)
  174. {
  175. _OrderRow.Add(odC1.OrderLineSqe, odC1);
  176. }
  177. }
  178. if (!String.IsNullOrEmpty(strOrderId))
  179. {
  180. OrderCClause clause = new OrderCClause();
  181. clause.OrderId = strOrderId;
  182. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCClauseService", "find_Clause", new object[] { clause });
  183. List<OrderCClause> listCs = this.execute<List<OrderCClause>>("com.hnshituo.pur.order.service.OrderCClauseService", "find_Clause", new object[] { clause });
  184. GridHelper.CopyDataToDatatable(dt, dataTable3, true);
  185. GridHelper.RefreshAndAutoSize(ultraGrid2);
  186. foreach (OrderCClause clause1 in listCs)
  187. {
  188. _ClauseRow.Add(clause1.Id, clause1);
  189. }
  190. }
  191. }
  192. /// <summary>
  193. /// 确定变更
  194. /// </summary>
  195. private void doSure()
  196. {
  197. string suppName = ultraSUPP_NAME.Text.ToString();
  198. string suppCode = "";
  199. DataTable dt1 = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QuerySuppCode",
  200. new Object[] { ultraSUPP_NAME.Text.ToString() }, ob);
  201. if (dt1.Rows.Count > 0)
  202. {
  203. suppCode = dt1.Rows[0]["SUPP_CODE"].ToString();
  204. }
  205. if (ultraSUPP_NAME.Text != FrmOrderMNew.suppName)
  206. {
  207. if (MessageUtil.ShowYesNoAndQuestion("选择供应商与原供应商不同是否确定?") == DialogResult.No)
  208. {
  209. return;
  210. }
  211. suppName = ultraSUPP_NAME.Text.ToString();
  212. DataTable dt = PublicServer.GetData("com.hnshituo.pur.balance.service.impl.FrmBalanceBillManage.QuerySuppCode",
  213. new Object[] { ultraSUPP_NAME.Text.ToString() }, ob);
  214. if(dt.Rows.Count>0)
  215. {
  216. suppCode = dt.Rows[0]["SUPP_CODE"].ToString();
  217. }
  218. }
  219. //ultraGrid1.UpdateData();
  220. //ultraGrid2.UpdateData();
  221. ultraGrid3.Refresh();
  222. //ArrayList listOc = new ArrayList();
  223. //ArrayList listCC = new ArrayList();
  224. ArrayList listCg = new ArrayList();
  225. //判断有没有修改
  226. if (dataTable4.Rows.Count <= 0 )
  227. {
  228. MessageUtil.ShowTips("未发现任务变更下项目,或请重新点击【生成变更项目】按钮生成变更项目");
  229. return;
  230. }
  231. //foreach (UltraGridRow row in ultraGrid1.Rows)
  232. //{
  233. // OrderC orderC = new OrderC();
  234. // String strOrderLineSqe = row.GetCellValue("OrderLineSqe").ToString().Trim();
  235. // double newQty = 0;
  236. // Double.TryParse(row.GetCellValue("Qty").ToString().Trim(), out newQty);
  237. // double newPrice = 0;
  238. // Double.TryParse(row.GetCellValue("PriceWithTax").ToString().Trim(), out newPrice);
  239. // String newRateName = row.GetCellValue("TaxRateName").ToString().Trim();
  240. // orderC.OrderLineSqe = strOrderLineSqe;
  241. // orderC.Qty = newQty;
  242. // orderC.PriceWithTax = newPrice;
  243. // orderC.TaxRateName = newRateName;
  244. // if (String.IsNullOrEmpty(strOrderLineSqe))
  245. // {
  246. // MessageUtil.ShowTips("合同行号为空");
  247. // return;
  248. // }
  249. // if (newPrice < 0)
  250. // {
  251. // MessageUtil.ShowTips("合同行号:" + strOrderLineSqe + " 的含税价格不能小于0");
  252. // return;
  253. // }
  254. // if (newQty <= 0)
  255. // {
  256. // MessageUtil.ShowTips("采购数量不能小于0");
  257. // return;
  258. // }
  259. // if (String.IsNullOrEmpty(newRateName))
  260. // {
  261. // MessageUtil.ShowTips("税率不能为空");
  262. // return;
  263. // }
  264. // listOc.Add(orderC);
  265. //}
  266. //foreach (UltraGridRow row in ultraGrid2.Rows)
  267. //{
  268. // String strID = row.GetCellValue("ID").ToString().Trim();
  269. // OrderCClause clauseC = new OrderCClause();
  270. // String newClauseDesc = row.GetCellValue("ClauseDesc").ToString().Trim();
  271. // if (String.IsNullOrEmpty(strID))
  272. // {
  273. // MessageUtil.ShowTips("合同条款行号为空");
  274. // return;
  275. // }
  276. // clauseC.Id = strID;
  277. // clauseC.ClauseDesc = newClauseDesc;
  278. // listCC.Add(clauseC);
  279. //}
  280. OrderChangeM om=new OrderChangeM();
  281. om.ChangeRecord = txt_record.Text.Trim();
  282. if (String.IsNullOrEmpty(om.ChangeRecord))
  283. {
  284. MessageUtil.ShowTips("变更说明不能为空");
  285. return;
  286. }
  287. if (om.ChangeRecord.Length > 2999)
  288. {
  289. MessageUtil.ShowTips("变更说明超出字数限制");
  290. return;
  291. }
  292. om.CreateName = UserInfo.GetUserName();
  293. om.CreateUserid = UserInfo.GetUserID();
  294. om.CreateTime = DateTime.Now;
  295. om.OrderId = strOrderId;
  296. foreach (UltraGridRow row in ultraGrid3.Rows)
  297. {
  298. OrderChangeD changeD = new OrderChangeD();
  299. changeD.ChangeCode = row.GetCellValue("changeCode").ToString().Trim();
  300. changeD.ChangeType=row.GetCellValue("changeType").ToString().Trim();
  301. changeD.ChangeCodeName=row.GetCellValue("changeCodeName").ToString().Trim();
  302. changeD.ChangeTypeName=row.GetCellValue("changeTypeName").ToString().Trim();
  303. changeD.OrderLineSqe=row.GetCellValue("OrderLineSqe").ToString().Trim();
  304. changeD.OrderId=row.GetCellValue("OrderId").ToString().Trim();
  305. changeD.NewValue=row.GetCellValue("newValue").ToString().Trim();
  306. changeD.OldValue=row.GetCellValue("oldValue").ToString().Trim();
  307. changeD.CreateName = UserInfo.GetUserName();
  308. changeD.CreateTime = DateTime.Now;
  309. changeD.CreateUserid = UserInfo.GetUserID();
  310. listCg.Add(changeD);
  311. }
  312. if (listCg.Count <= 0)
  313. {
  314. MessageUtil.ShowTips("未发现任务变更下项目,或请重新点击【生成变更项目】按钮生成变更项目");
  315. return;
  316. }
  317. String strdetail = ((OrderChangeD)listCg[0]).ChangeTypeName;
  318. if (MessageUtil.ShowYesNoAndQuestion("确定对合同【" + strOrderId + "】进行变更申请,共变更包括" + strdetail + "在内的" + listCg.Count + "项") != DialogResult.Yes)
  319. {
  320. return;
  321. }
  322. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderMService", "orderChange", new object[] { listCg, om, suppName, suppCode });
  323. if (crt.Resultcode != 0)
  324. {
  325. MessageUtil.ShowTips("操作失败:" + crt.Resultmsg);
  326. strTips = "0";
  327. }
  328. else
  329. {
  330. MessageUtil.ShowTips("操作成功,请确认提报" );
  331. strTips = "1";
  332. }
  333. }
  334. #endregion
  335. #region 界面事件
  336. #endregion
  337. #region 公共函数
  338. private void createChangeD()
  339. {
  340. try
  341. {
  342. this.Cursor = Cursors.WaitCursor;
  343. ultraGrid1.UpdateData();
  344. ultraGrid2.UpdateData();
  345. dataSet3.Clear();
  346. foreach (String strOrderLineSqe1 in listDeleteRow)
  347. {
  348. OrderC odC = (OrderC)_OrderRow[strOrderLineSqe1];
  349. if (odC == null)
  350. {
  351. MessageUtil.ShowTips("未发现合同行:" + strOrderLineSqe1 + "信息记录");
  352. return;
  353. }
  354. DataRow dr = dataTable4.NewRow();
  355. dr["changeCode"] = "delete";
  356. dr["changeCodeName"] = "删除合同行:" + strOrderLineSqe1 + ",涉及物料:" + odC.ItemName;
  357. dr["changeType"] = "9";
  358. dr["changeTypeName"] = _Hashtable["9"];
  359. dr["OrderLineSqe"] = strOrderLineSqe1;
  360. dr["OrderId"] = odC.OrderId;
  361. dr["createName"] = UserInfo.GetUserName();
  362. dr["createTime"] = DateTime.Now;
  363. dataTable4.Rows.InsertAt(dr, 0);
  364. }
  365. foreach (UltraGridRow row in ultraGrid1.Rows)
  366. {
  367. String strOrderLineSqe = row.GetCellValue("OrderLineSqe").ToString().Trim();
  368. String strItemName = row.GetCellValue("itemName").ToString().Trim();
  369. OrderC odC = (OrderC)_OrderRow[strOrderLineSqe];
  370. //处理数量
  371. double newQty = 0;
  372. Double.TryParse(row.GetCellValue("Qty").ToString().Trim(), out newQty);
  373. if (Math.Round((double)odC.Qty, 3) != Math.Round(newQty, 3))
  374. {
  375. double noticedQty = odC.CreatedNoticeQty == null ? 0 : (double)odC.CreatedNoticeQty;
  376. double oldQty = odC.Qty == null ? 0 : (double)odC.Qty;
  377. noticedQty = Math.Round(noticedQty, 3);
  378. newQty = Math.Round(newQty, 3);
  379. oldQty = Math.Round(oldQty, 3);
  380. if (newQty <noticedQty)
  381. {
  382. MessageUtil.ShowTips( "物料:"+strItemName+"已经通知发货:" + noticedQty+",导致最大只能减少到:" + noticedQty );
  383. row.Cells["Qty"].Value = odC.Qty;
  384. row.Activate();
  385. return;
  386. }
  387. //新增
  388. DataRow dr = dataTable4.NewRow();
  389. dr["changeCode"] = "Qty";
  390. dr["changeCodeName"] = "物料:" + strItemName + " 合同数量变更";
  391. dr["changeType"] = "3";
  392. dr["changeTypeName"] = _Hashtable["3"];
  393. dr["OrderLineSqe"] = strOrderLineSqe;
  394. dr["OrderId"] = odC.OrderId;
  395. dr["newValue"] = newQty;
  396. dr["oldValue"] = odC.Qty;
  397. dr["createName"] = UserInfo.GetUserName();
  398. dr["createTime"] = DateTime.Now;
  399. dataTable4.Rows.InsertAt(dr, 0);
  400. }
  401. //处理价格
  402. double newPrice = 0;
  403. Double.TryParse(row.GetCellValue("PriceWithTax").ToString().Trim(), out newPrice);
  404. if (Math.Round((double)odC.PriceWithTax, 2) != Math.Round(newPrice, 2))
  405. {
  406. DataRow dr = dataTable4.NewRow();
  407. dr["changeCode"] = "PriceWithTax";
  408. dr["changeCodeName"] = "物料:" + strItemName + " 含税单价变更";
  409. dr["changeType"] = "1";
  410. dr["changeTypeName"] = _Hashtable["1"];
  411. dr["OrderLineSqe"] = strOrderLineSqe;
  412. dr["OrderId"] = odC.OrderId;
  413. dr["newValue"] = newPrice;
  414. dr["oldValue"] = odC.PriceWithTax;
  415. dr["createName"] = UserInfo.GetUserName();
  416. dr["createTime"] = DateTime.Now;
  417. dataTable4.Rows.InsertAt(dr, 0);
  418. }
  419. //处理税率
  420. String newRateName = row.GetCellValue("TaxRateName").ToString().Trim();
  421. if (newRateName != odC.TaxRateName)
  422. {
  423. if (!publicPms.IsPercentage(newRateName))
  424. {
  425. MessageUtil.ShowTips("请输入有效税率");
  426. return;
  427. }
  428. DataRow dr = dataTable4.NewRow();
  429. dr["changeCode"] = "TaxRateName";
  430. dr["changeCodeName"] = "物料:" + strItemName + " 税率变更";
  431. dr["changeType"] = "2";
  432. dr["changeTypeName"] = _Hashtable["2"];
  433. dr["OrderLineSqe"] = strOrderLineSqe;
  434. dr["OrderId"] = odC.OrderId;
  435. dr["newValue"] = newRateName;
  436. dr["oldValue"] = odC.TaxRateName;
  437. dr["createName"] = UserInfo.GetUserName();
  438. dr["createTime"] = DateTime.Now;
  439. dataTable4.Rows.InsertAt(dr, 0);
  440. }
  441. //处理税备注
  442. String newRemark = row.GetCellValue("remark").ToString().Trim();
  443. odC.Remark=odC.Remark==null?"":odC.Remark.Trim();
  444. if (newRemark != odC.Remark)
  445. {
  446. DataRow dr = dataTable4.NewRow();
  447. dr["changeCode"] = "remark";
  448. dr["changeCodeName"] = "物料:" + strItemName + " 合同行备注修改";
  449. dr["changeType"] = "6";
  450. dr["changeTypeName"] = _Hashtable["6"];
  451. dr["OrderLineSqe"] = strOrderLineSqe;
  452. dr["OrderId"] = odC.OrderId;
  453. dr["newValue"] = newRemark;
  454. dr["oldValue"] = odC.Remark;
  455. dr["createName"] = UserInfo.GetUserName();
  456. dr["createTime"] = DateTime.Now;
  457. dataTable4.Rows.InsertAt(dr, 0);
  458. }
  459. //交期处理
  460. if (String.IsNullOrEmpty(row.GetCellValue("EndDate") == null ? "" : row.GetCellValue("EndDate").ToString()))
  461. {
  462. MessageUtil.ShowTips("物料:" + strItemName + "要求的交期不能为空!");
  463. return;
  464. }
  465. DateTime time1 = DateTime.Parse(Convert.ToDateTime(row.GetCellValue("EndDate")).ToString("yyyy/MM/dd"));
  466. DateTime time2 = DateTime.Parse(((DateTime)odC.EndDate).ToString("yyyy/MM/dd"));
  467. TimeSpan ts = time1.Subtract(time2);
  468. if (ts.TotalDays >= 1 || ts.TotalDays <= -1)
  469. {
  470. DataRow dr = dataTable4.NewRow();
  471. dr["changeCode"] = "EndDate";
  472. dr["changeCodeName"] = "物料:" + strItemName + " 交期变更";
  473. dr["changeType"] = "4";
  474. dr["changeTypeName"] = _Hashtable["4"];
  475. dr["OrderLineSqe"] = strOrderLineSqe;
  476. dr["OrderId"] = odC.OrderId;
  477. dr["newValue"] = time1.ToString("yyyy/MM/dd");
  478. dr["oldValue"] = time2.ToString("yyyy/MM/dd");
  479. dr["createName"] = UserInfo.GetUserName();
  480. dr["createTime"] = DateTime.Now;
  481. dataTable4.Rows.InsertAt(dr, 0);
  482. }
  483. }
  484. foreach (UltraGridRow uge in ultraGrid2.Rows)
  485. {
  486. String strID = uge.GetCellValue("ID").ToString().Trim();
  487. String strClauseName = uge.GetCellValue("ClauseName").ToString().Trim();
  488. OrderCClause odC = (OrderCClause)_ClauseRow[strID];
  489. String newClauseDesc = uge.GetCellValue("ClauseDesc").ToString().Trim();
  490. odC.ClauseDesc = odC.ClauseDesc == null ? "" : odC.ClauseDesc.Trim();
  491. if (newClauseDesc != odC.ClauseDesc)
  492. {
  493. DataRow dr = dataTable4.NewRow();
  494. dr["changeCode"] = "ClauseDesc";
  495. dr["changeCodeName"] = "条款:" + strClauseName + " 内容变更";
  496. dr["changeType"] = "5";
  497. dr["changeTypeName"] = _Hashtable["5"];
  498. dr["OrderLineSqe"] = strID;
  499. dr["OrderId"] = odC.OrderId;
  500. dr["newValue"] = newClauseDesc;
  501. dr["oldValue"] = odC.ClauseDesc;
  502. dr["createName"] = UserInfo.GetUserName();
  503. dr["createTime"] = DateTime.Now;
  504. dataTable4.Rows.InsertAt(dr, 0);
  505. }
  506. }
  507. if (dataTable4.Rows.Count <= 0)
  508. {
  509. MessageUtil.ShowTips("未检测任何变更");
  510. }
  511. }
  512. catch (Exception ex)
  513. {
  514. MessageUtil.ShowTips("生成失败:" + ex);
  515. dataSet3.Clear();
  516. }
  517. finally
  518. {
  519. ultraGrid3.Refresh();
  520. GridHelper.RefreshAndAutoSize(ultraGrid3);
  521. this.Cursor = Cursors.Default;
  522. }
  523. }
  524. #endregion
  525. }
  526. }