using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using System.Collections; using System.Reflection; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Sale.UI.Balance.BalanceAccount { public partial class FrmMnyInput : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase { public FrmMnyInput() { InitializeComponent(); } private DataSet dsMain = new DataSet(); private DataSet dsEdit = new DataSet(); Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceMnysubt slmBalanceMnysubt = null; Infragistics.Win.UltraWinGrid.UltraGridRow ugr = null; private string[] GetGridOneDataStruct() { return new string[] { "SUB_SEQ" , "BUYERCODE" , "BUYERNAME" , "FORECORPCODE" , "MONEY" , "MONEY_TYPE" , "MONEY_TYPE_DESC" , "REMARK" , "STATUS_CD" , // "INVOICENO" , "CREATE_NAME" , "CREATE_TIME" , "AFFRIM_NAME" , "AFFRIM_TIME" , "CREATE_DEPT" }; } private string[] GetCanBeEditColumn() { return new string[] { "SUB_SEQ" , "BUYERCODE" , "FORECORPCODE" , "MONEY" , "MONEY_TYPE" , "MONEY_TYPE_DESC" , "REMARK" }; } private void HiddenColumn() { this.ultraGrid1.DisplayLayout.Bands[0].Columns["CREATE_DEPT"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["BUYERCODE"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["MONEY_TYPE"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["CREATE_DEPT"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["CREATE_NAME"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["CREATE_TIME"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["AFFRIM_NAME"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["AFFRIM_TIME"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["FORECORPCODE"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["BUYERNAME"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["MONEY_TYPE_DESC"].Hidden = true; } private void FrmMnyInput_Load(object sender, EventArgs e) { slmBalanceMnysubt = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceMnysubt(this.ob); dsMain = base.GetDataSetByColumnName(GetGridOneDataStruct(), StaticData.TbColumnAndCaption.GetDataSetColumnType(), StaticData.TbColumnAndCaption.GetColumnAndCaption()); this.ultraGrid1.DataSource = dsMain; dsEdit = base.GetDataSetByColumnName(GetGridOneDataStruct(), GetTbColumnNameAndDataType(), StaticData.TbColumnAndCaption.GetColumnAndCaption()); this.ultraGrid2.DataSource = dsEdit; this.ultraGrid1.DisplayLayout.Bands[0].Columns["CREATE_TIME"] .Format = "yyyy-MM-dd HH:MM:ss"; base.SetGridStyle(ref this.ultraGrid1,ref this.ultraGrid2); this.ultraGrid2.DisplayLayout.Bands[0].Columns["MONEY_TYPE"].ValueList = GetMoneyTypeList(); InitGird2(); HiddenColumn(); Query(); } protected Hashtable GetTbColumnNameAndDataType() { Hashtable hs = new Hashtable(); hs.Add("MONEY","System.String"); return hs; } private Infragistics.Win.ValueList GetMoneyTypeList() { Infragistics.Win.ValueList lit = new Infragistics.Win.ValueList(); lit.ValueListItems.Add("0", "冲减"); lit.ValueListItems.Add("1", "补收"); return lit; } public override void ToolBar_Click(object sender, string ToolbarKey) { if (ToolbarKey == "Query") this.Query(); if (ToolbarKey == "Delete") { this.Delete(); } if (ToolbarKey == "Update") this.Update(); if (ToolbarKey == "Add") this.Add(); if (ToolbarKey == "Affrim") this.Affrim(); if (ToolbarKey == "UnAffrim") this.UnAffrim(); if (ToolbarKey == "Close") this.Close(); } private void InitGird2() { ugr = this.ultraGrid2.DisplayLayout.Bands[0].AddNew(); foreach (string s in GetCanBeEditColumn()) { this.ultraGrid2.DisplayLayout.Bands[0].Columns[s].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; // this.ultraGrid2.DisplayLayout.Bands[0].Columns[s].CellAppearance.BackColor = base.GetEditColor(); } this.ultraGrid2.DisplayLayout.Bands[0].Columns["BUYERCODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton; } private void Query() { DataSet ds = null; ds = this.slmBalanceMnysubt.GetSlmBalanceMnySubtByCreateTime(this.dateTimePicker1.Value, this.dateTimePicker2.Value); Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref dsMain, ds); Util.UtilDataSet.GetDsByDescOrderFromSourceDataSet(dsMain, "CREATE_TIME"); } private void Add() { string errMsg = ""; Hashtable hsdata = GetEditHsData(); if (hsdata.Count == 0) return; this.slmBalanceMnysubt.Insert(GetEditHsData(), out errMsg); if (errMsg.Length == 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功"); } this.Query(); } private void Affrim() { ArrayList list = new ArrayList(); UltraGridRow row = this.ultraGrid1.ActiveRow; if (row == null) return; list.Add(ugr.Cells["SUB_SEQ"].Value.ToString()); string errMsg = ""; this.slmBalanceMnysubt.Affrim(list,CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(),out errMsg); if (errMsg.Length == 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功"); } this.Query(); } private void UnAffrim() { ArrayList list = new ArrayList(); UltraGridRow row = this.ultraGrid1.ActiveRow; if (row == null) return; list.Add(ugr.Cells["SUB_SEQ"].Value.ToString()); string errMsg = ""; this.slmBalanceMnysubt.UnAffrim(list, CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(), out errMsg); if (errMsg.Length == 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功"); } this.Query(); } private ArrayList GetListSubSeq() { ArrayList list = new ArrayList(); if (this.ultraGrid1.Rows.Count == 0) return list; if (this.ultraGrid1.Rows.Count == 1) { this.ultraGrid1.Rows[0].Selected = true; } foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Selected.Rows) { if (ugr.Cells["STATUS_CD"].Value.ToString() == "2" ) continue; list.Add(ugr.Cells["SUB_SEQ"].Value.ToString()); } return list; } private void Update() { string errMsg = ""; Hashtable hsdata = GetEditHsData(); if (hsdata.Count == 0) return; this.slmBalanceMnysubt.Update(GetEditHsData(), out errMsg); if (errMsg.Length == 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功"); } this.Query(); } private Boolean CheckEditData() { if (Util.ConverObject.ConvertToDouble(ugr.Cells["MONEY"].Value.ToString()) == 0) { Util.MessageUtil.ShowError("请输入正确金额"); return false; } if (ugr.Cells["BUYERCODE"].Value.ToString().Length == 0) { Util.MessageUtil.ShowError("请输入客户单位"); return false; } if (ugr.Cells["MONEY_TYPE"].Value.ToString().Length == 0) { Util.MessageUtil.ShowError("请输入冲减类型"); return false; } if (ugr.Cells["SUB_SEQ"].Value.ToString().Length == 0) { Util.MessageUtil.ShowError("请输入冲减单号"); return false; } return true; } private Hashtable GetEditHsData() { this.ultraGrid2.UpdateData(); Hashtable hs = new Hashtable(); if (!CheckEditData()) return hs; foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn ugc in this.ultraGrid2.DisplayLayout.Bands[0].Columns) { if (ugc.Key.ToUpper() == "MONEY") hs.Add(ugc.Key.ToUpper(), ugr.Cells[ugc.Key].Value.ToString()); else hs.Add(ugc.Key.ToUpper(), ugr.Cells[ugc.Key].Value); } if (hs.Count == 0) return hs; string person = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(); hs["CREATE_NAME"] = person; hs["AFFRIM_NAME"] = ""; hs["FORECORPCODE"] = base.GetSaleOrgDesc(); hs["BUYERNAME"] = ugr.Cells["BUYERCODE"].Text; hs["BUYERCODE"] = this.buyercode; hs["MONEY_TYPE_DESC"] = ugr.Cells["MONEY_TYPE"].Text; return hs; } private void Delete() { Infragistics.Win.UltraWinGrid.UltraGridRow ugr = null; if (this.ultraGrid1.Rows.Count == 0) return; else if (this.ultraGrid1.Rows.Count == 1) ugr = this.ultraGrid1.Rows[0]; else ugr = this.ultraGrid1.ActiveRow; if (ugr == null) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("请选择需要删除的行"); return; } if (Util.MessageUtil.ShowYesNoAndQuestion("是否确定删除选定行?") == DialogResult.No) return; string subseq = ugr.Cells["SUB_SEQ"].Value.ToString(); string person = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(); string errMsg = ""; this.slmBalanceMnysubt.Delete(subseq, person,out errMsg); if (errMsg.Length == 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功"); return; } this.Query(); } protected override Hashtable GetDataSetColumnCaption() { Hashtable hs = new Hashtable(); hs.Add("SUB_SEQ","冲减单号"); hs.Add("BUYERCODE","冲减客户"); hs.Add("FORECORPCODE","销售组织"); hs.Add("MONEY","冲减金额"); hs.Add("MONEY_TYPE","冲减类型"); hs.Add("MONEY_TYPE_DESC","冲减类型"); hs.Add("AFFRIM_NAME","确认人"); hs.Add("CREATE_DEPT","创建部门"); hs.Add("BUYERNAME", "冲减客户"); return hs; } private string SELECT = "SELECT"; private void ultraGrid2_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e) { } string buyerType = "2"; string dataNameKf; DataTable table_NameKf; string buyercode = "001"; /* 100201 订货单位 100202 结算单位 100203 收货单位 100204 最终用户 100205 质保书单位 */ private void ultraGrid2_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { if (e.Cell.Column.Key == "BUYERCODE") { string saleorg = base.GetSaleOrg(); DlgBox.DlgSelectBuyer dlgSelectBuyer = new Core.StlMes.Client.Sale.UI.Balance.DlgBox.DlgSelectBuyer(this.ob); dlgSelectBuyer.SaleOrg = saleorg; dlgSelectBuyer.CustUse = "100202"; dlgSelectBuyer.Text = "结算客户单位"; dlgSelectBuyer.ShowDialog(); if (dlgSelectBuyer.DialogResult == DialogResult.OK) { buyercode = dlgSelectBuyer.customerNo; ugr.Cells["BUYERCODE"].Value = dlgSelectBuyer.customerName; } e.Cell.Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { } private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { if (e.Row.Cells["STATUS_CD"].Value.ToString() == "2") { e.Row.Appearance.ForeColor = Color.Red; } } private void ultraGrid1_AfterRowActivate_1(object sender, EventArgs e) { Infragistics.Win.UltraWinGrid.UltraGridRow ugrc = null; if (this.ultraGrid1.Rows.Count == 0) return; else if (this.ultraGrid1.Rows.Count == 1) ugrc = this.ultraGrid1.Rows[0]; else ugrc = this.ultraGrid1.ActiveRow; if (ugrc == null) { return; } foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn ugc in this.ultraGrid1.DisplayLayout.Bands[0].Columns) { try { this.ugr.Cells[ugc.Key].Value = ugrc.Cells[ugc.Key].Value; } catch { } } this.buyercode = ugrc.Cells["BUYERCODE"].Value.ToString(); ugr.Cells["BUYERCODE"].Value = ugrc.Cells["BUYERNAME"].Value; } private void ultraGrid1_InitializeRow_1(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { if (e.Row.Cells["STATUS_CD"].Value.ToString() == "2") { e.Row.Appearance.ForeColor = Color.Red; } } private void ultraGrid2_ClickCellButton_1(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { if (e.Cell.Column.Key == "BUYERCODE") { string saleorg = base.GetSaleOrg(); DlgBox.DlgSelectBuyer dlgSelectBuyer = new Core.StlMes.Client.Sale.UI.Balance.DlgBox.DlgSelectBuyer(this.ob); dlgSelectBuyer.SaleOrg = saleorg; dlgSelectBuyer.CustUse = "100202"; dlgSelectBuyer.Text = "结算客户单位"; dlgSelectBuyer.ShowDialog(); if (dlgSelectBuyer.DialogResult == DialogResult.OK) { buyercode = dlgSelectBuyer.customerNo; ugr.Cells["BUYERCODE"].Value = dlgSelectBuyer.customerName; } e.Cell.Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } private void groupBox1_Enter(object sender, EventArgs e) { } } }