DlgSelectInvoceTransMnyAndOutStockMny.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  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 DlgSelectInvoceTransMnyAndOutStockMny : Core.StlMes.Client.Sale.Common.FrmStyleBase.FrmUIBase
  17. {
  18. private Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceInfo slmBalanceInfo
  19. = null;
  20. private string saleOrg = "";
  21. private string custUser = "";
  22. private CoreFS.CA06.OpeBase _ob = null;
  23. DataSet dsMain = new DataSet();
  24. DataSet dsGrid2 = new DataSet();
  25. DataSet dsGrid3 = new DataSet();
  26. public string _invocieFlag = "0";
  27. private Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Trans.YdmZcLoadVehicleMatMgt ydmZcLoadVehicleMatMgt
  28. = null;
  29. private Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.StaticData.PublicStaticVariable
  30. PublicStaticVariable = null;
  31. private Infragistics.Win.ValueList transTypelist = null;
  32. public DlgSelectInvoceTransMnyAndOutStockMny(CoreFS.CA06.OpeBase ob)
  33. {
  34. _ob = ob;
  35. InitializeComponent();
  36. }
  37. private Infragistics.Win.ValueList GetAgenCyFl()
  38. {
  39. Infragistics.Win.ValueList lit = new Infragistics.Win.ValueList();
  40. lit.ValueListItems.Add("0", "无客户代办");
  41. lit.ValueListItems.Add("1", "TPCO代办");
  42. lit.ValueListItems.Add("2", "客户代办");
  43. return lit;
  44. }
  45. private Infragistics.Win.ValueList GetStatusCd()
  46. {
  47. Infragistics.Win.ValueList lit = new Infragistics.Win.ValueList();
  48. lit.ValueListItems.Add("0", "输入");
  49. lit.ValueListItems.Add("1", "确认");
  50. lit.ValueListItems.Add("2", "开单");
  51. return lit;
  52. }
  53. private void InitDataSource()
  54. {
  55. dsMain = base.GetDataSetByColumnName(this.GetDataStructGridOne(), this.GetDataSetColumnType(),
  56. GetDataSetColumnCaption());
  57. dsGrid2 = base.GetDataSetByColumnName(this.GetGrid2DataStruct(), GetDataSetColumnType(), GetDataSet2ColumnCaption());
  58. this.ultraGrid2.DataSource = dsGrid2;
  59. dsGrid3 = base.GetDataSetByColumnName(this.GetDataStructGridThree(), GetDataSetColumnType(), GetDataSetColumnCaption());
  60. // transTypelist = PublicStaticVariable.Static_TransType_Tg(true).GetValueListDB;
  61. //this.ultraGrid2.DisplayLayout.Bands[0].Columns["STATUS_CD"].ValueList
  62. // = GetStatusCd();
  63. }
  64. private void DlgSelectInvoceTransMnyAndOutStockMny_Load(object sender, EventArgs e)
  65. {
  66. PublicStaticVariable = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.StaticData.PublicStaticVariable(_ob);
  67. InitDataSource();
  68. ydmZcLoadVehicleMatMgt = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Trans.YdmZcLoadVehicleMatMgt(_ob);
  69. slmBalanceInfo = new Core.StlMes.Client.Sale.BLL.SaleBusinessMgt.Balance.SlmBalanceInfo(_ob);
  70. HiddenCol();
  71. base.SetGridStyle(ref this.ultraGrid2);
  72. Query();
  73. }
  74. private void Query()
  75. {
  76. DataSet ds = this.slmBalanceInfo.GetSlmBalanceTransMoneyByRegeditTime(this.dateTimePicker3.Value,
  77. this.dateTimePicker4.Value);
  78. if (this.textBox7.Text.Length > 0)
  79. {
  80. ds = Util.UtilDataSet.GetDataSetWithRowFilterWithApproximateMatch(ds, this.ASKPLAN_ID, this.textBox7.Text.Trim());
  81. }
  82. ds = Util.UtilDataSet.GetDataSetWithRowFilterWithApproximateMatch(ds, this.TICKETTYPE, "应收");
  83. // 只有应收,未开票显示
  84. // 末次
  85. if (this._invocieFlag == "0")
  86. {
  87. ds = Util.UtilDataSet.GetDataSetWithRowFilter(ds, this.INVOICENO, "");
  88. }
  89. else
  90. {
  91. ds = Util.UtilDataSet.GetDataSetWithRowFilter(ds, "INVOICENO_ORG", "");
  92. }
  93. Util.UtilDataSet.SetDataSetByMergeSameColumnName(ref this.dsGrid2, ds);
  94. remvoeMonyEqualsZero();
  95. }
  96. private void remvoeMonyEqualsZero()
  97. {
  98. try
  99. {
  100. foreach (DataRow dr in this.dsGrid2.Tables[0].Rows)
  101. {
  102. if (Util.ConverObject.ConvertToDouble(dr["MONEY"].ToString()) == 0)
  103. {
  104. dr.Delete();
  105. }
  106. }
  107. }
  108. catch
  109. {
  110. }
  111. this.dsGrid2.AcceptChanges();
  112. }
  113. private void HiddenCol()
  114. {
  115. // this.ultraGrid2.DisplayLayout.Bands[0].Columns[this.STATUS_CD].Hidden = true;
  116. this.ultraGrid2.DisplayLayout.Bands[0].Columns[this.TRANS_PK].Hidden = true;
  117. }
  118. private string[] GetDataStructGridOne()
  119. {
  120. return new string[]
  121. {
  122. this.BILL_NO,
  123. CUSTOMER_NO,
  124. CUSTOMER_NM,
  125. STLMT_UNIT_NO,
  126. this.SALE_ORG,
  127. this.SALE_ORG_DESC,
  128. // SPCL_LN_NM,
  129. // DELIVY_PLACE_CODE,
  130. // DELIVY_PLACE_NAME,
  131. RECEIV_NO,
  132. RECEIV_NM
  133. // CARRY_COMPANY_CODE,
  134. // CARRY_COMPANY_NAME
  135. };
  136. }
  137. private string[] GetDataStructGridThree()
  138. {
  139. return new string[]
  140. {
  141. SELECT,
  142. TRANSMNY,
  143. TRANSNUM,
  144. "TRANS_TYPE",
  145. "AGENCY_FL",
  146. "DESTINATION",
  147. "STATION_NO",
  148. "SPCL_LN_NO",
  149. "DESTINATION",
  150. "PORT_NO",
  151. "CARRIER_UNIT",
  152. "RECEIVOR"
  153. ,RECEIV_ADDR,DELVRY_ADDR
  154. };
  155. }
  156. private string[] GetGrid2DataStruct()
  157. {
  158. return new string[]
  159. {
  160. "TRANS_PK",
  161. TICKETTYPE,
  162. MONEY,
  163. "TICKETNUM",
  164. MONEY_TYPE,
  165. TRANS_PK,
  166. ASKPLAN_ID,
  167. BUYERNAME,
  168. // STATIONNAME,
  169. // LEASEDLINENAME,
  170. INCEPTCORPCODE,
  171. FORECORPNAME,
  172. TRANS_TYPE,
  173. MOTORMANNAME
  174. // STATUS_CD
  175. };
  176. }
  177. private string[] GetHiddenCol()
  178. {
  179. return new string[] { this.TRANS_TYPE,
  180. this.RECEIV_NO,
  181. this.STATION_NO,
  182. this.SPCL_LN_NO,
  183. this.VSTEL_CODE,
  184. this.VSTEL_DESC,
  185. DELIVY_PLACE_CODE,
  186. DELIVY_PLACE_NAME,
  187. this.SALE_ORG,
  188. this.SALE_ORG_DESC,
  189. STLMT_UNIT_NO,
  190. CUSTOMER_NO,
  191. MONET_TYPE};
  192. }
  193. private Hashtable GetDataSetColumnType()
  194. {
  195. Hashtable hs = new Hashtable();
  196. hs.Add("SELECT", "System.Boolean");
  197. hs.Add("TRANSMNY", "System.Decimal");
  198. hs.Add("MONEY", "System.Decimal");
  199. hs.Add("TICKETNUM", "System.Decimal");
  200. hs.Add(this.TRANSNUM, "System.Decimal");
  201. return hs;
  202. }
  203. private Hashtable GetDataSetColumnCaption()
  204. {
  205. Hashtable hs = new Hashtable();
  206. hs.Add(LOADVEHICLE_NO, "装车单号");
  207. hs.Add(BILL_NO, "提货单号");
  208. hs.Add(TICKETTYPE, "单据类型");
  209. hs.Add(TALLYSHEET_NO, "理货单号");
  210. hs.Add(LOADVEHICLE_TYPE, "发货单类型(1实际、2虚拟)");
  211. hs.Add(AFFIRM_FLAG, "确认标志(1确认、0未确认)");
  212. hs.Add(VEHICLE_NO, "车船号");
  213. hs.Add(TRANS_TYPE, "运输方式");
  214. hs.Add(RECEIV_NO, "收货单位编码");
  215. hs.Add(RECEIV_NM, "收货单位名称");
  216. hs.Add(STATION_NO, "到站");
  217. hs.Add(STATION_NM, "到站名称");
  218. hs.Add(SPCL_LN_NO, "专用线");
  219. hs.Add(SPCL_LN_NM, "专用线名称");
  220. hs.Add(PORT, "港口/码头");
  221. hs.Add(SHIP_LOT_NO, "船批号");
  222. hs.Add(PLANT, "出货工厂");
  223. hs.Add(PLANT_DESC, "出货工厂描述");
  224. hs.Add(VSTEL_CODE, "装运点");
  225. hs.Add(VSTEL_DESC, "装运点描述");
  226. hs.Add(CARRIER_NO, "承运单号");
  227. hs.Add(CARRY_COMPANY_CODE, "承运公司代码");
  228. hs.Add(CARRY_COMPANY_NAME, "承运公司名称");
  229. hs.Add(STACKING_WT, "发货单重量");
  230. hs.Add(STACKING_PIECE, "发货单支数");
  231. hs.Add(STACKING_TOTL_LEN, "发货单总长度");
  232. hs.Add(WEIGH_FLAG, "是否需过磅");
  233. hs.Add(PONDER_NO, "过磅单号");
  234. hs.Add(PONDER_GROSS_WT, "过磅重量");
  235. hs.Add(OUT_STOCK_CODE, "出库库区代码");
  236. hs.Add(DELIVY_PLACE_CODE, "交货点代码");
  237. hs.Add(DELIVY_PLACE_NAME, "交货点名称");
  238. hs.Add(STLMT_UNIT_NO, "结算单位编码");
  239. hs.Add(STLMT_UNIT_NM, "结算单位名称");
  240. hs.Add(INFACTORY_TIME, "进厂时间");
  241. hs.Add(LOAD_TIME, "装车时间");
  242. hs.Add(DELIVY_TIME, "出厂时间");
  243. hs.Add(STACKING_PRINTS, "打印次数");
  244. hs.Add(THREE_READY_NO, "单据结齐号");
  245. hs.Add(HANDHELD_NO, "手持编号");
  246. hs.Add(HANDHELD_FLAG, "手持标志(1:已发送,2:退回,3:完成)';");
  247. hs.Add(MANAGEMENT_NO, "管理单位代码");
  248. hs.Add(MANAGEMENT_NAME, "管理单位名称");
  249. hs.Add(MEMO, "备注");
  250. hs.Add(VALIDFLAG, "有效标志(1:有效,0:无效)");
  251. hs.Add(CREATE_NAME, "创建人");
  252. hs.Add(CREATE_TIME, "创建时间");
  253. hs.Add(UPDATE_NAME, "修改人");
  254. hs.Add(UPDATE_TIME, "修改时间");
  255. hs.Add(DELETE_NAME, "删除人");
  256. hs.Add(DELETE_TIME, "删除时间");
  257. hs.Add(SELECT, "选择");
  258. hs.Add(MONET_TYPE, "支付类型");
  259. hs.Add(TRANSMNY, "运费");
  260. hs.Add(TRANSNUM, "票据数");
  261. hs.Add(RECEIV_ADDR, "指定地点");
  262. hs.Add(DELVRY_ADDR, "交货地点");
  263. return hs;
  264. }
  265. private Hashtable GetDataSet2ColumnCaption()
  266. {
  267. Hashtable hs = new Hashtable();
  268. hs.Add(TRANS_PK, "主键");
  269. hs.Add(ASKPLAN_ID, "提单号");
  270. hs.Add(TALLYSHEET_NO, "理货单号");
  271. hs.Add(LOADVEHICLE_NO, "装车单号");
  272. hs.Add(TRAINWAGON, "车号");
  273. hs.Add(BUYERCODE, "结算单位");
  274. hs.Add(BUYERNAME, "结算单位");
  275. hs.Add(FORECORPCODE, "销售组织");
  276. hs.Add(FORECORPNAME, "销售组织");
  277. hs.Add(FST_DRAWEE_UNIT, "首次受票人");
  278. hs.Add(STATIONCODE, "到站");
  279. hs.Add(STATIONNAME, "到站");
  280. hs.Add(LEASEDLINE, "专用线名称");
  281. hs.Add(LEASEDLINENAME, "专用线名称");
  282. hs.Add(INCEPTCORPCODE, "收货单位");
  283. hs.Add(TRANS_TYPE, "运输方式");
  284. hs.Add(MOTORMANNAME, "承运单位");
  285. hs.Add(DOCKNAME, "水运起始与目的港口");
  286. hs.Add(TICKETTYPE, "单据类型");
  287. hs.Add(TICKETNO, "单据号");
  288. hs.Add(MONEY_TYPE, "费用类型");
  289. hs.Add(MONEY, "金额");
  290. hs.Add(LOAD_TIME, "装车时间");
  291. hs.Add(INVOICENO, "结算单号");
  292. hs.Add(INVOICEDATE, "编单时间");
  293. hs.Add(INVOICE_ID, "编单人");
  294. hs.Add(STATUS_CD, "状态区分");
  295. hs.Add(REG_ID, "录入者");
  296. hs.Add(REG_DTIME, "录入时间");
  297. hs.Add(AFFRIM_ID, "确认人");
  298. hs.Add(AFFRIM_TIME, "确认时间");
  299. hs.Add(SELECT, "选择");
  300. hs.Add("TICKETNUM", "票据数");
  301. return hs;
  302. }
  303. private string SELECT = "SELECT";
  304. private string MONET_TYPE = "MONET_TYPE";
  305. private string TICKETNO = "TICKETNO";
  306. private string OUTSTOCKMNY = "OUTSTOCKMNY";
  307. private string DZFMNY = "DZFMNY";
  308. private string TRANSMNY = "TRANSMNY";
  309. private string TRANSNUM = "TRANSNUM";
  310. private string LOADVEHICLE_NO = "LOADVEHICLE_NO";
  311. private string BILL_NO = "BILL_NO";
  312. private string TALLYSHEET_NO = "TALLYSHEET_NO";
  313. private string LOADVEHICLE_TYPE = "LOADVEHICLE_TYPE";
  314. private string AFFIRM_FLAG = "AFFIRM_FLAG";
  315. private string VEHICLE_NO = "VEHICLE_NO";
  316. private string TRANS_TYPE = "TRANS_TYPE";
  317. private string RECEIV_NO = "RECEIV_NO";
  318. private string RECEIV_NM = "RECEIV_NM";
  319. private string STATION_NO = "STATION_NO";
  320. private string STATION_NM = "STATION_NM";
  321. private string SPCL_LN_NO = "SPCL_LN_NO";
  322. private string SPCL_LN_NM = "SPCL_LN_NM";
  323. private string PORT = "PORT";
  324. private string SHIP_LOT_NO = "SHIP_LOT_NO";
  325. private string PLANT = "PLANT";
  326. private string PLANT_DESC = "PLANT_DESC";
  327. private string VSTEL_CODE = "VSTEL_CODE";
  328. private string VSTEL_DESC = "VSTEL_DESC";
  329. private string CARRIER_NO = "CARRIER_NO";
  330. private string CARRY_COMPANY_CODE = "CARRY_COMPANY_CODE";
  331. private string CARRY_COMPANY_NAME = "CARRY_COMPANY_NAME";
  332. private string STACKING_WT = "STACKING_WT";
  333. private string STACKING_PIECE = "STACKING_PIECE";
  334. private string STACKING_TOTL_LEN = "STACKING_TOTL_LEN";
  335. private string WEIGH_FLAG = "WEIGH_FLAG";
  336. private string PONDER_NO = "PONDER_NO";
  337. private string PONDER_GROSS_WT = "PONDER_GROSS_WT";
  338. private string OUT_STOCK_CODE = "OUT_STOCK_CODE";
  339. private string DELIVY_PLACE_CODE = "DELIVY_PLACE_CODE";
  340. private string DELIVY_PLACE_NAME = "DELIVY_PLACE_NAME";
  341. private string STLMT_UNIT_NO = "STLMT_UNIT_NO";
  342. private string STLMT_UNIT_NM = "STLMT_UNIT_NM";
  343. private string INFACTORY_TIME = "INFACTORY_TIME";
  344. private string LOAD_TIME = "LOAD_TIME";
  345. private string DELIVY_TIME = "DELIVY_TIME";
  346. private string STACKING_PRINTS = "STACKING_PRINTS";
  347. private string THREE_READY_NO = "THREE_READY_NO";
  348. private string HANDHELD_NO = "HANDHELD_NO";
  349. private string HANDHELD_FLAG = "HANDHELD_FLAG";
  350. private string MANAGEMENT_NO = "MANAGEMENT_NO";
  351. private string MANAGEMENT_NAME = "MANAGEMENT_NAME";
  352. private string MEMO = "MEMO";
  353. private string VALIDFLAG = "VALIDFLAG";
  354. private string CREATE_NAME = "CREATE_NAME";
  355. private string CREATE_TIME = "CREATE_TIME";
  356. private string UPDATE_NAME = "UPDATE_NAME";
  357. private string UPDATE_TIME = "UPDATE_TIME";
  358. private string DELETE_NAME = "DELETE_NAME";
  359. private string DELETE_TIME = "DELETE_TIME";
  360. private string TRANS_PK = "TRANS_PK";
  361. private string ASKPLAN_ID = "ASKPLAN_ID";
  362. private string TRAINWAGON = "TRAINWAGON";
  363. private string BUYERCODE = "BUYERCODE";
  364. private string BUYERNAME = "BUYERNAME";
  365. private string FORECORPCODE = "FORECORPCODE";
  366. private string FORECORPNAME = "FORECORPNAME";
  367. private string FST_DRAWEE_UNIT = "FST_DRAWEE_UNIT";
  368. private string STATIONCODE = "STATIONCODE";
  369. private string STATIONNAME = "STATIONNAME";
  370. private string LEASEDLINE = "LEASEDLINE";
  371. private string LEASEDLINENAME = "LEASEDLINENAME";
  372. private string INCEPTCORPCODE = "INCEPTCORPCODE";
  373. private string MOTORMANNAME = "MOTORMANNAME";
  374. private string DOCKNAME = "DOCKNAME";
  375. private string TICKETTYPE = "TICKETTYPE";
  376. private string MONEY_TYPE = "MONEY_TYPE";
  377. private string MONEY = "MONEY";
  378. private string INVOICENO = "INVOICENO";
  379. private string INVOICEDATE = "INVOICEDATE";
  380. private string INVOICE_ID = "INVOICE_ID";
  381. private string STATUS_CD = "STATUS_CD";
  382. private string REG_ID = "REG_ID";
  383. private string REG_DTIME = "REG_DTIME";
  384. private string AFFRIM_ID = "AFFRIM_ID";
  385. private string AFFRIM_TIME = "AFFRIM_TIME";
  386. private string ORDER_NO = "ORDER_NO";
  387. private string ORDER_SEQ = "ORDER_SEQ";
  388. private string DELIVERY_NO = "DELIVERY_NO";
  389. private string ORD_PK = "ORD_PK";
  390. private string ORD_LN_PK = "ORD_LN_PK";
  391. private string ORD_LN_DLY_PK = "ORD_LN_DLY_PK";
  392. private string AGENCY_FL = "AGENCY_FL";
  393. private string RECEIV_ADDR = "RECEIV_ADDR";
  394. private string DELVRY_ADDR = "DELVRY_ADDR";
  395. private string CUSTOMER_NO = "CUSTOMER_NO";
  396. private string CUSTOMER_NM = "CUSTOMER_NM";
  397. private string SALE_ORG = "SALE_ORG";
  398. private string SALE_ORG_DESC = "SALE_ORG_DESC";
  399. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  400. {
  401. if (e.Tool.Key == "Choose")
  402. {
  403. Choose();
  404. }
  405. if (e.Tool.Key == "Query")
  406. {
  407. this.Query();
  408. }
  409. if (e.Tool.Key == "Exit")
  410. {
  411. this.Close();
  412. }
  413. }
  414. public ArrayList Tranpk = new ArrayList();
  415. private void Choose()
  416. {
  417. if (this.ultraGrid2.Rows.Count == 0)
  418. {
  419. this.DialogResult = DialogResult.Cancel;
  420. return;
  421. }
  422. Infragistics.Win.UltraWinGrid.UltraGridRow ugr = this.ultraGrid2.ActiveRow;
  423. if (ugr == null)
  424. {
  425. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("请选择数据");
  426. return;
  427. }
  428. else
  429. ugr.Selected = true;
  430. string buyernameAdnForcode = ugr.Cells[this.BUYERNAME].Value.ToString()
  431. + ugr.Cells[this.FORECORPNAME].Value.ToString() + ugr.Cells[this.MONEY_TYPE].Value.ToString();
  432. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugrs in this.ultraGrid2.Selected.Rows)
  433. {
  434. if (buyernameAdnForcode != ugrs.Cells[this.BUYERNAME].Value.ToString()
  435. + ugrs.Cells[this.FORECORPNAME].Value.ToString() + ugrs.Cells[this.MONEY_TYPE].Value.ToString())
  436. {
  437. Core.StlMes.Client.Sale.Util.MessageUtil.ShowError("只允许编制同结算单位,同销售组织,同费用类型数据");
  438. return;
  439. }
  440. Tranpk.Add(ugrs.Cells["TRANS_PK"].Value.ToString());
  441. }
  442. if (Core.StlMes.Client.Sale.Util.MessageUtil.ShowYesNoAndQuestion("是否确认编制结算单") == DialogResult.No)
  443. return;
  444. this.DialogResult = DialogResult.OK;
  445. }
  446. }
  447. }