巨石化纤
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

334 lines
16 KiB

using SSWMS.Common;
using System;
using System.Windows;
using System.Windows.Input;
using System.Data;
using System.Collections.Generic;
namespace SSWMS.Client
{
public partial class MANAGE_IN_STATION : AvalonDock.DocumentContent
{
public MANAGE_IN_STATION()
{
InitializeComponent();
DocumentContent_Loaded(null, null);
}
private void DocumentContent_Loaded(object sender, RoutedEventArgs e)
{
try
{
this.cbStockSize.ItemsSource = SystemCodeData.DicDataView["STOCK_SIZE"];
this.ucGoodsMain.dgData.U_WindowName = "COMMON";
this.ucGoodsMain.dgData.U_XmlTableName = "GOODS_MAIN";
this.ucGoodsMain.dgData.U_TableName = "V_GOODS_MAIN_GOODS";
this.ucGoodsMain.dgData.U_OrderField = "GOODS_CODE";
this.ucGoodsMain.dgData.U_AllowOperatData = false;
this.ucGoodsMain.dgData.gridApp.MouseDoubleClick += new MouseButtonEventHandler((a, b) =>
{
DataRowView drvSelected = this.ucGoodsMain.dgData.gridApp.SelectedItem as DataRowView;
if (drvSelected != null)
{
if (AppSettings.IsStockSingleGoods)
{
this.dgStorageList.U_DataTable.Rows.Clear();
//MessageDialog.ShowException("托盘物料已存在物料");
//return;
}
int iGoodsID = Convert.ToInt32(drvSelected["GOODS_ID"]);
if (AppSettings.IsStockUniqueGoods)
{
foreach (DataRowView drv in this.dgStorageList.gridApp.Items)
{
if (iGoodsID == Convert.ToInt32(drv["GOODS_ID"]))
{
MessageDialog.ShowException($"托盘物料已存在物料编码 {drv["GOODS_CODE"]}");
return;
}
}
}
DataRow dr = this.dgStorageList.U_DataTable.NewRow();
dr["GOODS_ID"] = iGoodsID;
dr["GOODS_CLASS"] = drvSelected["GOODS_CLASS"].ToString();
dr["GOODS_CODE"] = drvSelected["GOODS_CODE"].ToString();
dr["GOODS_NAME"] = drvSelected["GOODS_NAME"].ToString();
dr["GOODS_PROPERTY_01"] = drvSelected["GOODS_PROPERTY_01"].ToString();
dr["GOODS_PROPERTY_02"] = drvSelected["GOODS_PROPERTY_02"].ToString();
dr["GOODS_PROPERTY_03"] = drvSelected["GOODS_PROPERTY_03"].ToString();
dr["GOODS_PROPERTY_04"] = drvSelected["GOODS_PROPERTY_04"].ToString();
dr["STORAGE_PROPERTY_01"] = string.Empty;
dr["STORAGE_PROPERTY_02"] = string.Empty;
dr["STORAGE_PROPERTY_03"] = string.Empty;
dr["STORAGE_PROPERTY_04"] = string.Empty;
dr["STORAGE_PROPERTY_05"] = string.Empty;
dr["STORAGE_PROPERTY_06"] = string.Empty;
dr["STORAGE_PROPERTY_07"] = string.Empty;
dr["STORAGE_PROPERTY_08"] = string.Empty;
dr["STORAGE_PROPERTY_09"] = string.Empty;
dr["STORAGE_PROPERTY_10"] = string.Empty;
dr["BOX_BARCODE"] = string.Empty;
dr["GOODS_BARCODE"] = string.Empty;
dr["STORAGE_LIST_QUANTITY"] = drvSelected["GOODS_QUANTITY"] is DBNull ? Convert.ToDecimal("1.00") : Convert.ToDecimal(drvSelected["GOODS_QUANTITY"]);
this.dgStorageList.U_DataTable.Rows.Add(dr);
}
});
this.ucGoodsMain.U_InitControl();
this.dgStorageList.U_WindowName = "COMMON";
this.dgStorageList.U_XmlTableName = "V_STORAGE_LIST_EDIT";
this.dgStorageList.U_TableName = "V_STORAGE_LIST";
this.dgStorageList.U_OrderField = "STORAGE_LIST_ID";
this.dgStorageList.U_Where = "1<>1";
this.dgStorageList.U_AllowOperatData = true;
this.dgStorageList.U_AllowAdd = false;
this.dgStorageList.U_AllowSave = false;
this.dgStorageList.U_InitControl();
this.Dispatcher.BeginInvoke(new Action(() =>
{
this.tbStockBarcode.Focus();
}));
}
catch (Exception ex)
{
MessageDialog.ShowException(ex);
}
}
private void tbStockBarcode_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter || string.IsNullOrWhiteSpace(this.tbStockBarcode.Text))
{
return;
}
try
{
string sStockBarcode = this.tbStockBarcode.Text.Trim().ToUpper();
string sResult = string.Empty;
List<STORAGE_LIST> lStorageList = WCFChannel._I_StorageService.GetStorageListERP(sStockBarcode, out sResult);
if (lStorageList == null)
{
this.tbStockBarcode.Text = string.Empty;
MessageDialog.ShowException($"托盘条码 {sStockBarcode} {sResult}");
return;
}
foreach (DataRowView drv in this.dgStorageList.gridApp.Items)
{
if (drv["GOODS_BARCODE"].ToString() == sStockBarcode)
{
return;
}
}
this.dgStorageList.U_DataTable.Clear();
foreach (STORAGE_LIST sl in lStorageList)
{
DataRow dr = this.dgStorageList.U_DataTable.NewRow();
dr["GOODS_ID"] = SystemCode.GOODS_ID.Goods;
dr["STORAGE_PROPERTY_01"] = sl.STORAGE_PROPERTY_01;
dr["STORAGE_PROPERTY_02"] = sl.STORAGE_PROPERTY_02;
dr["STORAGE_PROPERTY_03"] = sl.STORAGE_PROPERTY_03;
dr["STORAGE_PROPERTY_04"] = sl.STORAGE_PROPERTY_04;
dr["STORAGE_PROPERTY_05"] = sl.STORAGE_PROPERTY_05;
dr["STORAGE_PROPERTY_06"] = sl.STORAGE_PROPERTY_06;
dr["STORAGE_PROPERTY_07"] = sl.STORAGE_PROPERTY_07;
dr["STORAGE_PROPERTY_08"] = sl.STORAGE_PROPERTY_08;
dr["STORAGE_PROPERTY_09"] = sl.STORAGE_PROPERTY_09;
dr["STORAGE_PROPERTY_10"] = sl.STORAGE_PROPERTY_10;
dr["STORAGE_PROPERTY_11"] = sl.STORAGE_PROPERTY_11;
dr["STORAGE_PROPERTY_12"] = sl.STORAGE_PROPERTY_12;
dr["BOX_BARCODE"] = sl.BOX_BARCODE;
dr["GOODS_BARCODE"] = sl.GOODS_BARCODE;
dr["STORAGE_LIST_QUANTITY"] = sl.STORAGE_LIST_QUANTITY;
this.dgStorageList.U_DataTable.Rows.Add(dr);
}
this.tbStockBarcode.Text = sStockBarcode;
}
catch (Exception ex)
{
MessageDialog.ShowException(ex);
}
}
private void bEndDevice_Click(object sender, RoutedEventArgs e)
{
try
{
string sCellCode = string.Empty;
DataView dv = null;
if (WAREHOUSE_CELL_SELECT.GetSelectedCell(null, SystemCode.WAREHOUSE_CODE.Ping, out sCellCode, out dv))
{
this.cbEndDevice.ItemsSource = dv;
this.cbEndDevice.SelectedValue = sCellCode;
string sStockBarcode = WCFChannel._I_StorageService.GetStockBarcode(sCellCode);
if (!string.IsNullOrWhiteSpace(sStockBarcode))
{
this.tbStockBarcode.Text = sStockBarcode;
}
}
}
catch (Exception ex)
{
MessageDialog.ShowException(ex);
}
}
private void bInStation_Click(object sender, RoutedEventArgs e)
{
try
{
string sStockBarcode = this.tbStockBarcode.Text.Trim().ToUpper();
if (string.IsNullOrWhiteSpace(sStockBarcode))
{
MessageDialog.ShowException("请输入托盘条码");
return;
}
if (!StringUtils.StockBarcodeValidate(sStockBarcode))
{
MessageDialog.ShowException($"托盘条码 {this.tbStockBarcode.Text} 格式错误");
return;
}
if (this.dgStorageList.gridApp.Items.Count == 0)
{
MessageDialog.ShowException("请输入托盘物料");
return;
}
List<STORAGE_LIST> lStorageList = new List<STORAGE_LIST>();
foreach (DataRowView drv in this.dgStorageList.gridApp.Items)
{
if (drv.IsEdit)
{
MessageDialog.ShowException($"请输入托盘物料信息 物料编码 {drv["GOODS_CODE"]}");
return;
}
//decimal dQuantity = Convert.ToDecimal(drv["STORAGE_LIST_QUANTITY"]);
int dQuantity = Convert.ToInt32(drv["STORAGE_LIST_QUANTITY"]);
if (dQuantity <= 0)
{
MessageDialog.ShowException($"请输入物料数量 物料编码 {drv["GOODS_CODE"]}");
return;
}
string sStorageProperty08 = drv["STORAGE_PROPERTY_08"].ToString().Trim();
if (sStorageProperty08 != SystemCode.STOCK_SIZE.Square &&
sStorageProperty08 != SystemCode.STOCK_SIZE.Rectangle)
{
MessageDialog.ShowException("请选择托盘规格");
return;
}
lStorageList.Add(new STORAGE_LIST()
{
GOODS_ID = Convert.ToInt32(drv["GOODS_ID"]),
STORAGE_PROPERTY_01 = drv["STORAGE_PROPERTY_01"].ToString().Trim(),
STORAGE_PROPERTY_02 = drv["STORAGE_PROPERTY_02"].ToString().Trim(),
STORAGE_PROPERTY_03 = drv["STORAGE_PROPERTY_03"].ToString().Trim(),
STORAGE_PROPERTY_04 = drv["STORAGE_PROPERTY_04"].ToString().Trim(),
STORAGE_PROPERTY_05 = drv["STORAGE_PROPERTY_05"].ToString().Trim(),
STORAGE_PROPERTY_06 = drv["STORAGE_PROPERTY_06"].ToString().Trim(),
STORAGE_PROPERTY_07 = drv["STORAGE_PROPERTY_07"].ToString().Trim(),
STORAGE_PROPERTY_08 = sStorageProperty08,
STORAGE_PROPERTY_09 = drv["STORAGE_PROPERTY_09"].ToString().Trim(),
STORAGE_PROPERTY_10 = drv["STORAGE_PROPERTY_10"].ToString().Trim(),
STORAGE_PROPERTY_11 = drv["STORAGE_PROPERTY_11"].ToString().Trim(),
STORAGE_PROPERTY_12 = drv["STORAGE_PROPERTY_12"].ToString().Trim(),
BOX_BARCODE = drv["BOX_BARCODE"].ToString().Trim(),
GOODS_BARCODE = drv["GOODS_BARCODE"].ToString().Trim(),
STORAGE_LIST_QUANTITY = dQuantity
});
}
if (MessageDialog.ShowDialog("确认执行暂存入库"))
{
string sEndCellCode = this.cbEndDevice.SelectedIndex == -1 ? SystemCode.WH_CELL_CODE.GroupDeviceCode : this.cbEndDevice.SelectedValue.ToString();
string sResult = string.Empty;
bool bResult = WCFChannel._I_ManageService.ManageInStation(
new STORAGE_MAIN()
{
STOCK_BARCODE = sStockBarcode,
CELL_MODEL = SystemCode.CELL_MODEL.Low,
CELL_CODE = sEndCellCode
}, lStorageList, MainApp._USER.USER_NAME, out sResult);
if (bResult)
{
this.bRefresh_Click(null, null);
}
MessageDialog.ShowResult(bResult, sResult);
}
}
catch (Exception ex)
{
MessageDialog.ShowException(ex);
}
}
//private void bStockInStation_Click(object sender, RoutedEventArgs e)
//{
// try
// {
// string sStockBarcode = this.tbStockBarcode.Text.Trim().ToUpper();
// if (string.IsNullOrWhiteSpace(sStockBarcode))
// {
// MessageDialog.ShowException("请输入托盘条码");
// return;
// }
// if (!StringUtils.StockBarcodeValidate(sStockBarcode))
// {
// MessageDialog.ShowException($"托盘条码 {this.tbStockBarcode.Text} 格式错误");
// return;
// }
// if (this.dgStorageList.gridApp.Items.Count > 0)
// {
// MessageDialog.ShowException("请清空托盘物料");
// return;
// }
// if (MessageDialog.ShowDialog("确认执行空托盘入库"))
// {
// string sEndCellCode = this.cbEndDevice.SelectedIndex == -1 ? SystemCode.WH_CELL_CODE.GroupDeviceCode : this.cbEndDevice.SelectedValue.ToString();
// string sResult = string.Empty;
// bool bResult = WCFChannel._I_ManageService.ManageInStation(new STORAGE_MAIN()
// {
// STOCK_BARCODE = sStockBarcode,
// CELL_MODEL = SystemCode.CELL_MODEL.High,
// CELL_CODE = sEndCellCode
// }, new List<STORAGE_LIST>()
// {
// new STORAGE_LIST()
// {
// GOODS_ID = SystemCode.GOODS_ID.GetGoodsID(sStockBarcode),
// BOX_BARCODE = string.Empty,
// GOODS_BARCODE = string.Empty,
// STORAGE_LIST_QUANTITY = 1
// }
// }, MainApp._USER.USER_NAME, out sResult);
// if (bResult)
// {
// this.bRefresh_Click(null, null);
// }
// MessageDialog.ShowResult(bResult, sResult);
// }
// }
// catch (Exception ex)
// {
// MessageDialog.ShowException(ex);
// }
//}
private void bRefresh_Click(object sender, RoutedEventArgs e)
{
this.ucGoodsMain.U_InitControl();
this.dgStorageList.U_DataTable.Rows.Clear();
this.tbStockBarcode.Text = string.Empty;
this.cbEndDevice.SelectedIndex = -1;
this.cbStockSize.SelectedIndex = -1;
}
private void cbStockSize_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
if (this.cbStockSize.SelectedIndex > 0)
{
string sStockSize = this.cbStockSize.SelectedValue.ToString();
foreach (DataRowView drv in this.dgStorageList.gridApp.Items)
{
drv["STORAGE_PROPERTY_08"] = sStockSize;
}
}
}
}
}