using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Collections; using System.Windows.Forms; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using SaleBusiness = Core.StlMes.Client.Sale.BLL.SaleBusinessMgt; namespace Core.StlMes.Client.Sale.UI.Balance.DlgBox { public partial class DlgCredit : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase { private CoreFS.CA06.OpeBase _ob = null; private Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceInfo slmBalanceInfo = null; private string flag = "0"; private DataSet dsSource = new DataSet(); public void SetFlag(string value) { this.flag = value; } public DlgCredit(CoreFS.CA06.OpeBase ob) { _ob = ob; InitializeComponent(); base.ob = ob; } private void DlgCredit_Load(object sender, EventArgs e) { this.Text = "发票冲减"; slmBalanceInfo = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceInfo(_ob); dsSource = base.GetDataSetByColumnName(this.GetGridDataStruct(), null, null); SetDsCaption(ref dsSource); this.ultraGrid1.DataSource = dsSource; HiddenColumn(); } private void Query() { if (this.textBox7.Text.Trim().Length == 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("请输入完整发票号"); return; } QueryDe(this.textBox7.Text.Trim()); } private void Update() { if (this.ultraGrid1.Rows.Count == 0) return; string invoiceNo = ""; if (Core.StlMes.Client.Sale.Util.MessageUtil.ShowYesNoAndTips("是否确认冲减") == DialogResult.No) return; foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Rows) { if (ugr.Cells["INVOICE_STS"].Value.ToString() == "0") { Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("该发票号未进行结转,请走回退流程"); return; } if ( Core.StlMes.Client.Sale.Util.ConverObject.ConvertToDouble( ugr.Cells["WEIGHT"].Value.ToString()) < 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("该发票号有负数记录,不允许冲减"); return; } invoiceNo = ugr.Cells["REALINVOICENO"].Value.ToString(); } string person = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(); string errMsg = ""; if (this.flag == "0") { this.slmBalanceInfo.CreditByAddNewTicketsWithSameWgt(invoiceNo, person, out errMsg); } else { this.slmBalanceInfo.CreditByAddNewTicketsWithSameWgtOrg(invoiceNo, person, out errMsg); } if (errMsg.Length > 0) { Core.StlMes.Client.Sale.Util.MessageUtil.ShowError(errMsg); } else { Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功"); this.Close(); } } private void QueryDe(string invoiceno) { string sql = ""; if (flag == "0") sql = GetInvoiceByRealInvoiceNo(invoiceno); else sql = GetInvoiceByRealInvoiceNoOrg(invoiceno); DataSet ds = base.ExecuteReader(sql); Core.StlMes.Client.Sale.Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref this.dsSource, ds); base.SetGridStyle(ref this.ultraGrid1); } private void HiddenColumn() { foreach (string s in new string[] { "INVOICE_STS"}) { try { this.ultraGrid1.DisplayLayout.Bands[0].Columns[s].Hidden = true; } catch { } } } private void SetDsCaption(ref DataSet ds) { foreach (string[] s in GetColumnAndCaption()) { try { ds.Tables[0].Columns[s[0]].Caption = s[1]; } catch { } } } private List GetColumnAndCaption() { List list = new List(); list.Add(new string[] { "REALINVOICENO", "发票号" }); list.Add(new string[] { "BUYERNAME", "结算单位" }); list.Add(new string[] { "WEIGHT", "重量" }); list.Add(new string[] { "QUANTITY", "支数" }); list.Add(new string[] { "PRICE", "单价" }); list.Add(new string[] { "MONEY", "金额" }); list.Add(new string[] { "INVOICE_STS", "结转状态" }); return list; } private string[] GetGridDataStruct() { return new String[] { "REALINVOICENO", "BUYERNAME", "WEIGHT", "QUANTITY", "PRICE", "MONEY" , "INVOICE_STS" }; } private string GetInvoiceByRealInvoiceNo(string realInvoiceNo) { string sql = " select REALINVOICENO,BUYERNAME, WEIGHT,QUANTITY,PRICE,MONEY,INVOICE_STS from SLM_BALANCEINFO where REALINVOICENO = '{0}' "; sql = string.Format(sql,realInvoiceNo); return sql; } private string GetInvoiceByRealInvoiceNoOrg(string realInvoiceNo) { string sql = " select REALINVOICENO_ORG REALINVOICENO,BUYERNAME, WEIGHT,QUANTITY,PRICE_ORG PRICE,MONEY_ORG MONEY,INVOICE_STS from SLM_BALANCEINFO where REALINVOICENO_ORG = '{0}' "; sql = string.Format(sql, realInvoiceNo); return sql; } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { if (e.Tool.Key == "Query") { this.Query(); } if (e.Tool.Key == "Update") { this.Update(); } if (e.Tool.Key == "Exit") { this.Close(); } } } }