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 CoreFS.CA06;using Pur.Entity;
using Core.Mes.Client.Comm.Control;
using Pur.Entity.configureEntity;
using Infragistics.Win.UltraWinGrid;
using System.Collections;
using Core.Mes.Client.Comm.Tool;
using System.Data.OracleClient;
using com.hnshituo.pur.vo;
namespace Pur.configure
{
public partial class FrmLogicWarehouse : FrmPmsBase
{
public FrmLogicWarehouse()
{
InitializeComponent();
}
private void FrmLogicWarehouse_Load(object sender, EventArgs e)
{
GetQureyLogicWH();
}
public override void ToolBar_Click(object sender, string ToolBarKey)
{
switch (ToolBarKey)
{
case "Query":
GetQureyLogicWH();
//GetQueryPhysicWH();
break;
case "Add":
AddLogicWH();
break;
case "Update":
EditLogicWH();
break;
case "Delete":
DeleteLogicWH();
break;
case "DeleteBand":
DeleteBand();
break;
case "AddBand":
AddBand();
break;
case "Close":
this.Close();
break;
}
}
///
/// 绑定物理库区
///
private void AddBand()
{
try
{
ultraGrid2.UpdateData();
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请选择需进行物理库区绑定逻辑库区");
return;
}
string strinvLogic = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
int i = 0;
int j = 0;
ArrayList listinvP = new ArrayList();
foreach (UltraGridRow row in ultraGrid2.Rows)
{
j = j + 1;
if (Convert.ToBoolean(row.Cells["isSelect"].Value) == true)
{
SeatRelationEntity seatR = new SeatRelationEntity();
seatR.InvLogic = strinvLogic;
seatR.InvPhysic = row.Cells["invPhysic"].Value.ToString().Trim();
seatR.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
seatR.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
seatR.CreateTime = DateTime.Now;
listinvP.Add(seatR);
i = i + 1;
}
}
if (i <= 0)
{
MessageBox.Show("请勾选需绑定到逻辑库的物理库");
}
else
{
CoreResult result = this.execute("com.hnshituo.pur.configure.service.SeatRelationService", "addSeatRelation", new object[] { listinvP, 0, 0 });
MessageBox.Show("新增成功"+result.Resultcode +"条"+ result.Resultmsg);
GetQureyLogicWH();
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", strinvLogic);
}
}
catch (Exception ex)
{
MessageBox.Show("新增绑定失败"+ex.Message, "提示");
}
}
///
/// 解除物理库区绑定
///
private void DeleteBand()
{
try
{
if (ultraGrid3.ActiveRow != null)
{
if (MessageBox.Show("确定移除物理库区[" + ultraGrid3.ActiveRow.Cells["invPhysic"].Value.ToString().Trim() + "]", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
SeatRelationEntity seatR = new SeatRelationEntity();
string strLogicWHNo = ultraGrid3.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
seatR.Id = ultraGrid3.ActiveRow.Cells["id"].Value.ToString().Trim();
seatR.Validflag = "0";
seatR.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
seatR.DeleteTime = DateTime.Now;
seatR.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
CoreResult result = this.execute("com.hnshituo.pur.configure.service.SeatRelationService", "doUpdate", new object[] { seatR, 0, 0 });
if (result.Resultcode == 0)
{
MessageBox.Show("解除绑定成功", "提示");
GetQureyLogicWH();
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", strLogicWHNo);
}
else
{
MessageBox.Show("解除绑定失败" + result.Resultmsg);
}
}
}
else
{
MessageBox.Show("请选择需解除绑定的物理库");
return;
}
}
catch (Exception ex)
{
MessageBox.Show("解除绑定失败:", "提示");
}
}
///
/// 查询物理库区
///
private void GetQueryPhysicWH()
{
try
{
dataSet2.Clear();
PhysicSeatEntity Phouse = new PhysicSeatEntity();
Phouse.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.configure.service.ActualSeatService", "getActualSeat", new object[] { Phouse, 0, 0 });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);
}
catch (Exception ex)
{
MessageBox.Show("查询失败"+ex.Message, "提示");
}
}
///
/// 查询逻辑库区
///
private void GetQureyLogicWH()
{
try
{
EditAreaClear();
dataTable1.Clear();
LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
lhouse.InvLogic = WarehouseNo.Text.ToString().Trim();
lhouse.InvLogicName = WarehouseName.Text.ToString().Trim();
lhouse.IsDummy = IsVirtualHouse.Value == null ? "" : IsVirtualHouse.Value.ToString().Trim();
lhouse.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.configure.service.LogicSeatService", "getLogicSeat", new object[] { lhouse, 0, 0 });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
//初步加载物理库
GetQueryPhysicWH();
//定位到Tappage1
//ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
}
catch (Exception ex)
{
MessageBox.Show("查询失败"+ex.Message, "提示");
}
}
///
/// 清空编辑区数据
///
private void EditAreaClear()
{
tbxLogicWHNo.Text="";
tbxLogicWHName.Text = "";
ComIsVirtualWH.SelectedIndex= 1;
}
///
/// 删除逻辑库区
///
private void DeleteLogicWH()
{
try
{
//dataSet1.Clear();
if (ultraGrid1.ActiveRow != null)
{
if (MessageBox.Show("确定删除[" + ultraGrid1.ActiveRow.Cells["invLogicName"].Value.ToString().Trim() + "]", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)== DialogResult.OK)
{
LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
lhouse.InvLogic = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
lhouse.Validflag = "0";
lhouse.DeleteName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
lhouse.DeleteUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
lhouse.DeleteTime = DateTime.Now;
CoreResult result = this.execute("com.hnshituo.pur.configure.service.LogicSeatService", "doUpdate", new object[] { lhouse, 0, 0 });
if (result.Resultcode == 0)
{
MessageBox.Show("删除成功", "提示");
GetQureyLogicWH();
}
else
{
MessageBox.Show("删除失败"+result.Resultmsg, "提示");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("删除失败:" + ex.Message, "提示");
}
}
private void EditLogicWH()
{
try
{
// dataSet1.Clear();
string strLogicWHNo = tbxLogicWHNo.Text.ToString().Trim();
if (strLogicWHNo== "")
{
MessageBox.Show("逻辑库区编号不可以更改");
return;
}
string strLogicWHName = tbxLogicWHName.Text.ToString().Trim();
if (strLogicWHName == "")
{
MessageBox.Show("逻辑库区名不能为空");
return;
}
string strIsVirtualWH = ComIsVirtualWH.Value == null ? "" : ComIsVirtualWH.Value.ToString().Trim();
if (strIsVirtualWH == "")
{
MessageBox.Show("请选择是否为虚拟库");
return;
}
if (MessageBox.Show("确定修改库位[" + strLogicWHNo + "]?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
lhouse.InvLogic = strLogicWHNo;
lhouse.Validflag = "1";
lhouse.InvLogicName = strLogicWHName;
lhouse.IsDummy= strIsVirtualWH;
lhouse.UpdateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
lhouse.UpdateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
lhouse.UpdateTime = DateTime.Now;
CoreResult result = this.execute("com.hnshituo.pur.configure.service.LogicSeatService", "doUpdate", new object[] { lhouse, 0, 0 });
if (result.Resultcode == 0)
{
MessageBox.Show("修改成功", "提示");
GetQureyLogicWH();
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", strLogicWHNo);
}
else
{
MessageBox.Show("修改失败:" + result.Resultmsg, "提示");
}
}
}
catch (Exception ex)
{
MessageBox.Show("修改失败:" + ex.Message, "提示");
}
}
private void AddLogicWH()
{
try
{
//生成逻辑库区主表
string strLogicWHNo = tbxLogicWHNo.Text.ToString().Trim();
string strLogicWHName = tbxLogicWHName.Text.ToString().Trim();
if (strLogicWHName == "")
{
MessageBox.Show("逻辑库区名不能为空");
return;
}
string strIsVirtualWH = ComIsVirtualWH.Value == null ? "" : ComIsVirtualWH.Value.ToString().Trim();
if (strIsVirtualWH == "")
{
MessageBox.Show("请选择是否为虚拟库");
return;
}
LogicWareHouseEntity lhouse = new LogicWareHouseEntity();
lhouse.Validflag = "1";
lhouse.InvLogicName= strLogicWHName;
lhouse.IsDummy = strIsVirtualWH;
lhouse.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
lhouse.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
lhouse.CreateTime = DateTime.Now;
CoreResult Result = this.execute("com.hnshituo.pur.configure.service.LogicSeatService", "getLogicWHId", new object[] {});
if (Result.Resultcode!=0)
{
MessageBox.Show("生成逻辑库区编号出错:" + Result.Resultmsg);
return;
}
lhouse.InvLogic = Result.Resultdata.ToString();
lhouse.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
lhouse.CreateTime = DateTime.Now;
CoreResult Result1 = this.execute("com.hnshituo.pur.configure.service.LogicSeatService", "doInsert", new object[] { lhouse });
if(Result1.Resultcode==0)
{
MessageBox.Show("新增成功", "提示");
GetQureyLogicWH();
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "invLogic", Result.Resultdata.ToString());
}
else
{
MessageBox.Show("新增记录失败:" + Result1.Resultmsg);
return;
}
}
catch (Exception ex)
{
MessageBox.Show("新增失败:" + ex.Message);
}
}
private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
{
try
{
dataTable2.Clear();
string strWHno = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
string strWHName = ultraGrid1.ActiveRow.Cells["invLogicName"].Value.ToString().Trim();
tbxLogicWHName.Text = strWHName;
tbxLogicWHNo.Text = strWHno;
//.Text = ultraGrid1.ActiveRow.Cells["isDummy"].Value.ToString().Trim();
ComIsVirtualWH.Text = ultraGrid1.ActiveRow.Cells["isDummy"].Value.ToString().Trim();
//查询物理库区数据
ArrayList list = new ArrayList();
if (strWHno != "")
{
list.Add(strWHno);
DataTable dt_P = this.execute("com.hnshituo.pur.configure.service.SeatRelationService", "getSeatRelation", new object[] { list });
GridHelper.CopyDataToDatatable(ref dt_P, ref dataTable2, true);
GetQueryPhysicWH();
ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[0];
}
}
catch (Exception ex)
{
MessageBox.Show("获取绑定的物理库区信息失败:"+ex.Message, "提示");
}
}
private void ultraGrid3_ClickCell(object sender, ClickCellEventArgs e)
{
try
{
if (ultraGrid3.Rows.Count > 0)
{
foreach (UltraGridRow row in ultraGrid3.Rows)
{
string strinvPhysic = row.Cells["invPhysic"].Value.ToString().Trim();
//UltraGrid ugrid = ultraGrid2;
int t = ultraGrid2.Rows.Count();
for (int i = t - 1; i >= 0; i--)
{
if (ultraGrid2.Rows[i].Cells["invPhysic"].Value.ToString().Trim() == strinvPhysic)
{
ultraGrid2.Rows[i].Delete();
}
else
{
ultraGrid2.Rows[i].Cells["isSelect"].Value = false;
}
}
ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[1];
}
}
}
catch (Exception ex)
{
}
}
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
try
{
dataTable2.Clear();
string strWHno = ultraGrid1.ActiveRow.Cells["invLogic"].Value.ToString().Trim();
//查询物理库区数据
ArrayList list = new ArrayList();
if (strWHno != "")
{
list.Add(strWHno);
DataTable dt_P = this.execute("com.hnshituo.pur.configure.service.SeatRelationService", "getSeatRelation", new object[] { list });
GridHelper.CopyDataToDatatable(ref dt_P, ref dataTable2, true);
GetQueryPhysicWH();
}
}
catch (Exception ex)
{
MessageBox.Show("获取绑定的物理库区信息失败:" + ex.Message, "提示");
}
}
private void ultraGrid3_AfterRowActivate(object sender, EventArgs e)
{
try
{
if (ultraGrid3.Rows.Count > 0)
{
foreach (UltraGridRow row in ultraGrid3.Rows)
{
string strinvPhysic = row.Cells["invPhysic"].Value.ToString().Trim();
//UltraGrid ugrid = ultraGrid2;
int t = ultraGrid2.Rows.Count();
for (int i = t - 1; i >= 0; i--)
{
if (ultraGrid2.Rows[i].Cells["invPhysic"].Value.ToString().Trim() == strinvPhysic)
{
ultraGrid2.Rows[i].Delete();
}
else
{
ultraGrid2.Rows[i].Cells["isSelect"].Value = false;
}
}
}
}
}
catch (Exception ex)
{
}
}
}
}