FrmPriceFramePrice.cs 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883
  1. using com.steering.pss.sale.price.entity;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using CoreFS.CA06;
  5. using Infragistics.Win.UltraWinEditors;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.ComponentModel;
  11. using System.Data;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Windows.Forms;
  16. using Core.Mes.Client.Comm.Format;
  17. using Core.Mes.Client.Comm.Control;
  18. namespace Core.StlMes.Client.SalePrice.BaseForm
  19. {
  20. public partial class FrmPriceFramePrice : FrmBase
  21. {
  22. int MaxIniX=50;///合并表头时初始化的最大起始坐标X轴
  23. int MaxSpyX = 20;///合并表头时初始化的最大跨越段数
  24. int XZhouCount;
  25. int YZhouCount;
  26. int Y1Count;
  27. int Y2Count;
  28. int BaseFieldCount=3;
  29. DataTable dt = new DataTable();
  30. public FrmPriceFramePrice()
  31. {
  32. InitializeComponent();
  33. }
  34. private void FrmPriceFramePrice_Load(object sender, EventArgs e)
  35. {
  36. InitForm();
  37. InitComBoBox1();
  38. ultraCombo1.Rows[0].Selected = true;
  39. }
  40. public override void ToolBar_Click(object sender, string ToolbarKey)
  41. {
  42. switch (ToolbarKey)
  43. {
  44. case "Query":
  45. QueryData();
  46. break;
  47. case "Save":
  48. SaveFormData();
  49. break;
  50. case "Delete":
  51. DeleteOrResume(true);
  52. break;
  53. case "Resume":
  54. DeleteOrResume(false);
  55. break;
  56. case "Import":
  57. ImportData();
  58. break;
  59. case "Export":
  60. GridHelper.ulGridToExcel(ugPrice, "价格导出");
  61. break;
  62. case "Close":
  63. this.Close();
  64. break;
  65. }
  66. }
  67. private void ImportData()
  68. {
  69. FrmExcelToGrid fet = new FrmExcelToGrid(this.ob);
  70. fet.ShowDialog();
  71. }
  72. private void DeleteOrResume(bool flag)
  73. {
  74. ugFramePrice.UpdateData();
  75. ugPrice.UpdateData();
  76. UltraGridRow[] row = ugFramePrice.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray();
  77. UltraGridRow[] row_price = GridHelper.GetRowsWithKey(ugPrice, new string[] { "CHK" }, new string[] { "True" });
  78. if (row.Length <= 0 && row_price.Length <= 0)
  79. {
  80. MessageUtil.ShowWarning("请选择需要" + (flag ? "删除" : "恢复") + "的数据!");
  81. return;
  82. }
  83. ArrayList parm = new ArrayList();
  84. ArrayList parm_price = new ArrayList();
  85. if (flag)
  86. {
  87. foreach (var uRow in row)
  88. {
  89. SlmPriceBasepriceEntity spf = new SlmPriceBasepriceEntity(); ;
  90. spf.PriceHeadId= uRow.Cells["PRICE_HEAD_ID"].Text.ToString();
  91. if (spf.Validflag == "无效")
  92. {
  93. MessageUtil.ShowWarning("您勾选的数据中存在已删除的数据,不必重复删除!");
  94. return;
  95. }
  96. spf.CreateName = UserInfo.GetUserName();
  97. spf.UpdateName = UserInfo.GetUserName();
  98. parm.Add(JSONFormat.Format(spf));
  99. }
  100. foreach (var uRow_p in row_price)
  101. {
  102. SlmPriceBasepriceLineEntity spf_p = (SlmPriceBasepriceLineEntity)uRow_p.ListObject;
  103. if (spf_p.Validflag == "无效")
  104. {
  105. MessageUtil.ShowWarning("您勾选的数据中存在已删除的数据,不必重复删除!");
  106. return;
  107. }
  108. spf_p.CreateName = UserInfo.GetUserName();
  109. spf_p.UpdateName = UserInfo.GetUserName();
  110. parm_price.Add(JSONFormat.Format(spf_p));
  111. }
  112. }
  113. else
  114. {
  115. foreach (var uRow in row)
  116. {
  117. SlmPriceBasepriceEntity spf = new SlmPriceBasepriceEntity(); ;
  118. spf.PriceHeadId = uRow.Cells["PRICE_HEAD_ID"].Text.ToString();
  119. if (spf.Validflag == "有效")
  120. {
  121. MessageUtil.ShowWarning("您勾选的数据中存在有效的数据,不必进行恢复!");
  122. return;
  123. }
  124. spf.CreateName = UserInfo.GetUserName();
  125. spf.UpdateName = UserInfo.GetUserName();
  126. parm.Add(JSONFormat.Format(spf));
  127. }
  128. foreach (var uRow_p in row_price)
  129. {
  130. SlmPriceBasepriceLineEntity spf_p = (SlmPriceBasepriceLineEntity)uRow_p.ListObject;
  131. if (spf_p.Validflag == "有效")
  132. {
  133. MessageUtil.ShowWarning("您勾选的数据中存在有效的数据,不必进行恢复!");
  134. return;
  135. }
  136. spf_p.CreateName = UserInfo.GetUserName();
  137. spf_p.UpdateName = UserInfo.GetUserName();
  138. parm_price.Add(JSONFormat.Format(spf_p));
  139. }
  140. }
  141. if (MessageUtil.ShowYesNoAndQuestion("是否" + (flag ? "删除" : "恢复") + "所选的数据!") == DialogResult.No) return;
  142. int i = ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceFramePrice.deleteOrResume", new object[] { parm,parm_price, flag }, this.ob);
  143. if (i >= 0)
  144. {
  145. MessageUtil.ShowTips("数据" + (flag ? "删除" : "恢复") + "成功!");
  146. QueryData();
  147. }
  148. else
  149. {
  150. MessageUtil.ShowTips("数据" + (flag ? "删除" : "恢复") + "失败!");
  151. QueryData();
  152. }
  153. }
  154. private void SaveFormData()
  155. {
  156. ugFramePrice.UpdateData();
  157. ugPrice.UpdateData();
  158. UltraGridRow[] row = ugFramePrice.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray();
  159. UltraGridRow[] row_price = GridHelper.GetRowsWithKey(ugPrice, new string[] { "CHK" }, new string[] { "True" });
  160. if (row.Length <= 0 && row_price.Length<=0)
  161. {
  162. MessageUtil.ShowWarning("请选择需要保存的数据!");
  163. return;
  164. }
  165. ArrayList parm = CheckFormData(row);
  166. ArrayList parm_price = CheckFormData_price(row_price);
  167. //if (parm == null || parm.Count <= 0 )
  168. //{
  169. // return;
  170. //}
  171. if (MessageUtil.ShowYesNoAndQuestion("是否确认保存数据!") == DialogResult.No) return;
  172. int i = ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceFramePrice.save",
  173. new object[] { parm, parm_price }, this.ob);
  174. if (i > 0)
  175. {
  176. MessageUtil.ShowTips("数据保存成功!");
  177. QueryData();
  178. }
  179. else
  180. {
  181. MessageUtil.ShowTips("数据保存失败!");
  182. QueryData();
  183. }
  184. }
  185. /// <summary>
  186. /// 验证界面数据
  187. /// </summary>
  188. /// <param name="row">界面数据</param>
  189. /// <returns></returns>
  190. private ArrayList CheckFormData(UltraGridRow[] row)
  191. {
  192. ArrayList parm = new ArrayList();
  193. List<string> list = new List<string>();
  194. foreach (var uRow in row)
  195. {
  196. ArrayList FactorValue = new ArrayList();
  197. SlmPriceBasepriceEntity spf = new SlmPriceBasepriceEntity();
  198. FactorValue.Add(uRow.Cells["PRICE_HEAD_ID"].Text.ToString());
  199. FactorValue.Add(uRow.Cells["PRICE_VER_ID"].Value.ToString());
  200. //FactorValue.Add(uRow.Cells["PRICE_VER_M"].Text.ToString());
  201. FactorValue.Add(uRow.Cells["PRICE_VER_ID"].Text.ToString());
  202. FactorValue.Add(uRow.Cells["PRICE_VER_SQE"].Text.ToString());
  203. FactorValue.Add(uRow.Cells["FRAME_ID"].Text.ToString());
  204. for (int i = 0; i < XZhouCount; i++)
  205. {
  206. FactorValue.Add(uRow.Cells[6+i].Value.ToString());
  207. }
  208. for (int i = 0; i < 8-XZhouCount; i++)
  209. {
  210. FactorValue.Add("");
  211. }
  212. //for (int i = 0; i < Y2Count; i++)
  213. //{
  214. // for (int m = 0; m < Y1Count; m++)
  215. // {
  216. spf.PriceHeadId = FactorValue[0].ToString();
  217. spf.PriceVerId = FactorValue[1].ToString();
  218. spf.PriceVerM = FactorValue[2].ToString();
  219. // spf.PriceVerSqe = Convert.ToDecimal(FactorValue[2]);
  220. spf.PriceVerSqe =1;
  221. //spf.PriceVerSqe = i * Y1Count + m + 1;
  222. spf.FrameId = FactorValue[4].ToString();
  223. spf.X1IdValue = FactorValue[5].ToString();
  224. spf.X2IdValue = FactorValue[6].ToString();
  225. spf.X3IdValue = FactorValue[7].ToString();
  226. spf.X4IdValue = FactorValue[8].ToString();
  227. spf.X5IdValue = FactorValue[9].ToString();
  228. spf.X6IdValue = FactorValue[10].ToString();
  229. spf.X7IdValue = FactorValue[11].ToString();
  230. spf.X8IdValue = FactorValue[12].ToString();
  231. spf.CreateName = UserInfo.GetUserName();
  232. spf.UpdateName = UserInfo.GetUserName();
  233. //spf.Y1IdValue = this.ugFramePrice.DisplayLayout.Bands[0].Columns[BaseFieldCount + XZhouCount+i*(Y1Count+1)+m+1+1].ToString();
  234. //spf.Y2IdValue = this.ugFramePrice.DisplayLayout.Bands[0].Columns[BaseFieldCount + XZhouCount + i * (Y1Count + 1) + 1].ToString();
  235. //spf.PriceNum = Convert.ToDecimal(uRow.Cells[BaseFieldCount + XZhouCount + i * (Y1Count + 1) + m + 1+1].Value);
  236. spf.Validflag = uRow.Cells["VALIDFLAG"].Text.ToString();
  237. if (spf.Validflag == "无效" && spf.CreateName != "")
  238. {
  239. MessageUtil.ShowWarning("【" + spf.PriceHeadId + "】已经无效,不能修改!");
  240. return null;
  241. }
  242. parm.Add(JSONFormat.Format(spf));
  243. // }
  244. //}
  245. }
  246. return parm;
  247. }
  248. private ArrayList CheckFormData_price(UltraGridRow[] row)
  249. {
  250. ArrayList parm = new ArrayList();
  251. List<string> list = new List<string>();
  252. ArrayList FactorValue = new ArrayList();
  253. foreach (var uRow in row)
  254. {
  255. SlmPriceBasepriceLineEntity spf = (SlmPriceBasepriceLineEntity)uRow.ListObject;
  256. spf.CreateName = UserInfo.GetUserName();
  257. spf.UpdateName = UserInfo.GetUserName();
  258. spf.Validflag = uRow.Cells["VALIDFLAG"].Text.ToString();
  259. if (spf.Validflag == "无效" && spf.CreateName != "")
  260. {
  261. MessageUtil.ShowWarning("【" + spf.FrameId + "】的因素已经无效,不能修改!");
  262. return null;
  263. }
  264. if (spf.BihouBegin.ToString() != "" && !StringUtil.IsNumber(spf.BihouBegin.ToString()))
  265. {
  266. MessageUtil.ShowWarning("壁厚起必须为数字");
  267. return null;
  268. }
  269. if (spf.BihouEnd.ToString() != "" && !StringUtil.IsNumber(spf.BihouEnd.ToString()))
  270. {
  271. MessageUtil.ShowWarning("壁厚止必须为数字");
  272. return null;
  273. }
  274. if (spf.WaijingBegin.ToString() != "" && !StringUtil.IsNumber(spf.WaijingBegin.ToString()))
  275. {
  276. MessageUtil.ShowWarning("外径起必须为数字");
  277. return null;
  278. }
  279. if (spf.WaijingEnd.ToString() != "" && !StringUtil.IsNumber(spf.WaijingEnd.ToString()))
  280. {
  281. MessageUtil.ShowWarning("外径止必须为数字");
  282. return null;
  283. }
  284. if (spf.PriceNum.ToString() != "" && !StringUtil.IsNumber(spf.PriceNum.ToString()))
  285. {
  286. MessageUtil.ShowWarning("价格必须为数字");
  287. return null;
  288. }
  289. parm.Add(JSONFormat.Format(spf));
  290. }
  291. return parm;
  292. }
  293. private void QueryData()
  294. {
  295. // List<SlmPriceBasepriceEntity> list = EntityHelper.GetData<SlmPriceBasepriceEntity>(
  296. // "com.steering.pss.sale.price.server.CorePriceFramePrice.query", null, this.ob);
  297. DataTable dt_query = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.query", null, this.ob);
  298. dt.Rows.Clear();
  299. ugFramePrice.DataSource = dt;
  300. ugFramePrice.DataBind();
  301. for (int i = 0; i < dt_query.Rows.Count; i++)
  302. {
  303. DataRow dr = dt.NewRow();
  304. dt.Rows.Add(dr);
  305. dt.Rows[i]["validflag"] = dt_query.Rows[i]["validflag"].ToString();
  306. dt.Rows[i]["create_name"] = dt_query.Rows[i]["create_name"].ToString();
  307. dt.Rows[i]["create_time"] = dt_query.Rows[i]["create_time"].ToString();
  308. dt.Rows[i]["TiaoShu"] = dt_query.Rows[i]["TiaoShu"].ToString();
  309. if (dt.Columns.Contains("因素一") == true)
  310. {
  311. dt.Rows[i]["因素一"] = dt_query.Rows[i]["X_1_ID_VALUE"].ToString();
  312. }
  313. if (dt.Columns.Contains("因素二") == true)
  314. {
  315. dt.Rows[i]["因素二"] = dt_query.Rows[i]["X_2_ID_VALUE"].ToString();
  316. }
  317. if (dt.Columns.Contains("因素三") == true)
  318. {
  319. dt.Rows[i]["因素三"] = dt_query.Rows[i]["X_3_ID_VALUE"].ToString();
  320. }
  321. if (dt.Columns.Contains("因素四") == true)
  322. {
  323. dt.Rows[i]["因素四"] = dt_query.Rows[i]["X_4_ID_VALUE"].ToString();
  324. }
  325. if (dt.Columns.Contains("因素五") == true)
  326. {
  327. dt.Rows[i]["因素五"] = dt_query.Rows[i]["X_5_ID_VALUE"].ToString();
  328. }
  329. if (dt.Columns.Contains("因素六") == true)
  330. {
  331. dt.Rows[i]["因素六"] = dt_query.Rows[i]["X_6_ID_VALUE"].ToString();
  332. }
  333. if (dt.Columns.Contains("因素七") == true)
  334. {
  335. dt.Rows[i]["因素七"] = dt_query.Rows[i]["X_7_ID_VALUE"].ToString();
  336. }
  337. if (dt.Columns.Contains("因素八") == true)
  338. {
  339. dt.Rows[i]["因素八"] = dt_query.Rows[i]["X_8_ID_VALUE"].ToString();
  340. }
  341. for (int n = 0; n < dt_query.Columns.Count; n++)
  342. {
  343. if (dt.Columns.Contains(dt_query.Columns[n].ColumnName.Replace("'", "")))
  344. {
  345. string ColName = dt_query.Columns[n].ColumnName;
  346. dt.Rows[i][ColName.Replace("'", "")] = dt_query.Rows[i][ColName].ToString();
  347. }
  348. }
  349. }
  350. ugFramePrice.DataSource = dt;
  351. }
  352. private void InitComBoBox1()
  353. {
  354. UltraComboEditor uce1 = new UltraComboEditor();
  355. SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  356. ultraCombo1.DisplayLayout.Bands[0].Columns["X1FACTORID"].EditorComponent = uce1;
  357. ultraCombo1.DisplayLayout.Bands[0].Columns["X1FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  358. this.Controls.Add(uce1);
  359. uce1.Visible = false;
  360. UltraComboEditor uce2 = new UltraComboEditor();
  361. SalePriceClass.InitComboEditorWithParm(uce2, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  362. ultraCombo1.DisplayLayout.Bands[0].Columns["X2FACTORID"].EditorComponent = uce2;
  363. ultraCombo1.DisplayLayout.Bands[0].Columns["X2FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  364. this.Controls.Add(uce2);
  365. uce2.Visible = false;
  366. UltraComboEditor uce3 = new UltraComboEditor();
  367. SalePriceClass.InitComboEditorWithParm(uce3, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  368. ultraCombo1.DisplayLayout.Bands[0].Columns["X3FACTORID"].EditorComponent = uce3;
  369. ultraCombo1.DisplayLayout.Bands[0].Columns["X3FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  370. this.Controls.Add(uce3);
  371. uce3.Visible = false;
  372. UltraComboEditor uce4 = new UltraComboEditor();
  373. SalePriceClass.InitComboEditorWithParm(uce4, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  374. ultraCombo1.DisplayLayout.Bands[0].Columns["X4FACTORID"].EditorComponent = uce4;
  375. ultraCombo1.DisplayLayout.Bands[0].Columns["X4FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  376. this.Controls.Add(uce4);
  377. uce4.Visible = false;
  378. UltraComboEditor uce5 = new UltraComboEditor();
  379. SalePriceClass.InitComboEditorWithParm(uce5, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  380. ultraCombo1.DisplayLayout.Bands[0].Columns["X5FACTORID"].EditorComponent = uce5;
  381. ultraCombo1.DisplayLayout.Bands[0].Columns["X5FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  382. this.Controls.Add(uce5);
  383. uce5.Visible = false;
  384. UltraComboEditor uce6 = new UltraComboEditor();
  385. SalePriceClass.InitComboEditorWithParm(uce6, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  386. ultraCombo1.DisplayLayout.Bands[0].Columns["X6FACTORID"].EditorComponent = uce6;
  387. ultraCombo1.DisplayLayout.Bands[0].Columns["X6FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  388. this.Controls.Add(uce6);
  389. uce6.Visible = false;
  390. UltraComboEditor uce7 = new UltraComboEditor();
  391. SalePriceClass.InitComboEditorWithParm(uce7, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  392. ultraCombo1.DisplayLayout.Bands[0].Columns["X7FACTORID"].EditorComponent = uce7;
  393. ultraCombo1.DisplayLayout.Bands[0].Columns["X7FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  394. this.Controls.Add(uce7);
  395. uce7.Visible = false;
  396. UltraComboEditor uce8 = new UltraComboEditor();
  397. SalePriceClass.InitComboEditorWithParm(uce8, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null);
  398. ultraCombo1.DisplayLayout.Bands[0].Columns["X8FACTORID"].EditorComponent = uce8;
  399. ultraCombo1.DisplayLayout.Bands[0].Columns["X8FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  400. this.Controls.Add(uce8);
  401. uce8.Visible = false;
  402. //UltraComboEditor uce9 = new UltraComboEditor();
  403. //SalePriceClass.InitComboEditorWithParm(uce9, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRangeName", "CLASS_D_ID", "CLASS_D_NAME", this.ob, true, null);
  404. //ultraCombo1.DisplayLayout.Bands[0].Columns["Y1FACTORID"].EditorComponent = uce9;
  405. //ultraCombo1.DisplayLayout.Bands[0].Columns["Y1FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  406. //this.Controls.Add(uce9);
  407. //uce9.Visible = false;
  408. //UltraComboEditor uce10 = new UltraComboEditor();
  409. //SalePriceClass.InitComboEditorWithParm(uce10, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRangeName", "CLASS_D_ID", "CLASS_D_NAME", this.ob, true, null);
  410. //ultraCombo1.DisplayLayout.Bands[0].Columns["Y2FACTORID"].EditorComponent = uce10;
  411. //ultraCombo1.DisplayLayout.Bands[0].Columns["Y2FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  412. //this.Controls.Add(uce10);
  413. //uce10.Visible = false;
  414. }
  415. private void InitForm()
  416. {
  417. string isValid = "1";
  418. List<SlmPriceBaseframeSetEntity> list = EntityHelper.GetData<SlmPriceBaseframeSetEntity>(
  419. "com.steering.pss.sale.price.server.CorePriceBaseFrame.query", new object[] { isValid }, this.ob);
  420. slmPriceBaseframeSetEntityBindingSource.DataSource = list;
  421. EntityHelper.ShowGridCaption<SlmPriceBasepriceLineEntity>(ugPrice.DisplayLayout.Bands[0]);
  422. }
  423. private void ultraCombo1_ValueChanged(object sender, EventArgs e)
  424. {
  425. dt.Columns.Clear();
  426. dt.Rows.Clear();
  427. bindBaseField(dt); ///绑定基础字段
  428. LoadXField(dt); ///加载 X轴因素的字段
  429. // LoadYfield(dt); ///加载 Y轴因素的字段
  430. bindBaseField1(dt);
  431. LoadFactorInfo(); ///获取X轴下拉列表
  432. }
  433. private void bindBaseField1(DataTable dt)
  434. {
  435. dt.Columns.Add("validflag", typeof(string));
  436. dt.Columns.Add("create_name", typeof(string));
  437. dt.Columns.Add("create_time", typeof(string));
  438. dt.Columns.Add("update_name", typeof(string));
  439. dt.Columns.Add("update_time", typeof(string));
  440. ugFramePrice.DataSource = dt;
  441. ugFramePrice.DataBind();
  442. ModifyColumnName("validflag", "有效标志");
  443. ModifyColumnName("create_name", "创建人");
  444. ModifyColumnName("create_time", "创建时间");
  445. ModifyColumnName("update_name", "修改人");
  446. ModifyColumnName("update_time", "修改时间");
  447. }
  448. private void LoadYfield(DataTable dt)
  449. {
  450. string frame_id = ultraCombo1.Value.ToString();
  451. DataTable RangeDt = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.GetRangeInfo", new object[] { frame_id }, this.ob);
  452. //if (RangeDt != null && RangeDt.Rows.Count > 0)
  453. //{
  454. // dt.Columns.Add(RangeDt.Rows[0]["factor_name"].ToString(), typeof(string));
  455. //}
  456. DataTable RangeY1 = new DataTable();
  457. DataTable RangeY2 = new DataTable();
  458. if (RangeDt != null && RangeDt.Rows.Count > 0)
  459. {
  460. RangeY1 = SalePriceClass.GetNewDataTable(RangeDt, "factorclassify_id='Y_1_FACTOR_ID'");
  461. RangeY2 = SalePriceClass.GetNewDataTable(RangeDt, "factorclassify_id='Y_2_FACTOR_ID'");
  462. Y1Count = RangeY1.Rows.Count;
  463. Y2Count = RangeY2.Rows.Count;
  464. }
  465. for (int i = 0; i < RangeY2.Rows.Count; i++)
  466. {
  467. string Y2_FactorName = RangeY2.Rows[i]["factorclassify_name"].ToString();
  468. string Y2_factor_min_sign = RangeY2.Rows[i]["factor_min_sign"].ToString();
  469. string Y2_factor_min_val = RangeY2.Rows[i]["factor_min_val"].ToString();
  470. string Y2_factor_max_sign = RangeY2.Rows[i]["factor_max_sign"].ToString();
  471. string factor_max_val = RangeY2.Rows[i]["factor_max_val"].ToString();
  472. string Y2_BR_ID = RangeY2.Rows[i]["br_id"].ToString();
  473. string Y2_colName = Y2_factor_min_val + Y2_factor_max_sign + Y2_FactorName + Y2_factor_max_sign + factor_max_val;
  474. dt.Columns.Add(Y2_BR_ID, typeof(string));
  475. ugFramePrice.DataSource = dt;
  476. ugFramePrice.DataBind();
  477. modifyColumn(Y2_BR_ID, Y2_colName, MaxIniX + RangeY1.Rows.Count * i , 0, RangeY1.Rows.Count , 1);
  478. this.ugFramePrice.DisplayLayout.Bands[0].Columns[Y2_BR_ID].RowLayoutColumnInfo.LabelPosition = LabelPosition.LabelOnly;
  479. for (int m = 0; m < RangeY1.Rows.Count; m++)
  480. {
  481. string Y1_FactorName = RangeY1.Rows[m]["factorclassify_name"].ToString();
  482. string Y1_factor_min_sign = RangeY1.Rows[m]["factor_min_sign"].ToString();
  483. string Y1_factor_min_val = RangeY1.Rows[m]["factor_min_val"].ToString();
  484. string Y1_factor_max_sign = RangeY1.Rows[m]["factor_max_sign"].ToString();
  485. string Y1_factor_max_val = RangeY1.Rows[m]["factor_max_val"].ToString();
  486. string Y1_BR_ID = RangeY1.Rows[m]["br_id"].ToString();
  487. string colName = Y1_factor_min_val + Y1_factor_max_sign + Y1_FactorName + Y1_factor_max_sign + Y1_factor_max_val;
  488. dt.Columns.Add(Y2_BR_ID + Y1_BR_ID, typeof(string));
  489. ugFramePrice.DataSource = dt;
  490. ugFramePrice.DataBind();
  491. // ModifyColumnName(Y2_colName + Y1_BR_ID, colName);
  492. modifyColumn(Y2_BR_ID + Y1_BR_ID, colName, MaxIniX + RangeY1.Rows.Count * i + m, 1, 1, 1);
  493. }
  494. }
  495. // ultraGrid1.DataSource = dt;
  496. // ultraGrid1.DataBind();
  497. //if (RangeDt != null && RangeDt.Rows.Count > 0)
  498. //{
  499. // modifyColumn(RangeDt.Rows[0]["factor_name"].ToString(), RangeDt.Rows[0]["factor_name"].ToString(), MaxIniX, 0, MaxSpyX, 1);
  500. // this.ultraGrid1.DisplayLayout.Bands[0].Columns[RangeDt.Rows[0]["factor_name"].ToString()].RowLayoutColumnInfo.LabelPosition = LabelPosition.LabelOnly;
  501. //}
  502. /////以上代码为合并Y1轴,目前屏蔽
  503. }
  504. /// <summary>
  505. /// 根据Column的 KEY来更改列显示标题
  506. /// </summary>
  507. /// <param name="BR_ID"></param>
  508. /// <param name="colName"></param>
  509. private void ModifyColumnName(string BR_ID, string colName)
  510. {
  511. // this.ugFramePrice.DisplayLayout.Bands[0].Columns.Add(BR_ID);
  512. UltraGridColumn GridColumn = this.ugFramePrice.DisplayLayout.Bands[0].Columns[BR_ID];
  513. GridColumn.Header.Caption = colName;
  514. }
  515. /// <summary>
  516. /// 绑定X轴字段
  517. /// </summary>
  518. /// <param name="dt"></param>
  519. private void LoadXField(DataTable dt)
  520. {
  521. string facId = "";
  522. string facName = "";
  523. string isValid = "1";
  524. int m = 0;
  525. for (int i = 1; i < ultraCombo1.ActiveRow.Cells.Count - 7; i++)
  526. {
  527. if (ultraCombo1.ActiveRow.Cells[i].Value.ToString() != null && ultraCombo1.ActiveRow.Cells[i].Value.ToString() != "")
  528. {
  529. // dt.Columns.Add(ultraCombo1.ActiveRow.Cells[i].Text.ToString(), typeof(string));
  530. dt.Columns.Add(ultraCombo1.DisplayLayout.Bands[0].Columns[i].Header.Caption.ToString(), typeof(string));
  531. m += 1;
  532. }
  533. }
  534. ugFramePrice.DataSource = dt;
  535. ugFramePrice.DataBind();
  536. for (int i = 1; i < ultraCombo1.ActiveRow.Cells.Count - 7; i++)
  537. {
  538. if (ultraCombo1.ActiveRow.Cells[i].Value.ToString() != null && ultraCombo1.ActiveRow.Cells[i].Value.ToString() != "")
  539. {
  540. ModifyColumnName(ultraCombo1.DisplayLayout.Bands[0].Columns[i].Header.Caption.ToString(), ultraCombo1.ActiveRow.Cells[i].Text.ToString());
  541. }
  542. }
  543. XZhouCount = m;
  544. }
  545. private void bindBaseField(DataTable dt)
  546. {
  547. this.ugFramePrice.DisplayLayout.Bands[0].RowLayoutStyle = RowLayoutStyle.GroupLayout;
  548. dt.Columns.Add("CHK", typeof(Boolean));
  549. dt.Columns.Add("PRICE_HEAD_ID", typeof(string));
  550. dt.Columns.Add("PRICE_VER_ID", typeof(string));
  551. // dt.Columns.Add("PRICE_VER_M", typeof(string));
  552. dt.Columns.Add("PRICE_VER_SQE", typeof(string));
  553. dt.Columns.Add("FRAME_ID", typeof(string));
  554. dt.Columns.Add("TiaoShu", typeof(string));
  555. ugFramePrice.DataSource = dt;
  556. ugFramePrice.DataBind();
  557. ModifyColumnName("PRICE_HEAD_ID", "基价套头ID");
  558. ModifyColumnName("PRICE_VER_ID", "基价版本ID");
  559. // ModifyColumnName("PRICE_VER_M", "基价版本描述");
  560. // ModifyColumnName("PRICE_VER_SQE", "基价序号");
  561. ModifyColumnName("FRAME_ID", "基价框架");
  562. ModifyColumnName("TiaoShu", "条数");
  563. // dt.Columns.Add("PRICE_VER_ID", typeof(string));
  564. //ugFramePrice.DataSource = dt;
  565. //ugFramePrice.DataBind();
  566. }
  567. /// <summary>
  568. /// 加载Grid下啦列表
  569. /// </summary>
  570. private void LoadFactorInfo()
  571. {
  572. for (int i = 0; i < ugFramePrice.DisplayLayout.Bands[0].Columns.Count; i++)
  573. {
  574. string FactorName = ugFramePrice.DisplayLayout.Bands[0].Columns[i].Header.Caption.ToString();
  575. DataTable FactorInfo = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.GetFactorInfo", new object[] { FactorName }, this.ob);
  576. if (FactorInfo != null && FactorInfo.Rows.Count > 0 && FactorInfo.Rows[0]["Table_Name"].ToString() != "")
  577. {
  578. UltraComboEditor uce1 = new UltraComboEditor();
  579. string sql_getFactorBind = "";
  580. string TableName = FactorInfo.Rows[0]["TABLE_NAME"].ToString();
  581. string DataValue = FactorInfo.Rows[0]["COLUMN_KEY"].ToString();
  582. string DataDesc = FactorInfo.Rows[0]["COLUMN_NAME"].ToString();
  583. string sql_getSQL = FactorInfo.Rows[0]["VAL_SQL"].ToString();
  584. DataTable dtFactor = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.FactorBind", new object[] { TableName, DataValue, DataDesc, sql_getSQL }, this.ob);
  585. if (dtFactor != null && dtFactor.Rows.Count > 0)
  586. {
  587. Object[] obj = new Object[] { "", "" };
  588. DataRow dr = dtFactor.NewRow();
  589. dr.ItemArray = obj;
  590. dtFactor.Rows.InsertAt(dr, 0);
  591. uce1.DataSource = dtFactor;
  592. uce1.DataMember = "";
  593. uce1.ValueMember = DataValue;
  594. uce1.DisplayMember = DataDesc;
  595. ClsBaseInfo.SetComboItemHeight(uce1);
  596. }
  597. ugFramePrice.DisplayLayout.Bands[0].Columns[i].EditorComponent = uce1;
  598. ugFramePrice.DisplayLayout.Bands[0].Columns[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  599. this.Controls.Add(uce1);
  600. uce1.Visible = false;
  601. }
  602. }
  603. }
  604. /// <summary>
  605. /// 合并表头函数
  606. /// </summary>
  607. /// <param name="columnName">列名</param>
  608. /// <param name="caption">表头名</param>
  609. /// <param name="x">表头横轴起始点</param>
  610. /// <param name="y">表头纵轴起始点</param>
  611. /// <param name="spanX">横向跨度</param>
  612. /// <param name="spanY">纵向跨度</param>
  613. private void modifyColumn(string columnName, string caption, int x, int y, int spanX, int spanY)
  614. {
  615. // this.ugFramePrice.DisplayLayout.Bands[0].Columns.Add(columnName);
  616. UltraGridColumn GridColumn = this.ugFramePrice.DisplayLayout.Bands[0].Columns[columnName];
  617. GridColumn.Header.Caption = caption;
  618. GridColumn.Header.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle;
  619. GridColumn.Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center;
  620. GridColumn.RowLayoutColumnInfo.OriginX = x;
  621. GridColumn.RowLayoutColumnInfo.OriginY = y;
  622. GridColumn.RowLayoutColumnInfo.SpanX = spanX;
  623. GridColumn.RowLayoutColumnInfo.SpanY = spanY;
  624. //GridColumn.CellActivation = Activation.Disabled;
  625. GridColumn.RowLayoutColumnInfo.AllowCellSizing = RowLayoutSizing.None;
  626. GridColumn.SortIndicator = SortIndicator.Disabled;
  627. }
  628. private void ugFramePrice_InitializeLayout(object sender, InitializeLayoutEventArgs e)
  629. {
  630. e.Layout.Bands[0].Columns["CHK"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
  631. e.Layout.Bands[0].Columns["CHK"].Header.Caption = "选择";
  632. e.Layout.Bands[0].Columns["CHK"].DefaultCellValue = false;
  633. }
  634. private void ugFramePrice_AfterRowInsert(object sender, RowEventArgs e)
  635. {
  636. e.Row.Cells["Frame_id"].Value = ultraCombo1.ActiveRow.Cells["FrameId"].Value.ToString();
  637. string maxId = ugFramePrice.Rows.AsQueryable().Max(a => a.Cells["price_head_id"].Value.ToString());
  638. if (maxId == "")
  639. {
  640. e.Row.Cells["price_head_id"].Value = "J000001";
  641. }
  642. else
  643. {
  644. string str = "J" + (Convert.ToInt32(maxId.Substring(1, 6)) + 1).ToString().PadLeft(6, '0');
  645. e.Row.Cells["price_head_id"].Value = str;
  646. }
  647. }
  648. private void ugFramePrice_AfterRowActivate(object sender, EventArgs e)
  649. {
  650. if (ugFramePrice.ActiveRow.Cells["price_head_id"].Value.ToString() != "")
  651. {
  652. string price_head_id = ugFramePrice.ActiveRow.Cells["price_head_id"].Value.ToString();
  653. string isValid = "1";
  654. EntityHelper.ShowGridCaption<SlmPriceBasepriceLineEntity>(ugPrice.DisplayLayout.Bands[0]);
  655. List<SlmPriceBasepriceLineEntity> list = EntityHelper.GetData<SlmPriceBasepriceLineEntity>(
  656. "com.steering.pss.sale.price.server.CorePriceFramePriceLine.queryById", new object[] { price_head_id, isValid }, this.ob);
  657. slmPriceBasepriceLineEntityBindingSource.DataSource = list;
  658. UltraGridBand ugb = this.ugPrice.DisplayLayout.Bands[0];
  659. UltraGridColumn[] col = new UltraGridColumn[] { };
  660. GridHelper.RefreshAndAutoSizeExceptColumns(ugPrice, col);
  661. }
  662. }
  663. private void ugPrice_AfterRowInsert(object sender, RowEventArgs e)
  664. {
  665. string maxId = ugPrice.Rows.AsQueryable().Max(a => a.Cells["PriceLineId"].Value.ToString());
  666. if (maxId == "")
  667. {
  668. e.Row.Cells["PriceLineId"].Value = "E000001";
  669. }
  670. else
  671. {
  672. string str = "E" + (Convert.ToInt32(maxId.Substring(1, 6)) + 1).ToString().PadLeft(6, '0');
  673. e.Row.Cells["PriceLineId"].Value = str;
  674. }
  675. e.Row.Cells["PriceHeadId"].Value = ugFramePrice.ActiveRow.Cells["PRICE_Head_ID"].Value.ToString();
  676. e.Row.Cells["FrameId"].Value = ugFramePrice.ActiveRow.Cells["FRAME_ID"].Value.ToString();
  677. e.Row.Cells["PriceUnit"].Value = "121503";
  678. }
  679. private void ugFramePrice_InitializeRow(object sender, InitializeRowEventArgs e)
  680. {
  681. UltraComboEditor uce1 = new UltraComboEditor();
  682. SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceBaseDoc.query", "PRICE_VER_ID", "PRICE_VER_DESC", this.ob, true, new object[] { "", "", "1" });
  683. ugFramePrice.DisplayLayout.Bands[0].Columns["PRICE_VER_ID"].EditorComponent = uce1;
  684. ugFramePrice.DisplayLayout.Bands[0].Columns["PRICE_VER_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  685. this.Controls.Add(uce1);
  686. uce1.Visible = false;
  687. }
  688. private void ugPrice_InitializeRow(object sender, InitializeRowEventArgs e)
  689. {
  690. UltraComboEditor uce1 = new UltraComboEditor();
  691. SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceFactor.queryBaseInfo", "BASECODE", "BASENAME", this.ob, true, new object[] { "1215" });
  692. ugPrice.DisplayLayout.Bands[0].Columns["PriceUnit"].EditorComponent = uce1;
  693. ugPrice.DisplayLayout.Bands[0].Columns["PriceUnit"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  694. this.Controls.Add(uce1);
  695. uce1.Visible = false;
  696. UltraComboEditor uce2 = new UltraComboEditor();
  697. SalePriceClass.InitComboEditor1(uce2, "com.steering.pss.sale.price.server.CorePriceFramePriceLine.getSpecDesc", "ORDER_SPEC_CODE", "ORDER_SPEC_DESC", this.ob, true);
  698. ugPrice.DisplayLayout.Bands[0].Columns["Specificion"].EditorComponent = uce2;
  699. ugPrice.DisplayLayout.Bands[0].Columns["Specificion"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  700. this.Controls.Add(uce2);
  701. uce2.Visible = false;
  702. }
  703. }
  704. }