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