FrmPop_setPriceAll.cs 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946
  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 Core.Mes.Client.Comm.Control;
  10. using Core.Mes.Client.Comm.Tool;
  11. using CoreFS.CA06;using Pur.Entity;using Pur.Entity;
  12. using Pur.Entity.pur_planEntity;
  13. using System.Collections;
  14. using Pur.configure;
  15. using Pur.Entity.configureEntity;
  16. using Pur.Pop_upWindow;
  17. using Infragistics.Win.UltraWinGrid;
  18. using com.hnshituo.pur.vo;
  19. using Infragistics.Win;
  20. using Infragistics.Win.UltraWinEditors;
  21. namespace Pur.Pop_upWindow
  22. {
  23. public partial class FrmPop_setPriceAll : FrmPmsBase
  24. {
  25. string Q_strTASKID = "";//修改数据库字段PUR_TASK_OFFER_C,PUR_TASK_C
  26. DataTable Q_dt_getExamineMana = null;
  27. DataTable Q_dt_dtItem = null;//物料表,用来查找确定报价时的物料唯一值ITEM_UNIQUE
  28. DataTable Q_dt_TaskOfferC = null;
  29. string QsetEvaluationORsetPriceAll = "";
  30. DateTime QdTime = new DateTime();//更新交货日期,防止首次输入交货日期不准确
  31. //DataTable Q_dt_dtItem = null;
  32. //DataTable Q_dtMinPrice = null;//保存显示最低价格供应商
  33. public FrmPop_setPriceAll(OpeBase ob, string strTASKID, string setEvaluationORsetPriceAll)
  34. {
  35. InitializeComponent();
  36. QsetEvaluationORsetPriceAll = setEvaluationORsetPriceAll;
  37. this.ob = ob;
  38. Q_strTASKID = strTASKID;
  39. GetTaskM();
  40. GetTaskC();
  41. GetSupp();
  42. if (setEvaluationORsetPriceAll == "setPriceAll")//定价操作,不需要添加是否中标功能
  43. {
  44. getExamineMana_back_20160223(setEvaluationORsetPriceAll);
  45. this.Text = "定价定量";
  46. }
  47. else
  48. {
  49. this.Text = "定标";
  50. getExamineMana(setEvaluationORsetPriceAll);
  51. }
  52. ultraGrid1.DisplayLayout.Override.RowSelectorNumberStyle = RowSelectorNumberStyle.None;//去掉grid序号显示
  53. GridHelper.ClearUlGridFilter(ultraGrid1);
  54. }
  55. /// <summary>
  56. /// 按钮控件
  57. /// </summary>
  58. /// <param name="sender"></param>
  59. /// <param name="e"></param>
  60. private void barsManagerButon_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  61. {
  62. switch (e.Tool.Key.ToString())
  63. {
  64. case "Query":
  65. {
  66. }
  67. break;
  68. case "conFirmation":
  69. {
  70. if (QsetEvaluationORsetPriceAll == "setPriceAll")//定价操作
  71. {
  72. setPriceAll_back_20160223();
  73. }
  74. else
  75. {
  76. setPriceAll();
  77. }
  78. }
  79. break;
  80. case "ESC":
  81. {
  82. this.Close();
  83. }
  84. break;
  85. }
  86. }
  87. protected override void OnLoad(EventArgs e)
  88. {
  89. base.OnLoad(e);
  90. //ultraGrid1.DisplayLayout.Override.RowSizingArea = RowSizingArea.RowSelectorsOnly;
  91. //ultraGrid1.DisplayLayout.Override.RowSizingArea = RowSizingArea.RowBordersOnly;
  92. for (int i = 0; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
  93. {
  94. ultraGrid1.DisplayLayout.Bands[0].Columns[i].SortIndicator = SortIndicator.Disabled;//是否允许排序
  95. }
  96. //ultraGrid1.DisplayLayout.Bands[0].Columns["JUDGE_STOVE_NO"].SortIndicator = SortIndicator.Disabled;//是否允许排序
  97. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//是否允许过滤
  98. }
  99. /// <summary>
  100. /// 查询任务主表
  101. /// </summary>
  102. public void GetTaskM()
  103. {
  104. PurTaskMEntity M_PurTaskM = this.execute<PurTaskMEntity>("com.hnshituo.pur.purplan.service.TaskMService", "findById", new object[] { Q_strTASKID });
  105. if (M_PurTaskM != null)
  106. {
  107. lb_taskId.Text = M_PurTaskM.TaskId;
  108. lb_taskName.Text = M_PurTaskM.TaskName;
  109. if (M_PurTaskM.OfferTimeStart != null & M_PurTaskM.OfferTimeStart.Value != null)
  110. lb_OFFER_TIME_START.Text = M_PurTaskM.OfferTimeStart.Value.ToShortDateString();
  111. if (M_PurTaskM.OfferTimeEnd != null && M_PurTaskM.OfferTimeEnd.Value != null)
  112. lb_OFFER_TIME_END.Text = M_PurTaskM.OfferTimeEnd.Value.ToShortDateString();
  113. }
  114. }
  115. /// <summary>
  116. /// 查询任务从表
  117. /// </summary>
  118. public void GetTaskC()
  119. {
  120. if (Q_strTASKID != "")
  121. {
  122. // 查询任务从表
  123. PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
  124. M_PurTaskC.TaskId = Q_strTASKID;
  125. M_PurTaskC.Validflag = "1";
  126. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskCService", "find", new object[] { M_PurTaskC, 0, 0 });
  127. if (dt.Rows.Count > 0)
  128. {
  129. dt.DefaultView.Sort = "ITEMUNIQUE";
  130. dt = dt.DefaultView.ToTable();
  131. }
  132. GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定物料分类表
  133. }
  134. }
  135. /// <summary>
  136. /// 查询供应商
  137. /// </summary>
  138. public void GetSupp()
  139. {
  140. if (Q_strTASKID != "")
  141. {
  142. // 查询供应商
  143. PurTaskSuppsEntity M_PurTaskSupps = new PurTaskSuppsEntity();
  144. M_PurTaskSupps.TaskId = Q_strTASKID;
  145. M_PurTaskSupps.Validflag = "1";
  146. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskSuppsService", "find", new object[] { M_PurTaskSupps, 0, 0 });
  147. GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);//绑定物料分类表
  148. }
  149. }
  150. /// <summary>
  151. /// 供应商报价
  152. /// </summary>
  153. private void getExamineMana_back_20160223(string setEvaluationORsetPriceAll)
  154. {
  155. if (Q_strTASKID == "")
  156. {
  157. MessageUtil.ShowTips("未找到任务单号");
  158. return;
  159. }
  160. DataTable dtItem = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskCService", "getTaskItem", new object[] { Q_strTASKID });
  161. DataTable dtSupps = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskOfferCService", "getSuppRes", new object[] { Q_strTASKID });
  162. //DataColumn[] dcs = {dtSupps.Columns["ITEMCODE"]};
  163. //dtSupps.PrimaryKey = dcs;
  164. if (dtItem.Rows.Count > 0)
  165. {
  166. dtItem.DefaultView.Sort="ITEMUNIQUE";
  167. dtItem = dtItem.DefaultView.ToTable();
  168. }
  169. Q_dt_TaskOfferC = dtSupps;
  170. Q_dt_dtItem = dtItem;
  171. GridHelper.CopyDataToDatatable(ref dtItem, ref dataTable1, true);//绑定物料分类表
  172. GridHelper.CopyDataToDatatable(ref dtSupps, ref dataTable4, true);//绑定物料分类表
  173. //设置显示表的表结构
  174. DataTable dt = new DataTable();
  175. DataColumn dc = new System.Data.DataColumn();
  176. dc.ColumnName = "ITEM";
  177. dc.Caption = "物料信息";
  178. dt.Columns.Add(dc);
  179. for (int k = 0; k < dataTable3.Rows.Count; k++)
  180. {
  181. DataColumn dc_Supp = new System.Data.DataColumn();
  182. //dc_Supp.ColumnName = "SUPP" + (k + 1);
  183. //dc_Supp.Caption = "供应商信息" + (k + 1);
  184. dc_Supp.ColumnName = dataTable3.Rows[k]["SUPPCODE"].ToString();
  185. dc_Supp.Caption = dataTable3.Rows[k]["SUPPNAME"].ToString();
  186. dt.Columns.Add(dc_Supp);
  187. }
  188. //给设计表赋值
  189. for (int i = 0; i < dataTable1.Rows.Count; i++)//循环物料表
  190. {
  191. for (int j = 0; j < dataTable1.Columns.Count; j++)//循环每行物料表的列(只需6列)
  192. {
  193. DataRow dr = dt.NewRow();
  194. dr[0] = dataTable1.Rows[i][j].ToString();//物料报价信息
  195. dt.Rows.Add(dr);
  196. }
  197. //循环供应商
  198. for (int k = 0; k < dataTable3.Rows.Count; k++)//几个供应商
  199. {
  200. if (dtSupps.Rows.Count > 0)
  201. {
  202. DataRow[] drSupps = dtSupps.Select("SUPPCODE='" + dataTable3.Rows[k]["SUPPCODE"].ToString() + "'");//寻找当前供应商的对应物料报价信息
  203. DataRow[] drSupps_dt4 = dataTable4.Select("SUPPCODE='" + dataTable3.Rows[k]["SUPPCODE"].ToString() + "'");//寻找当前供应商的对应物料报价信息
  204. for (int m = 0; m < drSupps_dt4.Length; m++)//供应商与物料报价关系为多对多,可能有相同的供应商报价,但对应的物料是不同
  205. {
  206. //if (drSupps[m]["ITEMCODE"].ToString() == dtItem.Rows[i]["ITEMCODE"].ToString() && drSupps[m]["ITEMATTRID"].ToString().Trim() == dtItem.Rows[i]["ITEMATTRID"].ToString().Trim())//判断供应商与物料是否有报价权
  207. if (drSupps[m]["ITEMUNIQUE"].ToString() == dtItem.Rows[i]["ITEMUNIQUE"].ToString())
  208. {
  209. for (int n = 1; n < dataTable4.Columns.Count; n++)
  210. dt.Rows[i * 6 + n][k + 1] = drSupps_dt4[m][n].ToString();//供应商报价信息
  211. }
  212. }
  213. }
  214. }
  215. }
  216. //给表添加报价参数
  217. //DataColumn dc_Item_Args = new System.Data.DataColumn();
  218. //dc_Item_Args.ColumnName = "dc_Item_Args";
  219. //dc_Item_Args.Caption = "参数信息";
  220. //dt.Columns.Add(dc_Item_Args);
  221. //dc_Item_Args.SetOrdinal(0);
  222. for (int i = 0; i < dataTable1.Rows.Count; i++)
  223. {
  224. string[] str_Item_Args = { "", "单 价", "数 量", "金 额", "交货日期", "备 注" };
  225. for (int j = 0; j < 6; j++)
  226. {
  227. if ((i + 1) % 6 != 0)//物料名下一个循环设置
  228. {
  229. if (j == 4)//交货日期格式为短日期(yyyy-mm-dd)
  230. {
  231. IFormatProvider p= new System.Globalization.CultureInfo("zh-CN", true);
  232. dt.Rows[i * 6 + j][0] = str_Item_Args[j] + "(" + DateTime.ParseExact(dt.Rows[i * 6 + j][0].ToString(), "yyyy-MM-dd hh:mm:ss", p).ToString("yyyy-MM-dd") + ")";
  233. }
  234. else
  235. {
  236. dt.Rows[i * 6 + j][0] = str_Item_Args[j] + "(" + dt.Rows[i * 6 + j][0].ToString() + ")";
  237. }
  238. }
  239. }
  240. }
  241. ultraGrid1.DataSource = dt;
  242. //给物料名称行设置背景颜色
  243. for (int i = 0; i < dataTable1.Rows.Count; i++)
  244. {
  245. for (int j = 0; j < 6; j++)//设置物料信息字段背景颜色
  246. {
  247. if (j != 0)
  248. {
  249. ultraGrid1.Rows[i * 6 + j].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  250. ultraGrid1.Rows[i * 6 + j].Cells[0].Appearance.BackColor = Color.YellowGreen;
  251. ultraGrid1.Rows[i * 6 + j].Cells[0].Appearance.ForeColor = Color.Black;
  252. ultraGrid1.Rows[i * 6 + j].Cells[0].Activation = Activation.ActivateOnly;//设置不可编辑
  253. }
  254. }
  255. //设置每行第一列背景颜色
  256. dt.Rows[i * 6][0] = (i + 1) + "﹑物料名:" + dt.Rows[i * 6][0].ToString() + " 物料编码:" + dtItem.Rows[i]["ITEMCODE"].ToString();//设置物料显示
  257. if (dt.Columns.Count > 1)//显示物料描述信息
  258. {
  259. dt.Rows[i * 6][1] = "属性:【" + dtItem.Rows[i]["ITEMATTR"].ToString() + "】 属性编码:" + dtItem.Rows[i]["ITEMATTRID"].ToString();
  260. }
  261. if (dt.Columns.Count > 2)//显示物料描述信息
  262. {
  263. //dt.Rows[i * 6][2] = "物料描述:" + dtItem.Rows[i]["ITEMDESC"].ToString();
  264. }
  265. //物料名所在行颜色
  266. ultraGrid1.Rows[i * 6].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  267. ultraGrid1.Rows[i * 6].Appearance.ForeColor = Color.White;
  268. ultraGrid1.Rows[i * 6].Appearance.BorderColor3DBase = Color.CornflowerBlue;
  269. ultraGrid1.Rows[i * 6].Appearance.BackColor = Color.DodgerBlue;
  270. ultraGrid1.Rows[i * 6].Activation = Activation.ActivateOnly;//设置不可编辑
  271. ultraGrid1.Rows[i * 6 + 3].Activation = Activation.ActivateOnly;//设置金额不可编辑
  272. }
  273. Q_dt_getExamineMana = dt;
  274. //设置填写日期单元格类型为日期类型
  275. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  276. {
  277. if (ultraGrid1.Rows[i].Cells[0].Value.ToString().IndexOf("交货日期") == 0)
  278. {
  279. for (int j = 1; j < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; j++)
  280. {
  281. ultraGrid1.Rows[i].Cells[j].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date;
  282. //ultraGrid1.Rows[i].Cells[j].Value = new DateTime();
  283. }
  284. }
  285. }
  286. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Height = 32;//设置高度
  287. if (setEvaluationORsetPriceAll == "setPriceAll")//定价操作,不需要添加是否中标功能
  288. {
  289. return;
  290. }
  291. //填写是否中标和中标理由
  292. for (int i = ultraGrid1.Rows.Count - 2; i < ultraGrid1.Rows.Count; i++)
  293. {
  294. for (int j = 0; j < dt.Columns.Count; j++)
  295. {
  296. for (int k = 0; k < dtSupps.Rows.Count; k++)
  297. {
  298. if (dt.Columns[j].ColumnName == dtSupps.Rows[k]["SUPPCODE"].ToString())
  299. {
  300. if (i == ultraGrid1.Rows.Count - 2)
  301. {
  302. if (dtSupps.Rows[k]["ISBID"].ToString() == "1")
  303. {
  304. ultraGrid1.Rows[i].Cells[j].Value = true;
  305. }
  306. else
  307. {
  308. ultraGrid1.Rows[i].Cells[j].Value = false;
  309. }
  310. }
  311. else
  312. {
  313. ultraGrid1.Rows[i].Cells[j].Value = dtSupps.Rows[k]["BIDREASON"].ToString();
  314. }
  315. break;
  316. }
  317. }
  318. }
  319. }
  320. }
  321. /// <summary>
  322. /// 供应商报价
  323. /// </summary>
  324. private void getExamineMana(string setEvaluationORsetPriceAll)
  325. {
  326. if (Q_strTASKID == "")
  327. {
  328. MessageUtil.ShowTips("未找到任务单号");
  329. return;
  330. }
  331. DataTable dtItem = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskCService", "getTaskItem", new object[] { Q_strTASKID });
  332. DataTable dtSupps = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskOfferCService", "getSuppRes", new object[] { Q_strTASKID });
  333. //DataColumn[] dcs = {dtSupps.Columns["ITEMCODE"]};
  334. //dtSupps.PrimaryKey = dcs;
  335. if (dtItem.Rows.Count > 0)
  336. {
  337. dtItem.DefaultView.Sort = "ITEMUNIQUE";
  338. dtItem = dtItem.DefaultView.ToTable();
  339. }
  340. Q_dt_TaskOfferC = dtSupps;
  341. Q_dt_dtItem = dtItem;
  342. GridHelper.CopyDataToDatatable(ref dtItem, ref dataTable1, true);//绑定物料分类表
  343. GridHelper.CopyDataToDatatable(ref dtSupps, ref dataTable4, true);//绑定物料分类表
  344. //设置显示表的表结构
  345. DataTable dt = new DataTable();
  346. DataColumn dc = new System.Data.DataColumn();
  347. dc.ColumnName = "ITEM";
  348. dc.Caption = "物料信息";
  349. dt.Columns.Add(dc);
  350. for (int k = 0; k < dataTable3.Rows.Count; k++)
  351. {
  352. DataColumn dc_Supp = new System.Data.DataColumn();
  353. //dc_Supp.ColumnName = "SUPP" + (k + 1);
  354. //dc_Supp.Caption = "供应商信息" + (k + 1);
  355. dc_Supp.ColumnName = dataTable3.Rows[k]["SUPPCODE"].ToString();
  356. dc_Supp.Caption = dataTable3.Rows[k]["SUPPNAME"].ToString();
  357. dt.Columns.Add(dc_Supp);
  358. }
  359. //给设计表赋值
  360. for (int i = 0; i < dataTable1.Rows.Count; i++)//循环物料表
  361. {
  362. for (int j = 0; j < dataTable1.Columns.Count; j++)//循环每行物料表的列(只需6列)
  363. {
  364. DataRow dr = dt.NewRow();
  365. dr[0] = dataTable1.Rows[i][j].ToString();//物料报价信息
  366. dt.Rows.Add(dr);
  367. }
  368. // 给供应商添加两列,填写供应商是否中标,绑定grid
  369. ultraGrid1.DataSource = dt;
  370. AddGridRow(dt);
  371. //循环供应商
  372. for (int k = 0; k < dataTable3.Rows.Count; k++)//几个供应商
  373. {
  374. if (dtSupps.Rows.Count > 0)
  375. {
  376. DataRow[] drSupps = dtSupps.Select("SUPPCODE='" + dataTable3.Rows[k]["SUPPCODE"].ToString() + "'");//寻找当前供应商的对应物料报价信息
  377. DataRow[] drSupps_dt4 = dataTable4.Select("SUPPCODE='" + dataTable3.Rows[k]["SUPPCODE"].ToString() + "'");//寻找当前供应商的对应物料报价信息
  378. for (int m = 0; m < drSupps_dt4.Length; m++)//供应商与物料报价关系为多对多,可能有相同的供应商报价,但对应的物料是不同
  379. {
  380. //if (drSupps[m]["ITEMCODE"].ToString() == dtItem.Rows[i]["ITEMCODE"].ToString() && drSupps[m]["ITEMATTRID"].ToString().Trim() == dtItem.Rows[i]["ITEMATTRID"].ToString().Trim())//判断供应商与物料是否有报价权
  381. if (drSupps[m]["ITEMUNIQUE"].ToString() == dtItem.Rows[i]["ITEMUNIQUE"].ToString())
  382. {
  383. for (int n = 1; n < dataTable4.Columns.Count; n++)
  384. {
  385. dt.Rows[i * 8 + n][k + 1] = drSupps_dt4[m][n].ToString();//供应商报价信息
  386. }
  387. //是否中标和中标理由赋值
  388. //dt.Rows[i * 8 + dataTable4.Columns.Count][k + 1] = drSupps[m][n].ToString();//供应商报价信息
  389. if (drSupps[m]["ISBID"].ToString() == "1")
  390. {
  391. ultraGrid1.Rows[i * 8 + dataTable4.Columns.Count].Cells[k + 1].Value = true;
  392. }
  393. else
  394. {
  395. ultraGrid1.Rows[i * 8 + dataTable4.Columns.Count].Cells[k + 1].Value = false;
  396. }
  397. ultraGrid1.Rows[i * 8 + dataTable4.Columns.Count + 1].Cells[k + 1].Value = drSupps[m]["BIDREASON"].ToString();
  398. }
  399. }
  400. }
  401. }
  402. }
  403. //给表添加报价参数
  404. //DataColumn dc_Item_Args = new System.Data.DataColumn();
  405. //dc_Item_Args.ColumnName = "dc_Item_Args";
  406. //dc_Item_Args.Caption = "参数信息";
  407. //dt.Columns.Add(dc_Item_Args);
  408. //dc_Item_Args.SetOrdinal(0);
  409. for (int i = 0; i < dataTable1.Rows.Count; i++)
  410. {
  411. string[] str_Item_Args = { "", "单 价", "数 量", "金 额", "交货日期", "备 注" };
  412. for (int j = 0; j < 6; j++)
  413. {
  414. if ((i + 1) % 8 != 0)//物料名下一个循环设置
  415. {
  416. if (j == 4)//交货日期格式为短日期(yyyy-mm-dd)
  417. {
  418. IFormatProvider p = new System.Globalization.CultureInfo("zh-CN", true);
  419. dt.Rows[i * 8 + j][0] = str_Item_Args[j] + "(" + DateTime.ParseExact(dt.Rows[i * 8 + j][0].ToString(), "yyyy-MM-dd hh:mm:ss", p).ToString("yyyy-MM-dd") + ")";
  420. }
  421. else
  422. {
  423. dt.Rows[i * 8 + j][0] = str_Item_Args[j] + "(" + dt.Rows[i * 8 + j][0].ToString() + ")";
  424. }
  425. }
  426. }
  427. }
  428. ultraGrid1.DataSource = dt;
  429. //给物料名称行设置背景颜色
  430. for (int i = 0; i < dataTable1.Rows.Count; i++)
  431. {
  432. for (int j = 0; j < 6; j++)//设置物料信息字段背景颜色
  433. {
  434. if (j != 0)
  435. {
  436. ultraGrid1.Rows[i * 8 + j].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  437. ultraGrid1.Rows[i * 8 + j].Cells[0].Appearance.BackColor = Color.YellowGreen;
  438. ultraGrid1.Rows[i * 8 + j].Cells[0].Appearance.ForeColor = Color.Black;
  439. ultraGrid1.Rows[i * 8 + j].Cells[0].Activation = Activation.ActivateOnly;//设置不可编辑
  440. }
  441. }
  442. //设置每行第一列背景颜色
  443. dt.Rows[i * 8][0] = (i + 1) + "﹑物料名:" + dt.Rows[i * 8][0].ToString() + " 物料编码:" + dtItem.Rows[i]["ITEMCODE"].ToString();//设置物料显示
  444. if (dt.Columns.Count > 1)//显示物料描述信息
  445. {
  446. dt.Rows[i * 8][1] = "属性:【" + dtItem.Rows[i]["ITEMATTR"].ToString() + "】 属性编码:" + dtItem.Rows[i]["ITEMATTRID"].ToString();
  447. }
  448. if (dt.Columns.Count > 2)//显示物料描述信息
  449. {
  450. //dt.Rows[i * 8][2] = "物料描述:" + dtItem.Rows[i]["ITEMDESC"].ToString();
  451. }
  452. //物料名所在行颜色
  453. ultraGrid1.Rows[i * 8].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  454. ultraGrid1.Rows[i * 8].Appearance.ForeColor = Color.White;
  455. ultraGrid1.Rows[i * 8].Appearance.BorderColor3DBase = Color.CornflowerBlue;
  456. ultraGrid1.Rows[i * 8].Appearance.BackColor = Color.DodgerBlue;
  457. ultraGrid1.Rows[i * 8].Activation = Activation.ActivateOnly;//设置不可编辑
  458. ultraGrid1.Rows[i * 8+3].Activation = Activation.ActivateOnly;//设置金额不可编辑
  459. }
  460. //设置填写日期单元格类型为日期类型
  461. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  462. {
  463. if (ultraGrid1.Rows[i].Cells[0].Value.ToString().IndexOf("交货日期") == 0)
  464. {
  465. for (int j = 1; j < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; j++)
  466. {
  467. //UltraDateTimeEditor udte=new UltraDateTimeEditor();
  468. //udte.Visible = false;
  469. //this.Controls.Add(udte);
  470. //ultraGrid1.Rows[i].Cells[j].EditorComponent = udte;
  471. ultraGrid1.Rows[i].Cells[j].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date;
  472. //ultraGrid1.Rows[i].Cells[j].Value = new DateTime();
  473. }
  474. }
  475. }
  476. Q_dt_getExamineMana = dt;
  477. DataRow dr1 = dt.NewRow();
  478. dr1[0] = "是否全部中标";
  479. dt.Rows.Add(dr1);
  480. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Activation = Activation.ActivateOnly;//设置不可编辑
  481. for (int i = 1; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)//设置最后一行的样式
  482. {
  483. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
  484. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[i].Value = false;//设置初始值
  485. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Height = 32;//设置高度
  486. }
  487. //填写是否中标和中标理由
  488. //for (int i = ultraGrid1.Rows.Count - 2; i < ultraGrid1.Rows.Count; i++)
  489. //{
  490. // for (int j = 0; j < dt.Columns.Count; j++)
  491. // {
  492. // for (int k = 0; k < dtSupps.Rows.Count; k++)
  493. // {
  494. // if (dt.Columns[j].ColumnName == dtSupps.Rows[k]["SUPPCODE"].ToString())
  495. // {
  496. // if (i == ultraGrid1.Rows.Count - 2)
  497. // {
  498. // if (dtSupps.Rows[k]["ISBID"].ToString() == "1")
  499. // {
  500. // ultraGrid1.Rows[i].Cells[j].Value = true;
  501. // }
  502. // else
  503. // {
  504. // ultraGrid1.Rows[i].Cells[j].Value = false;
  505. // }
  506. // }
  507. // else
  508. // {
  509. // ultraGrid1.Rows[i].Cells[j].Value = dtSupps.Rows[k]["BIDREASON"].ToString();
  510. // }
  511. // break;
  512. // }
  513. // }
  514. // }
  515. //}
  516. }
  517. /// <summary>
  518. /// 保存报价
  519. /// </summary>
  520. private void setPriceAll_back_20160223()
  521. {
  522. // 查询任务从表
  523. ultraGrid1.UpdateData();
  524. ArrayList al = new ArrayList();
  525. ArrayList al_supp = new ArrayList();
  526. for (int i = 1; i < Q_dt_getExamineMana.Columns.Count; i++)//循环任务单供应商表
  527. {
  528. for (int j = 0; j < dataTable2.Rows.Count; j++)//循环任务单从表(物料),如果没有供应商对此物料报价,则插入,如果有,则更新报价
  529. {
  530. //string strItemcode = Q_dt_getExamineMana.Rows[j * 6]["ITEM"].ToString();
  531. //strItemcode = strItemcode.Substring(strItemcode.LastIndexOf(":") + 1);//获取物编码
  532. //string strItemAttrId = Q_dt_getExamineMana.Rows[j * 6][1].ToString();
  533. //strItemAttrId = strItemAttrId.Substring(strItemAttrId.LastIndexOf(":") + 1);//获取物料属性ID
  534. PurTaskOfferCEntity M_TaskOfferCEntity_al = new PurTaskOfferCEntity();
  535. M_TaskOfferCEntity_al.ItemCode = dataTable2.Rows[j]["ITEMCODE"].ToString();
  536. M_TaskOfferCEntity_al.ItemAttrId = dataTable2.Rows[j]["ITEMATTRID"].ToString();
  537. M_TaskOfferCEntity_al.ItemUnique = dataTable2.Rows[j]["ITEMUNIQUE"].ToString();//物料唯一值
  538. M_TaskOfferCEntity_al.SuppCode = Q_dt_getExamineMana.Columns[i].ColumnName;
  539. M_TaskOfferCEntity_al.TaskId = Q_strTASKID;
  540. M_TaskOfferCEntity_al.CreateName = UserInfo.GetUserName();
  541. M_TaskOfferCEntity_al.CreateUserid = UserInfo.GetUserID();
  542. M_TaskOfferCEntity_al.UpdateName = UserInfo.GetUserName();
  543. M_TaskOfferCEntity_al.UpdateUserid = UserInfo.GetUserID();
  544. if (QsetEvaluationORsetPriceAll == "setEvaluation")//不是定标操作,不需要添加是否中标功能
  545. {
  546. if (Boolean.Parse(Q_dt_getExamineMana.Rows[j * 8 + 6][i].ToString()))
  547. {
  548. M_TaskOfferCEntity_al.IsBid = "1";
  549. }
  550. else
  551. {
  552. M_TaskOfferCEntity_al.IsBid = "0";
  553. }
  554. M_TaskOfferCEntity_al.BidReason = Q_dt_getExamineMana.Rows[j * 8 + 7][i].ToString();
  555. }
  556. double ResWithTaxPrice = 0;
  557. double.TryParse(Q_dt_getExamineMana.Rows[j * 6 + 1][i].ToString(), out ResWithTaxPrice);
  558. M_TaskOfferCEntity_al.ResWithTaxPrice = Math.Round(ResWithTaxPrice, 6);//报价含税单价
  559. M_TaskOfferCEntity_al.ResWithoutTaxPrice = Math.Round(ResWithTaxPrice / 1.16, 6);
  560. double ResQty = 0;
  561. double.TryParse(Q_dt_getExamineMana.Rows[j * 6 + 2][i].ToString(), out ResQty);
  562. M_TaskOfferCEntity_al.ResQty = ResQty;//报价数量
  563. double ResWithTaxAmt = 0;
  564. double.TryParse(Q_dt_getExamineMana.Rows[j * 6 + 3][i].ToString(), out ResWithTaxAmt);
  565. M_TaskOfferCEntity_al.ResWithTaxAmt = Math.Round(ResWithTaxAmt, 2);//报价含税金额
  566. M_TaskOfferCEntity_al.ResWithoutTaxAmt = Math.Round(ResWithTaxAmt / 1.16, 2);
  567. DateTime ResDeliverDate;
  568. DateTime.TryParse(Q_dt_getExamineMana.Rows[j * 6 + 4][i].ToString(), out ResDeliverDate);
  569. M_TaskOfferCEntity_al.ResDeliverDate = ResDeliverDate;//报价日期
  570. M_TaskOfferCEntity_al.ResRemark = Q_dt_getExamineMana.Rows[j * 6 + 5][i].ToString();//报价备注
  571. al.Add(M_TaskOfferCEntity_al);
  572. }
  573. if (QsetEvaluationORsetPriceAll == "setEvaluation")//不是定标操作,不需要添加是否中标功能,setEvaluation为定标操作
  574. {
  575. //保存供应商是否中标和中标理由
  576. PurTaskSuppsEntity TaskSuppsEntity = new PurTaskSuppsEntity();
  577. //供应商ID
  578. for (int j = 0; j < dataTable3.Rows.Count; j++)
  579. {
  580. if (dataTable3.Rows[j]["SUPPCODE"].ToString() == Q_dt_getExamineMana.Columns[i].ColumnName)
  581. {
  582. TaskSuppsEntity.Id = dataTable3.Rows[j]["ID"].ToString();
  583. }
  584. }
  585. if (Boolean.Parse(ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[i].Value.ToString()))
  586. {
  587. TaskSuppsEntity.IsBid = "1";
  588. }
  589. else
  590. {
  591. TaskSuppsEntity.IsBid = "0";
  592. }
  593. TaskSuppsEntity.BidReason = ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[i].Value.ToString();
  594. TaskSuppsEntity.UpdateName = UserInfo.GetUserName();
  595. TaskSuppsEntity.UpdateUserid = UserInfo.GetUserID();
  596. al_supp.Add(TaskSuppsEntity);
  597. }
  598. }
  599. if (al.Count > 0)
  600. {
  601. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.TaskMService", "setPriceAll", new object[] { al, al_supp });
  602. if (crt.Resultcode != 0)
  603. {
  604. MessageUtil.ShowTips("提交失败 " + crt.Resultmsg);
  605. return;
  606. }
  607. MessageUtil.ShowTips("提交成功");
  608. this.Close();
  609. }
  610. }
  611. private void setPriceAll()
  612. {
  613. // 查询任务从表
  614. ultraGrid1.UpdateData();
  615. ArrayList al = new ArrayList();
  616. ArrayList al_supp = new ArrayList();
  617. for (int i = 1; i < Q_dt_getExamineMana.Columns.Count; i++)//循环任务单供应商表
  618. {
  619. for (int j = 0; j < dataTable2.Rows.Count; j++)//循环任务单从表(物料),如果没有供应商对此物料报价,则插入,如果有,则更新报价
  620. {
  621. //string strItemcode = Q_dt_getExamineMana.Rows[j * 8]["ITEM"].ToString();
  622. //strItemcode = strItemcode.Substring(strItemcode.LastIndexOf(":") + 1);//获取物编码
  623. //string strItemAttrId = Q_dt_getExamineMana.Rows[j * 8][1].ToString();
  624. //strItemAttrId = strItemAttrId.Substring(strItemAttrId.LastIndexOf(":") + 1);//获取物料属性ID
  625. PurTaskOfferCEntity M_TaskOfferCEntity_al = new PurTaskOfferCEntity();
  626. M_TaskOfferCEntity_al.ItemCode = dataTable2.Rows[j]["ITEMCODE"].ToString();
  627. M_TaskOfferCEntity_al.ItemAttrId = dataTable2.Rows[j]["ITEMATTRID"].ToString();
  628. M_TaskOfferCEntity_al.ItemUnique = dataTable2.Rows[j]["ITEMUNIQUE"].ToString();//物料唯一值
  629. M_TaskOfferCEntity_al.SuppCode = Q_dt_getExamineMana.Columns[i].ColumnName;//供应商代码
  630. M_TaskOfferCEntity_al.TaskId = Q_strTASKID;
  631. M_TaskOfferCEntity_al.CreateName = UserInfo.GetUserName();
  632. M_TaskOfferCEntity_al.CreateUserid = UserInfo.GetUserID();
  633. M_TaskOfferCEntity_al.UpdateName = UserInfo.GetUserName();
  634. M_TaskOfferCEntity_al.UpdateUserid = UserInfo.GetUserID();
  635. if (QsetEvaluationORsetPriceAll == "setEvaluation")//不是定标操作,不需要添加是否中标功能
  636. {
  637. if (Boolean.Parse(Q_dt_getExamineMana.Rows[j * 8 + 6][i].ToString()))
  638. {
  639. M_TaskOfferCEntity_al.IsBid = "1";
  640. }
  641. else
  642. {
  643. M_TaskOfferCEntity_al.IsBid = "0";
  644. }
  645. M_TaskOfferCEntity_al.BidReason = Q_dt_getExamineMana.Rows[j * 8 + 7][i].ToString();
  646. }
  647. double ResWithTaxPrice = 0;
  648. double.TryParse(Q_dt_getExamineMana.Rows[j * 8 + 1][i].ToString(), out ResWithTaxPrice);
  649. M_TaskOfferCEntity_al.ResWithTaxPrice = Math.Round(ResWithTaxPrice, 6);//报价含税单价
  650. M_TaskOfferCEntity_al.ResWithoutTaxPrice = Math.Round(ResWithTaxPrice / 1.16, 6);//报价不含税单价
  651. double ResQty = 0;
  652. double.TryParse(Q_dt_getExamineMana.Rows[j * 8 + 2][i].ToString(), out ResQty);
  653. M_TaskOfferCEntity_al.ResQty = ResQty;//报价数量
  654. double ResWithTaxAmt = 0;
  655. double.TryParse(Q_dt_getExamineMana.Rows[j * 8 + 3][i].ToString(), out ResWithTaxAmt);
  656. M_TaskOfferCEntity_al.ResWithTaxAmt = Math.Round(ResWithTaxAmt, 2);//报价含税金额
  657. M_TaskOfferCEntity_al.ResWithoutTaxAmt = Math.Round(ResWithTaxAmt / 1.16, 2);//报价不含税金额
  658. DateTime ResDeliverDate;
  659. DateTime.TryParse(Q_dt_getExamineMana.Rows[j * 8 + 4][i].ToString(), out ResDeliverDate);
  660. M_TaskOfferCEntity_al.ResDeliverDate = ResDeliverDate;//报价日期
  661. M_TaskOfferCEntity_al.ResRemark = Q_dt_getExamineMana.Rows[j * 8 + 5][i].ToString();//报价备注
  662. al.Add(M_TaskOfferCEntity_al);
  663. }
  664. if (QsetEvaluationORsetPriceAll == "setEvaluation")//不是定标操作,不需要添加是否中标功能
  665. {
  666. //保存供应商是否中标和中标理由
  667. PurTaskSuppsEntity TaskSuppsEntity = new PurTaskSuppsEntity();
  668. //供应商ID
  669. for (int j = 0; j < dataTable3.Rows.Count; j++)
  670. {
  671. if (dataTable3.Rows[j]["SUPPCODE"].ToString() == Q_dt_getExamineMana.Columns[i].ColumnName)
  672. {
  673. TaskSuppsEntity.Id = dataTable3.Rows[j]["ID"].ToString();
  674. TaskSuppsEntity.IsBid = "0";
  675. string strBidReason = "";
  676. for (int k = 0; k < al.Count; k++)
  677. {
  678. if (dataTable3.Rows[j]["SUPPCODE"].ToString() == ((PurTaskOfferCEntity)al[k]).SuppCode)
  679. {
  680. if (((PurTaskOfferCEntity)al[k]).IsBid == "1")
  681. {
  682. TaskSuppsEntity.IsBid = "1";
  683. strBidReason += ((PurTaskOfferCEntity)al[k]).BidReason;//ultraGrid1.Rows[j + 1].Cells[i].Value.ToString() + "\n";
  684. }
  685. }
  686. }
  687. if (TaskSuppsEntity.IsBid == "1")
  688. {
  689. TaskSuppsEntity.BidReason = strBidReason;
  690. }
  691. TaskSuppsEntity.UpdateName = UserInfo.GetUserName();
  692. TaskSuppsEntity.UpdateUserid = UserInfo.GetUserID();
  693. al_supp.Add(TaskSuppsEntity);
  694. break;
  695. }
  696. }
  697. }
  698. }
  699. if (al.Count > 0)
  700. {
  701. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.TaskMService", "setPriceAll", new object[] { al, al_supp });
  702. if (crt.Resultcode != 0)
  703. {
  704. MessageUtil.ShowTips("提交失败 " + crt.Resultmsg);
  705. return;
  706. }
  707. MessageUtil.ShowTips("提交成功");
  708. this.Close();
  709. }
  710. }
  711. /// <summary>
  712. /// 给供应商添加两列,填写供应商是否中标,绑定grid
  713. /// </summary>
  714. private void AddGridRow_back_20160223(DataTable dt)
  715. {
  716. ultraGrid1.UpdateData();
  717. DataRow dr = dt.NewRow();
  718. dr[0] = "是否全部中标";
  719. dt.Rows.Add(dr);
  720. DataRow dr1 = dt.NewRow();
  721. dr1[0] = "全部中标理由";
  722. dt.Rows.Add(dr1);
  723. Q_dt_getExamineMana = dt;
  724. for (int i = 0; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)//是否中标单元格设置为复选框,改变第一列颜色
  725. {
  726. if (i > 0)
  727. {
  728. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
  729. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[i].Value = false;//设置初始值
  730. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[i].Column.CellMultiLine = Infragistics.Win.DefaultableBoolean.True;//设置中标理由单元格可换行
  731. }
  732. else
  733. {
  734. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  735. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[0].Appearance.BackColor = Color.YellowGreen;
  736. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[0].Appearance.ForeColor = Color.Black;
  737. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  738. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Appearance.BackColor = Color.YellowGreen;
  739. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Appearance.ForeColor = Color.Black;
  740. }
  741. }
  742. //ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Height = ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Height * 2;
  743. //设置填写日期单元格类型为日期类型
  744. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  745. {
  746. if (ultraGrid1.Rows[i].Cells[0].Value.ToString().IndexOf("交货日期") == 0)
  747. {
  748. for (int j = 1; j < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; j++)
  749. {
  750. ultraGrid1.Rows[i].Cells[j].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date;
  751. }
  752. }
  753. }
  754. }
  755. private void AddGridRow(DataTable dt)
  756. {
  757. ultraGrid1.UpdateData();
  758. DataRow dr = dt.NewRow();
  759. dr[0] = "是否中标";
  760. dt.Rows.Add(dr);
  761. DataRow dr1 = dt.NewRow();
  762. dr1[0] = "中标理由";
  763. dt.Rows.Add(dr1);
  764. Q_dt_getExamineMana = dt;
  765. for (int i = 0; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)//是否中标单元格设置为复选框,改变第一列颜色
  766. {
  767. if (i > 0)
  768. {
  769. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
  770. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[i].Value = false;//设置初始值
  771. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[i].Column.CellMultiLine = Infragistics.Win.DefaultableBoolean.True;//设置中标理由单元格可换行
  772. }
  773. else
  774. {
  775. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  776. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[0].Appearance.BackColor = Color.YellowGreen;
  777. ultraGrid1.Rows[ultraGrid1.Rows.Count - 2].Cells[0].Appearance.ForeColor = Color.Black;
  778. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
  779. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Appearance.BackColor = Color.YellowGreen;
  780. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells[0].Appearance.ForeColor = Color.Black;
  781. }
  782. }
  783. //ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Height = ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Height * 2;
  784. }
  785. /// <summary>
  786. /// 修改单元格值改变事件
  787. /// </summary>
  788. /// <param name="sender"></param>
  789. /// <param name="e"></param>
  790. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  791. {
  792. string str= e.Cell.Value.ToString().Trim();
  793. if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf("交货日期") != 0)//如果日期为空,则设置初始值
  794. {
  795. ultraGrid1.UpdateData();
  796. }
  797. if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf('单') == 0 || e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf('数') == 0 || e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf("是否中标") == 0)
  798. {
  799. double ResQty = 0;//数量
  800. double.TryParse(e.Cell.Value.ToString(), out ResQty);
  801. if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf('数') == 0 || e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf("是否中标") == 0)//判断输入的供应商报价数量之和不能>物料数量
  802. {
  803. //if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf('数') == 0)
  804. //{
  805. // double numAll = 0;//同一物料报价数量之和
  806. // for (int i = 1; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
  807. // {
  808. // if (QsetEvaluationORsetPriceAll == "setPriceAll" || bool.Parse(ultraGrid1.Rows[e.Cell.Row.Index + 4].Cells[i].Value.ToString()))
  809. // {
  810. // double num = 0;//数量
  811. // double.TryParse(ultraGrid1.Rows[e.Cell.Row.Index].Cells[i].Value.ToString(), out num);
  812. // numAll += num;
  813. // }
  814. // }
  815. // double matResQty = 0;//物料报价数量
  816. // string strMatResQty = e.Cell.Row.Cells["ITEM"].Value.ToString();
  817. // strMatResQty = strMatResQty.Substring(strMatResQty.IndexOf('(') + 1, strMatResQty.LastIndexOf(')') - strMatResQty.IndexOf('(') - 1);
  818. // double.TryParse(strMatResQty, out matResQty);
  819. // if (QsetEvaluationORsetPriceAll != "setPriceAll")
  820. // {
  821. // if (matResQty < numAll && )
  822. // {
  823. // MessageUtil.ShowTips("输入的中标供应商报价数量之和不能>物料数量");
  824. // e.Cell.Value = str;
  825. // return;
  826. // }
  827. // }
  828. //}
  829. //else if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf("是否中标") == 0)
  830. //{
  831. // double numAll = 0;//同一物料报价数量之和
  832. // for (int i = 1; i < ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
  833. // {
  834. // if (bool.Parse(ultraGrid1.Rows[e.Cell.Row.Index].Cells[i].Value.ToString()))
  835. // {
  836. // double num = 0;//数量
  837. // double.TryParse(ultraGrid1.Rows[e.Cell.Row.Index-4].Cells[i].Value.ToString(), out num);
  838. // numAll += num;
  839. // }
  840. // }
  841. // double matResQty = 0;//物料报价数量
  842. // string strMatResQty = ultraGrid1.Rows[e.Cell.Row.Index-4].Cells["ITEM"].Value.ToString();
  843. // strMatResQty = strMatResQty.Substring(strMatResQty.IndexOf('(') + 1, strMatResQty.LastIndexOf(')') - strMatResQty.IndexOf('(') - 1);
  844. // double.TryParse(strMatResQty, out matResQty);
  845. // if (matResQty < numAll)
  846. // {
  847. // if (bool.Parse(e.Cell.Value.ToString()))
  848. // {
  849. // MessageUtil.ShowTips("中标供应商报价数量之和不能>物料数量");
  850. // e.Cell.Value = bool.Parse(str);
  851. // }
  852. // }
  853. // return;
  854. //}
  855. }
  856. double ResWithTaxPrice = 0;//单价
  857. if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf('数') == 0)
  858. {
  859. double.TryParse(ultraGrid1.Rows[e.Cell.Row.Index - 1].Cells[e.Cell.Column.Key].Value.ToString(), out ResWithTaxPrice);
  860. ultraGrid1.Rows[e.Cell.Row.Index + 1].Cells[e.Cell.Column.Key].Value = ResWithTaxPrice * ResQty;//计算金额
  861. }
  862. else if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf('单') == 0)
  863. {
  864. double.TryParse(ultraGrid1.Rows[e.Cell.Row.Index + 1].Cells[e.Cell.Column.Key].Value.ToString(), out ResWithTaxPrice);
  865. ultraGrid1.Rows[e.Cell.Row.Index + 2].Cells[e.Cell.Column.Key].Value = ResWithTaxPrice * ResQty;//计算金额
  866. }
  867. //for (int i = e.Cell.Row.Index; i < ultraGrid1.Rows.Count; i++)
  868. //{
  869. // if (ultraGrid1.Rows[i].Cells["ITEM"].Value.ToString().IndexOf('数') == 0)
  870. // {
  871. // double.TryParse(ultraGrid1.Rows[i].Cells[e.Cell.Column.Key].Value.ToString(), out ResWithTaxPrice);//单价
  872. // }
  873. // if (ultraGrid1.Rows[i].Cells["ITEM"].Value.ToString().IndexOf('金') == 0)
  874. // {
  875. // ultraGrid1.Rows[i].Cells[e.Cell.Column.Key].Value = ResWithTaxPrice * ResQty;
  876. // break;
  877. // }
  878. //}
  879. }
  880. else if (e.Cell.Row.Cells["ITEM"].Value.ToString().IndexOf("是否全部中标") == 0) //全选中标按钮
  881. {
  882. foreach (UltraGridRow ugd in ultraGrid1.Rows)
  883. {
  884. if (ugd.Cells[e.Cell.Column.Key].Style.Equals(Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox))
  885. {
  886. ugd.Cells[e.Cell.Column.Key].Value = e.Cell.Value;
  887. }
  888. }
  889. }
  890. }
  891. }
  892. }