using ComponentFactory.Krypton.Toolkit; 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; namespace NXWMS.Forms.OutStock.frmOutstockChild { /// /// 编辑下架单 /// public partial class frmChildEditWmsOutPutDown : KryptonForm { /// /// 窗体构造函数 /// public frmChildEditWmsOutPutDown() { InitializeComponent(); } #region 全局变量 /// /// 下架单主键Id /// public string PutDownId { get; set; } /// /// 数据库中的下架单所有数据(包括主、明细表)。 /// 未进行编辑过。 /// public WmsOutPutDownResult PutDownDataNotEdit { get; set; } #endregion #region 初始化数据 /// /// 窗机加载函数 /// /// /// private void frmChildEditWmsOutPutDown_Load(object sender, EventArgs e) { InitComboBoxItemData(); LoadWmsOutPutDownDtlData(); } /// /// 初始化下拉列表数据 /// private void InitComboBoxItemData() { /* ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。 1:收货组盘自动下架;2:退料组盘自动下架;3:WMS端手动下架;4:手持端入库下架;5:质检入库下架;6:盘点入库下架 */ 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 } /// /// 调用服务端接口,请求下架单明细表数据 /// /// private string LoadWmsOutPutDownDtlData() { var result = WmsInvoiceService.wmsOutPutDownService.GetWmsOutPutDownDtlListForId(new WmsOutPutDownResult { PUTDOWN_ID = Convert.ToInt32(this.PutDownId) }); if (result.Status == OperateStatus.Success) { ktb_PutDownNo.Text = result.Data.PUTDOWN_NO; ktb_PutDownNo.Enabled = false; ktb_SourceNo.Text = result.Data.SOURCE_NO; ktb_SourceNo.Enabled = false; kcmb_PutDownType.Text = result.Data.PUTDOWN_TYPE_NAME; kcmb_PutDownType.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_SbinNo.Text = result.Data.SBIN_CODE; knud_PutDownPriority.Value = result.Data.PUTDOWN_PRIORITY; ktb_Describe.Text = result.Data.DESCRIBE; PutDownDataNotEdit = result.Data; kdgv_PutDownDtlData.Rows.Clear(); foreach (WmsOutPutDownDtlResult item in result.Data.WmsOutPutDownDtlList) { int index = kdgv_PutDownDtlData.Rows.Add(); kdgv_PutDownDtlData.Rows[index].Cells[0].Value = item.PUTDOWN_DTL_ID; 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.PUTDOWN_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; } return string.Empty; } else { return result.Message; } } #endregion #region 按钮事件 /// /// 确认按钮事件 /// 提交编辑完成的下架单数据 /// /// /// private void btnConfirm_Click(object sender, EventArgs e) { PutDownDataNotEdit.EBIN_CODE = ktb_SbinNo.Text.Trim(); PutDownDataNotEdit.PUTDOWN_PRIORITY = Convert.ToInt32(knud_PutDownPriority.Value); PutDownDataNotEdit.DESCRIBE = ktb_Describe.Text.Trim(); PutDownDataNotEdit.CREATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; PutDownDataNotEdit.UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; foreach (DataGridViewRow item in kdgv_PutDownDtlData.Rows) { int putawayDtlId = Convert.ToInt32(item.Cells[0].Value); decimal putawayDtlQty = Convert.ToDecimal(item.Cells[6].Value); PutDownDataNotEdit.WmsOutPutDownDtlList.Find(x => x.PUTDOWN_DTL_ID == putawayDtlId).PUTDOWN_QTY = putawayDtlQty; PutDownDataNotEdit.WmsOutPutDownDtlList.Find(x => x.PUTDOWN_DTL_ID == putawayDtlId).CREATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; PutDownDataNotEdit.WmsOutPutDownDtlList.Find(x => x.PUTDOWN_DTL_ID == putawayDtlId).UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId; PutDownDataNotEdit.WmsOutPutDownDtlList.Find(x => x.PUTDOWN_DTL_ID == putawayDtlId).REMARKS1 = "更新"; } var result = WmsInvoiceService.wmsOutPutDownService.EditWmsOutPutDownData(PutDownDataNotEdit); 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 #region DataGridView相关事件 private void kdgv_PutDownDtlData_DataError(object sender, DataGridViewDataErrorEventArgs e) { } #endregion } }