DlgCredit.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Collections;
  9. using System.Windows.Forms;
  10. using CoreFS.CA06;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Infragistics.Win;
  13. using SaleBusiness = Core.StlMes.Client.Sale.BLL.SaleBusinessMgt;
  14. namespace Core.StlMes.Client.Sale.UI.Balance.DlgBox
  15. {
  16. public partial class DlgCredit : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase
  17. {
  18. private CoreFS.CA06.OpeBase _ob = null;
  19. private Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceInfo slmBalanceInfo
  20. = null;
  21. private string flag = "0";
  22. private DataSet dsSource = new DataSet();
  23. public void SetFlag(string value)
  24. {
  25. this.flag = value;
  26. }
  27. public DlgCredit(CoreFS.CA06.OpeBase ob)
  28. {
  29. _ob = ob;
  30. InitializeComponent();
  31. base.ob = ob;
  32. }
  33. private void DlgCredit_Load(object sender, EventArgs e)
  34. {
  35. this.Text = "发票冲减";
  36. slmBalanceInfo = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceInfo(_ob);
  37. dsSource = base.GetDataSetByColumnName(this.GetGridDataStruct(), null, null);
  38. SetDsCaption(ref dsSource);
  39. this.ultraGrid1.DataSource = dsSource;
  40. HiddenColumn();
  41. }
  42. private void Query()
  43. {
  44. if (this.textBox7.Text.Trim().Length == 0)
  45. {
  46. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("请输入完整发票号");
  47. return;
  48. }
  49. QueryDe(this.textBox7.Text.Trim());
  50. }
  51. private void Update()
  52. {
  53. if (this.ultraGrid1.Rows.Count == 0)
  54. return;
  55. string invoiceNo = "";
  56. if (Core.StlMes.Client.Sale.Util.MessageUtil.ShowYesNoAndTips("是否确认冲减") == DialogResult.No)
  57. return;
  58. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Rows)
  59. {
  60. if (ugr.Cells["INVOICE_STS"].Value.ToString() == "0")
  61. {
  62. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("该发票号未进行结转,请走回退流程");
  63. return;
  64. }
  65. if ( Core.StlMes.Client.Sale.Util.ConverObject.ConvertToDouble( ugr.Cells["WEIGHT"].Value.ToString()) < 0)
  66. {
  67. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("该发票号有负数记录,不允许冲减");
  68. return;
  69. }
  70. invoiceNo = ugr.Cells["REALINVOICENO"].Value.ToString();
  71. }
  72. string person = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  73. string errMsg = "";
  74. if (this.flag == "0")
  75. {
  76. this.slmBalanceInfo.CreditByAddNewTicketsWithSameWgt(invoiceNo, person, out errMsg);
  77. }
  78. else
  79. {
  80. this.slmBalanceInfo.CreditByAddNewTicketsWithSameWgtOrg(invoiceNo, person, out errMsg);
  81. }
  82. if (errMsg.Length > 0)
  83. {
  84. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError(errMsg);
  85. }
  86. else
  87. {
  88. Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功");
  89. this.Close();
  90. }
  91. }
  92. private void QueryDe(string invoiceno)
  93. {
  94. string sql = "";
  95. if (flag == "0")
  96. sql = GetInvoiceByRealInvoiceNo(invoiceno);
  97. else
  98. sql = GetInvoiceByRealInvoiceNoOrg(invoiceno);
  99. DataSet ds = base.ExecuteReader(sql);
  100. Core.StlMes.Client.Sale.Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref this.dsSource, ds);
  101. base.SetGridStyle(ref this.ultraGrid1);
  102. }
  103. private void HiddenColumn()
  104. {
  105. foreach (string s in new string[] { "INVOICE_STS"})
  106. {
  107. try
  108. {
  109. this.ultraGrid1.DisplayLayout.Bands[0].Columns[s].Hidden = true;
  110. }
  111. catch
  112. { }
  113. }
  114. }
  115. private void SetDsCaption(ref DataSet ds)
  116. {
  117. foreach (string[] s in GetColumnAndCaption())
  118. {
  119. try
  120. {
  121. ds.Tables[0].Columns[s[0]].Caption = s[1];
  122. }
  123. catch
  124. { }
  125. }
  126. }
  127. private List<string[]> GetColumnAndCaption()
  128. {
  129. List<string[]> list = new List<string[]>();
  130. list.Add(new string[] { "REALINVOICENO", "发票号" });
  131. list.Add(new string[] { "BUYERNAME", "结算单位" });
  132. list.Add(new string[] { "WEIGHT", "重量" });
  133. list.Add(new string[] { "QUANTITY", "支数" });
  134. list.Add(new string[] { "PRICE", "单价" });
  135. list.Add(new string[] { "MONEY", "金额" });
  136. list.Add(new string[] { "INVOICE_STS", "结转状态" });
  137. return list;
  138. }
  139. private string[] GetGridDataStruct()
  140. {
  141. return new String[]
  142. {
  143. "REALINVOICENO",
  144. "BUYERNAME",
  145. "WEIGHT",
  146. "QUANTITY",
  147. "PRICE",
  148. "MONEY" ,
  149. "INVOICE_STS"
  150. };
  151. }
  152. private string GetInvoiceByRealInvoiceNo(string realInvoiceNo)
  153. {
  154. string sql = " select REALINVOICENO,BUYERNAME, WEIGHT,QUANTITY,PRICE,MONEY,INVOICE_STS from SLM_BALANCEINFO where REALINVOICENO = '{0}' ";
  155. sql = string.Format(sql,realInvoiceNo);
  156. return sql;
  157. }
  158. private string GetInvoiceByRealInvoiceNoOrg(string realInvoiceNo)
  159. {
  160. string sql = " select REALINVOICENO_ORG REALINVOICENO,BUYERNAME, WEIGHT,QUANTITY,PRICE_ORG PRICE,MONEY_ORG MONEY,INVOICE_STS from SLM_BALANCEINFO where REALINVOICENO_ORG = '{0}' ";
  161. sql = string.Format(sql, realInvoiceNo);
  162. return sql;
  163. }
  164. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  165. {
  166. if (e.Tool.Key == "Query")
  167. {
  168. this.Query();
  169. }
  170. if (e.Tool.Key == "Update")
  171. {
  172. this.Update();
  173. }
  174. if (e.Tool.Key == "Exit")
  175. {
  176. this.Close();
  177. }
  178. }
  179. }
  180. }