FrmOutStockMnyConfig.cs 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Threading;
  9. using System.Collections;
  10. using System.Reflection;
  11. using CoreFS.CA06;
  12. namespace Core.StlMes.Client.Sale.UI.Balance.BalanceAccount
  13. {
  14. public partial class FrmOutStockMnyConfig : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase
  15. {
  16. public FrmOutStockMnyConfig()
  17. {
  18. InitializeComponent();
  19. }
  20. public override void ToolBar_Click(object sender, string ToolbarKey)
  21. {
  22. if (ToolbarKey == "Query")
  23. {
  24. this.Query();
  25. }
  26. if (ToolbarKey == "Save")
  27. {
  28. this.Save();
  29. }
  30. if (ToolbarKey == "Exit")
  31. {
  32. this.Close();
  33. }
  34. if (ToolbarKey == "Close")
  35. {
  36. this.Close();
  37. }
  38. }
  39. DataSet ds = new DataSet();
  40. private void FrmOutStockMnyConfig_Load(object sender, EventArgs e)
  41. {
  42. ds = base.GetDataSetByColumnName(GetDataStruct(), GetDataSetColumnType(), GetDataSetColumnCaption());
  43. this.ultraGrid1.DataSource = ds;
  44. HiddenColumn();
  45. base.SetGridStyle(ref this.ultraGrid1);
  46. InitGrid();
  47. Query();
  48. this.ultraGrid1.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow;
  49. }
  50. private void SetGridValue()
  51. {
  52. if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
  53. {
  54. return;
  55. }
  56. foreach (DataRow dr in ds.Tables[0].Rows)
  57. {
  58. dr["SELECT"] = "FALSE";
  59. }
  60. }
  61. private void InitGrid()
  62. {
  63. this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRICE"].CellAppearance.BackColor = base.GetEditColor();
  64. this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRICE"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  65. this.ultraGrid1.DisplayLayout.Bands[0].Columns["SELECT"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  66. this.ultraGrid1.DisplayLayout.Bands[0].Columns["SELECT"].Width = 50;
  67. this.ultraGrid1.DisplayLayout.Bands[0].Columns["SALE_ORG_DESC"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always;
  68. this.ultraGrid1.DisplayLayout.Bands[0].Columns["TRANS_TYPE_DESC"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always;
  69. }
  70. private void HiddenColumn()
  71. {
  72. string[] hiddencolumn = new string[] { "SALE_ORG", "STORAGE_NO", "TRANS_TYPE" };
  73. try
  74. {
  75. foreach (string s in hiddencolumn)
  76. {
  77. this.ultraGrid1.DisplayLayout.Bands[0].Columns[s].Hidden = true;
  78. }
  79. }
  80. catch
  81. { }
  82. }
  83. private void Query()
  84. {
  85. DataSet dsd = base.ExecuteReader(sql);
  86. dsd = Util.UtilDataSet.GetDataSetWithRowFilter(dsd, "SALE_ORG", base.GetSaleOrg());
  87. dsd = Util.UtilDataSet.GetDsByAscOrderFromSourceDataSet(dsd, "TRANS_TYPE_DESC");
  88. Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref ds, dsd);
  89. SetGridValue();
  90. }
  91. private void Save()
  92. {
  93. if (this.ultraGrid1.Rows.Count == 0)
  94. return;
  95. this.ultraGrid1.UpdateData();
  96. ArrayList sqlList = new ArrayList();
  97. int cnt = 0;
  98. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Rows)
  99. {
  100. if (ugr.Cells["SELECT"].Value.ToString().ToUpper() == "TRUE")
  101. {
  102. double price = Util.ConverObject.ConvertToDouble(ugr.Cells["PRICE"].Value);
  103. if (price < 0)
  104. {
  105. Util.MessageUtil.ShowError(" 请输入正确单价");
  106. return;
  107. }
  108. string SALE_ORG = ugr.Cells["SALE_ORG"].Value.ToString();
  109. string STORAGE_NO = ugr.Cells["STORAGE_NO"].Value.ToString();
  110. string TRANS_TYPE = ugr.Cells["TRANS_TYPE"].Value.ToString();
  111. string SALE_ORG_DESC = ugr.Cells["SALE_ORG_DESC"].Value.ToString();
  112. string STORAGE_NAME = ugr.Cells["STORAGE_NAME"].Value.ToString();
  113. string TRANS_TYPE_DESC = ugr.Cells["TRANS_TYPE_DESC"].Value.ToString();
  114. string pserson = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  115. sqlQuery = string.Format(sqlQuery, SALE_ORG,
  116. STORAGE_NO,
  117. TRANS_TYPE);
  118. DataSet dscnt = base.ExecuteReader(sqlQuery);
  119. cnt = 0;
  120. try
  121. {
  122. cnt = dscnt.Tables[0].Rows.Count;
  123. }
  124. catch
  125. {
  126. cnt = 0;
  127. }
  128. string sql = "";
  129. if (cnt > 0)
  130. {
  131. sql = string.Format(sqlUpdate, price, SALE_ORG,
  132. STORAGE_NO,
  133. TRANS_TYPE
  134. );
  135. }
  136. else
  137. {
  138. sql = string.Format(GetInsertsql(), SALE_ORG, SALE_ORG_DESC,
  139. STORAGE_NO, STORAGE_NAME,
  140. TRANS_TYPE, TRANS_TYPE_DESC,
  141. price, pserson);
  142. }
  143. sqlList.Add(sql);
  144. }
  145. }
  146. base.ExecuteNoReader(sqlList);
  147. if (sqlList.Count > 0)
  148. {
  149. Util.MessageUtil.ShowTips("操作成功");
  150. }
  151. this.Query();
  152. }
  153. private string[] GetDataStruct()
  154. {
  155. return new string[]
  156. {
  157. "SELECT",
  158. "SALE_ORG",
  159. "SALE_ORG_DESC",
  160. "TRANS_TYPE_DESC",
  161. "STORAGE_NO",
  162. "STORAGE_NAME",
  163. "TRANS_TYPE",
  164. "PRICE"
  165. // "CREATE_PERSON"
  166. };
  167. }
  168. protected Hashtable GetDataSetColumnType()
  169. {
  170. Hashtable hs = new Hashtable();
  171. hs.Add("SELECT", "System.Boolean");
  172. return hs;
  173. }
  174. protected override Hashtable GetDataSetColumnCaption()
  175. {
  176. Hashtable hs = new Hashtable();
  177. hs.Add("SELECT","选择");
  178. hs.Add("TRANS_TYPE_DESC", "运输类型");
  179. hs.Add("STORAGE_NAME", "仓库名");
  180. hs.Add("PRICE", "单价(含税)");
  181. hs.Add("SALE_ORG_DESC", "销售组织");
  182. return hs;
  183. }
  184. private string GetInsertsql()
  185. {
  186. StringBuilder sbs = new StringBuilder();
  187. sbs.Append(" insert into slm_balance_outstoackpric_cof ( ");
  188. sbs.Append("SALE_ORG,");
  189. sbs.Append("SALE_ORG_DESC,");
  190. sbs.Append("STORAGE_NO,");
  191. sbs.Append("STORAGE_NAME,");
  192. sbs.Append("TRANS_TYPE,");
  193. sbs.Append("TRANS_TYPE_DESC,");
  194. sbs.Append("PRICE,");
  195. sbs.Append("CREATE_DATE,");
  196. sbs.Append("CREATE_PERSON");
  197. sbs.Append(" )");
  198. sbs.Append(" values ( ");
  199. sbs.Append(" '{0}', ");
  200. sbs.Append(" '{1}', ");
  201. sbs.Append(" '{2}', ");
  202. sbs.Append(" '{3}', ");
  203. sbs.Append(" '{4}', ");
  204. sbs.Append(" '{5}', ");
  205. sbs.Append(" {6}, ");
  206. sbs.Append(" sysdate, ");
  207. sbs.Append(" '{7}' )");
  208. return sbs.ToString();
  209. }
  210. string sql = @"select a.*,co.price,co.create_date,co.create_person from (
  211. select a.storage_no,
  212. a.storage_name,
  213. b.basecode sale_org,
  214. b.basename sale_org_desc,
  215. c.basecode trans_type,
  216. c.basename trans_type_desc
  217. from ydm_bs_storage a
  218. cross join Com_Base_Info b
  219. cross join Com_Base_Info c
  220. where b.sortcode = '1001'
  221. and c.sortcode = '1105'
  222. and c.basecode in ('110501', '110502')) a
  223. left join slm_balance_outstoackpric_cof co
  224. on a.storage_no = co.storage_no
  225. and a.sale_org = co.sale_org
  226. and a.trans_type = co.trans_type";
  227. string sqlUpdate = @" update slm_balance_outstoackpric_cof set price = {0} where
  228. sale_org = '{1}' and storage_no = '{2}' and trans_type = '{3}' ";
  229. string sqlQuery = @" select 1 from slm_balance_outstoackpric_cof where
  230. sale_org = '{0}' and storage_no = '{1}' and trans_type = '{2}' ";
  231. }
  232. }