F_PC_0103_1.cs 55 KB

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