frm_PurTaskM.cs 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148
  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 CoreFS.CA06;
  11. using Pur.Entity;
  12. using System.Collections;
  13. using Pur.Entity.pur_planEntity;
  14. using Pur.Entity.configureEntity;
  15. using Core.Mes.Client.Comm.Tool;
  16. using com.hnshituo.pur.vo;
  17. using Infragistics.Win;
  18. using Core.Mes.Client.Comm.Server;
  19. using Pur.require_plan;
  20. using Infragistics.Win.UltraWinEditors;
  21. using Pur.Pop_upWindow;
  22. using Infragistics.Win.UltraWinGrid;
  23. using Pur.configure;
  24. using Infragistics.Win.UltraWinToolTip;
  25. namespace Pur.pur_plan
  26. {
  27. public partial class frm_PurTaskM : FrmPmsBase
  28. {
  29. string QstrREQ_ORG_NAME = "";
  30. string[] Qstr = null;
  31. DataTable Q_dtFLOW_TYPE = null;
  32. string strFUNCTION_VERSION_NO = "";//功能性招标方案
  33. public frm_PurTaskM(DataTable dt, string strREQ_ORG_NAME, string[] str, OpeBase ob)
  34. {
  35. InitializeComponent();
  36. this.ob = ob;
  37. Qstr = str;
  38. QstrREQ_ORG_NAME = strREQ_ORG_NAME;
  39. get_PurTaskM(dt);
  40. ultcmb_ELIVERY_TYPE.SelectedIndex = 0;
  41. ultraGrid3.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
  42. GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "PAYMENTCODE", "PACKAGETYPE", "PICKQTY", "BALANCEBASEPRICEM", "AskDeliverDate");
  43. GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[1], "bidwinqty", "bidwinwithtaxprice");
  44. ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  45. ultraGrid3.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  46. ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  47. getUltcmbBindData();
  48. //报价结束时间往后推迟两天
  49. ultDt_OFFER_TIME_END.Value = System.DateTime.Now.AddDays(4);
  50. }
  51. public void get_PurTaskM(DataTable dt)
  52. {
  53. GridHelper.CopyDataToDatatable(ref dt, ref dataTable5, true);//绑定物料分类表
  54. ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  55. }
  56. /// <summary>
  57. /// 按钮控件
  58. /// </summary>
  59. /// <param name="sender"></param>
  60. /// <param name="e"></param>
  61. private void barsManagerButon_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  62. {
  63. switch (e.Tool.Key.ToString())
  64. {
  65. case "SelectSupp":
  66. {
  67. SelectSupp();
  68. }
  69. break;
  70. //添加评标人员
  71. case "addEvaUsers":
  72. {
  73. AddEva();
  74. }
  75. break;
  76. //创建任务单
  77. case "getTaskList":
  78. {
  79. setTaskList();
  80. }
  81. break;
  82. case "ESC":
  83. {
  84. this.Close();
  85. }
  86. break;
  87. }
  88. }
  89. /// <summary>
  90. /// 选择供应商
  91. /// </summary>
  92. /// <param name="sender"></param>
  93. /// <param name="e"></param>
  94. private void SelectSupp()
  95. {
  96. if (dataTable5.Rows.Count < 1)
  97. {
  98. MessageUtil.ShowTips("物料为空,不能添加供应商");
  99. return;
  100. }
  101. ArrayList al = new ArrayList();
  102. for (int i = 0; i < dataTable5.Rows.Count; i++)
  103. {
  104. al.Add(dataTable5.Rows[i]["ITEMCODE"].ToString());
  105. }
  106. frmSuppChk frm = new frmSuppChk(this.ob, al, dataTable3);
  107. frm.ShowDialog();
  108. if (frm.Q_dt != null)
  109. {
  110. DataTable dt = frm.Q_dt;
  111. GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, false);
  112. }
  113. //供应商与物料相互绑定
  114. BindTaskCSupps();
  115. getBALANCE_BASEPRICE();
  116. GridHelper.RefreshAndAutoSize(ultraGrid3);
  117. }
  118. /// <summary>
  119. /// 绑定任务单行表的供应商
  120. /// </summary>
  121. private void BindTaskCSupps()
  122. {
  123. dataTable33.Clear();
  124. ArrayList al = new ArrayList();
  125. int itemCount = dataTable5.Rows.Count;
  126. for (int i = 0; i < itemCount; i++)
  127. {
  128. al.Add(dataTable5.Rows[i]["ITEMCODE"].ToString());
  129. }
  130. ArrayList al_supp = new ArrayList();
  131. foreach (DataRow dr in dataTable3.Rows)
  132. {
  133. al_supp.Add(dr["SUPPCODE"].ToString());
  134. dr["canCount"] = itemCount;
  135. }
  136. ArrayList als = new ArrayList();
  137. als.Add(al);
  138. als.Add(al_supp);
  139. DataTable dt_supp = new DataTable();
  140. if (al_supp.Count > 0)
  141. {
  142. dt_supp = this.execute<DataTable>("com.hnshituo.pur.configure.service.SuppGradeService", "get_SuppByMat", new object[] { als });
  143. }
  144. DataColumn dc = new DataColumn();
  145. dc.ColumnName = "ITEMUNIQUE";
  146. dt_supp.Columns.Add(dc);
  147. //如果存在相同物料但物料唯一码不同的情况,则复制一个供应商,设置供应商的物料唯一码不同
  148. DataTable dt_supp_clone = dt_supp.Clone();
  149. for (int i = 0; i < dataTable5.Rows.Count; i++)
  150. {
  151. for (int j = 0; j < dt_supp.Rows.Count; j++)
  152. {
  153. if (dataTable5.Rows[i]["ITEMCODE"].ToString() == dt_supp.Rows[j]["ITEMCODE"].ToString())
  154. {
  155. //加到物料供应商表
  156. //处理物料唯一码
  157. if (dt_supp.Rows[j]["ITEMUNIQUE"].ToString() != "")//copy一个供应商
  158. {
  159. DataRow dr_supp = dt_supp_clone.NewRow();
  160. dr_supp.ItemArray = dt_supp.Rows[j].ItemArray;
  161. dr_supp["ITEMUNIQUE"] = dataTable5.Rows[i]["ITEMUNIQUE"].ToString();
  162. dt_supp_clone.Rows.Add(dr_supp);
  163. }
  164. else
  165. {
  166. dt_supp.Rows[j]["ITEMUNIQUE"] = dataTable5.Rows[i]["ITEMUNIQUE"].ToString();
  167. }
  168. //加到供应商物料表
  169. DataRow dr_mat = dataTable33.NewRow();
  170. dr_mat["itemName"] = dataTable5.Rows[i]["ITEMNAME"].ToString();
  171. dr_mat["MRLINEID"] = dataTable5.Rows[i]["MRLINEID"].ToString();
  172. dr_mat["suppCode"] = dt_supp.Rows[j]["suppCode"];
  173. dataTable33.Rows.Add(dr_mat);
  174. }
  175. }
  176. }
  177. foreach (DataRow dr in dt_supp_clone.Rows)
  178. {
  179. dt_supp.Rows.Add(dr.ItemArray);
  180. }
  181. comm.delChildsNotExisPar(ref dt_supp, dataTable5);
  182. GridHelper.CopyDataToDatatable(ref dt_supp, ref dataTable8, true);
  183. foreach (UltraGridRow dr1 in ultraGrid3.Rows)
  184. {
  185. dr1.Cells["useCount"].Value = dr1.ChildBands[0].Rows.Count;
  186. }
  187. ultraGrid3.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  188. }
  189. /// <summary>
  190. /// 添加评标人员
  191. /// </summary>
  192. public void AddEva()
  193. {
  194. SetectManByDept frm = new SetectManByDept();
  195. frm.ShowDialog();
  196. //frmPopEvaUsers frm = new frmPopEvaUsers(this.ob, "");
  197. //frm.ShowDialog();
  198. //if (frm.dtEva != null)
  199. //{
  200. // DataTable dt = frm.dtEva;
  201. // for (int i = 0; i < dt.Rows.Count;)
  202. // {
  203. // if (dataTable9.Rows.Contains(dt.Rows[i]["ID"]))
  204. // {
  205. // dt.Rows.RemoveAt(i);
  206. // }
  207. // else
  208. // { i++; }
  209. // }
  210. // GridHelper.CopyDataToDatatable(ref dt, ref dataTable9, false);//绑定物料分类表
  211. //}
  212. }
  213. /// <summary>
  214. /// 选择招标流程单选按钮事件
  215. /// </summary>
  216. /// <param name="sender"></param>
  217. /// <param name="e"></param>
  218. private void rdb_FLOW_TYPE_CheckedChanged(object sender, EventArgs e)
  219. {
  220. if (ultcmb_FLOW_TYPE.Value != null)
  221. {
  222. //if (ultcmb_FLOW_TYPE.Value.ToString() == "1")
  223. //{
  224. foreach (DataRow dr in Q_dtFLOW_TYPE.Rows)
  225. {
  226. //ultraTextEditor1.Text = "报价->议标->评标";//"供应商报价后,评价小组议标、确定价及量,供应商修改报价及量,供应部确认最终成交价及量";
  227. if (dr["BASECODE"].ToString() == ultcmb_FLOW_TYPE.Value.ToString())
  228. {
  229. ultraTextEditor1.Text = dr["MEMO"].ToString();
  230. break;
  231. }
  232. }
  233. if (ultcmb_FLOW_TYPE.Value.ToString() == "122802")
  234. {
  235. ultraGrid2.DisplayLayout.Bands[1].Columns["bidwinwithtaxprice"].Hidden = false;
  236. ultraGrid2.DisplayLayout.Bands[1].Columns["bidwinqty"].Hidden = false;
  237. ultraGrid2.DisplayLayout.Bands[0].Columns["BALANCEBASEPRICEM"].Hidden = false;
  238. //ultraGrid2.DisplayLayout.Bands[1].Columns["isbid"].Hidden = false;
  239. }
  240. else
  241. {
  242. ultraGrid2.DisplayLayout.Bands[1].Columns["bidwinwithtaxprice"].Hidden = true;
  243. ultraGrid2.DisplayLayout.Bands[1].Columns["bidwinqty"].Hidden = true;
  244. ultraGrid2.DisplayLayout.Bands[0].Columns["BALANCEBASEPRICEM"].Hidden = true;
  245. //ultraGrid2.DisplayLayout.Bands[1].Columns["isbid"].Hidden = true;
  246. }
  247. //}
  248. //else if (ultcmb_FLOW_TYPE.Value.ToString() == "2")
  249. //{
  250. // ultraTextEditor1.Text = "议标(定价定量)->评标";//"供应部定价及量,供应商确认";
  251. //}
  252. //else if (ultcmb_FLOW_TYPE.Value.ToString() == "3")
  253. //{
  254. // ultraTextEditor1.Text = "报价->评标";//"供应商报价后,一旦开标,不得修改报价及量";
  255. //}
  256. //else if (ultcmb_FLOW_TYPE.Value.ToString() == "4")
  257. //{
  258. // ultraTextEditor1.Text = "报价->根据综合评分评标";//"供应商报价后,一旦开标,不得修改报价及量";
  259. //}
  260. }
  261. //this.ultraTextEditor2.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
  262. }
  263. /// <summary>
  264. /// 生成任务单
  265. /// </summary>
  266. /// <param name="sender"></param>
  267. /// <param name="e"></param>
  268. private void setTaskList()
  269. {
  270. if (CtrValidation())//验证
  271. {
  272. if (jy_negDate.Text == "")
  273. {
  274. MessageUtil.ShowTips("谈判日期不能为空!");
  275. jy_negDate.Focus();
  276. return;
  277. }
  278. if (ultraTextEditor2.Text.Trim() == "")
  279. {
  280. MessageUtil.ShowTips("成本分析不能为空!");
  281. return;
  282. }
  283. if (ultraTextEditor3.Text.Trim() == "")
  284. {
  285. MessageUtil.ShowTips("市场预测不能为空!");
  286. return;
  287. }
  288. if (ultraTextEditor4.Text.Trim() == "")
  289. {
  290. MessageUtil.ShowTips("物资使用情况不能为空!");
  291. return;
  292. }
  293. if (ultraTextEditor5.Text.Trim() == "")
  294. {
  295. MessageUtil.ShowTips("评价不能为空!");
  296. return;
  297. }
  298. string str = "";
  299. str += "成本分析:" + ultraTextEditor2.Text + "\n";
  300. str += "市场预测:" + ultraTextEditor3.Text + "\n";
  301. str += "物资使用情况:" + ultraTextEditor4.Text + "\n";
  302. str += "评价:" + ultraTextEditor5.Text + "\n";
  303. str += "其他须说明:" + ultraTextEditor6.Text;
  304. jy_procRecord.Text = str.Trim();
  305. if (ultraGrid4.Rows.Count <= 0)
  306. {
  307. MessageUtil.ShowTips("评标人员不能为空");
  308. return;
  309. }
  310. try
  311. {
  312. ultraGrid2.UpdateData();
  313. }
  314. catch(Exception e)
  315. {
  316. MessageUtil.ShowTips(e.Message);
  317. return;
  318. }
  319. ultraGrid3.UpdateData();
  320. ultraGrid4.UpdateData();
  321. //EntityPurPlanD mod_PurPlanD = new EntityPurPlanD();//采购计划,修改生成采购计划标志,1:未生成 2:已生成
  322. PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表
  323. //PurTaskCEntity mod_PurTaskC = new PurTaskCEntity();//采购任务跟踪表
  324. //PurTaskSuppsEntity mod_PurTaskSupps = new PurTaskSuppsEntity();//采购任务供应商
  325. ArrayList al_TaskOfferC = new ArrayList();//报价单
  326. ArrayList al_PurPlanD = new ArrayList();
  327. ArrayList al_PurTaskSupps = new ArrayList();
  328. ArrayList al_PurTaskC = new ArrayList();
  329. ArrayList al_Eva = new ArrayList();
  330. //生成采购任务主表
  331. string strTaskName = "TPCO-GY" + QstrREQ_ORG_NAME;
  332. //strTaskName = this.execute<string>("com.hnshituo.pur.utils.service.UtilsService", "getOddNumber", new object[] { "PUR_TASK_M", "TASK_ID", strTaskName, "3" });
  333. strTaskName = this.execute<string>("com.hnshituo.pur.utils.service.UtilsService", "getCodeId_yymm", new object[] { "PUR_TASK_M", "TASK_NAME", strTaskName, "3" });
  334. mod_PurTaskM.TaskName = strTaskName+"-" + txt_TASK_NAME.Text;//任务名称
  335. mod_PurTaskM.Validflag = "1";
  336. if (isExsitRow("com.hnshituo.pur.purplan.service.TaskMService", mod_PurTaskM) > 0)
  337. {
  338. MessageUtil.ShowTips("任务单名称已存在,请重新输入");
  339. return;
  340. }
  341. mod_PurTaskM.DeliveryCondition = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件
  342. mod_PurTaskM.DeliveryType = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式
  343. mod_PurTaskM.ReceiveType = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式
  344. mod_PurTaskM.Remark = txt_REMARK.Text;//备注
  345. mod_PurTaskM.FunctionVersionName = txt_FUNCTION_VERSION_NO.Text;
  346. mod_PurTaskM.FunctionVersionNo = strFUNCTION_VERSION_NO;
  347. string strMrId = ultraGrid2.Rows[0].Cells["MRLINEID"].Value.ToString();
  348. mod_PurTaskM.MrId = strMrId.Substring(0, strMrId.IndexOf('-'));
  349. if ((DateTime)(ultDt_OFFER_TIME_END.Value) <= System.DateTime.Now)
  350. {
  351. //mod_PurTaskM.Status = "1";//状态'1','未竞标','2','报价中','3','待开标','4','评标中','5','待供应商确认','6','待供应部确认','7','已确认','8','已关闭'
  352. MessageUtil.ShowTips("报价结束时间不能<=当前时间");
  353. return;
  354. }
  355. if ((DateTime)(ultDt_OFFER_TIME_END.Value) <= (DateTime)(ultDt_OFFER_TIME_START.Value))
  356. {
  357. MessageUtil.ShowTips("报价结束时间必须>=报价开始时间");
  358. return;
  359. }
  360. if (ultcmb_FLOW_TYPE.Value != null && ultcmb_FLOW_TYPE.Value.ToString() == "122802")
  361. {
  362. mod_PurTaskM.Status = "18";//状态'1','未竞标','2','报价中','3','待开标','4','评标中','5','待供应商确认','6','待供应部确认','7','已确认','8','已关闭'
  363. }
  364. else
  365. {
  366. mod_PurTaskM.Status = "18";//状态'1','未竞标','2','报价中','3','待开标','4','评标中','5','待供应商确认','6','待供应部确认','7','已确认','8','已关闭'
  367. }
  368. mod_PurTaskM.OfferTimeStart = DateTime.Parse(ultDt_OFFER_TIME_START.Value.ToString());
  369. mod_PurTaskM.OfferTimeEnd = DateTime.Parse(ultDt_OFFER_TIME_END.Value.ToString());
  370. mod_PurTaskM.FlowType = ultcmb_FLOW_TYPE.Value == null ? null : ultcmb_FLOW_TYPE.Value.ToString();
  371. //mod_PurTaskM.PickMode = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//报价类型
  372. mod_PurTaskM.CreateUserid = UserInfo.GetUserID();
  373. mod_PurTaskM.CreateName = UserInfo.GetUserName();
  374. mod_PurTaskM.CreateTime = System.DateTime.Now;
  375. mod_PurTaskM.BuyerUnitCode = UserInfo.GetDeptid();
  376. mod_PurTaskM.BuyerUnitDesc = UserInfo.GetDepartment();
  377. mod_PurTaskM.Validflag = "1";
  378. mod_PurTaskM.OperatorUserId = UserInfo.GetUserID();
  379. //mod_PurTaskM.PriceVersionNo = txt_BALANCE_BASEPRICE_M.Value==null?null:txt_BALANCE_BASEPRICE_M.Value.ToString();
  380. //插入任务单供应商
  381. string[] TaskSupps = new string[ultraGrid3.Rows.Count];
  382. if (ultraGrid3.Rows.Count < 1)
  383. {
  384. TaskSupps = new string[1];
  385. TaskSupps[0] = "--";
  386. }
  387. string[] TaskMats = new string[ultraGrid2.Rows.Count];
  388. PurTaskMatSuppEntity TaskMatSuppEntity = new PurTaskMatSuppEntity();
  389. //生成采购任务跟踪表和修改生成采购计划标志
  390. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  391. {
  392. EntityPurPlanD mod_PurPlanD = new EntityPurPlanD();//采购计划,修改生成采购计划标志,1:未生成 2:已生成
  393. mod_PurPlanD.FlagGeneratedPurPlan = "1";
  394. mod_PurPlanD.MrLineId = ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString();
  395. PurTaskCEntity mod_PurTaskC = new PurTaskCEntity();//采购任务行
  396. EntityPurPlanD mat_PurPlanD = this.execute<EntityPurPlanD>("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString() });
  397. mod_PurTaskC = EntityHelper.CopyEntity<PurTaskCEntity>(mat_PurPlanD);
  398. //mod_PurTaskC.PickQty = mat_PurPlanD.Qty;
  399. double bPickQty = 0;
  400. double.TryParse(ultraGrid2.Rows[i].Cells["PickQty"].Value.ToString(), out bPickQty);
  401. mod_PurTaskC.PickQty = bPickQty;//任务单数量
  402. mod_PurTaskC.QtyPur = bPickQty;//任务单原始数量
  403. mod_PurTaskC.PickAmt = bPickQty * (mod_PurTaskC.BugPrice == null ? 0 : mod_PurTaskC.BugPrice);
  404. if (ultraGrid2.Rows[i].Cells["BALANCEBASEPRICEM"].Value.ToString().Trim() == "")
  405. {
  406. if (ultraGrid2.Rows[i].Cells["BALANCEBASEPRICEM"].Column.Hidden == false)
  407. {
  408. //MessageUtil.ShowTips("物料名称【" + mod_PurTaskC.ItemName + "】,未选中价格政策");
  409. //return;
  410. }
  411. }
  412. mod_PurTaskC.PriceVersionNo = ultraGrid2.Rows[i].Cells["BALANCEBASEPRICEM"].Value.ToString();
  413. if (ultraGrid2.Rows[i].Cells["AskDeliverDate"].Value.ToString()=="")
  414. {
  415. MessageUtil.ShowTips("物料名称【" + mod_PurTaskC.ItemName + "】的交货日期不能为空");
  416. return;
  417. }
  418. mod_PurTaskC.AskDeliverDate = DateTime.Parse(ultraGrid2.Rows[i].Cells["AskDeliverDate"].Value.ToString());//mat_PurPlanD.AskDeliverDate;
  419. mod_PurTaskC.Remark = mat_PurPlanD.Remark;
  420. mod_PurTaskC.PackageType = ultraGrid2.Rows[i].Cells["PackageType"].Value.ToString();//包装方式
  421. mod_PurTaskC.PaymentCode = ultraGrid2.Rows[i].Cells["PaymentCode"].Value.ToString();//付款方式
  422. //mod_PurTaskC.TaskLineId = Guid.NewGuid().ToString();
  423. mod_PurTaskC.TaskId = mod_PurTaskM.TaskId;//任务编号
  424. mod_PurTaskC.MrLineId = ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString();//采购计划行号
  425. mod_PurTaskC.Validflag = "1";
  426. mod_PurTaskC.CreateName = UserInfo.GetUserName(); mod_PurTaskC.UpdateName = null;
  427. mod_PurTaskC.CreateTime = System.DateTime.Now; mod_PurTaskC.UpdateTime = null;
  428. TaskMats[i] = mod_PurTaskC.ItemCode;
  429. al_PurPlanD.Add(mod_PurPlanD);
  430. al_PurTaskC.Add(mod_PurTaskC);
  431. //---------------------------------------------------------------------------------------------------------网上询价,生成报价单
  432. if (ultcmb_FLOW_TYPE.Value.ToString() == "122802")
  433. {
  434. double? b_SumResQty = 0;
  435. for (int j = 0; j < ultraGrid2.Rows[i].ChildBands[0].Rows.Count; j++)
  436. {
  437. PurTaskOfferCEntity toc = setOfferC(mod_PurTaskC.MrLineId, ultraGrid2.Rows[i].ChildBands[0].Rows[j]);
  438. if (toc == null)
  439. { return; }
  440. b_SumResQty += toc.BidWinQty == null ? 0 : toc.BidWinQty;
  441. al_TaskOfferC.Add(toc);
  442. }
  443. if (b_SumResQty != mod_PurTaskC.PickQty)
  444. {
  445. MessageUtil.ShowTips("物料名称【" + mod_PurTaskC.ItemName + "】下供应商定价的总数【" + b_SumResQty + "】必须=任务单招标数量【" + mod_PurTaskC.PickQty+"】");
  446. return;
  447. }
  448. }
  449. }
  450. TaskMatSuppEntity.TaskMats = TaskMats;
  451. // 采购任务供应商
  452. for (int i = 0; i < ultraGrid3.Rows.Count; i++)
  453. {
  454. PurTaskSuppsEntity mod_PurTaskSupps = new PurTaskSuppsEntity();//采购任务供应商
  455. mod_PurTaskSupps.Id = Guid.NewGuid().ToString();
  456. mod_PurTaskSupps.TaskId = mod_PurTaskM.TaskId;
  457. mod_PurTaskSupps.SuppCode = ultraGrid3.Rows[i].Cells["SUPPCODE"].Value.ToString();
  458. mod_PurTaskSupps.SuppName = ultraGrid3.Rows[i].Cells["SUPPNAME"].Value.ToString();
  459. if (ultraGrid3.Rows[i].Cells["isbid"].Value.ToString() == "1")
  460. {
  461. mod_PurTaskSupps.IsBid = "1";
  462. }
  463. else
  464. {
  465. if (ultcmb_FLOW_TYPE.Value.ToString() == "122802")
  466. {
  467. mod_PurTaskSupps.IsBid = "1";
  468. }
  469. else
  470. {
  471. mod_PurTaskSupps.IsBid = "0";
  472. }
  473. }
  474. mod_PurTaskSupps.Validflag = "1";
  475. mod_PurTaskSupps.CreateName = UserInfo.GetUserName();
  476. mod_PurTaskSupps.CreateTime = System.DateTime.Now;
  477. mod_PurTaskSupps.CreateUserid = UserInfo.GetUserID();
  478. TaskSupps[i] = mod_PurTaskSupps.SuppCode;
  479. al_PurTaskSupps.Add(mod_PurTaskSupps);
  480. }
  481. TaskMatSuppEntity.TaskId = mod_PurTaskM.TaskId;
  482. TaskMatSuppEntity.Validflag = "1";
  483. TaskMatSuppEntity.CreateName = UserInfo.GetUserName();
  484. TaskMatSuppEntity.CreateUserid = UserInfo.GetUserID();
  485. TaskMatSuppEntity.TaskSupps = TaskSupps;
  486. // 采购任务评标人员
  487. foreach (UltraGridRow ugr in ultraGrid4.Rows)
  488. {
  489. PurTaskEvaUsersEntity TaskEvaUsersEntity = new PurTaskEvaUsersEntity();
  490. TaskEvaUsersEntity.Validflag = "1";
  491. TaskEvaUsersEntity.TaskId = mod_PurTaskM.TaskId;
  492. TaskEvaUsersEntity.CreateName = UserInfo.GetUserName();
  493. TaskEvaUsersEntity.CreateUserId = UserInfo.GetUserID();
  494. TaskEvaUsersEntity.CreateTime = System.DateTime.Now;
  495. if (ugr.Cells["EVAROLEID"].Value.ToString().Trim() != "")
  496. {
  497. TaskEvaUsersEntity.EvaRoleId = ugr.Cells["EVAROLEID"].Value.ToString();//角色Id
  498. }
  499. if (ugr.Cells["EVAROLENAME"].Value.ToString().Trim() != "")
  500. {
  501. TaskEvaUsersEntity.EvaRoleName = ugr.Cells["EVAROLENAME"].Value.ToString();//角色名称
  502. }
  503. if (ugr.Cells["EVAUSERID"].Value.ToString().Trim() != "")
  504. {
  505. TaskEvaUsersEntity.EvaUserid = ugr.Cells["EVAUSERID"].Value.ToString();//用户Id
  506. }
  507. if (ugr.Cells["EVAUSERNAME"].Value.ToString().Trim() != "")
  508. {
  509. TaskEvaUsersEntity.EvaUsername = ugr.Cells["EVAUSERNAME"].Value.ToString();//用户名称
  510. }
  511. if (ugr.Cells["EVAORGID"].Value.ToString().Trim() != "")
  512. {
  513. TaskEvaUsersEntity.EvaOrgId = ugr.Cells["EVAORGID"].Value.ToString();//科室Id
  514. }
  515. if (ugr.Cells["EVAORGNAME"].Value.ToString().Trim() != "")
  516. {
  517. TaskEvaUsersEntity.EvaOrgName = ugr.Cells["EVAORGNAME"].Value.ToString();//科室名称
  518. }
  519. al_Eva.Add(TaskEvaUsersEntity);
  520. }
  521. //采购纪要
  522. PurTaskRecordEntity TkR = new PurTaskRecordEntity();
  523. TkR.Validflag = "1";
  524. TkR.Status = "2";
  525. TkR.CreateName = UserInfo.GetUserName();
  526. TkR.CreateTime = DateTime.Now;
  527. TkR.CreateUserid = UserInfo.GetUserID();
  528. TkR.BuyerUserid = UserInfo.GetUserID();
  529. TkR.BuyerUsername = UserInfo.GetUserName();
  530. TkR.MngOrgId = UserInfo.GetDeptid();
  531. TkR.MngOrgName = UserInfo.GetDepartment();
  532. TkR.NegDate = Convert.ToDateTime(jy_negDate.Value);
  533. TkR.TaskName = mod_PurTaskM.TaskName;
  534. TkR.ProcRecord = jy_procRecord.Text.Trim();
  535. TkR.Type = jy_type.Value.ToString().Trim();
  536. if (MessageUtil.ShowYesNoAndQuestion("确定生成任务单?")==DialogResult.No)
  537. {
  538. return;
  539. }
  540. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.TaskMService", "setTaskList", new object[] { mod_PurTaskM, al_PurTaskC, al_PurTaskSupps, al_PurPlanD, al_Eva, TkR, TaskMatSuppEntity, al_TaskOfferC });
  541. if (crt.Resultcode != 0)
  542. {
  543. MessageUtil.ShowTips("生成失败 " + crt.Resultmsg);
  544. return;
  545. }
  546. MessageUtil.ShowTips("生成成功!任务名称:" + mod_PurTaskM.TaskName);
  547. this.Close();
  548. }
  549. }
  550. /// <summary>
  551. /// 生成报加单
  552. /// </summary>
  553. private PurTaskOfferCEntity setOfferC(string strMRLINEID, UltraGridRow ugr)
  554. {
  555. PurTaskOfferCEntity M_TaskOfferCEntity_al = new PurTaskOfferCEntity();
  556. EntityPurPlanD mat_PurPlanD = this.execute<EntityPurPlanD>("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { strMRLINEID });
  557. if (mat_PurPlanD != null)
  558. {
  559. M_TaskOfferCEntity_al = EntityHelper.CopyEntity<PurTaskOfferCEntity>(mat_PurPlanD);
  560. }
  561. //M_TaskOfferCEntity_al.ItemCode = ugr.Cells["ITEMCODE"].Value.ToString();//物料编码
  562. //M_TaskOfferCEntity_al.ItemAttr = ugr.Cells["ITEMATTR"].Value.ToString();//物料属性
  563. //M_TaskOfferCEntity_al.ItemUom = ugr.Cells["ItemUom"].Value.ToString();//物料单位
  564. //M_TaskOfferCEntity_al.ItemUnique = ugr.Cells["ITEMUNIQUE"].Value.ToString();//物料唯一值
  565. M_TaskOfferCEntity_al.SuppCode = ugr.Cells["SUPPCODE"].Value.ToString();//供应商代码
  566. //M_TaskOfferCEntity_al.Qty = mat_PurPlanD.PickQty;//招标数量;改为后台传值
  567. M_TaskOfferCEntity_al.SuppName = ugr.Cells["SUPPNAME"].Value.ToString();//供应商代码
  568. //M_TaskOfferCEntity_al.TaskId = mat_PurPlanD.TaskId;//任务单Id ;改为后台传值
  569. M_TaskOfferCEntity_al.TaxRateName = "13%";//税率
  570. M_TaskOfferCEntity_al.Validflag = "1";
  571. //if (Boolean.Parse(ugr.Cells["isbid"].Value.ToString()))
  572. //{
  573. M_TaskOfferCEntity_al.IsBid = "1";//中标
  574. double ResQty1 = 0;
  575. double.TryParse(ugr.Cells["bidwinqty"].Value.ToString(), out ResQty1);
  576. M_TaskOfferCEntity_al.BidWinQty = ResQty1;//定标数量
  577. //b_SumResQty += ResQty1;//累加同一物料下的定标数量
  578. if (ResQty1 <= 0)
  579. {
  580. MessageUtil.ShowTips(M_TaskOfferCEntity_al.SuppName + "对物料【" + M_TaskOfferCEntity_al.ItemName + "】的询价数量必须>0");
  581. return null;
  582. }
  583. double ResWithTaxPrice1 = 0;
  584. double.TryParse(ugr.Cells["bidwinwithtaxprice"].Value.ToString(), out ResWithTaxPrice1);
  585. if (ResWithTaxPrice1 <= 0)
  586. {
  587. MessageUtil.ShowTips(M_TaskOfferCEntity_al.SuppName + "对物料【" + M_TaskOfferCEntity_al.ItemName + "】的询价单价必须>0");
  588. return null;
  589. }
  590. M_TaskOfferCEntity_al.BidWinWithTaxPrice = Math.Round(ResWithTaxPrice1, 2);//定标含税单价
  591. M_TaskOfferCEntity_al.BidWinWithoutTaxPrice = Math.Round(ResWithTaxPrice1 / 1.13, 2);//定标不含税单价
  592. M_TaskOfferCEntity_al.ResWithTaxPrice = M_TaskOfferCEntity_al.BidWinWithTaxPrice;
  593. M_TaskOfferCEntity_al.ResWithoutTaxPrice = M_TaskOfferCEntity_al.BidWinWithoutTaxPrice;
  594. M_TaskOfferCEntity_al.ResQty = M_TaskOfferCEntity_al.BidWinQty;
  595. //-----------------------------------------------供应商中标
  596. //for (int i = 0; i < ultraGrid3.Rows.Count; i++)
  597. //{
  598. //if (ultraGrid3.Rows[i].Cells["SUPPCODE"].Value.ToString() == ugr.Cells["SUPPCODE"].Value.ToString())
  599. //{
  600. //ultraGrid3.Rows[i].Cells["isbid"].Value = "1";
  601. //break;
  602. //}
  603. //}
  604. //}
  605. //else
  606. //{
  607. //M_TaskOfferCEntity_al.IsBid = "0";
  608. //}
  609. M_TaskOfferCEntity_al.ResDeliverDate = System.DateTime.Now;//报价日期
  610. M_TaskOfferCEntity_al.CreateName = UserInfo.GetUserName();
  611. M_TaskOfferCEntity_al.CreateUserid = UserInfo.GetUserID();
  612. M_TaskOfferCEntity_al.UpdateName = UserInfo.GetUserName();
  613. M_TaskOfferCEntity_al.UpdateUserid = UserInfo.GetUserID();
  614. return M_TaskOfferCEntity_al;
  615. }
  616. /// <summary>
  617. /// 移除供应商
  618. /// </summary>
  619. /// <param name="sender"></param>
  620. /// <param name="e"></param>
  621. private void ultraGrid3_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  622. {
  623. dataTable3.Rows.RemoveAt(ultraGrid3.ActiveRow.Index);
  624. BindTaskCSupps();
  625. //MessageUtil.ShowTips("删除成功");
  626. }
  627. /// <summary>
  628. /// 删除评标人员
  629. /// </summary>
  630. /// <param name="sender"></param>
  631. /// <param name="e"></param>
  632. private void ultraGrid4_ClickCellButton(object sender, CellEventArgs e)
  633. {
  634. dataTable9.Rows.RemoveAt(e.Cell.Row.Index);
  635. MessageUtil.ShowTips("删除成功");
  636. }
  637. /// <summary>
  638. /// 选中激活行
  639. /// </summary>
  640. /// <param name="sender"></param>
  641. /// <param name="e"></param>
  642. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  643. {
  644. }
  645. /// <summary>
  646. /// 非空验证
  647. /// </summary>
  648. private bool CtrValidation()
  649. {
  650. foreach (Control ctr in ultraGroupBox5.Controls)
  651. {
  652. if (string.IsNullOrEmpty(ctr.Text))
  653. {
  654. foreach (Control ctr_lb in ultraGroupBox5.Controls)
  655. {
  656. if (ctr_lb is Label && ctr_lb.Name.Contains(ctr.Name))
  657. {
  658. MessageUtil.ShowTips(ctr_lb.Text + "不能为空");
  659. return false;
  660. }
  661. }
  662. }
  663. }
  664. //验证每个物料都要选相应的供应商
  665. foreach (UltraGridRow ugr in ultraGrid2.Rows)
  666. {
  667. if (!ugr.HasChild())
  668. {
  669. //if (MessageUtil.ShowYesNoAndQuestion("物料【" + ugr.Cells["ITEMCODE"].Value.ToString() + "】没有添加供应商,确定要生成任务单?").Equals(DialogResult.No))
  670. //{
  671. MessageUtil.ShowTips("物料【" + ugr.Cells["ITEMNAME"].Value.ToString() + "】没有添加供应商,不能生成任务单");
  672. return false;
  673. //}
  674. }
  675. }
  676. return true;
  677. }
  678. private void ultraGroupBox5_Click(object sender, EventArgs e)
  679. {
  680. }
  681. /// <summary>
  682. /// 绑定下拉列表的数据
  683. /// </summary>
  684. /// <param name="dt"></param>
  685. /// <summary>
  686. private void getUltcmbBindData()
  687. {
  688. //接收方式
  689. DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1101" }, this.ob);
  690. removeNotValiflagData(dt);
  691. getUltcmbBindValueList(dt, cmb_RECEIVE_TYPE);
  692. //运输条件
  693. DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1105" }, this.ob);
  694. removeNotValiflagData(dt1);
  695. getUltcmbBindValueList(dt1, cmb_DELIVERY_CONDITION);
  696. //运输方式
  697. DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1102" }, this.ob);
  698. removeNotValiflagData(dt2);
  699. getUltcmbBindValueList(dt2, ultcmb_ELIVERY_TYPE);
  700. //付款方式
  701. DataTable dt3 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1104" }, this.ob);
  702. removeNotValiflagData(dt3);
  703. getUltcmbBindValueList(dt3, cmb_PAYMENT_CODE);
  704. ultraGrid2.DisplayLayout.Bands[0].Columns["PAYMENTCODE"].EditorComponent = cmb_PAYMENT_CODE;
  705. //包装方式
  706. DataTable dt4 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1107" }, this.ob);
  707. removeNotValiflagData(dt4);
  708. getUltcmbBindValueList(dt4, cmb_PACKAGE_TYPE);
  709. ultraGrid2.DisplayLayout.Bands[0].Columns["PACKAGETYPE"].EditorComponent = cmb_PACKAGE_TYPE;
  710. //招标流程
  711. DataTable dt5 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1228" }, this.ob);
  712. removeNotValiflagData(dt5);
  713. getUltcmbBindValueList(dt5, ultcmb_FLOW_TYPE);
  714. Q_dtFLOW_TYPE = dt5;
  715. //价格政策
  716. BalanceBasepriceM pm = new BalanceBasepriceM();
  717. DataTable dt6 = this.execute<DataTable>("com.hnshituo.pur.balance.service.BalanceBasepriceMService", "doQureyBasePriceM", new object[] { pm,0,0 });
  718. comm.setUltraComboEditorBind(txt_BALANCE_BASEPRICE_M, dt6, "NAME", "ID");
  719. //ultraGrid2.DisplayLayout.Bands[0].Columns["BALANCEBASEPRICEM"].EditorComponent = txt_BALANCE_BASEPRICE_M;
  720. txt_BALANCE_BASEPRICE_M.DropDownStyle = DropDownStyle.DropDownList;
  721. ultraGrid2.DisplayLayout.Bands[0].Columns["BALANCEBASEPRICEM"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  722. cmb_DELIVERY_CONDITION.Value = Qstr[0];//运输条件
  723. ultcmb_ELIVERY_TYPE.Value = Qstr[1];//运输方式
  724. cmb_RECEIVE_TYPE.Value = Qstr[2];//接收方式
  725. }
  726. /// <summary>
  727. /// 移除无效数据
  728. /// </summary>
  729. /// <param name="dt"></param>
  730. private void removeNotValiflagData(DataTable dt)
  731. {
  732. for (int i = 0; i < dt.Rows.Count; )
  733. {
  734. if (dt.Rows[i]["VALIDFLAG"].ToString() == "0")
  735. {
  736. dt.Rows.RemoveAt(i);
  737. }
  738. else
  739. {
  740. i++;
  741. }
  742. }
  743. }
  744. /// <summary>
  745. /// 绑定所有的下拉列表的数据
  746. /// </summary>
  747. private void getUltcmbBindValueList(DataTable dt, UltraComboEditor ultcmb)
  748. {
  749. for (int i = 0; i < dt.Rows.Count; i++)
  750. {
  751. ValueListItem vlItem = new ValueListItem(dt.Rows[i]["BASECODE"].ToString().Trim(), dt.Rows[i]["BASENAME"].ToString().Trim());
  752. ultcmb.Items.Add(vlItem);
  753. }
  754. }
  755. /// <summary>
  756. /// 修改生成任务单数量限制
  757. /// </summary>
  758. /// <param name="sender"></param>
  759. /// <param name="e"></param>
  760. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  761. {
  762. object o = e.Cell.Value;
  763. UltraGridRow ugr = e.Cell.Row;
  764. if (e.Cell.Column.Key == "PICKQTY")
  765. {
  766. ultraGrid2.UpdateData();
  767. double bOldPickQty = 0;
  768. double.TryParse(e.Cell.Row.Cells["PickQty"].Value.ToString(), out bOldPickQty);//输入的任务单数量
  769. ultraGrid2.UpdateData();
  770. double bPickQty = 0;
  771. double.TryParse(e.Cell.Row.Cells["PickQty"].Value.ToString(), out bPickQty);//输入的任务单数量
  772. double bTaskQty = 0;
  773. double.TryParse(e.Cell.Row.Cells["TaskQty"].Value.ToString(), out bTaskQty);//已生成任务单数量
  774. double bQty = 0;
  775. double.TryParse(e.Cell.Row.Cells["Qty"].Value.ToString(), out bQty);//采购数量
  776. double breleaseqty1 = double.Parse(e.Cell.Row.Cells["releaseqty1"].Value.ToString());//非预采脱单
  777. double breleaseqty3 = double.Parse(e.Cell.Row.Cells["releaseqty3"].Value.ToString());//挂单
  778. if (bPickQty + bTaskQty + breleaseqty3 - breleaseqty1 > bQty)
  779. {
  780. MessageUtil.ShowTips("“已生成任务单”+“本次任务单数量”+“挂单”-“非预采脱单”数量不能>“采购计划数量”,请重新填写!");
  781. e.Cell.Row.Cells["PickQty"].Value = o;
  782. }
  783. //if (bPickQty > bQty - bTaskQty)
  784. //{
  785. // MessageUtil.ShowTips("填写的生成任务单数量不能>" + (bQty - bTaskQty) + "【采购数量(" + bQty + ")-已生成任务单数量(" + bTaskQty + ")】");
  786. // e.Cell.Row.Cells["PickQty"].Value = o;
  787. //}
  788. }
  789. if (e.Cell.Column.Key == "BALANCEBASEPRICEM")
  790. {
  791. ultraGrid2.UpdateData();
  792. BalanceBasepriceC pc = new BalanceBasepriceC();
  793. pc.StandId = e.Cell.Value.ToString();
  794. pc.GradeLevel = "中型废钢";
  795. pc.Validflag = "1";
  796. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.balance.service.BalanceBasepriceCService", "doQureyBasePriceC", new object[] { pc });
  797. //for (int i = 0; i < dataTable8.Rows.Count; i++)
  798. //{
  799. if (dt.Rows.Count < 1)
  800. {
  801. //dataTable8.Rows[i]["bidwinwithtaxprice"] = 0;
  802. foreach(UltraGridRow ugr1 in ugr.ChildBands[0].Rows)
  803. {
  804. ugr1.Cells["bidwinwithtaxprice"].Value = 0;
  805. }
  806. }
  807. else
  808. {
  809. //dataTable8.Rows[i]["bidwinwithtaxprice"] = dt.Rows[0]["PRICEVAL"].ToString();
  810. //ugr.Cells["bidwinwithtaxprice"].Value = dt.Rows[0]["PRICEVAL"].ToString();
  811. foreach (UltraGridRow ugr1 in ugr.ChildBands[0].Rows)
  812. {
  813. ugr1.Cells["bidwinwithtaxprice"].Value = dt.Rows[0]["PRICEVAL"].ToString();
  814. }
  815. }
  816. //}
  817. if (dt.Rows.Count < 1)
  818. {
  819. MessageUtil.ShowTips("未找到价格政策【" + e.Cell.Text + "】的中型废钢价格");
  820. return;
  821. }
  822. }
  823. }
  824. /// <summary>
  825. /// 初始化加载窗体
  826. /// </summary>
  827. /// <param name="sender"></param>
  828. /// <param name="e"></param>
  829. private void frm_PurTaskM_Load(object sender, EventArgs e)
  830. {
  831. //加载当前科室的评标人员
  832. //PurTaskEvaUsersEntity TaskEvaUsersEntity = new PurTaskEvaUsersEntity();
  833. //TaskEvaUsersEntity.EvaOrgId = this.UserInfo.GetDeptid();
  834. //TaskEvaUsersEntity.Validflag = "1";
  835. //DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.ConfEvaUserService", "find", new object[] { TaskEvaUsersEntity, 0, 0 });
  836. //GridHelper.CopyDataToDatatable(ref dt, ref dataTable9, true);
  837. string strTaskName = "TPCO-GY" + QstrREQ_ORG_NAME;
  838. strTaskName = this.execute<string>("com.hnshituo.pur.utils.service.UtilsService", "getCodeId_yymm", new object[] { "PUR_TASK_M", "TASK_NAME", strTaskName, "3" });
  839. //strTaskName = this.execute<string>("com.hnshituo.pur.utils.service.UtilsService", "getOddNumber", new object[] { "PUR_TASK_M", "TASK_ID", strTaskName, "3" });
  840. txt_TASK_NAME1.Text = strTaskName+"-";
  841. //评标人员角色
  842. DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1224" }, this.ob);
  843. dt1.DefaultView.RowFilter = "Validflag='1'";
  844. dt1 = dt1.DefaultView.ToTable();
  845. cmb_EVA_ROLE_NAME.DataSource = dt1;
  846. cmb_EVA_ROLE_NAME.DisplayMember = "BASENAME";
  847. cmb_EVA_ROLE_NAME.ValueMember = "BASECODE";
  848. jy_type.SelectedIndex = 0;
  849. //隐藏询价信息
  850. ultraGrid2.DisplayLayout.Bands[1].Columns["bidwinwithtaxprice"].Hidden = true;
  851. ultraGrid2.DisplayLayout.Bands[1].Columns["bidwinqty"].Hidden = true;
  852. ultraGrid2.DisplayLayout.Bands[0].Columns["BALANCEBASEPRICEM"].Hidden = true;
  853. //ultraGrid2.DisplayLayout.Bands[1].Columns["isbid"].Hidden = true;
  854. //jy_negDate.Width = ultraPanel21.Width;
  855. //ultraTextEditor2.Width = ultraPanel21.Width;
  856. //ultraTextEditor4.Width = ultraPanel21.Width;
  857. //this.Width = 1250;// ultraExpandableGroupBox1.Width + ultraGroupBox6.Width + 50;
  858. //this.ultraTextEditor2.Width = ultraTextEditor2.Width - 200;
  859. //this.ultraTextEditor2.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
  860. //this.ultraTextEditor3.Width = ultraGroupBox6.Width - 200;
  861. //this.ultraTextEditor4.Width = ultraGroupBox6.Width - 200;
  862. //this.ultraTextEditor5.Width = ultraGroupBox6.Width - 200;
  863. //this.ultraTextEditor6.Width = ultraGroupBox6.Width - 200;
  864. ultraGrid2.DisplayLayout.Bands[0].Columns["askdeliverdate"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date;
  865. }
  866. /// <summary>
  867. /// 添加评标人员
  868. /// </summary>
  869. /// <param name="sender"></param>
  870. /// <param name="e"></param>
  871. private void ultraButton1_Click(object sender, EventArgs e)
  872. {
  873. if (string.IsNullOrEmpty(txt_EVA_ORG_ID.Text))
  874. {
  875. MessageUtil.ShowTips("请选择人员");
  876. return;
  877. }
  878. if (string.IsNullOrEmpty(cmb_EVA_ROLE_NAME.Text))
  879. {
  880. MessageUtil.ShowTips("请选择角色");
  881. return;
  882. }
  883. if (dataTable9.Rows.Contains(txt_EVA_USERID.Text))
  884. {
  885. MessageUtil.ShowTips("已经存在同一个人员,不要重复添加");
  886. return;
  887. }
  888. else
  889. {
  890. DataRow dr = dataTable9.NewRow();
  891. dr["EVAORGID"] = txt_EVA_ORG_ID.Text;
  892. dr["EVAORGNAME"] = txt_EVA_ORG_NAME.Text;
  893. dr["EVAUSERID"] = txt_EVA_USERID.Text;
  894. dr["EVAUSERNAME"] = txt_EVA_USERNAME.Text;
  895. dr["EVAROLEID"] = cmb_EVA_ROLE_NAME.Value;
  896. dr["EVAROLENAME"] = cmb_EVA_ROLE_NAME.Text;
  897. dataTable9.Rows.Add(dr);
  898. MessageUtil.ShowTips("添加成功!");
  899. //清空控件
  900. txt_EVA_ORG_ID.Text = null;
  901. txt_EVA_ORG_NAME.Text = null;
  902. txt_EVA_USERID.Text = null;
  903. txt_EVA_USERNAME.Text = null;
  904. cmb_EVA_ROLE_NAME.Value = null;
  905. }
  906. ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  907. }
  908. /// <summary>
  909. /// 选择评标人员
  910. /// </summary>
  911. /// <param name="sender"></param>
  912. /// <param name="e"></param>
  913. private void txt_EVA_USERNAME_EditorButtonClick(object sender, EditorButtonEventArgs e)
  914. {
  915. SetectManByDept frm = new SetectManByDept(this.ob, this.UserInfo.GetDeptid());
  916. frm.ShowDialog();
  917. txt_EVA_ORG_ID.Text = frm.StrDeptId;
  918. txt_EVA_ORG_NAME.Text = frm.StrDeptName;
  919. txt_EVA_USERID.Text = frm.StrUserID;
  920. txt_EVA_USERNAME.Text = frm.StrUserName;
  921. }
  922. /// <summary>
  923. /// 鼠标移入显示评标详细信息
  924. /// </summary>
  925. /// <param name="sender"></param>
  926. /// <param name="e"></param>
  927. private void ultraLabel1_MouseEnter(object sender, EventArgs e)
  928. {
  929. UltraToolTipInfo utti = new UltraToolTipInfo(ultraTextEditor1.Text, ToolTipImage.Info, "招标流程说明:", DefaultableBoolean.True);
  930. ultraToolTipManager1.SetUltraToolTip(ultraLabel1, utti);
  931. ultraToolTipManager1.AutoPopDelay = 10000;
  932. }
  933. /// <summary>
  934. /// 添加评标人员分组
  935. /// </summary>
  936. /// <param name="sender"></param>
  937. /// <param name="e"></param>
  938. private void btnSelEvaGroup_Click(object sender, EventArgs e)
  939. {
  940. frmPopSelEvaGroup frm = new frmPopSelEvaGroup(this.ob);
  941. frm.ShowDialog();
  942. if (frm.dtEvaGroup != null)
  943. {
  944. DataTable dt = frm.dtEvaGroup;
  945. //移除目标表中没有的列
  946. for (int i = 0; i < dt.Columns.Count; )
  947. {
  948. if (!dataTable9.Columns.Contains(dt.Columns[i].ColumnName))
  949. {
  950. dt.Columns.RemoveAt(i);
  951. }
  952. else
  953. {
  954. i++;
  955. }
  956. }
  957. //添加评标人员
  958. foreach (DataRow dr in dt.Rows)
  959. {
  960. if (!dataTable9.Rows.Contains(dr["EVAUSERID"]))
  961. {
  962. dataTable9.Rows.Add(dr.ItemArray);
  963. }
  964. }
  965. }
  966. ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  967. }
  968. /// <summary>
  969. /// 判断数据库中是否存在相同记录
  970. /// </summary>
  971. /// <param name="strJavaPackName"></param>
  972. /// <param name="o"></param>
  973. /// <returns>true存在</returns>
  974. public int isExsitRow(string strJavaPackName, object o)
  975. {
  976. DataTable dt = this.execute<DataTable>(strJavaPackName, "find", new object[] { o, 0, 0 });
  977. if (dt != null && dt.Rows.Count > 0)//存在相同的行
  978. {
  979. return dt.Rows.Count;
  980. }
  981. return 0;
  982. }
  983. /// <summary>
  984. /// 批量修改支付方式
  985. /// </summary>
  986. /// <param name="sender"></param>
  987. /// <param name="e"></param>
  988. private void cmb_PAYMENT_CODE_ValueChanged(object sender, EventArgs e)
  989. {
  990. foreach (UltraGridRow ugr in ultraGrid2.Rows)
  991. {
  992. ugr.Cells["PAYMENTCODE"].Value = cmb_PAYMENT_CODE.Value;
  993. }
  994. }
  995. /// <summary>
  996. /// 批量修改包装方式
  997. /// </summary>
  998. /// <param name="sender"></param>
  999. /// <param name="e"></param>
  1000. private void cmb_PACKAGE_TYPE_ValueChanged(object sender, EventArgs e)
  1001. {
  1002. foreach (UltraGridRow ugr in ultraGrid2.Rows)
  1003. {
  1004. ugr.Cells["PACKAGETYPE"].Value = cmb_PACKAGE_TYPE.Value;
  1005. }
  1006. }
  1007. /// <summary>
  1008. /// 招标流程
  1009. /// </summary>
  1010. /// <param name="sender"></param>
  1011. /// <param name="e"></param>
  1012. private void cmb_DELIVERY_CONDITION_ValueChanged(object sender, EventArgs e)
  1013. {
  1014. }
  1015. private void frm_PurTaskM_Click(object sender, EventArgs e)
  1016. {
  1017. }
  1018. /// <summary>
  1019. /// 选择价格政策
  1020. /// </summary>
  1021. /// <param name="sender"></param>
  1022. /// <param name="e"></param>
  1023. private void txt_BALANCE_BASEPRICE_M_ValueChanged(object sender, EventArgs e)
  1024. {
  1025. getBALANCE_BASEPRICE();
  1026. }
  1027. /// <summary>
  1028. /// 根据选择的价格政策,填充供应商价格
  1029. /// </summary>
  1030. private void getBALANCE_BASEPRICE()
  1031. {
  1032. if (txt_BALANCE_BASEPRICE_M.Value != null && ultcmb_FLOW_TYPE.Value != null && ultcmb_FLOW_TYPE.Value.ToString() == "122802")
  1033. {
  1034. BalanceBasepriceC pc = new BalanceBasepriceC();
  1035. pc.StandId = txt_BALANCE_BASEPRICE_M.Value.ToString();
  1036. pc.GradeLevel = "中型废钢";
  1037. pc.Validflag = "1";
  1038. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.balance.service.BalanceBasepriceCService", "doQureyBasePriceC", new object[] { pc });
  1039. //for (int i = 0; i < dataTable8.Rows.Count; i++)
  1040. //{
  1041. if (dt.Rows.Count < 1)
  1042. {
  1043. //dataTable8.Rows[i]["bidwinwithtaxprice"] = 0;
  1044. ultraGrid2.ActiveRow.Cells["bidwinwithtaxprice"].Value = 0;
  1045. }
  1046. else
  1047. {
  1048. //dataTable8.Rows[i]["bidwinwithtaxprice"] = dt.Rows[0]["PRICEVAL"].ToString();
  1049. ultraGrid2.ActiveRow.Cells["bidwinwithtaxprice"].Value = dt.Rows[0]["PRICEVAL"].ToString();
  1050. }
  1051. //}
  1052. if (dt.Rows.Count < 1)
  1053. {
  1054. MessageUtil.ShowTips("未找到价格政策【" + txt_BALANCE_BASEPRICE_M.Text + "】的中型废钢价格");
  1055. return;
  1056. }
  1057. }
  1058. }
  1059. private void txt_BALANCE_BASEPRICE_M_SelectionChanged(object sender, EventArgs e)
  1060. {
  1061. }
  1062. /// <summary>
  1063. /// 批量修改交期
  1064. /// </summary>
  1065. /// <param name="sender"></param>
  1066. /// <param name="e"></param>
  1067. private void ultraDateTimeEditor1_ValueChanged(object sender, EventArgs e)
  1068. {
  1069. foreach (DataRow dr in dataTable5.Rows)
  1070. {
  1071. dr["AskDeliverDate"] = ultraDateTimeEditor1.Value;
  1072. }
  1073. }
  1074. /// <summary>
  1075. /// 选择功能性招标方案
  1076. /// </summary>
  1077. /// <param name="sender"></param>
  1078. /// <param name="e"></param>
  1079. private void txt_FUNCTION_VERSION_NO_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1080. {
  1081. frmPop_BID_FUNCTION frm = new frmPop_BID_FUNCTION(this.ob);
  1082. frm.ShowDialog();
  1083. string strName = frm.strSelName;
  1084. if (string.IsNullOrEmpty(strName))
  1085. { return; }
  1086. txt_FUNCTION_VERSION_NO.Text = strName;
  1087. strFUNCTION_VERSION_NO = frm.strSelId;
  1088. }
  1089. }
  1090. }