锐腾搅拌上料功能
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.

629 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. 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. FormOutExcel foe = new FormOutExcel(this.Tag.ToString(), grdDetail);
  243. foe.ShowDialog();
  244. }
  245. #endregion
  246. #region 合格不合格判定事件
  247. private void repositoryItemButtonEdit1_Click(object sender, EventArgs e)
  248. {
  249. try
  250. {
  251. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisInput).ToString() == "否")
  252. {
  253. DataRow df = CheckStatus("合格");
  254. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), grvDetail.FocusedRowHandle, "合格", df["物料条码"].ToString());
  255. }
  256. else
  257. {
  258. MessageBox.Show("条码已入库,不能进行此操作!");
  259. return;
  260. }
  261. }
  262. catch (Exception ex)
  263. { return; }
  264. }
  265. private void repositoryItemButtonEdit2_Click(object sender, EventArgs e)
  266. {
  267. try
  268. {
  269. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisInput).ToString() == "否")
  270. {
  271. DataRow df = CheckStatus("不合格");
  272. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), grvDetail.FocusedRowHandle, "不合格", df["物料条码"].ToString());
  273. }
  274. else
  275. {
  276. MessageBox.Show("条码已入库,不能进行此操作!");
  277. return;
  278. }
  279. }
  280. catch (Exception ex)
  281. { return; }
  282. }
  283. private DataRow CheckStatus(string Status)
  284. {
  285. try
  286. {
  287. if (grvDetail.FocusedRowHandle < 0)
  288. { throw new Exception("error"); }
  289. DataRow df = grvDetail.GetDataRow(grvDetail.FocusedRowHandle);
  290. if (df == null)
  291. { throw new Exception("error"); }
  292. if (df["检验状态"].ToString() == Status)
  293. throw new Exception("error");
  294. df["检验状态"] = Status;
  295. return df;
  296. }
  297. catch (Exception ex) { throw ex; }
  298. }
  299. private void UpdateStatus(string RcvNo, string LineNo, int num, string Status, string lotno)
  300. {
  301. #region
  302. //grvDetail.SetRowCellValue(num, CreateUser, AppConfig.UserName);
  303. //grvDetail.SetRowCellValue(num, CreateTime, AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString("yyyy-MM-dd HH:mm:ss"));
  304. //修改行状态
  305. #endregion
  306. string sql = @"UPDATE ICSITEMLot SET EATTRIBUTE2 = '{2}', TwoMUSER='{3}', TwoMTIME = '{4}', EATTRIBUTE5 = '{6}'
  307. WHERE TransNO = '{0}' AND TransLine = '{1}'AND LotNO = '{5}' ";
  308. 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, "已检");
  309. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  310. #region
  311. //修改头状态
  312. // sql = @"select * from ICSINVReceiptDetail
  313. // where ReceiptNO='{0}' and IQCStatus='{1}'";
  314. // sql = string.Format(sql, RcvNo,"待检");
  315. // DataTable dt=DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql).Tables[0];
  316. // if (dt == null || dt.Rows.Count == 0)
  317. // {
  318. // sql = @"update ICSINVReceipt set RECSTATUS='{1}',MUSERName='{2}',MTIME='{3}'
  319. // where ReceiptNO='{0}'";
  320. // sql = string.Format(sql, RcvNo, "已检",AppConfig.UserName,AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss"));
  321. // DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  322. // }
  323. //修改子状态
  324. // sql = @"select * from ICSITEMLot
  325. // where TransNO='{0}' and EATTRIBUTE5=''";
  326. // sql = string.Format(sql, RcvNo);
  327. // DataTable dt1 = DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql).Tables[0];
  328. // if (dt1 == null || dt1.Rows.Count == 0)
  329. // {
  330. // sql = @"update ICSITEMLot set EATTRIBUTE5='{1}',MUSERName='{2}',MTIME='{3}'
  331. // where TransNO='{0}'";
  332. // sql = string.Format(sql, RcvNo, "已检", AppConfig.UserName, AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss"));
  333. // DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  334. // }
  335. #endregion
  336. //btnRefresh_Click(null, null);
  337. }
  338. private void simpleButton1_Click(object sender, EventArgs e)
  339. {
  340. if (MessageBox.Show("确认要全判定让步吗?", "让步确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  341. {
  342. #region
  343. //DataRow[] drs = dataSource.Select("条码是否入库='是'");
  344. //if (drs.Length > 0)
  345. //{
  346. // MessageBox.Show("存在入库条码,不能判定!");
  347. // return;
  348. //}
  349. #endregion
  350. for (int i = 0; i < grvDetail.RowCount; i++)
  351. {
  352. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  353. {
  354. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "是")
  355. {
  356. MessageBox.Show("存在入库条码,不能判定!");
  357. return;
  358. }
  359. }
  360. }
  361. for (int i = 0; i < grvDetail.RowCount; i++)
  362. {
  363. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  364. {
  365. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "否")
  366. {
  367. DataRow df = grvDetail.GetDataRow(i);
  368. if (df == null) continue;
  369. UpdateStatus(df["cCode"].ToString(), df["irowno"].ToString(), i, "让步", df["LotNO"].ToString());
  370. }
  371. }
  372. }
  373. }
  374. btnRefresh_Click(null, null);
  375. }
  376. private void simpleButton2_Click(object sender, EventArgs e)
  377. {
  378. if (MessageBox.Show("确认要全判定退料吗?", "退料确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  379. {
  380. for (int i = 0; i < grvDetail.RowCount; i++)
  381. {
  382. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  383. {
  384. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "是")
  385. {
  386. MessageBox.Show("存在入库条码,不能判定!");
  387. return;
  388. }
  389. }
  390. }
  391. for (int i = 0; i < grvDetail.RowCount; i++)
  392. {
  393. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  394. {
  395. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "否")
  396. {
  397. DataRow df = grvDetail.GetDataRow(i);
  398. if (df == null) continue;
  399. UpdateStatus(df["cCode"].ToString(), df["irowno"].ToString(), i, "退料", df["LotNO"].ToString());
  400. }
  401. }
  402. }
  403. }
  404. btnRefresh_Click(null, null);
  405. }
  406. #endregion
  407. #region 备注修改
  408. private void repositoryItemButtonEdit3_Click(object sender, EventArgs e)
  409. {
  410. FormRtn rtn = new FormRtn();
  411. if (rtn.ShowDialog() == DialogResult.OK)
  412. {
  413. if (grvDetail.FocusedRowHandle < 0) return;
  414. DataRow dm = grvDetail.GetDataRow(grvDetail.FocusedRowHandle);
  415. if (dm == null) return;
  416. if (!string.IsNullOrEmpty(rtn.Remark))
  417. {
  418. UpdateMEMO(dm, rtn.Remark);
  419. }
  420. else
  421. {
  422. if (MessageBox.Show("备注为空,请确认?", "备注确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  423. {
  424. UpdateMEMO(dm, rtn.Remark);
  425. }
  426. }
  427. }
  428. }
  429. private void UpdateMEMO(DataRow dm, string Memo)
  430. {
  431. string sql = @"update ICSPOArrive set Free1='{2}'
  432. where cCode='{0}' and irowno='{1}'";
  433. sql = string.Format(sql, dm["到货单号"].ToString(), dm["行号"].ToString(), Memo);
  434. DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.SYS]"), CommandType.Text, sql);
  435. }
  436. #endregion
  437. #region 让步
  438. private void repositoryItemButtonEdit4_Click(object sender, EventArgs e)
  439. {
  440. try
  441. {
  442. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisInput).ToString() == "否")
  443. {
  444. DataRow df = CheckStatus("让步");
  445. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), grvDetail.FocusedRowHandle, "让步", df["物料条码"].ToString());
  446. }
  447. else
  448. {
  449. MessageBox.Show("条码已入库,不能进行此操作!");
  450. return;
  451. }
  452. }
  453. catch (Exception ex)
  454. { return; }
  455. }
  456. #endregion
  457. private void grvDetail_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
  458. {
  459. int hand = e.RowHandle;
  460. if (hand < 0) return;
  461. DataRow dr = this.grvDetail.GetDataRow(hand);
  462. #region
  463. //if (dr == null) return;
  464. //if (dr["橡胶件"].ToString() == "True")
  465. //{
  466. // //e.Appearance.ForeColor = Color.Red;// 改变行字体颜色
  467. // e.Appearance.BackColor = Color.Red;// 改变行背景颜色
  468. // //根据需求
  469. //}
  470. #endregion
  471. }
  472. #region 绑定数据源
  473. private void btnConfig_Click(object sender, EventArgs e)
  474. {
  475. if (AppConfig.UserCode.ToLower() != "demo")
  476. {
  477. //ICSBaseSimpleCode.AppshowMessageBox("您没有权限设置数据源,请联系软件提供商!");
  478. return;
  479. }
  480. FormDataSource fdata = new FormDataSource(AppConfig.GetMenuId(this.Tag.ToString()), btnConfig.Name);
  481. fdata.ShowDialog();
  482. }
  483. #endregion
  484. #region 过滤
  485. private void btnFilter_Click(object sender, EventArgs e)
  486. {
  487. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
  488. filter.OldTempTableName = tempTableName;
  489. if (filter.ShowDialog() == DialogResult.OK)
  490. {
  491. DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
  492. try
  493. {
  494. _wait.Show();
  495. tempTableName = filter.NewTempTableName;
  496. sqltxt = filter.SqlText;
  497. sqlconn = filter.FilterConnectString;
  498. dataSource = filter.FilterData.Tables[0];
  499. grdDetail.DataSource = dataSource;
  500. grvDetail.BestFitColumns();
  501. rptPage.RecordNum = dataSource.Rows.Count;
  502. rptPage.PageSize = 499;
  503. rptPage.PageIndex = 1;
  504. rptPage.ReLoad();
  505. rptPage.PageSize = 500;
  506. rptPage.PageIndex = 1;
  507. rptPage.ReLoad();
  508. _wait.Close();
  509. }
  510. catch (Exception ex)
  511. {
  512. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  513. _wait.Close();
  514. }
  515. }
  516. }
  517. #endregion
  518. #region 全选
  519. private void btnSelectAll_Click(object sender, EventArgs e)
  520. {
  521. grvDetail.PostEditor();
  522. this.Validate();
  523. for (int i = 0; i < grvDetail.RowCount; i++)
  524. {
  525. grvDetail.SetRowCellValue(i, colisSelect, "Y");
  526. }
  527. }
  528. #endregion
  529. #region 全消
  530. private void btnCancelAll_Click(object sender, EventArgs e)
  531. {
  532. grvDetail.PostEditor();
  533. this.Validate();
  534. for (int i = 0; i < grvDetail.RowCount; i++)
  535. {
  536. grvDetail.SetRowCellValue(i, colisSelect, "");
  537. }
  538. }
  539. #endregion
  540. #region 双击
  541. private void grvDetail_DoubleClick(object sender, EventArgs e)
  542. {
  543. if (grvDetail.FocusedRowHandle < 0)
  544. {
  545. return;
  546. }
  547. if (grvDetail.FocusedColumn == colisSelect)
  548. {
  549. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
  550. {
  551. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
  552. }
  553. else
  554. {
  555. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
  556. }
  557. }
  558. }
  559. #endregion
  560. private void simpleButton3_Click(object sender, EventArgs e)
  561. {
  562. if (MessageBox.Show("确认要全部让步吗?", "让步确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
  563. {
  564. for (int i = 0; i < grvDetail.RowCount; i++)
  565. {
  566. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "是")
  567. {
  568. MessageBox.Show("存在入库条码,不能判定!");
  569. return;
  570. }
  571. }
  572. for (int i = 0; i < grvDetail.RowCount; i++)
  573. {
  574. if (grvDetail.GetRowCellValue(i, colisInput).ToString() == "否")
  575. {
  576. DataRow df = grvDetail.GetDataRow(i);
  577. if (df == null) continue;
  578. UpdateStatus(df["到货单号"].ToString(), df["行号"].ToString(), i, "让步", df["物料条码"].ToString());
  579. }
  580. }
  581. }
  582. btnRefresh_Click(null, null);
  583. }
  584. }
  585. }