using ComponentFactory.Krypton.Toolkit; using NXWMS.Client.FrmCustom; using NXWMS.Client.Model.AppModels.Result.Common; using NXWMS.Client.Model.AppModels.Result.Instock; 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 System.Xml.Schema; namespace NXWMS.Forms.Instock.frmInstockChild { /// /// 编辑上架单 /// public partial class frmChildEditWmsInPutAway : KryptonForm { /// /// 窗体构造函数 /// public frmChildEditWmsInPutAway() { InitializeComponent(); } #region 全局变量 /// /// 上架单主键Id /// public string PutAwayId { get; set; } /// /// 数据库中的上架单所有数据(包括主、明细表)。 /// 未进行编辑过。 /// public WmsInPutAwayResult PutAwayDataNotEdit { get; set; } #endregion #region 初始化数据 /// /// 窗机加载函数 /// /// /// private void frmChildEditWmsInPutAway_Load(object sender, EventArgs e) { InitComboBoxItemData(); LoadWmsInPutAwayDtlData(); } /// /// 初始化下拉列表数据 /// private void InitComboBoxItemData() { /* ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。 1:收货组盘自动上架;2:退料组盘自动上架;3:WMS端手动上架;4:手持端入库上架;5:质检入库上架;6:盘点入库上架 */ List results = new List(); #region 单据类型 results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "PutAwayTypeDesc"); if (results.Count > 0) { kcmb_PutAwayType.Items.Clear(); foreach (var item in results) { kcmb_PutAwayType.Items.Add(new ListItem { Value = item.DICTIONARY_ITEM_CODE, Text = item.DICTIONARY_ITEM_NAME, }); } kcmb_PutAwayType.SelectedIndex = 0; } else { KryptonMessageBox.Show("未找到上架单类型的字典项数据!"); } #endregion } /// /// 调用服务端接口,请求上架单明细表数据 /// /// private string LoadWmsInPutAwayDtlData() { var result = WmsInstockService.wmsInPutAwayService.GetWmsInPutAwayDtlListForId(new WmsInPutAwayResult { PUTAWAY_ID = Convert.ToInt32(this.PutAwayId) }); if (result.Status == OperateStatus.Success) { ktb_PutAwayNo.Text = result.Data.PUTAWAY_NO; ktb_PutAwayNo.Enabled = false; ktb_SourceNo.Text = result.Data.SOURCE_NO; ktb_SourceNo.Enabled = false; kcmb_PutAwayType.Text = result.Data.PUTAWAY_TYPE_NAME; kcmb_PutAwayType.Enabled = false; ktb_TrayCode.Text = result.Data.TRAY_CODE; ktb_TrayCode.Enabled = false; ktb_PalletNo.Text = result.Data.PALLET_CODE; ktb_PalletNo.Enabled = false; ktb_EbinNo.Text = result.Data.EBIN_CODE; knud_PutAwayPriority.Value = result.Data.PUTAWAY_PRIORITY; ktb_Describe.Text = result.Data.DESCRIBE; PutAwayDataNotEdit = result.Data; kdgv_PutAwayDtlData.Rows.Clear(); foreach (WmsInPutAwayDtlResult item in result.Data.WmsInPutAwayDtlList) { int index = kdgv_PutAwayDtlData.Rows.Add(); kdgv_PutAwayDtlData.Rows[index].Cells[0].Value = item.PUTAWAY_DTL_ID; kdgv_PutAwayDtlData.Rows[index].Cells[1].Value = item.MATERIEL_CODE; kdgv_PutAwayDtlData.Rows[index].Cells[2].Value = item.MATERIEL_NAME; kdgv_PutAwayDtlData.Rows[index].Cells[3].Value = item.MATERIEL_BARCODE; kdgv_PutAwayDtlData.Rows[index].Cells[4].Value = item.MATERIEL_SPEC; kdgv_PutAwayDtlData.Rows[index].Cells[5].Value = item.BATCH_NO; kdgv_PutAwayDtlData.Rows[index].Cells[6].Value = item.PUTAWAY_QTY; kdgv_PutAwayDtlData.Rows[index].Cells[7].Value = item.UNIT_CODE; kdgv_PutAwayDtlData.Rows[index].Cells[8].Value = item.PACKAGE_CODE; kdgv_PutAwayDtlData.Rows[index].Cells[9].Value = item.SUPPLIER_CODE; kdgv_PutAwayDtlData.Rows[index].Cells[10].Value = item.SUPPLIER_NAME; kdgv_PutAwayDtlData.Rows[index].Cells[11].Value = item.PRODUCT_DATE; kdgv_PutAwayDtlData.Rows[index].Cells[12].Value = item.EXP_DATE; kdgv_PutAwayDtlData.Rows[index].Cells[13].Value = item.INSPECTION_RESULT_NAME; kdgv_PutAwayDtlData.Rows[index].Cells[14].Value = item.ITEM_STATUS_NAME; } return string.Empty; } else { return result.Message; } } #endregion #region 按钮事件 /// /// 确认按钮事件 /// 提交编辑完成的上架单数据 /// /// /// private void btnConfirm_Click(object sender, EventArgs e) { PutAwayDataNotEdit.EBIN_CODE = ktb_EbinNo.Text.Trim(); PutAwayDataNotEdit.PUTAWAY_PRIORITY = Convert.ToInt32(knud_PutAwayPriority.Value); PutAwayDataNotEdit.DESCRIBE = ktb_Describe.Text.Trim(); PutAwayDataNotEdit.CREATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; PutAwayDataNotEdit.UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; foreach (DataGridViewRow item in kdgv_PutAwayDtlData.Rows) { int putawayDtlId = Convert.ToInt32(item.Cells[0].Value); decimal putawayDtlQty = Convert.ToDecimal(item.Cells[6].Value); PutAwayDataNotEdit.WmsInPutAwayDtlList.Find(x => x.PUTAWAY_DTL_ID == putawayDtlId).PUTAWAY_QTY = putawayDtlQty; PutAwayDataNotEdit.WmsInPutAwayDtlList.Find(x => x.PUTAWAY_DTL_ID == putawayDtlId).CREATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; PutAwayDataNotEdit.WmsInPutAwayDtlList.Find(x => x.PUTAWAY_DTL_ID == putawayDtlId).UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; PutAwayDataNotEdit.WmsInPutAwayDtlList.Find(x => x.PUTAWAY_DTL_ID == putawayDtlId).REMARKS1 = "更新"; } var result = WmsInstockService.wmsInPutAwayService.EditWmsInPutAwayData(PutAwayDataNotEdit); if (result.Status == OperateStatus.Success) { KryptonMessageBox.Show(result.Message); frmWmsInPutAway.RefreshFrmHost(); this.Close(); } else { KryptonMessageBox.Show(result.Message); } } /// /// 取消按钮事件 /// 退出编辑界面 /// /// /// private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } #endregion #region DataGridView相关事件 private void kdgv_PutAwayDtlData_DataError(object sender, DataGridViewDataErrorEventArgs e) { } #endregion } }