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