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

843 lines
31 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Linq;
  8. using System.IO;
  9. using System.Windows.Forms;
  10. using DevExpress.XtraEditors;
  11. using ICSSoft.Frame.User.BLL;
  12. using ICSSoft.Base.Language.Tool;
  13. using ICSSoft.Base.UserControl.MessageControl;
  14. using System.Data.SqlClient;
  15. using ICSSoft.Base.Config.AppConfig;
  16. using ICSSoft.Base.Report.Filter;
  17. using ICSSoft.Base.Config.DBHelper;
  18. using ICSSoft.Base.UserControl.FormControl;
  19. using ICSSoft.Base.ReferForm.AppReferForm;
  20. using ICSSoft.Base.Lable.PrintTool;
  21. using ICSSoft.Frame.Data.DAL;
  22. using ICSSoft.Frame.Data.BLL;
  23. using ICSSoft.Frame.Data.Entity;
  24. namespace ICSSoft.Frame.APP
  25. {
  26. public partial class FormICSInStorage : DevExpress.XtraEditors.XtraForm
  27. {
  28. private string sqltxt = "";
  29. private string sqlconn = "";
  30. String guid = AppConfig.GetGuid();
  31. private DataTable dataSource = null;
  32. private DataTable dataSource1 = null;
  33. bool b = false;
  34. //0817新增
  35. string mocode = "";//工单编码
  36. string moseq = "";//生产订单行号
  37. #region 构造函数
  38. public FormICSInStorage()
  39. {
  40. InitializeComponent();
  41. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  42. this.WindowState = FormWindowState.Maximized;
  43. foreach (DevExpress.XtraGrid.Columns.GridColumn col in grvDetail.Columns)
  44. {
  45. // col.OptionsColumn.AllowEdit = col.Name == colSerial.Name;
  46. // col.OptionsColumn.ReadOnly = true;
  47. }
  48. b = true;
  49. }
  50. public FormICSInStorage(string mocode)
  51. {
  52. InitializeComponent();
  53. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  54. this.WindowState = FormWindowState.Maximized;
  55. b = false;
  56. foreach (DevExpress.XtraGrid.Columns.GridColumn col in grvDetail.Columns)
  57. {
  58. // col.OptionsColumn.AllowEdit = col.Name == colSerial.Name;
  59. // col.OptionsColumn.ReadOnly = true;
  60. }
  61. searchInfo(mocode);
  62. }
  63. #endregion
  64. #region 构造函数
  65. public FormICSInStorage(string mocode,string moseq)
  66. {
  67. InitializeComponent();
  68. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  69. this.WindowState = FormWindowState.Maximized;
  70. b = false;
  71. foreach (DevExpress.XtraGrid.Columns.GridColumn col in grvDetail.Columns)
  72. {
  73. // col.OptionsColumn.AllowEdit = col.Name == colSerial.Name;
  74. // col.OptionsColumn.ReadOnly = true;
  75. }
  76. searchInfo(mocode,moseq);
  77. }
  78. /// <summary>
  79. /// 传入产品追踪单号
  80. /// </summary>
  81. /// <param name="lotno"></param>
  82. /// <param name="islotno"></param>
  83. public FormICSInStorage(List<string> lotno)
  84. {
  85. InitializeComponent();
  86. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  87. this.WindowState = FormWindowState.Maximized;
  88. b = false;
  89. searchInform(lotno);
  90. }
  91. #endregion
  92. private void searchInform(List<string> lotno)
  93. {
  94. try
  95. {
  96. this.Tag = "10.24.04";
  97. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
  98. string sql = @"SELECT DISTINCT
  99. '' AS [isSelect],
  100. e.LOTNO as LOTNO,
  101. a.ID AS ID,
  102. --a.ProjectCode AS ProjectCode,
  103. a.MOCODE AS MOCODE,
  104. a.MOTYPE AS MOTYPE,
  105. a.MOSEQ AS MOSEQ,
  106. b.ROUTECODE AS RouteCode,
  107. b.ROUTETYPE AS ROUTETYPE,
  108. a.MOPLANQTY AS MOPLANQTY,
  109. a.MOPLANSTARTDATE AS MOPLANSTARTDATE,
  110. a.MOPLANENDDATE AS MOPLANENDDATE,
  111. f.INVSTD as ItemCtrTypeCode
  112. FROM
  113. --ICSMO2Lot e
  114. ICSITEMLot e
  115. INNER JOIN ICSMO2User c ON e.LOTNO = c.LOTNO
  116. INNER JOIN ICSMO a on e.TransNO=a.MOCODE AND e.TransLine=a.MOSEQ
  117. INNER JOIN ICSMO2ROUTE b ON a.MOCODE = b.MOCODE
  118. INNER JOIN ICSINVENTORY f ON a.ITEMCODE = f.INVCODE
  119. WHERE 1=1 ";
  120. for (int i = 0; i < lotno.Count; i++)
  121. {
  122. if (i == 0)
  123. {
  124. sql += " and e.LOTNO='" + lotno[i] + "'";
  125. }
  126. else
  127. {
  128. sql += " or e.LOTNO='" + lotno[i] + "'";
  129. }
  130. }
  131. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  132. btnprint.DataSource = data;
  133. }
  134. catch (Exception ex)
  135. {
  136. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  137. }
  138. }
  139. private void searchInfo(string mocode)
  140. {
  141. try
  142. {
  143. this.Tag = "10.24.04";
  144. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
  145. string sql = @"SELECT DISTINCT
  146. '' AS [isSelect],
  147. e.LOTNO as LOTNO,
  148. a.ID AS ID,
  149. a.ProjectCode AS ProjectCode,
  150. a.MOCODE AS MOCODE,
  151. a.MOTYPE AS MOTYPE,
  152. a.MOSEQ AS MOSEQ,
  153. b.ROUTECODE AS RouteCode,
  154. b.ROUTETYPE AS ROUTETYPE,
  155. a.MOPLANQTY AS MOPLANQTY,
  156. a.MOPLANSTARTDATE AS MOPLANSTARTDATE,
  157. a.MOPLANENDDATE AS MOPLANENDDATE,
  158. f.ItemCtrTypeCode as ItemCtrTypeCode
  159. FROM
  160. ICSMO2Lot e
  161. INNER JOIN ICSMO2User c ON e.LOTNO = c.LOTNO
  162. INNER JOIN ICSMO a on e.MOCODE=a.MOCODE
  163. INNER JOIN ICSMO2ROUTE b ON a.MOCODE = b.MOCODE
  164. INNER JOIN Base_Inventory f ON a.ITEMCODE = f.ItemCode
  165. WHERE
  166. a.MOCODE='" + mocode + "' order by e.LOTNO asc";
  167. sql = string.Format(sql);
  168. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  169. btnprint.DataSource = data;
  170. }
  171. catch (Exception ex)
  172. {
  173. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  174. }
  175. }
  176. private void searchInfo(string mocode,string moseq)
  177. {
  178. try
  179. {
  180. this.Tag = "10.24.04";
  181. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
  182. string sql = @" SELECT DISTINCT
  183. '' AS [isSelect],
  184. f.INVCODE as INVCODE,
  185. f.INVNAME as INVNAME,
  186. f.INVSTD as INVSTD,
  187. e.LOTQTY as QTY,
  188. f.INVUOM as INVUOM,
  189. a.MOCODE AS MOCODE,
  190. a.MOSEQ as MOSEQ,
  191. a.MOVER AS MOVER,
  192. e.MUSERName as MUSER,
  193. e.MTIME as MTIME,
  194. CAST(CASE WHEN i.LotNO IS NOT NULL THEN '1' ELSE '0' END AS bit) AS ISPUT,
  195. e.LOTNO as LOTNO,
  196. cast(e.EATTRIBUTE3 as decimal(18,2)) *cast(e.LOTQTY as decimal(18,2)) as AuxiliaryQTY,
  197. f.INVEXPORTIMPORT as AuxiliaryUOM
  198. FROM
  199. ICSITEMLot e
  200. INNER JOIN ICSMO a on e.TransNO=a.MOCODE AND e.TransLine=a.MOSEQ
  201. INNER JOIN ICSINVENTORY f ON a.ITEMCODE = f.INVCODE
  202. LEFT JOIN ICSWareHouseLotInfo i ON e.LOTNO=i.LotNO
  203. WHERE 1=1 AND e.TYPE=''
  204. AND MOCODE='" + mocode + "' AND MOSEQ='" + moseq + "' order by e.LOTNO asc";
  205. sql = string.Format(sql);
  206. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  207. btnprint.DataSource = data;
  208. }
  209. catch (Exception ex)
  210. {
  211. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  212. }
  213. }
  214. #region 操作权限
  215. public DataTable RightOfExute()
  216. {
  217. DataTable rData = new DataTable();
  218. rData.Columns.Add("BtnName");
  219. rData.Columns.Add("ActionName");
  220. //查看权限(必须有)
  221. DataRow seeRow = rData.NewRow();
  222. seeRow["BtnName"] = "see";
  223. seeRow["ActionName"] = "查看";
  224. rData.Rows.Add(seeRow);
  225. foreach (Control ctr in panelControl3.Controls)
  226. {
  227. if (ctr.Name == btnFilter.Name || ctr.Name == btnConfig.Name ||
  228. ctr.Name == btnSelectAll.Name || ctr.Name == btnCancelAll.Name ||
  229. ctr.Name == btnOutPut.Name || ctr.Name == txtTarckList.Name||
  230. ctr.Name == btnRefresh.Name || ctr.Name == btnExit.Name || ctr.Name == MOTitle.Name || ctr.Name == btnClose.Name || ctr.Name == btnrkadd.Name || ctr.Name == btndelete.Name|| ctr.Name == btnprint.Name)
  231. continue;
  232. DataRow dr = rData.NewRow();
  233. dr["BtnName"] = ctr.Name;
  234. dr["ActionName"] = ctr.Text;
  235. rData.Rows.Add(dr);
  236. }
  237. rData.AcceptChanges();
  238. return rData;
  239. }
  240. public DataTable RightOfData()// 数据权限
  241. {
  242. DataTable rData = new DataTable();
  243. rData.Columns.Add("BodyName");
  244. rData.Columns.Add("ControlName");
  245. rData.Columns.Add("ControlCaption");
  246. rData.AcceptChanges();
  247. return rData;
  248. }
  249. #endregion
  250. #region 退出
  251. private void btnClose_Click(object sender, EventArgs e)
  252. {
  253. AppConfig.CloseFormShow(this.Text);
  254. this.Close();
  255. }
  256. private void btnExit_Click(object sender, EventArgs e)
  257. {
  258. AppConfig.CloseFormShow(this.Text);
  259. this.Close();
  260. }
  261. #endregion
  262. #region 移动窗体
  263. private const int WM_NCHITTEST = 0x84;
  264. private const int HTCLIENT = 0x1;
  265. private const int HTCAPTION = 0x2;
  266. //首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
  267. //系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
  268. //假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
  269. //同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
  270. //重写窗体,使窗体可以不通过自带标题栏实现移动
  271. protected override void WndProc(ref Message m)
  272. {
  273. //当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
  274. //当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
  275. //这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
  276. //注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
  277. switch (m.Msg)
  278. {
  279. case WM_NCHITTEST:
  280. base.WndProc(ref m);
  281. if ((int)m.Result == HTCLIENT)
  282. m.Result = (IntPtr)HTCAPTION;
  283. return;
  284. }
  285. //拦截双击标题栏、移动窗体的系统消息
  286. if (m.Msg != 0xA3)
  287. {
  288. base.WndProc(ref m);
  289. }
  290. }
  291. #endregion
  292. #region 列表
  293. private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  294. {
  295. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  296. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  297. }
  298. #endregion
  299. #region 过滤
  300. private string tempTableName = "";
  301. private void btnFilter_Click(object sender, EventArgs e)
  302. {
  303. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name));
  304. filter.OldTempTableName = tempTableName;
  305. if (filter.ShowDialog() == DialogResult.OK)
  306. {
  307. DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
  308. try
  309. {
  310. _wait.Show();
  311. tempTableName = filter.NewTempTableName;
  312. sqltxt = filter.SqlText;
  313. sqlconn = filter.FilterConnectString;
  314. dataSource = filter.FilterData.Tables[0];
  315. btnprint.DataSource = dataSource;
  316. grvDetail.BestFitColumns();
  317. rptPage.RecordNum = dataSource.Rows.Count;
  318. rptPage.PageSize = 500;
  319. rptPage.PageIndex = 1;
  320. rptPage.ReLoad();
  321. string sql = @"select a.rkcode,mocode,moseq,a.lotno,a.invcode,b.invname,b.invstd,b.invuom,d.lotqty,a.muser,a.mtime,'' as isselect from icsinstoragedetail a
  322. left join ICSINVENTORY b on b.INVCODE = a.invcode
  323. left join ICSITEMLot d on d.LotNO = a.lotno order by mtime desc";
  324. dataSource1 = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  325. gridControl1.DataSource = dataSource1;
  326. gridView1.BestFitColumns();
  327. rptPage1.RecordNum = dataSource1.Rows.Count;
  328. rptPage1.PageSize = 500;
  329. rptPage1.PageIndex = 1;
  330. rptPage1.ReLoad();
  331. _wait.Close();
  332. }
  333. catch (Exception ex)
  334. {
  335. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  336. _wait.Close();
  337. }
  338. }
  339. }
  340. #endregion
  341. #region 绑定数据源
  342. private void btnConfig_Click(object sender, EventArgs e)
  343. {
  344. if (AppConfig.UserCode.ToLower() != "demo")
  345. {
  346. ICSBaseSimpleCode.AppshowMessageBox("您没有权限设置数据源,请联系软件提供商!");
  347. return;
  348. }
  349. FormDataSource fdata = new FormDataSource(AppConfig.GetMenuId(this.Tag.ToString()), btnConfig.Name);
  350. fdata.ShowDialog();
  351. }
  352. #endregion
  353. #region 分页
  354. private void rptPage_PageIndexChanged(object Sender, EventArgs e)
  355. {
  356. DataTable data = AppConfig.GetPageData(dataSource, rptPage.PageIndex, rptPage.PageSize).Copy();
  357. //DataTable data = AppConfig.GetPageDataByDb(tempTableName, "pagerowindex", rptPage.PageSize, rptPage.PageIndex, dataSource.Rows.Count);
  358. btnprint.DataSource = data;
  359. }
  360. #endregion
  361. #region 过滤方法
  362. private void FormContainerManager_FormClosing(object sender, FormClosingEventArgs e)
  363. {
  364. AppConfig.DropTemTable(tempTableName);
  365. }
  366. #endregion
  367. #region 全选
  368. private void btnSelectAll_Click(object sender, EventArgs e)
  369. {
  370. grvDetail.PostEditor();
  371. this.Validate();
  372. for (int i = 0; i < grvDetail.RowCount; i++)
  373. {
  374. grvDetail.SetRowCellValue(i, colisSelect, "Y");
  375. }
  376. }
  377. #endregion
  378. #region 全消
  379. private void btnCancelAll_Click(object sender, EventArgs e)
  380. {
  381. grvDetail.PostEditor();
  382. this.Validate();
  383. for (int i = 0; i < grvDetail.RowCount; i++)
  384. {
  385. grvDetail.SetRowCellValue(i, colisSelect, "");
  386. }
  387. }
  388. #endregion
  389. #region 双击
  390. private void grvDetail_DoubleClick(object sender, EventArgs e)
  391. {
  392. if (grvDetail.FocusedRowHandle < 0)
  393. {
  394. return;
  395. }
  396. if (grvDetail.FocusedColumn == colisSelect)
  397. {
  398. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
  399. {
  400. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
  401. }
  402. else
  403. {
  404. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
  405. }
  406. }
  407. }
  408. #endregion
  409. #region 导出
  410. private void btnOutPut_Click(object sender, EventArgs e)
  411. {
  412. try
  413. {
  414. FormOutExcel foe = new FormOutExcel(this.Tag.ToString(), btnprint);
  415. foe.ShowDialog();
  416. }
  417. catch (Exception ex)
  418. {
  419. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  420. }
  421. //FormOutExcel foe = new FormOutExcel();
  422. //if (foe.ShowDialog() == DialogResult.OK)
  423. //{
  424. // try
  425. // {
  426. // string outtype = foe._OutType;
  427. // string exceltype = foe._ExcelType;
  428. // string filename = foe._FileName;
  429. // string url = foe._Url;
  430. // string sheetname = foe._SheetName;
  431. // if (outtype.ToLower() == "excel")
  432. // {
  433. // DevExpress.XtraPrinting.XlsExportOptions op = new DevExpress.XtraPrinting.XlsExportOptions();
  434. // op.SheetName = sheetname;
  435. // grdDetail.MainView.ExportToXls((url + "\\" + filename + (exceltype == "2003" ? ".xls" : ".xlsx")), op);
  436. // }
  437. // else
  438. // {
  439. // grdDetail.MainView.ExportToPdf(url + "\\" + filename + ".pdf");
  440. // }
  441. // MessageBox.Show("导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  442. // }
  443. // catch (Exception ex)
  444. // {
  445. // MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  446. // }
  447. //}
  448. }
  449. #endregion
  450. #region 刷新
  451. private void btnRefresh_Click(object sender, EventArgs e)
  452. {
  453. DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等...");
  454. try
  455. {
  456. _wait.Show();
  457. FormFilter filter = new FormFilter(AppConfig.GetSourceId(this.Tag.ToString(), btnConfig.Name), false);
  458. filter.OldTempTableName = tempTableName;
  459. //tempTableName = filter.NewTempTableName;
  460. //DataTable data = DBHelper.ExecuteDataset(AppConfig.FrameConnectString, CommandType.Text, "select * from " + tempTableName).Tables[0];
  461. dataSource = DBHelper.ExecuteDataset(sqlconn, CommandType.Text, sqltxt).Tables[0];
  462. btnprint.DataSource = dataSource;
  463. grvDetail.BestFitColumns();
  464. rptPage.RecordNum = dataSource.Rows.Count;
  465. rptPage.PageIndex = 1;
  466. rptPage.ReLoad();
  467. string sql = @"select a.rkcode,mocode,moseq,a.lotno,a.invcode,b.invname,b.invstd,b.invuom,d.lotqty,a.muser,a.mtime,'' as isselect,c.InstorageType from icsinstoragedetail a
  468. left join ICSINVENTORY b on b.INVCODE = a.invcode
  469. left join ICSITEMLot d on d.LotNO = a.lotno
  470. left join ICSInStorage c on c.RKCode=a.RKCode
  471. order by mtime desc
  472. ";
  473. dataSource1 = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  474. gridControl1.DataSource = dataSource1;
  475. gridView1.BestFitColumns();
  476. rptPage1.RecordNum = dataSource1.Rows.Count;
  477. rptPage1.PageSize = 500;
  478. rptPage1.PageIndex = 1;
  479. rptPage1.ReLoad();
  480. _wait.Close();
  481. }
  482. catch (Exception ex)
  483. {
  484. MessageBox.Show("异常:" + ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
  485. _wait.Close();
  486. }
  487. }
  488. #endregion
  489. private void ICSItemLot_FormClosing(object sender, FormClosingEventArgs e)
  490. {
  491. AppConfig.DropTemTable(tempTableName);
  492. }
  493. private void FormICSMO_Load(object sender, EventArgs e)
  494. {
  495. if (b == true)
  496. {
  497. btnFilter_Click(sender, e);
  498. }
  499. }
  500. #region 跟踪单打印
  501. private void txtTarckList_Click(object sender, EventArgs e)
  502. {
  503. SimpleButton btntemp = (SimpleButton)sender;
  504. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  505. {
  506. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  507. return;
  508. }
  509. if (grvDetail.FocusedRowHandle < 0)
  510. {
  511. return;
  512. }
  513. try
  514. {
  515. List<PrintPara> barCodeList = new List<PrintPara>();
  516. List<ICSITEMLot> InfoList = new List<ICSITEMLot>();
  517. for (int i = 0; i < grvDetail.RowCount; i++)
  518. {
  519. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  520. {
  521. string barCode = grvDetail.GetRowCellValue(i, colLOTNO).ToString();
  522. PrintPara printInfo = new PrintPara();
  523. printInfo.PrintKey = "LOTNO";
  524. printInfo.PrintValues = new object[] { barCode };
  525. barCodeList.Add(printInfo);
  526. ICSITEMLot Info = new ICSITEMLot();
  527. Info.LotNO = grvDetail.GetRowCellValue(i, colLOTNO).ToString();
  528. //Info.PrintTimes = Convert.ToInt32(grvDetail.GetRowCellValue(i, colPrintTimes).ToString()) + 1;
  529. Info.lastPrintUSERID = AppConfig.UserId;
  530. Info.lastPrintTime = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  531. Info.WorkPoint = AppConfig.WorkPointCode;
  532. InfoList.Add(Info);
  533. }
  534. }
  535. if (barCodeList.Count == 0)
  536. {
  537. ICSBaseSimpleCode.AppshowMessageBox("没有选择数据");
  538. return;
  539. }
  540. FormPrintDialog printDialog = new FormPrintDialog("007", "ICSProduct", barCodeList, false, null);
  541. printDialog.ShowDialog();
  542. //更新打印信息
  543. ICSRdrecord2LOTBLL.updatePrint(InfoList, AppConfig.AppConnectString);
  544. // for (int i = 0; i < grvDetail.RowCount; i++)
  545. // {
  546. // string sql = "";
  547. // if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  548. // {
  549. // sql = @"Insert into WM_BarCodePrintLog
  550. // Values
  551. // (NEWID(),'{0}','0001','{1}','{2}',GetDate(),null,null)";
  552. // sql = string.Format(sql, grvDetail.GetRowCellValue(i, colLOTNO).ToString(), AppConfig.UserCode
  553. // , AppConfig.UserName);
  554. // DBHelper.ExecuteNonQuery(AppConfig.AppConnectString, CommandType.Text, sql);
  555. // }
  556. // }
  557. }
  558. catch (Exception ex)
  559. {
  560. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  561. }
  562. }
  563. #endregion
  564. private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
  565. {
  566. }
  567. private void rptPage1_PageIndexChanged(object Sender, EventArgs e)
  568. {
  569. DataTable data = AppConfig.GetPageData(dataSource1, rptPage.PageIndex, rptPage.PageSize).Copy();
  570. //DataTable data = AppConfig.GetPageDataByDb(tempTableName, "pagerowindex", rptPage.PageSize, rptPage.PageIndex, dataSource.Rows.Count);
  571. gridControl1.DataSource = data;
  572. }
  573. private void btnrkadd_Click(object sender, EventArgs e)
  574. {
  575. SimpleButton btntemp = (SimpleButton)sender;
  576. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  577. {
  578. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  579. return;
  580. }
  581. int count = 0;
  582. for (int i = 0; i < grvDetail.RowCount; i++) {
  583. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  584. {
  585. count++;
  586. }
  587. }
  588. if (count <= 0) {
  589. ICSBaseSimpleCode.AppshowMessageBox("请选择要生成入库单的条码");
  590. return;
  591. }
  592. string rkcode = AppConfig.GetSerialCode(AppConfig.AppConnectString, AppConfig.WorkPointCode, "ICSInStorage", "RKCode", "CPRKD" + DateTime.Now.ToString("yyMMdd"), 4);
  593. ICSInStorage instorage = new ICSInStorage();
  594. instorage.id = AppConfig.GetGuid();
  595. instorage.RKCode = rkcode;
  596. instorage.Muser = AppConfig.UserCode;
  597. instorage.Mtime = DateTime.Now;
  598. List<ICSInStorageDetail> list = new List<ICSInStorageDetail>();
  599. List<string> status = new List<string>();
  600. for (int i = 0; i < grvDetail.RowCount; i++) {
  601. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y") {
  602. ICSInStorageDetail detail = new ICSInStorageDetail();
  603. detail.id = AppConfig.GetGuid();
  604. detail.invcode = grvDetail.GetRowCellValue(i, colINVCODE).ToString();
  605. detail.RKCode = rkcode;
  606. detail.Lotno= grvDetail.GetRowCellValue(i, colLOTNO).ToString();
  607. detail.Mocode = grvDetail.GetRowCellValue(i,colMOCODE).ToString();
  608. detail.Moseq=Convert.ToInt32(grvDetail.GetRowCellValue(i, colMOSEQ));
  609. detail.Mtime = DateTime.Now;
  610. detail.Muser = AppConfig.UserCode;
  611. if (!status.Contains(grvDetail.GetRowCellValue(i, Result).ToString())) {
  612. status.Add(grvDetail.GetRowCellValue(i, Result).ToString());
  613. }
  614. if (status.Count > 1) {
  615. ICSBaseSimpleCode.AppshowMessageBox("只能选择相同状态的条码生成入库单!");
  616. return;
  617. }
  618. list.Add(detail);
  619. }
  620. }
  621. instorage.InstorageType = status[0];
  622. try
  623. {
  624. ICSInstorageBLL.Insert(instorage, list, AppConfig.AppConnectString);
  625. ICSBaseSimpleCode.AppshowMessageBox("生成成功!");
  626. btnRefresh_Click(null, null);
  627. }
  628. catch (Exception ex) {
  629. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  630. }
  631. }
  632. private void simpleButton1_Click(object sender, EventArgs e)
  633. {
  634. SimpleButton btntemp = (SimpleButton)sender;
  635. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  636. {
  637. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  638. return;
  639. }
  640. int count = 0;
  641. for (int i = 0; i < gridView1.RowCount; i++)
  642. {
  643. if (gridView1.GetRowCellValue(i, select).ToString() == "Y")
  644. {
  645. count++;
  646. }
  647. }
  648. if (count <= 0)
  649. {
  650. ICSBaseSimpleCode.AppshowMessageBox("请选择要删除入库单!");
  651. return;
  652. }
  653. List<string> rkcode1 = new List<string>();
  654. for (int i = 0; i < gridView1.RowCount; i++)
  655. {
  656. if (gridView1.GetRowCellValue(i, select).ToString() == "Y")
  657. {
  658. if (rkcode1.Contains(gridView1.GetRowCellValue(i, rkcode).ToString())) {
  659. continue;
  660. }
  661. rkcode1.Add(gridView1.GetRowCellValue(i, rkcode).ToString());
  662. }
  663. }
  664. try {
  665. ICSInstorageBLL.Delete(rkcode1, AppConfig.AppConnectString);
  666. ICSBaseSimpleCode.AppshowMessageBox("删除成功!");
  667. btnRefresh_Click(null, null);
  668. }
  669. catch (Exception ex) {
  670. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  671. }
  672. }
  673. private void gridView1_DoubleClick(object sender, EventArgs e)
  674. {
  675. if (gridView1.FocusedRowHandle < 0)
  676. {
  677. return;
  678. }
  679. if (gridView1.FocusedColumn == select)
  680. {
  681. if (gridView1.GetRowCellValue(gridView1.FocusedRowHandle, select).ToString() == "")
  682. {
  683. gridView1.SetRowCellValue(gridView1.FocusedRowHandle, select, "Y");
  684. }
  685. else
  686. {
  687. gridView1.SetRowCellValue(gridView1.FocusedRowHandle, select, "");
  688. }
  689. }
  690. }
  691. private void simpleButton2_Click(object sender, EventArgs e)
  692. {
  693. try
  694. {
  695. SimpleButton btntemp = (SimpleButton)sender;
  696. if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  697. {
  698. ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  699. return;
  700. }
  701. string para1 = "1 and a.rkcode in(";
  702. List<string> list = new List<string>();
  703. for (int i = 0; i < gridView1.RowCount; i++)
  704. {
  705. if (gridView1.GetRowCellValue(i, select).ToString() == "Y")
  706. {
  707. if (list.Contains(gridView1.GetRowCellValue(i, rkcode).ToString())){
  708. continue;
  709. }
  710. else {
  711. list.Add(gridView1.GetRowCellValue(i, rkcode).ToString());
  712. para1 += "'"+ gridView1.GetRowCellValue(i, rkcode).ToString()+"',";
  713. }
  714. }
  715. }
  716. if (para1 == "1 and a.rkcode in(")
  717. {
  718. ICSBaseSimpleCode.AppshowMessageBox("请选择要打印的数据!");
  719. return;
  720. }
  721. para1 = para1.TrimEnd(',');
  722. para1 += ")";
  723. List<PrintPara> parasList = new List<PrintPara>();
  724. PrintPara para = new PrintPara();
  725. para.PrintKey = "1=1";
  726. para.PrintValues = new object[] { para1 };
  727. parasList.Add(para);
  728. FormPrintDialog f = new FormPrintDialog("098", this.Text, parasList, false, null);
  729. f.ShowDialog();
  730. }
  731. catch (Exception ex)
  732. {
  733. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  734. }
  735. }
  736. }
  737. }