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
}
}