华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

648 lines
25 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.Linq;
  6. using System.Linq;
  7. using System.Drawing;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using DevExpress.XtraEditors;
  11. using DevExpress.XtraGrid.Views.BandedGrid;
  12. using DevExpress.XtraGrid.Columns;
  13. using DevExpress.XtraGrid;
  14. using System.IO;
  15. using System.Threading;
  16. using ICSSoft.Base.Language.Tool;
  17. using ICSSoft.Base.Config.AppConfig;
  18. using ICSSoft.Base.UserControl.MessageControl;
  19. using ICSSoft.Base.Config.DBHelper;
  20. using ICSSoft.Base.Report.Filter;
  21. using ICSSoft.Base.UserControl.FormControl;
  22. using ICSSoft.Base.Report.GridReport;
  23. using ICSSoft.Base.ReferForm.AppReferForm;
  24. using ICSSoft.Frame.Data.BLL;
  25. using ICSSoft.Frame.Data.Entity;
  26. using ICSSoft.Base.Lable.PrintTool;
  27. namespace ICSSoft.Frame.APP
  28. {
  29. public partial class FormICSPurchaseLOT : DevExpress.XtraEditors.XtraForm
  30. {
  31. private string sqltxt = "";
  32. private string sqlconn = "";
  33. String guid = AppConfig.GetGuid();
  34. private DataTable dataSource = null;
  35. private string MoId = "";
  36. private string POCode = "";
  37. private decimal Qty = 0.00m;
  38. DataTable Serialdata = null;
  39. private string Type = "";
  40. private string Status = "";
  41. #region 构造函数
  42. public FormICSPurchaseLOT()
  43. {
  44. InitializeComponent();
  45. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  46. this.WindowState = FormWindowState.Maximized;
  47. }
  48. public FormICSPurchaseLOT(string moID, string POCode, decimal qty)
  49. {
  50. InitializeComponent();
  51. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  52. this.WindowState = FormWindowState.Maximized;
  53. MoId = moID;
  54. POCode = POCode;
  55. Qty = qty;
  56. }
  57. #endregion
  58. #region 操作权限
  59. public DataTable RightOfExute()
  60. {
  61. DataTable rData = new DataTable();
  62. rData.Columns.Add("BtnName");
  63. rData.Columns.Add("ActionName");
  64. //查看权限(必须有)
  65. DataRow seeRow = rData.NewRow();
  66. seeRow["BtnName"] = "see";
  67. seeRow["ActionName"] = "查看";
  68. rData.Rows.Add(seeRow);
  69. List<Control> ControlList = new List<Control>();
  70. ControlList.Add(btnCreate);
  71. ControlList.Add(btnDel);
  72. ControlList.Add(simpleButton4);
  73. foreach (Control ctr in ControlList)
  74. {
  75. if (ctr.GetType() == typeof(SimpleButton))
  76. {
  77. DataRow dr = rData.NewRow();
  78. dr["BtnName"] = ctr.Name;
  79. dr["ActionName"] = ctr.Text;
  80. rData.Rows.Add(dr);
  81. }
  82. }
  83. rData.AcceptChanges();
  84. return rData;
  85. }
  86. public DataTable RightOfData()// 数据权限
  87. {
  88. DataTable rData = new DataTable();
  89. rData.Columns.Add("BodyName");
  90. rData.Columns.Add("ControlName");
  91. rData.Columns.Add("ControlCaption");
  92. rData.AcceptChanges();
  93. return rData;
  94. }
  95. #endregion
  96. #region 退出
  97. private void btnClose_Click(object sender, EventArgs e)
  98. {
  99. AppConfig.CloseFormShow(this.Text);
  100. this.Close();
  101. }
  102. private void btnExit_Click(object sender, EventArgs e)
  103. {
  104. AppConfig.CloseFormShow(this.Text);
  105. this.Close();
  106. }
  107. #endregion
  108. #region 移动窗体
  109. private const int WM_NCHITTEST = 0x84;
  110. private const int HTCLIENT = 0x1;
  111. private const int HTCAPTION = 0x2;
  112. //首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
  113. //系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
  114. //假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
  115. //同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
  116. //重写窗体,使窗体可以不通过自带标题栏实现移动
  117. protected override void WndProc(ref Message m)
  118. {
  119. //当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
  120. //当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
  121. //这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
  122. //注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
  123. switch (m.Msg)
  124. {
  125. case WM_NCHITTEST:
  126. base.WndProc(ref m);
  127. if ((int)m.Result == HTCLIENT)
  128. m.Result = (IntPtr)HTCAPTION;
  129. return;
  130. }
  131. //拦截双击标题栏、移动窗体的系统消息
  132. if (m.Msg != 0xA3)
  133. {
  134. base.WndProc(ref m);
  135. }
  136. }
  137. #endregion
  138. #region 列表
  139. private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  140. {
  141. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  142. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  143. }
  144. #endregion
  145. #region 分页
  146. private void rptPage_PageIndexChanged(object Sender, EventArgs e)
  147. {
  148. DataTable data = AppConfig.GetPageData(Serialdata, rptPage.PageIndex, rptPage.PageSize).Copy();
  149. grdDetail.DataSource = data;
  150. }
  151. #endregion
  152. private bool check()
  153. {
  154. int i;
  155. if (string.IsNullOrWhiteSpace(txtPOCode.Text.Trim()))
  156. {
  157. ICSBaseSimpleCode.AppshowMessageBox("单据号不能为空!");
  158. return false;
  159. }
  160. if (string.IsNullOrWhiteSpace(PORow.Text.Trim()))
  161. {
  162. ICSBaseSimpleCode.AppshowMessageBox("行号不能为空!");
  163. return false;
  164. }
  165. else if(!int.TryParse(PORow.Text.Trim(),out i))
  166. {
  167. ICSBaseSimpleCode.AppshowMessageBox("行号格式不正确!");
  168. return false;
  169. }
  170. return true;
  171. }
  172. #region 生成
  173. private void btnCreate_Click(object sender, EventArgs e)
  174. {
  175. try
  176. {
  177. SimpleButton btntemp = (SimpleButton)sender;
  178. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  179. {
  180. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  181. return;
  182. }
  183. if (Status.Equals("已经完成"))
  184. {
  185. ICSBaseSimpleCode.AppshowMessageBox("物料条码已存在!");
  186. return;
  187. }
  188. //if (!check())
  189. //{
  190. // return;
  191. //}
  192. //FormICSMaterielCreate form = new FormICSMaterielCreate(txtPOCode.Text.Trim(), PORow.Text.Trim(), txtINVSTD.Text, Type);
  193. //form.ShowDialog();
  194. //cmbSEQ_SelectedIndexChanged(null, null);
  195. string moSeq = "";
  196. string moCode = "";
  197. string invStd = "";
  198. for (int i = 0; i < grvMoDetail.RowCount; i++)
  199. {
  200. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  201. {
  202. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  203. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  204. invStd = grvMoDetail.GetRowCellValue(i, colINVSTD).ToString();
  205. }
  206. }
  207. if (string.IsNullOrWhiteSpace(moSeq))
  208. {
  209. ICSBaseSimpleCode.AppshowMessageBox("请选择数据");
  210. return;
  211. }
  212. FormICSMaterielCreate form = new FormICSMaterielCreate(moCode, moSeq, invStd, Type);
  213. form.ShowDialog();
  214. SearchData(moCode, moSeq);
  215. if(ICSBaseSimpleCode.AppshowMessageBoxRepose("是否打印?") == DialogResult.OK)
  216. {
  217. simpleButton4_Click(null, null);
  218. }
  219. }
  220. catch (Exception ex)
  221. {
  222. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  223. }
  224. }
  225. /// <summary>
  226. /// 获取生成的条码
  227. /// </summary>
  228. /// <param name="moCode"></param>
  229. /// <param name="moSeq"></param>
  230. private void SearchData(string moCode, string moSeq)
  231. {
  232. try
  233. {
  234. DataSet ds = ICSMaterielLOTBLL.SearchData(moCode, moSeq, AppConfig.AppConnectString);
  235. if (ds != null && ds.Tables.Count == 2)
  236. {
  237. DataTable dt = ds.Tables[0];
  238. Serialdata = ds.Tables[1];
  239. grdDetail.DataSource = Serialdata;
  240. grvDetail.BestFitColumns();
  241. rptPage.RecordNum = Serialdata.Rows.Count;
  242. rptPage.PageSize = 499;
  243. rptPage.PageIndex = 1;
  244. rptPage.ReLoad();
  245. rptPage.PageSize = 500;
  246. rptPage.PageIndex = 1;
  247. rptPage.ReLoad();
  248. rptPage_PageIndexChanged(null, null);
  249. }
  250. }
  251. catch (Exception ex)
  252. {
  253. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  254. }
  255. }
  256. #endregion
  257. //加载
  258. private void FormICSPurchaseLOT_Load(object sender, EventArgs e)
  259. {
  260. #region
  261. //string sql = @"select '' as isSelect,RCARD from ICSMO2RCARD where MOID='{0}' order by RCARD asc";
  262. //sql = string.Format(sql, MoId);
  263. ////DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  264. ////grdDetail.DataSource = dt;
  265. //Serialdata = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  266. //rptPage.RecordNum = Serialdata.Rows.Count;
  267. //rptPage.PageIndex = 1;
  268. //rptPage.PageSize = 20;
  269. //rptPage.ReLoad();
  270. //rptPage_PageIndexChanged(null, null);
  271. #endregion
  272. init();
  273. }
  274. #region 初始化查询条件
  275. private void init()
  276. {
  277. #region 单据号
  278. #region 原逻辑
  279. //string sql = "SELECT DISTINCT ReceiptNO AS [单据号] FROM ICSINVReceipt WHERE WorkPoint='{0}' ORDER BY ReceiptNO ";
  280. #endregion
  281. string sql = "SELECT DISTINCT cCode AS [单据号],MTime AS [到货时间] FROM ICSPOArrive WHERE WorkPoint='{0}' ORDER BY MTime DESC";
  282. sql = string.Format(sql, AppConfig.WorkPointCode);
  283. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  284. txtPOCode.Properties.ValueMember = "单据号";
  285. txtPOCode.Properties.DisplayMember = "单据号";
  286. txtPOCode.Properties.DataSource = dt;
  287. txtPOCode.Properties.NullText = "";//空时的值
  288. txtPOCode.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  289. txtPOCode.Properties.ValidateOnEnterKey = true;//回车确认
  290. txtPOCode.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  291. txtPOCode.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  292. //自适应宽度
  293. txtPOCode.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  294. #endregion
  295. }
  296. #endregion
  297. private void txtMOCode_EditValueChanged(object sender, EventArgs e)
  298. {
  299. try
  300. {
  301. grdDetail.DataSource = null;
  302. string Code = txtPOCode.EditValue.ToString();
  303. string sql = @"SELECT '' as MoIsSelect,
  304. a.cCode MOCODE,
  305. a.irowno MOSEQ,
  306. a.iQuantity MOPLANQTY,
  307. a.cInvCode ITEMCODE,
  308. b.INVNAME,
  309. b.INVSTD,
  310. b.INVUOM
  311. FROM
  312. ICSPOArrive a
  313. LEFT JOIN ICSINVENTORY b ON a.cInvCode=b.INVCODE
  314. WHERE
  315. a.cCode='{0}'
  316. AND a.Free3=''
  317. AND a.WorkPoint = '{1}'
  318. AND b.WorkPoint = '{1}'";
  319. sql += " order by CAST(a.irowno AS INT) asc";
  320. sql = string.Format(sql, Code, AppConfig.WorkPointCode);
  321. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  322. grdMoDetail.DataSource = dt;
  323. grvMoDetail.BestFitColumns();
  324. }
  325. catch (Exception ex)
  326. {
  327. ICSBaseSimpleCode.AppshowMessageBox("没有找到该单据信息!");
  328. return;
  329. }
  330. }
  331. private void cmbSEQ_SelectedIndexChanged(object sender, EventArgs e)
  332. {
  333. try
  334. {
  335. Type = "";
  336. Status = "";
  337. if (PORow.Properties.Items.Count <= 0 || !check())
  338. {
  339. return;
  340. }
  341. DataSet ds = ICSMaterielLOTBLL.SearchData(txtPOCode.Text.Trim(), PORow.Text.Trim(), AppConfig.AppConnectString);
  342. if (ds != null && ds.Tables.Count == 2 )
  343. {
  344. DataTable dt = ds.Tables[0];
  345. if (dt != null && dt.Rows.Count > 0)
  346. {
  347. txtInvCode.Text = dt.Rows[0]["InvCode"].ToString();
  348. txtINVNAME.Text = dt.Rows[0]["INVNAME"].ToString();
  349. txtINVSTD.Text = dt.Rows[0]["INVSTD"].ToString();
  350. txtQuantity.Text = dt.Rows[0]["Quantity"].ToString();
  351. }
  352. Serialdata = ds.Tables[1];
  353. grdDetail.DataSource = Serialdata;
  354. grvDetail.BestFitColumns();
  355. rptPage.RecordNum = Serialdata.Rows.Count;
  356. rptPage.PageSize = 499;
  357. rptPage.PageIndex = 1;
  358. rptPage.ReLoad();
  359. rptPage.PageSize = 500;
  360. rptPage.PageIndex = 1;
  361. rptPage.ReLoad();
  362. rptPage_PageIndexChanged(null, null);
  363. }
  364. else
  365. {
  366. return;
  367. }
  368. }
  369. catch (Exception ex)
  370. {
  371. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  372. }
  373. }
  374. private void grvDetail_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
  375. {
  376. if (e.RowHandle >= 0 && e.Column.FieldName == "DCTCODE")
  377. {
  378. e.CellValue = "cccc";
  379. }
  380. }
  381. #region 全选
  382. private void btnSelectAll_Click(object sender, EventArgs e)
  383. {
  384. grvDetail.PostEditor();
  385. this.Validate();
  386. for (int i = 0; i < grvDetail.RowCount; i++)
  387. {
  388. grvDetail.SetRowCellValue(i, colisSelect, "Y");
  389. }
  390. }
  391. #endregion
  392. #region 全消
  393. private void btnCancelAll_Click(object sender, EventArgs e)
  394. {
  395. grvDetail.PostEditor();
  396. this.Validate();
  397. for (int i = 0; i < grvDetail.RowCount; i++)
  398. {
  399. grvDetail.SetRowCellValue(i, colisSelect, "");
  400. }
  401. }
  402. #endregion
  403. private void btnDel_Click(object sender, EventArgs e)
  404. {
  405. SimpleButton btntemp = (SimpleButton)sender;
  406. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  407. {
  408. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  409. return;
  410. }
  411. List<string> rcardList = new List<string>();
  412. for (int i = 0; i < grvDetail.RowCount; i++)
  413. {
  414. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y" && grvDetail.GetRowCellValue(i, colisInput).ToString() == "False")
  415. {
  416. string sql = "SELECT * FROM dbo.ICSWareHouseLotInfoLog WHERE BusinessCode='采购到货' AND LotNO='{0}'";
  417. sql = string.Format(sql,grvDetail.GetRowCellValue(i, colLOTNO).ToString());
  418. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  419. if (dt == null || dt.Rows.Count ==0)
  420. {
  421. rcardList.Add(grvDetail.GetRowCellValue(i, colID).ToString());
  422. }
  423. }
  424. }
  425. if (rcardList.Count == 0 || rcardList == null)
  426. {
  427. ICSBaseSimpleCode.AppshowMessageBox("条码已入库,不能删除!");
  428. return;
  429. }
  430. if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确定删除序列号吗?删除后无法恢复,确定吗?") != DialogResult.OK)
  431. {
  432. btnCancelAll_Click(sender, e);
  433. return;
  434. }
  435. try
  436. {
  437. ICSMaterielLOTBLL.deleteInfo(rcardList, AppConfig.AppConnectString);
  438. ICSBaseSimpleCode.AppshowMessageBox("删除成功");
  439. string moSeq = "";
  440. string moCode = "";
  441. for (int i = 0; i < grvMoDetail.RowCount; i++)
  442. {
  443. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  444. {
  445. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  446. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  447. }
  448. }
  449. SearchData(moCode, moSeq);
  450. }
  451. catch (Exception ex)
  452. {
  453. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  454. }
  455. cmbSEQ_SelectedIndexChanged(null, null);
  456. }
  457. private void grvDetail_DoubleClick(object sender, EventArgs e)
  458. {
  459. if (grvDetail.FocusedRowHandle < 0)
  460. {
  461. return;
  462. }
  463. if (grvDetail.FocusedColumn == colisSelect)
  464. {
  465. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
  466. {
  467. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
  468. }
  469. else
  470. {
  471. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
  472. }
  473. }
  474. }
  475. #region 打印
  476. private void simpleButton4_Click(object sender, EventArgs e)
  477. {
  478. try
  479. {
  480. if (sender != null)
  481. {
  482. SimpleButton btntemp = (SimpleButton)sender;
  483. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  484. {
  485. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  486. return;
  487. }
  488. }
  489. List<PrintPara> parasList = new List<PrintPara>();
  490. List<ICSITEMLot> InfoList = new List<ICSITEMLot>();
  491. for (int i = 0; i < grvDetail.RowCount; i++)
  492. {
  493. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  494. {
  495. PrintPara para = new PrintPara();
  496. para.PrintKey = "LOTNO";
  497. para.PrintValues = new object[] { grvDetail.GetRowCellValue(i, colLOTNO).ToString() };
  498. parasList.Add(para);
  499. ICSITEMLot Info = new ICSITEMLot();
  500. Info.LotNO = grvDetail.GetRowCellValue(i, colLOTNO).ToString();
  501. Info.lastPrintUSERID = AppConfig.UserId;
  502. Info.lastPrintTime = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  503. Info.WorkPoint = AppConfig.WorkPointCode;
  504. InfoList.Add(Info);
  505. }
  506. }
  507. if (parasList.Count == 0)
  508. {
  509. ICSBaseSimpleCode.AppshowMessageBox("请选择数据!");
  510. return;
  511. }
  512. #region 修改打印模板逻辑
  513. #region
  514. //if (Type.Equals("半成品"))
  515. //{
  516. // FormPrintDialog f = new FormPrintDialog("007", this.Text, parasList, false, null);
  517. // f.ShowDialog();
  518. //}
  519. //else if (Type.Equals("成品"))
  520. //{
  521. // FormPrintDialog f = new FormPrintDialog("008", this.Text, parasList, false, null);
  522. // f.ShowDialog();
  523. //}
  524. #endregion
  525. FormPrintDialog f = new FormPrintDialog("001", this.Text, parasList, false, null);
  526. f.ShowDialog();
  527. #endregion
  528. //更新打印信息
  529. ICSMaterielLOTBLL.updatePrint(InfoList, AppConfig.AppConnectString);
  530. string moSeq = "";
  531. string moCode = "";
  532. for (int i = 0; i < grvMoDetail.RowCount; i++)
  533. {
  534. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  535. {
  536. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  537. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  538. }
  539. }
  540. SearchData(moCode, moSeq);
  541. }
  542. catch (Exception ex)
  543. {
  544. MessageBox.Show(ex.ToString());
  545. }
  546. }
  547. #endregion
  548. private void grdMoDetail_DoubleClick(object sender, EventArgs e)
  549. {
  550. int x = 0;
  551. if (grvMoDetail.FocusedRowHandle < 0)
  552. {
  553. return;
  554. }
  555. if (grvMoDetail.FocusedColumn == colMoIsSelect)
  556. {
  557. if (grvMoDetail.GetRowCellValue(grvMoDetail.FocusedRowHandle, colMoIsSelect).ToString() == "")
  558. {
  559. grvMoDetail.SetRowCellValue(grvMoDetail.FocusedRowHandle, colMoIsSelect, "Y");
  560. x = grvMoDetail.FocusedRowHandle;
  561. }
  562. else
  563. {
  564. grvMoDetail.SetRowCellValue(grvMoDetail.FocusedRowHandle, colMoIsSelect, "");
  565. }
  566. }
  567. for (int i = 0; i < grvMoDetail.RowCount; i++)
  568. {
  569. if (x != i)
  570. {
  571. grvMoDetail.SetRowCellValue(i, colMoIsSelect, "");
  572. }
  573. }
  574. try
  575. {
  576. Type = "";
  577. Status = "";
  578. string moSeq = "";
  579. string moCode = "";
  580. for (int i = 0; i < grvMoDetail.RowCount; i++)
  581. {
  582. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  583. {
  584. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  585. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  586. }
  587. }
  588. DataSet ds = ICSMaterielLOTBLL.SearchData(moCode, moSeq, AppConfig.AppConnectString);
  589. if (ds != null && ds.Tables.Count == 2)
  590. {
  591. DataTable dt = ds.Tables[0];
  592. Serialdata = ds.Tables[1];
  593. grdDetail.DataSource = Serialdata;
  594. grvDetail.BestFitColumns();
  595. rptPage.RecordNum = Serialdata.Rows.Count;
  596. rptPage.PageSize = 499;
  597. rptPage.PageIndex = 1;
  598. rptPage.ReLoad();
  599. rptPage.PageSize = 500;
  600. rptPage.PageIndex = 1;
  601. rptPage.ReLoad();
  602. rptPage_PageIndexChanged(null, null);
  603. }
  604. }
  605. catch (Exception ex)
  606. {
  607. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  608. }
  609. }
  610. }
  611. }