FrmPUR_PLAN.cs 70 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540
  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 Pur.Entity.configureEntity;
  10. using CoreFS.CA06;
  11. using Core.Mes.Client.Comm.Tool;
  12. using Core.Mes.Client.Comm.Control;
  13. using Infragistics.Win.UltraWinGrid;
  14. using System.Collections;
  15. using Pur.require_plan;
  16. using Pur.Entity.pur_orderEntiy;
  17. using com.hnshituo.pur.vo;
  18. using Infragistics.Win.UltraWinEditors;
  19. using Pur.configure;
  20. using Infragistics.Win;
  21. using Bpm;
  22. using Pur.Pop_upWindow;
  23. using Pur.Entity;
  24. using System.Text.RegularExpressions;
  25. using CoreFS.SA06;
  26. using Pur.Entity.ck;
  27. using Core.Mes.Client.Comm.Server;
  28. using Pur.Entity.require_planEntiy;
  29. namespace Pur.pur_plan
  30. {
  31. public partial class FrmPur_Plan : FrmPmsBase
  32. {
  33. double q_b = 0;//利库量的小数部分
  34. string QstrDataFlag = "";//是否启用数据权限,。判断当前用户登录后,能否做修改和删除操作
  35. public FrmPur_Plan()
  36. {
  37. InitializeComponent();
  38. this.IsLoadUserView = true;
  39. ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
  40. GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "Check");
  41. ultraGrid2.DisplayLayout.Bands[1].Override.AllowUpdate = DefaultableBoolean.False;
  42. ck_Mtime.Checked = true;
  43. cop_planMouthStart.Value = DateTime.Now.AddMonths(-1);
  44. cop_planMouthEnd.Value = DateTime.Now < DateTime.Parse(DateTime.Now.ToString("yyyy/MM/26")) ? DateTime.Now.AddMonths(1) : DateTime.Now.AddMonths(2);
  45. ultraExpandableGroupBox1.Expanded = false;
  46. }
  47. //菜单按钮事件
  48. public override void ToolBar_Click(object sender, string ToolbarKey)
  49. {
  50. switch (ToolbarKey)
  51. {
  52. case "Query":
  53. get_PUR_PLAN_M();
  54. break;
  55. case "Update":
  56. UpdPUR_PLAN_M();
  57. break;
  58. case "Delete":
  59. DelPUR_PLAN_M();
  60. break;
  61. case "getTaskList":
  62. getTaskList();
  63. break;
  64. case "Report":
  65. Report();
  66. break;
  67. case "CancelReport":
  68. CancelReport();
  69. break;
  70. case "Process":
  71. Process();
  72. break;
  73. case "UltraGridToExcel":
  74. UltraGridToExcel();
  75. break;
  76. }
  77. }
  78. private void FrmPur_Plan_Load(object sender, EventArgs e)
  79. {
  80. DataTable dt1 = new DataTable();
  81. dt1.Columns.AddRange(new DataColumn[] { new DataColumn("Code"), new DataColumn("Desc") });
  82. dt1.Rows.Add("", "全部");
  83. dt1.Rows.Add("1", "紧急");
  84. dt1.Rows.Add("2", "常规");
  85. ultraComboEditor1.DataSource = dt1;
  86. ultraComboEditor1.DisplayMember = "Desc";
  87. ultraComboEditor1.ValueMember = "Code";
  88. SetComboItemHeight(ultraComboEditor1);//设置comboxEditer高度
  89. ultraComboEditor1.SelectedIndex = 0;
  90. DataTable dt2 = new DataTable();
  91. dt2.Columns.AddRange(new DataColumn[] { new DataColumn("Code"), new DataColumn("Desc") });
  92. dt2.Rows.Add("", "全部");
  93. dt2.Rows.Add("1", "待提报");
  94. dt2.Rows.Add("2", "审批中");
  95. dt2.Rows.Add("3", "已审批");
  96. dt2.Rows.Add("4", "审批不通过");
  97. ultraComboEditor2.DataSource = dt2;
  98. ultraComboEditor2.DisplayMember = "Desc";
  99. ultraComboEditor2.ValueMember = "Code";
  100. SetComboItemHeight(ultraComboEditor2);//设置comboxEditer高度
  101. ultraComboEditor2.SelectedIndex = 0;
  102. ck_isAlldepart.Checked = true;
  103. ultraExpandableGroupBox2.Expanded = false;
  104. getUltcmbBindData();
  105. }
  106. /// <summary>
  107. /// 界面加载函数
  108. /// </summary>
  109. /// <param name="e"></param>
  110. protected override void OnLoad(EventArgs e)
  111. {
  112. base.OnLoad(e);
  113. ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  114. ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  115. ultraGrid2.DisplayLayout.Bands[1].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  116. }
  117. /// <summary>
  118. /// 导出Excel
  119. /// </summary>
  120. private void UltraGridToExcel()
  121. {
  122. try
  123. {
  124. //获取导出的采购计划行表
  125. ultraGrid2.DisplayLayout.Bands[0].Columns["Check"].Hidden = true;
  126. ultraGrid2.DisplayLayout.Bands[1].Hidden = true;
  127. ArrayList alUltraGrid = new ArrayList();
  128. alUltraGrid.Add(ultraGrid1);
  129. alUltraGrid.Add(ultraGrid2);
  130. ArrayList alSheeft = new ArrayList();
  131. alSheeft.Add("采购单主表");
  132. alSheeft.Add("采购单行表");
  133. if (ultraGrid1.Rows.Count > 0)
  134. {
  135. GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "采购单");//导出excel
  136. }
  137. }
  138. catch (Exception e)
  139. {
  140. MessageUtil.ShowTips("导出失败" + e.Message);
  141. }
  142. finally
  143. {
  144. ultraGrid2.DisplayLayout.Bands[0].Columns["Check"].Hidden = false;//显示复选框
  145. ultraGrid2.DisplayLayout.Bands[1].Hidden = false;
  146. }
  147. }
  148. /// <summary>
  149. /// 创建合同
  150. /// </summary>
  151. //private void addorder()
  152. //{
  153. // UltraGridRow uge = ultraGrid1.ActiveRow;
  154. // UltraGridRow ug2e = ultraGrid2.ActiveRow;
  155. // if (ug2e == null)
  156. // {
  157. // if (uge == null)
  158. // {
  159. // MessageUtil.ShowTips("没有选择采购计划");
  160. // return;
  161. // }
  162. // else
  163. // {
  164. // MessageUtil.ShowTips("采购计划:" + uge.Cells["mrId"].Value.ToString() + "没有行信息不能生成合同!");
  165. // return;
  166. // }
  167. // }
  168. // if (txt_PLAN_TYPE.Value == null)
  169. // {
  170. // MessageUtil.ShowTips("计划类型不能为空");
  171. // return;
  172. // }
  173. // if (MessageUtil.ShowYesNoAndTips("创建后采购计划将转成合同草稿,是否继续?") == DialogResult.No)
  174. // {
  175. // return;
  176. // }
  177. // try
  178. // {
  179. // ArrayList list = new ArrayList();
  180. // EntityPurPlanM Ppm = new EntityPurPlanM();
  181. // Ppm.MrId = uge.Cells["mrId"].Value.ToString();
  182. // DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanMService", "find", new object[] { Ppm, 0, 0 });
  183. // int Id = this.execute<int>("com.hnshituo.pur.order.service.OrderMService", "find_Max", new object[] { });
  184. // OrderM Odm = new OrderM();
  185. // //Id++;
  186. // //string str = Id.ToString();
  187. // //while (str.Length < 4)
  188. // //{
  189. // // str = "0" + str;
  190. // //}
  191. // //Odm.OrderId = DateTime.Now.ToString("yyyyMM") + txt_PLAN_TYPE.Value.ToString() + str;
  192. // Odm.Status = "0";
  193. // Odm.Validflag = "1";
  194. // Odm.CreateName = CoreUserInfo.UserInfo.GetUserName();
  195. // Odm.CreateUserid = CoreUserInfo.UserInfo.GetUserID();
  196. // Odm.CreateTime = DateTime.Now;
  197. // EntityPurPlanD Ppd = new EntityPurPlanD();
  198. // Ppd.MrId = uge.Cells["mrId"].Value.ToString();
  199. // Ppd.Validflag = "1";
  200. // DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanDService", "find", new object[] { Ppd, 0, 0 });
  201. // for (int i = 0; i < dt1.Rows.Count; i++)
  202. // {
  203. // //string lst = Odm.OrderId;
  204. // //int IdLin = this.execute<int>("com.hnshituo.pur.order.service.OrderCService", "find_MaxC", new object[] { lst });
  205. // OrderC odC = new OrderC();
  206. // //IdLin = IdLin + i + 1;
  207. // //string strId = IdLin.ToString();
  208. // //while (strId.Length < 4)
  209. // //{
  210. // // strId = "0" + strId;
  211. // //}
  212. // //odC.OrderId = Odm.OrderId;
  213. // //odC.OrderLineSqe = lst + "-" + strId;
  214. // odC.ItemCode = dt1.Rows[i]["ItemCode"].ToString();
  215. // odC.BuyerDeptDesc = dt1.Rows[i]["BuyerDeptDesc"].ToString();
  216. // odC.ItemName = dt1.Rows[i]["ItemName"].ToString();
  217. // odC.PurLineId = dt1.Rows[i]["MRLINEID"].ToString();
  218. // //odC.ItemSpec = dt1.Rows[i]["ItemSpec"].ToString();
  219. // //odC.ItemDesc = dt1.Rows[i]["ItemDesc"].ToString();
  220. // odC.ItemUom = dt1.Rows[i]["ItemUom"].ToString();
  221. // //odC.ItemUomConefficient = 1;
  222. // odC.ItemUomConefficient = Convert.ToDouble(dt1.Rows[i]["ItemUomConefficient"].ToString());
  223. // //odC.ItemUseUom = dt1.Rows[i]["ItemUseUom"].ToString();
  224. // odC.WeightUnit = dt1.Rows[i]["WeightUnit"].ToString();
  225. // odC.BuyerDeptCode = dt1.Rows[i]["BuyerDeptCode"].ToString();
  226. // odC.BuyerUnitCode = dt1.Rows[i]["BuyerUnitCode"].ToString();
  227. // odC.BuyerUnitDesc = dt1.Rows[i]["BuyerUnitDesc"].ToString();
  228. // odC.BuyerName = dt1.Rows[i]["BuyerName"].ToString();
  229. // odC.Qty = Convert.ToDouble(dt1.Rows[i]["Qty"].ToString());
  230. // odC.Validflag = "1";
  231. // odC.ItemAttr = dt1.Rows[i]["ItemAttr"].ToString();
  232. // odC.ItemAttrId = dt1.Rows[i]["ItemAttrId"].ToString();
  233. // odC.ItemStandardsCode = dt1.Rows[i]["ItemStandardsCode"].ToString();
  234. // odC.ItemStandardsId = dt1.Rows[i]["ItemStandardsId"].ToString();
  235. // odC.ItemUnique = dt1.Rows[i]["ItemUnique"].ToString();
  236. // odC.ItemUomId = dt1.Rows[i]["ItemUomId"].ToString();
  237. // odC.CreateName = CoreUserInfo.UserInfo.GetUserName();
  238. // odC.CreateUserid = CoreUserInfo.UserInfo.GetUserID();
  239. // odC.CreateTime = DateTime.Now;
  240. // list.Add(odC);
  241. // }
  242. // CoreResult Result1 = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderCService", "insert_order", new object[] { list, Odm });
  243. // if (Result1.Resultcode == 0)
  244. // {
  245. // MessageUtil.ShowTips("创建成功,已保存为合同草稿:" + Odm.OrderId);
  246. // }
  247. // else
  248. // {
  249. // MessageBox.Show("新增记录失败:" + Result1.Resultmsg);
  250. // return;
  251. // }
  252. // }
  253. // catch (Exception e)
  254. // {
  255. // MessageUtil.ShowError("合同草稿创建失败!" + e);
  256. // }
  257. //}
  258. /// <summary>
  259. /// 查询采购计划主表
  260. /// </summary>
  261. /// <param name="PurPlanMEntity"></param>
  262. public void get_PUR_PLAN_M()
  263. {
  264. dataSet1.Clear();
  265. record.Clear();
  266. message.Clear();
  267. EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
  268. PurPlanMEntity = getEnSelContion();
  269. PurPlanMEntity.ValidDataPurviewIds = this.ValidDataPurviewIds;
  270. PurPlanMEntity.OperatorUserId = UserInfo.GetUserID();
  271. PurPlanMEntity.BpmUserId = UserInfo.GetUserID();
  272. //判断当前拥有此页面功能的角色是否启用数据权限,//0未启用
  273. string QstrDataFlag = this.execute<string>("com.hnshituo.pur.utils.service.UtilsService", "getRoleDataFlag", new object[] { UserInfo.GetUserID(), "Pur.pur_plan.FrmPur_Plan" });
  274. if (QstrDataFlag == "0")//0未启用
  275. {
  276. if (ck_isAlldepart.Checked)
  277. {
  278. PurPlanMEntity.CreateUserid = this.UserInfo.GetUserID();
  279. }
  280. }
  281. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanMService", "getPurPlanM", new object[] { PurPlanMEntity });
  282. foreach (DataRow row in dt.Rows)
  283. {
  284. row["mrPeriodEnd"] = Convert.ToDateTime(row["mrPeriodEnd"]).ToString("yyyy/MM");
  285. }
  286. //按创建时间降序
  287. if (dt.Rows.Count > 0)
  288. {
  289. dt.DefaultView.Sort = "CREATETIME DESC";
  290. dt = dt.DefaultView.ToTable();
  291. }
  292. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//绑定物料分类表
  293. ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  294. }
  295. /// <summary>
  296. /// 查询采购计划详表
  297. /// </summary>
  298. /// <param name="PurPlanMEntity"></param>
  299. public void get_PUR_PLAN_D(EntityPurPlanD PurPlanDEntity)
  300. {
  301. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanDService", "getPlanD", new object[] { PurPlanDEntity });
  302. GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定采购计划行表
  303. DataTable dt_require = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequirePlanDService", "getRequireByPlanD_ids", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
  304. //删除父表中没有的需求订单行
  305. for (int i = 0; i < dt_require.Rows.Count; )
  306. {
  307. //if (!dataTable2.Rows.Contains(new object[] { dt_require.Rows[i]["BUYERDEPTCODE"].ToString(), dt_require.Rows[i]["ITEMUNIQUE"].ToString() }))
  308. if (!dataTable2.Rows.Contains(new object[] { dt_require.Rows[i]["BUYERDEPTCODE"].ToString() }))
  309. {
  310. dt_require.Rows.RemoveAt(i);
  311. }
  312. else { i++; }
  313. }
  314. GridHelper.CopyDataToDatatable(ref dt_require, ref dataTable3, true);//绑定采购计划行子表
  315. //采购计划行标记颜色
  316. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  317. {
  318. //导入进来的采购计划,设置已生成任务单量=采购计划量
  319. //if (ultraGrid1.ActiveRow.Cells["PLANTYPE"].Value.ToString() == "1")
  320. //{
  321. // ultraGrid2.Rows[i].Cells["taskQty"].Value = ultraGrid2.Rows[i].Cells["Qty"].Value;
  322. //}
  323. //double breleaseqty1 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty1"].Value.ToString());//非预采脱单
  324. //double breleaseqty3 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty3"].Value.ToString());//挂单
  325. //if (double.Parse(ultraGrid2.Rows[i].Cells["taskQty"].Value.ToString()) - breleaseqty1 + breleaseqty3 >= double.Parse(ultraGrid2.Rows[i].Cells["Qty"].Value.ToString()))
  326. if (ultraGrid1.ActiveRow.Cells["PLANTYPE"].Value.ToString() == "1")
  327. {
  328. ultraGrid2.Rows[i].Cells["pickQty"].Value = 0;
  329. }
  330. if (double.Parse(ultraGrid2.Rows[i].Cells["pickQty"].Value.ToString())<=0)
  331. {
  332. ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red;// System.Drawing.Color.FromArgb(200, 128, 0);
  333. }
  334. else
  335. {
  336. ultraGrid2.Rows[i].Appearance.ForeColor = Color.Black;
  337. }
  338. }
  339. ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  340. ultraGrid2.DisplayLayout.Bands[1].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
  341. }
  342. /// <summary>
  343. /// 生成任务单
  344. /// </summary>
  345. public void getTaskList()
  346. {
  347. if (ultraGrid1.ActiveRow == null)
  348. {
  349. MessageUtil.ShowTips("为选择采购计划信息");
  350. return;
  351. }
  352. if (getPlanStatusNum() != "3")
  353. {
  354. MessageUtil.ShowTips("所选采购计划不是已审批状态,不能生成任务单");
  355. return;
  356. }
  357. ultraGrid2.UpdateData();
  358. DataTable dt = dataTable2.Clone();
  359. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  360. {
  361. if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value)
  362. {
  363. for (int j = 0; j < dataTable2.Rows.Count; j++)
  364. {
  365. if (ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString() == dataTable2.Rows[j]["MRLINEID"].ToString())
  366. {
  367. DataRow dr = dataTable2.Rows[j];
  368. //double breleaseqty1 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty1"].Value.ToString());//非预采脱单
  369. //double breleaseqty3 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty3"].Value.ToString());//挂单
  370. if (double.Parse(dr["pickQty"].ToString())<=0)
  371. {
  372. MessageUtil.ShowTips("采购单行号【" + dr["MRLINEID"].ToString() + "】“剩余可生成任务单量需大于0!");
  373. return;
  374. }
  375. dt.Rows.Add(dr.ItemArray);
  376. break;
  377. }
  378. }
  379. }
  380. }
  381. if (dt.Rows.Count < 1)
  382. {
  383. MessageUtil.ShowTips("请至少选择一条采购计划行");
  384. return;
  385. }
  386. string[] str = new string[5];//运输条件
  387. str[0] = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件
  388. str[1] = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式
  389. str[2] = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式
  390. //str[3] = cmb_PAYMENT_CODE.Value== null ? null : cmb_PAYMENT_CODE.Value.ToString();//付款方式
  391. //str[4] = cmb_PACKAGE_TYPE.Value == null ? null : cmb_PACKAGE_TYPE.Value.ToString();//包装方式
  392. frm_PurTaskM frm = new frm_PurTaskM(dt, ultraGrid1.ActiveRow.Cells["REQORGNAME"].Value.ToString(), str, this.ob);
  393. frm.ShowDialog();
  394. EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
  395. PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  396. PurPlanDEntity1.Validflag = "1";
  397. dataTable3.Rows.Clear();
  398. dataTable2.Clear();
  399. get_PUR_PLAN_D(PurPlanDEntity1);//刷新采购计划详表
  400. }
  401. /// <summary>
  402. /// 修改
  403. /// </summary>
  404. private void UpdPUR_PLAN_M()
  405. {
  406. if (ultraTabControl1.SelectedTab.Key == "0")//修改采购计划主表
  407. {
  408. if (ultraGrid1.ActiveRow != null)
  409. {
  410. if (getPlanCreateName() != this.UserInfo.GetUserName())
  411. {
  412. MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能修改");
  413. return;
  414. }
  415. string strPlanStatus = getPlanStatusNum();//采购计划主表状态
  416. if (strPlanStatus != "1" && strPlanStatus != "4")
  417. {
  418. MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能修改采购计划");
  419. return;
  420. }
  421. String strMrId=ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  422. if (String.IsNullOrEmpty(strMrId))
  423. {
  424. MessageUtil.ShowTips("计划号为空!");
  425. return;
  426. }
  427. EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
  428. PurPlanMEntity.DeliveryCondition = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件
  429. PurPlanMEntity.DeliveryType = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式
  430. PurPlanMEntity.ReceiveType = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式
  431. PurPlanMEntity.UpdateName = UserInfo.GetUserName();
  432. PurPlanMEntity.UpdateTime = System.DateTime.Now;
  433. PurPlanMEntity.UpdateUserid = UserInfo.GetUserID();
  434. PurPlanMEntity.MrId = strMrId;
  435. if (MessageUtil.ShowYesNoAndQuestion("是否确定修改?") == DialogResult.No)
  436. {
  437. return;
  438. }
  439. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "doUpdate", new object[] { PurPlanMEntity });//添加操作
  440. if (crt.Resultcode != 0)
  441. {
  442. MessageUtil.ShowTips("修改失败 " + crt.Resultmsg);
  443. return;
  444. }
  445. MessageUtil.ShowTips("修改成功!");
  446. get_PUR_PLAN_M();//刷新采购计划主表
  447. ConfigureClassCommon.doActiveSelRow(ultraGrid1, "MRID", PurPlanMEntity.MrId);//激活当前行
  448. }
  449. else
  450. {
  451. MessageUtil.ShowTips("请选择采购计划主表信息");
  452. return;
  453. }
  454. }
  455. else if (ultraTabControl1.SelectedTab.Key == "1")//修改采购计划详表
  456. {
  457. if (ultraGrid2.ActiveRow != null && !ultraGrid2.ActiveRow.HasParent())
  458. {
  459. if (getPlanLineCreateName() != this.UserInfo.GetUserName())
  460. {
  461. MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能修改");
  462. return;
  463. }
  464. string strPlanStatus = getPlanStatusNum();//采购计划主表状态
  465. if (strPlanStatus != "1" && strPlanStatus != "4")
  466. {
  467. MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能修改采购计划");
  468. return;
  469. }
  470. String strMrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  471. String strMrLineId=ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); ;//采购单行号
  472. if (String.IsNullOrEmpty(strMrId))
  473. {
  474. MessageUtil.ShowTips("采购计划号为空!");
  475. return;
  476. }
  477. if (String.IsNullOrEmpty(strMrLineId))
  478. {
  479. MessageUtil.ShowTips("采购计划行号为空!");
  480. return;
  481. }
  482. EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  483. PurPlanDEntity.MrId = strMrId;
  484. PurPlanDEntity.Validflag = "1";
  485. PurPlanDEntity.MrLineId = strMrLineId;
  486. PurPlanDEntity.Remark = txt_REMARK.Text;//备注
  487. PurPlanDEntity.BugPrice = double.Parse(txt_BUG_PRICE.Text);//计划价
  488. PurPlanDEntity.PackageType = cmb_PACKAGE_TYPE.Value == null ? null : cmb_PACKAGE_TYPE.Value.ToString();//包装方式
  489. PurPlanDEntity.PaymentCode = cmb_PAYMENT_CODE.Value == null ? null : cmb_PAYMENT_CODE.Value.ToString();//付款方式
  490. double bQTY_YC = 0;//输入预采数量
  491. if (txt_QTY_YC.Value != null)
  492. {
  493. double.TryParse(txt_QTY_YC.Value.ToString(), out bQTY_YC);
  494. }
  495. PurPlanDEntity.QtyYc = bQTY_YC;//预采
  496. if (ultDt_ASK_DELIVER_DATE.Value != null)
  497. PurPlanDEntity.AskDeliverDate = (DateTime)ultDt_ASK_DELIVER_DATE.Value;
  498. PurPlanDEntity.UpdateName = UserInfo.GetUserName();
  499. PurPlanDEntity.UpdateTime = System.DateTime.Now;
  500. PurPlanDEntity.UpdateUserid = UserInfo.GetUserID();
  501. if (MessageUtil.ShowYesNoAndQuestion("确定修改?") == DialogResult.No)
  502. {
  503. return;
  504. }
  505. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanDService", "doUpdate_d", new object[] { PurPlanDEntity });//添加操作
  506. if (crt.Resultcode != 0)
  507. {
  508. MessageUtil.ShowTips("修改失败 " + crt.Resultmsg);
  509. return;
  510. }
  511. MessageUtil.ShowTips("修改成功!");
  512. EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
  513. PurPlanDEntity1.MrId = strMrId;
  514. PurPlanDEntity1.Validflag = "1";
  515. get_PUR_PLAN_M();//刷新采购计划主表
  516. ConfigureClassCommon.doActiveSelRow(ultraGrid1, "MRID", PurPlanDEntity.MrId);//激活当前行
  517. ConfigureClassCommon.doActiveSelRow(ultraGrid2, "MRLINEID", PurPlanDEntity.MrLineId);//激活当前行
  518. }
  519. else
  520. {
  521. MessageUtil.ShowTips("请选择采购计划行表信息");
  522. return;
  523. }
  524. }
  525. }
  526. /// <summary>
  527. /// 删除
  528. /// </summary>
  529. private void DelPUR_PLAN_M()
  530. {
  531. //if (ultraTabControl1.SelectedTab.Key == "0")//修改采购计划主表
  532. //{
  533. if (ultraGrid1.ActiveRow != null)
  534. {
  535. if (getPlanCreateName() != this.UserInfo.GetUserName())
  536. {
  537. MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能撤销");
  538. return;
  539. }
  540. string strPlanStatus = getPlanStatusNum();//采购计划主表状态
  541. if (strPlanStatus != "1" && strPlanStatus != "4")
  542. {
  543. MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能撤销采购计划");
  544. return;
  545. }
  546. //string resStr = "";
  547. //if (ultraGrid2.ActiveRow != null)
  548. //{
  549. // resStr = this.execute<string>("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsUsing", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断
  550. // if (resStr != "")
  551. // {
  552. // MessageUtil.ShowTips("采购单行号在" + resStr + "中使用,不能撤销");
  553. // return;
  554. // }
  555. //}
  556. if (MessageUtil.ShowYesNoAndQuestion("确定撤销采购计划【" + ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() + "】? 若撤销,该采购计划下的脱单挂单利库将同步取消。") == DialogResult.No)
  557. {
  558. return;
  559. }
  560. EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
  561. PurPlanMEntity.Validflag = "0";
  562. //PurPlanMEntity.Status = "0";
  563. PurPlanMEntity.DeleteName = UserInfo.GetUserName();
  564. PurPlanMEntity.DeleteTime = System.DateTime.Now;
  565. PurPlanMEntity.DeleteUserid = UserInfo.GetUserID();
  566. PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  567. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "del_PlanM", new object[] { PurPlanMEntity });//删除操作
  568. //CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "cancelPurPlan", new object[] { PurPlanMEntity });//添加操作
  569. if (crt.Resultcode != 0)
  570. {
  571. MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg);
  572. return;
  573. }
  574. MessageUtil.ShowTips("撤销成功!");
  575. EntityPurPlanM PurPlanMEntity1 = new EntityPurPlanM();
  576. PurPlanMEntity1.Validflag = "1";
  577. get_PUR_PLAN_M();//刷新采购计划主表
  578. }
  579. else
  580. {
  581. MessageUtil.ShowTips("请选择采购计划主表!");
  582. }
  583. //}
  584. //else if (ultraTabControl1.SelectedTab.Key == "1")//删除采购计划详表
  585. //{
  586. // ultraGrid2.UpdateData();
  587. // if (ultraGrid1.ActiveRow == null)
  588. // { return; }
  589. // string strPlanStatus = getPlanStatus();//采购计划主表状态
  590. // if (strPlanStatus != "待提报")
  591. // {
  592. // MessageUtil.ShowTips("采购单主表状态为" + strPlanStatus + ",不能撤销采购计划");
  593. // return;
  594. // }
  595. // if (getPlanLineCreateName() != this.UserInfo.GetUserName())
  596. // {
  597. // MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能删除");
  598. // return;
  599. // }
  600. // if (ultraGrid2.ActiveRow != null)
  601. // {
  602. // string resStr = "";
  603. // resStr = this.execute<string>("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsUsing", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断
  604. // if (resStr != "")
  605. // {
  606. // MessageUtil.ShowTips("采购单行号在" + resStr + "中使用,不能删除");
  607. // return;
  608. // }
  609. // resStr = this.execute<string>("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsBenefit", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断
  610. // if (resStr != "")
  611. // {
  612. // if (MessageUtil.ShowYesNoAndQuestion(resStr + ",如果删除此采购单行号,此前的利库或利计划操作将取消!\n确定要删除吗") == DialogResult.No)
  613. // {
  614. // return;
  615. // }
  616. // }
  617. // else if (MessageUtil.ShowYesNoAndQuestion("确定删除采购单行号【" + ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() + "】?") == DialogResult.No)
  618. // {
  619. // return;
  620. // }
  621. // ArrayList all = new ArrayList();
  622. // for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  623. // {
  624. // if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value)
  625. // {
  626. // EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  627. // PurPlanDEntity.Validflag = "0";
  628. // PurPlanDEntity.DeleteName = UserInfo.GetUserName();
  629. // PurPlanDEntity.DeleteTime = System.DateTime.Now;
  630. // PurPlanDEntity.MrLineId = ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString(); //采购单行号
  631. // all.Add(PurPlanDEntity);
  632. // }
  633. // }
  634. // if (all.Count < 1)//删除当前激活行
  635. // {
  636. // EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  637. // PurPlanDEntity.Validflag = "0";
  638. // PurPlanDEntity.DeleteName = UserInfo.GetUserName();
  639. // PurPlanDEntity.DeleteUserid = UserInfo.GetUserID();
  640. // PurPlanDEntity.DeleteTime = System.DateTime.Now;
  641. // PurPlanDEntity.MrLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); //采购单行号
  642. // all.Add(PurPlanDEntity);
  643. // }
  644. // CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurRequirePurPlanRService", "del_updata", new object[] { all });//添加操作
  645. // if (crt.Resultcode != 0)
  646. // {
  647. // MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
  648. // return;
  649. // }
  650. // MessageUtil.ShowTips("删除成功!");
  651. // EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
  652. // PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  653. // PurPlanDEntity1.Validflag = "1";
  654. // get_PUR_PLAN_D(PurPlanDEntity1);//刷新采购计划详表
  655. // }
  656. //}
  657. }
  658. /// <summary>
  659. /// 查看流程详情
  660. /// </summary>
  661. private void Process()
  662. {
  663. UltraGridRow uge = ultraGrid1.ActiveRow;
  664. if (uge == null)
  665. {
  666. MessageUtil.ShowWarning("请选择一条记录");
  667. return;
  668. }
  669. if (getPlanStatusNum() == "1")
  670. {
  671. MessageUtil.ShowTips("提报后才能查看流程");
  672. return;
  673. }
  674. string mrId = uge.Cells["MRId"].Value.ToString();
  675. ProcInstDetail detail = new ProcInstDetail(BpmFlowConstants.PROCDEF_PUR_PLAN_AUDIT, mrId);
  676. detail.ShowDialog();
  677. }
  678. /// <summary>
  679. /// 判断数据库中是否存在相同的列
  680. /// </summary>
  681. /// <param name="strJavaPackName"></param>
  682. /// <param name="o"></param>
  683. /// <returns>true存在</returns>
  684. public bool isExsitRow(string strJavaPackName, object o)
  685. {
  686. DataTable dt = this.execute<DataTable>(strJavaPackName, "find", new object[] { o, 0, 0 });
  687. if (dt != null && dt.Rows.Count > 0)//存在相同的行
  688. {
  689. return true;
  690. }
  691. return false;
  692. }
  693. /// <summary>
  694. /// 单击数据列表赋值数据给控件
  695. /// </summary>
  696. private void getControlBoxValue(object sender, object entity)
  697. {
  698. //获取要情况文本框的父容器
  699. Control ctrBox = null;
  700. if (sender.Equals(ultraGrid1))
  701. {
  702. ctrBox = ultraGroupBox6;
  703. }
  704. else if (sender.Equals(ultraGrid2))
  705. {
  706. ctrBox = ultraTabPageControl2;
  707. }
  708. //清空控件
  709. foreach (Control ctr in ctrBox.Controls)
  710. {
  711. if (ctr is Label)
  712. { continue; }
  713. if (ctr is UltraCheckEditor)
  714. {
  715. UltraCheckEditor ultcmb = (UltraCheckEditor)ctr;
  716. ultcmb.Checked = false;
  717. }
  718. ctr.Text = null;
  719. }
  720. if (sender.Equals(ultraGrid1))
  721. {
  722. EntityPurPlanM PurPlanMEntity = (EntityPurPlanM)entity;
  723. cmb_DELIVERY_CONDITION.Value = PurPlanMEntity.DeliveryCondition;//运输条件
  724. ultcmb_ELIVERY_TYPE.Value = PurPlanMEntity.DeliveryType;//运输方式
  725. cmb_RECEIVE_TYPE.Value = PurPlanMEntity.ReceiveType;//接收方式
  726. }
  727. else if (sender.Equals(ultraGrid2))
  728. {
  729. EntityPurPlanD PurPlanDEntity = (EntityPurPlanD)entity;
  730. txt_REMARK.Text = PurPlanDEntity.Remark == null ? null : PurPlanDEntity.Remark.ToString();//备注
  731. cmb_PACKAGE_TYPE.Value = PurPlanDEntity.PackageType;//包装方式
  732. cmb_PAYMENT_CODE.Value = PurPlanDEntity.PaymentCode;//付款方式
  733. txt_BUG_PRICE.Text = PurPlanDEntity.BugPrice == null ? null : PurPlanDEntity.BugPrice.ToString();//计划价
  734. txt_QTY_YC.Value = PurPlanDEntity.QtyYc;//预采
  735. ultDt_ASK_DELIVER_DATE.Value = ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value;
  736. }
  737. }
  738. /// <summary>
  739. /// 激活采购计划主表行
  740. /// </summary>
  741. /// <param name="sender"></param>
  742. /// <param name="e"></param>
  743. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  744. {
  745. dataTable3.Rows.Clear();
  746. dataTable2.Clear();
  747. message.Clear();
  748. record.Clear();
  749. String strMrid= ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString().Trim();
  750. if (String.IsNullOrEmpty(strMrid))
  751. {
  752. MessageUtil.ShowTips("采购计划号为空");
  753. return;
  754. }
  755. EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  756. PurPlanDEntity.MrId = strMrid;
  757. PurPlanDEntity.Validflag = "1";
  758. get_PUR_PLAN_D(PurPlanDEntity);//查询采购计划详表
  759. EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
  760. PurPlanMEntity = this.execute<EntityPurPlanM>("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
  761. getControlBoxValue(sender, PurPlanMEntity);
  762. getBindItemMiddleClass();//绑定物料分类筛选下拉类表
  763. //加载采购计划评审意见
  764. getOrderReview(strMrid);
  765. }
  766. /// <summary>
  767. /// 查询评审意见
  768. /// </summary>
  769. /// <param name="strMrid"></param>
  770. private void getOrderReview(string strMrid)
  771. {
  772. DataTable dt11 = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderMService", "getReviewMsg", new object[] { strMrid });
  773. GridHelper.CopyDataToDatatable(dt11, dataTable7, true);
  774. GridHelper.RefreshAndAutoSize(ultraGrid3);
  775. }
  776. /// <summary>
  777. /// 激活采购计划详表
  778. /// </summary>
  779. /// <param name="sender"></param>
  780. /// <param name="e"></param>
  781. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  782. {
  783. if (!ultraGrid2.ActiveRow.HasParent())
  784. {
  785. EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  786. PurPlanDEntity = this.execute<EntityPurPlanD>("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });
  787. getControlBoxValue(sender, PurPlanDEntity);//给控件赋值
  788. txt_QTY_YC.Enabled = true;
  789. //查询脱挂单记录
  790. record.Clear();
  791. RequireReleaseInstockqty release = new RequireReleaseInstockqty();
  792. release.Validflag = "1";
  793. release.PurLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString();
  794. DataTable dt1 = this.execute<DataTable>("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doQuery_List", new object[] { release });
  795. GridHelper.CopyDataToDatatable(dt1, dataTable8, true);
  796. GridHelper.RefreshAndAutoSize(ultraGrid9);
  797. }
  798. else
  799. {
  800. txt_QTY_YC.Enabled = false;
  801. }
  802. }
  803. /// <summary>
  804. /// 单击采购计划主表
  805. /// </summary>
  806. /// <param name="sender"></param>
  807. /// <param name="e"></param>
  808. private void ultraGrid1_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e)
  809. {
  810. this.ultraTabControl1.SelectedTab = ultraTabPageControl1.Tab;
  811. }
  812. /// <summary>
  813. /// 单击采购计划详表
  814. /// </summary>
  815. /// <param name="sender"></param>
  816. /// <param name="e"></param>
  817. private void ultraGrid2_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e)
  818. {
  819. this.ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
  820. }
  821. /// <summary>
  822. /// 获取查询条件
  823. /// </summary>
  824. /// <returns></returns>
  825. private EntityPurPlanM getEnSelContion()
  826. {
  827. EntityPurPlanM entity = new EntityPurPlanM();
  828. if (ultraTextEditor5.Text.Trim() != "")
  829. {
  830. entity.MrId = ultraTextEditor5.Text.ToString().Trim();
  831. }
  832. if (ultraComboEditor1.Value != null && ultraComboEditor1.Value.ToString() != "")
  833. {
  834. entity.UrgencyType = ultraComboEditor1.Value.ToString().Trim();
  835. }
  836. if (ultraComboEditor2.Value != null && ultraComboEditor2.Value.ToString() != "")
  837. {
  838. entity.Status = ultraComboEditor2.Value.ToString().Trim();
  839. }
  840. if (ck_Mtime.Checked == true)
  841. {
  842. if (cop_planMouthStart.Text != "")
  843. {
  844. DateTime Start1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthStart.Value).ToString("yyyy/MM"));
  845. entity.MrPeriodStart = Start1;
  846. }
  847. if (cop_planMouthEnd.Text != "")
  848. {
  849. DateTime End1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthEnd.Value).ToString("yyyy/MM"));
  850. entity.MrPeriodEnd = End1;
  851. }
  852. }
  853. //entity.DeleteName = "1";//判断是否需要查待编的,1不显示,0显示
  854. entity.Validflag = "1";
  855. return entity;
  856. }
  857. /// <summary>
  858. /// 提报
  859. /// </summary>
  860. private void Report()
  861. {
  862. string strStatus = getPlanStatusNum();
  863. if (strStatus == "1" || strStatus == "4")
  864. {
  865. if (getPlanCreateName() != this.UserInfo.GetUserName())
  866. {
  867. MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能提报");
  868. return;
  869. }
  870. String strTxt = "物料:";
  871. int ii = 0;
  872. foreach (UltraGridRow ugr in ultraGrid2.Rows)
  873. {
  874. double b = 0;
  875. double.TryParse(ugr.Cells["BUGPRICE"].Value.ToString(), out b);
  876. if (b == 0)
  877. {
  878. strTxt = strTxt + "," + ugr.Cells["ItemName"].Value.ToString();
  879. ii = ii + 1;
  880. }
  881. }
  882. EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
  883. PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  884. PurPlanMEntity.Status = "2";
  885. PurPlanMEntity.UpdateUserid = UserInfo.GetUserID();
  886. PurPlanMEntity.UpdateName = UserInfo.GetUserName();
  887. if (ii > 0)
  888. {
  889. if (MessageUtil.ShowYesNoAndQuestion(strTxt+"计划价格为0,确认提报?") != DialogResult.Yes)
  890. {
  891. return;
  892. }
  893. }
  894. else
  895. {
  896. if (MessageUtil.ShowYesNoAndQuestion("确认提报?") != DialogResult.Yes)
  897. {
  898. return;
  899. }
  900. }
  901. CoreResult re = setRequire(PurPlanMEntity);
  902. //CoreResult re = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { PurPlanMEntity });//提报
  903. //this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "update", new object[] { PurPlanMEntity });//添加操作
  904. if (re.Resultcode != 0)
  905. {
  906. MessageUtil.ShowTips("提报失败:" + re.Resultmsg);
  907. return;
  908. }
  909. else
  910. {
  911. MessageUtil.ShowTips("提报成功!");
  912. get_PUR_PLAN_M();//刷新采购计划主表
  913. comm.doActiveSelRow(ultraGrid1, "MRID", PurPlanMEntity.MrId);
  914. }
  915. }
  916. else
  917. {
  918. MessageUtil.ShowTips("采购单不是“待提报”状态,不能提报");
  919. }
  920. }
  921. /// <summary>
  922. /// 取消提报
  923. /// </summary>
  924. private void CancelReport()
  925. {
  926. if (getPlanCreateName() != this.UserInfo.GetUserName())
  927. {
  928. MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能取消提报");
  929. return;
  930. }
  931. string strStatus = getPlanStatusNum();
  932. //if (strStatus == "3")
  933. //{
  934. //MessageUtil.ShowTips("采购单已审批,不能取消提报");
  935. //return;
  936. //}
  937. if (strStatus != "1")
  938. {
  939. string strTips = "确定取消提报?";
  940. if (strStatus == "3")
  941. {
  942. strTips = "采购计划【" + ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() + "】已经审批通过了,取消了后需要重新审批,确定取消提报?";
  943. }
  944. if (DialogResult.No.Equals(MessageUtil.ShowYesNoAndQuestion(strTips)))
  945. {
  946. return;
  947. }
  948. EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
  949. PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  950. PurPlanMEntity.Status = "1";
  951. PurPlanMEntity.UpdateUserid = UserInfo.GetUserID();
  952. PurPlanMEntity.UpdateName = UserInfo.GetUserName();
  953. CoreResult re = setRequireD(PurPlanMEntity);
  954. //CoreResult re = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { PurPlanMEntity });//添加操作
  955. if (re.Resultcode != 0)
  956. {
  957. MessageUtil.ShowTips("取消失败:" + re.Resultmsg);
  958. return;
  959. }
  960. else
  961. {
  962. MessageUtil.ShowTips("取消成功!");
  963. get_PUR_PLAN_M();//刷新采购计划主表
  964. }
  965. }
  966. else
  967. {
  968. MessageUtil.ShowTips("采购单已是“待提报”状态,无需取消");
  969. }
  970. }
  971. /// <summary>
  972. /// 利库操作
  973. /// </summary>
  974. private void StorageBenefit()
  975. {
  976. if (ultraGrid1.ActiveRow != null)
  977. {
  978. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  979. {
  980. for (int j = 0; j < ultraGrid2.Rows.Count; j++)
  981. {
  982. if (i != j)
  983. {
  984. if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == ultraGrid2.Rows[j].Cells["ITEMCODE"].Value.ToString())
  985. { MessageUtil.ShowTips("选择采购单下的采购计划行不能有重复的物料编码!"); return; }
  986. }
  987. }
  988. }
  989. FrmStorageBenefit frm = new FrmStorageBenefit(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString());
  990. frm.ShowDialog();
  991. }
  992. else
  993. {
  994. MessageUtil.ShowTips("请选择采购单号!");
  995. }
  996. }
  997. /// <summary>
  998. /// 取消利计划和利库操作
  999. /// </summary>
  1000. private void CancelPurPlanBenefit()
  1001. {
  1002. string strPlanStatus = getPlanStatusNum();//采购计划主表状态
  1003. if (strPlanStatus != "1" && strPlanStatus != "4")
  1004. {
  1005. MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能取消利库");
  1006. return;
  1007. }
  1008. //string resStr = this.execute<string>("com.hnshituo.pur.purplan.service.PurPlanDService", "MrIdIsBenefit", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });//删除判断
  1009. //if (resStr != "")
  1010. //{
  1011. if (ultraGrid2.ActiveRow != null)
  1012. {
  1013. if (MessageUtil.ShowYesNoAndQuestion("确定要取消采购单行号【" + ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() + "】利库吗") == DialogResult.No)
  1014. {
  1015. return;
  1016. }
  1017. //}
  1018. EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  1019. PurPlanDEntity.MrLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString();
  1020. PurPlanDEntity.Validflag = "0";
  1021. PurPlanDEntity.UpdateName = UserInfo.GetUserName();
  1022. PurPlanDEntity.UpdateTime = System.DateTime.Now;
  1023. PurPlanDEntity.UpdateUserid = UserInfo.GetUserID();
  1024. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurRequirePurPlanRService", "CancelPurPlanBenefit", new object[] { PurPlanDEntity });//添加操作
  1025. if (crt.Resultcode != 0)
  1026. {
  1027. MessageUtil.ShowTips("取消失败 " + crt.Resultmsg);
  1028. return;
  1029. }
  1030. MessageUtil.ShowTips("取消成功!");
  1031. EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
  1032. PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  1033. PurPlanDEntity1.Validflag = "1";
  1034. get_PUR_PLAN_D(PurPlanDEntity1);//查询采购计划详表
  1035. ConfigureClassCommon.doActiveSelRow(ultraGrid2, "MRLINEID", PurPlanDEntity.MrLineId);//激活当前行
  1036. }
  1037. }
  1038. /// <summary>
  1039. /// 利计划操作
  1040. /// </summary>
  1041. private void PlanBenefit()
  1042. {
  1043. if (ultraGrid1.ActiveRow != null)
  1044. {
  1045. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  1046. {
  1047. for (int j = 0; j < ultraGrid2.Rows.Count; j++)
  1048. {
  1049. if (i != j)
  1050. {
  1051. if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == ultraGrid2.Rows[j].Cells["ITEMCODE"].Value.ToString())
  1052. { MessageUtil.ShowTips("选择采购单下的采购计划行不能有重复的物料编码!"); return; }
  1053. }
  1054. }
  1055. }
  1056. frm_PlanBenefit frm = new frm_PlanBenefit(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString());
  1057. frm.ShowDialog();
  1058. }
  1059. else
  1060. {
  1061. MessageUtil.ShowTips("请选择采购单号!");
  1062. }
  1063. }
  1064. /// <summary>
  1065. /// 点击切换编辑区的tab页
  1066. /// </summary>
  1067. /// <param name="sender"></param>
  1068. /// <param name="e"></param>
  1069. private void ultraGrid2_Click(object sender, EventArgs e)
  1070. {
  1071. ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
  1072. }
  1073. /// <summary>
  1074. /// 设置UltraComboEditor中的中文和非中文统一高度。
  1075. /// </summary>
  1076. /// <param name="cmb"></param>
  1077. public static void SetComboItemHeight(UltraComboEditor cmb)
  1078. {
  1079. foreach (ValueListItem item in cmb.Items)
  1080. {
  1081. if (item.DisplayText != null)
  1082. {
  1083. if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
  1084. {
  1085. item.Appearance.FontData.SizeInPoints = 9.0F;
  1086. }
  1087. else
  1088. {
  1089. item.Appearance.FontData.SizeInPoints = 10.5F;
  1090. }
  1091. }
  1092. }
  1093. }
  1094. /// <summary>
  1095. /// 获取采购单主表状态
  1096. /// </summary>
  1097. /// <returns></returns>
  1098. public string getPlanStatus()
  1099. {
  1100. string strTaskStatus = "";
  1101. EntityPurPlanM M_PurPlanM = new EntityPurPlanM();
  1102. M_PurPlanM.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  1103. M_PurPlanM.Validflag = "1";
  1104. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.PurPlanMService", "getPurPlanM", new object[] { M_PurPlanM });
  1105. if (dt.Rows.Count > 0)
  1106. {
  1107. strTaskStatus = dt.Rows[0]["STATUS"].ToString();
  1108. }
  1109. return strTaskStatus;
  1110. }
  1111. /// <summary>
  1112. /// 获取采购单主表状态
  1113. /// </summary>
  1114. /// <returns></returns>
  1115. public string getPlanStatusNum()
  1116. {
  1117. string strTaskStatus = "";
  1118. EntityPurPlanM M_PurPlanM = new EntityPurPlanM();
  1119. M_PurPlanM = this.execute<EntityPurPlanM>("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
  1120. if (M_PurPlanM != null)
  1121. {
  1122. strTaskStatus = M_PurPlanM.Status.ToString();
  1123. }
  1124. return strTaskStatus;
  1125. }
  1126. /// <summary>
  1127. /// 获取采购单主表创建人
  1128. /// </summary>
  1129. /// <returns></returns>
  1130. public string getPlanCreateName()
  1131. {
  1132. string strCreateName = "";
  1133. EntityPurPlanM M_PurPlanM = new EntityPurPlanM();
  1134. M_PurPlanM = this.execute<EntityPurPlanM>("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
  1135. if (M_PurPlanM != null)
  1136. {
  1137. strCreateName = M_PurPlanM.CreateName.ToString();
  1138. }
  1139. return strCreateName;
  1140. }
  1141. /// <summary>
  1142. /// 获取采购单行表创建人
  1143. /// </summary>
  1144. /// <returns></returns>
  1145. public string getPlanLineCreateName()
  1146. {
  1147. string strCreateName = "";
  1148. EntityPurPlanD M_PurPlanD = new EntityPurPlanD();
  1149. M_PurPlanD = this.execute<EntityPurPlanD>("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });
  1150. if (M_PurPlanD != null)
  1151. {
  1152. strCreateName = M_PurPlanD.CreateName.ToString();
  1153. }
  1154. return strCreateName;
  1155. }
  1156. /// <summary>
  1157. /// 显示采购计划激活行的物料
  1158. /// </summary>
  1159. private void showItemUgridRow(UltraGrid ugr)
  1160. {
  1161. for (int i = 0; i < ugr.Rows.Count; i++)
  1162. {
  1163. if (ugr.Rows[i].Cells["ITEMCODE"].Value.ToString() != ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString() || ugr.Rows[i].Cells["WEIGHTUNIT"].Value.ToString().Trim() != ultraGrid2.ActiveRow.Cells["WEIGHTUNIT"].Value.ToString().Trim())
  1164. {
  1165. ugr.Rows[i].Hidden = true;//隐藏
  1166. }
  1167. else
  1168. {
  1169. ugr.Rows[i].Hidden = false;
  1170. }
  1171. }
  1172. }
  1173. /// <summary>
  1174. /// 绑定下拉列表的数据
  1175. /// </summary>
  1176. private void getUltcmbBindData()
  1177. {
  1178. //接收方式
  1179. DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1101" }, this.ob);
  1180. removeNotValiflagData(dt);
  1181. getUltcmbBindValueList(dt, cmb_RECEIVE_TYPE);
  1182. //运输条件
  1183. DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1105" }, this.ob);
  1184. removeNotValiflagData(dt1);
  1185. getUltcmbBindValueList(dt1, cmb_DELIVERY_CONDITION);
  1186. //运输方式
  1187. DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1102" }, this.ob);
  1188. removeNotValiflagData(dt2);
  1189. getUltcmbBindValueList(dt2, ultcmb_ELIVERY_TYPE);
  1190. //付款方式
  1191. DataTable dt3 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1104" }, this.ob);
  1192. removeNotValiflagData(dt3);
  1193. getUltcmbBindValueList(dt3, cmb_PAYMENT_CODE);
  1194. ultraGrid2.DisplayLayout.Bands[0].Columns["PAYMENTCODE"].EditorComponent = cmb_PAYMENT_CODE;
  1195. //包装方式
  1196. DataTable dt4 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1107" }, this.ob);
  1197. removeNotValiflagData(dt4);
  1198. getUltcmbBindValueList(dt4, cmb_PACKAGE_TYPE);
  1199. ultraGrid2.DisplayLayout.Bands[0].Columns["PACKAGETYPE"].EditorComponent = cmb_PACKAGE_TYPE;
  1200. }
  1201. /// <summary>
  1202. /// 移除无效数据
  1203. /// </summary>
  1204. /// <param name="dt"></param>
  1205. private void removeNotValiflagData(DataTable dt)
  1206. {
  1207. for (int i = 0; i < dt.Rows.Count; )
  1208. {
  1209. if (dt.Rows[i]["VALIDFLAG"].ToString() == "0")
  1210. {
  1211. dt.Rows.RemoveAt(i);
  1212. }
  1213. else
  1214. {
  1215. i++;
  1216. }
  1217. }
  1218. }
  1219. /// <summary>
  1220. /// 绑定所有的下拉列表的数据
  1221. /// </summary>
  1222. private void getUltcmbBindValueList(DataTable dt, UltraComboEditor ultcmb)
  1223. {
  1224. for (int i = 0; i < dt.Rows.Count; i++)
  1225. {
  1226. ValueListItem vlItem = new ValueListItem(dt.Rows[i]["BASECODE"].ToString().Trim(), dt.Rows[i]["BASENAME"].ToString().Trim());
  1227. ultcmb.Items.Add(vlItem);
  1228. }
  1229. }
  1230. /// <summary>
  1231. /// 提报补充预采需求
  1232. /// </summary>
  1233. private CoreResult setRequire(EntityPurPlanM ppm)
  1234. {
  1235. ArrayList alrem = new ArrayList();
  1236. ArrayList alReqD = new ArrayList();
  1237. ArrayList alReqR = new ArrayList();
  1238. ArrayList alrpr = new ArrayList();
  1239. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  1240. {
  1241. RequirePlanM rem = new RequirePlanM();
  1242. RequirePlanD ReqD = new RequirePlanD();
  1243. ReqPurPlanR ReqR = new ReqPurPlanR();
  1244. RequireReceive rpr = new RequireReceive();
  1245. double bQTYYC = 0;
  1246. double.TryParse(ultraGrid2.Rows[i].Cells["QTYYC"].Value.ToString(), out bQTYYC);
  1247. if (bQTYYC > 0)
  1248. {
  1249. //生成需求单号
  1250. string strYcMrId = this.execute<string>("com.hnshituo.pur.utils.service.UtilsService", "genMrId", new object[] { 1 });
  1251. rem.CreateName = UserInfo.GetUserName();
  1252. rem.CreateUserid = UserInfo.GetUserID();
  1253. rem.CreateTime = DateTime.Now;
  1254. rem.Status = "3";
  1255. //ReqM.ReqOrgId = txt_REQ_ORG_ID.Text;
  1256. //ReqM.ReqOrgName = txt_REQORGNAME.Text;
  1257. rem.MrPeriodEnd = Convert.ToDateTime(ultraGrid1.ActiveRow.Cells["MRPERIODEND"].Value.ToString()).Date;
  1258. //rem.MrPeriodStart = Convert.ToDateTime(txt_MRPERIODSTART.Text).Date;
  1259. rem.UrgencyType = "1";
  1260. rem.ReqOrgName = UserInfo.GetDepartment();//申请者机构名称
  1261. rem.ReqOrgId = UserInfo.GetDeptid();//申请者机构ID
  1262. rem.Validflag = "1";
  1263. rem.RequireType = "122103";//生产性物料预采,系统自动生成,RPA160700003-002 RPA160700003-001
  1264. rem.MrId = strYcMrId;
  1265. EntityPurPlanD ppd = new EntityPurPlanD();
  1266. ppd = this.execute<EntityPurPlanD>("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.Rows[i].Cells["MrLineId"].Value.ToString() });//添加操作
  1267. ReqD = EntityHelper.CopyEntity<RequirePlanD>(ppd);
  1268. ReqD.MrLineId = strYcMrId + "-001";
  1269. ReqD.MrId = strYcMrId;
  1270. ReqD.Remark = "由预采补充需求计划行信息";
  1271. ReqD.BuyerDeptCode = "";
  1272. ReqD.BuyerDeptDesc = "";
  1273. ReqD.BuyerUnitCode = "";
  1274. ReqD.BuyerUnitDesc = "";
  1275. ReqD.Validflag = "1";
  1276. ReqD.FlagGeneratedPurPlan = "4";
  1277. ReqD.Qty = bQTYYC;
  1278. ReqD.QtyPur = bQTYYC;
  1279. ReqD.BudgetAmt = bQTYYC * (ReqD.BugPrice == null ? 0 : ReqD.BugPrice);
  1280. ReqD.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  1281. ReqD.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
  1282. ReqD.CreateTime = DateTime.Now;
  1283. ReqD.FlagGeneratedPurPlan = "1";
  1284. //2016年2月28新增leitao
  1285. ReqD.DeliveryLocationFlag = "0";
  1286. ReqD.DeliveryLocation = "";
  1287. ReqD.DeliveryLocationCode = "";
  1288. ReqD.AuditFlag = "1";
  1289. ReqD.AuditMsg = "默认审批通过";
  1290. //插入关系表
  1291. ReqR.PurLineId = ppd.MrLineId;
  1292. ReqR.CreateTime = DateTime.Now;
  1293. ReqR.RequireLineId = ReqD.MrLineId;
  1294. ReqR.ID = ReqD.MrLineId + ppd.MrLineId;
  1295. rpr = EntityHelper.CopyEntity<RequireReceive>(ReqD);
  1296. rpr.PurLineId = ppd.MrLineId;
  1297. rpr.Id = ReqD.MrLineId + ppd.MrLineId;
  1298. rpr.Status = "2";
  1299. rpr.LastDeliveryDate = ppd.AskDeliverDate;
  1300. rpr.LjhTime = System.DateTime.Now;
  1301. rpr.Purtype = "3";
  1302. rpr.OriQty = bQTYYC;
  1303. rpr.OriQtyPur = bQTYYC;
  1304. rpr.Qty = bQTYYC;
  1305. rpr.QtyPur = bQTYYC;
  1306. alrem.Add(rem);
  1307. alReqD.Add(ReqD);
  1308. alReqR.Add(ReqR);
  1309. alrpr.Add(rpr);
  1310. }
  1311. else//不用补预采需求
  1312. {
  1313. }
  1314. }
  1315. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { alrem, alReqD, alReqR, alrpr, ppm });//添加操作
  1316. return crt;
  1317. }
  1318. /// <summary>
  1319. /// 撤销提报,删除预采需求
  1320. /// </summary>
  1321. /// <param name="ppm"></param>
  1322. /// <returns></returns>
  1323. private CoreResult setRequireD(EntityPurPlanM ppm)
  1324. {
  1325. ArrayList alrem = new ArrayList();
  1326. ArrayList alReqD = new ArrayList();
  1327. ArrayList alReqR = new ArrayList();
  1328. ArrayList alrpr = new ArrayList();
  1329. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  1330. {
  1331. double bQTYYC = 0;
  1332. double.TryParse(ultraGrid2.Rows[i].Cells["QTYYC"].Value.ToString(), out bQTYYC);
  1333. if (bQTYYC > 0)
  1334. {
  1335. if (ultraGrid2.Rows[i].HasChild())
  1336. {
  1337. for (int j = 0; j < ultraGrid2.Rows[i].ChildBands[0].Rows.Count; j++)
  1338. {
  1339. if (ultraGrid2.Rows[i].ChildBands[0].Rows[j].Cells["Remark"].Value.ToString() == "由预采补充需求计划行信息")
  1340. {
  1341. RequirePlanM rem = new RequirePlanM();
  1342. RequirePlanD ReqD = new RequirePlanD();
  1343. ReqPurPlanR ReqR = new ReqPurPlanR();
  1344. RequireReceive rpr = new RequireReceive();
  1345. ReqD.MrLineId = ultraGrid2.Rows[i].ChildBands[0].Rows[j].Cells["MrLineId"].Value.ToString();
  1346. ReqD.MrId = ultraGrid2.Rows[i].Cells["MrLineId"].Value.ToString();
  1347. alrem.Add(rem);
  1348. alReqD.Add(ReqD);
  1349. alReqR.Add(ReqR);
  1350. alrpr.Add(rpr);
  1351. //alReqD.Add(ReqD);
  1352. break;
  1353. }
  1354. }
  1355. }
  1356. }
  1357. }
  1358. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { alrem, alReqD, alReqR, alrpr, ppm });//添加操作
  1359. return crt;
  1360. }
  1361. //绑定查询的物料分类
  1362. private void getBindItemMiddleClass()
  1363. {
  1364. DataTable dt= comm.getDtGroupBy_reDt(dataTable2, "basename");
  1365. comm.setUltraComboEditorBind(txt_ItemMiddleClass, dt, "basename", "basecode", "全部", "");
  1366. }
  1367. private void ck_Mtime_CheckedChanged(object sender, EventArgs e)
  1368. {
  1369. cop_planMouthStart.Enabled = ck_Mtime.Checked;
  1370. cop_planMouthEnd.Enabled = ck_Mtime.Checked;
  1371. }
  1372. #region 行编辑区
  1373. /// <summary>
  1374. /// 按照物料为别过滤物料
  1375. /// </summary>
  1376. /// <param name="sender"></param>
  1377. /// <param name="e"></param>
  1378. private void btn_selectD_Click(object sender, EventArgs e)
  1379. {
  1380. if (txt_ItemMiddleClass.Value == null)
  1381. {
  1382. return;
  1383. }
  1384. EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  1385. PurPlanDEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
  1386. PurPlanDEntity.Validflag = "1";
  1387. PurPlanDEntity.ItemCode = txt_ItemMiddleClass.Value.ToString();
  1388. get_PUR_PLAN_D(PurPlanDEntity);//查询采购计划详表
  1389. }
  1390. private void btn_deleteD_Click(object sender, EventArgs e)
  1391. {
  1392. if (ultraGrid1.ActiveRow != null)
  1393. {
  1394. if (getPlanCreateName() != this.UserInfo.GetUserName())
  1395. {
  1396. MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能撤销");
  1397. return;
  1398. }
  1399. string strPlanStatus = getPlanStatusNum();//采购计划主表状态
  1400. if (strPlanStatus != "1" && strPlanStatus != "4")
  1401. {
  1402. MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能编辑采购计划");
  1403. return;
  1404. }
  1405. if (ultraGrid2.ActiveRow == null)
  1406. {
  1407. MessageUtil.ShowTips("请选择采购计划行");
  1408. return;
  1409. }
  1410. String strPurLineId = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim();
  1411. if (String.IsNullOrEmpty(strPurLineId))
  1412. {
  1413. MessageUtil.ShowTips("请选择的采购计划行号为空");
  1414. return;
  1415. }
  1416. if (MessageUtil.ShowYesNoAndQuestion("确定撤销采购计划行【" + strPurLineId + "】? 若撤销,该采购计划行下的脱单挂单利库将同步取消。") == DialogResult.No)
  1417. {
  1418. return;
  1419. }
  1420. EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
  1421. PurPlanDEntity.Validflag = "0";
  1422. //PurPlanMEntity.Status = "0";
  1423. PurPlanDEntity.DeleteName = UserInfo.GetUserName();
  1424. PurPlanDEntity.DeleteTime = System.DateTime.Now;
  1425. PurPlanDEntity.DeleteUserid = UserInfo.GetUserID();
  1426. PurPlanDEntity.MrLineId = strPurLineId;
  1427. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.PurPlanDService", "doDelete_d", new object[] { PurPlanDEntity });//删除操作
  1428. if (crt.Resultcode != 0)
  1429. {
  1430. MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg);
  1431. return;
  1432. }
  1433. MessageUtil.ShowTips("撤销成功!");
  1434. EntityPurPlanM PurPlanMEntity1 = new EntityPurPlanM();
  1435. PurPlanMEntity1.Validflag = "1";
  1436. get_PUR_PLAN_M();//刷新采购计划主表
  1437. }
  1438. else
  1439. {
  1440. MessageUtil.ShowTips("请选择采购计划主表!");
  1441. }
  1442. }
  1443. private void btn_addD_Click(object sender, EventArgs e)
  1444. {
  1445. if (ultraGrid2.ActiveRow == null)
  1446. {
  1447. MessageUtil.ShowTips("请选择采购计划行");
  1448. return;
  1449. }
  1450. String strPurLineId = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim();
  1451. if (String.IsNullOrEmpty(strPurLineId))
  1452. {
  1453. MessageUtil.ShowTips("请选择的采购计划行号为空");
  1454. return;
  1455. }
  1456. }
  1457. #endregion
  1458. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  1459. {
  1460. if (e.Row.Cells["status"].Value.ToString().StartsWith("审批不通过"))
  1461. {
  1462. e.Row.Appearance.ForeColor = Color.Red;
  1463. }
  1464. else
  1465. {
  1466. e.Row.Appearance.ForeColor = Color.Black;
  1467. }
  1468. }
  1469. }
  1470. }