FrmPurOrderApproval.cs 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902
  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;using Pur.Entity;
  10. using Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm;
  12. using Pur.Entity.configureEntity;
  13. using Infragistics.Win.UltraWinGrid;
  14. using System.Collections;
  15. using Pur.Entity.pur_orderEntiy;
  16. using Pur.configure;
  17. using Pur.Pop_upWindow;
  18. using Pur.require_plan;
  19. using Core.Mes.Client.Comm.Tool;
  20. using com.hnshituo.pur.vo;
  21. using Bpm;
  22. using com.hnshituo.bpm.req.vo;
  23. using Core.Mes.Client.Comm.Server;
  24. using Infragistics.Win.UltraWinEditors;
  25. using Pur.PublicTools;
  26. namespace Pur.order
  27. {
  28. public partial class FrmPurOrderApproval : FrmPmsBase
  29. {
  30. protected override CreateParams CreateParams
  31. {
  32. get
  33. {
  34. CreateParams cp = base.CreateParams;
  35. cp.ExStyle |= 0x02000000;//用双缓冲绘制窗口的所有子控件
  36. return cp;
  37. }
  38. }
  39. //合同上传
  40. String fileName = "";
  41. String strIsbatch = "";
  42. public FrmPurOrderApproval()
  43. {
  44. InitializeComponent();
  45. this.IsLoadUserView = true;
  46. }
  47. private void FrmPurOrderApproval_Load(object sender, EventArgs e)
  48. {
  49. ultraTabControl2.Tabs["change"].Visible = false;
  50. strIsbatch=this.CustomInfo == null ? "" : this.CustomInfo.ToString();//1:为批量审批
  51. if (strIsbatch == "1")
  52. {
  53. ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
  54. }
  55. txt_createTimeStart.Value = DateTime.Now.AddMonths(-1);
  56. txt_createTimeEnd.Value = DateTime.Now.AddDays(1);
  57. txt_createTimeEnd.Enabled = true;
  58. txt_createTimeStart.Enabled = true;
  59. CK_Ctime.Checked = true;
  60. txt_Status.SelectedIndex = 1;
  61. //加载合同类别
  62. //合同类别
  63. DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1200" }, this.ob);
  64. comm.FilComboboxAdd(COP_OrderType, dt1, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", "");
  65. COP_OrderType.SelectedIndex = 0;
  66. DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1235" }, this.ob);
  67. comm.FilComboboxAdd(order_from_combo, dt2, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", "");
  68. order_from_combo.SelectedIndex = 0;
  69. GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { "CHK" });
  70. //加载待审批和已审批的合同头
  71. GetPUR_ORDER_M();
  72. ultraExpandableGroupBox1.Expanded = false;
  73. }
  74. #region toolbar菜单按钮事件
  75. public override void ToolBar_Click(object sender, string ToolbarKey)
  76. {
  77. switch (ToolbarKey)
  78. {
  79. case "Query":
  80. GetPUR_ORDER_M();
  81. break;
  82. case "Approval"://单个审批
  83. AppPUR_ORDER_M();
  84. //AppPUR_ORDER_M_all();
  85. break;
  86. case "ApprovalBatch":
  87. AppPUR_ORDER_M_all();//批量审批
  88. break;
  89. case "Process":
  90. Process();
  91. break;
  92. case "FinishedAuditOutline":
  93. FinishedAuditOutline();
  94. break;
  95. case "getReportReview":
  96. getReportHTReview();
  97. break;
  98. case "doExcel":
  99. doExcel();
  100. break;
  101. }
  102. }
  103. /// <summary>
  104. /// 导出Excel
  105. /// </summary>
  106. private void doExcel()
  107. {
  108. try
  109. {
  110. ArrayList alUltraGrid = new ArrayList();
  111. alUltraGrid.Add(ultraGrid1);
  112. alUltraGrid.Add(ultraGrid2);
  113. alUltraGrid.Add(ultraGrid3);
  114. ArrayList alSheeft = new ArrayList();
  115. alSheeft.Add("合同主表");
  116. alSheeft.Add("合同行表");
  117. alSheeft.Add("合同条款");
  118. if (ultraGrid1.Rows.Count > 0)
  119. {
  120. GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "合同");//导出excel
  121. }
  122. //MessageUtil.ShowTips("导出成功");
  123. }
  124. catch (Exception e)
  125. {
  126. MessageUtil.ShowTips("导出失败" + e.Message);
  127. }
  128. finally
  129. {
  130. }
  131. }
  132. /// <summary>
  133. /// 转入线下审批
  134. /// </summary>
  135. private void FinishedAuditOutline()
  136. {
  137. try
  138. {
  139. UltraGridRow uge = ultraGrid1.ActiveRow;
  140. if (uge == null)
  141. {
  142. MessageUtil.ShowTips("请选择合同头!");
  143. return;
  144. }
  145. String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim();
  146. OrderM Odm = new OrderM();
  147. Odm.OrderId = strOrderId;
  148. Odm.OperatorUserId = UserInfo.GetUserID();
  149. OrderM Omg = this.execute<OrderM>("com.hnshituo.pur.order.service.OrderMService", "findById", new object[] { strOrderId });
  150. if (Omg == null)
  151. {
  152. MessageUtil.ShowTips("未发现合同【" + strOrderId + "】的信息记录,可能已作废,或请刷新界面重新操作!");
  153. return;
  154. }
  155. if (Omg.Validflag != "1")
  156. {
  157. MessageUtil.ShowWarning("合同【" + strOrderId + "】可能已作废,或请刷新界面重新操作!");
  158. return;
  159. }
  160. if (Omg.Status != "2")
  161. {
  162. MessageUtil.ShowWarning("合同可能未提报审批或者已审批,无法完成一键审批!");
  163. return;
  164. }
  165. if (MessageBox.Show("确认将合同[" + strOrderId + "]转入线下审批? 备注:请确保已在供应部完成审批。", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  166. {
  167. return;
  168. }
  169. CoreResult rt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderMService", "finishedAuditOutline", new object[] { Odm });
  170. if (rt.Resultcode != 0)
  171. {
  172. MessageUtil.ShowTips("操作失败:" + rt.Resultmsg);
  173. return;
  174. }
  175. MessageUtil.ShowTips("操作成功!");
  176. GetPUR_ORDER_M();
  177. publicPms.doActiveSelRow(ultraGrid1, "orderId", strOrderId);
  178. }
  179. catch (Exception ex)
  180. {
  181. MessageUtil.ShowTips(ex.Message);
  182. }
  183. }
  184. /// <summary>
  185. /// 审批
  186. /// </summary>
  187. private void AppPUR_ORDER_M()// 单个审批
  188. {
  189. try
  190. {
  191. UltraGridRow uge = ultraGrid1.ActiveRow;
  192. if (uge == null)
  193. {
  194. MessageUtil.ShowWarning("无审批信息,请检查后操作!");
  195. return;
  196. }
  197. //if (MessageBox.Show("将审批合同ID为[" + uge.Cells["OrderId"].Value.ToString() + "]的合同?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  198. //{
  199. // return;
  200. //}
  201. OrderM Omg = this.execute<OrderM>("com.hnshituo.pur.order.service.OrderMService", "findById", new object[] { uge.Cells["OrderId"].Value.ToString() });
  202. if (!Omg.Status.Equals("2"))
  203. {
  204. MessageUtil.ShowWarning("合同" + uge.Cells["OrderId"].Value.ToString() + "尚未送审或已审批,请刷新后再操作!");
  205. return;
  206. }
  207. frmExamineShow Fex = new frmExamineShow();
  208. Fex.ShowDialog();
  209. if (Fex.Status == null)
  210. {
  211. return;
  212. }
  213. string OrderId = uge.Cells["OrderId"].Value.ToString();
  214. //OrderM Odm = new OrderM();
  215. //Odm.OrderId = uge.Cells["OrderId"].Value.ToString();
  216. //Odm.Status = "2";
  217. //this.execute("com.hnshituo.pur.order.service.OrderMService", "doUpdate", new object[] { Odm });
  218. //CoreResult rt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderMService", "doUpdate", new object[] { Odm });
  219. ReqCompleteTask req = new ReqCompleteTask();
  220. req.OperatorUserId = UserInfo.GetUserID();
  221. req.TaskId = uge.Cells["BpmTaskId"].Value.ToString();
  222. if (Fex.Status.Equals("2"))
  223. {
  224. req.AuditData = true;
  225. req.AuditMessage = Fex.ExamineMessage;
  226. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderMService", "bpmAudit1", new object[] { req,Omg });
  227. if (crt.Resultcode == -1)
  228. {
  229. MessageUtil.ShowTips("合同" + OrderId + "审批失败!" + crt.Resultmsg);
  230. return;
  231. }
  232. MessageUtil.ShowTips("操作成功");
  233. GetPUR_ORDER_M();
  234. }
  235. else if (Fex.Status.Equals("1"))
  236. {
  237. req.AuditData = false;
  238. req.AuditMessage = Fex.ExamineMessage;
  239. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderMService", "bpmAudit1", new object[] { req, Omg });
  240. if (crt.Resultcode == -1)
  241. {
  242. MessageUtil.ShowTips("合同" + OrderId + "审批失败!" + crt.Resultmsg);
  243. return;
  244. }
  245. OrderM ReqM = new OrderM();
  246. ReqM.OrderId = OrderId;
  247. ReqM.Status = "5";
  248. CoreResult rt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderMService", "doUpdate", new object[] { ReqM });
  249. if (rt.Resultcode != 0)
  250. {
  251. MessageUtil.ShowTips("需求计划单" + uge.Cells["MrId"].Value.ToString() + "审批失败!" + crt.Resultmsg);
  252. return;
  253. }
  254. MessageUtil.ShowTips("操作成功");
  255. GetPUR_ORDER_M();
  256. }
  257. }
  258. catch (Exception ex)
  259. {
  260. MessageUtil.ShowTips(ex.Message);
  261. }
  262. }
  263. /// <summary>
  264. /// 批量审批
  265. /// </summary>
  266. private void AppPUR_ORDER_M_all()
  267. {
  268. try
  269. {
  270. ultraGrid1.UpdateData();
  271. ArrayList list = new ArrayList();
  272. foreach (UltraGridRow row in ultraGrid1.Rows)
  273. {
  274. if (Convert.ToBoolean(row.GetCellValue("CHK")) == true)
  275. {
  276. OrderM pm = new OrderM();
  277. pm.OrderId = row.GetCellValue("orderId").ToString().Trim();
  278. pm.DeleteUserid = row.GetCellValue("BpmTaskId").ToString().Trim();
  279. pm.DeleteName = UserInfo.GetUserID();//审批人ID
  280. list.Add(pm);
  281. }
  282. }
  283. if (list.Count <= 0)
  284. {
  285. MessageUtil.ShowTips("请选择需要审批的合同!");
  286. return;
  287. }
  288. //UltraGridRow uge = ultraGrid1.ActiveRow;
  289. // ArrayList al = setUserPlan();
  290. frmExamineShowNew frm = new frmExamineShowNew(list, this.ob, "order");
  291. frm.ShowDialog();
  292. if (frm.tips == "1")
  293. {
  294. GetPUR_ORDER_M();
  295. }
  296. }
  297. catch (Exception ex)
  298. {
  299. MessageUtil.ShowTips(ex.Message);
  300. }
  301. }
  302. /// <summary>
  303. /// 查询
  304. /// </summary>
  305. private void GetPUR_ORDER_M()// 查询
  306. {
  307. dataSet1.Clear();
  308. dataSet2.Clear();
  309. message.Clear();
  310. OrderM Odm = new OrderM();
  311. Odm.OrderType = COP_OrderType.Value == null ? null : COP_OrderType.Value.ToString().Trim();
  312. Odm.OrderId = COP_OrderId.Text.ToString().Trim();
  313. Odm.SuppName = COP_SuppName.Text.ToString().Trim();
  314. if (CK_Ctime.Checked)
  315. {
  316. if (txt_createTimeStart.Text != "")
  317. {
  318. Odm.CreateTime = Convert.ToDateTime(txt_createTimeStart.Value);
  319. }
  320. if (txt_createTimeEnd.Text != "")
  321. {
  322. Odm.UpdateTime = Convert.ToDateTime(txt_createTimeEnd.Value);
  323. }
  324. }
  325. if (txt_Status.SelectedIndex == -1)
  326. {
  327. MessageUtil.ShowTips("请选择数据范围进行查询");
  328. }
  329. Odm.Validflag = "1";
  330. Odm.BpmUserId = UserInfo.GetUserID();
  331. Odm.ValidDataPurviewIds = this.ValidDataPurviewIds;
  332. Odm.BuyerDeptDesc = Buyer_Dept_Txt.Value.ToString2();
  333. Odm.OrderForm = order_from_combo.Text.ToString2().Equals("全部") ? "" : order_from_combo.Text.ToString2();
  334. DataTable dt = new DataTable();
  335. if (txt_Status.SelectedIndex == -1)
  336. {
  337. return;
  338. }
  339. if (txt_Status.Value.ToString().Trim() == "wait")
  340. {
  341. dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderMService", "find_audit_OrderM", new object[] { Odm });
  342. }
  343. else if (txt_Status.Value.ToString().Trim() == "did")
  344. {
  345. dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderMService", "find_audited_OrderM", new object[] { Odm });
  346. }
  347. else
  348. {
  349. dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderMService", "find_OrderM", new object[] { Odm });
  350. }
  351. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  352. GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, new string[] { "ItemNames", "PriceWithTaxs", "qtys" });
  353. }
  354. /// <summary>
  355. /// 合同评审单
  356. /// </summary>
  357. private void getReportHTReview()//打印合同审批表
  358. {
  359. try
  360. {
  361. this.Cursor = Cursors.WaitCursor;
  362. UltraGridRow ugr = ultraGrid1.ActiveRow;
  363. if (ugr == null)
  364. {
  365. MessageUtil.ShowWarning("请选择您要查看合同审批表的合同!");
  366. return;
  367. }
  368. //string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
  369. //string saleOrg = ugr.Cells["SALE_ORG"].Value.ToString();
  370. //string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  371. string orderNo = ugr.Cells["OrderId"].Value.ToString();
  372. string strurl = "";
  373. DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1223" }, this.ob);
  374. DataRow[] drArr = dt.Select("validflag='1'");
  375. if (drArr.Length != 1)
  376. {
  377. MessageUtil.ShowTips("基础数据维护错误:报表系统需维护有效的Ip且只能维护一个有效ip!");
  378. return;
  379. }
  380. String TipsEnv = drArr[0]["baseName"].ToString();
  381. String strUrlPort = "http://172.54.10.42:8080";//报表系统IP
  382. String[] str = strUrlPort.Split(':');
  383. String strUrl = str[0] + ":" + str[1];
  384. if (ob.MainUrl.StartsWith(strUrl))
  385. {
  386. //测试环境
  387. if (TipsEnv == "2")
  388. {
  389. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReviewDev.cpt&op=view" + "&cmbOrder=" + orderNo;
  390. }
  391. else
  392. {
  393. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReview.cpt&op=view" + "&cmbOrder=" + orderNo;
  394. }
  395. }
  396. else
  397. {
  398. //测试环境
  399. if (TipsEnv == "2")
  400. {
  401. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReviewDev.cpt&op=view" + "&cmbOrder=" + orderNo;
  402. }
  403. else
  404. {
  405. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReview.cpt&op=view" + "&cmbOrder=" + orderNo;
  406. }
  407. }
  408. //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  409. //{
  410. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPurOrderReviewDev.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo;
  411. //}
  412. //else
  413. //{
  414. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPurOrderReview.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo;
  415. //}
  416. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  417. fBug.AutoSize = true;
  418. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  419. fBug.WindowState = FormWindowState.Maximized;
  420. fBug.Text = "TPCO合同审批表查询";
  421. fBug.Show();
  422. }
  423. finally
  424. {
  425. this.Cursor = Cursors.Default;
  426. }
  427. }
  428. /// <summary>
  429. /// 查看流程详情
  430. /// </summary>
  431. private void Process()//查看流程详情
  432. {
  433. UltraGridRow uge = ultraGrid1.ActiveRow;
  434. if (uge == null)
  435. {
  436. MessageUtil.ShowWarning("请选择合同!");
  437. return;
  438. }
  439. String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim();
  440. if (String.IsNullOrEmpty(strOrderId))
  441. {
  442. MessageUtil.ShowWarning("数据异常,合同头信息合同号为空!");
  443. return;
  444. }
  445. ProcInstDetail detail = new ProcInstDetail(BpmFlowConstants.PROCDEF_PUR_ORDER_AUDIT, strOrderId);
  446. detail.ShowDialog();
  447. }
  448. #endregion
  449. #region 界面事件
  450. /// <summary>
  451. /// grid1激活事件
  452. /// </summary>
  453. /// <param name="sender"></param>
  454. /// <param name="e"></param>
  455. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)// grid1激活事件
  456. {
  457. UltraGridRow uge= ultraGrid1.ActiveRow;
  458. getOrderDetail(uge);
  459. }
  460. /// <summary>
  461. /// 加载合同明细信息
  462. /// </summary>
  463. /// <param name="uge"></param>
  464. private void getOrderDetail(UltraGridRow uge)// 加载合同明细信息
  465. {
  466. dataTable2.Clear();
  467. dataTable3.Clear();
  468. dataTable5.Clear();
  469. change.Clear();
  470. jy_procRecord.Clear();
  471. message.Clear();
  472. ConfigureClassCommon.clearOldData(panel1);
  473. OrderC odC = new OrderC();
  474. String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim();
  475. String strModeId = uge.Cells["ModeId"].Value.ToString().Trim();
  476. String strTaskRecordId = uge.Cells["TaskRecordId"].Value.ToString().Trim();
  477. if (!String.IsNullOrEmpty(strOrderId))
  478. {
  479. odC.OrderId = strOrderId;
  480. odC.Validflag = "1";
  481. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCService", "doQueryOrderC", new object[] { odC, 0, 0 });
  482. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  483. GridHelper.RefreshAndAutoSize(ultraGrid2);
  484. }
  485. if (!String.IsNullOrEmpty(strOrderId))
  486. {
  487. OrderCClause clause = new OrderCClause();
  488. clause.OrderId = strOrderId;
  489. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCClauseService", "find_Clause", new object[] { clause });
  490. GridHelper.CopyDataToDatatable(dt, dataTable3, true);
  491. GridHelper.RefreshAndAutoSize(ultraGrid3);
  492. }
  493. //加载采购纪要数据
  494. if (!String.IsNullOrEmpty(strTaskRecordId))
  495. {
  496. PurTaskRecordEntity taskRecord = this.execute<PurTaskRecordEntity>("com.hnshituo.pur.purplan.service.TaskRecordService", "findById", new object[] { strTaskRecordId });
  497. if (taskRecord!=null)
  498. {
  499. jy_buyerUsername.Text = taskRecord.BuyerUsername;
  500. jy_mngOrgName.Text = taskRecord.MngOrgName;
  501. jy_negDate.Value = taskRecord.NegDate;
  502. if (taskRecord.ProcRecord != null)
  503. {
  504. jy_procRecord.Text = taskRecord.ProcRecord.Replace("\n", "\r\n");
  505. }
  506. jy_taskId.Text = taskRecord.TaskId;
  507. jy_taskName.Text = taskRecord.TaskName;
  508. jy_type.Value = taskRecord.Type;
  509. DataTable dt6 = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskEvaService", "doQueryEva", new object[] { taskRecord.TaskId });
  510. GridHelper.CopyDataToDatatable(dt6, dataTable5, true);
  511. GridHelper.RefreshAndAutoSize(ultraGrid6);
  512. }
  513. }
  514. getOrderAppend(strOrderId, "");
  515. //加载评审意见
  516. getOrderReview(strOrderId);
  517. //加载变更记录
  518. getOrderChangeRecord(strOrderId);
  519. }
  520. /// <summary>
  521. /// 加载合同变更记录
  522. /// </summary>
  523. /// <param name="strOrderId"></param>
  524. private void getOrderChangeRecord(string strOrderId)
  525. {
  526. change.Clear();
  527. OrderChangeM change1 = new OrderChangeM();
  528. if (strOrderId.EndsWith("BG"))
  529. {
  530. change1.OrderIdB = strOrderId;
  531. }
  532. else
  533. {
  534. change1.OrderId = strOrderId;
  535. }
  536. change1.Validflag = "1";
  537. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderChangeMService", "find", new object[] { change1, 0, 0 });
  538. if (dt != null && dt.Rows.Count > 0)
  539. {
  540. ultraTabControl2.Tabs["change"].Visible = true;
  541. GridHelper.CopyDataToDatatable(dt, dataTable6, true);
  542. GridHelper.RefreshAndAutoSize(ultraGrid8);
  543. }
  544. else
  545. {
  546. ultraTabControl2.Tabs["change"].Visible = false;
  547. }
  548. }
  549. /// <summary>
  550. /// 查询条件--创建时间控制
  551. /// </summary>
  552. /// <param name="sender"></param>
  553. /// <param name="e"></param>
  554. private void CK_Ctime_CheckedChanged(object sender, EventArgs e)// 查询条件--创建时间控制
  555. {
  556. txt_createTimeStart.Enabled = CK_Ctime.Checked;
  557. txt_createTimeEnd.Enabled = CK_Ctime.Checked;
  558. }
  559. #endregion
  560. /// <summary>
  561. /// 获取合同评审意见
  562. /// </summary>
  563. /// <param name="strOrderId"></param>
  564. private void getOrderReview(string strOrderId)
  565. {
  566. DataTable dt11 = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderMService", "getReviewMsg", new object[] { strOrderId });
  567. GridHelper.CopyDataToDatatable(dt11, dataTable7, true);
  568. GridHelper.RefreshAndAutoSize(ultraGrid5);
  569. }
  570. private void txt_Status_ValueChanged(object sender, EventArgs e)
  571. {
  572. GetPUR_ORDER_M();
  573. if (strIsbatch != "1")
  574. {
  575. foreach (UltraGridRow row in ultraGrid1.Rows)
  576. {
  577. row.Cells["CHK"].Value = false;
  578. }
  579. if (txt_Status.SelectedIndex == 1)//待审批
  580. {
  581. ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = false;
  582. }
  583. else
  584. {
  585. ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
  586. }
  587. }
  588. }
  589. #region 文件上传
  590. private void craftImg_EditorButtonClick(object sender, EditorButtonEventArgs e)
  591. {
  592. try
  593. {
  594. UltraGridRow row = ultraGrid4.ActiveRow;
  595. string filePathOld = row.GetValue("certPathOld");
  596. if (e.Button.Key.ToLower().Equals("select"))
  597. {
  598. FrmPopFileShow down = new FrmPopFileShow(this.ob, filePathOld);
  599. down.DeleteButton.Visible = false;
  600. down.ShowDialog();
  601. }
  602. }
  603. catch (Exception ex)
  604. {
  605. MessageUtil.ShowTips("操作失败:" + ex);
  606. }
  607. }
  608. private void txt_certPath_EditorButtonClick(object sender, EditorButtonEventArgs e)
  609. {
  610. try
  611. {
  612. if (e.Button.Key.ToLower().Equals("insert"))
  613. {
  614. OpenFileDialog file = new OpenFileDialog();
  615. file.Multiselect = false;
  616. DialogResult drStat;
  617. drStat = file.ShowDialog();
  618. if (drStat == DialogResult.OK)
  619. {
  620. fileName = file.FileName;
  621. String filePathlocal = System.IO.Path.GetFullPath(fileName);
  622. string filena = System.IO.Path.GetFileName(fileName);
  623. txt_certPath.Text = filena;
  624. txt_certpath_local.Text = filePathlocal;
  625. }
  626. }
  627. }
  628. catch (Exception ex)
  629. {
  630. MessageUtil.ShowTips("操作失败:" + ex);
  631. }
  632. }
  633. //上传按钮
  634. private void btn_submitAppend_Click(object sender, EventArgs e)
  635. {
  636. if (ultraGrid1.ActiveRow == null)
  637. {
  638. MessageUtil.ShowTips("未选择合同头");
  639. return;
  640. }
  641. String filena = txt_certPath.Text.ToString().Trim();
  642. if (String.IsNullOrEmpty(filena) || String.IsNullOrEmpty(fileName))
  643. {
  644. MessageUtil.ShowTips("请选择待上传文件");
  645. return;
  646. }
  647. string strOrderId = ultraGrid1.ActiveRow.GetValue("orderId");
  648. OrderAppend sat = new OrderAppend();
  649. sat.OrderId = strOrderId;
  650. String filePathNew = "Pms/CERT/" + strOrderId + "/";
  651. sat.CertPath = filena;
  652. sat.CertPathOld = filePathNew + filena;
  653. sat.CreateUserid = UserInfo.GetUserID();
  654. sat.CreateName = UserInfo.GetUserName();
  655. sat.CreateTime = DateTime.Now;
  656. sat.Validflag = "1";
  657. sat.CertDesc = txt_CERTDESC.Text.Trim();
  658. if (GetCraftFileCraftNoCnt(filena, strOrderId) > 0)
  659. {
  660. MessageUtil.ShowTips("合同已存在该附件文件:" + filena);
  661. return;
  662. }
  663. List<FileBean> list = new List<FileBean>();
  664. FileBean bean = new FileBean();
  665. bean = new FileBean();
  666. bean.setFileName(filena);
  667. bean.setPathName(filePathNew);
  668. bean.setFile(FileHelper.FileToArray(fileName));
  669. list.Add(bean);
  670. bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list);
  671. if (isSuccess)
  672. {
  673. //开始写数据库
  674. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderAppendService", "insert_append", new object[] { sat });
  675. if (crt.Resultcode != 0)
  676. {
  677. MessageUtil.ShowTips("上传失败:" + crt.Resultmsg);
  678. }
  679. else
  680. {
  681. MessageUtil.ShowTips("上传成功");
  682. ClearTab5();
  683. }
  684. }
  685. else
  686. {
  687. MessageBox.Show("上传失败");
  688. }
  689. //刷新界面并激活当前行
  690. Relocate(sat);
  691. }
  692. private void Relocate(OrderAppend sat)
  693. {
  694. getOrderAppend(sat.OrderId, sat.CertPath);
  695. }
  696. /// <summary>
  697. /// 判断是否之前已提交相同的文件
  698. /// </summary>
  699. /// <param name="craftNo"></param>
  700. /// <returns></returns>
  701. private int GetCraftFileCraftNoCnt(string CERT_PATH, string orderId)
  702. {
  703. OrderAppend sat = new OrderAppend();
  704. sat.CertPath = CERT_PATH;
  705. sat.OrderId = orderId;
  706. sat.Validflag = "1";
  707. int dt = this.execute<int>("com.hnshituo.pur.order.service.OrderAppendService", "count", new object[] { sat });
  708. return dt;
  709. }
  710. /// <summary>
  711. /// 清空文件上传编辑区
  712. /// </summary>
  713. private void ClearTab5()
  714. {
  715. txt_certPath.Clear();
  716. txt_certpath_local.Clear();
  717. txt_CERTDESC.Clear();
  718. fileName = "";
  719. }
  720. /// <summary>
  721. /// 加载合同附件
  722. /// </summary>
  723. /// <param name="strOrderId"></param>
  724. /// <param name="p"></param>
  725. private void getOrderAppend(string strOrderId, string p)
  726. {
  727. dataTable4.Clear();
  728. OrderAppend append = new OrderAppend();
  729. append.OrderId = strOrderId;
  730. append.Validflag = "1";
  731. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderAppendService", "find", new object[] { append, 0, 0 });
  732. GridHelper.CopyDataToDatatable(dt, dataTable4, true);
  733. GridHelper.RefreshAndAutoSize(ultraGrid4);
  734. if (!String.IsNullOrEmpty(p))
  735. {
  736. ConfigureClassCommon.doActiveSelRow(ultraGrid4, "CERTPATH", p);
  737. }
  738. }
  739. //删除
  740. private void tbn_delete_Click(object sender, EventArgs e)
  741. {
  742. UltraGridRow uge = ultraGrid1.ActiveRow;
  743. if (uge == null)
  744. {
  745. MessageUtil.ShowTips("请选择合同头!");
  746. return;
  747. }
  748. String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim();
  749. if (String.IsNullOrEmpty(strOrderId))
  750. {
  751. MessageUtil.ShowTips("该合同头编号为空!");
  752. return;
  753. }
  754. UltraGridRow rowAppend = ultraGrid4.ActiveRow;
  755. if (rowAppend == null)
  756. {
  757. MessageUtil.ShowTips("请选择需删除的附件!");
  758. return;
  759. }
  760. String strAppendID = rowAppend.Cells["ID"].Value.ToString().Trim();
  761. String strcertPath = rowAppend.Cells["CERTPATH"].Value.ToString().Trim();
  762. String strCertPathOld = rowAppend.Cells["CERTPATHOLD"].Value.ToString().Trim();
  763. if (String.IsNullOrEmpty(strAppendID))
  764. {
  765. MessageUtil.ShowTips("该合同附件编号为空!");
  766. return;
  767. }
  768. if (String.IsNullOrEmpty(strCertPathOld))
  769. {
  770. MessageUtil.ShowTips("未获取到合同附件地址信息!");
  771. return;
  772. }
  773. //验证合同头是否可以增删改
  774. if (testOrderAppendStatus(strAppendID, 1) == false)
  775. {
  776. return;
  777. }
  778. OrderAppend append = new OrderAppend();
  779. append.Id = strAppendID;
  780. append.Validflag = "0";
  781. append.DeleteName = UserInfo.GetUserName();
  782. append.DeleteTime = DateTime.Now;
  783. append.DeleteUserid = UserInfo.GetUserID();
  784. if (MessageUtil.ShowYesNoAndQuestion("确定删除合同附件:" + strcertPath + "?") != DialogResult.Yes)
  785. {
  786. return;
  787. }
  788. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderAppendService", "delete_append", new object[] { append });
  789. if (crt.Resultcode != 0)
  790. {
  791. MessageUtil.ShowTips("删除失败!" + crt.Resultmsg);
  792. return;
  793. }
  794. else
  795. {
  796. bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Delete(strCertPathOld);
  797. if (isSuccess)
  798. {
  799. MessageUtil.ShowTips("删除成功");
  800. }
  801. else
  802. {
  803. MessageBox.Show("删除成功");
  804. }
  805. }
  806. getOrderAppend(strOrderId, "");
  807. }
  808. /// <summary>
  809. /// 验证合同条款输入数据的有效性
  810. /// </summary>
  811. /// <returns></returns>
  812. private bool testOrderAppendStatus(String strId, int p)// 验证合同附件
  813. {
  814. OrderAppend append = this.execute<OrderAppend>("com.hnshituo.pur.order.service.OrderAppendService", "findById", new object[] { strId });
  815. if (append == null)
  816. {
  817. MessageUtil.ShowTips("未发现合同附件:" + strId + "信息记录,可能已作废");
  818. return false;
  819. }
  820. if (append.Validflag != "1")
  821. {
  822. MessageUtil.ShowTips("合同附件:" + strId + "信息记录可能已作废");
  823. return false;
  824. }
  825. if (append.CreateUserid != UserInfo.GetUserID())
  826. {
  827. MessageUtil.ShowTips("非本人上传合同附件无权限进行增删改");
  828. return false;
  829. }
  830. if (p == 1)
  831. {
  832. }
  833. else
  834. {
  835. MessageUtil.ShowTips("未知参数:" + p + "");
  836. return false;
  837. }
  838. return true;
  839. }
  840. #endregion
  841. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  842. {
  843. if (e.Row.Cells["status"].Value.ToString().Equals("审批不通过") || e.Row.Cells["status"].Value.ToString().Equals("草稿"))
  844. {
  845. e.Row.Appearance.ForeColor = Color.Red;
  846. }
  847. else if (e.Row.Cells["status"].Value.ToString().StartsWith("合同变更中"))
  848. {
  849. e.Row.Appearance.ForeColor = Color.Gray;
  850. }
  851. else
  852. {
  853. e.Row.Appearance.ForeColor = Color.Black;
  854. }
  855. if (e.Row.Cells["orderId"].Value.ToString().EndsWith("BG"))
  856. {
  857. e.Row.Appearance.ForeColor = Color.Blue;
  858. }
  859. }
  860. private void ultraGrid8_AfterRowActivate(object sender, EventArgs e)
  861. {
  862. dataTable8.Clear();
  863. String strChangeId = ultraGrid8.ActiveRow.GetCellValue("changeId").ToString();
  864. txt_changeDesc.Text = ultraGrid8.ActiveRow.GetCellValue("CHANGERECORD").ToString().Replace("\n", "\r\n");
  865. if (String.IsNullOrEmpty(strChangeId))
  866. {
  867. return;
  868. }
  869. OrderChangeD change = new OrderChangeD();
  870. change.ChangeId = strChangeId;
  871. change.Validflag = "1";
  872. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderChangeDService", "find", new object[] { change, 0, 0 });
  873. GridHelper.CopyDataToDatatable(dt, dataTable8, true);
  874. GridHelper.RefreshAndAutoSize(ultraGrid7);
  875. }
  876. }
  877. }