FrmMnyInput.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  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. using Infragistics.Win.UltraWinGrid;
  13. namespace Core.StlMes.Client.Sale.UI.Balance.BalanceAccount
  14. {
  15. public partial class FrmMnyInput : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase
  16. {
  17. public FrmMnyInput()
  18. {
  19. InitializeComponent();
  20. }
  21. private DataSet dsMain = new DataSet();
  22. private DataSet dsEdit = new DataSet();
  23. Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceMnysubt slmBalanceMnysubt = null;
  24. Infragistics.Win.UltraWinGrid.UltraGridRow ugr = null;
  25. private string[] GetGridOneDataStruct()
  26. {
  27. return new string[]
  28. {
  29. "SUB_SEQ" ,
  30. "BUYERCODE" ,
  31. "BUYERNAME" ,
  32. "FORECORPCODE" ,
  33. "MONEY" ,
  34. "MONEY_TYPE" ,
  35. "MONEY_TYPE_DESC" ,
  36. "REMARK" ,
  37. "STATUS_CD" ,
  38. // "INVOICENO" ,
  39. "CREATE_NAME" ,
  40. "CREATE_TIME" ,
  41. "AFFRIM_NAME" ,
  42. "AFFRIM_TIME" ,
  43. "CREATE_DEPT"
  44. };
  45. }
  46. private string[] GetCanBeEditColumn()
  47. {
  48. return new string[]
  49. {
  50. "SUB_SEQ" ,
  51. "BUYERCODE" ,
  52. "FORECORPCODE" ,
  53. "MONEY" ,
  54. "MONEY_TYPE" ,
  55. "MONEY_TYPE_DESC" ,
  56. "REMARK"
  57. };
  58. }
  59. private void HiddenColumn()
  60. {
  61. this.ultraGrid1.DisplayLayout.Bands[0].Columns["CREATE_DEPT"].Hidden = true;
  62. this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true;
  63. this.ultraGrid1.DisplayLayout.Bands[0].Columns["BUYERCODE"].Hidden = true;
  64. this.ultraGrid1.DisplayLayout.Bands[0].Columns["MONEY_TYPE"].Hidden = true;
  65. this.ultraGrid2.DisplayLayout.Bands[0].Columns["CREATE_DEPT"].Hidden = true;
  66. this.ultraGrid2.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true;
  67. this.ultraGrid2.DisplayLayout.Bands[0].Columns["CREATE_NAME"].Hidden = true;
  68. this.ultraGrid2.DisplayLayout.Bands[0].Columns["CREATE_TIME"].Hidden = true;
  69. this.ultraGrid2.DisplayLayout.Bands[0].Columns["AFFRIM_NAME"].Hidden = true;
  70. this.ultraGrid2.DisplayLayout.Bands[0].Columns["AFFRIM_TIME"].Hidden = true;
  71. this.ultraGrid2.DisplayLayout.Bands[0].Columns["FORECORPCODE"].Hidden = true;
  72. this.ultraGrid2.DisplayLayout.Bands[0].Columns["BUYERNAME"].Hidden = true;
  73. this.ultraGrid2.DisplayLayout.Bands[0].Columns["MONEY_TYPE_DESC"].Hidden = true;
  74. }
  75. private void FrmMnyInput_Load(object sender, EventArgs e)
  76. {
  77. slmBalanceMnysubt = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceMnysubt(this.ob);
  78. dsMain = base.GetDataSetByColumnName(GetGridOneDataStruct(),
  79. StaticData.TbColumnAndCaption.GetDataSetColumnType(), StaticData.TbColumnAndCaption.GetColumnAndCaption());
  80. this.ultraGrid1.DataSource = dsMain;
  81. dsEdit = base.GetDataSetByColumnName(GetGridOneDataStruct(),
  82. GetTbColumnNameAndDataType(), StaticData.TbColumnAndCaption.GetColumnAndCaption());
  83. this.ultraGrid2.DataSource = dsEdit;
  84. this.ultraGrid1.DisplayLayout.Bands[0].Columns["CREATE_TIME"]
  85. .Format = "yyyy-MM-dd HH:MM:ss";
  86. base.SetGridStyle(ref this.ultraGrid1,ref this.ultraGrid2);
  87. this.ultraGrid2.DisplayLayout.Bands[0].Columns["MONEY_TYPE"].ValueList = GetMoneyTypeList();
  88. InitGird2();
  89. HiddenColumn();
  90. Query();
  91. }
  92. protected Hashtable GetTbColumnNameAndDataType()
  93. {
  94. Hashtable hs = new Hashtable();
  95. hs.Add("MONEY","System.String");
  96. return hs;
  97. }
  98. private Infragistics.Win.ValueList GetMoneyTypeList()
  99. {
  100. Infragistics.Win.ValueList lit = new Infragistics.Win.ValueList();
  101. lit.ValueListItems.Add("0", "冲减");
  102. lit.ValueListItems.Add("1", "补收");
  103. return lit;
  104. }
  105. public override void ToolBar_Click(object sender, string ToolbarKey)
  106. {
  107. if (ToolbarKey == "Query")
  108. this.Query();
  109. if (ToolbarKey == "Delete")
  110. { this.Delete(); }
  111. if (ToolbarKey == "Update")
  112. this.Update();
  113. if (ToolbarKey == "Add")
  114. this.Add();
  115. if (ToolbarKey == "Affrim")
  116. this.Affrim();
  117. if (ToolbarKey == "UnAffrim")
  118. this.UnAffrim();
  119. if (ToolbarKey == "Close")
  120. this.Close();
  121. }
  122. private void InitGird2()
  123. {
  124. ugr = this.ultraGrid2.DisplayLayout.Bands[0].AddNew();
  125. foreach (string s in GetCanBeEditColumn())
  126. {
  127. this.ultraGrid2.DisplayLayout.Bands[0].Columns[s].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  128. // this.ultraGrid2.DisplayLayout.Bands[0].Columns[s].CellAppearance.BackColor = base.GetEditColor();
  129. }
  130. this.ultraGrid2.DisplayLayout.Bands[0].Columns["BUYERCODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton;
  131. }
  132. private void Query()
  133. {
  134. DataSet ds = null;
  135. ds = this.slmBalanceMnysubt.GetSlmBalanceMnySubtByCreateTime(this.dateTimePicker1.Value,
  136. this.dateTimePicker2.Value);
  137. Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref dsMain, ds);
  138. Util.UtilDataSet.GetDsByDescOrderFromSourceDataSet(dsMain, "CREATE_TIME");
  139. }
  140. private void Add()
  141. {
  142. string errMsg = "";
  143. Hashtable hsdata = GetEditHsData();
  144. if (hsdata.Count == 0)
  145. return;
  146. this.slmBalanceMnysubt.Insert(GetEditHsData(), out errMsg);
  147. if (errMsg.Length == 0)
  148. {
  149. Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功");
  150. }
  151. this.Query();
  152. }
  153. private void Affrim()
  154. {
  155. ArrayList list = new ArrayList();
  156. UltraGridRow row = this.ultraGrid1.ActiveRow;
  157. if (row == null)
  158. return;
  159. list.Add(ugr.Cells["SUB_SEQ"].Value.ToString());
  160. string errMsg = "";
  161. this.slmBalanceMnysubt.Affrim(list,CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(),out errMsg);
  162. if (errMsg.Length == 0)
  163. {
  164. Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功");
  165. }
  166. this.Query();
  167. }
  168. private void UnAffrim()
  169. {
  170. ArrayList list = new ArrayList();
  171. UltraGridRow row = this.ultraGrid1.ActiveRow;
  172. if (row == null)
  173. return;
  174. list.Add(ugr.Cells["SUB_SEQ"].Value.ToString());
  175. string errMsg = "";
  176. this.slmBalanceMnysubt.UnAffrim(list, CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName(), out errMsg);
  177. if (errMsg.Length == 0)
  178. {
  179. Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功");
  180. }
  181. this.Query();
  182. }
  183. private ArrayList GetListSubSeq()
  184. {
  185. ArrayList list = new ArrayList();
  186. if (this.ultraGrid1.Rows.Count == 0)
  187. return list;
  188. if (this.ultraGrid1.Rows.Count == 1)
  189. {
  190. this.ultraGrid1.Rows[0].Selected = true;
  191. }
  192. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Selected.Rows)
  193. {
  194. if (ugr.Cells["STATUS_CD"].Value.ToString() == "2" )
  195. continue;
  196. list.Add(ugr.Cells["SUB_SEQ"].Value.ToString());
  197. }
  198. return list;
  199. }
  200. private void Update()
  201. {
  202. string errMsg = "";
  203. Hashtable hsdata = GetEditHsData();
  204. if (hsdata.Count == 0)
  205. return;
  206. this.slmBalanceMnysubt.Update(GetEditHsData(), out errMsg);
  207. if (errMsg.Length == 0)
  208. {
  209. Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功");
  210. }
  211. this.Query();
  212. }
  213. private Boolean CheckEditData()
  214. {
  215. if (Util.ConverObject.ConvertToDouble(ugr.Cells["MONEY"].Value.ToString()) == 0)
  216. {
  217. Util.MessageUtil.ShowError("请输入正确金额");
  218. return false;
  219. }
  220. if (ugr.Cells["BUYERCODE"].Value.ToString().Length == 0)
  221. {
  222. Util.MessageUtil.ShowError("请输入客户单位");
  223. return false;
  224. }
  225. if (ugr.Cells["MONEY_TYPE"].Value.ToString().Length == 0)
  226. {
  227. Util.MessageUtil.ShowError("请输入冲减类型");
  228. return false;
  229. }
  230. if (ugr.Cells["SUB_SEQ"].Value.ToString().Length == 0)
  231. {
  232. Util.MessageUtil.ShowError("请输入冲减单号");
  233. return false;
  234. }
  235. return true;
  236. }
  237. private Hashtable GetEditHsData()
  238. {
  239. this.ultraGrid2.UpdateData();
  240. Hashtable hs = new Hashtable();
  241. if (!CheckEditData())
  242. return hs;
  243. foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn ugc in this.ultraGrid2.DisplayLayout.Bands[0].Columns)
  244. {
  245. if (ugc.Key.ToUpper() == "MONEY")
  246. hs.Add(ugc.Key.ToUpper(), ugr.Cells[ugc.Key].Value.ToString());
  247. else
  248. hs.Add(ugc.Key.ToUpper(), ugr.Cells[ugc.Key].Value);
  249. }
  250. if (hs.Count == 0)
  251. return hs;
  252. string person = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  253. hs["CREATE_NAME"] = person;
  254. hs["AFFRIM_NAME"] = "";
  255. hs["FORECORPCODE"] = base.GetSaleOrgDesc();
  256. hs["BUYERNAME"] = ugr.Cells["BUYERCODE"].Text;
  257. hs["BUYERCODE"] = this.buyercode;
  258. hs["MONEY_TYPE_DESC"] = ugr.Cells["MONEY_TYPE"].Text;
  259. return hs;
  260. }
  261. private void Delete()
  262. {
  263. Infragistics.Win.UltraWinGrid.UltraGridRow ugr = null;
  264. if (this.ultraGrid1.Rows.Count == 0)
  265. return;
  266. else if (this.ultraGrid1.Rows.Count == 1)
  267. ugr = this.ultraGrid1.Rows[0];
  268. else
  269. ugr = this.ultraGrid1.ActiveRow;
  270. if (ugr == null)
  271. {
  272. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("请选择需要删除的行");
  273. return;
  274. }
  275. if (Util.MessageUtil.ShowYesNoAndQuestion("是否确定删除选定行?") == DialogResult.No) return;
  276. string subseq = ugr.Cells["SUB_SEQ"].Value.ToString();
  277. string person = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  278. string errMsg = "";
  279. this.slmBalanceMnysubt.Delete(subseq, person,out errMsg);
  280. if (errMsg.Length == 0)
  281. {
  282. Core.StlMes.Client.Sale.Util.MessageUtil.ShowTips("操作成功");
  283. return;
  284. }
  285. this.Query();
  286. }
  287. protected override Hashtable GetDataSetColumnCaption()
  288. {
  289. Hashtable hs = new Hashtable();
  290. hs.Add("SUB_SEQ","冲减单号");
  291. hs.Add("BUYERCODE","冲减客户");
  292. hs.Add("FORECORPCODE","销售组织");
  293. hs.Add("MONEY","冲减金额");
  294. hs.Add("MONEY_TYPE","冲减类型");
  295. hs.Add("MONEY_TYPE_DESC","冲减类型");
  296. hs.Add("AFFRIM_NAME","确认人");
  297. hs.Add("CREATE_DEPT","创建部门");
  298. hs.Add("BUYERNAME", "冲减客户");
  299. return hs;
  300. }
  301. private string SELECT = "SELECT";
  302. private void ultraGrid2_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e)
  303. {
  304. }
  305. string buyerType = "2";
  306. string dataNameKf;
  307. DataTable table_NameKf;
  308. string buyercode = "001";
  309. /*
  310. 100201 订货单位
  311. 100202 结算单位
  312. 100203 收货单位
  313. 100204 最终用户
  314. 100205 质保书单位
  315. */
  316. private void ultraGrid2_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  317. {
  318. if (e.Cell.Column.Key == "BUYERCODE")
  319. {
  320. string saleorg = base.GetSaleOrg();
  321. DlgBox.DlgSelectBuyer dlgSelectBuyer = new Core.StlMes.Client.Sale.UI.Balance.DlgBox.DlgSelectBuyer(this.ob);
  322. dlgSelectBuyer.SaleOrg = saleorg;
  323. dlgSelectBuyer.CustUse = "100202";
  324. dlgSelectBuyer.Text = "结算客户单位";
  325. dlgSelectBuyer.ShowDialog();
  326. if (dlgSelectBuyer.DialogResult == DialogResult.OK)
  327. {
  328. buyercode = dlgSelectBuyer.customerNo;
  329. ugr.Cells["BUYERCODE"].Value = dlgSelectBuyer.customerName;
  330. }
  331. e.Cell.Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  332. }
  333. }
  334. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  335. {
  336. }
  337. private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  338. {
  339. if (e.Row.Cells["STATUS_CD"].Value.ToString() == "2")
  340. {
  341. e.Row.Appearance.ForeColor = Color.Red;
  342. }
  343. }
  344. private void ultraGrid1_AfterRowActivate_1(object sender, EventArgs e)
  345. {
  346. Infragistics.Win.UltraWinGrid.UltraGridRow ugrc = null;
  347. if (this.ultraGrid1.Rows.Count == 0)
  348. return;
  349. else if (this.ultraGrid1.Rows.Count == 1)
  350. ugrc = this.ultraGrid1.Rows[0];
  351. else
  352. ugrc = this.ultraGrid1.ActiveRow;
  353. if (ugrc == null)
  354. {
  355. return;
  356. }
  357. foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn ugc in this.ultraGrid1.DisplayLayout.Bands[0].Columns)
  358. {
  359. try
  360. {
  361. this.ugr.Cells[ugc.Key].Value = ugrc.Cells[ugc.Key].Value;
  362. }
  363. catch
  364. { }
  365. }
  366. this.buyercode = ugrc.Cells["BUYERCODE"].Value.ToString();
  367. ugr.Cells["BUYERCODE"].Value = ugrc.Cells["BUYERNAME"].Value;
  368. }
  369. private void ultraGrid1_InitializeRow_1(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  370. {
  371. if (e.Row.Cells["STATUS_CD"].Value.ToString() == "2")
  372. {
  373. e.Row.Appearance.ForeColor = Color.Red;
  374. }
  375. }
  376. private void ultraGrid2_ClickCellButton_1(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  377. {
  378. if (e.Cell.Column.Key == "BUYERCODE")
  379. {
  380. string saleorg = base.GetSaleOrg();
  381. DlgBox.DlgSelectBuyer dlgSelectBuyer = new Core.StlMes.Client.Sale.UI.Balance.DlgBox.DlgSelectBuyer(this.ob);
  382. dlgSelectBuyer.SaleOrg = saleorg;
  383. dlgSelectBuyer.CustUse = "100202";
  384. dlgSelectBuyer.Text = "结算客户单位";
  385. dlgSelectBuyer.ShowDialog();
  386. if (dlgSelectBuyer.DialogResult == DialogResult.OK)
  387. {
  388. buyercode = dlgSelectBuyer.customerNo;
  389. ugr.Cells["BUYERCODE"].Value = dlgSelectBuyer.customerName;
  390. }
  391. e.Cell.Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  392. }
  393. }
  394. private void groupBox1_Enter(object sender, EventArgs e)
  395. {
  396. }
  397. }
  398. }