FrmPurOrderClause.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  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 Pur.Entity.pur_orderEntiy;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Core.Mes.Client.Comm.Control;
  13. using Core.Mes.Client.Comm.Tool;
  14. using com.hnshituo.pur.vo;
  15. using System.Collections;
  16. using Infragistics.Win;
  17. using Infragistics.Win.UltraWinEditors;
  18. using Core.Mes.Client.Comm.Server;
  19. namespace Pur.order
  20. {
  21. public partial class FrmPurOrderClause : FrmPmsBase
  22. {
  23. public FrmPurOrderClause()
  24. {
  25. InitializeComponent();
  26. this.IsLoadUserView = true;
  27. }
  28. /// <summary>
  29. /// 页面加载
  30. /// </summary>
  31. /// <param name="sender"></param>
  32. /// <param name="e"></param>
  33. private void FrmPurOrderClause_Load(object sender, EventArgs e)
  34. {
  35. init();
  36. GetPUR_ORDER_CLAUSE();
  37. }
  38. #region toolbar菜单按钮菜单
  39. public override void ToolBar_Click(object sender, string ToolbarKey)
  40. {
  41. switch (ToolbarKey)
  42. {
  43. case "Query":
  44. GetPUR_ORDER_CLAUSE();
  45. break;
  46. case "Add":
  47. AddPUR_ORDER_CLAUSE();
  48. break;
  49. case "Update":
  50. UpdPUR_ORDER_CLAUSE();
  51. break;
  52. case "Delete":
  53. DelPUR_ORDER_CLAUSE();
  54. break;
  55. }
  56. }
  57. #endregion
  58. #region toolbar响应事件
  59. /// <summary>
  60. /// 删除
  61. /// </summary>
  62. private void DelPUR_ORDER_CLAUSE()//作废
  63. {
  64. UltraGridRow uge = ultraGrid1.ActiveRow;
  65. if (uge == null)
  66. {
  67. MessageUtil.ShowTips("请选择条款行!");
  68. return;
  69. }
  70. String strCauseId = uge.GetCellValue("ClauseId").ToString().Trim();
  71. if (String.IsNullOrEmpty(strCauseId))
  72. {
  73. MessageUtil.ShowTips("选择的条款行编号为空!");
  74. return;
  75. }
  76. OrderClause POC = new OrderClause();
  77. POC.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  78. POC.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  79. POC.DeleteTime = DateTime.Now;
  80. POC.ClauseId = strCauseId;
  81. POC.Validflag = "0";
  82. if (MessageBox.Show("确定作废合同条款[" + strCauseId + "]?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  83. {
  84. return;
  85. }
  86. CoreResult rt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderClauseService", "doUpdate", new object[] { POC });
  87. if (rt.Resultcode != 0)
  88. {
  89. MessageUtil.ShowTips( "操作失败!" + rt.Resultmsg);
  90. return;
  91. }
  92. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("操作成功!");
  93. GetPUR_ORDER_CLAUSE();
  94. }
  95. /// <summary>
  96. /// 修改
  97. /// </summary>
  98. private void UpdPUR_ORDER_CLAUSE()
  99. {
  100. UltraGridRow uge = ultraGrid1.ActiveRow;
  101. if (uge == null)
  102. {
  103. MessageUtil.ShowTips("请选择条款行!");
  104. return;
  105. }
  106. String strCauseId = uge.GetCellValue("ClauseId").ToString().Trim();
  107. if (String.IsNullOrEmpty(strCauseId))
  108. {
  109. MessageUtil.ShowTips("选择的条款行编号为空!");
  110. return;
  111. }
  112. //校验数据
  113. if (testValid() == false)
  114. {
  115. return;
  116. }
  117. OrderClause POC = new OrderClause();
  118. POC.ClauseId = strCauseId;
  119. POC.ClauseName = txt_CopClauseName.Text;
  120. POC.ClauseDesc = txt_ClauseDesc.Text;
  121. POC.OrderType = (txt_OrderType.Value == null ? null : txt_OrderType.Value.ToString());
  122. POC.ClauseType = txt_ClauseType.Value.ToString();
  123. POC.ClauseOrderBy = Convert.ToInt32(txt_ClauseOrderBy.Text.Trim());
  124. POC.UpdateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  125. POC.UpdateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  126. POC.UpdateTime = DateTime.Now;
  127. if (radioButton2.Checked)
  128. POC.ClauseDefault = "0";
  129. else
  130. POC.ClauseDefault = "1";
  131. if (MessageBox.Show("确定修改合同条款[" + POC.ClauseId + "]?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  132. {
  133. return;
  134. }
  135. CoreResult rt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderClauseService", "doUpdate_OrderClause", new object[] { POC });
  136. if (rt.Resultcode != 0)
  137. {
  138. MessageUtil.ShowTips("修改失败!" + rt.Resultmsg);
  139. return;
  140. }
  141. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("操作成功!");
  142. GetPUR_ORDER_CLAUSE();
  143. doActiveSelRow(ultraGrid1, "ClauseId", POC.ClauseId);
  144. }
  145. /// <summary>
  146. /// 查询
  147. /// </summary>
  148. private void GetPUR_ORDER_CLAUSE()
  149. {
  150. clearTab();
  151. dataTable1.Clear();
  152. OrderClause POC = new OrderClause();
  153. POC.ClauseId = txt_ClauseId.Text;
  154. POC.ClauseName = txt_ClauseName.Text;
  155. POC.ClauseType = cop_clauseType.Value.ToString().Trim();
  156. POC.OrderType = cop_orderType.Value.ToString().Trim();
  157. POC.Validflag = "1";
  158. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderClauseService", "find_Order", new object[] { POC, 0, 0 });
  159. GridHelper.CopyDataToDatatable(dt,dataTable1,true);
  160. //GridHelper.RefreshAndAutoSize(ultraGrid1);
  161. GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, new UltraGridColumn[] { ultraGrid1.DisplayLayout.Bands[0].Columns["ClauseDesc"] });
  162. }
  163. /// <summary>
  164. /// 新增
  165. /// </summary>
  166. private void AddPUR_ORDER_CLAUSE()
  167. {
  168. //校验数据
  169. if (testValid() == false)
  170. {
  171. return;
  172. }
  173. OrderClause POC = new OrderClause();
  174. //POC.ClauseId = txt_CopClauseId.Text;
  175. POC.Validflag = "1";
  176. POC.ClauseName = txt_CopClauseName.Text;
  177. POC.ClauseDesc = txt_ClauseDesc.Text;
  178. POC.OrderType = (txt_OrderType.Value == null ? null : txt_OrderType.Value.ToString());
  179. POC.ClauseType = txt_ClauseType.Value.ToString().Trim();
  180. POC.ClauseOrderBy = Convert.ToInt32(txt_ClauseOrderBy.Text.Trim());
  181. POC.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  182. POC.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  183. POC.CreateTime = DateTime.Now;
  184. if (radioButton2.Checked)
  185. POC.ClauseDefault = "0";
  186. else
  187. POC.ClauseDefault = "1";
  188. CoreResult rt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderClauseService", "insert_OrderClause", new object[] { POC });
  189. if (rt.Resultcode != 0)
  190. {
  191. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("新增失败!"+rt.Resultmsg);
  192. return;
  193. }
  194. Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("新增成功!");
  195. GetPUR_ORDER_CLAUSE();
  196. doActiveSelRow(ultraGrid1,"ClauseName",POC.ClauseName);
  197. }
  198. #endregion
  199. #region 界面事件
  200. /// <summary>
  201. /// 点击表格行事件
  202. /// </summary>
  203. /// <param name="sender"></param>
  204. /// <param name="e"></param>
  205. private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)// 点击表格行事件
  206. {
  207. UltraGridRow uge = e.Cell.Row;
  208. String strClauseId = uge.GetCellValue("ClauseId").ToString().Trim();
  209. if (String.IsNullOrEmpty(strClauseId))
  210. {
  211. return;
  212. }
  213. OrderClause orderClause = this.execute<OrderClause>("com.hnshituo.pur.order.service.OrderClauseService", "findById", new object[] { strClauseId });
  214. if (orderClause == null)
  215. {
  216. return;
  217. }
  218. txt_CopClauseId.Text = strClauseId;
  219. txt_CopClauseName.Text = orderClause.ClauseName;
  220. txt_ClauseDesc.Text = orderClause.ClauseDesc.Replace("\n", "\r\n");
  221. txt_ClauseType.Value = orderClause.ClauseType;
  222. txt_OrderType.Value = orderClause.OrderType;
  223. txt_ClauseOrderBy.Text = orderClause.ClauseOrderBy.ToString().Trim();
  224. if (orderClause.ClauseDefault == "1")
  225. radioButton1.Checked = true;
  226. else
  227. radioButton2.Checked = true;
  228. }
  229. #endregion
  230. #region 界面初始化
  231. private void init()
  232. {
  233. //加载条款类型下拉框
  234. DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1218" }, this.ob);
  235. foreach (DataRow row in dt1.Rows)
  236. {
  237. row["baseName"] ="["+ row["memo"] + "]" + row["baseName"];
  238. }
  239. comm.FilComboboxAdd(txt_ClauseType, dt1, "baseCode", "baseName", "validflag NOT in ('0')", false, "全部", "");
  240. comm.FilComboboxAdd(cop_clauseType, dt1, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", "");
  241. cop_clauseType.SelectedIndex = 0;
  242. //FillComboxItems(txt_ClauseType, dt1, "baseCode", "baseName", "validflag NOT in ('0')");
  243. //加载适用合同类别
  244. DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1200" }, this.ob);
  245. comm.FilComboboxAdd(txt_OrderType, dt2, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", "");
  246. comm.FilComboboxAdd(cop_orderType, dt2, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", "");
  247. cop_orderType.SelectedIndex = 0;
  248. txt_OrderType.SelectedIndex = 0;
  249. ultraExpandableGroupBox1.Expanded = false;
  250. GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { });
  251. }
  252. #endregion
  253. #region 公共函数
  254. /// <summary>
  255. /// 激活输入当前值行数据
  256. /// </summary>
  257. /// <param name="ug">ultragrid</param>
  258. /// <param name="strColumn">列名</param>
  259. /// <param name="strKey">列值</param>
  260. public static string doActiveSelRow(UltraGrid ug, string strColumn, string strKey)//激活行
  261. {
  262. try
  263. {
  264. if (strKey != "")
  265. {
  266. foreach (UltraGridRow row in ug.Rows)
  267. {
  268. if (row.Cells[strColumn].Text.ToString() == strKey)
  269. {
  270. row.Activated = true;
  271. if (row.ChildBands != null)
  272. row.Expanded = true;
  273. }
  274. }
  275. }
  276. return "";
  277. }
  278. catch (Exception ex)
  279. {
  280. return ex.ToString();
  281. }
  282. }
  283. /// <summary>
  284. /// 获取条款分类排序
  285. /// </summary>
  286. /// <param name="sender"></param>
  287. /// <param name="e"></param>
  288. private void txt_ClauseType_ValueChanged(object sender, EventArgs e)// 获取条款分类排序
  289. {
  290. try
  291. {
  292. if (txt_ClauseType.SelectedIndex != -1)
  293. {
  294. string strBaseCode = txt_ClauseType.Value.ToString().Trim();
  295. BaseInfo baseInfo=this.execute<BaseInfo>("com.hnshituo.pur.configure.service.BaseInfoService", "findById", new object[] { strBaseCode });
  296. if (baseInfo != null)
  297. {
  298. if (String.IsNullOrEmpty(baseInfo.Memo.Trim()))
  299. {
  300. MessageUtil.ShowTips("未维护条款分类默认打印排序!请在基础数据表里维护!");
  301. return;
  302. }
  303. txt_ClauseOrderBy.Text = baseInfo.Memo;
  304. }
  305. }
  306. }
  307. catch (Exception ex)
  308. {
  309. MessageUtil.ShowTips(ex.Message);
  310. txt_ClauseOrderBy.Text="";
  311. }
  312. }
  313. /// <summary>
  314. /// 验证数据的有效性
  315. /// </summary>
  316. /// <returns></returns>
  317. private bool testValid()//验证数据的有效性
  318. {
  319. if (String.IsNullOrEmpty(txt_CopClauseName.Text.Trim()))
  320. {
  321. MessageUtil.ShowWarning("条款名称不能为空!");
  322. txt_CopClauseName.Focus();
  323. return false;
  324. }
  325. if (String.IsNullOrEmpty(txt_ClauseDesc.Text.Trim()))
  326. {
  327. MessageUtil.ShowWarning("条款内容不能为空!");
  328. txt_ClauseDesc.Focus();
  329. return false;
  330. }
  331. if (txt_ClauseType.Value == null)
  332. {
  333. MessageUtil.ShowWarning("条款分类不能为空!");
  334. txt_ClauseType.Focus();
  335. return false;
  336. }
  337. if (txt_ClauseOrderBy.Value == null)
  338. {
  339. MessageUtil.ShowWarning("条款排序不能为空!");
  340. txt_ClauseOrderBy.Focus();
  341. return false;
  342. }
  343. return true;
  344. }
  345. /// <summary>
  346. /// 清空编辑区
  347. /// </summary>
  348. private void clearTab()
  349. {
  350. txt_CopClauseId.Clear();
  351. txt_CopClauseName.Clear();
  352. txt_ClauseDesc.Clear();
  353. txt_ClauseType.SelectedIndex = -1;
  354. txt_OrderType.SelectedIndex = -1;
  355. txt_ClauseOrderBy.Clear();
  356. }
  357. #endregion
  358. }
  359. }