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

693 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. using ICSSoft.Base.Lable.PrintTool;
  27. namespace ICSSoft.Frame.APP
  28. {
  29. public partial class FormICSRewarehouse : 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 MoCode = "";
  37. private decimal Qty = 0.00m;
  38. DataTable Serialdata = null;
  39. private string Type = "";
  40. private string Status = "";
  41. #region 构造函数
  42. public FormICSRewarehouse()
  43. {
  44. InitializeComponent();
  45. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  46. this.WindowState = FormWindowState.Maximized;
  47. }
  48. public FormICSRewarehouse(string moID, string moCode, 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. MoCode = moCode;
  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 grvMoDetail_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 grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  147. {
  148. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  149. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  150. }
  151. #endregion
  152. #region 分页
  153. private void rptPage_PageIndexChanged(object Sender, EventArgs e)
  154. {
  155. DataTable data = AppConfig.GetPageData(Serialdata, rptPage.PageIndex, rptPage.PageSize).Copy();
  156. grdDetail.DataSource = data;
  157. }
  158. #endregion
  159. private bool check()
  160. {
  161. int i;
  162. if (string.IsNullOrWhiteSpace(txtCode.Text.Trim()))
  163. {
  164. ICSBaseSimpleCode.AppshowMessageBox("单据号不能为空!");
  165. return false;
  166. }
  167. if (string.IsNullOrWhiteSpace(cmbSEQ.Text.Trim()))
  168. {
  169. ICSBaseSimpleCode.AppshowMessageBox("行号不能为空!");
  170. return false;
  171. }
  172. else if (!int.TryParse(cmbSEQ.Text.Trim(), out i))
  173. {
  174. ICSBaseSimpleCode.AppshowMessageBox("行号格式不正确!");
  175. return false;
  176. }
  177. return true;
  178. }
  179. #region 新增
  180. private void btnCreate_Click(object sender, EventArgs e)
  181. {
  182. try
  183. {
  184. SimpleButton btntemp = (SimpleButton)sender;
  185. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  186. {
  187. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  188. return;
  189. }
  190. if (Status.Equals("已经完成"))
  191. {
  192. ICSBaseSimpleCode.AppshowMessageBox("已完成入库,不能生产条码!");
  193. return;
  194. }
  195. //if (!check())
  196. //{
  197. // return;
  198. //}
  199. //FormICSRewarehouseCreate form = new FormICSRewarehouseCreate(txtCode.Text.Trim(), cmbSEQ.Text.Trim(), txtStd.Text, Type);
  200. //form.ShowDialog();
  201. //cmbSEQ_SelectedIndexChanged(null, null);
  202. string moSeq = "";
  203. string moCode = "";
  204. string invStd = "";
  205. for (int i = 0; i < grvMoDetail.RowCount; i++)
  206. {
  207. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  208. {
  209. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  210. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  211. invStd = grvMoDetail.GetRowCellValue(i, colINVSTD).ToString();
  212. }
  213. }
  214. if (string.IsNullOrWhiteSpace(moSeq))
  215. {
  216. ICSBaseSimpleCode.AppshowMessageBox("请选择数据");
  217. return;
  218. }
  219. FormICSRewarehouseCreate form = new FormICSRewarehouseCreate(moCode, moSeq, invStd, Type);
  220. form.ShowDialog();
  221. SearchData(moCode, moSeq);
  222. if (ICSBaseSimpleCode.AppshowMessageBoxRepose("是否打印?") == DialogResult.OK)
  223. {
  224. simpleButton4_Click(null, null);
  225. }
  226. }
  227. catch (Exception ex)
  228. {
  229. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  230. }
  231. }
  232. /// <summary>
  233. /// 获取生成的条码
  234. /// </summary>
  235. /// <param name="moCode"></param>
  236. /// <param name="moSeq"></param>
  237. private void SearchData(string moCode, string moSeq)
  238. {
  239. try
  240. {
  241. DataSet ds = FormICSRewarehouseBLL.SearchData(moCode, moSeq, AppConfig.AppConnectString);
  242. if (ds != null && ds.Tables.Count == 2)
  243. {
  244. DataTable dt = ds.Tables[0];
  245. Serialdata = ds.Tables[1];
  246. grdDetail.DataSource = Serialdata;
  247. grvDetail.BestFitColumns();
  248. rptPage.RecordNum = Serialdata.Rows.Count;
  249. rptPage.PageSize = 499;
  250. rptPage.PageIndex = 1;
  251. rptPage.ReLoad();
  252. rptPage.PageSize = 500;
  253. rptPage.PageIndex = 1;
  254. rptPage.ReLoad();
  255. rptPage_PageIndexChanged(null, null);
  256. }
  257. }
  258. catch (Exception ex)
  259. {
  260. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  261. }
  262. }
  263. #endregion
  264. //加载
  265. private void FormICSRewarehouse_Load(object sender, EventArgs e)
  266. {
  267. #region
  268. //string sql = @"select '' as isSelect,RCARD from ICSMO2RCARD where MOID='{0}' order by RCARD asc";
  269. //sql = string.Format(sql, MoId);
  270. ////DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  271. ////grdDetail.DataSource = dt;
  272. //Serialdata = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  273. //rptPage.RecordNum = Serialdata.Rows.Count;
  274. //rptPage.PageIndex = 1;
  275. //rptPage.PageSize = 20;
  276. //rptPage.ReLoad();
  277. //rptPage_PageIndexChanged(null, null);
  278. #endregion
  279. init();
  280. }
  281. #region 初始化查询条件
  282. private void init()
  283. {
  284. #region 单据号
  285. #region 原逻辑
  286. //string sql = "SELECT DISTINCT ReceiptNO AS [单据号] FROM ICSINVReceipt WHERE WorkPoint='{0}' ORDER BY ReceiptNO ";
  287. #endregion
  288. string sql = "SELECT DISTINCT VouchCode AS [单据号] FROM ICSMaterial WHERE WorkPoint='{0}' AND IsPickingOrBack = '3' ORDER BY VouchCode DESC ";
  289. sql = string.Format(sql, AppConfig.WorkPointCode);
  290. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  291. txtCode.Properties.ValueMember = "单据号";
  292. txtCode.Properties.DisplayMember = "单据号";
  293. txtCode.Properties.DataSource = dt;
  294. txtCode.Properties.NullText = "";//空时的值
  295. txtCode.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  296. txtCode.Properties.ValidateOnEnterKey = true;//回车确认
  297. txtCode.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  298. txtCode.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  299. //自适应宽度
  300. txtCode.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  301. #endregion
  302. }
  303. #endregion
  304. private void txtMOCode_EditValueChanged(object sender, EventArgs e)
  305. {
  306. try
  307. {
  308. //this.txtItemCode.Text = "";
  309. //this.txtItemName.Text = "";
  310. //this.txtStd.Text = "";
  311. //this.txtQty.Text = "";
  312. //grdDetail.DataSource = null;
  313. //cmbSEQ.Properties.Items.Clear();
  314. //cmbSEQ.Text = "";
  315. //string Code = txtCode.EditValue.ToString();
  316. //#region 原逻辑
  317. ////string sql = "SELECT DISTINCT ReceiptLine FROM ICSINVReceiptDetail WHERE WorkPoint='{0}' AND ReceiptNO='{1}' ORDER BY ReceiptLine";
  318. //#endregion
  319. //string sql = "SELECT DISTINCT VouchRow FROM ICSMaterialPick WHERE WorkPoint='{0}' AND VouchCode='{1}' ORDER BY VouchRow";
  320. //sql = string.Format(sql, AppConfig.WorkPointCode, Code);
  321. //DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  322. //#region
  323. ////cmbSEQ.Properties.Items.Add("");
  324. ////cmbSEQ.Properties.Items.AddRange(dt.AsEnumerable().Select(a => a["ReceiptLine"]).ToList());
  325. ////cmbSEQ.Properties.Items.AddRange(dt.AsEnumerable().Select(a => a["MOSEQ"]).ToList());
  326. ////if (cmbSEQ.Properties.Items.Count > 0)
  327. //// cmbSEQ.SelectedIndex = 0;
  328. //#endregion
  329. //foreach( DataRow dr in dt.Rows)
  330. //{
  331. // cmbSEQ.Properties.Items.Add(dr["VouchRow"].ToString());
  332. //}
  333. //if (cmbSEQ.Properties.Items.Count > 0)
  334. // cmbSEQ.SelectedIndex = 0;
  335. grdDetail.DataSource = null;
  336. cmbSEQ.Properties.Items.Clear();
  337. cmbSEQ.Text = "";
  338. string Code = txtCode.EditValue.ToString();
  339. string sql = @"SELECT '' as MoIsSelect,
  340. a.VouchCode MOCODE,
  341. a.VouchRow MOSEQ,
  342. a.Quantity MOPLANQTY,
  343. a.SubInvCode ITEMCODE,
  344. b.INVNAME,
  345. b.INVSTD,a.VoucherNO
  346. FROM
  347. ICSMaterialPick a
  348. LEFT JOIN ICSINVENTORY b ON a.SubInvCode=b.INVCODE
  349. WHERE
  350. a.VouchCode='{0}'
  351. AND a.WorkPoint = '{1}'
  352. AND b.WorkPoint = '{1}'";
  353. sql += " order by CAST(a.VouchRow AS INT) asc";
  354. sql = string.Format(sql, Code, AppConfig.WorkPointCode);
  355. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  356. if (dt != null && dt.Rows.Count > 0)
  357. {
  358. grdMoDetail.DataSource = dt;
  359. grvMoDetail.BestFitColumns();
  360. }
  361. else
  362. {
  363. ICSBaseSimpleCode.AppshowMessageBox("没有找到该单据信息!");
  364. return;
  365. }
  366. }
  367. catch (Exception ex)
  368. {
  369. ICSBaseSimpleCode.AppshowMessageBox("没有找到该单据信息!");
  370. return;
  371. }
  372. }
  373. private void cmbSEQ_SelectedIndexChanged(object sender, EventArgs e)
  374. {
  375. try
  376. {
  377. Type = "";
  378. Status = "";
  379. if (cmbSEQ.Properties.Items.Count <= 0 || !check())
  380. {
  381. return;
  382. }
  383. DataSet ds = FormICSRewarehouseBLL.SearchData(txtCode.Text.Trim(), cmbSEQ.Text.Trim(), AppConfig.AppConnectString);
  384. if (ds != null && ds.Tables.Count == 2)
  385. {
  386. DataTable dt = ds.Tables[0];
  387. if (dt != null && dt.Rows.Count > 0)
  388. {
  389. txtItemCode.Text = dt.Rows[0]["SubInvCode"].ToString();
  390. txtItemName.Text = dt.Rows[0]["INVNAME"].ToString();
  391. txtStd.Text = dt.Rows[0]["INVSTD"].ToString();
  392. txtQty.Text = dt.Rows[0]["Quantity"].ToString();
  393. //Type = dt.Rows[0]["TYPE"].ToString();
  394. //Status = dt.Rows[0]["RECSTATUS"].ToString();
  395. }
  396. Serialdata = ds.Tables[1];
  397. grdDetail.DataSource = Serialdata;
  398. grvDetail.BestFitColumns();
  399. rptPage.RecordNum = Serialdata.Rows.Count;
  400. rptPage.PageSize = 499;
  401. rptPage.PageIndex = 1;
  402. rptPage.ReLoad();
  403. rptPage.PageSize = 500;
  404. rptPage.PageIndex = 1;
  405. rptPage.ReLoad();
  406. rptPage_PageIndexChanged(null, null);
  407. }
  408. }
  409. catch (Exception ex)
  410. {
  411. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  412. }
  413. }
  414. private void grvDetail_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
  415. {
  416. if (e.RowHandle >= 0 && e.Column.FieldName == "DCTCODE")
  417. {
  418. e.CellValue = "cccc";
  419. }
  420. }
  421. #region 全选
  422. private void btnSelectAll_Click(object sender, EventArgs e)
  423. {
  424. grvDetail.PostEditor();
  425. this.Validate();
  426. for (int i = 0; i < grvDetail.RowCount; i++)
  427. {
  428. grvDetail.SetRowCellValue(i, colisSelect, "Y");
  429. }
  430. }
  431. #endregion
  432. #region 全消
  433. private void btnCancelAll_Click(object sender, EventArgs e)
  434. {
  435. grvDetail.PostEditor();
  436. this.Validate();
  437. for (int i = 0; i < grvDetail.RowCount; i++)
  438. {
  439. grvDetail.SetRowCellValue(i, colisSelect, "");
  440. }
  441. }
  442. #endregion
  443. private void btnDel_Click(object sender, EventArgs e)
  444. {
  445. SimpleButton btntemp = (SimpleButton)sender;
  446. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  447. {
  448. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  449. return;
  450. }
  451. List<string> rcardList = new List<string>();
  452. for (int i = 0; i < grvDetail.RowCount; i++)
  453. {
  454. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y" && grvDetail.GetRowCellValue(i, colisInput).ToString() == "False")
  455. {
  456. rcardList.Add(grvDetail.GetRowCellValue(i, colID).ToString());
  457. }
  458. }
  459. if (rcardList.Count == 0 || rcardList == null)
  460. {
  461. ICSBaseSimpleCode.AppshowMessageBox("请选择数据");
  462. return;
  463. }
  464. if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确定删除序列号吗?删除后无法恢复,确定吗?") != DialogResult.OK)
  465. {
  466. btnCancelAll_Click(sender, e);
  467. return;
  468. }
  469. try
  470. {
  471. FormICSRewarehouseBLL.deleteInfo(rcardList, AppConfig.AppConnectString);
  472. ICSBaseSimpleCode.AppshowMessageBox("删除成功");
  473. string moSeq = "";
  474. string moCode = "";
  475. for (int i = 0; i < grvMoDetail.RowCount; i++)
  476. {
  477. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  478. {
  479. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  480. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  481. }
  482. }
  483. SearchData(moCode, moSeq);
  484. }
  485. catch (Exception ex)
  486. {
  487. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  488. }
  489. cmbSEQ_SelectedIndexChanged(null, null);
  490. }
  491. private void grvDetail_DoubleClick(object sender, EventArgs e)
  492. {
  493. if (grvDetail.FocusedRowHandle < 0)
  494. {
  495. return;
  496. }
  497. if (grvDetail.FocusedColumn == colisSelect)
  498. {
  499. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
  500. {
  501. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
  502. }
  503. else
  504. {
  505. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
  506. }
  507. }
  508. }
  509. #region 打印
  510. private void simpleButton4_Click(object sender, EventArgs e)
  511. {
  512. try
  513. {
  514. if (sender != null)
  515. {
  516. SimpleButton btntemp = (SimpleButton)sender;
  517. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  518. {
  519. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  520. return;
  521. }
  522. }
  523. List<PrintPara> parasList = new List<PrintPara>();
  524. List<ICSITEMLot> InfoList = new List<ICSITEMLot>();
  525. for (int i = 0; i < grvDetail.RowCount; i++)
  526. {
  527. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  528. {
  529. PrintPara para = new PrintPara();
  530. para.PrintKey = "LOTNO";
  531. para.PrintValues = new object[] { grvDetail.GetRowCellValue(i, colLOTNO).ToString() };
  532. parasList.Add(para);
  533. ICSITEMLot Info = new ICSITEMLot();
  534. Info.LotNO = grvDetail.GetRowCellValue(i, colLOTNO).ToString();
  535. Info.lastPrintUSERID = AppConfig.UserId;
  536. Info.lastPrintTime = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  537. Info.WorkPoint = AppConfig.WorkPointCode;
  538. Info.EATTRIBUTE3 = decimal.Parse(grvDetail.GetRowCellValue(i, colEATTRIBUTE3).ToString());
  539. InfoList.Add(Info);
  540. }
  541. }
  542. if (parasList.Count == 0)
  543. {
  544. ICSBaseSimpleCode.AppshowMessageBox("请选择数据!");
  545. return;
  546. }
  547. #region 修改打印模板逻辑
  548. #region
  549. //if (Type.Equals("半成品"))
  550. //{
  551. // FormPrintDialog f = new FormPrintDialog("007", this.Text, parasList, false, null);
  552. // f.ShowDialog();
  553. //}
  554. //else if (Type.Equals("成品"))
  555. //{
  556. // FormPrintDialog f = new FormPrintDialog("008", this.Text, parasList, false, null);
  557. // f.ShowDialog();
  558. //}
  559. #endregion
  560. FormPrintDialog f = new FormPrintDialog("019", this.Text, parasList, false, null);
  561. f.ShowDialog();
  562. #endregion
  563. //更新打印信息
  564. FormICSRewarehouseBLL.updatePrint(InfoList, AppConfig.AppConnectString);
  565. string moSeq = "";
  566. string moCode = "";
  567. for (int i = 0; i < grvMoDetail.RowCount; i++)
  568. {
  569. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  570. {
  571. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  572. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  573. }
  574. }
  575. SearchData(moCode, moSeq);
  576. }
  577. catch (Exception ex)
  578. {
  579. MessageBox.Show(ex.ToString());
  580. }
  581. }
  582. #endregion
  583. private void grdMoDetail_DoubleClick(object sender, EventArgs e)
  584. {
  585. int x = 0;
  586. if (grvMoDetail.FocusedRowHandle < 0)
  587. {
  588. return;
  589. }
  590. if (grvMoDetail.FocusedColumn == colMoIsSelect)
  591. {
  592. if (grvMoDetail.GetRowCellValue(grvMoDetail.FocusedRowHandle, colMoIsSelect).ToString() == "")
  593. {
  594. grvMoDetail.SetRowCellValue(grvMoDetail.FocusedRowHandle, colMoIsSelect, "Y");
  595. x = grvMoDetail.FocusedRowHandle;
  596. }
  597. else
  598. {
  599. grvMoDetail.SetRowCellValue(grvMoDetail.FocusedRowHandle, colMoIsSelect, "");
  600. }
  601. }
  602. for (int i = 0; i < grvMoDetail.RowCount; i++)
  603. {
  604. if (x != i)
  605. {
  606. grvMoDetail.SetRowCellValue(i, colMoIsSelect, "");
  607. }
  608. }
  609. try
  610. {
  611. Type = "";
  612. Status = "";
  613. string moSeq = "";
  614. string moCode = "";
  615. for (int i = 0; i < grvMoDetail.RowCount; i++)
  616. {
  617. if (grvMoDetail.GetRowCellValue(i, colMoIsSelect).ToString() == "Y")
  618. {
  619. moSeq = grvMoDetail.GetRowCellValue(i, colMOSEQ1).ToString();
  620. moCode = grvMoDetail.GetRowCellValue(i, colMoCode1).ToString();
  621. }
  622. }
  623. DataSet ds = FormICSRewarehouseBLL.SearchData(moCode, moSeq, AppConfig.AppConnectString);
  624. if (ds != null && ds.Tables.Count == 2)
  625. {
  626. DataTable dt = ds.Tables[0];
  627. Serialdata = ds.Tables[1];
  628. grdDetail.DataSource = Serialdata;
  629. grvDetail.BestFitColumns();
  630. rptPage.RecordNum = Serialdata.Rows.Count;
  631. rptPage.PageSize = 499;
  632. rptPage.PageIndex = 1;
  633. rptPage.ReLoad();
  634. rptPage.PageSize = 500;
  635. rptPage.PageIndex = 1;
  636. rptPage.ReLoad();
  637. rptPage_PageIndexChanged(null, null);
  638. }
  639. }
  640. catch (Exception ex)
  641. {
  642. ICSBaseSimpleCode.AppshowMessageBox(ex.ToString());
  643. }
  644. }
  645. private void grdMoDetail_Click(object sender, EventArgs e)
  646. {
  647. }
  648. }
  649. }