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 Core.Mes.Client.Comm; using Pur.Entity.configureEntity; using Infragistics.Win.UltraWinGrid; using System.Collections; using Pur.Entity.pur_orderEntiy; using Pur.configure; using Pur.Pop_upWindow; using Pur.require_plan; using Core.Mes.Client.Comm.Tool; using com.hnshituo.pur.vo; using Pur.Entity.ck; using Infragistics.Win; using Pur.ck; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinEditors; namespace Pur.Pop_upWindow { public partial class FrmPopConfirmCkInBill : FrmPmsBase { public FrmPopConfirmCkInBill() { InitializeComponent(); txt_CreateTimeStart.Value = ((DateTime)txt_CreateTimeStart.Value).AddMonths(-1);//将查询的起始日期推前一月 GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], "Check");//设置grid只读 GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "qty");//设置只读 //GridBindDropDownList(); } public FrmPopConfirmCkInBill(OpeBase ob) { InitializeComponent(); this.ob = ob; txt_CreateTimeStart.Value = ((DateTime)txt_CreateTimeStart.Value).AddMonths(-1);//将查询的起始日期推前一月 GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], "Check");//设置grid只读 GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "qty");//设置只读 GridBindDropDownList(); } //菜单按钮事件 public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": { GetCkInBill(); } break; case "conFirmation": { conFirmation(); } break; case "ESC": { this.Close(); } break; } } //菜单单击事件 private void barsManagerButon_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key.ToString()) { case "Query": { GetCkInBill(); } break; case "conFirmation": { conFirmation(); } break; case "ESC": { this.Close(); } break; } } /// /// 查询 /// private void GetCkInBill() { PurCkInBillEntity pcibEntity = new PurCkInBillEntity(); pcibEntity.RefType = "1"; if (txt_CreateTimeStart.Value != null)//创建开始时间 { pcibEntity.CreateTime = (DateTime)txt_CreateTimeStart.Value; } else { pcibEntity.CreateTime = DateTime.MinValue; } if (txt_CreateTimeEnd.Value != null)//创建结束时间 { pcibEntity.UpdateTime = (DateTime)txt_CreateTimeEnd.Value; pcibEntity.UpdateTime = pcibEntity.UpdateTime.Value.AddDays(1); } else { pcibEntity.UpdateTime = DateTime.MaxValue; } if (txt_IN_STOCK_NO.Text != "") { pcibEntity.InStockNo = txt_IN_STOCK_NO.Text;//收货(入库)单行号 } DataTable dt = this.execute("com.hnshituo.pur.ck.service.CkInBillService", "GetCkInBill", new object[] { pcibEntity }); GridHelper.CopyDataToDatatable(dt, dataTable2, true); } /// /// 确认收货 /// public void conFirmation() { ultraGrid1.UpdateData();//发货通知单行号 ultraGrid2.UpdateData();//入库单储位明细表 //ultraGrid5.UpdateData();//库存储位表 ArrayList al_CkInBillEntity = new ArrayList();//入库单表 ArrayList al_PurCkInbillPositionEntity = new ArrayList();//入库单储位明细表 ArrayList al_CkStorageEntity = new ArrayList();//库存表 ArrayList al_CkStoragePosEntity = new ArrayList();//库存储位表 //ArrayList al_CkStatisticsEntity = new ArrayList(); //循环发货通知单 for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if (!(bool)ultraGrid1.Rows[i].Cells["Check"].Value) { continue; } //-----------------------------------------------------------------------------入库单表 //ExcDeliveryC ExcDeliveryCEntity = this.execute("com.hnshituo.pur.ck.service.ExcDeliveryCService", "findById", new object[] { ultraGrid1.Rows[i].Cells["DELIVERYLINESQE"].Value.ToString() }); //ExcDeliveryM ExcDeliveryMEntity = this.execute("com.hnshituo.pur.ck.service.ExcDeliveryMService", "findById", new object[] { ultraGrid1.Rows[i].Cells["DELIVERYID"].Value.ToString() }); PurCkInBillEntity CkInBillEntity = this.execute("com.hnshituo.pur.ck.service.CkInBillService", "findById", new object[] { ultraGrid1.Rows[i].Cells["INSTOCKNO"].Value.ToString() });//入库单表 //CkInBillEntity = EntityHelper.CopyEntity(ExcDeliveryCEntity);//复制送货通知单行号中相同的字段值 CkInBillEntity.RefeId = ultraGrid1.Rows[i].Cells["INSTOCKNO"].Value.ToString();//送货通知单行号 CkInBillEntity.RefType = "1";//1收货单:2:送货单 //CkInBillEntity.SuppCode = ExcDeliveryMEntity.SuppCode; //CkInBillEntity.SuppName = ExcDeliveryMEntity.SuppName; double b_qty = 0; double.TryParse(ultraGrid1.Rows[i].Cells["InNum"].Value.ToString(), out b_qty); CkInBillEntity.InNum = b_qty;//收货 CkInBillEntity.CreateUserid = UserInfo.GetUserID(); CkInBillEntity.CreateName = UserInfo.GetUserName(); CkInBillEntity.UpdateName = null; CkInBillEntity.UpdateUserid = null; CkInBillEntity.UpdateTime = null; //-----------------------------------------------------------------------------库存单表 CkStorage CkStorageEntity = new CkStorage(); //CkStorageEntity = EntityHelper.CopyEntity(ExcDeliveryCEntity);//复制发货通知单行号中相同的字段值 //CkStorageEntity = EntityHelper.CopyEntity(CkInBillEntity);//复制合同行号中相同的字段值 //CkStorageEntity.RefeId = ultraGrid1.Rows[i].Cells["INSTOCKNO"].Value.ToString();//发货通知单行号 //CkStorageEntity.RefType = "1";//1.收货单2:送货单 //CkStorageEntity.Validflag = "1"; //CkStorageEntity.SuppCode = ExcDeliveryMEntity.SuppCode; //CkStorageEntity.SuppName = ExcDeliveryMEntity.SuppName; CkStorageEntity.RefeId = ultraGrid1.Rows[i].Cells["INSTOCKNO"].Value.ToString(); CkStorageEntity.InvQty = b_qty;//库存数量 CkStorageEntity.CreateUserid = UserInfo.GetUserID(); CkStorageEntity.CreateName = UserInfo.GetUserName(); CkStorageEntity.UpdateName = null; CkStorageEntity.UpdateUserid = null; CkStorageEntity.UpdateTime = null; al_CkStorageEntity.Add(CkStorageEntity); //-------------------------------------------------------------------------------------------------------入库单储位明细表1 //PurCkInbillPositionEntity CkInbillPositionEntity1 = new PurCkInbillPositionEntity();//入库单储位明细表 //CkInbillPositionEntity1.InStockNo = ultraGrid1.Rows[i].Cells["DELIVERYLINESQE"].Value.ToString();//入库单号记录送货通知单行号,方便在后台获取入库单号 //CkInbillPositionEntity1.Validflag = "1"; //CkInbillPositionEntity1.InNum = b_qty;//入库量 //CkInbillPositionEntity1.PackageQty = ultraGrid1.Rows[i].Cells["PackageQty"].Value.ToString();//包装数量 //CkInbillPositionEntity1.PackageType = ultraGrid1.Rows[i].Cells["PackageType"].Value.ToString();//包装类型 //CkInbillPositionEntity1.InvPhysic = ultraGrid1.Rows[i].Cells["INVPHYSIC"].Value.ToString();//物理库区 //CkInbillPositionEntity1.InvPos = ultraGrid1.Rows[i].Cells["INVPOS"].Value.ToString();//库位 //CkInbillPositionEntity1.MatBatchNo = ultraGrid1.Rows[i].Cells["MatBatchNo"].Value.ToString();//检验批号 //CkInbillPositionEntity1.CreateUserid = UserInfo.GetUserID(); //CkInbillPositionEntity1.CreateName = UserInfo.GetUserName(); //al_PurCkInbillPositionEntity.Add(CkInbillPositionEntity1);//添加入库单储位明细表 //-----------------------------------------------------------------------------------------------------库存储位明细表1 //PurCkStoragePosEntity CkStoragePosEntity = new PurCkStoragePosEntity();//库存收发存表 //CkStoragePosEntity.InvId = ultraGrid1.Rows[i].Cells["DELIVERYLINESQE"].Value.ToString();//库存记录号记录发货通知单行号,方便在后台获取入库单号 //CkStoragePosEntity.Validflag = "1"; //CkStoragePosEntity.InvOrigQty = b_qty;//入库量 //CkStoragePosEntity.InvPhysic = ultraGrid1.Rows[i].Cells["INVPHYSIC"].Text.ToString();//物理库区 //CkStoragePosEntity.InvPos = ultraGrid1.Rows[i].Cells["INVPOS"].Text.ToString();//库位 //CkStoragePosEntity.PackageQty = ultraGrid1.Rows[i].Cells["PackageQty"].Value.ToString();//包装数量 //CkStoragePosEntity.PackageType = ultraGrid1.Rows[i].Cells["PackageType"].Value.ToString();//包装类型 //CkStoragePosEntity.MatBatchNo = ultraGrid1.Rows[i].Cells["MatBatchNo"].Value.ToString();//检验批号 //CkStoragePosEntity.InvQty = b_qty; ////CkStorageEntity.InvOrigQty += b_InNum;//库存原始数量 //al_CkStoragePosEntity.Add(CkStoragePosEntity);//添加库存单储位明细表 //-----------------------------------------------------------------------------------------------------------入库单储位明细表2 for (int j = 0; j < ultraGrid2.Rows.Count; j++) { if (ultraGrid1.Rows[i].Cells["InStockNo"].Value.ToString() != ultraGrid2.Rows[j].Cells["InStockNo"].Value.ToString()) { continue; } PurCkInbillPositionEntity CkInbillPositionEntity = new PurCkInbillPositionEntity();//入库单储位明细表 double bINNUM = 0;//入库量 double.TryParse(ultraGrid2.Rows[j].Cells["INNUM"].Value.ToString().Trim(), out bINNUM); if (bINNUM > 0 && ultraGrid2.Rows[j].Cells["INVPHYSIC"].Value.ToString() != "" && ultraGrid2.Rows[j].Cells["INVPOS"].Value.ToString() != "") { //-----------------------------------------------------------------------------------------------------------入库单储位明细表2 CkInbillPositionEntity.InStockNo = ultraGrid1.Rows[i].Cells["InStockNo"].Value.ToString();//入库单号记录送货通知单行号,方便在后台获取入库单号 CkInbillPositionEntity.Validflag = "1"; CkInbillPositionEntity.InNum = bINNUM;//入库量 CkInbillPositionEntity.PackageQty = ultraGrid2.Rows[j].Cells["PackageQty"].Value.ToString();//包装数量 CkInbillPositionEntity.PackageType = ultraGrid2.Rows[j].Cells["PackageType"].Value.ToString();//包装类型 CkInbillPositionEntity.InvPhysic = ultraGrid2.Rows[j].Cells["INVPHYSIC"].Value.ToString();//物理库区 CkInbillPositionEntity.InvPos = ultraGrid2.Rows[j].Cells["INVPOS"].Value.ToString();//库位 CkInbillPositionEntity.MatBatchNo = ultraGrid2.Rows[j].Cells["MatBatchNo"].Value.ToString();//检验批号 CkInbillPositionEntity.Remark = ultraGrid2.Rows[j].Cells["REMARK"].Value.ToString(); CkInbillPositionEntity.CreateUserid = UserInfo.GetUserID(); CkInbillPositionEntity.CreateName = UserInfo.GetUserName(); //CkInBillEntity.InNum += bINNUM;//入库单表的入库量 al_PurCkInbillPositionEntity.Add(CkInbillPositionEntity);//添加入库单储位明细表 //---------------------------------------------------------------------------------------------------------------------------------库存储位明细表1 PurCkStoragePosEntity CkStoragePosEntity1 = new PurCkStoragePosEntity();//库存收发存表 CkStoragePosEntity1.InvId = ultraGrid1.Rows[i].Cells["InStockNo"].Value.ToString();//库存记录号记录发货通知单行号,方便在后台获取入库单号 CkStoragePosEntity1.Validflag = "1"; CkStoragePosEntity1.InvOrigQty = b_qty;//入库量 CkStoragePosEntity1.InvQty = b_qty;//入库量 CkStoragePosEntity1.InvPhysic = ultraGrid2.Rows[j].Cells["INVPHYSIC"].Text.ToString();//物理库区 CkStoragePosEntity1.InvPos = ultraGrid2.Rows[j].Cells["INVPOS"].Text.ToString();//库位 CkStoragePosEntity1.PackageQty = ultraGrid2.Rows[j].Cells["PackageQty"].Value.ToString();//包装数量 //CkStoragePosEntity1.PackageType = ultraGrid2.Rows[j].Cells["PackageType"].Text.ToString();//包装类型 CkStoragePosEntity1.MatBatchNo = ultraGrid2.Rows[j].Cells["MatBatchNo"].Value.ToString();//检验批号 //CkStoragePosEntity1.InvQty += b_qty; CkStorageEntity.InvQty += b_qty;//库存原始数量 al_CkStoragePosEntity.Add(CkStoragePosEntity1);//添加库存单储位明细表 } } al_CkInBillEntity.Add(CkInBillEntity); } if (al_CkInBillEntity.Count < 1) { MessageUtil.ShowTips("请至少选择一条收货行"); return; } CoreResult crt = this.execute("com.hnshituo.pur.ck.service.CkInBillService", "AddCkInBill_2016417", new object[] { al_CkInBillEntity, al_PurCkInbillPositionEntity, al_CkStorageEntity, al_CkStoragePosEntity }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("入库失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("入库成功,入库单号:" + crt.Resultmsg); this.Close(); } /// /// 激活入库单行 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow uge = ultraGrid1.ActiveRow; PurCkInbillPositionEntity CkInbillPositionEntity = new PurCkInbillPositionEntity(); CkInbillPositionEntity.InStockNo = uge.Cells["InStockNo"].Value.ToString(); DataTable dtCkInbillPositio = this.execute("com.hnshituo.pur.ck.service.CkInbillPositionService", "find", new object[] { CkInbillPositionEntity,0,0 }); GridHelper.CopyDataToDatatable(dtCkInbillPositio, dataTable3, true); } private void GridBindDropDownList() { //绑定物料库区 PhysicSeatEntity Phouse = new PhysicSeatEntity(); Phouse.Validflag = "1"; DataTable dt_Phouse = this.execute("com.hnshituo.pur.configure.service.ActualSeatService", "getActualSeat", new object[] { Phouse, 0, 0 }); ultraChk_Phouse.DataSource = dt_Phouse; ultraChk_Phouse.DisplayMember = "invPhysicName"; ultraChk_Phouse.ValueMember = "invPhysic"; ultraGrid2.DisplayLayout.Bands[0].Columns["INVPHYSIC"].EditorComponent = ultraChk_Phouse; ultraGrid2.DisplayLayout.Bands[0].Columns["INVPHYSIC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ActualSeatPosEntity PosEntity = new ActualSeatPosEntity(); PosEntity.Validflag = "1"; //PosEntity.InvPhysic = e.Cell.Value.ToString(); DataTable dt3 = this.execute("com.hnshituo.pur.configure.service.ActualSeatPosService", "find", new object[] { PosEntity, 0, 0 }); UltraComboEditor cmb = getNewUltraComboEditor(); cmb.DataSource = dt3; cmb.DisplayMember = "invPosName"; cmb.ValueMember = "invPos"; ultraGrid2.DisplayLayout.Bands[0].Columns["INVPOS"].EditorComponent = cmb; ultraGrid2.DisplayLayout.Bands[0].Columns["INVPOS"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; //包装方式 DataTable dt4 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1107" }, this.ob); removeNotValiflagData(dt4); getUltcmbBindValueList(dt4, cmb_PACKAGE_TYPE); ultraGrid2.DisplayLayout.Bands[0].Columns["PACKAGETYPE"].EditorComponent = cmb_PACKAGE_TYPE; ultraGrid2.DisplayLayout.Bands[0].Columns["PACKAGETYPE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; } /// /// 移除无效数据 /// /// private void removeNotValiflagData(DataTable dt) { for (int i = 0; i < dt.Rows.Count; ) { if (dt.Rows[i]["VALIDFLAG"].ToString() == "0") { dt.Rows.RemoveAt(i); } else { i++; } } } /// /// 绑定所有的下拉列表的数据 /// private void getUltcmbBindValueList(DataTable dt, UltraComboEditor ultcmb) { for (int i = 0; i < dt.Rows.Count; i++) { ValueListItem vlItem = new ValueListItem(dt.Rows[i]["BASECODE"].ToString().Trim(), dt.Rows[i]["BASENAME"].ToString().Trim()); ultcmb.Items.Add(vlItem); } } private UltraComboEditor getNewUltraComboEditor() { UltraComboEditor cmb = new UltraComboEditor(); cmb.Visible = false; this.Controls.Add(cmb); return cmb; } } }