F_PC_0103_1.cs 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:F_PC_0103_1.cs
  5. * 2.功能描述:编辑成型线信息
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 王鑫 2015/09/25 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Drawing;
  14. using System.Text;
  15. using System.Windows.Forms;
  16. using Dongke.IBOSS.PRD.Basics.BaseControls;
  17. using Dongke.IBOSS.PRD.Basics.BaseResources;
  18. using Dongke.IBOSS.PRD.Client.CommonModule;
  19. using Dongke.IBOSS.PRD.Client.Controls;
  20. using Dongke.IBOSS.PRD.Client.DataModels;
  21. using Dongke.IBOSS.PRD.WCF.DataModels;
  22. using Dongke.IBOSS.PRD.WCF.Proxys;
  23. namespace Dongke.IBOSS.PRD.Client.PCModule
  24. {
  25. public partial class F_PC_0103_1 : FormBase
  26. {
  27. #region 成员变量
  28. //当前编辑成型线ID
  29. private int _groutingLineId;
  30. //当前编辑成型线实体
  31. private GroutingLineEntity _lineEntity = new GroutingLineEntity();
  32. //当前编辑成型线明细集合
  33. private List<GroutingLineDetailEntity> _detailList = new List<GroutingLineDetailEntity>();
  34. //当前编辑成型线新增明细集合
  35. private List<GroutingLineDetailEntity> _AddDetailList = new List<GroutingLineDetailEntity>();
  36. //需要添加的成型工号明细集合
  37. public List<GroutingLineUserEntity> _addDetailUserList = new List<GroutingLineUserEntity>();
  38. //模具总数量
  39. private int _mouldCount = 0;
  40. //修改前成型线编号
  41. private string _lineCode = "";
  42. //范围权限
  43. private string _purview;
  44. private string _userCodeValue;
  45. private bool _ShowFlag = true;
  46. //默认条数
  47. private int defaultRow = 0;
  48. /// <summary>
  49. /// 模具操作状态
  50. /// </summary>
  51. private int _gmouldstatus = 0;
  52. /// <summary>
  53. /// 整线变产原数据
  54. /// </summary>
  55. private DataTable _oldDetail = null;
  56. #endregion
  57. #region 构造函数
  58. /// <summary>
  59. /// 编辑成型线窗体构造
  60. /// </summary>
  61. public F_PC_0103_1(int GroutingLineId)
  62. {
  63. InitializeComponent();
  64. this._groutingLineId = GroutingLineId;
  65. this.Text = FormTitles.F_PC_0103;
  66. this.btnSave.Text = ButtonText.BTN_SAVE;
  67. this.btnCancel.Text = ButtonText.BTN_CLOSE;
  68. this.btnAddMould.Text = ButtonText.BTN_ADDMOULD;
  69. this.btnDeleteSelected.Text = ButtonText.BTN_DELETESELECTED;
  70. this.scbUser1.DisplayMember = "USERNAMECode";
  71. this.scbUser1.ValueMember = "UserID";
  72. DataTable dtUser = new DataTable();
  73. dtUser.Columns.Add("UserID");
  74. dtUser.Columns.Add("UserCode");
  75. dtUser.Columns.Add("UserName");
  76. dtUser.Columns.Add("StaffNames");
  77. dtUser.Columns.Add("Remark");
  78. dtUser.Columns["UserID"].Unique = true;
  79. this.dgvUser.DataSource = dtUser;
  80. }
  81. /// <summary>
  82. /// 模具操作
  83. /// </summary>
  84. /// <param name="GroutingLineId"></param>
  85. /// <param name="GMouldStatus">0:上模,4:结束变产</param>
  86. public F_PC_0103_1(int GroutingLineId, int GMouldStatus)
  87. : this(GroutingLineId)
  88. {
  89. this._gmouldstatus = GMouldStatus;
  90. this.tabControl1.SelectedIndex = 1;
  91. this.dgvUser.AllowUserToAddRows = false;
  92. this.dgvUser.ReadOnly = true;
  93. this.c_GroupBox1.Enabled = false;
  94. this.scbUser1.DisplayMember = "USERNAMECode";
  95. this.scbUser1.ValueMember = "UserID";
  96. if (this._gmouldstatus == 0)
  97. {
  98. this.Text = "模具管理-上模";
  99. }
  100. if (this._gmouldstatus == 4)
  101. {
  102. this.Text = "模具管理-结束整线变产";
  103. }
  104. }
  105. #endregion
  106. #region 事件
  107. /// <summary>
  108. /// 窗体加载
  109. /// </summary>
  110. private void F_PC_0103_Load(object sender, EventArgs e)
  111. {
  112. try
  113. {
  114. this.dgvUser.AutoGenerateColumns = false;
  115. this.dgvDetail.AutoGenerateColumns = false;
  116. this.BindGrouting();
  117. //_groutingLineId
  118. ////DataSet dsUserList = (DataSet)DoAsync(new BaseAsyncMethod(() =>
  119. ////{
  120. //// return PCModuleProxy.Service.GetGroutingLineUserDetailByMainId(_groutingLineId);
  121. ////}));
  122. DataSet dsUserList = PCModuleProxy.Service.GetGroutingLineUserDetailByMainId(_groutingLineId);
  123. if (dsUserList != null && dsUserList.Tables.Count > 0)
  124. {
  125. this.dgvUser.DataSource = dsUserList.Tables[0];
  126. dsUserList.Tables[0].Columns["userid"].Unique = true;
  127. }
  128. DataSet dsSetting = SystemModuleProxy.Service.GetSystemSettingDataByCode(Constant.SettingType.S_PC_001.ToString());
  129. if (dsSetting != null && dsSetting.Tables[0].Rows.Count > 0)
  130. {
  131. string flag = dsSetting.Tables[0].Rows[0]["SettingValue"].ToString();
  132. if (flag == "2")
  133. {
  134. this.rabBinding.Checked = true;
  135. this.rabAuto.Enabled = false;
  136. }
  137. else if (flag == "1")
  138. {
  139. this.rabBinding.Checked = true;
  140. }
  141. else
  142. {
  143. this.rabAuto.Checked = true;
  144. }
  145. }
  146. }
  147. catch (Exception ex)
  148. {
  149. // 对异常进行共通处理
  150. ExceptionManager.HandleEventException(this.ToString(),
  151. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  152. }
  153. }
  154. /// <summary>
  155. /// 提交编辑
  156. /// </summary>
  157. private void btnSave_Click(object sender, EventArgs e)
  158. {
  159. try
  160. {
  161. int ErrorId = ValidationText();
  162. if (ErrorId != Constant.INT_IS_ZERO)
  163. {
  164. string errorAddress = "";
  165. switch (ErrorId)
  166. {
  167. case 4:
  168. this.txtGroutingLineCode.Focus();
  169. errorAddress = "成型线编码";
  170. break;
  171. case 5:
  172. this.txtGroutingLineName.Focus();
  173. errorAddress = "成型线名称";
  174. break;
  175. //case 7:
  176. // this.dkUser.Focus();
  177. // errorAddress = "工号";
  178. // break;
  179. case 8:
  180. this.scbGMouldType.Focus();
  181. errorAddress = "成型线类别";
  182. break;
  183. default:
  184. break;
  185. };
  186. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, errorAddress),
  187. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
  188. return;
  189. }
  190. if (LogInUserInfo.CurrentUser.CurrentUserEntity.AccountCode == "imex")
  191. {
  192. if (this.scbUser1.ValueFrom == WinForm.Controls.SearchBoxValueFrom.InitValue &&
  193. this._lineEntity.MonitorID == null)
  194. {
  195. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型班长"),
  196. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
  197. return;
  198. }
  199. if (this.scbUser1.ValueFrom != WinForm.Controls.SearchBoxValueFrom.InitValue &&
  200. this.scbUser1.SearchedItem == null)
  201. {
  202. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型班长"),
  203. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
  204. return;
  205. }
  206. }
  207. //this._lineEntity.BUILDINGNO = this.txtBuildingNo.Text.Trim();
  208. //this._lineEntity.FLOORNO = this.txtFloorNo.Text.Trim();
  209. //this._lineEntity.GROUTINGLINENO = this.txtGroutingLineNo.Text.Trim();
  210. this._lineEntity.GROUTINGLINECODE = this.txtGroutingLineCode.Text.Trim();
  211. this._lineEntity.GROUTINGLINENAME = this.txtGroutingLineName.Text.Trim();
  212. this._lineEntity.REMARKS = this.txtRemarks.Text.Trim();
  213. //xuwei add 2019-11-13 高压注浆
  214. this._lineEntity.HIGHPRESSUREFLAG = HighPressureFlag.Checked ? 1 : 0;
  215. //xuwei end
  216. //xuwei add 2021-09-12 部门
  217. this._lineEntity.WORKSHOP = Convert.ToInt32(txtWorkShop.Text);
  218. //xuwei end
  219. //this._lineEntity.USERID = this.dkUser.UserID;
  220. this._lineEntity.MOULDTYPEID = this.scbGMouldType.SearchedPKMember;
  221. if (this.scbUser1.SearchedItem != null)
  222. {
  223. this._lineEntity.MonitorID = Convert.ToInt32(this.scbUser1.SearchedValue);
  224. this._lineEntity.MonitorCode = this.scbUser1.SearchedItem["Usercode"] + "";
  225. }
  226. else if(this.scbUser1.ValueFrom == WinForm.Controls.SearchBoxValueFrom.InitValue)
  227. {
  228. //this._lineEntity.MonitorID = Convert.ToInt32(this.scbUser1.SearchedValue);
  229. //this._lineEntity.MonitorCode = this.scbUser1.InitItems[0] + "";
  230. }
  231. else
  232. {
  233. this._lineEntity.MonitorID = null;
  234. this._lineEntity.MonitorCode = null;
  235. }
  236. //this._lineEntity.CANMANYTIMES = this.dkType.IsCanManyTimes;
  237. //this._lineEntity.MOULDQUANTITY = _detailList.Count + _AddDetailList.Count;
  238. this._lineEntity.MOULDQUANTITY = this.dgvDetail.RowCount;
  239. //if (this.cbValueFlag.Checked == false)
  240. //{
  241. // this._lineEntity.VALUEFLAG = Convert.ToInt32(Constant.ValueFlag.Invalid);
  242. //}
  243. //else
  244. //{
  245. // this._lineEntity.VALUEFLAG = Convert.ToInt32(Constant.ValueFlag.Effective);
  246. //}
  247. if (this.chkEnable.Checked)
  248. {
  249. this._lineEntity.ValueFlag2 = "1";
  250. }
  251. else
  252. {
  253. this._lineEntity.ValueFlag2 = "2";
  254. }
  255. if (this._lineCode != this._lineEntity.GROUTINGLINECODE)
  256. {
  257. bool isHaveGroutingLineCode = (bool)DoAsync(new BaseAsyncMethod(() =>
  258. {
  259. return PCModuleProxy.Service.GroutingLineCodeIsRepeat(this.txtGroutingLineCode.Text);
  260. }));
  261. if (isHaveGroutingLineCode == false)
  262. {
  263. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型线编码"),
  264. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  265. return;
  266. }
  267. }
  268. DataTable dtUser = this.dgvUser.DataSource as DataTable;
  269. dtUser.TableName = "dtUser";
  270. dtUser.AcceptChanges();
  271. //this._addDetailUserList.Clear();
  272. //foreach (DataRow r in dtUser.Rows)
  273. //{
  274. // GroutingLineUserEntity entity = new GroutingLineUserEntity();
  275. // entity.USERID = Convert.ToInt32(r["USERID"]);
  276. // entity.REMARK = r["REMARK"].ToString();
  277. // this._addDetailUserList.Add(entity);
  278. //}
  279. if (dtUser.Rows.Count == Constant.INT_IS_ZERO)
  280. {
  281. /* 成型线可以不绑定成型工号 chenxy 2019-10-08
  282. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型工号"), this.Text,
  283. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  284. this.tabControl1.SelectTab(0);
  285. return;
  286. */
  287. }
  288. else
  289. {
  290. DataRow[] dr = dtUser.Select("UserName='' or UserName is null");
  291. if (dr.Length > 0)
  292. {
  293. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型工号"), this.Text,
  294. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  295. this.tabControl1.SelectTab(0);
  296. return;
  297. }
  298. }
  299. if (dtUser.Rows.Count > 0)
  300. {
  301. _lineEntity.USERID = Convert.ToInt32(dtUser.Rows[0]["UserID"]);
  302. }
  303. else
  304. {
  305. _lineEntity.USERID = null;
  306. }
  307. //更新注浆次数
  308. DataTable dtDetail = this.dgvDetail.DataSource as DataTable;
  309. //if (dtDetail == null || dtDetail.Rows.Count == Constant.INT_IS_ZERO)
  310. //{
  311. // MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "模具信息"), this.Text,
  312. // MessageBoxButtons.OK, MessageBoxIcon.Warning);
  313. // return;
  314. //}
  315. DataTable dt1 = null;
  316. DataRow[] drNewFlag_Zero = dtDetail.Select("NewFlag=0");
  317. if (drNewFlag_Zero.Length > 0)
  318. {
  319. dt1 = drNewFlag_Zero.CopyToDataTable();
  320. dt1.TableName = "dt1";
  321. }
  322. DataTable dt2 = null;
  323. DataRow[] drNewFlag_One = dtDetail.Select("NewFlag=1");
  324. if (drNewFlag_One.Length > 0)
  325. {
  326. dt2 = drNewFlag_One.CopyToDataTable();
  327. dt2.TableName = "dt2";
  328. }
  329. //for (int i = 0; i < _AddDetailList.Count; i++)
  330. //{
  331. // _AddDetailList[i].GROUTINGCOUNT = Convert.ToDecimal(dtDetail.Rows[defaultRow + i]["GROUTINGCOUNT"]);
  332. // _AddDetailList[i].REMARKS = dtDetail.Rows[defaultRow + i]["REMARKS"].ToString();
  333. //}
  334. //DataTable dt = this.dgvDetail1.DataSource as DataTable;
  335. //if (dt != null)
  336. //{
  337. //for (int i = 0; i < _detailList.Count; i++)
  338. //{
  339. // this._detailList[i].REMARKS = dtDetail.Rows[i]["Remarks"].ToString();
  340. //}
  341. //}
  342. if (!this.c_GroupBox1.Enabled)
  343. {
  344. // 上摸 或 整线变产
  345. _lineEntity.GROUTINGLINEIDS = "0";
  346. }
  347. ServiceResultEntity myReturn = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
  348. {
  349. if (this._gmouldstatus != 4)
  350. {
  351. return PCModuleProxy.Service.UpdateGroutingLine_NewLine(_lineEntity, dt2, dtUser, dt1);
  352. }
  353. else
  354. {
  355. // 整线变产
  356. return PCModuleProxy.Service.UpdateAllLineEndGroutingLineDetail(dt2, _oldDetail, this._lineEntity.GROUTINGLINEID.Value, this._lineEntity.OPTIMESTAMP);
  357. }
  358. }));
  359. if (myReturn != null)
  360. {
  361. if (myReturn.Status == Constant.ServiceResultStatus.Success)
  362. {
  363. MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "成型线信息", "保存"),
  364. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
  365. this.DialogResult = DialogResult.OK;
  366. return;
  367. }
  368. else if (myReturn.OtherStatus == -500)
  369. {
  370. MessageBox.Show(Messages.MSG_CMN_W012, this.Text,
  371. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  372. this.Close();
  373. }
  374. else if (myReturn.OtherStatus == -2)
  375. {
  376. MessageBox.Show(Messages.MSG_CMN_W029,
  377. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  378. }
  379. else
  380. {
  381. MessageBox.Show(myReturn.Message,
  382. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  383. }
  384. }
  385. else
  386. {
  387. MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "成型线信息", "保存"),
  388. this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  389. }
  390. }
  391. catch (Exception ex)
  392. {
  393. // 对异常进行共通处理
  394. ExceptionManager.HandleEventException(this.ToString(),
  395. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  396. }
  397. }
  398. /// <summary>
  399. /// 关闭窗体
  400. /// </summary>
  401. private void btnCancel_Click(object sender, EventArgs e)
  402. {
  403. this.Close();
  404. }
  405. /// <summary>
  406. /// 工号单元格开始编辑事件
  407. /// </summary>
  408. /// <param name="sender"></param>
  409. /// <param name="e"></param>
  410. private void dgvUser_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
  411. {
  412. try
  413. {
  414. if (this.dgvUser.Rows.Count <= 1)
  415. {
  416. return;
  417. }
  418. DataGridViewColumn columnItem = this.dgvUser.Columns[e.ColumnIndex];
  419. if ("UserCode".Equals(columnItem.Name))
  420. {
  421. _userCodeValue = this.dgvUser.Rows[e.RowIndex].Cells[columnItem.Name].Value + "";
  422. }
  423. }
  424. catch (Exception ex)
  425. {
  426. // 对异常进行共通处理
  427. ExceptionManager.HandleEventException(this.ToString(),
  428. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  429. }
  430. }
  431. /// <summary>
  432. /// 删除新建明细信息
  433. /// </summary>
  434. private void btnDeleteSelected_Click(object sender, EventArgs e)
  435. {
  436. try
  437. {
  438. DataRowView drv = this.dgvDetail.CurrentRow.DataBoundItem as DataRowView;
  439. if (drv == null)
  440. {
  441. return;
  442. }
  443. if (Convert.ToInt32(drv["NewFlag"]) == 1)
  444. {
  445. ////DataTable dt = drv.Row.Table;
  446. //drv.Delete();
  447. ////dt.AcceptChanges();
  448. // 一模多产时,同一模具一同清除。 add by chenxy 2018-10-29
  449. if (drv["MouldID"] != DBNull.Value)
  450. {
  451. DataTable dt = this.dgvDetail.DataSource as DataTable;
  452. DataRow[] drs = dt.Select("MouldID = " + drv["MouldID"]);
  453. if (drs.Length > 1)
  454. {
  455. foreach (DataRow item in drs)
  456. {
  457. item.Delete();
  458. }
  459. }
  460. else
  461. {
  462. drv.Delete();
  463. }
  464. }
  465. else
  466. {
  467. drv.Delete();
  468. }
  469. }
  470. else
  471. {
  472. MessageBox.Show(Messages.MSG_PC_W002, this.Text,
  473. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  474. return;
  475. }
  476. //DataTable dt = this.dgvDetail.DataSource as DataTable;
  477. //dt.Rows[currentRow.Index].Delete();
  478. //dt.AcceptChanges();
  479. //this.dgvDetail.DataSource = dt;// ListToTable();
  480. //this.dgvDetail1.DataSource = this.ListToTable();
  481. //this.dgvUser.IsSetInputColumnsColor = true;
  482. //this.dgvDetail.IsSetInputColumnsColor = true;
  483. // 重置哪个单元格是只读
  484. //foreach (DataGridViewRow row in this.dgvDetail.Rows)
  485. //{
  486. // //遍历以前模具编号
  487. // for (int i = 0; i < this._detailList.Count; i++)
  488. // {
  489. // if (row.Cells["GroutingMouldCode"].Value.ToString() == _detailList[i].GROUTINGMOULDCODE)
  490. // {
  491. // row.Cells["GROUTINGCOUNT"].ReadOnly = true;
  492. // break;
  493. // }
  494. // else
  495. // {
  496. // row.Cells["GROUTINGCOUNT"].ReadOnly = false;
  497. // }
  498. // }
  499. //}
  500. //this.dgvDetail.IsSetInputColumnsColor = true;
  501. }
  502. catch (Exception ex)
  503. {
  504. // 对异常进行共通处理
  505. ExceptionManager.HandleEventException(this.ToString(),
  506. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  507. }
  508. }
  509. /// <summary>
  510. /// 新建明细信息
  511. /// </summary>
  512. private void btnAddMould_Click(object sender, EventArgs e)
  513. {
  514. try
  515. {
  516. if (this.txtGroutingLineCode.Text == string.Empty)
  517. {
  518. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型线编码"), this.Text,
  519. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  520. return;
  521. }
  522. if (this.txtCount.Text == "")
  523. {
  524. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "模具数量"), this.Text,
  525. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  526. return;
  527. }
  528. if (this.txtStandardGroutingCount.Text == "")
  529. {
  530. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "标准注浆次数"), this.Text,
  531. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  532. return;
  533. }
  534. if (this.scbGoods.SearchedPKMember == 0)
  535. {
  536. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "模具产品"), this.Text,
  537. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  538. return;
  539. }
  540. if (Convert.ToInt32(txtBeginNum.Text) + Convert.ToInt32(txtCount.Text) > 999)
  541. {
  542. MessageBox.Show("成型线模具数量不可超过999个!", this.Text,
  543. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  544. return;
  545. }
  546. //if (this._mouldCount == 999)
  547. //{
  548. // MessageBox.Show("成型线模具数量不可超过999个!", this.Text,
  549. // MessageBoxButtons.OK, MessageBoxIcon.Warning);
  550. // return;
  551. //}
  552. //for (int i = 0; i < Convert.ToInt32(this.txtCount.Text); i++)
  553. //{
  554. // int GroutingMouldCodeNum = i + _mouldCount;
  555. // GroutingLineDetailEntity detailInfo = new GroutingLineDetailEntity();
  556. // detailInfo.GROUTINGMOULDCODE = this.txtGroutingLineCode.Text + "-" + (GroutingMouldCodeNum + 1).ToString().PadLeft(3, '0');
  557. // detailInfo.MOULDCODE = Guid.NewGuid().ToString().ToUpper();
  558. // detailInfo.GOODSID = Convert.ToInt32(this.dkGoods.GoodsID);
  559. // detailInfo.GOODSNAME = this.dkGoods.GoodsName;
  560. // detailInfo.GOODSCODE = this.dkGoods.GoodsCode;
  561. // detailInfo.GoodsSpecification = this.dkGoods.GoodsSpecification;
  562. // detailInfo.GROUTINGCOUNT = Constant.INT_IS_ZERO;
  563. // detailInfo.MOULDSTATUS = Convert.ToInt32(Constant.GMouldStatus.Normal);
  564. // detailInfo.REMARKS = "";
  565. // detailInfo.VALUEFLAG = 1;
  566. // this._AddDetailList.Add(detailInfo);
  567. //}
  568. bool isError = false;
  569. DataTable dtDetail = this.dgvDetail.DataSource as DataTable;
  570. int BeginNum = Convert.ToInt32(this.txtBeginNum.Text);
  571. for (int i = 0; i < Convert.ToInt32(this.txtCount.Text); i++)
  572. {
  573. // int GroutingMouldCodeNum = BeginNum + _mouldCount;
  574. int GroutingMouldCodeNum = BeginNum;
  575. //GroutingLineDetailEntity detailInfo = new GroutingLineDetailEntity();
  576. string MOULDCODE = this.txtGroutingLineCode.Text + "-" + (GroutingMouldCodeNum).ToString().PadLeft(3, '0');
  577. DataTable dtInfo = this.dgvDetail.DataSource as DataTable;
  578. DataRow[] dr = dtInfo.Select("GroutingMouldCode='" + MOULDCODE + "'");
  579. if (dr.Length > 0)
  580. {
  581. isError = true;
  582. break;
  583. };
  584. //detailInfo.GROUTINGMOULDCODE = this.txtGroutingLineCode.Text + "-" + (GroutingMouldCodeNum).ToString().PadLeft(3, '0');
  585. //if (dtDetail != null)
  586. //{
  587. // DataRow[] dr = dtDetail.Select("GROUTINGMOULDCODE='" + detailInfo.GROUTINGMOULDCODE + "'");
  588. // if (dr.Length > 0)
  589. // {
  590. // isError = true;
  591. // break;
  592. // }
  593. //}
  594. //detailInfo.MOULDCODE = Guid.NewGuid().ToString().ToUpper();
  595. //detailInfo.GOODSID = Convert.ToInt32(this.dkGoods.GoodsID);
  596. //detailInfo.GOODSNAME = this.dkGoods.GoodsName;
  597. //detailInfo.GOODSCODE = this.dkGoods.GoodsCode;
  598. //detailInfo.GoodsSpecification = this.dkGoods.GoodsSpecification;
  599. //detailInfo.GROUTINGCOUNT = Constant.INT_IS_ZERO;
  600. //detailInfo.MOULDSTATUS = Convert.ToInt32(Constant.GMouldStatus.Normal);
  601. //detailInfo.REMARKS = "";
  602. //detailInfo.VALUEFLAG = 1;
  603. //this._AddDetailList.Add(detailInfo);
  604. DataRow r = dtInfo.NewRow();
  605. r["GroutingMouldCode"] = MOULDCODE;
  606. r["MouldSource"] = "0";
  607. r["MOULDCODE"] = Guid.NewGuid().ToString().ToUpper();
  608. r["GOODSID"] = scbGoods.SearchedPKMember;
  609. r["GOODSNAME"] = scbGoods.SearchedItem["GOODSNAME"];
  610. r["GOODSCODE"] = scbGoods.SearchedItem["GOODSCODE"];
  611. r["GoodsSpecification"] = scbGoods.SearchedItem["GOODSSPECIFICATION"];
  612. r["GROUTINGCOUNT"] = Convert.ToInt32(this.txtGroutingCount.DataValue ?? 0);
  613. r["StandardGroutingCount"] = Convert.ToInt32(this.txtStandardGroutingCount.DataValue.Value);
  614. //r["MOULDSTATUS"] = Convert.ToInt32(Constant.GMouldStatus.Normal);
  615. //r["REMARKS"] = "";
  616. r["NewFlag"] = 1;
  617. r["VALUEFLAG"] = 1;
  618. dtInfo.Rows.Add(r);
  619. BeginNum = BeginNum + 1;
  620. }
  621. if (isError)
  622. {
  623. BeginNum = Convert.ToInt32(this.txtBeginNum.Text);
  624. //有错误
  625. MessageBox.Show("存在相同的模具编号");
  626. return;
  627. }
  628. else
  629. {
  630. this.txtBeginNum.DataValue = BeginNum;
  631. }
  632. this._mouldCount += Convert.ToInt32(this.txtCount.Text);
  633. //this.dgvDetail.AutoGenerateColumns = false;
  634. //this.dgvDetail1.DataSource = ListToTable();
  635. // 重置哪个单元格是只读
  636. //foreach (DataGridViewRow row in this.dgvDetail.Rows)
  637. //{
  638. // //遍历以前模具编号
  639. // for (int i = 0; i < this._detailList.Count; i++)
  640. // {
  641. // if (row.Cells["GroutingMouldCode"].Value.ToString() == _detailList[i].GROUTINGMOULDCODE)
  642. // {
  643. // row.Cells["GROUTINGCOUNT"].ReadOnly = true;
  644. // break;
  645. // }
  646. // else
  647. // {
  648. // row.Cells["GROUTINGCOUNT"].ReadOnly = false;
  649. // }
  650. // }
  651. //}
  652. //this.dgvDetail.IsSetInputColumnsColor = true;
  653. }
  654. catch (Exception ex)
  655. {
  656. // 对异常进行共通处理
  657. ExceptionManager.HandleEventException(this.ToString(),
  658. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  659. }
  660. }
  661. /// <summary>
  662. /// 工号单元格值改变事件
  663. /// </summary>
  664. /// <param name="sender"></param>
  665. /// <param name="e"></param>
  666. private void dgvUser_CellValueChanged(object sender, DataGridViewCellEventArgs e)
  667. {
  668. try
  669. {
  670. if (this.dgvUser.Rows.Count <= 1 || !_ShowFlag)
  671. {
  672. return;
  673. }
  674. DataGridViewRow rowItem = this.dgvUser.Rows[e.RowIndex];
  675. DataGridViewColumn columnItem = this.dgvUser.Columns[e.ColumnIndex];
  676. // 用编号获取产品信息
  677. if ("UserCode".Equals(columnItem.Name))
  678. {
  679. _ShowFlag = false;
  680. FormUtility.BindUserRowDataSource(this.dgvUser,
  681. e.RowIndex, columnItem.Name, _userCodeValue);
  682. // 设置可输入单元格的颜色
  683. this.dgvUser.IsSetInputColumnsColor = true;
  684. }
  685. _ShowFlag = true;
  686. }
  687. catch (Exception ex)
  688. {
  689. //_ShowFlag = true;
  690. // 对异常进行共通处理
  691. ExceptionManager.HandleEventException(this.ToString(),
  692. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  693. }
  694. }
  695. /// <summary>
  696. /// 窗体加载后显示事件
  697. /// </summary>
  698. /// <param name="sender"></param>
  699. /// <param name="e"></param>
  700. private void F_PC_0103_1_Shown(object sender, EventArgs e)
  701. {
  702. //dgvDetail.IsSetInputColumnsColor = true;
  703. dgvUser.IsSetInputColumnsColor = true;
  704. }
  705. /// <summary>
  706. /// 容器切换事件
  707. /// </summary>
  708. /// <param name="sender"></param>
  709. /// <param name="e"></param>
  710. private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
  711. {
  712. //dgvDetail.IsSetInputColumnsColor = true;
  713. this.dgvUser.IsSetInputColumnsColor = true;
  714. }
  715. /// <summary>
  716. /// 工号排序事件
  717. /// </summary>
  718. /// <param name="sender"></param>
  719. /// <param name="e"></param>
  720. private void dgvUser_Sorted(object sender, EventArgs e)
  721. {
  722. this.dgvUser.IsSetInputColumnsColor = true;
  723. }
  724. /// <summary>
  725. /// 单元格只读
  726. /// </summary>
  727. /// <param name="sender"></param>
  728. /// <param name="e"></param>
  729. private void dgvDetail1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
  730. {
  731. if (this.dgvDetail.ReadOnly || e.RowIndex < 0)
  732. {
  733. return;
  734. }
  735. try
  736. {
  737. //e.InheritedRowStyle.BackColor = Color.White;
  738. if (!string.IsNullOrEmpty(dgvDetail.Rows[e.RowIndex].Cells["MouldID"].Value + ""))
  739. {
  740. // 模具档案
  741. this.dgvDetail.Rows[e.RowIndex].Cells["GroutingCount"].ReadOnly = true;
  742. this.dgvDetail.Rows[e.RowIndex].Cells["StandardGroutingCount"].ReadOnly = true;
  743. //this.dgvDetail.Rows[e.RowIndex].Cells["GroutingCount"].Style.BackColor
  744. // = Color.White;
  745. //this.dgvDetail.Rows[e.RowIndex].Cells["StandardGroutingCount"].Style.BackColor
  746. // = Color.White;
  747. }
  748. else if (dgvDetail.Rows[e.RowIndex].Cells["NewFlag"].Value + "" == "0")
  749. {
  750. // 自动生成模具
  751. this.dgvDetail.Rows[e.RowIndex].Cells["GroutingCount"].ReadOnly = true;
  752. this.dgvDetail.Rows[e.RowIndex].Cells["StandardGroutingCount"].ReadOnly = false;
  753. //this.dgvDetail.Rows[e.RowIndex].Cells["GroutingCount"].Style.BackColor
  754. // = ColorTranslator.FromHtml(ControlsConst.ALLOW_MODIFY_AREA_BACKGROUND_COLOR);
  755. //this.dgvDetail.Rows[e.RowIndex].Cells["StandardGroutingCount"].Style.BackColor
  756. // = Color.White;
  757. }
  758. else
  759. {
  760. // 新加模具
  761. this.dgvDetail.Rows[e.RowIndex].Cells["GroutingCount"].ReadOnly = false;
  762. this.dgvDetail.Rows[e.RowIndex].Cells["StandardGroutingCount"].ReadOnly = false;
  763. //this.dgvDetail.Rows[e.RowIndex].Cells["GroutingCount"].Style.BackColor
  764. // = ColorTranslator.FromHtml(ControlsConst.ALLOW_MODIFY_AREA_BACKGROUND_COLOR);
  765. //this.dgvDetail.Rows[e.RowIndex].Cells["StandardGroutingCount"].Style.BackColor
  766. // = ColorTranslator.FromHtml(ControlsConst.ALLOW_MODIFY_AREA_BACKGROUND_COLOR);
  767. }
  768. foreach (DataGridViewColumn item in dgvDetail.Columns)
  769. {
  770. if (!item.Visible)
  771. {
  772. continue;
  773. }
  774. if (item.ReadOnly || this.dgvDetail.Rows[e.RowIndex].Cells[item.Index].ReadOnly)
  775. {
  776. this.dgvDetail.Rows[e.RowIndex].Cells[item.Index].Style.BackColor
  777. = Color.White;
  778. }
  779. else
  780. {
  781. this.dgvDetail.Rows[e.RowIndex].Cells[item.Index].Style.BackColor
  782. = ColorTranslator.FromHtml(ControlsConst.ALLOW_MODIFY_AREA_BACKGROUND_COLOR);
  783. }
  784. }
  785. }
  786. catch (Exception ex)
  787. {
  788. // 对异常进行共通处理
  789. ExceptionManager.HandleEventException(this.ToString(),
  790. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  791. }
  792. }
  793. /// <summary>
  794. /// 自适应列宽
  795. /// </summary>
  796. /// <param name="sender"></param>
  797. /// <param name="e"></param>
  798. private void btnAdaptive_Click(object sender, EventArgs e)
  799. {
  800. this.dgvUser.AutoResizeColumns();
  801. this.dgvDetail.AutoResizeColumns();
  802. }
  803. /// <summary>
  804. /// 切换模具来源
  805. /// </summary>
  806. /// <param name="sender"></param>
  807. /// <param name="e"></param>
  808. private void rabAuto_CheckedChanged(object sender, EventArgs e)
  809. {
  810. this.pnlAuto.Enabled = this.rabAuto.Checked;
  811. this.pnlBinding.Enabled = this.rabBinding.Checked;
  812. }
  813. /// <summary>
  814. /// 验证模具号
  815. /// </summary>
  816. /// <param name="sender"></param>
  817. /// <param name="e"></param>
  818. private void txtGMouldCode_Validating(object sender, System.ComponentModel.CancelEventArgs e)
  819. {
  820. if (this.txtGMouldCode.Text == "" || this.dgvDetail.Rows.Count == 0)
  821. {
  822. return;
  823. }
  824. try
  825. {
  826. string gMouldCode = this.txtGroutingLineCode.Text + "-" + this.txtGMouldCode.DataValue.Value.ToString().PadLeft(3, '0');
  827. DataTable dtInfo = this.dgvDetail.DataSource as DataTable;
  828. DataRow[] dr = dtInfo.Select("GroutingMouldCode='" + gMouldCode + "'");
  829. if (dr.Length > 0)
  830. {
  831. MessageBox.Show("存在相同的模具编号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  832. e.Cancel = true;
  833. return;
  834. };
  835. }
  836. catch (Exception ex)
  837. {
  838. //_ShowFlag = true;
  839. // 对异常进行共通处理
  840. ExceptionManager.HandleEventException(this.ToString(),
  841. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  842. }
  843. }
  844. /// <summary>
  845. /// 验证模具条码
  846. /// </summary>
  847. /// <param name="sender"></param>
  848. /// <param name="e"></param>
  849. private void txtBarcode_KeyDown(object sender, KeyEventArgs e)
  850. {
  851. if (e.KeyCode == Keys.Enter)
  852. {
  853. this.btnAddMouldBarcode_Click(null, null);
  854. }
  855. }
  856. /// <summary>
  857. /// 添加模具
  858. /// </summary>
  859. /// <param name="sender"></param>
  860. /// <param name="e"></param>
  861. private void btnAddMouldBarcode_Click(object sender, EventArgs e)
  862. {
  863. if (this.txtGroutingLineCode.Text == string.Empty)
  864. {
  865. MessageBox.Show(string.Format(Messages.MSG_CMN_W005, "成型线编码"), this.Text,
  866. MessageBoxButtons.OK, MessageBoxIcon.Warning);
  867. return;
  868. }
  869. if (this.txtGMouldCode.Text == "")
  870. {
  871. MessageBox.Show("没有设定模具号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  872. this.txtGMouldCode.Focus();
  873. return;
  874. }
  875. string barcode = this.txtBarcode.Text.Trim();
  876. if (barcode == "")
  877. {
  878. MessageBox.Show("没有输入模具条码", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  879. this.txtBarcode.Focus();
  880. return;
  881. }
  882. try
  883. {
  884. string gMouldCode = this.txtGroutingLineCode.Text + "-" + this.txtGMouldCode.DataValue.Value.ToString().PadLeft(3, '0');
  885. DataTable dtInfo = this.dgvDetail.DataSource as DataTable;
  886. DataRow[] dr = dtInfo.Select("GroutingMouldCode='" + gMouldCode + "'");
  887. if (dr.Length > 0)
  888. {
  889. MessageBox.Show("存在相同的模具编号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  890. this.txtGMouldCode.Focus();
  891. this.txtGMouldCode.SelectAll();
  892. return;
  893. }
  894. // 模具ID存在 是正常状态的成型模具
  895. dr = dtInfo.Select("MouldID is not null and MouldBarcode = '" + barcode + "'");
  896. if (dr.Length > 0)
  897. {
  898. MessageBox.Show("存在相同的模具条码", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  899. this.txtBarcode.Focus();
  900. this.txtBarcode.SelectAll();
  901. return;
  902. };
  903. // 验证模具条码状态
  904. ClientRequestEntity cre = new ClientRequestEntity();
  905. cre.NameSpace = "PC_Mould";
  906. cre.Name = "GetMouldData";
  907. cre.Properties["MouldBarcode"] = barcode;
  908. ServiceResultEntity sre = PCModuleProxyNew.Service.HandleRequest(cre);
  909. if (sre == null || sre.Data == null || sre.Data.Tables.Count == 0 || sre.Data.Tables[0].Rows.Count == 0)
  910. {
  911. MessageBox.Show("无效模具条码", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  912. this.txtBarcode.Focus();
  913. this.txtBarcode.SelectAll();
  914. return;
  915. }
  916. DataRow item = sre.Data.Tables["InfoData"].Rows[0];
  917. int mouldStatus = Convert.ToInt32(item["MouldStatus"]);
  918. if (mouldStatus != 1 && mouldStatus != 3)
  919. {
  920. MessageBox.Show("此模具当前状态为【" + item["MouldStatusName"] + "】,不能添加到成型线。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  921. this.txtBarcode.Focus();
  922. this.txtBarcode.SelectAll();
  923. return;
  924. }
  925. //DataRow r = dtInfo.NewRow();
  926. //r["GroutingMouldCode"] = gMouldCode;
  927. //r["MouldSource"] = "1";
  928. //r["MOULDID"] = item["MOULDID"];
  929. //r["MOULDCODE"] = item["MOULDCODE"];
  930. //r["MOULDBarcode"] = item["MOULDBarcode"];
  931. //r["GOODSID"] = item["GOODSID"];
  932. //r["GOODSNAME"] = item["GOODSNAME"];
  933. //r["GOODSCODE"] = item["GOODSCODE"];
  934. //r["GoodsSpecification"] = item["GoodsSpecification"];
  935. //r["GROUTINGCOUNT"] = item["GroutingNum"];
  936. //r["StandardGroutingCount"] = item["StandardGroutingNum"];
  937. ////r["MOULDSTATUS"] = Convert.ToInt32(Constant.GMouldStatus.Normal);
  938. ////r["REMARKS"] = "";
  939. //r["VALUEFLAG"] = "1";
  940. //r["NEWFLAG"] = "1";
  941. //dtInfo.Rows.Add(r);
  942. int outputCount = Convert.ToInt32(item["OutputCount"]);
  943. if (outputCount == 1)
  944. {
  945. DataRow r = dtInfo.NewRow();
  946. r["GroutingMouldCode"] = gMouldCode;
  947. r["MouldSource"] = "1";
  948. r["MOULDID"] = item["MOULDID"];
  949. r["MOULDCODE"] = item["MOULDCODE"];
  950. r["MOULDBarcode"] = item["MOULDBarcode"];
  951. r["GOODSID"] = item["GOODSID"];
  952. r["GOODSNAME"] = item["GOODSNAME"];
  953. r["GOODSCODE"] = item["GOODSCODE"];
  954. r["GoodsSpecification"] = item["GoodsSpecification"];
  955. r["GROUTINGCOUNT"] = item["GroutingNums"];
  956. r["StandardGroutingCount"] = item["StandardGroutingNum"];
  957. //r["MOULDSTATUS"] = Convert.ToInt32(Constant.GMouldStatus.Normal);
  958. //r["REMARKS"] = "";
  959. r["VALUEFLAG"] = "1";
  960. r["NEWFLAG"] = "1";
  961. dtInfo.Rows.Add(r);
  962. }
  963. else
  964. {
  965. // 一模多产时,必须绑定连续成型模具编号。 add by chenxy 2018-10-29
  966. string minGMouldCode = gMouldCode;
  967. int minIndex = Convert.ToInt32(this.txtGMouldCode.DataValue.Value);
  968. string maxGMouldCode = this.txtGroutingLineCode.Text + "-" + (minIndex + outputCount).ToString("000");
  969. DataRow[] grows = dtInfo.Select("GroutingMouldCode>='" + minGMouldCode + "' and GroutingMouldCode<'" + maxGMouldCode + "'");
  970. if (grows.Length > 0)
  971. {
  972. MessageBox.Show("此模具的产出数量为【" + outputCount + "】,当前成型模具编号不能连续添加,不能添加到成型线。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
  973. this.txtBarcode.Focus();
  974. this.txtBarcode.SelectAll();
  975. return;
  976. }
  977. //for (int i = 0; i < outputCount; i++)
  978. foreach (DataRow itemOutput in sre.Data.Tables["InfoData"].Rows)
  979. {
  980. DataRow r = dtInfo.NewRow();
  981. r["GroutingMouldCode"] = minGMouldCode;
  982. r["MouldSource"] = "1";
  983. r["MOULDID"] = item["MOULDID"];
  984. r["MOULDCODE"] = item["MOULDCODE"];
  985. r["MOULDBarcode"] = item["MOULDBarcode"];
  986. r["GOODSID"] = item["GOODSID"];
  987. r["GOODSNAME"] = item["GOODSNAME"];
  988. r["GOODSCODE"] = item["GOODSCODE"];
  989. r["GoodsSpecification"] = item["GoodsSpecification"];
  990. r["GROUTINGCOUNT"] = itemOutput["GroutingNum"];
  991. r["MouldOutputNo"] = itemOutput["OutputNo"];
  992. r["StandardGroutingCount"] = item["StandardGroutingNum"];
  993. //r["MOULDSTATUS"] = Convert.ToInt32(Constant.GMouldStatus.Normal);
  994. //r["REMARKS"] = "";
  995. r["VALUEFLAG"] = "1";
  996. r["NEWFLAG"] = "1";
  997. dtInfo.Rows.Add(r);
  998. minGMouldCode = this.txtGroutingLineCode.Text + "-" + (++minIndex).ToString("000");
  999. }
  1000. }
  1001. //foreach (DataGridViewRow row in dgvDetail.Rows)
  1002. //{
  1003. // if (string.IsNullOrEmpty(row.Cells["MouldID"].Value + ""))
  1004. // {
  1005. // // 自动生成模具
  1006. // row.Cells["GroutingCount"].ReadOnly = false;
  1007. // row.Cells["StandardGroutingCount"].ReadOnly = false;
  1008. // }
  1009. // else
  1010. // {
  1011. // // 模具档案
  1012. // row.Cells["GroutingCount"].ReadOnly = true;
  1013. // row.Cells["StandardGroutingCount"].ReadOnly = true;
  1014. // }
  1015. //}
  1016. //this.dgvDetail.IsSetInputColumnsColor = true;
  1017. //this.txtGMouldCode.DataValue = this.txtGMouldCode.DataValue.Value + 1;
  1018. this.txtGMouldCode.DataValue = this.txtGMouldCode.DataValue.Value + outputCount;
  1019. this.txtBarcode.Clear();
  1020. this.txtBarcode.Focus();
  1021. }
  1022. catch (Exception ex)
  1023. {
  1024. //_ShowFlag = true;
  1025. // 对异常进行共通处理
  1026. ExceptionManager.HandleEventException(this.ToString(),
  1027. System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
  1028. }
  1029. }
  1030. #endregion
  1031. #region 私有方法
  1032. /// <summary>
  1033. /// 加载成型线数据
  1034. /// </summary>
  1035. private void BindGrouting()
  1036. {
  1037. try
  1038. {
  1039. //首先绑定成型线基础信息
  1040. GroutingLineEntity ginfo = new GroutingLineEntity();
  1041. ginfo.GROUTINGLINEID = _groutingLineId;
  1042. ginfo.ValueFlag2 = "A";
  1043. //DataSet dsGroutingLine = (DataSet)DoAsync(new BaseAsyncMethod(() =>
  1044. //{
  1045. // return PCModuleProxy.Service.GetGroutingLine(ginfo);
  1046. //}));
  1047. DataSet dsGroutingLine = PCModuleProxy.Service.GetGroutingLine(ginfo);
  1048. if (dsGroutingLine.Tables[0].Rows.Count != Constant.INT_IS_ZERO)
  1049. {
  1050. //给实体绑定值
  1051. BindGroutingEntity(dsGroutingLine.Tables[0].Rows[0]);
  1052. //将实体值绑定给界面控件
  1053. //this.txtBuildingNo.Text = _lineEntity.BUILDINGNO;
  1054. //this.txtFloorNo.Text = _lineEntity.FLOORNO;
  1055. //this.txtGroutingLineNo.Text = _lineEntity.GROUTINGLINENO;
  1056. this.txtGroutingLineCode.Text = _lineEntity.GROUTINGLINECODE;
  1057. this.txtGroutingLineName.Text = _lineEntity.GROUTINGLINENAME;
  1058. this.txtRemarks.Text = _lineEntity.REMARKS;
  1059. //this.dkUser.UserID = _lineEntity.USERID;
  1060. //this.dkUser.UserName = dsGroutingLine.Tables[0].Rows[0]["UserName"].ToString();
  1061. //this.dkUser.UserCode = dsGroutingLine.Tables[0].Rows[0]["UserCode"].ToString();
  1062. //this.dkUser.Text = dsGroutingLine.Tables[0].Rows[0]["UserCode"].ToString();
  1063. //this.dkType.MouldTypeID = _lineEntity.MOULDTYPEID;
  1064. //this.dkType.MouldTypeName = dsGroutingLine.Tables[0].Rows[0]["GMouldTypeName"].ToString();
  1065. //this.dkType.Text = dsGroutingLine.Tables[0].Rows[0]["GMouldTypeName"].ToString();
  1066. this.scbGMouldType.CheckedData = dsGroutingLine.Tables[0];
  1067. this.scbGMouldType.Text = dsGroutingLine.Tables[0].Rows[0]["GMouldTypeName"] + "";
  1068. this.scbUser1.InitValue(_lineEntity.MonitorNameCode, _lineEntity.MonitorID, _lineEntity.MonitorCode);
  1069. //xuwei add 2019-11-13 高压注浆
  1070. this.HighPressureFlag.Checked = this._lineEntity.HIGHPRESSUREFLAG == 1 ? true : false;
  1071. //xuwei end
  1072. //xuwei add 2021-09-12 部门
  1073. this.txtWorkShop.Text = this._lineEntity.WORKSHOP.ToString();
  1074. //xuwei end
  1075. if (this._lineEntity.ValueFlag2 == "1")
  1076. {
  1077. this.chkEnable.Checked = true;
  1078. }
  1079. else
  1080. {
  1081. this.chkEnable.Checked = false;
  1082. }
  1083. this._lineCode = _lineEntity.GROUTINGLINECODE;
  1084. // 变产的成型线不能添加模具 begin
  1085. if (this._gmouldstatus == 0 &&
  1086. "4" == dsGroutingLine.Tables[0].Rows[0]["GMOULDSTATUS"].ToString())
  1087. {
  1088. this.panel1.Visible = false;
  1089. this.lblGStatus.Visible = true;
  1090. }
  1091. // 变产的成型线不能添加模具 end
  1092. }
  1093. //然后绑定该成型线所属的明细信息
  1094. BindDetailInfo(_groutingLineId);
  1095. foreach (DataGridViewRow row in this.dgvDetail.Rows)
  1096. {
  1097. row.Cells["GROUTINGCOUNT"].ReadOnly = true;
  1098. }
  1099. this.dgvDetail.IsSetInputColumnsColor = true;
  1100. }
  1101. catch (Exception ex)
  1102. {
  1103. throw ex;
  1104. }
  1105. }
  1106. /// <summary>
  1107. /// 将DataRow转换为实体
  1108. /// </summary>
  1109. private void BindGroutingEntity(DataRow drGrouting)
  1110. {
  1111. try
  1112. {
  1113. this._lineEntity.GROUTINGLINEID = Convert.ToInt32(drGrouting["GROUTINGLINEID"]);
  1114. this._lineEntity.BUILDINGNO = drGrouting["BUILDINGNO"].ToString();
  1115. this._lineEntity.FLOORNO = drGrouting["FLOORNO"].ToString();
  1116. this._lineEntity.GROUTINGLINENO = drGrouting["GROUTINGLINENO"].ToString();
  1117. this._lineEntity.GROUTINGLINECODE = drGrouting["GROUTINGLINECODE"].ToString();
  1118. this._lineEntity.GROUTINGLINENAME = drGrouting["GROUTINGLINENAME"].ToString();
  1119. //xuwei add 2019-11-13
  1120. //this._lineEntity.HIGHPRESSUREFLAG = Convert.ToInt32(drGrouting["HIGHPRESSUREFLAG"]);
  1121. if (drGrouting["HIGHPRESSUREFLAG"] == DBNull.Value)
  1122. {
  1123. this._lineEntity.HIGHPRESSUREFLAG = 0;
  1124. }
  1125. else
  1126. {
  1127. this._lineEntity.HIGHPRESSUREFLAG = Convert.ToInt32(drGrouting["HIGHPRESSUREFLAG"]);
  1128. }
  1129. //xuwei end
  1130. //xuwei add 2021-09-12
  1131. if (drGrouting["WORKSHOP"] == DBNull.Value)
  1132. {
  1133. this._lineEntity.WORKSHOP = 0;
  1134. }
  1135. else
  1136. {
  1137. this._lineEntity.WORKSHOP = Convert.ToInt32(drGrouting["WORKSHOP"]);
  1138. }
  1139. //xuwei end
  1140. this._lineEntity.MOULDQUANTITY = Convert.ToDecimal(drGrouting["MOULDQUANTITY"]);
  1141. this._lineEntity.MOULDTYPEID = Convert.ToInt32(drGrouting["GMOULDTYPEID"]);
  1142. if (drGrouting["USERID"] != null && drGrouting["USERID"] != DBNull.Value)
  1143. {
  1144. this._lineEntity.USERID = Convert.ToInt32(drGrouting["USERID"]);
  1145. }
  1146. object mid = drGrouting["MonitorID"];
  1147. if (mid != null && mid != DBNull.Value)
  1148. {
  1149. this._lineEntity.MonitorID = Convert.ToInt32(mid);
  1150. }
  1151. this._lineEntity.MonitorCode = drGrouting["MonitorCode"]+"";
  1152. this._lineEntity.MonitorNameCode = drGrouting["MonitorNameCode"] + "";
  1153. this._lineEntity.BEGINUSEDDATE = Convert.ToDateTime(drGrouting["BEGINUSEDDATE"]);
  1154. if (drGrouting["ENDUSEDDATE"].ToString() != string.Empty && drGrouting["ENDUSEDDATE"] != DBNull.Value)
  1155. {
  1156. this._lineEntity.ENDUSEDDATE = Convert.ToDateTime(drGrouting["ENDUSEDDATE"]);
  1157. }
  1158. this._lineEntity.MouldStatus = Convert.ToInt32(drGrouting["GMouldStatus"]);
  1159. if (drGrouting["REMARKS"].ToString() != string.Empty && drGrouting["REMARKS"] != DBNull.Value)
  1160. {
  1161. this._lineEntity.REMARKS = drGrouting["REMARKS"].ToString();
  1162. }
  1163. this._lineEntity.ACCOUNTID = Convert.ToInt32(drGrouting["ACCOUNTID"]);
  1164. this._lineEntity.VALUEFLAG = Convert.ToInt32(drGrouting["VALUEFLAG"]);
  1165. this._lineEntity.ValueFlag2 = drGrouting["VALUEFLAG2"].ToString();
  1166. this._lineEntity.CREATETIME = Convert.ToDateTime(drGrouting["CREATETIME"]);
  1167. this._lineEntity.CREATEUSERID = Convert.ToInt32(drGrouting["CREATEUSERID"]);
  1168. this._lineEntity.UPDATETIME = Convert.ToDateTime(drGrouting["UPDATETIME"]);
  1169. this._lineEntity.UPDATEUSERID = Convert.ToInt32(drGrouting["UPDATEUSERID"]);
  1170. this._lineEntity.OPTIMESTAMP = Convert.ToDateTime(drGrouting["OPTIMESTAMP"]);
  1171. }
  1172. catch (Exception ex)
  1173. {
  1174. throw ex;
  1175. }
  1176. }
  1177. /// <summary>
  1178. /// 根据成型线ID绑定该成型线所属成型线模具信息
  1179. /// </summary>
  1180. private void BindDetailInfo(int GroutingLineID)
  1181. {
  1182. try
  1183. {
  1184. //this.dgvDetail.AutoGenerateColumns = false;
  1185. //this.dgvDetail.IsSetInputColumnsColor = true;
  1186. //DataSet dsDetail = (DataSet)DoAsync(new BaseAsyncMethod(() =>
  1187. //{
  1188. // return PCModuleProxy.Service.GetGroutingLineDetailByMainId(GroutingLineID, null, 0);
  1189. //}));
  1190. DataSet dsDetail = PCModuleProxy.Service.GetGroutingLineDetailByMainId(GroutingLineID, null, 0);
  1191. //this.DataTableToListByDetail(dsDetail);
  1192. DataColumn newFlag = new DataColumn("NewFlag", typeof(int));
  1193. newFlag.DefaultValue = 0;
  1194. dsDetail.Tables[0].Columns.Add(newFlag);
  1195. dsDetail.Tables[0].DefaultView.Sort = "GroutingMouldCode";
  1196. // 结束变产操作删除变产前模具
  1197. if (this._gmouldstatus == 4)
  1198. {
  1199. _oldDetail = dsDetail.Tables[0].Copy();
  1200. foreach (DataRow item in dsDetail.Tables[0].Rows)
  1201. {
  1202. item.Delete();
  1203. }
  1204. dsDetail.Tables[0].AcceptChanges();
  1205. }
  1206. DataView dv = dsDetail.Tables[0].DefaultView;
  1207. if (dv.Count > 0)
  1208. {
  1209. string groutingMouldCode = dv[dv.Count - 1]["GroutingMouldCode"].ToString();
  1210. int lineIndexOf = groutingMouldCode.LastIndexOf("-") + 1;
  1211. this._mouldCount = Convert.ToInt32(groutingMouldCode.Substring(lineIndexOf));
  1212. }
  1213. this.dgvDetail.AutoGenerateColumns = false;
  1214. this.dgvDetail.DataSource = dsDetail.Tables[0];
  1215. dsDetail.Tables[0].Columns["GroutingMouldCode"].Unique = true;
  1216. }
  1217. catch (Exception ex)
  1218. {
  1219. throw ex;
  1220. }
  1221. }
  1222. /// <summary>
  1223. /// 将成型线明细DataSet数据集转换为实体集合
  1224. /// </summary>
  1225. private void DataTableToListByDetail(DataSet dsDetail)
  1226. {
  1227. try
  1228. {
  1229. this._detailList.Clear();
  1230. defaultRow = dsDetail.Tables[0].Rows.Count;
  1231. foreach (DataRow drFor in dsDetail.Tables[0].Rows)
  1232. {
  1233. if (drFor["ValueFlag"].ToString() == "1")
  1234. {
  1235. GroutingLineDetailEntity detailEntity = new GroutingLineDetailEntity();
  1236. detailEntity.GROUTINGLINEDETAILID = Convert.ToInt32(drFor["GROUTINGLINEDETAILID"]);
  1237. detailEntity.GROUTINGLINEID = Convert.ToInt32(drFor["GROUTINGLINEID"]);
  1238. detailEntity.GROUTINGMOULDCODE = drFor["GROUTINGMOULDCODE"].ToString();
  1239. detailEntity.MOULDCODE = drFor["MOULDCODE"].ToString();
  1240. detailEntity.GOODSID = Convert.ToInt32(drFor["GOODSID"]);
  1241. detailEntity.StandardGroutingCount = Convert.ToDecimal(drFor["StandardGroutingCount"]);
  1242. detailEntity.GROUTINGCOUNT = Convert.ToDecimal(drFor["GROUTINGCOUNT"]);
  1243. detailEntity.MOULDSTATUS = Convert.ToInt32(drFor["GMOULDSTATUS"]);
  1244. detailEntity.BEGINUSEDDATE = Convert.ToDateTime(drFor["BEGINUSEDDATE"]);
  1245. detailEntity.REMARKS = drFor["REMARKS"].ToString();
  1246. detailEntity.ACCOUNTID = Convert.ToInt32(drFor["ACCOUNTID"]);
  1247. detailEntity.VALUEFLAG = Convert.ToInt32(drFor["VALUEFLAG"]);
  1248. detailEntity.CREATETIME = Convert.ToDateTime(drFor["CREATETIME"]);
  1249. detailEntity.CREATEUSERID = Convert.ToInt32(drFor["CREATEUSERID"]);
  1250. detailEntity.UPDATETIME = Convert.ToDateTime(drFor["UPDATETIME"]);
  1251. detailEntity.UPDATEUSERID = Convert.ToInt32(drFor["UPDATEUSERID"]);
  1252. detailEntity.OPTIMESTAMP = Convert.ToDateTime(drFor["OPTIMESTAMP"]);
  1253. detailEntity.GOODSNAME = drFor["GOODSNAME"].ToString();
  1254. detailEntity.GROUTINGLINENAME = drFor["GMOULDSTATUSNAME"].ToString();
  1255. detailEntity.GOODSCODE = drFor["GOODSCODE"].ToString();
  1256. detailEntity.GoodsSpecification = drFor["GoodsSpecification"].ToString();
  1257. detailEntity.MouldOutputNo = drFor["MouldOutputNo"];
  1258. this._detailList.Add(detailEntity);
  1259. }
  1260. }
  1261. if (_detailList.Count != 0)
  1262. {
  1263. //获取最后一个模具编号的最后数字
  1264. int lineIndexOf = _detailList[_detailList.Count - 1].GROUTINGMOULDCODE.LastIndexOf("-") + 1;
  1265. this._mouldCount = Convert.ToInt32(_detailList[_detailList.Count - 1].GROUTINGMOULDCODE.Substring(lineIndexOf));
  1266. this.dgvDetail.AutoGenerateColumns = false;
  1267. this.dgvDetail.DataSource = ListToTable();
  1268. }
  1269. else
  1270. {
  1271. DataTable dtDataSourse = new DataTable();
  1272. dtDataSourse.Columns.Add("GROUTINGLINEDETAILID", System.Type.GetType("System.String"));
  1273. dtDataSourse.Columns.Add("MOULDCODE", System.Type.GetType("System.String"));
  1274. dtDataSourse.Columns.Add("GROUTINGMOULDCODE", System.Type.GetType("System.String"));
  1275. dtDataSourse.Columns.Add("GOODSID", System.Type.GetType("System.String"));
  1276. dtDataSourse.Columns.Add("GOODSNAME", System.Type.GetType("System.String"));
  1277. dtDataSourse.Columns.Add("GoodsCode", System.Type.GetType("System.String"));
  1278. dtDataSourse.Columns.Add("GoodsSpecification", System.Type.GetType("System.String"));
  1279. dtDataSourse.Columns.Add("REMARKS", System.Type.GetType("System.String"));
  1280. dtDataSourse.Columns.Add("MOULDSTATUS", System.Type.GetType("System.String"));
  1281. dtDataSourse.Columns.Add("StandardGroutingCount", typeof(decimal));
  1282. dtDataSourse.Columns.Add("GROUTINGCOUNT", typeof(decimal));
  1283. dtDataSourse.Columns.Add("MouldOutputNo", typeof(int));
  1284. dtDataSourse.Columns.Add("NewFlag", System.Type.GetType("System.String"));
  1285. this.dgvDetail.DataSource = dtDataSourse;
  1286. }
  1287. this.dgvDetail.IsSetInputColumnsColor = true;
  1288. //((C_DataGridView)this.tabPage2.Controls[0]).IsSetInputColumnsColor = true;
  1289. }
  1290. catch (Exception ex)
  1291. {
  1292. throw ex;
  1293. }
  1294. }
  1295. /// <summary>
  1296. /// 验证添加项
  1297. /// </summary>
  1298. private int ValidationText()
  1299. {
  1300. try
  1301. {
  1302. int ErrorId = 0;
  1303. //string txtBuildingNo = this.txtBuildingNo.Text.Trim();
  1304. //string txtFloorNo = this.txtFloorNo.Text.Trim();
  1305. //string txtGroutingLineNo = this.txtGroutingLineNo.Text.Trim();
  1306. string txtGroutingLineCode = this.txtGroutingLineCode.Text.Trim();
  1307. string txtGroutingLineName = this.txtGroutingLineName.Text.Trim();
  1308. string txtRemarks = this.txtRemarks.Text.Trim();
  1309. //if (txtBuildingNo == string.Empty)
  1310. //{
  1311. // ErrorId = 1;
  1312. // return ErrorId;
  1313. //}
  1314. //if (txtFloorNo == string.Empty)
  1315. //{
  1316. // ErrorId = 2;
  1317. // return ErrorId;
  1318. //}
  1319. //if (txtGroutingLineNo == string.Empty)
  1320. //{
  1321. // ErrorId = 3;
  1322. // return ErrorId;
  1323. //}
  1324. if (txtGroutingLineCode == string.Empty)
  1325. {
  1326. ErrorId = 4;
  1327. return ErrorId;
  1328. }
  1329. if (txtGroutingLineName == string.Empty)
  1330. {
  1331. ErrorId = 5;
  1332. return ErrorId;
  1333. }
  1334. //if (dkUser.UserID == null)
  1335. //{
  1336. // ErrorId = 7;
  1337. // return ErrorId;
  1338. //}
  1339. if (scbGMouldType.SearchedPKMember == 0)
  1340. {
  1341. ErrorId = 8;
  1342. return ErrorId;
  1343. }
  1344. return ErrorId;
  1345. }
  1346. catch (Exception ex)
  1347. {
  1348. throw ex;
  1349. }
  1350. }
  1351. /// <summary>
  1352. /// 将实体数据转换为DataTable,绑定到控件中
  1353. /// </summary>
  1354. private DataTable ListToTable()
  1355. {
  1356. try
  1357. {
  1358. //detailEntity.GROUTINGLINEDETAILID = Convert.ToInt32(drFor["GROUTINGLINEDETAILID"]);
  1359. //detailEntity.GROUTINGLINEID = Convert.ToInt32(drFor["GROUTINGLINEID"]);
  1360. //detailEntity.GROUTINGMOULDCODE = drFor["GROUTINGMOULDCODE"].ToString();
  1361. //detailEntity.MOULDCODE = drFor["MOULDCODE"].ToString();
  1362. //detailEntity.GOODSID = Convert.ToInt32(drFor["GOODSID"]);
  1363. //detailEntity.GROUTINGCOUNT = Convert.ToDecimal(drFor["GROUTINGCOUNT"]);
  1364. //detailEntity.MOULDSTATUS = Convert.ToInt32(drFor["GMOULDSTATUS"]);
  1365. //detailEntity.BEGINUSEDDATE = Convert.ToDateTime(drFor["BEGINUSEDDATE"]);
  1366. //detailEntity.REMARKS = drFor["REMARKS"].ToString();
  1367. //detailEntity.ACCOUNTID = Convert.ToInt32(drFor["ACCOUNTID"]);
  1368. //detailEntity.VALUEFLAG = Convert.ToInt32(drFor["VALUEFLAG"]);
  1369. //detailEntity.CREATETIME = Convert.ToDateTime(drFor["CREATETIME"]);
  1370. //detailEntity.CREATEUSERID = Convert.ToInt32(drFor["CREATEUSERID"]);
  1371. //detailEntity.UPDATETIME = Convert.ToDateTime(drFor["UPDATETIME"]);
  1372. //detailEntity.UPDATEUSERID = Convert.ToInt32(drFor["UPDATEUSERID"]);
  1373. //detailEntity.OPTIMESTAMP = Convert.ToDateTime(drFor["OPTIMESTAMP"]);
  1374. //detailEntity.GOODSNAME = drFor["GOODSNAME"].ToString();
  1375. //detailEntity.GROUTINGLINENAME = drFor["GMOULDSTATUSNAME"].ToString();
  1376. //detailEntity.GOODSCODE = drFor["GOODSCODE"].ToString();
  1377. //detailEntity.GoodsSpecification = drFor["GoodsSpecification"].ToString();
  1378. DataTable dtDataSourse = new DataTable();
  1379. dtDataSourse.Columns.Add("GROUTINGLINEDETAILID", System.Type.GetType("System.String"));
  1380. dtDataSourse.Columns.Add("MOULDCODE", System.Type.GetType("System.String"));
  1381. dtDataSourse.Columns.Add("GROUTINGMOULDCODE", System.Type.GetType("System.String"));
  1382. dtDataSourse.Columns.Add("GOODSID", System.Type.GetType("System.String"));
  1383. dtDataSourse.Columns.Add("GOODSNAME", System.Type.GetType("System.String"));
  1384. dtDataSourse.Columns.Add("GoodsCode", System.Type.GetType("System.String"));
  1385. dtDataSourse.Columns.Add("GoodsSpecification", System.Type.GetType("System.String"));
  1386. dtDataSourse.Columns.Add("REMARKS", System.Type.GetType("System.String"));
  1387. dtDataSourse.Columns.Add("MOULDSTATUS", System.Type.GetType("System.String"));
  1388. dtDataSourse.Columns.Add("StandardGroutingCount", typeof(decimal));
  1389. dtDataSourse.Columns.Add("GroutingCount", typeof(decimal));
  1390. dtDataSourse.Columns.Add("MouldOutputNo", typeof(int));
  1391. dtDataSourse.Columns.Add("NewFlag", System.Type.GetType("System.String"));
  1392. for (int i = 0; i < this._detailList.Count; i++)
  1393. {
  1394. DataRow drRow = dtDataSourse.NewRow();
  1395. drRow["GROUTINGLINEDETAILID"] = this._detailList[i].GROUTINGLINEDETAILID;
  1396. drRow["GROUTINGMOULDCODE"] = this._detailList[i].GROUTINGMOULDCODE;
  1397. drRow["GOODSID"] = this._detailList[i].GOODSID;
  1398. drRow["GOODSNAME"] = this._detailList[i].GOODSNAME;
  1399. drRow["GoodsCode"] = this._detailList[i].GOODSCODE;
  1400. drRow["GoodsSpecification"] = this._detailList[i].GoodsSpecification;
  1401. drRow["REMARKS"] = this._detailList[i].REMARKS;
  1402. drRow["MOULDSTATUS"] = this._detailList[i].GROUTINGLINENAME;
  1403. drRow["StandardGroutingCount"] = this._detailList[i].StandardGroutingCount;
  1404. drRow["GROUTINGCOUNT"] = this._detailList[i].GROUTINGCOUNT;
  1405. drRow["MouldOutputNo"] = this._detailList[i].MouldOutputNo;
  1406. drRow["NewFlag"] = 0;
  1407. dtDataSourse.Rows.Add(drRow);
  1408. }
  1409. for (int i = 0; i < this._AddDetailList.Count; i++)
  1410. {
  1411. DataRow dr = dtDataSourse.NewRow();
  1412. dr["GROUTINGLINEDETAILID"] = this._AddDetailList[i].GROUTINGLINEDETAILID;
  1413. dr["GROUTINGMOULDCODE"] = _AddDetailList[i].GROUTINGMOULDCODE;
  1414. dr["GOODSID"] = this._AddDetailList[i].GOODSID;
  1415. dr["GOODSNAME"] = this._AddDetailList[i].GOODSNAME;
  1416. dr["GoodsCode"] = this._AddDetailList[i].GOODSCODE;
  1417. dr["GoodsSpecification"] = this._AddDetailList[i].GoodsSpecification;
  1418. dr["REMARKS"] = this._AddDetailList[i].REMARKS;
  1419. dr["MOULDSTATUS"] = "";
  1420. dr["StandardGroutingCount"] = 0;
  1421. dr["GROUTINGCOUNT"] = 0;
  1422. dr["NewFlag"] = 0;
  1423. dtDataSourse.Rows.Add(dr);
  1424. }
  1425. return dtDataSourse;
  1426. }
  1427. catch (Exception ex)
  1428. {
  1429. throw ex;
  1430. }
  1431. }
  1432. /// <summary>
  1433. /// 获取权限
  1434. /// </summary>
  1435. protected void getPurview()
  1436. {
  1437. try
  1438. {
  1439. StringBuilder sbPurview = new StringBuilder();
  1440. DataSet dsPurview = SystemModuleProxy.Service.GetUserPurview(6, LogInUserInfo.CurrentUser.UserID);
  1441. if (dsPurview != null)
  1442. {
  1443. foreach (DataRow dr in dsPurview.Tables[0].Rows)
  1444. {
  1445. sbPurview.Append(dr[0].ToString() + ",");
  1446. }
  1447. if (sbPurview.Length != 0)
  1448. {
  1449. this._purview = sbPurview.ToString().Substring(0, sbPurview.Length - 1);
  1450. }
  1451. }
  1452. }
  1453. catch (Exception ex)
  1454. {
  1455. throw ex;
  1456. }
  1457. }
  1458. #endregion
  1459. }
  1460. }