using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WMS.Frm.Base;
using WMS.Model.Base;
using WMS.Common;
using WMS.Ctrl;
using WMS.Business;
using WMS.Business.SystemManage;
using WMS.Business.Base;
namespace WMS.FrmBaseData
{
///
/// 窗体:库位编辑
///
public partial class FrmStorageAreaLocationHandle : FormBase
{
#region 变量
public StorageAreaLocationModel storageAreaLocationModel = new StorageAreaLocationModel();
public List compareLocAreaList = new List();
///
/// 0:新增;1:修改;2:批量修改;3:批量新增
///
private int flag = -1;
private int len = 0;
#endregion
#region 初始化
public FrmStorageAreaLocationHandle()
{
InitializeComponent();
}
List listLocData = new List();
public FrmStorageAreaLocationHandle(List listLoc)
{
InitializeComponent();
txtStartID.Text = listLoc[0].LOCATION_ID;
txtEndID.Text= listLoc[listLoc.Count-1].LOCATION_ID;
listLocData = listLoc;
}
///
/// 带五参构造,批量修改
///
///
public FrmStorageAreaLocationHandle(string row, string ls, string lend, string cs, string cend, string start, string end, StorageAreaLocationModel locData,int flage)
{
InitializeComponent();
storageAreaLocationModel.STATUS = "正常";
storageAreaLocationModel.ISLOCK = "否";
flag = flage;
txtPai.Text = row.ToString();
txtEndID.Text = end.ToString();
txtStartID.Text = start.ToString();
txtCengEnd.Text = cend;
t_lieEnd.Text = lend;
txtEndID.Text = end;
txtLie.Text = ls;
txtCeng.Text = cs;
txtEndID.Text = end;
storageAreaLocationModel = locData;
}
///
/// load
///
///
///
private void FrmStorageAreaLocationHandle_Load(object sender, EventArgs e)
{
lueAbc_id.LoadData();
lueStorage.LoadData();
if (storageAreaLocationModel != null)
{
lueStorage.EditValue = storageAreaLocationModel.STORAGE_ID;
bsStorageAreaLocation.DataSource = storageAreaLocationModel;
ctrlDicArea.TextBoxValue = storageAreaLocationModel.STORAGE_AREA_ID;
ctrlDicArea.SqlStr = " where STORAGE_ID='" + storageAreaLocationModel.STORAGE_ID + "' ";
}
// bsLocArea.DataSource = locAreaList;
GVLocArea.RefreshData();
}
#endregion
#region 按钮事件
///
/// 确定 保存
///
///
///
private void ctrlButtons1_Click(object sender, EventArgs e)
{
btnConfirm.Focus();//切换焦点,确保 正在编辑的控件(如TextBox)的值为编辑后的
StorageAreaLocationModel model = storageAreaLocationModel;
if (rgIsLock.Text == "否")
{
model.ISLOCK = "0";
}
else
{
model.ISLOCK = "1";
}
if (rgStatus.Text == "正常")
{
model.STATUS = "0";
}
else
{
model.STATUS = "1";
}
model.OPERATORID = userData.USER_ID;//操作人
if (flag == 1)//修改
{
string errText = string.Empty;
try
{
for (int i = int.Parse(txtLie.Text); i <= int.Parse(t_lieEnd.Text); i++)
{
for (int j = int.Parse(txtCeng.Text); j <= int.Parse(txtCengEnd.Text); j++)
{
string locTxt = txtPai.Text.PadLeft(2, '0') + i.ToString().PadLeft(3, '0') + j.ToString().PadLeft(2, '0');
StorageAreaLocationModel loc = new StorageAreaLocationModel();
loc.LOCATION_ID = locTxt;
loc.STORAGE_ID = lueStorage.EditValue.ToString();
loc.LOCATION_HEIGHT =decimal.Parse( txtLong.Text);
loc.LOCATION_LONG= decimal.Parse(txtLong.Text);
loc.LOCATION_WIDTH = decimal.Parse(txtWitdh.Text);
loc.VOLUME = decimal.Parse(txtVolume.Text);
loc.BEARWEIGHT = decimal.Parse(txtBearWeight.Text);
IBussFactory.Instance().UpdateLoc(loc);
}
}
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
}
}
///
/// 退出 关闭
///
///
///
private void ctrlButtons2_Click(object sender, EventArgs e)
{
if (DialogResult.Yes != SystemCommon.ShowMessageBoxResult("确定放弃正在编辑的数据?"))
{
return;
}
this.Close();
this.Dispose();
}
#endregion
#region 改变仓库后 库区只显示该仓库的所有库区
///
/// 改变仓库后 库区只显示该仓库的所有库区
///
///
///
private void lueStorage_EditValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(lueStorage.Properties.ValueMember) && lueStorage.EditValue != null && !string.IsNullOrEmpty(lueStorage.EditValue.ToString()))
{
//绑定库区数据
string errText = string.Empty;
StorageAreaModel storageAreaModel = new StorageAreaModel();
storageAreaModel.STORAGE_ID = lueStorage.EditValue.ToString();
List areaGoodsTypeModels = new List();
string strResult = string.Empty;
try
{
IBussFactory.Instance().GetAreaInfoDS(storageAreaModel, ref areaGoodsTypeModels);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
////如果查询库区数据成功
//if (errText == string.Empty)
//{
// ctrlDicArea.SqlStr = "where storage_id = '" + lueStorage.Properties.KeyValue.ToString() + "'";
//}
//else
//{
// SystemCommon.ShowInfoMessageBox(errText);
//}
}
}
#endregion
private void ctrlDicArea_Button_Click(object sender, EventArgs e)
{
if (ctrlDicArea.SelectTable.Rows.Count == 0)
{
//SystemCommon.ShowInfoMessageBox("您未选择库区!");
return;
}
//库区集合
List areaList = ConvertHelper.ConvertToList(ctrlDicArea.SelectTable);
foreach (StorageAreaModel item in areaList)
{
LocAreaModel locAreaModel = new LocAreaModel();
locAreaModel.LOCATION_ID = storageAreaLocationModel.LOCATION_ID;
locAreaModel.STORAGE_AREA_ID = item.STORAGE_AREA_ID;
locAreaModel.STORAGE_AREA_NAME = item.STORAGE_AREA_NAME;
locAreaModel.STORAGE_ID = item.STORAGE_ID;
locAreaList.Add(locAreaModel);
}
bsLocArea.DataSource = locAreaList;
GVLocArea.RefreshData();
}
private void btnDel_Click(object sender, EventArgs e)
{
if (GVLocArea.SelectedRowsCount > 0)
{
if (DialogResult.Yes == SystemCommon.ShowMessageBoxResult("确定删除"))
{
LocAreaModel locAreaModel = new LocAreaModel();
locAreaModel = GVLocArea.GetFocusedRow() as LocAreaModel;
locAreaList.Remove(locAreaModel);
GVLocArea.RefreshData();
}
}
else
{
SystemCommon.ShowInfoMessageBox("您未选择要删除的库区");
}
}
List locAreaList = new List();
private void ctrlButtons1_Click_1(object sender, EventArgs e)
{
if(lueStorage.EditValue.ToString()=="")
{
SystemCommon.ShowInfoMessageBox("选择仓库");
return;
}
if(GVLocArea.RowCount==0)
{
return;
}
List addData = new List();
if (listLocData.Count>0)
{
foreach (StorageAreaLocationModel locID in listLocData)
{
foreach (LocAreaModel locM in locAreaList)
{
LocAreaModel loc = new LocAreaModel();
loc.LOCATION_ID = locID.LOCATION_ID;
loc.STORAGE_AREA_ID = locM.STORAGE_AREA_ID;
loc.STORAGE_ID = lueStorage.EditValue.ToString();// locM.STORAGE_ID;
addData.Add(loc);
}
}
}
else
{
for (int i = int.Parse(txtLie.Text); i <= int.Parse(t_lieEnd.Text); i++)
{
for (int j = int.Parse(txtCeng.Text); j <= int.Parse(txtCengEnd.Text); j++)
{
string locTxt = txtPai.Text.PadLeft(2, '0') + i.ToString().PadLeft(3, '0') + j.ToString().PadLeft(2, '0');
foreach (LocAreaModel locM in locAreaList)
{
LocAreaModel loc = new LocAreaModel();
loc.LOCATION_ID = locTxt;
loc.STORAGE_AREA_ID = locM.STORAGE_AREA_ID;
loc.STORAGE_ID = lueStorage.EditValue.ToString();// locM.STORAGE_ID;
addData.Add(loc);
}
}
}
}
IBussFactory.Instance().InsertLocAreaList(addData);
}
}
}