using ComponentFactory.Krypton.Toolkit; using NXWMS.Client.FrmCustom; using NXWMS.Client.Model.AppModels.Condition.OutStock; using NXWMS.Client.Model.AppModels.Result.Common; using NXWMS.Client.Model.AppModels.Result.OutStock; using NXWMS.Client.Model.CoreModels; using NXWMS.Commons; 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.Web.UI.WebControls; using System.Windows.Forms; using static NXWMS.Client.FrmCustom.CustomEventMsg; namespace NXWMS.Forms.OutStock.frmOutstockChild { /// /// 新增下架单 /// public partial class frmChildAddWmsOutPutDown : KryptonForm { /// /// 窗体构造函数 /// public frmChildAddWmsOutPutDown() { InitializeComponent(); } #region 全局变量 private string CurrSourceNo { get; set; } private string CurrTrayCode { get; set; } #endregion #region 初始化数据 /// /// 窗体加载函数 /// /// /// private void frmChildAddWmsOutPutDown_Load(object sender, EventArgs e) { InitComboBoxItemData(); InitCusPalletNoCmbMsg(); } /// /// 初始化下拉列表数据 /// private void InitComboBoxItemData() { /* ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。 1:WMS端自动下架;2:WMS端手动下架;3:手持端出库下架;4:质检出库下架;5:盘点出库下架。 */ List results = new List(); #region 单据类型 results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "PutDownTypeDesc"); if (results.Count > 0) { kcmb_PutDownType.Items.Clear(); foreach (var item in results) { kcmb_PutDownType.Items.Add(new ListItem { Value = item.DICTIONARY_ITEM_CODE, Text = item.DICTIONARY_ITEM_NAME, }); } kcmb_PutDownType.SelectedIndex = 0; } else { KryptonMessageBox.Show("未找到下架单类型的字典项数据!"); } #endregion } /// /// 自定义到货通知单下拉列表的数据行选择事件 /// /// /// void CusPalletNo_AfterSelector(object sender, AfterSelectorEventArgs e) { try { DataGridViewRow row = e.Value as DataGridViewRow; DataRowView dataRow = row.DataBoundItem as DataRowView; string palletNoMsg = dataRow["托盘号"].ToString().Trim(); string billNoMsg = dataRow["单据号"].ToString().Trim(); string billTypeMsg = dataRow["单据类型"].ToString().Trim(); kdgv_PutDownDtlData.Rows.Clear(); if (billTypeMsg == "发货单") { var result = WmsInvoiceService.wmsOutInvoiceService.GetWmsOutInvoiceRecordListForPage(new WmsOutInvoiceRecordSearchMd { InvoiceNoMsg = billNoMsg, PalletNoMsg = palletNoMsg, InvoiceRecordStatus = "0", PageNum = 1, EveryPageQty = 100 }); if (result.Status == OperateStatus.Success) { CurrSourceNo = result.Data[0].INVOICE_NO; CurrTrayCode = result.Data[0].TRAY_CODE; ktb_SbinNo.Text = result.Data[0].BIN_CODE; ktb_SbinNo.Enabled = false; foreach (WmsOutInvoiceRecordResult item in result.Data) { int index = kdgv_PutDownDtlData.Rows.Add(); kdgv_PutDownDtlData.Rows[index].Cells[0].Value = index + 1; kdgv_PutDownDtlData.Rows[index].Cells[1].Value = item.MATERIEL_CODE; kdgv_PutDownDtlData.Rows[index].Cells[2].Value = item.MATERIEL_NAME; kdgv_PutDownDtlData.Rows[index].Cells[3].Value = item.MATERIEL_BARCODE; kdgv_PutDownDtlData.Rows[index].Cells[4].Value = item.MATERIEL_SPEC; kdgv_PutDownDtlData.Rows[index].Cells[5].Value = item.BATCH_NO; kdgv_PutDownDtlData.Rows[index].Cells[6].Value = item.INVOICE_QTY; kdgv_PutDownDtlData.Rows[index].Cells[7].Value = item.UNIT_CODE; kdgv_PutDownDtlData.Rows[index].Cells[8].Value = item.PACKAGE_CODE; kdgv_PutDownDtlData.Rows[index].Cells[9].Value = item.SUPPLIER_CODE; kdgv_PutDownDtlData.Rows[index].Cells[10].Value = item.SUPPLIER_NAME; kdgv_PutDownDtlData.Rows[index].Cells[11].Value = item.PRODUCT_DATE; kdgv_PutDownDtlData.Rows[index].Cells[12].Value = item.EXP_DATE; kdgv_PutDownDtlData.Rows[index].Cells[13].Value = item.INSPECTION_RESULT_NAME; kdgv_PutDownDtlData.Rows[index].Cells[14].Value = item.ITEM_STATUS_NAME; kdgv_PutDownDtlData.Rows[index].Cells[15].Value = item.INVOICE_RECORD_ID; kdgv_PutDownDtlData.Rows[index].Cells[16].Value = item.INSPECTION_RESULT; kdgv_PutDownDtlData.Rows[index].Cells[17].Value = item.ITEM_STATUS; } kcmb_PutDownType.SelectedItem = new ListItem { Value = "1", Text = "WMS端自动下架", }; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// /// 初始化自定义到货通知单下拉列表的数据 /// private void InitCusPalletNoCmbMsg() { cmb_CusPalletNo.sDisplayField = "托盘号,单据类型,单据号"; cmb_CusPalletNo.DisplayMember = "托盘号"; cmb_CusPalletNo.sKeyWords = "托盘号"; cmb_CusPalletNo.DataSource = CreateCusPalletNoTable(); cmb_CusPalletNo.RowFilterVisible = true; cmb_CusPalletNo.AfterSelector += new AfterSelectorEventHandler(CusPalletNo_AfterSelector); ; } /// /// 创建数据源表格 /// /// private DataTable CreateCusPalletNoTable() { DataTable dt = new DataTable(); DataColumn dc = new DataColumn("托盘号"); dt.Columns.Add(dc); dc = new DataColumn("单据类型"); dt.Columns.Add(dc); dc = new DataColumn("单据号"); dt.Columns.Add(dc); var result = WmsInvoiceService.wmsOutPutDownService.GetPutDownPalletMsgList(); if (result.Status == OperateStatus.Success) { DataRow dr1 = dt.NewRow(); foreach (WmsOutPutDownPalletMsgResult item in result.Data) { DataRow dr = dt.NewRow(); dr["托盘号"] = item.PALLET_CODE; dr["单据类型"] = item.BillType; dr["单据号"] = item.BillNo; dt.Rows.Add(dr); } } return dt; } #endregion #region 按钮事件 /// /// 确认按钮事件 /// 提交添加完成的上架单数据 /// /// /// private void btnConfirm_Click(object sender, EventArgs e) { /* * ToDo: 后续增加托盘校验: 是否已经存在下架单信息。 */ WmsOutPutDownResult wmsOutPutDownResult = new WmsOutPutDownResult(); wmsOutPutDownResult.PALLET_CODE = cmb_CusPalletNo.Text; wmsOutPutDownResult.PUTDOWN_TYPE = Convert.ToInt32(((ListItem)kcmb_PutDownType.SelectedItem).Value); wmsOutPutDownResult.PUTDOWN_PRIORITY = Convert.ToInt32(knud_PutDownPriority.Value); wmsOutPutDownResult.SBIN_CODE = ktb_SbinNo.Text; wmsOutPutDownResult.TRAY_CODE = CurrTrayCode; wmsOutPutDownResult.SOURCE_NO = CurrSourceNo; wmsOutPutDownResult.DESCRIBE = ktb_Describe.Text; wmsOutPutDownResult.CREATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; wmsOutPutDownResult.UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; List wmsOutPutDownDtlList = new List(); foreach (DataGridViewRow item in kdgv_PutDownDtlData.Rows) { wmsOutPutDownDtlList.Add(new WmsOutPutDownDtlResult { MATERIEL_CODE = item.Cells[1].Value.ToString(), MATERIEL_NAME = item.Cells[2].Value.ToString(), MATERIEL_BARCODE = item.Cells[3].Value == null ? null : item.Cells[3].Value.ToString(), MATERIEL_SPEC = item.Cells[4].Value == null ? null : item.Cells[4].Value.ToString(), BATCH_NO = item.Cells[5].Value.ToString(), PUTDOWN_QTY = Convert.ToDecimal(item.Cells[6].Value), UNIT_CODE = item.Cells[7].Value.ToString(), PACKAGE_CODE = item.Cells[8].Value == null ? null : item.Cells[8].Value.ToString(), SUPPLIER_CODE = item.Cells[9].Value == null ? null : item.Cells[9].Value.ToString(), SUPPLIER_NAME = item.Cells[10].Value == null ? null : item.Cells[10].Value.ToString(), PRODUCT_DATE = Convert.ToDateTime(item.Cells[11].Value), EXP_DATE = Convert.ToDateTime(item.Cells[12].Value), INSPECTION_RESULT = item.Cells[16].Value.ToString(), ITEM_STATUS = Convert.ToInt32(item.Cells[17].Value), CREATE_BY = AppConfig.UserLoginResult.UserInfo.UserId, UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId }); } wmsOutPutDownResult.WmsOutPutDownDtlList = wmsOutPutDownDtlList; var result = WmsInvoiceService.wmsOutPutDownService.AddWmsOutPutDownData(wmsOutPutDownResult); if (result.Status == OperateStatus.Success) { KryptonMessageBox.Show(result.Message); frmWmsOutPutDown.RefreshFrmHost(); this.Close(); } else { KryptonMessageBox.Show(result.Message); } } /// /// 取消按钮事件 /// 退出新增界面 /// /// /// private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } #endregion } }