123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826 |
- using ComponentFactory.Krypton.Toolkit;
- using NXWMS.Client.Code.Extends;
- using NXWMS.Client.Model.AppModels.Condition;
- using NXWMS.Client.Model.AppModels.Condition.Base;
- using NXWMS.Client.Model.AppModels.Condition.Common;
- using NXWMS.Client.Model.AppModels.Condition.Instock;
- using NXWMS.Client.Model.AppModels.Result;
- using NXWMS.Client.Model.AppModels.Result.Balance;
- using NXWMS.Client.Model.AppModels.Result.Base;
- using NXWMS.Client.Model.AppModels.Result.Common;
- using NXWMS.Client.Model.AppModels.Result.Instock;
- using NXWMS.Client.Model.CoreModels;
- using NXWMS.Commons;
- using NXWMS.Forms.Instock.frmInstockChild;
- 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.Text.RegularExpressions;
- using System.Web.UI.WebControls;
- using System.Windows.Forms;
- namespace NXWMS.Forms.Instock
- {
- /// <summary>
- /// 上架单窗体
- /// </summary>
- public partial class frmWmsInPutAway : KryptonForm
- {
- /// <summary>
- /// 窗体构造函数
- /// </summary>
- public frmWmsInPutAway()
- {
- InitializeComponent();
- // 获取窗体的全类名
- _CrrentClassName = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName;
- }
- #region 全局变量
- /// <summary>
- /// 客户端字段排序列表(上架单主表)
- /// </summary>
- private List<ClientFieldOrderResult> _clientFieldOrderList;
- /// <summary>
- /// 客户端字段排序列表(上架单单明细表)
- /// </summary>
- private List<ClientFieldOrderResult> _clientFieldOrderDtlList;
- /// <summary>
- /// 当前窗体类名
- /// </summary>
- private string _CrrentClassName;
- /// <summary>
- /// 上架单主键ID,用于记录主表选中行的主键信息。
- /// 目前由于 加载控件不能传递具有参数的函数,所以临时使用全局变量。
- /// ToDo:后续修改优化加载控件的实现方式,支持传递具有参数的函数。
- /// 孙亚龙 舍弃于2020年9月7日
- /// </summary>
- //string PutAwayId = string.Empty;
- /// <summary>
- /// 用于控制明细表数据的加载时机。
- /// 由于主表DataGridView数据加载时,会默认触发选中项更改事件。这时候加载明细表数据会发生异常。
- /// 使用全局变量,控制明细表的数据的加载时机,只能在主表数据全部初始化完成后,并且选中了一行主表数据的时候。
- /// </summary>
- bool isControlPutAwayDtlShow = false;
- /// <summary>
- /// 定义委托
- /// 用于执行刷新页面数据的函数
- /// </summary>
- public delegate void dlgRefreshFrmHost();
- /// <summary>
- /// 定义委托变量
- /// 用于绑定刷新页面数据的函数
- /// </summary>
- public static dlgRefreshFrmHost RefreshFrmHost;
-
- #endregion
- #region 初始化数据
- /// <summary>
- /// 窗体加载事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void frmWmsInPuAway_Load(object sender, EventArgs e)
- {
- #region 获取主、明细表的显示列信息
- //获取上架单主表数据源配置
- var result = ConfigServices.configService.GetDataViewOrderList(new ClientFieldOrderCondition { SourceCode = $"{_CrrentClassName}" });
- if (result.Status == OperateStatus.Success)
- {
- _clientFieldOrderList = result.Data;
- }
- //获取上架单明细表表数据源配置
- var resultDtl = ConfigServices.configService.GetDataViewOrderList(new ClientFieldOrderCondition { SourceCode = $"{_CrrentClassName}_Dtl" });
- if (resultDtl.Status == OperateStatus.Success)
- {
- _clientFieldOrderDtlList = resultDtl.Data;
- }
- #endregion
- InitComboBoxItemData();
- kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
- kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
- kdtp_startCreateTime.Checked = false;
- kdtp_endCreateTime.Checked = false;
-
- RefreshFrmHost = new dlgRefreshFrmHost(RefreshPutAwaySearchData);
-
- }
- /// <summary>
- /// 初始化下拉列表数据
- /// </summary>
- private void InitComboBoxItemData()
- {
- /*
- ToDo:后续把下拉列表转为 后台获取数据,目前是写死的。
- */
- List<BasDictionaryResult> results = new List<BasDictionaryResult>();
- #region 单据类型
- results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "PutAwayTypeDesc");
- if (results.Count > 0)
- {
- kcmb_PutAwayType.Items.Clear();
- kcmb_PutAwayType.Items.Add(new ListItem
- {
- Value = "",
- Text = "请选择",
- });
- 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
- #region 单据状态
- results = BasDictionaryUtil.basDictionaryResultLst.FindAll(x => x.DICTIONARY_CODE == "PutAwayOrderStatusDesc");
- if (results.Count > 0)
- {
- kcmb_PutAwayStatus.Items.Clear();
- kcmb_PutAwayStatus.Items.Add(new ListItem
- {
- Value = "",
- Text = "请选择",
- });
- foreach (var item in results)
- {
- kcmb_PutAwayStatus.Items.Add(new ListItem
- {
- Value = item.DICTIONARY_ITEM_CODE,
- Text = item.DICTIONARY_ITEM_NAME,
- });
- }
- kcmb_PutAwayStatus.SelectedIndex = 0;
- }
- else
- {
- KryptonMessageBox.Show("未找到上架单类型的字典项数据!");
- }
- #endregion
- #region 供应商信息
- var result = BaseServices.supplierService.GetList(new SupplierSearchCondition
- {
- IsUsed = true,
- PageIndex = 1,
- PageSize = 10000
- });
- if (result.Status == OperateStatus.Success)
- {
- kcmb_supplierMsg.Items.Clear();
- kcmb_supplierMsg.Items.Add(new ListItem
- {
- Value = "",
- Text = "请选择",
- });
- foreach (SupplierResult item in result.Data.RowData.ToList())
- {
- kcmb_supplierMsg.Items.Add(new ListItem
- {
- Value = item.SUPPLIER_CODE,
- Text = item.SUPPLIER_NAME,
- });
- }
- kcmb_supplierMsg.SelectedIndex = 0;
- }
- else
- {
- kcmb_supplierMsg.Items.Clear();
- KryptonMessageBox.Show(result.Message);
- }
- #endregion
- }
-
-
- #endregion
- #region 查询上架单数据
- /// <summary>
- /// 查询上架单数据
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnSearch_Click(object sender, EventArgs e)
- {
- var loadfrm = new frmLoading();
- loadfrm.Show();
- var message = loadfrm.EventCalExec(LoadWmsInPutAwayData);
-
- }
- /// <summary>
- /// 刷新到货通知单的查询数据
- /// </summary>
- private void RefreshPutAwaySearchData()
- {
- var loadfrm = new frmLoading();
- loadfrm.Show();
- var message = loadfrm.EventCalExec(LoadWmsInPutAwayData);
- if (!string.IsNullOrWhiteSpace(message))
- {
- KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- /// <summary>
- /// 调用服务端接口,请求上架单主表数据
- /// </summary>
- /// <returns></returns>
- private string LoadWmsInPutAwayData()
- {
- var result = WmsInstockService.wmsInPutAwayService.GetWmsInPutAwayListForPage(new WmsInPutAwaySearchMd
- {
- PutawayNoMsg = ktb_PutAwayNo.Text,
- PalletNoMsg = ktb_palletNo.Text,
- TargetBinMsg = ktb_TargetBinMsg.Text,
- MaterielMsg = ktb_materialMsg.Text,
- BatchNoMsg = ktb_batchNoMsg.Text,
- PutawayTypeMsg = ((ListItem)kcmb_PutAwayType.SelectedItem).Value,
- PutawayStatusMsg = ((ListItem)kcmb_PutAwayStatus.SelectedItem).Value,
- SupplierMsg = ((ListItem)kcmb_supplierMsg.SelectedItem).Value,
- StartCreatTimeMsg = kdtp_startCreateTime.Checked ? kdtp_startCreateTime.Value.ToString() : null,
- EndCreatTimeMsg = kdtp_endCreateTime.Checked ? kdtp_endCreateTime.Value.ToString() : null,
- PageNum =this.pageToolbar1.PageIndex,
- EveryPageQty =this.pageToolbar1.PageSize
- }); ; ;
- if (result.Status == OperateStatus.Success)
- {
- kdgv_WmsInPutAway.Columns.Clear();
- kdgv_WmsInPutAwayDtl.DataSource = null;
- //PutAwayId = string.Empty;
- isControlPutAwayDtlShow = false;
- kdgv_WmsInPutAway.DataSource = result.Data;
- kdgv_WmsInPutAway.BuildDataGridView(_clientFieldOrderList.GetFieldOrderDic());
- kdgv_WmsInPutAway.ClearSelection();
- isControlPutAwayDtlShow = true;
- SetStatusCellBackColor(kdgv_WmsInPutAway, "PUTAWAY_STATUS_NAME");
- this.pageToolbar1.DataCount = result.DataCount;
-
- #endregion
- ktb_PutAwayNo.Focus();
- return string.Empty;
- }
- else
- {
- ktb_PutAwayNo.Focus();
- return result.Message;
- }
- }
-
- #region 查询上架单明细数据
- /// <summary>
- /// 上架单主表选中行事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kdgv_WmsInPutAway_SelectionChanged(object sender, EventArgs e)
- {
- if (kdgv_WmsInPutAway.SelectedRows.Count > 0 && isControlPutAwayDtlShow)
- {
- //PutAwayId = kdgv_WmsInPutAway.SelectedRows[0].Cells[1].Value.ToString();
- int mainTableId = Convert.ToInt32(kdgv_WmsInPutAway.SelectedRows[0].Cells[1].Value);
- var loadfrm = new frmLoading();
- loadfrm.Show();
- var message = loadfrm.EventCalExecExt1(LoadWmsInPutAwayDtlData, mainTableId);
- if (!string.IsNullOrWhiteSpace(message))
- {
- KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
- /// <summary>
- /// 调用服务端接口,请求到货通知单明细表数据
- /// </summary>
- /// <returns></returns>
- private string LoadWmsInPutAwayDtlData(int mainTableId)
- {
- //if (string.IsNullOrEmpty(PutAwayId))
- //{
- // return "请选择记录!";
- //}
- var result = WmsInstockService.wmsInPutAwayService.GetWmsInPutAwayDtlListForId(new WmsInPutAwayResult { PUTAWAY_ID = Convert.ToInt32(mainTableId), REMARKS1 = "查询已删除明细数据" });
- if (result.Status == OperateStatus.Success)
- {
- kdgv_WmsInPutAwayDtl.Columns.Clear();
- kdgv_WmsInPutAwayDtl.DataSource = result.Data.WmsInPutAwayDtlList;
- kdgv_WmsInPutAwayDtl.BuildDataGridView(_clientFieldOrderDtlList.GetFieldOrderDic(), true, false);
- kdgv_WmsInPutAwayDtl.ClearSelection();
- SetStatusCellBackColor(kdgv_WmsInPutAwayDtl, "PUTAWAY_DTL_STATUS_NAME");
- return string.Empty;
- }
- else
- {
- return result.Message;
- }
- }
- #endregion
- #region 上架单增、删、改、手动上架、重置条件等操作
- /// <summary>
- /// 手动上架
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtn_ManualPutAway_Click(object sender, EventArgs e)
- {
- int rowsSelectedNum = 0;
- string trayCode = string.Empty;
- string palletNo = string.Empty;
- string ebinCode = string.Empty;
- int putAwayType = 0;
- int rowSelectIndex = 0;
- foreach (DataGridViewRow item in kdgv_WmsInPutAway.Rows)
- {
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)item.Cells[0];
- object obj = checkCell.EditedFormattedValue;
- if (Convert.ToBoolean(obj))
- {
- rowsSelectedNum++;
- trayCode = item.Cells["TRAY_CODE"].Value.ToString();
- palletNo = item.Cells["PALLET_CODE"].Value.ToString();
- putAwayType = Convert.ToInt32(item.Cells["PUTAWAY_TYPE"].Value);
- ebinCode = item.Cells["EBIN_CODE"].Value == null ? "" : item.Cells["EBIN_CODE"].Value.ToString();
- rowSelectIndex = item.Index;
- }
- }
- if (rowsSelectedNum > 0)
- {
- if (rowsSelectedNum == 1)
- {
- int putAwayStatus = Convert.ToInt32(kdgv_WmsInPutAway.Rows[rowSelectIndex].Cells["PUTAWAY_STATUS"].Value);
- if (putAwayStatus == (int)PutAwayStatus.初始创建)
- {
- frmChildManualPutAway frm = new frmChildManualPutAway();
- frm.TrayCodeMsg = trayCode;
- frm.PalletNoMsg = palletNo;
- frm.PutAwayType = putAwayType;
- frm.EbinCode = ebinCode;
- frm.ShowDialog();
- }
- else if (putAwayStatus < (int)PutAwayStatus.上架完成)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单不处于【初始创建】状态,无法手动上架!");
- }
- else if (putAwayStatus == (int)PutAwayStatus.强制完成)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单已被【强制完成】,无法手动上架!");
- }
- else if (putAwayStatus == (int)PutAwayStatus.已删除)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单【已被删除】,无法手动上架!");
- }
- else if (putAwayStatus == (int)PutAwayStatus.上架完成)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单【上架完成】,无法手动上架!");
- }
- else
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单状态【{putAwayStatus}】是未知的,无法手动上架!");
- }
- }
- else
- {
- KryptonMessageBox.Show("不能对勾选的多行数据进行手动上架,请重新勾选一行数据!");
- }
- }
- else
- {
- KryptonMessageBox.Show("请勾选要手动上架的数据行!");
- }
- }
- /// <summary>
- /// 新增上架单
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnAdd_Click(object sender, EventArgs e)
- {
- frmChildAddWmsInPutAway frm = new frmChildAddWmsInPutAway();
- frm.ShowDialog();
- }
- /// <summary>
- /// 编辑上架单
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnEdit_Click(object sender, EventArgs e)
- {
- int rowsSelectedNum = 0;
- string putAwayId = string.Empty;
- int rowSelectIndex = 0;
- foreach (DataGridViewRow item in kdgv_WmsInPutAway.Rows)
- {
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)item.Cells[0];
- object obj = checkCell.EditedFormattedValue;
- if (Convert.ToBoolean(obj))
- {
- rowsSelectedNum++;
- putAwayId = item.Cells[1].Value.ToString();
- rowSelectIndex = item.Index;
- }
- }
- if (rowsSelectedNum > 0)
- {
- if (rowsSelectedNum == 1)
- {
- int putAwayStatus = Convert.ToInt32(kdgv_WmsInPutAway.Rows[rowSelectIndex].Cells["PUTAWAY_STATUS"].Value);
- if (putAwayStatus == (int)PutAwayStatus.初始创建)
- {
- frmChildEditWmsInPutAway frm = new frmChildEditWmsInPutAway();
- frm.PutAwayId = putAwayId;
- frm.ShowDialog();
- }
- else if (putAwayStatus < (int)PutAwayStatus.上架完成)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单不处于【初始创建】状态,无法再次进行编辑!");
- }
- else if (putAwayStatus == (int)PutAwayStatus.强制完成)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单已被【强制完成】,无法再次进行编辑!");
- }
- else if (putAwayStatus == (int)PutAwayStatus.已删除)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单【已被删除】,无法再次进行编辑!");
- }
- else if (putAwayStatus == (int)PutAwayStatus.上架完成)
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单【上架完成】,无法再次进行编辑!");
- }
- else
- {
- KryptonMessageBox.Show($"第【{rowSelectIndex + 1}】行的上架单状态【{putAwayStatus}】是未知的,无法进行编辑!");
- }
- }
- else
- {
- KryptonMessageBox.Show("不能对勾选的多行数据进行编辑,请重新勾选一行数据!");
- }
- }
- else
- {
- KryptonMessageBox.Show("请勾选要编辑的数据行!");
- }
- }
- /// <summary>
- /// 删除上架单
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnRemove_Click(object sender, EventArgs e)
- {
- int rowsSelected = 0;
- string putAwayId = string.Empty;
- Dictionary<int, int> dic_IndexAndArrivalStatus = new Dictionary<int, int>();
- foreach (DataGridViewRow item in kdgv_WmsInPutAway.Rows)
- {
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)item.Cells[0];
- object obj = checkCell.EditedFormattedValue;
- if (Convert.ToBoolean(obj))
- {
- rowsSelected++;
- putAwayId += item.Cells[1].Value.ToString() + ",";
- int putAwayStatus = Convert.ToInt32(item.Cells["PUTAWAY_STATUS"].Value);
- dic_IndexAndArrivalStatus.Add(item.Index, putAwayStatus);
- }
- }
- if (rowsSelected > 0)
- {
- DialogResult dr = KryptonMessageBox.Show("确定要删除所勾选的上架单数据吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
- if (dr == DialogResult.OK)
- {
- foreach (var item in dic_IndexAndArrivalStatus)
- {
- if (item.Value == (int)ArrivalStatus.初始创建)
- {
- }
- else if (item.Value < (int)ArrivalStatus.已完成)
- {
- KryptonMessageBox.Show($"不能对第【{item.Key + 1}】行不处于【初始创建】状态的上架单,执行删除操作!");
- return;
- }
- else if (item.Value == (int)ArrivalStatus.强制完成)
- {
- KryptonMessageBox.Show($"不能对第【{item.Key + 1}】行处于【强制完成】状态的上架单,执行删除操作!");
- return;
- }
- else if (item.Value == (int)ArrivalStatus.已删除)
- {
- KryptonMessageBox.Show($"不能对第【{item.Key + 1}】行处于【已删除】状态的上架单,执行删除操作!");
- return;
- }
- else if (item.Value == (int)ArrivalStatus.已完成)
- {
- KryptonMessageBox.Show($"不能对第【{item.Key + 1}】行处于【已完成】状态的上架单,执行删除操作!");
- return;
- }
- else
- {
- KryptonMessageBox.Show($"不能对第【{item.Key + 1}】行处于未知状态【{item.Value}】的上架单,执行删除操作!");
- return;
- }
- }
- putAwayId = putAwayId.Substring(0, putAwayId.Length - 1);
- var result = WmsInstockService.wmsInPutAwayService.DeleteWmsInPutAwayData(new WmsInPutAwayResult { PUTAWAY_NO = putAwayId, UPDATE_BY = AppConfig.UserLoginResult.UserInfo.UserId });
- if (result.Status == OperateStatus.Success)
- {
- KryptonMessageBox.Show(result.Message);
- RefreshPutAwaySearchData();
- }
- else
- {
- KryptonMessageBox.Show(result.Message);
- }
- }
- }
- else
- {
- KryptonMessageBox.Show("请勾选要删除的上架单数据行!");
- }
- }
- #endregion
- #region 导出、打印上架单数据
- /// <summary>
- /// 到货上架单数据
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnExport_Click(object sender, EventArgs e)
- {
- List<string> PutAwayIdList = new List<string>();
- foreach (DataGridViewRow item in kdgv_WmsInPutAway.Rows)
- {
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)item.Cells[0];
- object obj = checkCell.EditedFormattedValue;
- if (Convert.ToBoolean(obj))
- {
- PutAwayIdList.Add(item.Cells[1].Value.ToString());
- }
- }
- if (PutAwayIdList.Count > 0)
- {
- List<WmsInPutAwayResult> wmsInPutAwayList = new List<WmsInPutAwayResult>();
- foreach (string item in PutAwayIdList)
- {
- var result = WmsInstockService.wmsInPutAwayService.GetWmsInPutAwayDtlListForId(new WmsInPutAwayResult { PUTAWAY_ID = Convert.ToInt32(item) });
- if (result.Status == OperateStatus.Success)
- {
- wmsInPutAwayList.Add(result.Data);
- }
- }
- NxExcelHelper.ExportToExcel(GetWmsPutAwayExportExcelData(wmsInPutAwayList), "上架单数据");
- }
- else
- {
- KryptonMessageBox.Show("请勾选要导出的数据行!");
- }
- }
- private DataTable GetWmsPutAwayExportExcelData(List<WmsInPutAwayResult> wmsInPutAwayList)
- {
- DataTable dt = new DataTable();
- #region 准备导出列名
- DataColumn dc = new DataColumn("上架单号");
- dt.Columns.Add(dc);
- dc = new DataColumn("来源单号");
- dt.Columns.Add(dc);
- dc = new DataColumn("组盘码");
- dt.Columns.Add(dc);
- dc = new DataColumn("托盘号");
- dt.Columns.Add(dc);
- dc = new DataColumn("目标货位");
- dt.Columns.Add(dc);
- dc = new DataColumn("物料编码");
- dt.Columns.Add(dc);
- dc = new DataColumn("物料名称");
- dt.Columns.Add(dc);
- dc = new DataColumn("物料条码");
- dt.Columns.Add(dc);
- dc = new DataColumn("规格");
- dt.Columns.Add(dc);
- dc = new DataColumn("单位");
- dt.Columns.Add(dc);
- dc = new DataColumn("批次号");
- dt.Columns.Add(dc);
- dc = new DataColumn("上架数量");
- dt.Columns.Add(dc);
- dc = new DataColumn("供应商编码");
- dt.Columns.Add(dc);
- dc = new DataColumn("供应商名称");
- dt.Columns.Add(dc);
- dc = new DataColumn("生产日期");
- dt.Columns.Add(dc);
- dc = new DataColumn("失效日期");
- dt.Columns.Add(dc);
- dc = new DataColumn("明细状态");
- dt.Columns.Add(dc);
- dc = new DataColumn("质检状态");
- dt.Columns.Add(dc);
- dc = new DataColumn("物品状态");
- dt.Columns.Add(dc);
- #endregion
- foreach (WmsInPutAwayResult putAwayMd in wmsInPutAwayList)
- {
- foreach (WmsInPutAwayDtlResult putAwayDtlMd in putAwayMd.WmsInPutAwayDtlList)
- {
- DataRow dr = dt.NewRow();
- dr["上架单号"] = putAwayMd.PUTAWAY_NO;
- dr["来源单号"] = putAwayMd.SOURCE_NO;
- dr["组盘码"] = putAwayMd.TRAY_CODE;
- dr["托盘号"] = putAwayMd.PALLET_CODE;
- dr["目标货位"] = putAwayMd.EBIN_CODE;
- dr["物料编码"] = putAwayDtlMd.MATERIEL_CODE;
- dr["物料名称"] = putAwayDtlMd.MATERIEL_NAME;
- dr["物料条码"] = putAwayDtlMd.MATERIEL_BARCODE;
- dr["规格"] = putAwayDtlMd.MATERIEL_SPEC;
- dr["单位"] = putAwayDtlMd.UNIT_CODE;
- dr["批次号"] = putAwayDtlMd.BATCH_NO;
- dr["上架数量"] = putAwayDtlMd.PUTAWAY_QTY;
- dr["供应商编码"] = putAwayDtlMd.SUPPLIER_CODE;
- dr["供应商名称"] = putAwayDtlMd.SUPPLIER_NAME;
- dr["生产日期"] = putAwayDtlMd.PRODUCT_DATE;
- dr["失效日期"] = putAwayDtlMd.EXP_DATE;
- dr["明细状态"] = putAwayDtlMd.PUTAWAY_DTL_STATUS_NAME;
- dr["质检状态"] = putAwayDtlMd.INSPECTION_RESULT_NAME;
- dr["物品状态"] = putAwayDtlMd.ITEM_STATUS_NAME;
- dt.Rows.Add(dr);
- }
- }
- return dt;
- }
- /// <summary>
- /// 打印上架单
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnPrint_Click(object sender, EventArgs e)
- {
- }
- /// <summary>
- /// 重置上架单查询条件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kbtnReset_Click(object sender, EventArgs e)
- {
- ktb_PutAwayNo.Text = "";
- ktb_palletNo.Text = "";
- ktb_materialMsg.Text = "";
- ktb_batchNoMsg.Text = "";
- ktb_TargetBinMsg.Text = "";
- kcmb_PutAwayType.SelectedIndex = 0;
- kcmb_PutAwayStatus.SelectedIndex = 0;
- kcmb_supplierMsg.SelectedIndex = 0;
- kdtp_startCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
- kdtp_startCreateTime.Checked = false;
- kdtp_endCreateTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
- kdtp_endCreateTime.Checked = false;
- }
- #endregion
- #region DataGridView 相关事件
- /// <summary>
- /// 设置DatatGridView的第一列复选框的背景色
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void kdgv_WmsInPutAway_CellContentClick(object sender, DataGridViewCellEventArgs e)
- {
- if (e.ColumnIndex == 0)
- {
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)kdgv_WmsInPutAway.CurrentCell;
- if (Convert.ToBoolean(checkCell.EditedFormattedValue))
- {
- kdgv_WmsInPutAway.CurrentCell.Style.BackColor = Color.FromArgb(51, 153, 255);
- }
- else
- {
- kdgv_WmsInPutAway.CurrentCell.Style.BackColor = Color.Transparent;
- }
- }
- }
- /// <summary>
- /// 设置状态列的背景色
- /// </summary>
- /// <param name="dataGridView">dataGridView控件</param>
- /// <param name="columnName">状态列的列名称</param>
- private void SetStatusCellBackColor(KryptonDataGridView dataGridView, string columnName)
- {
- foreach (DataGridViewRow item in dataGridView.Rows)
- {
- string arrivalDtlStatus = item.Cells[columnName].Value.ToString();
- switch (Enum.Parse(typeof(PutAwayStatus), arrivalDtlStatus))
- {
- case PutAwayStatus.初始创建:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.FromArgb(214, 228, 243);
- break;
- case PutAwayStatus.上架确认:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.LightYellow;
- break;
- case PutAwayStatus.生成上架入库任务:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.LightGreen;
- break;
- case PutAwayStatus.上架入库任务执行中:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.LightBlue;
- break;
- case PutAwayStatus.上架完成:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.LightGray;
- break;
- case PutAwayStatus.强制完成:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.DarkGray;
- break;
- case PutAwayStatus.已删除:
- //item.Cells[columnName].Style.ForeColor = Color.White;
- item.Cells[columnName].Style.BackColor = Color.FromArgb(255, 69, 0);
- break;
- default:
- break;
- }
- }
- }
- private void kdgv_WmsInPutAway_DataError(object sender, DataGridViewDataErrorEventArgs e)
- {
- }
- private void kdgv_WmsInPutAwayDtl_DataError(object sender, DataGridViewDataErrorEventArgs e)
- {
- }
- #endregion
- #region 鼠标右键单击事件
- /// <summary>
- /// 刷新主表数据
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (kdgv_WmsInPutAway.Rows.Count > 0)
- {
- RefreshPutAwaySearchData();
- }
- }
- /// <summary>
- /// 刷新明细表数据
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void 刷新ToolStripMenuItem1_Click(object sender, EventArgs e)
- {
- if (kdgv_WmsInPutAwayDtl.Rows.Count > 0)
- {
- if (kdgv_WmsInPutAway.SelectedRows.Count > 0 && isControlPutAwayDtlShow)
- {
- //PutAwayId = kdgv_WmsInPutAway.SelectedRows[0].Cells[1].Value.ToString();
- int mainTableId = Convert.ToInt32(kdgv_WmsInPutAway.SelectedRows[0].Cells[1].Value);
- var loadfrm = new frmLoading();
- loadfrm.Show();
- loadfrm.EventCalExecExt1(LoadWmsInPutAwayDtlData,mainTableId);
- }
- }
- }
- #endregion
- private void pageToolbar1_OnPageChange(int PageIndex, int PageSzie)
- {
- this.kbtnSearch_Click(null, null);
- }
- }
- }
|