frmOrderReviewLaw.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574
  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 System.Collections;
  11. using Core.Mes.Client.Comm.Control;
  12. using Infragistics.Win.UltraWinGrid;
  13. using Core.Mes.Client.Comm.Tool;
  14. using Core.StlMes.Client.SaleOrder.Dialog;
  15. using Core.Mes.Client.Comm.Server;
  16. namespace Core.StlMes.Client.SaleOrder
  17. {
  18. public partial class frmOrderReviewLaw : FrmBase
  19. {
  20. //界面数据展示涉及的表:SLM_ORDER_HEAD(合同头,界面上层的GRID区域);SLM_ORDER_MODEL_HEAD、SLM_ORDER_MODEL_ITEM(范本信息,通过合同头记录中的范本编号获取)
  21. //查询时如果无设定条件,默认查询当前日期往后一个月的数据
  22. public frmOrderReviewLaw()
  23. {
  24. InitializeComponent();
  25. }
  26. /// <summary>
  27. /// 查询条件 0 未盖章 1 已盖章 2 全部
  28. /// </summary>
  29. private string queryFlag = "2";
  30. public override void ToolBar_Click(object sender, string ToolbarKey)
  31. {
  32. switch (ToolbarKey)
  33. {
  34. case "doQuery":
  35. this.Query();
  36. break;
  37. case "doAdd":
  38. this.doAdd();
  39. break;
  40. case "doUpdate":
  41. this.doUpdate();
  42. break;
  43. case "Seal":
  44. DoSeal();
  45. break;
  46. case "doClose":
  47. this.Close();
  48. break;
  49. }
  50. }
  51. /// <summary>
  52. /// 法务评审不通过
  53. /// </summary>
  54. public void doUpdate()
  55. {
  56. gdorder.UpdateData();
  57. ArrayList parm = new ArrayList();
  58. int count = 0;
  59. foreach (UltraGridRow row in gdorder.Rows)
  60. {
  61. if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE")
  62. {
  63. string ordPk = row.Cells["ORD_PK"].Value.ToString();
  64. parm.Add(ordPk);
  65. count += 1;
  66. }
  67. }
  68. if (count == 0)
  69. {
  70. MessageBox.Show("请选择需要评审不通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  71. return;
  72. }
  73. if (MessageUtil.ShowQuestion("确认评审不通过吗?").ToString().ToLower().Equals("yes"))
  74. {
  75. string name = UserInfo.GetUserName();
  76. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  77. dept = dept + "-" + UserInfo.GetDepartment();
  78. dlgReviewMemo dlg = new dlgReviewMemo();
  79. dlg.ReviewFlag = 0;
  80. dlg.ReviewSatus = "评审不通过";
  81. dlg.ShowDialog();
  82. string reviewMemo = dlg.ReviewMemo;
  83. if (dlg.DialogResult != DialogResult.OK)
  84. return;
  85. CoreClientParam ccp = new CoreClientParam();
  86. ccp.IfShowErrMsg = false;
  87. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw";
  88. ccp.MethodName = "lawReviewBack";
  89. ccp.ServerParams = new object[] { parm, name, dept, reviewMemo };
  90. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  91. if (ccp == null)
  92. return;
  93. else
  94. {
  95. if (ccp.ReturnCode == -1)
  96. {
  97. MessageUtil.ShowWarning(ccp.ReturnInfo);
  98. return;
  99. }
  100. }
  101. Query();
  102. }
  103. }
  104. /// <summary>
  105. /// 法务评审通过
  106. /// </summary>
  107. public void doAdd()
  108. {
  109. gdorder.UpdateData();
  110. ArrayList parm = new ArrayList();
  111. int count = 0;
  112. foreach (UltraGridRow row in gdorder.Rows)
  113. {
  114. if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE")
  115. {
  116. string ordPk = row.Cells["ORD_PK"].Value.ToString();
  117. parm.Add(ordPk);
  118. count += 1;
  119. }
  120. }
  121. if (count == 0)
  122. {
  123. MessageBox.Show("请选择需要评审通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  124. return;
  125. }
  126. if (MessageUtil.ShowQuestion("确认评审通过?").ToString().ToLower().Equals("yes"))
  127. {
  128. string name = UserInfo.GetUserName();
  129. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  130. dept = dept + "-" + UserInfo.GetDepartment();
  131. dlgReviewMemo dlg = new dlgReviewMemo();
  132. dlg.ReviewFlag = 1;
  133. dlg.ReviewSatus = "评审通过";
  134. dlg.ShowDialog();
  135. string reviewMemo = dlg.ReviewMemo;
  136. if (dlg.DialogResult != DialogResult.OK)
  137. return;
  138. CoreClientParam ccp = new CoreClientParam();
  139. ccp.IfShowErrMsg = false;
  140. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw";
  141. ccp.MethodName = "lawReviewPass";
  142. ccp.ServerParams = new object[] { parm, name, dept, reviewMemo };
  143. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  144. if (ccp == null)
  145. return;
  146. else
  147. {
  148. if (ccp.ReturnCode == -1)
  149. {
  150. MessageUtil.ShowWarning(ccp.ReturnInfo);
  151. return;
  152. }
  153. }
  154. Query();
  155. }
  156. }
  157. /// <summary>
  158. /// 商务条款状态修正。
  159. /// </summary>
  160. /// <param name="modelSts"></param>
  161. /// <param name="ordPk"></param>
  162. private void UpdateOrderModelSts(string modelSts, string ordPk)
  163. {
  164. Globals.SetData("com.steering.pss.sale.order.CoreOrderReviewLaw.UpdateOrderModelSts",
  165. new object[] { modelSts, ordPk }, this.ob);
  166. }
  167. public void Query()
  168. {
  169. if (ultraTabControl2.ActiveTab.Key.Equals("Law0"))
  170. {
  171. string date = "";
  172. if (che_date.Checked)
  173. {
  174. if (Convert.ToDateTime(date_starte.Value) > Convert.ToDateTime(date_end.Value))
  175. {
  176. date_starte.Focus();
  177. MessageBox.Show("输入日期范围不正确!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  178. return;
  179. }
  180. else
  181. {
  182. string strFrom1 = Convert.ToDateTime(date_starte.Value).ToString("yyyy-MM-dd") + " 00:00:01";
  183. string strTo1 = Convert.ToDateTime(date_end.Value).ToString("yyyy-MM-dd") + " 23:59:59";
  184. date += " AND B.APPROVAL_TIME BETWEEN TO_DATE('" + strFrom1 + "' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '" + strTo1 + "','YYYY-MM-DD HH24:MI:SS')";
  185. }
  186. }
  187. else
  188. {
  189. date += " AND B.APPROVAL_TIME BETWEEN TO_DATE('1000-01-01 00:00:01' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '9999-12-31 23:59:59','YYYY-MM-DD HH24:MI:SS')";
  190. }
  191. //合同号
  192. string order = "";
  193. if (ord_no.Checked)
  194. {
  195. if (orde_cho.Text == "")
  196. {
  197. MessageBox.Show("请输入合同号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  198. return;
  199. }
  200. else
  201. {
  202. order = orde_cho.Text;
  203. }
  204. }
  205. //评审状态
  206. string appstatus = "";
  207. if (app_no.Checked)
  208. {
  209. if (app_chm.Text == "")
  210. {
  211. MessageBox.Show("请输入评审状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  212. return;
  213. }
  214. else
  215. {
  216. appstatus = app_chm.Value.ToString().Trim();//ultraComboEditor1.Value.ToString().Trim()
  217. }
  218. }
  219. string[] arr = this.ValidDataPurviewIds;
  220. DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.CoreOrderReviewLawQuery", new Object[] { date, order, appstatus, arr,this.CustomInfo }, this.ob);
  221. gdorder.DataSource = dt;
  222. if (dt.Rows.Count <= 0)
  223. {
  224. if (oditem.DataSource is DataTable)
  225. {
  226. DataTable odDt = (DataTable)oditem.DataSource;
  227. odDt.Clear();
  228. }
  229. }
  230. for (int i = 0; i < gdorder.Rows.Count; i++)
  231. {
  232. if (gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value.ToString() == "0")
  233. {
  234. gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = true;
  235. }
  236. else
  237. {
  238. gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = false;
  239. }
  240. }
  241. //列自适应
  242. GridHelper.RefreshAndAutoSizeExceptColumns(gdorder, new UltraGridColumn[] { });
  243. }
  244. else if (ultraTabControl2.ActiveTab.Key.Equals("Law1"))
  245. {
  246. QueryRecord();
  247. }
  248. }
  249. private void frmOrderReviewLaw_Load(object sender, EventArgs e)
  250. {
  251. DateTime Today = DateTime.Now;
  252. this.date_starte.DateTime = Today.Date.AddMonths(-1);
  253. this.date_end.DateTime = DateTime.Today;
  254. Appstatus();
  255. EntityHelper.ShowGridCaption<SlmLawReviewRecordEntity>(gdRecord.DisplayLayout.Bands[0]);
  256. }
  257. /// <summary>
  258. /// 绑定评审状态
  259. /// </summary>
  260. private void Appstatus()
  261. {
  262. DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.appStatus", null, this.ob);
  263. dt = OrderFunction.FilterDataTable(dt, new string[] { "12020232", "12020241", "12020242", "12020251" });
  264. app_chm.DataSource = dt;
  265. app_chm.DisplayMember = "BASENAME";
  266. app_chm.ValueMember = "BASECODE";
  267. }
  268. private void ord_no_CheckedChanged(object sender, EventArgs e)
  269. {
  270. orde_cho.Enabled = ord_no.Checked;
  271. }
  272. private void app_no_CheckedChanged(object sender, EventArgs e)
  273. {
  274. app_chm.Enabled = app_no.Checked;
  275. }
  276. private void che_date_CheckedChanged(object sender, EventArgs e)
  277. {
  278. if (che_date.Checked)
  279. {
  280. date_starte.ReadOnly = false;
  281. date_end.ReadOnly = false;
  282. }
  283. else
  284. {
  285. date_starte.ReadOnly = true;
  286. date_end.ReadOnly = true;
  287. }
  288. }
  289. private void gdorder_AfterRowActivate(object sender, EventArgs e)
  290. {
  291. UltraGridRow ugr = gdorder.ActiveRow;
  292. if (ugr == null)
  293. {
  294. doQueryOrder("");
  295. controlOrderLine1.DoQueryLine("", this.ob);
  296. orderPrice1.DoQuery("", this.ob);
  297. designStatus1.DoQuery("", this.ob);
  298. }
  299. else
  300. {
  301. String key = ultraTabControl1.ActiveTab.Key;
  302. if (key.Equals("1"))
  303. {
  304. doQueryOrder(ugr.GetCellValue("ORDER_MODEL_NO").ToString());
  305. }
  306. else if (key.Equals("2"))
  307. {
  308. controlOrderLine1.DoQueryLine(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
  309. }
  310. else if (key.Equals("3"))
  311. {
  312. orderPrice1.DoQuery(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
  313. }
  314. else if (key.Equals("4"))
  315. {
  316. designStatus1.DoQuery(ugr.GetCellValue("ORDER_NO").ToString(), this.ob);
  317. }
  318. else
  319. {
  320. DoQueryPriceInfo(ugr.GetCellValue("ORD_PK").ToString());
  321. }
  322. foreach (UltraGridCell cell in ugr.Cells)
  323. {
  324. if (!cell.Column.Key.Equals("CHK"))
  325. cell.Activation = Activation.ActivateOnly;
  326. }
  327. }
  328. }
  329. private void doQueryOrder(string ordermodel)
  330. {
  331. DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.ordermodelQuery", new Object[] { ordermodel }, this.ob);
  332. oditem.DataSource = dt;
  333. //列自适应
  334. GridHelper.RefreshAndAutoSizeExceptColumns(oditem, new UltraGridColumn[] {
  335. });
  336. }
  337. private void gdorder_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  338. {
  339. string acustom = gdorder.ActiveCell.Value.ToString();
  340. dlgBuyerInfo spt = new dlgBuyerInfo();
  341. spt.oPbd = this.ob;
  342. spt.customer = acustom;
  343. spt.FilePath = "checker";
  344. spt.ShowDialog();
  345. }
  346. private void orde_cho_KeyPress(object sender, KeyPressEventArgs e)
  347. {
  348. if (e.KeyChar == 13)
  349. Query();
  350. }
  351. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  352. {
  353. UltraGridRow ugr = gdorder.ActiveRow;
  354. if (ugr == null)
  355. {
  356. return;
  357. }
  358. String keyValue = e.Tab.Key;
  359. if (keyValue.Equals("1"))
  360. {
  361. doQueryOrder(ugr.GetCellValue("ORDER_MODEL_NO").ToString());
  362. }
  363. else if (keyValue.Equals("2"))
  364. {
  365. controlOrderLine1.DoQueryLine(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
  366. }
  367. else if (keyValue.Equals("3"))
  368. {
  369. orderPrice1.DoQuery(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
  370. }
  371. else if (keyValue.Equals("4"))
  372. {
  373. designStatus1.DoQuery(ugr.GetCellValue("ORDER_NO").ToString(), this.ob);
  374. }
  375. else
  376. {
  377. DoQueryPriceInfo(ugr.GetCellValue("ORD_PK").ToString());
  378. }
  379. }
  380. private void DoQueryPriceInfo(String ordPk)
  381. {
  382. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.queryPriceInfo", new Object[] { ordPk }, this.ob);
  383. if (dt != null && dt.Rows.Count > 0)
  384. {
  385. ultraTextEditor1.Text = dt.Rows[0][0].ToString();
  386. }
  387. else
  388. {
  389. ultraTextEditor1.Text = "";
  390. }
  391. }
  392. private void frmOrderReviewLaw_Shown(object sender, EventArgs e)
  393. {
  394. if (toolMenu.Toolbars[0].Tools.Exists("Seal"))
  395. toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
  396. }
  397. private void ultraTabControl2_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  398. {
  399. if (toolMenu == null)
  400. return;
  401. if (ultraTabControl2.ActiveTab.Key.Equals("Law0")) // 法务评审
  402. {
  403. if (toolMenu.Toolbars[0].Tools.Exists("doAdd"))
  404. toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
  405. if (toolMenu.Toolbars[0].Tools.Exists("doUpdate"))
  406. toolMenu.Toolbars[0].Tools["doUpdate"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
  407. if (toolMenu.Toolbars[0].Tools.Exists("Seal"))
  408. toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
  409. SetControlVisible(true);
  410. radioPanel.Visible = false;
  411. }
  412. else if (ultraTabControl2.ActiveTab.Key.Equals("Law1")) //法务评审单
  413. {
  414. if (toolMenu.Toolbars[0].Tools.Exists("doAdd"))
  415. toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
  416. if (toolMenu.Toolbars[0].Tools.Exists("doUpdate"))
  417. toolMenu.Toolbars[0].Tools["doUpdate"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
  418. if (toolMenu.Toolbars[0].Tools.Exists("Seal"))
  419. toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
  420. SetControlVisible(false);
  421. radioPanel.Visible = true;
  422. radioPanel.Location = new Point(188, 2);
  423. }
  424. }
  425. private void QueryRecord()
  426. {
  427. string orderNo = "";
  428. if (ord_no.Checked)
  429. orderNo = orde_cho.Text.Trim();
  430. List<SlmLawReviewRecordEntity> list = EntityHelper.GetData<SlmLawReviewRecordEntity>
  431. ("com.steering.pss.sale.order.CoreOrderReviewLaw.queryLawRecord", new object[] { orderNo, queryFlag }, this.ob);
  432. slmLawReviewRecordEntityBindingSource.DataSource = list;
  433. GridHelper.RefreshAndAutoSize(gdRecord);
  434. }
  435. /// <summary>
  436. /// 设置控件是否隐藏
  437. /// </summary>
  438. /// <param name="flag">true 可见 false 隐藏</param>
  439. private void SetControlVisible(bool flag)
  440. {
  441. if (flag)
  442. {
  443. che_date.Visible = true;
  444. date_starte.Visible = true;
  445. ultraLabel12.Visible = true;
  446. date_end.Visible = true;
  447. app_no.Visible = true;
  448. app_chm.Visible = true;
  449. }
  450. else
  451. {
  452. che_date.Visible = false;
  453. date_starte.Visible = false;
  454. ultraLabel12.Visible = false;
  455. date_end.Visible = false;
  456. app_no.Visible = false;
  457. app_chm.Visible = false;
  458. }
  459. }
  460. private void radioYes_CheckedChanged(object sender, EventArgs e)
  461. {
  462. if (radioYes.Checked)
  463. queryFlag = "1";
  464. QueryRecord();
  465. }
  466. private void radioNo_CheckedChanged(object sender, EventArgs e)
  467. {
  468. if (radioNo.Checked)
  469. queryFlag = "0";
  470. QueryRecord();
  471. }
  472. private void radioAll_CheckedChanged(object sender, EventArgs e)
  473. {
  474. if (radioAll.Checked)
  475. queryFlag = "2";
  476. QueryRecord();
  477. }
  478. private void DoSeal()
  479. {
  480. gdRecord.UpdateData();
  481. UltraGridRow[] rows = gdRecord.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString() == "True").ToArray();
  482. if (rows.Length <= 0)
  483. {
  484. MessageUtil.ShowWarning("请选择您要确认盖章的记录!");
  485. return;
  486. }
  487. ArrayList parm = new ArrayList();
  488. foreach (UltraGridRow row in rows)
  489. {
  490. if (row.Cells["ISSEAL"].Value.ToString() == "已盖章")
  491. {
  492. MessageUtil.ShowWarning("您选择的记录已确认盖章,不必重复确认!");
  493. return;
  494. }
  495. parm.Add(row.Cells["RECORDID"].Value.ToString());
  496. }
  497. if (MessageUtil.ShowYesNoAndQuestion("是否确认盖章?") == DialogResult.No) return;
  498. CoreClientParam ccp = new CoreClientParam();
  499. ccp.IfShowErrMsg = false;
  500. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw";
  501. ccp.MethodName = "confirmSeal";
  502. ccp.ServerParams = new object[] { parm, UserInfo.GetUserName() };
  503. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  504. if (ccp != null)
  505. {
  506. if (ccp.ReturnCode == -1)
  507. {
  508. MessageUtil.ShowWarning(ccp.ReturnInfo);
  509. return;
  510. }
  511. MessageUtil.ShowTips("确认盖章成功!");
  512. QueryRecord();
  513. }
  514. }
  515. private void gdRecord_AfterRowActivate(object sender, EventArgs e)
  516. {
  517. UltraGridRow row = gdRecord.ActiveRow;
  518. foreach (UltraGridCell cell in row.Cells)
  519. {
  520. if (cell.Column.Key.Equals("CHK"))
  521. cell.Activation = Activation.AllowEdit;
  522. else
  523. cell.Activation = Activation.ActivateOnly;
  524. }
  525. }
  526. }
  527. }