123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- using ComponentFactory.Krypton.Toolkit;
- using NXWMS.Client.Model.AppModels.Result.Instock;
- using NXWMS.Client.Model.CoreModels;
- using NXWMS.Services;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace NXWMS.Forms.Instock.frmInstockChild
- {
- public partial class frmChildPrintMaterialLabelCode : KryptonForm
- {
- public frmChildPrintMaterialLabelCode()
- {
- InitializeComponent();
- }
- #region 全局变量
- /// <summary>
- /// 收货单主键
- /// </summary>
- public string ReceiptId { get; set; }
- /// <summary>
- /// 数据库中的收货单所有数据(包括主、明细表)。
- /// 未进行编辑过。
- /// </summary>
- private WmsInReceiptResult ReceiptDataNotEdit = new WmsInReceiptResult();
- /// <summary>
- /// 模板地址
- /// </summary>
- private string _reportFolder = Application.StartupPath + "\\ReportMd\\";
- #endregion
- private void frmChildPrintMaterialLabelCode_Load(object sender, EventArgs e)
- {
- try
- {
- LoadWmsInReceiptDtlData();
- }
- catch (Exception ex)
- {
- KryptonMessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// 调用服务端接口,请求收货单明细表数据
- /// </summary>
- /// <returns></returns>
- private string LoadWmsInReceiptDtlData()
- {
- var result = WmsInstockService.wmsInReceiptService.GetWmsInReceiptDtlListForId(new WmsInReceiptResult { RECEIPT_ID = Convert.ToInt32(this.ReceiptId) });
- if (result.Status == OperateStatus.Success)
- {
- ktb_ArrivalNo.Text = result.Data.RECEIPT_NO;
- ktb_ArrivalNo.Enabled = false;
- ktb_Receipter.Text = result.Data.RECEIPTER;
- ktb_Receipter.Enabled = false;
- kcmb_ReceiptType.Text = result.Data.RECEIPT_TYPE_NAME;
- kcmb_ReceiptType.Enabled = false;
- ktb_Describe.Text = result.Data.DESCRIBE;
- ktb_Describe.Enabled = false;
- if (result.Data.RECEIPT_TIME != new DateTime())
- {
- kdtp_ReceiptTime.Value = result.Data.RECEIPT_TIME;
- kdtp_ReceiptTime.Enabled = false;
- }
- ReceiptDataNotEdit = result.Data;
- kdgv_ReceiptDtlData.Rows.Clear();
- foreach (WmsInReceiptDtlResult item in result.Data.WmsInReceiptDtlList)
- {
- int index = kdgv_ReceiptDtlData.Rows.Add();
- kdgv_ReceiptDtlData.Rows[index].Cells[1].Value = item.RECEIPT_DTL_ID;
- kdgv_ReceiptDtlData.Rows[index].Cells[2].Value = item.MATERIEL_CODE;
- kdgv_ReceiptDtlData.Rows[index].Cells[3].Value = item.MATERIEL_NAME;
- kdgv_ReceiptDtlData.Rows[index].Cells[4].Value = item.MATERIEL_SPEC;
- kdgv_ReceiptDtlData.Rows[index].Cells[5].Value = item.BATCH_NO;
- kdgv_ReceiptDtlData.Rows[index].Cells[6].Value = item.RECEIPT_DTL_QTY;
- kdgv_ReceiptDtlData.Rows[index].Cells[7].Value = item.UNIT_CODE;
- kdgv_ReceiptDtlData.Rows[index].Cells[8].Value = item.SUPPLIER_NAME;
- kdgv_ReceiptDtlData.Rows[index].Cells[9].Value = item.PRODUCT_DATE;
- kdgv_ReceiptDtlData.Rows[index].Cells[10].Value = item.EXP_DATE;
- }
- return string.Empty;
- }
- else
- {
- return result.Message;
- }
- }
- private void kryptonButton1_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- private void kbtn_PrintPartialLabel_Click(object sender, EventArgs e)
- {
- kbtn_PrintPartialLabel.Enabled = false;
- kbtn_PrintAllLabel.Enabled = false;
- try
- {
- DataTable dt = new DataTable();
- DataColumn dc = new DataColumn("MaterialCode");
- dt.Columns.Add(dc);
- dc = new DataColumn("UnitCode");
- dt.Columns.Add(dc);
- dc = new DataColumn("MaterialName");
- dt.Columns.Add(dc);
- dc = new DataColumn("Specs");
- dt.Columns.Add(dc);
- dc = new DataColumn("BatchNo");
- dt.Columns.Add(dc);
- dc = new DataColumn("Qty");
- dt.Columns.Add(dc);
- dc = new DataColumn("UniqueLabel");
- dt.Columns.Add(dc);
- int rowsSelectedNum = 0;
- foreach (DataGridViewRow item in kdgv_ReceiptDtlData.Rows)
- {
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)item.Cells[0];
- object obj = checkCell.EditedFormattedValue;
- if (Convert.ToBoolean(obj))
- {
- rowsSelectedNum++;
- int receiptDtlId = Convert.ToInt32(item.Cells[1].Value);
- WmsInReceiptDtlResult receiptDtlMd = ReceiptDataNotEdit.WmsInReceiptDtlList.FirstOrDefault(x => x.RECEIPT_DTL_ID == receiptDtlId);
- DataRow dr = dt.NewRow();
- dr["MaterialCode"] = receiptDtlMd.MATERIEL_CODE;
- dr["UnitCode"] = receiptDtlMd.UNIT_CODE;
- dr["MaterialName"] = receiptDtlMd.MATERIEL_NAME;
- dr["Specs"] = receiptDtlMd.MATERIEL_SPEC;
- dr["BatchNo"] = receiptDtlMd.BATCH_NO;
- dr["Qty"] = receiptDtlMd.RECEIPT_DTL_QTY;
- dr["UniqueLabel"] = receiptDtlMd.MATERIEL_CODE + "_" + receiptDtlMd.RECEIPT_DTL_ID;
- dt.Rows.Add(dr);
- }
- }
- if (rowsSelectedNum > 0)
- {
- DataSet dts = new DataSet();
- dts.Tables.Add(dt);
- FastReport.Report report = new FastReport.Report();
- string filename = _reportFolder + "标签数据.frx";
- report.Load(filename);
- report.RegisterData(dts);
- report.Prepare();
- report.PrintSettings.ShowDialog = false;
- report.Print();
- report.Clear();
- KryptonMessageBox.Show("打印成功!");
- }
- else
- {
- KryptonMessageBox.Show("请勾选需要打印的收货单明细行数据!!");
- }
- }
- catch (Exception ex)
- {
- KryptonMessageBox.Show(ex.Message);
- }
- kbtn_PrintPartialLabel.Enabled = true;
- kbtn_PrintAllLabel.Enabled = true;
- }
- private void kbtn_PrintAllLabel_Click(object sender, EventArgs e)
- {
- kbtn_PrintPartialLabel.Enabled = false;
- kbtn_PrintAllLabel.Enabled = false;
- try
- {
- DataTable dt = new DataTable();
- DataColumn dc = new DataColumn("MaterialCode");
- dt.Columns.Add(dc);
- dc = new DataColumn("UnitCode");
- dt.Columns.Add(dc);
- dc = new DataColumn("MaterialName");
- dt.Columns.Add(dc);
- dc = new DataColumn("Specs");
- dt.Columns.Add(dc);
- dc = new DataColumn("BatchNo");
- dt.Columns.Add(dc);
- dc = new DataColumn("Qty");
- dt.Columns.Add(dc);
- dc = new DataColumn("UniqueLabel");
- dt.Columns.Add(dc);
- foreach (WmsInReceiptDtlResult item in ReceiptDataNotEdit.WmsInReceiptDtlList)
- {
- DataRow dr = dt.NewRow();
- dr["MaterialCode"] = item.MATERIEL_CODE;
- dr["UnitCode"] = item.UNIT_CODE;
- dr["MaterialName"] = item.MATERIEL_NAME;
- dr["Specs"] = item.MATERIEL_SPEC;
- dr["BatchNo"] = item.BATCH_NO;
- dr["Qty"] = item.RECEIPT_DTL_QTY;
- dr["UniqueLabel"] = item.MATERIEL_CODE + "_" + item.RECEIPT_DTL_ID;
- dt.Rows.Add(dr);
- }
- DataSet dts = new DataSet();
- dts.Tables.Add(dt);
- FastReport.Report report = new FastReport.Report();
- string filename = _reportFolder + "标签数据.frx";
- report.Load(filename);
- report.RegisterData(dts);
- report.Prepare();
- #if DEBUG
-
- report.Prepare(); //准备
- report.ShowPrepared(); //显示
- #else
- report.PrintSettings.ShowDialog = false;
- report.Print();
- report.Clear();
- #endif
- KryptonMessageBox.Show("打印成功!");
- }
- catch (Exception ex)
- {
- KryptonMessageBox.Show(ex.Message);
- }
- kbtn_PrintPartialLabel.Enabled = true;
- kbtn_PrintAllLabel.Enabled = true;
- }
- }
- }
|