| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- 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;
- }
- }
- /// <summary>
- /// 查询
- /// </summary>
- 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<DataTable>("com.hnshituo.pur.ck.service.CkInBillService", "GetCkInBill", new object[] { pcibEntity });
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);
- }
- /// <summary>
- /// 确认收货
- /// </summary>
- 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<ExcDeliveryC>("com.hnshituo.pur.ck.service.ExcDeliveryCService", "findById", new object[] { ultraGrid1.Rows[i].Cells["DELIVERYLINESQE"].Value.ToString() });
- //ExcDeliveryM ExcDeliveryMEntity = this.execute<ExcDeliveryM>("com.hnshituo.pur.ck.service.ExcDeliveryMService", "findById", new object[] { ultraGrid1.Rows[i].Cells["DELIVERYID"].Value.ToString() });
- PurCkInBillEntity CkInBillEntity = this.execute<PurCkInBillEntity>("com.hnshituo.pur.ck.service.CkInBillService", "findById", new object[] { ultraGrid1.Rows[i].Cells["INSTOCKNO"].Value.ToString() });//入库单表
- //CkInBillEntity = EntityHelper.CopyEntity<PurCkInBillEntity>(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<CkStorage>(ExcDeliveryCEntity);//复制发货通知单行号中相同的字段值
- //CkStorageEntity = EntityHelper.CopyEntity<CkStorage>(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<CoreResult>("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();
- }
- /// <summary>
- /// 激活入库单行
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- 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<DataTable>("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<DataTable>("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<DataTable>("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;
- }
- /// <summary>
- /// 移除无效数据
- /// </summary>
- /// <param name="dt"></param>
- 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++;
- }
- }
- }
- /// <summary>
- /// 绑定所有的下拉列表的数据
- /// </summary>
- 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;
- }
- }
- }
|