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; namespace Core.StlMes.Client.Sale.UI.Balance.BalanceAccount { public partial class FrmOutStockMnyConfig : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase { public FrmOutStockMnyConfig() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { if (ToolbarKey == "Query") { this.Query(); } if (ToolbarKey == "Save") { this.Save(); } if (ToolbarKey == "Exit") { this.Close(); } if (ToolbarKey == "Close") { this.Close(); } } DataSet ds = new DataSet(); private void FrmOutStockMnyConfig_Load(object sender, EventArgs e) { ds = base.GetDataSetByColumnName(GetDataStruct(), GetDataSetColumnType(), GetDataSetColumnCaption()); this.ultraGrid1.DataSource = ds; HiddenColumn(); base.SetGridStyle(ref this.ultraGrid1); InitGrid(); Query(); this.ultraGrid1.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow; } private void SetGridValue() { if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { return; } foreach (DataRow dr in ds.Tables[0].Rows) { dr["SELECT"] = "FALSE"; } } private void InitGrid() { this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRICE"].CellAppearance.BackColor = base.GetEditColor(); this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRICE"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; this.ultraGrid1.DisplayLayout.Bands[0].Columns["SELECT"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; this.ultraGrid1.DisplayLayout.Bands[0].Columns["SELECT"].Width = 50; this.ultraGrid1.DisplayLayout.Bands[0].Columns["SALE_ORG_DESC"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always; this.ultraGrid1.DisplayLayout.Bands[0].Columns["TRANS_TYPE_DESC"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always; } private void HiddenColumn() { string[] hiddencolumn = new string[] { "SALE_ORG", "STORAGE_NO", "TRANS_TYPE" }; try { foreach (string s in hiddencolumn) { this.ultraGrid1.DisplayLayout.Bands[0].Columns[s].Hidden = true; } } catch { } } private void Query() { DataSet dsd = base.ExecuteReader(sql); dsd = Util.UtilDataSet.GetDataSetWithRowFilter(dsd, "SALE_ORG", base.GetSaleOrg()); dsd = Util.UtilDataSet.GetDsByAscOrderFromSourceDataSet(dsd, "TRANS_TYPE_DESC"); Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref ds, dsd); SetGridValue(); } private void Save() { if (this.ultraGrid1.Rows.Count == 0) return; this.ultraGrid1.UpdateData(); ArrayList sqlList = new ArrayList(); int cnt = 0; foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Rows) { if (ugr.Cells["SELECT"].Value.ToString().ToUpper() == "TRUE") { double price = Util.ConverObject.ConvertToDouble(ugr.Cells["PRICE"].Value); if (price < 0) { Util.MessageUtil.ShowError(" 请输入正确单价"); return; } string SALE_ORG = ugr.Cells["SALE_ORG"].Value.ToString(); string STORAGE_NO = ugr.Cells["STORAGE_NO"].Value.ToString(); string TRANS_TYPE = ugr.Cells["TRANS_TYPE"].Value.ToString(); string SALE_ORG_DESC = ugr.Cells["SALE_ORG_DESC"].Value.ToString(); string STORAGE_NAME = ugr.Cells["STORAGE_NAME"].Value.ToString(); string TRANS_TYPE_DESC = ugr.Cells["TRANS_TYPE_DESC"].Value.ToString(); string pserson = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(); sqlQuery = string.Format(sqlQuery, SALE_ORG, STORAGE_NO, TRANS_TYPE); DataSet dscnt = base.ExecuteReader(sqlQuery); cnt = 0; try { cnt = dscnt.Tables[0].Rows.Count; } catch { cnt = 0; } string sql = ""; if (cnt > 0) { sql = string.Format(sqlUpdate, price, SALE_ORG, STORAGE_NO, TRANS_TYPE ); } else { sql = string.Format(GetInsertsql(), SALE_ORG, SALE_ORG_DESC, STORAGE_NO, STORAGE_NAME, TRANS_TYPE, TRANS_TYPE_DESC, price, pserson); } sqlList.Add(sql); } } base.ExecuteNoReader(sqlList); if (sqlList.Count > 0) { Util.MessageUtil.ShowTips("操作成功"); } this.Query(); } private string[] GetDataStruct() { return new string[] { "SELECT", "SALE_ORG", "SALE_ORG_DESC", "TRANS_TYPE_DESC", "STORAGE_NO", "STORAGE_NAME", "TRANS_TYPE", "PRICE" // "CREATE_PERSON" }; } protected Hashtable GetDataSetColumnType() { Hashtable hs = new Hashtable(); hs.Add("SELECT", "System.Boolean"); return hs; } protected override Hashtable GetDataSetColumnCaption() { Hashtable hs = new Hashtable(); hs.Add("SELECT","选择"); hs.Add("TRANS_TYPE_DESC", "运输类型"); hs.Add("STORAGE_NAME", "仓库名"); hs.Add("PRICE", "单价(含税)"); hs.Add("SALE_ORG_DESC", "销售组织"); return hs; } private string GetInsertsql() { StringBuilder sbs = new StringBuilder(); sbs.Append(" insert into slm_balance_outstoackpric_cof ( "); sbs.Append("SALE_ORG,"); sbs.Append("SALE_ORG_DESC,"); sbs.Append("STORAGE_NO,"); sbs.Append("STORAGE_NAME,"); sbs.Append("TRANS_TYPE,"); sbs.Append("TRANS_TYPE_DESC,"); sbs.Append("PRICE,"); sbs.Append("CREATE_DATE,"); sbs.Append("CREATE_PERSON"); sbs.Append(" )"); sbs.Append(" values ( "); sbs.Append(" '{0}', "); sbs.Append(" '{1}', "); sbs.Append(" '{2}', "); sbs.Append(" '{3}', "); sbs.Append(" '{4}', "); sbs.Append(" '{5}', "); sbs.Append(" {6}, "); sbs.Append(" sysdate, "); sbs.Append(" '{7}' )"); return sbs.ToString(); } string sql = @"select a.*,co.price,co.create_date,co.create_person from ( select a.storage_no, a.storage_name, b.basecode sale_org, b.basename sale_org_desc, c.basecode trans_type, c.basename trans_type_desc from ydm_bs_storage a cross join Com_Base_Info b cross join Com_Base_Info c where b.sortcode = '1001' and c.sortcode = '1105' and c.basecode in ('110501', '110502')) a left join slm_balance_outstoackpric_cof co on a.storage_no = co.storage_no and a.sale_org = co.sale_org and a.trans_type = co.trans_type"; string sqlUpdate = @" update slm_balance_outstoackpric_cof set price = {0} where sale_org = '{1}' and storage_no = '{2}' and trans_type = '{3}' "; string sqlQuery = @" select 1 from slm_balance_outstoackpric_cof where sale_org = '{0}' and storage_no = '{1}' and trans_type = '{2}' "; } }