| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831 |
- using com.hnshituo.pur.vo;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Tool;
- using Infragistics.Win.UltraWinGrid;
- using Pur.Entity;
- using Pur.Entity.configureEntity;
- using Pur.PublicTools;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Pur.ck
- {
- public partial class FrmCkInventory : FrmPmsBase
- {
- public FrmCkInventory()
- {
- InitializeComponent();
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- //ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
- ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- }
- private void FrmCkInventory_Load(object sender, EventArgs e)
- {
- dateStart.Value = dateEnd.DateTime.AddMonths(-1);
- InitColumns();
- ChangeStyle();
- SetSumCount();
- InitBindBox();
- }
- private void InitColumns()
- {
- //PUR_CK_STORAGE 库存表
- //INV_PHYSIC 物理库区
- //INV_POS 库位、库区储位
- //BATCH_NO 批次号
- //INV_QTY 库存数量
- string[] arrColumns = new string[] { "INV_PHYSIC", "INV_PHYSIC_NAME", "INV_POS", "INV_POS_NAME", "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E", "ITEM_NAME", "WEIGHT_UNIT", "INV_QTY", "INV_PRICE", "INV_AMT", "REAL_QTY", "REAL_AMT", "DIFF_QTY", "DIFF_AMT", "DEAL_WAY" };//"BATCH_NO",
- string[] arrColumnsCaption = new string[] { "库区", "库区", "库位", "库位", "物料编码", "物料描述", "物料英文名称", "物料名称", "库存单位", "数量", "实际价/平均价", "金额", "盘点数量", "盘点金额", "差异数量", "差异金额", "处理(盘亏/盘盈)" };//"批次号",
- PublicPur.InitColumns(arrColumns, arrColumnsCaption, dataTable1, ultraGrid1, new string[] { "INV_PHYSIC", "INV_POS", "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E", "INV_PRICE", "REAL_QTY", "REAL_AMT", "DIFF_QTY", "DIFF_AMT", "DEAL_WAY" }, false, null);
- //PublicPur.InitColumns(arrColumns, arrColumnsCaption, dataTable2, ultraGrid2, new string[] { "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E" }, false, null);
- //BUY_QTY 采购数量
- string[] arrColumnsDetail = new string[] { "CHK", "STATUS", "STATUS_DESC", "BATCH_NO", "INV_POS_ID", "INV_ID", "STOCK_NO", "ORDER_ID", "ORDER_LINE_SQE", "SUPP_CODE", "SUPP_NAME", "PUR_LINE_ID", "REFE_ID", "REF_TYPE", "INV_PHYSIC", "INV_POS", "ITEM_UNIQUE", "ITEM_CLASS", "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E", "ITEM_NAME", "START_QTY", "ITEM_UOM", "ITEM_UOM_CONEFFICIENT", "WEIGHT_UNIT", "INV_PRICE", "BUG_PRICE", "BUY_PRICE", "BUY_PRICE_TAX", "INV_AMT", "INV_QTY", "TOTAL_QTY", "DEAL_WAY", "DIFF_QTY", "DIFF_AMT", "DEAL_REMARK" };
- string[] arrColumnsCaptionDetail = new string[] { "选择", "状态", "状态", "批次号", "主键", "库存记录号", "单号", "合同号", "合同行号", "供应商代码", "供应商", "领用计划行号", "参考单号", "参考单类别", "库区", "库位", "物料唯一码", "物料大类", "物料编码", "物料描述", "物料英文名称", "物料名称", "原始量", "采购单位", "转换系数", "库存单位", "库存单价", "计划价", "采购单价", "含税采购单价", "金额", "库存数量", "盘库量", "处理(盘亏/盘盈)", "差异量", "差异金额", "盘库原因" };
- PublicPur.InitColumns(arrColumnsDetail, arrColumnsCaptionDetail, dataTable2, ultraGrid2, new string[] { "INV_POS_ID", "INV_ID", "STOCK_NO", "ORDER_ID", "SUPP_CODE", "STATUS", "PUR_LINE_ID", "REFE_ID", "REF_TYPE", "INV_PHYSIC", "INV_POS", "ITEM_UNIQUE", "ITEM_CLASS", "ITEM_CODE", "ITEM_DESC", "ITEM_DESC_E", "ITEM_NAME", "START_QTY", "ITEM_UOM", "ITEM_UOM_CONEFFICIENT", "WEIGHT_UNIT", "BUG_PRICE", "DIFF_AMT" }, false, new string[] { "CHK", "TOTAL_QTY", "DEAL_REMARK" });//"DEAL_WAY" ,"DIFF_QTY",
- ultraGrid2.DisplayLayout.Bands[0].Columns["DEAL_WAY"].EditorComponent = ultraDEAL_WAY;
- string[] arrColumnsRecord = new string[] { "STOCKTAKING_DOC", "STOCKTAKING_TYPE_NAME", "REAL_QTY", "DIFF_QTY", "INV_PHYSIC", "INV_PHYSIC_NAME", "INV_POS", "INV_POS_NAME", "ORDER_ID", "ORDER_LINE_SQE", "IN_STOCK_NO", "STOCK_NO", "SUPP_CODE", "SUPP_NAME", "ITEM_CLASS", "ITEM_CODE", "ITEM_NAME", "ITEM_UOM", "ITEM_UOM_CONEFFICIENT", "BUY_PRICE", "BUY_QTY", "WEIGHT_UNIT", "INV_PRICE", "INV_QTY", "INV_AMT", "DEAL_REMARK", "CREATE_NAME", "CREATE_TIME_" };//STOCKTAKING_RSN_NAME
- string[] arrColumnsCaptionRecord = new string[] { "盘库记录号", "盘库类型", "盘库量", "差异量", "库区", "库区", "库位", "库位", "合同号", "合同行号", "原入库单号", "新单号", "供应商", "供应商", "物料中类", "物料编码", "物料名称", "采购单位", "转换系数", "采购单价", "采购数量", "库存单位", "库存单价", "入库数量", "总价", "盘库原因", "盘库人", "盘库时间" };
- PublicPur.InitColumns(arrColumnsRecord, arrColumnsCaptionRecord, dataTable3, ultraGrid3, new string[] { "INV_PHYSIC", "INV_POS", "ORDER_ID", "SUPP_CODE", "ITEM_CLASS", "ITEM_CODE", "BUY_PRICE", "BUY_QTY", "INV_QTY", "INV_AMT" }, false, null);
- }
- //调整格式
- private void ChangeStyle()
- {
- PublicPur.InitCellPositionRight(ultraGrid1, new string[] { "INV_QTY", "INV_PRICE", "BUG_PRICE", "INV_AMT", "DIFF_QTY", "DIFF_AMT" });
- PublicPur.InitColumnShowLength(ultraGrid1, 0, new string[] { "INV_QTY", "DIFF_QTY" }, 4, false);//入库量保留4位
- PublicPur.InitColumnShowLength(ultraGrid1, 0, new string[] { "INV_PRICE", "BUG_PRICE", "INV_AMT", "DIFF_AMT" }, 2, false);//金额保留两位
- PublicPur.InitCellPositionRight(ultraGrid2, new string[] { "BUY_PRICE", "BUY_QTY", "INV_PRICE", "INV_QTY", "INV_AMT", "TOTAL_QTY", "DIFF_QTY", "DIFF_AMT" });
- PublicPur.InitColumnShowLength(ultraGrid2, 0, new string[] { "BUY_QTY", "INV_QTY", "TOTAL_QTY", "DIFF_QTY" }, 4, false);//入库量保留4位
- PublicPur.InitColumnShowLength(ultraGrid2, 0, new string[] { "BUY_PRICE", "INV_PRICE", "INV_AMT", "DIFF_AMT" }, 2, false);//金额保留两位
- PublicPur.InitCellPositionRight(ultraGrid3, new string[] { "REAL_QTY", "DIFF_QTY", "BUY_PRICE", "BUY_QTY", "INV_PRICE", "INV_QTY", "INV_AMT" });
- PublicPur.InitColumnShowLength(ultraGrid3, 0, new string[] { "REAL_QTY", "DIFF_QTY", "BUY_QTY", "INV_QTY" }, 4, false);//入库量保留4位
- PublicPur.InitColumnShowLength(ultraGrid3, 0, new string[] { "BUY_PRICE", "INV_PRICE", "INV_AMT" }, 2, false);//金额保留两位
- }
- //设置统计风格
- private void SetSumCount()
- {
- PublicPur.SetupSummaryHeade(new String[] { "Count", "Sum", "Sum" }, new String[] { "共{0}条", "{0}", "{0}" }, new string[] { "INV_PHYSIC_NAME", "INV_QTY", "INV_AMT" }, this.ultraGrid1.DisplayLayout.Bands[0], SummaryDisplayAreas.BottomFixed);
- PublicPur.SetupSummaryHeade(new String[] { "Count", "Sum", "Sum" }, new String[] { "共{0}条", "{0}", "{0}" }, new string[] { "STATUS_DESC", "INV_QTY", "INV_AMT" }, this.ultraGrid2.DisplayLayout.Bands[0], SummaryDisplayAreas.BottomFixed);
- }
- private void InitBindBox()
- {
- PurmatclassEntity mat = new PurmatclassEntity();
- mat.Validflag = "1";
- DataTable dtBaseName = this.execute<DataTable>("com.hnshituo.pur.configure.service.MatClassService", "getMatClass", new object[] { mat });
- publicPms.FilComboboxAdd(ultraQueryBASENAME, dtBaseName, "BASECODE", "BASENAME", "", true, "/", "");//绑定物料中类
- //"INV_PHYSIC", "INV_PHYSIC_NAME", "INV_POS", "INV_POS_NAME"
- PhysicSeatEntity Phouse = new PhysicSeatEntity();
- Phouse.Validflag = "1";
- DataTable dtINV_PHYSIC = this.execute<DataTable>("com.hnshituo.pur.configure.service.ActualSeatService", "getActualSeat", new object[] { Phouse, 0, 0 });
- publicPms.FilComboboxAdd(ultraINV_PHYSIC, dtINV_PHYSIC, "INVPHYSIC", "INVPHYSICNAME", "", false, "/", "");
- ActualSeatPosEntity Pos = new ActualSeatPosEntity();
- Pos.Validflag = "1";
- DataTable dtINV_POS = this.execute<DataTable>("com.hnshituo.pur.configure.service.ActualSeatPosService", "find", new object[] { Pos, 0, 0 });
- publicPms.FilComboboxAdd(ultraINV_POS, dtINV_POS, "INVPOS", "INVPOSNAME", "", false, "/", "");
- }
- //菜单按钮事件
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- if (ultraTabControl1.SelectedTab.Index == 0)
- {
- QueryCkInventory();
- }
- else if (ultraTabControl1.SelectedTab.Index == 1)
- {
- QueryCkInventory_Confirm();//查询库存
- }
- break;
- case "Carry"://确认
- ConfirmCkInventory();
- break;
- case "Cancel"://取消操作
- CancelCkInventory();
- break;
- case "Print"://打印
- PrintCkInventory();
- break;
- case "Export"://导出
- ExportCkInventory();
- break;
- case "Close":
- if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
- {
- this.Close();
- }
- break;
- }
- }
- private void QueryCkInventory()
- {
- try
- {
- dataTable1.Rows.Clear();
- ArrayList arrayList = new ArrayList();//库区库位 物料中类,物料名称
- if (chkINV_PHYSIC.Checked && ultraINV_PHYSIC.Value != null)//库区
- {
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkINV_POS.Checked && ultraINV_POS.Value != null)//库位
- {
- arrayList.Add(ultraINV_POS.Value.ToString());
- arrayList.Add(ultraINV_POS.Value.ToString());
- arrayList.Add(ultraINV_POS.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkBASENAME.Checked && ultraQueryBASENAME.Value != null)//物料中类
- {
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkITEM_NAME.Checked)
- {
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- DataTable dt = PublicServer.GetData("com.hnshituo.pur.ck.service.impl.FrmCkInventory.QueryCkInventory",
- new Object[] { arrayList, chkNo.Checked ? "0" : "1" }, ob);//
- if (dt == null || dt.Rows.Count == 0)
- {
- dataTable2.Rows.Clear();
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
- GridHelper.RefreshAndAutoSize(ultraGrid1);
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void QueryCkInventory_Confirm()
- {
- try
- {
- dataTable3.Rows.Clear();
- ArrayList arrayList = new ArrayList();
- if (chkINV_PHYSIC.Checked && ultraINV_PHYSIC.Value != null)//库区
- {
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkINV_POS.Checked && ultraINV_POS.Value != null)//库位
- {
- arrayList.Add(ultraINV_POS.Value.ToString());
- arrayList.Add(ultraINV_POS.Value.ToString());
- arrayList.Add(ultraINV_POS.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkBASENAME.Checked && ultraQueryBASENAME.Value != null)//物料中类
- {
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkITEM_NAME.Checked)
- {
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- }
- else
- {
- arrayList.Add("");
- arrayList.Add("");
- arrayList.Add("");
- }
- if (chkDate.Checked && dateBegin.Value != null)
- {
- arrayList.Add(dateBegin.DateTime.ToString("yyyyMM"));
- }
- else
- {
- arrayList.Add("");
- }
- DataTable dt = PublicServer.GetData("com.hnshituo.pur.ck.service.impl.FrmCkInventory.QueryCkInventory_Confirm",
- new Object[] { arrayList }, ob);//
- if (dt == null || dt.Rows.Count == 0)
- {
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1
- GridHelper.RefreshAndAutoSize(ultraGrid3);
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void ConfirmCkInventory()
- {
- try
- {
- if (ultraTabControl1.SelectedTab.Index != 0)
- {
- MessageUtil.ShowTips("只有选择了库存信息页才能进行盘库操作!");
- return;
- }
- if (ultraGrid1.ActiveRow == null || dataTable1.Rows.Count == 0)
- {
- MessageUtil.ShowTips("请选择一条记录进行盘库操作!");
- return;
- }
- ultraGrid2.UpdateData();
- DataRow[] arr = dataTable2.Select("CHK = 'True'");
- if (arr.Length == 0)
- {
- MessageUtil.ShowTips("请至少勾选一条库存记录进行盘库操作!");
- return;
- }
- foreach (DataRow dr in arr)
- {
- if (dr["DIFF_QTY"].ToString() == "" || dr["DEAL_WAY"].ToString() == "" || Convert.ToDouble(dr["DIFF_QTY"].ToString()) == 0)
- {
- MessageUtil.ShowTips("盘库量不能等于库存量!");
- dr["TOTAL_QTY"] = "";
- return;
- }
- if (dr["DEAL_REMARK"].ToString() == "")
- {
- MessageUtil.ShowTips("盘库原因不能为空!");
- return;
- }
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认对此记录进行盘库?") == DialogResult.Yes)
- {
- string userId = UserInfo.GetUserID();
- string user = UserInfo.GetUserName();
- string strDate = DateTime.Now.ToString();
- ArrayList all = new ArrayList();
- ArrayList alBase = new ArrayList();//盘盈盘亏记录表
- ArrayList alBaseParams = new ArrayList();
- ArrayList alCk = new ArrayList();//库存记录表
- ArrayList alCkParams = new ArrayList();
- ArrayList alCkInBill = new ArrayList();//入库记录表
- ArrayList alCkInBillParams = new ArrayList();
- ArrayList alCkInBillPos = new ArrayList();//入库记录表
- ArrayList alCkInBillPosParams = new ArrayList();
- ArrayList alCkOutBill = new ArrayList();//出库记录表
- ArrayList alCkOutBillParams = new ArrayList();
- ArrayList alCkOutBillPos = new ArrayList();//出库记录从表
- ArrayList alCkOutBillPosParams = new ArrayList();
- string strDIFF_QTY = "";
- foreach (DataRow dr in arr)
- {
- alBaseParams = new ArrayList();
- if (dr["DEAL_WAY"].ToString() == "盘盈")
- {
- alBaseParams.Add("1");//盘库类型代码
- }
- else
- {
- alBaseParams.Add("2");//盘亏
- }
- alBaseParams.Add(dr["DEAL_WAY"].ToString());//盘库类型名称
- alBaseParams.Add("");//盘库原因代码
- alBaseParams.Add(dr["DEAL_REMARK"].ToString());//盘库原因名称
- alBaseParams.Add(dr["INV_POS_ID"].ToString());
- alBaseParams.Add(dr["INV_ID"].ToString());//库存记录号
- alBaseParams.Add(dr["STOCK_NO"].ToString());//出库或入库单号
- alBaseParams.Add(dr["ORDER_ID"].ToString());
- alBaseParams.Add(dr["ORDER_LINE_SQE"].ToString());
- alBaseParams.Add(dr["SUPP_CODE"].ToString());
- alBaseParams.Add(dr["SUPP_NAME"].ToString());
- alBaseParams.Add(dr["INV_PHYSIC"].ToString());
- alBaseParams.Add(dr["INV_POS"].ToString());//库位
- alBaseParams.Add(dr["ITEM_UNIQUE"].ToString());
- alBaseParams.Add(dr["ITEM_CODE"].ToString());
- alBaseParams.Add(dr["ITEM_NAME"].ToString());
- alBaseParams.Add(dr["ITEM_UOM"].ToString());//采购单位
- alBaseParams.Add(dr["ITEM_UOM_CONEFFICIENT"].ToString());
- alBaseParams.Add(dr["WEIGHT_UNIT"].ToString());
- alBaseParams.Add(dr["BATCH_NO"].ToString());
- alBaseParams.Add(dr["START_QTY"].ToString());//数据库原始量
- alBaseParams.Add("");//采购量 BUY_QTY
- alBaseParams.Add("");//采购价格 BUY_PRICE
- alBaseParams.Add(dr["INV_QTY"].ToString());//库存数量
- alBaseParams.Add(dr["INV_PRICE"].ToString());//库存价格
- alBaseParams.Add(dr["INV_AMT"].ToString());
- alBaseParams.Add(dr["TOTAL_QTY"].ToString());//盘点量 REAL_QTY
- alBaseParams.Add(Convert.ToDouble(dr["INV_PRICE"].ToString()) * Convert.ToDouble(dr["TOTAL_QTY"].ToString()));//盘点金额 REAL_AMT
- alBaseParams.Add(dr["DIFF_QTY"].ToString());//差异量
- alBaseParams.Add(Convert.ToDouble(dr["INV_PRICE"].ToString()) * Convert.ToDouble(dr["DIFF_QTY"].ToString()));//差异金额dr["DIFF_AMT"].ToString()
- alBaseParams.Add("");//备注
- alBaseParams.Add(user);//创建人
- alBase.Add(alBaseParams);
- //改变库存量
- strDIFF_QTY = "";
- alCkParams = new ArrayList();
- if (dr["ITEM_UOM"].ToString() == "基吨")
- {
- strDIFF_QTY = dr["DIFF_QTY"].ToString();
- }
- else
- {
- strDIFF_QTY = Math.Round(Convert.ToDouble(dr["DIFF_QTY"].ToString()) / Convert.ToDouble(dr["ITEM_UOM_CONEFFICIENT"].ToString()), 4).ToString();
- }
- alCkParams.Add(strDIFF_QTY);
- alCkParams.Add(dr["INV_POS_ID"].ToString());
- alCk.Add(alCkParams);
- //盘亏盘盈都入库 盘亏为负的入库记录
- alCkInBillParams = new ArrayList();
- alCkInBillParams.Add(dr["INV_ID"].ToString());
- alCkInBillParams.Add(dr["STATUS"].ToString());//STATUS 3已结算 "3"
- alCkInBillParams.Add(dr["PUR_LINE_ID"].ToString());
- alCkInBillParams.Add(dr["REFE_ID"].ToString());
- alCkInBillParams.Add(dr["REF_TYPE"].ToString());
- alCkInBillParams.Add(dr["ORDER_ID"].ToString());
- alCkInBillParams.Add(dr["ORDER_LINE_SQE"].ToString());
- alCkInBillParams.Add(dr["SUPP_CODE"].ToString());
- alCkInBillParams.Add(dr["SUPP_NAME"].ToString());
- alCkInBillParams.Add(dr["INV_PHYSIC"].ToString());
- alCkInBillParams.Add(dr["INV_POS"].ToString());
- alCkInBillParams.Add(dr["ITEM_UNIQUE"].ToString());
- alCkInBillParams.Add("");//ITEM_UOM_ID
- alCkInBillParams.Add("");//ITEM_ATTR_ID
- alCkInBillParams.Add("");//ITEM_ATTR
- alCkInBillParams.Add("");//ITEM_STANDARDS_ID
- alCkInBillParams.Add("");//ITEM_STANDARDS_CODE
- alCkInBillParams.Add(dr["ITEM_CODE"].ToString());//ITEM_CODE
- alCkInBillParams.Add("");//ITEM_DESC
- alCkInBillParams.Add("");//ITEM_DESC_E
- alCkInBillParams.Add(dr["ITEM_NAME"].ToString());
- alCkInBillParams.Add("");//ITEM_SPEC
- alCkInBillParams.Add("");//ITEM_USE_UOM
- alCkInBillParams.Add(dr["BATCH_NO"].ToString());
- alCkInBillParams.Add(dr["ITEM_UOM"].ToString());
- alCkInBillParams.Add(dr["ITEM_UOM_CONEFFICIENT"].ToString());
- alCkInBillParams.Add(dr["WEIGHT_UNIT"].ToString());
- alCkInBillParams.Add("8");//RECEIVE_TYPE 入库类型 盘盈入库
- alCkInBillParams.Add(strDIFF_QTY);//入库数量
- alCkInBillParams.Add(Math.Round(Convert.ToDouble(dr["INV_PRICE"].ToString()) * Convert.ToDouble(dr["DIFF_QTY"].ToString()), 2));//入库金额
- alCkInBillParams.Add(dr["BUG_PRICE"].ToString());//计划价
- if (dr["DEAL_WAY"].ToString() == "盘盈")
- {
- alCkInBillParams.Add("盘盈入库");//备注
- }
- else
- {
- alCkInBillParams.Add("盘亏入库");
- }
- alCkInBillParams.Add("1");//VALIDFLAG
- alCkInBillParams.Add(dr["BUY_PRICE"].ToString());//入库单价
- alCkInBillParams.Add(dr["BUY_PRICE_TAX"].ToString());//含税入库单价
- alCkInBillParams.Add(dr["REFE_ID"].ToString().Trim() + "_pk");//盘库标识+财务标识
- alCkInBillParams.Add(userId);
- alCkInBillParams.Add(user);
- alCkInBill.Add(alCkInBillParams);
- alCkInBillPosParams = new ArrayList();
- alCkInBillPosParams.Add(dr["INV_ID"].ToString());
- alCkInBillPosParams.Add(dr["INV_PHYSIC"].ToString());
- alCkInBillPosParams.Add(dr["INV_POS"].ToString());
- alCkInBillPosParams.Add(strDIFF_QTY);//入库数量
- if (dr["DEAL_WAY"].ToString() == "盘盈")
- {
- alCkInBillPosParams.Add("盘盈入库");//备注
- }
- else
- {
- alCkInBillPosParams.Add("盘亏入库");
- }
- alCkInBillPosParams.Add("1");//VALIDFLAG
- alCkInBillPosParams.Add(userId);
- alCkInBillPosParams.Add(user);
- alCkInBillPos.Add(alCkInBillPosParams);
- }
- if (alBase.Count == 0)
- {
- MessageUtil.ShowTips("已勾选数据请填写正确!");
- return;
- }
- all.Add(alBase);
- all.Add(alCk);
- all.Add(alCkInBill);
- all.Add(alCkInBillPos);
- PublicServer.SetData("com.hnshituo.pur.ck.service.impl.FrmCkInventory.ConfirmCkInventory",
- new Object[] { all }, ob);
- QueryCkInventory();
- MessageUtil.ShowTips("盘库成功!");
- }
- }
- catch (Exception e)
- {
- //QueryCkOutInCarryRecord();
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void CancelCkInventory()
- {
- }
- private void PrintCkInventory()
- {
- try
- {
- if (ultraTabControl1.SelectedTab.Index != 0)
- {
- return;
- }
- if (ultraGrid1.Rows.Count == 0 || dataTable1.Rows.Count == 0)
- {
- return;
- }
- this.Cursor = Cursors.WaitCursor;
- //参数传递
- ArrayList arrayList = new ArrayList();
- if (chkINV_PHYSIC.Checked && ultraINV_PHYSIC.Value != null)//库区
- {
- arrayList.Add(ultraINV_PHYSIC.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- }
- if (chkINV_POS.Checked && ultraINV_POS.Value != null)//库位
- {
- arrayList.Add(ultraINV_POS.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- }
- if (chkBASENAME.Checked && ultraQueryBASENAME.Value != null)//物料中类
- {
- arrayList.Add(ultraQueryBASENAME.Value.ToString());
- }
- else
- {
- arrayList.Add("");
- }
- if (chkITEM_NAME.Checked)
- {
- arrayList.Add(ultraQueryITEM_NAME.Text.Trim());
- }
- else
- {
- arrayList.Add("");
- }
- if (chkNo.Checked)
- {
- arrayList.Add("");
- }
- else
- {
- arrayList.Add("1");
- }
- string strurl = "";
- //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
- //{
- // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPmsCkInventory.cpt&bypagesize=false&INV_PHYSIC=" + arrayList[0].ToString() + "&INV_POS=" + arrayList[1].ToString() + "&ITEM_CLASS=" + arrayList[2].ToString() + "&ITEM_NAME=" + arrayList[3].ToString() + "&SHOW_ZERO=" + arrayList[4].ToString();
- //}
- //else
- //{
- strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepPmsCkInventory.cpt&bypagesize=false&INV_PHYSIC=" + arrayList[0].ToString() + "&INV_POS=" + arrayList[1].ToString() + "&ITEM_CLASS=" + arrayList[2].ToString() + "&ITEM_NAME=" + arrayList[3].ToString() + "&SHOW_ZERO=" + arrayList[4].ToString() + "&ID=" + 1232030;
- //}
- FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
- fBug.AutoSize = true;
- fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
- fBug.WindowState = FormWindowState.Maximized;
- fBug.Text = "盘点单";
- fBug.Show();
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- //导出
- private void ExportCkInventory()
- {
- ArrayList alUltraGrid = new ArrayList();
- ArrayList alSheeft = new ArrayList();
- if (ultraTabControl1.SelectedTab.Index == 0)
- {
- alUltraGrid.Add(ultraGrid1);
- alSheeft.Add("库存记录");
- if (ultraGrid1.Rows.Count > 0)
- {
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, dateBegin.DateTime.ToString("yyyyMM") + "库存记录");//导出excel
- }
- }
- else if (ultraTabControl1.SelectedTab.Index == 1)
- {
- alUltraGrid.Add(ultraGrid3);
- alSheeft.Add("盘库记录");
- if (ultraGrid3.Rows.Count > 0)
- {
- GridHelper.ulGridToExcel(alUltraGrid, alSheeft, dateBegin.DateTime.ToString("yyyyMM") + "盘库记录");//导出excel
- }
- }
- }
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- QueryCkInventoryDetail();
- }
- private void QueryCkInventoryDetail()
- {
- try
- {
- dataTable2.Rows.Clear();
- ArrayList arrayList = new ArrayList();
- arrayList.Add(ultraGrid1.ActiveRow.Cells["INV_PHYSIC"].Text.Trim());
- arrayList.Add(ultraGrid1.ActiveRow.Cells["INV_POS"].Text.Trim());
- arrayList.Add(ultraGrid1.ActiveRow.Cells["INV_POS"].Text.Trim());
- arrayList.Add(ultraGrid1.ActiveRow.Cells["INV_POS"].Text.Trim());
- arrayList.Add(ultraGrid1.ActiveRow.Cells["ITEM_CODE"].Text.Trim());
- if (chkNo.Checked && chkTime.Checked)
- {
- arrayList.Add(dateStart.DateTime.ToShortDateString() + " 00:00:00");
- arrayList.Add(dateEnd.DateTime.ToShortDateString() + " 23:59:59");
- }
- else
- {
- //arrayList.Add("0001/01/01 00:00:00");
- //arrayList.Add("9999/12/31 23:59:59");
- }
- DataTable dt = PublicServer.GetData("com.hnshituo.pur.ck.service.impl.FrmCkInventory.QueryCkInventoryDetail",
- new Object[] { arrayList, chkNo.Checked ? "0" : "1" }, ob);//
- if (dt == null || dt.Rows.Count == 0)
- {
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
- PublicPur.RefreshAndAutoSizeColumns(ultraGrid2, new string[] { "TOTAL_QTY", "DIFF_QTY", "DEAL_REMARK" }, false);//刷新Grid
- //GridHelper.RefreshAndAutoSize(ultraGrid2);
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
- {
- ultraGrid2.UpdateData();
- if (e.Cell.Column.Key == "CHK")
- {
- if (e.Cell.Row.Cells["STATUS"].Value.ToString() == "0")
- {
- MessageUtil.ShowTips("待入库的库存不能进行盘库!");
- e.Cell.Value = "False";
- }
- else
- {
- PublicPur.GridEdite(ultraGrid2.ActiveRow);
- }
- }
- else if (e.Cell.Column.Key == "TOTAL_QTY")//判定盘库量
- {
- if (e.Cell.Value.ToString() != "")
- {
- if (!StringUtil.IsDouble(e.Cell.Value.ToString()))
- {
- MessageUtil.ShowTips("请输入数字类型!");
- e.Cell.Value = "";
- return;
- }
- if (Convert.ToDouble(e.Cell.Value.ToString()) < 0)
- {
- MessageUtil.ShowTips("盘库量不能小于0!");
- e.Cell.Value = "";
- return;
- }
- double diffNum = Convert.ToDouble(e.Cell.Row.Cells["TOTAL_QTY"].Value.ToString()) - Convert.ToDouble(e.Cell.Row.Cells["INV_QTY"].Text.Trim());
- //if (diffNum == 0)
- //{
- // MessageUtil.ShowTips("盘库量不能等于库存量!");
- // e.Cell.Value = "";
- // return;
- //}
- //else
- if (diffNum > 0)
- {
- e.Cell.Row.Cells["DEAL_WAY"].Value = "盘盈";
- e.Cell.Row.Cells["DIFF_QTY"].Value = diffNum;
- return;
- }
- else if (diffNum < 0)
- {
- e.Cell.Row.Cells["DEAL_WAY"].Value = "盘亏";
- e.Cell.Row.Cells["DIFF_QTY"].Value = diffNum;
- }
- else
- {
- e.Cell.Row.Cells["DEAL_WAY"].Value = "";
- e.Cell.Row.Cells["DIFF_QTY"].Value = "";
- }
- }
- else
- {
- e.Cell.Row.Cells["DEAL_WAY"].Value = "";
- e.Cell.Row.Cells["DIFF_QTY"].Value = "";
- }
- }
- //else if (e.Cell.Column.Key == "DIFF_QTY")//判定差异量
- //{
- // if (e.Cell.Value.ToString() != "")
- // {
- // if (!StringUtil.IsDouble(e.Cell.Value.ToString()))
- // {
- // MessageUtil.ShowTips("请输入数字类型!");
- // e.Cell.Value = "";
- // return;
- // }
- // if (e.Cell.Row.Cells["DEAL_WAY"].Text.Trim() == "")
- // {
- // MessageUtil.ShowTips("请选择处理类型!");
- // e.Cell.Value = "";
- // return;
- // }
- // if (e.Cell.Row.Cells["DEAL_WAY"].Text.Trim() == "盘亏" && Convert.ToDouble(e.Cell.Row.Cells["DIFF_QTY"].Value.ToString()) > Convert.ToDouble(e.Cell.Row.Cells["INV_QTY"].Text.Trim()))
- // {
- // MessageUtil.ShowTips("处理类型为盘亏差异量不能大于库存量!");
- // e.Cell.Value = "";
- // return;
- // }
- // }
- //}
- }
- private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
- {
- ultraGrid2.UpdateData();
- PublicPur.GridEdite(ultraGrid2.ActiveRow);
- }
- private void chkINV_PHYSIC_CheckedChanged(object sender, EventArgs e)
- {
- ultraINV_PHYSIC.Enabled = chkINV_PHYSIC.Checked;
- }
- private void chkINV_POS_CheckedChanged(object sender, EventArgs e)
- {
- ultraINV_POS.Enabled = chkINV_POS.Checked;
- }
- private void chkBASENAME_CheckedChanged(object sender, EventArgs e)
- {
- ultraQueryBASENAME.Enabled = chkBASENAME.Checked;
- }
- private void chkITEM_NAME_CheckedChanged(object sender, EventArgs e)
- {
- ultraQueryITEM_NAME.Enabled = chkITEM_NAME.Checked;
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- if (ultraTabControl1.SelectedTab.Index == 0)
- {
- chkDate.Enabled = false;
- dateBegin.Enabled = false;
- }
- else if (ultraTabControl1.SelectedTab.Index == 1)
- {
- chkDate.Enabled = true;
- dateBegin.Enabled = true;
- }
- }
- }
- }
|