华恒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.

664 lines
27 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. namespace ICSSoft.Frame.APP
  27. {
  28. public partial class FormICSArrivalVIQCTwo : DevExpress.XtraEditors.XtraForm
  29. {
  30. private string sqltxt = "";
  31. private string sqlconn = "";
  32. private DataTable dataSource = null;
  33. String guid = AppConfig.GetGuid();
  34. //string where = "(RECSTATUS=''待检'' or RECSTATUS=''已检'' and ISALLINSTORAGE=''N'') ";
  35. string autoRefreshTime = System.Configuration.ConfigurationManager.AppSettings["AutoRefreshTime"].ToString();
  36. string isAutoRefresh = System.Configuration.ConfigurationManager.AppSettings["IsAutoRefresh"].ToString();
  37. System.Timers.Timer t = new System.Timers.Timer();
  38. #region 构造函数
  39. public FormICSArrivalVIQCTwo()
  40. {
  41. InitializeComponent();
  42. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  43. this.WindowState = FormWindowState.Maximized;
  44. //label2.BackColor = Color.White;
  45. }
  46. #endregion
  47. #region 操作权限
  48. public DataTable RightOfExute()
  49. {
  50. DataTable rData = new DataTable();
  51. rData.Columns.Add("BtnName");
  52. rData.Columns.Add("ActionName");
  53. //查看权限(必须有)
  54. DataRow seeRow = rData.NewRow();
  55. seeRow["BtnName"] = "see";
  56. seeRow["ActionName"] = "查看";
  57. rData.Rows.Add(seeRow);
  58. List<Control> ControlList = new List<Control>();
  59. ControlList.Add(btnTuiLiao);
  60. ControlList.Add(btnRangbu);
  61. ControlList.Add(btnFalsh);
  62. foreach (Control ctr in ControlList)
  63. {
  64. if (ctr.GetType() == typeof(SimpleButton))
  65. {
  66. DataRow dr = rData.NewRow();
  67. dr["BtnName"] = ctr.Name;
  68. dr["ActionName"] = ctr.Text;
  69. rData.Rows.Add(dr);
  70. }
  71. }
  72. rData.AcceptChanges();
  73. return rData;
  74. }
  75. public DataTable RightOfData()// 数据权限
  76. {
  77. DataTable rData = new DataTable();
  78. rData.Columns.Add("BodyName");
  79. rData.Columns.Add("ControlName");
  80. rData.Columns.Add("ControlCaption");
  81. rData.AcceptChanges();
  82. return rData;
  83. }
  84. #endregion
  85. #region 退出
  86. private void btnClose_Click(object sender, EventArgs e)
  87. {
  88. AppConfig.CloseFormShow(this.Text);
  89. this.Close();
  90. }
  91. private void btnExit_Click(object sender, EventArgs e)
  92. {
  93. AppConfig.CloseFormShow(this.Text);
  94. this.Close();
  95. }
  96. #endregion
  97. #region 移动窗体
  98. private const int WM_NCHITTEST = 0x84;
  99. private const int HTCLIENT = 0x1;
  100. private const int HTCAPTION = 0x2;
  101. //首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
  102. //系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
  103. //假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
  104. //同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
  105. //重写窗体,使窗体可以不通过自带标题栏实现移动
  106. protected override void WndProc(ref Message m)
  107. {
  108. //当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
  109. //当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
  110. //这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
  111. //注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
  112. switch (m.Msg)
  113. {
  114. case WM_NCHITTEST:
  115. base.WndProc(ref m);
  116. if ((int)m.Result == HTCLIENT)
  117. m.Result = (IntPtr)HTCAPTION;
  118. return;
  119. }
  120. //拦截双击标题栏、移动窗体的系统消息
  121. if (m.Msg != 0xA3)
  122. {
  123. base.WndProc(ref m);
  124. }
  125. }
  126. #endregion
  127. #region 列表
  128. private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  129. {
  130. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  131. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  132. }
  133. private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  134. {
  135. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  136. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  137. }
  138. #endregion
  139. #region 过滤
  140. private string tempTableName = "";
  141. #endregion
  142. #region 过滤方法
  143. private void FormContainerManager_FormClosing(object sender, FormClosingEventArgs e)
  144. {
  145. AppConfig.DropTemTable(tempTableName);
  146. }
  147. #endregion
  148. #region 刷新
  149. private void btnRefresh_Click(object sender, EventArgs e)
  150. {
  151. if (sqlconn == null || sqlconn == "")
  152. {
  153. return;
  154. }
  155. DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
  156. try
  157. {
  158. _wait.Show();
  159. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name), false);
  160. filter.OldTempTableName = tempTableName;
  161. //tempTableName = filter.NewTempTableName;
  162. //DataTable data = DBHelper.ExecuteDataset(AppConfig.FrameConnectString, CommandType.Text, "select * from " + tempTableName).Tables[0];
  163. dataSource = DBHelper.ExecuteDataset(sqlconn, CommandType.Text, sqltxt).Tables[0];
  164. grdDetail.DataSource = dataSource;
  165. grvDetail.BestFitColumns();
  166. rptPage.RecordNum = dataSource.Rows.Count;
  167. rptPage.PageIndex = 1;
  168. rptPage.ReLoad();
  169. _wait.Close();
  170. }
  171. catch (Exception ex)
  172. {
  173. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  174. _wait.Close();
  175. }
  176. }
  177. #endregion
  178. #region 新增
  179. private void btnCreate_Click(object sender, EventArgs e)
  180. {
  181. SimpleButton btn = ((SimpleButton)sender);
  182. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btn.Name) == false)
  183. {
  184. ICSBaseSimpleCode.AppshowMessageBox(1, "对不起您无" + btn.Text + "权限,请联系管理员!");
  185. return;
  186. }
  187. try
  188. {
  189. string ERPSql = @"SELECT a.ID, [ReceiptNO] AS 入库单号
  190. ,b.StorageName AS
  191. ,c.VendorName AS
  192. ,[RECTYPE] AS
  193. ,[MEMO] AS
  194. ,a.[MUSERName] AS
  195. ,a.[MTIME] AS
  196. FROM [ICSINVReceipt] a LEFT JOIN ICSStorage b ON a.StorageID=b.Serial
  197. LEFT JOIN ICSVendor c ON a.[VENDORCODE]=c.ID
  198. WHERE [ReceiptNO] NOT IN
  199. (SELECT DISTINCT STNO FROM dbo.ICSASNIQC)
  200. and a.WorkPoint='" + AppConfig.WorkPointCode + "' ";
  201. DataTable czData = DBHelper.ExecuteDataset(AppConfig.FrameConnectString, CommandType.Text, ERPSql).Tables[0];
  202. FormDataRefer reForm = new FormDataRefer();
  203. reForm.FormTitle = "入库单列表";
  204. reForm.DataSource = czData;
  205. reForm.MSelectFlag = true;
  206. reForm.RowIndexWidth = 35;
  207. reForm.HideCols.Add("ID");
  208. reForm.Width = this.Width - 10;
  209. reForm.Height = this.Height - 10;
  210. if (reForm.ShowDialog() != DialogResult.OK)
  211. {
  212. return;
  213. }
  214. DataTable retData = reForm.ReturnData;
  215. if (retData.Rows.Count == 0)
  216. {
  217. return;
  218. }
  219. ICSASNIQCBLL.save(retData, AppConfig.AppConnectString);
  220. ICSBaseSimpleCode.AppshowMessageBox("生成成功");
  221. btnRefresh_Click(null, null);
  222. }
  223. catch (Exception ex)
  224. {
  225. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  226. }
  227. }
  228. #endregion
  229. #region 页面加载
  230. private void ICSItemLot_FormClosing(object sender, FormClosingEventArgs e)
  231. {
  232. AppConfig.DropTemTable(tempTableName);
  233. }
  234. private void FormICSCREW_Load(object sender, EventArgs e)
  235. {
  236. btnFilter_Click(null, null);
  237. }
  238. #endregion
  239. #region 导出
  240. private void btnOutPut_Click_1(object sender, EventArgs e)
  241. {
  242. try
  243. {
  244. FormOutExcel foe = new FormOutExcel(this.Tag.ToString(), grdDetail);
  245. foe.ShowDialog();
  246. }
  247. catch (Exception ex)
  248. {
  249. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  250. }
  251. //FormOutExcel foe = new FormOutExcel();
  252. //if (foe.ShowDialog() == DialogResult.OK)
  253. //{
  254. // try
  255. // {
  256. // string outtype = foe._OutType;
  257. // string exceltype = foe._ExcelType;
  258. // string filename = foe._FileName;
  259. // string url = foe._Url;
  260. // string sheetname = foe._SheetName;
  261. // if (outtype.ToLower() == "excel")
  262. // {
  263. // DevExpress.XtraPrinting.XlsExportOptions op = new DevExpress.XtraPrinting.XlsExportOptions();
  264. // op.SheetName = sheetname;
  265. // grdDetail.MainView.ExportToXls((url + "\\" + filename + (exceltype == "2003" ? ".xls" : ".xlsx")), op);
  266. // }
  267. // else
  268. // {
  269. // grdDetail.MainView.ExportToPdf(url + "\\" + filename + ".pdf");
  270. // }
  271. // MessageBox.Show("导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  272. // }
  273. // catch (Exception ex)
  274. // {
  275. // MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  276. // }
  277. //}
  278. }
  279. #endregion
  280. #region 合格不合格判定事件
  281. private void repositoryItemButtonEdit1_Click(object sender, EventArgs e)
  282. {
  283. try
  284. {
  285. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisInput).ToString() == "否")
  286. {
  287. DataRow df = CheckStatus("合格");
  288. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), grvDetail.FocusedRowHandle, "合格", df["物料条码"].ToString());
  289. }
  290. else
  291. {
  292. MessageBox.Show("条码已入库,不能进行此操作!");
  293. return;
  294. }
  295. }
  296. catch (Exception ex)
  297. { return; }
  298. }
  299. private void repositoryItemButtonEdit2_Click(object sender, EventArgs e)
  300. {
  301. try
  302. {
  303. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisInput).ToString() == "否")
  304. {
  305. DataRow df = CheckStatus("不合格");
  306. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), grvDetail.FocusedRowHandle, "不合格", df["物料条码"].ToString());
  307. }
  308. else
  309. {
  310. MessageBox.Show("条码已入库,不能进行此操作!");
  311. return;
  312. }
  313. }
  314. catch (Exception ex)
  315. { return; }
  316. }
  317. private DataRow CheckStatus(string Status)
  318. {
  319. try
  320. {
  321. if (grvDetail.FocusedRowHandle < 0)
  322. { throw new Exception("error"); }
  323. DataRow df = grvDetail.GetDataRow(grvDetail.FocusedRowHandle);
  324. if (df == null)
  325. { throw new Exception("error"); }
  326. if (df["检验状态"].ToString() == Status)
  327. throw new Exception("error");
  328. df["检验状态"] = Status;
  329. return df;
  330. }
  331. catch (Exception ex) { throw ex; }
  332. }
  333. private void UpdateStatus(string RcvNo, string LineNo, int num, string Status, string lotno)
  334. {
  335. #region
  336. //grvDetail.SetRowCellValue(num, CreateUser, AppConfig.UserName);
  337. //grvDetail.SetRowCellValue(num, CreateTime, AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString("yyyy-MM-dd HH:mm:ss"));
  338. //修改行状态
  339. #endregion
  340. string sql = @"UPDATE ICSITEMLot SET EATTRIBUTE2 = '{2}', TwoMUSER='{3}', TwoMTIME = '{4}', EATTRIBUTE5 = '{6}'
  341. WHERE TransNO = '{0}' AND TransLine = '{1}'AND LotNO = '{5}' ";
  342. sql = string.Format(sql, RcvNo, LineNo, Status, AppConfig.UserName, AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString("yyyy-MM-dd HH:mm:ss"), lotno, "已检");
  343. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  344. #region
  345. //修改头状态
  346. // sql = @"select * from ICSINVReceiptDetail
  347. // where ReceiptNO='{0}' and IQCStatus='{1}'";
  348. // sql = string.Format(sql, RcvNo,"待检");
  349. // DataTable dt=DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql).Tables[0];
  350. // if (dt == null || dt.Rows.Count == 0)
  351. // {
  352. // sql = @"update ICSINVReceipt set RECSTATUS='{1}',MUSERName='{2}',MTIME='{3}'
  353. // where ReceiptNO='{0}'";
  354. // sql = string.Format(sql, RcvNo, "已检",AppConfig.UserName,AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss"));
  355. // DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  356. // }
  357. //修改子状态
  358. // sql = @"select * from ICSITEMLot
  359. // where TransNO='{0}' and EATTRIBUTE5=''";
  360. // sql = string.Format(sql, RcvNo);
  361. // DataTable dt1 = DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql).Tables[0];
  362. // if (dt1 == null || dt1.Rows.Count == 0)
  363. // {
  364. // sql = @"update ICSITEMLot set EATTRIBUTE5='{1}',MUSERName='{2}',MTIME='{3}'
  365. // where TransNO='{0}'";
  366. // sql = string.Format(sql, RcvNo, "已检", AppConfig.UserName, AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss"));
  367. // DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  368. // }
  369. #endregion
  370. //btnRefresh_Click(null, null);
  371. }
  372. private void simpleButton1_Click(object sender, EventArgs e)
  373. {
  374. if (MessageBox.Show("确认要全判定让步吗?", "让步确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  375. {
  376. #region
  377. //DataRow[] drs = dataSource.Select("条码是否入库='是'");
  378. //if (drs.Length > 0)
  379. //{
  380. // MessageBox.Show("存在入库条码,不能判定!");
  381. // return;
  382. //}
  383. #endregion
  384. for (int i = 0; i < grvDetail.RowCount; i++)
  385. {
  386. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  387. {
  388. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "是")
  389. {
  390. MessageBox.Show("存在入库条码,不能判定!");
  391. return;
  392. }
  393. }
  394. }
  395. for (int i = 0; i < grvDetail.RowCount; i++)
  396. {
  397. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  398. {
  399. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "否")
  400. {
  401. DataRow df = grvDetail.GetDataRow(i);
  402. if (df == null) continue;
  403. UpdateStatus(df["cCode"].ToString(), df["irowno"].ToString(), i, "让步", df["LotNO"].ToString());
  404. }
  405. }
  406. }
  407. }
  408. btnRefresh_Click(null, null);
  409. }
  410. private void simpleButton2_Click(object sender, EventArgs e)
  411. {
  412. if (MessageBox.Show("确认要全判定退料吗?", "退料确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  413. {
  414. for (int i = 0; i < grvDetail.RowCount; i++)
  415. {
  416. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  417. {
  418. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "是")
  419. {
  420. MessageBox.Show("存在入库条码,不能判定!");
  421. return;
  422. }
  423. }
  424. }
  425. for (int i = 0; i < grvDetail.RowCount; i++)
  426. {
  427. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  428. {
  429. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "否")
  430. {
  431. DataRow df = grvDetail.GetDataRow(i);
  432. if (df == null) continue;
  433. UpdateStatus(df["cCode"].ToString(), df["irowno"].ToString(), i, "退料", df["LotNO"].ToString());
  434. }
  435. }
  436. }
  437. }
  438. btnRefresh_Click(null, null);
  439. }
  440. #endregion
  441. #region 备注修改
  442. private void repositoryItemButtonEdit3_Click(object sender, EventArgs e)
  443. {
  444. FormRtn rtn = new FormRtn();
  445. if (rtn.ShowDialog() == DialogResult.OK)
  446. {
  447. if (grvDetail.FocusedRowHandle < 0) return;
  448. DataRow dm = grvDetail.GetDataRow(grvDetail.FocusedRowHandle);
  449. if (dm == null) return;
  450. if (!string.IsNullOrEmpty(rtn.Remark))
  451. {
  452. UpdateMEMO(dm, rtn.Remark);
  453. }
  454. else
  455. {
  456. if (MessageBox.Show("备注为空,请确认?", "备注确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  457. {
  458. UpdateMEMO(dm, rtn.Remark);
  459. }
  460. }
  461. }
  462. }
  463. private void UpdateMEMO(DataRow dm, string Memo)
  464. {
  465. string sql = @"update ICSPOArrive set Free1='{2}'
  466. where cCode='{0}' and irowno='{1}'";
  467. sql = string.Format(sql, dm["到货单号"].ToString(), dm["行号"].ToString(), Memo);
  468. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  469. }
  470. #endregion
  471. #region 让步
  472. private void repositoryItemButtonEdit4_Click(object sender, EventArgs e)
  473. {
  474. try
  475. {
  476. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisInput).ToString() == "否")
  477. {
  478. DataRow df = CheckStatus("让步");
  479. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), grvDetail.FocusedRowHandle, "让步", df["物料条码"].ToString());
  480. }
  481. else
  482. {
  483. MessageBox.Show("条码已入库,不能进行此操作!");
  484. return;
  485. }
  486. }
  487. catch (Exception ex)
  488. { return; }
  489. }
  490. #endregion
  491. private void grvDetail_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
  492. {
  493. int hand = e.RowHandle;
  494. if (hand < 0) return;
  495. DataRow dr = this.grvDetail.GetDataRow(hand);
  496. #region
  497. //if (dr == null) return;
  498. //if (dr["橡胶件"].ToString() == "True")
  499. //{
  500. // //e.Appearance.ForeColor = Color.Red;// 改变行字体颜色
  501. // e.Appearance.BackColor = Color.Red;// 改变行背景颜色
  502. // //根据需求
  503. //}
  504. #endregion
  505. }
  506. #region 绑定数据源
  507. private void btnConfig_Click(object sender, EventArgs e)
  508. {
  509. if (AppConfig.UserCode.ToLower() != "demo")
  510. {
  511. //ICSBaseSimpleCode.AppshowMessageBox("您没有权限设置数据源,请联系软件提供商!");
  512. return;
  513. }
  514. FormDataSource fdata = new FormDataSource(AppConfig.GetMenuId(this.Tag.ToString()), btnConfig.Name);
  515. fdata.ShowDialog();
  516. }
  517. #endregion
  518. #region 过滤
  519. private void btnFilter_Click(object sender, EventArgs e)
  520. {
  521. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
  522. filter.OldTempTableName = tempTableName;
  523. if (filter.ShowDialog() == DialogResult.OK)
  524. {
  525. DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
  526. try
  527. {
  528. _wait.Show();
  529. tempTableName = filter.NewTempTableName;
  530. sqltxt = filter.SqlText;
  531. sqlconn = filter.FilterConnectString;
  532. dataSource = filter.FilterData.Tables[0];
  533. grdDetail.DataSource = dataSource;
  534. grvDetail.BestFitColumns();
  535. rptPage.RecordNum = dataSource.Rows.Count;
  536. rptPage.PageSize = 499;
  537. rptPage.PageIndex = 1;
  538. rptPage.ReLoad();
  539. rptPage.PageSize = 500;
  540. rptPage.PageIndex = 1;
  541. rptPage.ReLoad();
  542. _wait.Close();
  543. }
  544. catch (Exception ex)
  545. {
  546. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  547. _wait.Close();
  548. }
  549. }
  550. }
  551. #endregion
  552. #region 全选
  553. private void btnSelectAll_Click(object sender, EventArgs e)
  554. {
  555. grvDetail.PostEditor();
  556. this.Validate();
  557. for (int i = 0; i < grvDetail.RowCount; i++)
  558. {
  559. grvDetail.SetRowCellValue(i, colisSelect, "Y");
  560. }
  561. }
  562. #endregion
  563. #region 全消
  564. private void btnCancelAll_Click(object sender, EventArgs e)
  565. {
  566. grvDetail.PostEditor();
  567. this.Validate();
  568. for (int i = 0; i < grvDetail.RowCount; i++)
  569. {
  570. grvDetail.SetRowCellValue(i, colisSelect, "");
  571. }
  572. }
  573. #endregion
  574. #region 双击
  575. private void grvDetail_DoubleClick(object sender, EventArgs e)
  576. {
  577. if (grvDetail.FocusedRowHandle < 0)
  578. {
  579. return;
  580. }
  581. if (grvDetail.FocusedColumn == colisSelect)
  582. {
  583. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
  584. {
  585. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
  586. }
  587. else
  588. {
  589. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
  590. }
  591. }
  592. }
  593. #endregion
  594. private void simpleButton3_Click(object sender, EventArgs e)
  595. {
  596. if (MessageBox.Show("确认要全部让步吗?", "让步确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  597. {
  598. for (int i = 0; i < grvDetail.RowCount; i++)
  599. {
  600. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "是")
  601. {
  602. MessageBox.Show("存在入库条码,不能判定!");
  603. return;
  604. }
  605. }
  606. for (int i = 0; i < grvDetail.RowCount; i++)
  607. {
  608. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "否")
  609. {
  610. DataRow df = grvDetail.GetDataRow(i);
  611. if (df == null) continue;
  612. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), i, "让步", df["物料条码"].ToString());
  613. }
  614. }
  615. }
  616. btnRefresh_Click(null, null);
  617. }
  618. }
  619. }