rptStoveBatchStorage.cs 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958
  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.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Control;
  11. using Core.Mes.Client.Comm.Tool;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Server;
  14. using Core.StlMes.Client.YdmBase;
  15. using Core.StlMes.Client.YdmPipeManage.Tool;
  16. using Core.StlMes.Client.YdmPipeManage;
  17. using Infragistics.Win.UltraWinGrid;
  18. namespace Core.StlMes.Client.YdmPipeReport
  19. {
  20. public partial class rptStoveBatchStorage : FrmBase
  21. {
  22. public rptStoveBatchStorage()
  23. {
  24. this.IsLoadUserView = true;
  25. InitializeComponent();
  26. }
  27. private Hashtable ShapeRelation = null;
  28. /// <summary>
  29. /// 重写基类方法
  30. /// </summary>
  31. /// <param name="sender"></param>
  32. /// <param name="ToolbarKey"></param>
  33. public override void ToolBar_Click(object sender, string ToolbarKey)
  34. {
  35. switch (ToolbarKey)
  36. {
  37. case "Query":
  38. Querydata();
  39. break;
  40. case "Export":
  41. ExportData();
  42. break;
  43. case"adjust":
  44. adjustData();
  45. break;
  46. case "Close":
  47. this.Close();
  48. break;
  49. }
  50. }
  51. private string strOutbound = "800603";//出库类型编码
  52. private string strInMemo = "";//入库简码
  53. /// <summary>
  54. /// 批量调差
  55. /// </summary>
  56. private void adjustData()
  57. {
  58. UltraGridRow row = this.ultraGrid1.ActiveRow;
  59. ArrayList parm = new ArrayList();
  60. if (row == null || row.Index < 0)
  61. {
  62. MessageUtil.ShowTips("无调差数据!");
  63. return;
  64. }
  65. string custom = this.CustomInfo;
  66. if (!chkGl.Checked)
  67. {
  68. MessageUtil.ShowTips("请先筛选出0支非0吨的数据,再进行调差!");
  69. return;
  70. }
  71. int days = DateTime.DaysInMonth(int.Parse(endTime.Value.ToString("yyyy")), int.Parse(endTime.Value.ToString("MM")));
  72. //if (!StatTime.Value.ToString("yyyyMM").Equals(endTime.Value.ToString("yyyyMM")))
  73. //{
  74. // MessageUtil.ShowTips("批量调差的数据必须是同一年月的!");
  75. // return;
  76. //}
  77. //if (!StatTime.Value.ToString("dd").Equals("01") || !endTime.Value.ToString("dd").Equals(days.ToString()))
  78. //{
  79. // MessageUtil.ShowTips("批量调差的数据必须为每月第一天到最后一天!");
  80. // return;
  81. //}
  82. DataTable dtMemo = ClsLoad.getComTypeInfo(strOutbound, ob);
  83. if (dtMemo.Rows.Count >= 1)
  84. {
  85. strInMemo = dtMemo.Rows[0]["MEMO"].ToString();
  86. }
  87. string manNo = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  88. string manName = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  89. foreach (UltraGridRow uRow in this.ultraGrid1.Rows)
  90. {
  91. ArrayList list = new ArrayList();
  92. list.Add(uRow.Cells["JUDGE_STOVE_NO"].Text);
  93. list.Add(uRow.Cells["BATCH_NO"].Text);
  94. list.Add(uRow.Cells["BATCH_GROUD_NO"].Text);
  95. list.Add(uRow.Cells["QUANTITYWGT"].Value.ToString());
  96. list.Add(strOutbound);
  97. //ArrayList pram = new ArrayList();
  98. //pram.Clear();
  99. //pram.Add(DateTime.Now.ToString("yyyy/MM/dd"));
  100. //pram.Add(strOutbound);
  101. //DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.pipemanage.FrmPipeAdjust.queryAdjustList", new object[] { pram }, ob);
  102. //string str = "";
  103. //if (dt.Rows.Count >= 1)
  104. //{
  105. // str = dt.Rows[0]["STOCKTAKING_DOC"].ToString();
  106. //}
  107. list.Add(strInMemo);
  108. list.Add(manNo);
  109. list.Add(manName);
  110. list.Add(this.UserInfo.GetDeptid());
  111. list.Add(this.UserInfo.GetDepartment());
  112. list.Add(this.UserInfo.GetUserName());
  113. list.Add(uRow.Cells["BELONG_CODE"].Text.ToString());
  114. parm.Add(list);
  115. }
  116. CoreClientParam ccp = new CoreClientParam();
  117. ccp.ServerName = "com.steering.pss.ydm.Report.FrmrptStoveBatchStorage";
  118. ccp.MethodName = "insertAdjustData";
  119. ccp.ServerParams = new object[] { parm, BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob), custom };
  120. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  121. if (ccp.ReturnCode != -1)
  122. {
  123. MessageUtil.ShowTips(ccp.ReturnInfo);
  124. if (ccp.ReturnInfo.Equals("调差成功!"))
  125. {
  126. Querydata();
  127. }
  128. }
  129. }
  130. /// <summary>
  131. /// 查询
  132. /// </summary>
  133. private void QueryData()
  134. {
  135. string[] arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob);
  136. if (this.StatTime.Value > this.endTime.Value)
  137. {
  138. MessageUtil.ShowTips("起始日期不能大于结束日期!");
  139. this.endTime.Focus();
  140. return;
  141. }
  142. //if (this.StatTime.Value.ToString().Substring(5, 2) != this.endTime.Value.ToString().Substring(5, 2))
  143. //{
  144. // MessageUtil.ShowTips("起始日期和结束日期需在同月!");
  145. // return;
  146. //}
  147. if (chkStorge.Checked &&string.IsNullOrEmpty(this.cmbStorgeNo.Text.Trim()))
  148. {
  149. MessageUtil.ShowTips("请输入仓库名称!");
  150. this.cmbStorgeNo.Focus();
  151. return;
  152. }
  153. string strDateFrom = this.StatTime.Value.ToString("yyyyMM");
  154. string strDateTo = this.endTime.Value.ToString("yyyyMMdd");
  155. try
  156. {
  157. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  158. if (Constant.WaitingForm == null)
  159. {
  160. Constant.WaitingForm = new WaitingForm();
  161. }
  162. Constant.WaitingForm.ShowToUser = true;
  163. Constant.WaitingForm.Show();
  164. Constant.WaitingForm.Update();
  165. //string strOriginal = string.Format("{0:yyyyMMdd}", DateTime.Now.AddDays(-DateTime.Now.Day + 1));
  166. //string strOriginalLast = string.Format("{0:yyyyMMdd}", DateTime.Now.AddDays(-DateTime.Now.Day + 1));
  167. string strOriginal = this.StatTime.Value.ToString("yyyyMM");
  168. string strOriginalLast = this.StatTime.Value.ToString("yyyyMMdd");
  169. string strWhere1 = "", strWhere2 = "", strWhere3 = "", strWhere4 = "";
  170. if (chkStorge.Checked)
  171. {
  172. strWhere1 += " and t.STORAGE_NO like '%'||'" + this.cmbStorgeNo.Value.ToString() + "'||'%'";
  173. strWhere2 += " and t.STORAGE_NO like '%'||'" + this.cmbStorgeNo.Value.ToString() + "'||'%'";
  174. strWhere3 += " and t.STORAGE_NO like '%'||'" + this.cmbStorgeNo.Value.ToString() + "'||'%'";
  175. strWhere4 += " and s.STORAGE_NO like '%'||'" + this.cmbStorgeNo.Value.ToString() + "'||'%'";
  176. }
  177. //上期期初
  178. DataTable table1 = null;
  179. if (!this.GetOriginalLast(strOriginalLast, strWhere1, out table1, arr))
  180. {
  181. //return;
  182. }
  183. //上期入库量
  184. //DataTable table2 = null;
  185. //if (!this.GetLastIn(strOriginalLast, strDateFrom, strWhere1, out table2, arr))
  186. //{
  187. // // return;
  188. //}
  189. ////上期出库量
  190. //DataTable table3 = null;
  191. //if (!this.GetLastOut(strOriginalLast, strDateFrom, strWhere1, out table3, arr))
  192. //{
  193. // // return;
  194. //}
  195. //本期入库量
  196. DataTable table4 = null;
  197. if (!this.GetThisIn(strOriginal, strDateFrom, strDateTo, strWhere1, out table4, arr))
  198. {
  199. //return;
  200. }
  201. //本期出库量
  202. DataTable table5 = null;
  203. if (!this.GetThisOut(strOriginal, strDateFrom, strDateTo, strWhere1, out table5, arr))
  204. {
  205. //return;
  206. }
  207. //调差
  208. DataTable table6 = null;
  209. if (!this.GetAdjust(strDateFrom, strDateTo, strWhere1, out table6, arr))
  210. {
  211. }
  212. //实时库存
  213. DataTable table7 = null;
  214. if (!this.GetMatData(strDateFrom, strDateTo, strWhere4, out table7, arr))
  215. {
  216. }
  217. string[] strMergeColumns = new string[] { "JUDGE_STOVE_NO", "BATCH_NO", "BATCH_GROUD_NO" };
  218. DataTable table = table1.DefaultView.ToTable(true, strMergeColumns);
  219. //if (table2 != null)
  220. //{
  221. // table.Merge(table2.DefaultView.ToTable(true, strMergeColumns));
  222. //}
  223. //if (table3 != null)
  224. //{
  225. // table.Merge(table3.DefaultView.ToTable(true, strMergeColumns));
  226. //}
  227. if (table4 != null)
  228. {
  229. table.Merge(table4.DefaultView.ToTable(true, strMergeColumns));
  230. }
  231. if (table5 != null)
  232. {
  233. table.Merge(table5.DefaultView.ToTable(true, strMergeColumns));
  234. }
  235. if (table6 != null)
  236. {
  237. table.Merge(table6.DefaultView.ToTable(true, strMergeColumns));
  238. }
  239. if (table7 != null)
  240. {
  241. table.Merge(table7.DefaultView.ToTable(true, strMergeColumns));
  242. }
  243. table.DefaultView.Sort = "JUDGE_STOVE_NO, BATCH_NO, BATCH_GROUD_NO";
  244. table = table.DefaultView.ToTable(true, strMergeColumns);
  245. string strSort = "", strHeatNo = "", strBactchNo = "", strGroupNo = "";
  246. DataRow newrow;
  247. DataRow[] rows;
  248. this.dataTable1.Rows.Clear();
  249. decimal dWgt = 0.0M, dLastIn = 0.0M, dLastOut = 0.0M, dLastAdjust = 0.0M, dMatWgt = 0.0M;
  250. int dCount = 0, dLastInCount = 0, dLastOutCount = 0, dLastAjustCount = 0, dMatCount = 0;
  251. decimal dThisIn_Day = 0.0M, dThisOut_Day = 0.00M;
  252. int dThisIn_DayCount = 0, dThisOut_DayCount = 0;
  253. decimal dThisIn_Month = 0.0M, dThisOut_Month = 0.00M;
  254. int dThisIn_MonthCount = 0, dThisOut_MonthCount = 0;
  255. //decimal dThisIn_Year = 0.0M, dThisOut_Year = 0.00M;
  256. string strRowFilters = "";
  257. for (int i = 0; i < table.Rows.Count; i++)
  258. {
  259. newrow = this.dataTable1.NewRow();
  260. try
  261. {
  262. strHeatNo = Convert.ToString(table.Rows[i]["JUDGE_STOVE_NO"]);//炉号
  263. strBactchNo = Convert.ToString(table.Rows[i]["BATCH_NO"]);//批号
  264. strGroupNo = Convert.ToString(table.Rows[i]["BATCH_GROUD_NO"]);//组号
  265. strRowFilters = string.IsNullOrEmpty(strHeatNo) ? " JUDGE_STOVE_NO is null " : " JUDGE_STOVE_NO = '" + strHeatNo + "' ";
  266. strRowFilters += string.IsNullOrEmpty(strBactchNo) ? " and BATCH_NO is null " : " and BATCH_NO = '" + strBactchNo + "' ";
  267. strRowFilters += string.IsNullOrEmpty(strGroupNo) ? " and BATCH_GROUD_NO is null " : " and BATCH_GROUD_NO = '" + strGroupNo + "' ";
  268. try
  269. {
  270. table1.CaseSensitive = true;
  271. rows = table1.Select(strRowFilters);
  272. if (rows.Length > 0)
  273. {
  274. try
  275. {
  276. dWgt = decimal.Parse(Convert.ToString(rows[0]["WEIGHT"]));
  277. dCount = int.Parse(Convert.ToString(rows[0]["COUNT"]));
  278. }
  279. catch
  280. {
  281. dWgt = 0.0M;
  282. dCount = 0;
  283. }
  284. }
  285. else
  286. {
  287. dWgt = 0.0M;
  288. dCount = 0;
  289. }
  290. }
  291. catch
  292. {
  293. dWgt = 0.0M;
  294. dCount = 0;
  295. }
  296. //try
  297. //{
  298. // rows = table2.Select(strRowFilters);
  299. // if (rows.Length > 0)
  300. // {
  301. // try
  302. // {
  303. // dLastIn = decimal.Parse(Convert.ToString(rows[0]["WEIGHT"]));
  304. // dLastInCount = int.Parse(Convert.ToString(rows[0]["COUNT"]));
  305. // }
  306. // catch
  307. // {
  308. // dLastIn = 0.0M;
  309. // dLastInCount = 0;
  310. // }
  311. // }
  312. // else
  313. // {
  314. // dLastIn = 0.0M;
  315. // dLastInCount = 0;
  316. // }
  317. //}
  318. //catch
  319. //{
  320. // dLastIn = 0.0M;
  321. // dLastInCount = 0;
  322. //}
  323. //try
  324. //{
  325. // rows = table3.Select(strRowFilters);
  326. // if (rows.Length > 0)
  327. // {
  328. // try
  329. // {
  330. // dLastOut = decimal.Parse(Convert.ToString(rows[0]["WEIGHT"]));
  331. // dLastOutCount = int.Parse(Convert.ToString(rows[0]["COUNT"]));
  332. // }
  333. // catch
  334. // {
  335. // dLastOut = 0.0M;
  336. // dLastOutCount = 0;
  337. // }
  338. // }
  339. // else
  340. // {
  341. // dLastOut = 0.0M;
  342. // dLastOutCount = 0;
  343. // }
  344. //}
  345. //catch
  346. //{
  347. // dLastOut = 0.0M;
  348. // dLastOutCount = 0;
  349. //}
  350. try
  351. {
  352. table4.CaseSensitive = true;
  353. rows = table4.Select(strRowFilters);
  354. if (rows.Length > 0)
  355. {
  356. try
  357. {
  358. dThisIn_Day = decimal.Parse(Convert.ToString(rows[0]["WEIGHT_DAY"]));
  359. dThisIn_DayCount = int.Parse(Convert.ToString(rows[0]["WEIGHT_DAYCOUNT"]));
  360. }
  361. catch
  362. {
  363. dThisIn_Day = 0.0M;
  364. dThisIn_DayCount = 0;
  365. }
  366. try
  367. {
  368. dThisIn_Month = decimal.Parse(Convert.ToString(rows[0]["WEIGHT_MONTH"]));
  369. dThisIn_MonthCount = int.Parse(Convert.ToString(rows[0]["WEIGHT_MONTHCOUNT"]));
  370. }
  371. catch
  372. {
  373. dThisIn_Month = 0.0M;
  374. dThisIn_MonthCount = 0;
  375. }
  376. //try
  377. //{
  378. // dThisIn_Year = decimal.Parse(Convert.ToString(rows[0]["WEIGHT_YEAR"]));
  379. //}
  380. //catch
  381. //{
  382. // dThisIn_Year = 0.0M;
  383. //}
  384. }
  385. else
  386. {
  387. dThisIn_Day = 0.0M;
  388. dThisIn_Month = 0.0M;
  389. dThisIn_DayCount = 0;
  390. dThisIn_MonthCount = 0;
  391. //dThisIn_Year = 0.0M;
  392. }
  393. }
  394. catch
  395. {
  396. dThisIn_Day = 0.0M;
  397. dThisIn_Month = 0.0M;
  398. dThisIn_DayCount = 0;
  399. dThisIn_MonthCount = 0;
  400. //dThisIn_Year = 0.0M;
  401. }
  402. try
  403. {
  404. table6.CaseSensitive = true;
  405. rows = table6.Select(strRowFilters);
  406. if (rows.Length > 0)
  407. {
  408. try
  409. {
  410. dLastAdjust = decimal.Parse(Convert.ToString(rows[0]["AWEIGHT"]));
  411. }
  412. catch
  413. {
  414. dLastAdjust = 0.0M;
  415. }
  416. }
  417. else
  418. {
  419. dLastAdjust = 0.0M;
  420. }
  421. }
  422. catch
  423. {
  424. dLastAdjust = 0.0M;
  425. }
  426. try
  427. {
  428. table7.CaseSensitive = true;
  429. rows = table7.Select(strRowFilters);
  430. if (rows.Length > 0)
  431. {
  432. try
  433. {
  434. dMatWgt = decimal.Parse(Convert.ToString(rows[0]["AWEIGHT"]));
  435. dMatCount = int.Parse(Convert.ToString(rows[0]["COUNT"]));
  436. }
  437. catch
  438. {
  439. dMatWgt = 0.0M;
  440. dMatCount = 0;
  441. }
  442. }
  443. else
  444. {
  445. dMatWgt = 0.0M;
  446. dMatCount = 0;
  447. }
  448. }
  449. catch
  450. {
  451. dMatWgt = 0.0M;
  452. dMatCount = 0;
  453. }
  454. try
  455. {
  456. table5.CaseSensitive = true;
  457. rows = table5.Select(strRowFilters);
  458. if (rows.Length > 0)
  459. {
  460. try
  461. {
  462. dThisOut_Day = decimal.Parse(Convert.ToString(rows[0]["WEIGHT_DAY"]));
  463. dThisOut_DayCount = int.Parse(Convert.ToString(rows[0]["weight_daycount"]));
  464. }
  465. catch
  466. {
  467. dThisOut_Day = 0.0M;
  468. dThisOut_DayCount = 0;
  469. }
  470. try
  471. {
  472. dThisOut_Month = decimal.Parse(Convert.ToString(rows[0]["WEIGHT_MONTH"]));
  473. dThisOut_MonthCount = int.Parse(Convert.ToString(rows[0]["weight_monthcount"]));
  474. }
  475. catch
  476. {
  477. dThisOut_Month = 0.0M;
  478. dThisOut_MonthCount = 0;
  479. }
  480. //try
  481. //{
  482. // dThisOut_Year = decimal.Parse(Convert.ToString(rows[0]["WEIGHT_YEAR"]));
  483. //}
  484. //catch
  485. //{
  486. // dThisOut_Year = 0.0M;
  487. //}
  488. }
  489. else
  490. {
  491. dThisOut_Day = 0.0M;
  492. dThisOut_Month = 0.0M;
  493. //dThisOut_Year = 0.0M;
  494. dThisOut_DayCount = 0;
  495. dThisOut_MonthCount = 0;
  496. }
  497. }
  498. catch
  499. {
  500. dThisOut_Day = 0.0M;
  501. dThisOut_Month = 0.0M;
  502. //dThisOut_Year = 0.0M;
  503. dThisOut_DayCount = 0;
  504. dThisOut_MonthCount = 0;
  505. }
  506. try
  507. {
  508. newrow["JUDGE_STOVE_NO"] = strHeatNo;
  509. newrow["BATCH_NO"] = strBactchNo;
  510. newrow["BATCH_GROUD_NO"] = strGroupNo;
  511. //newrow["ORIGINAL_AMOUNT"] = Convert.ToString(dWgt + dLastIn - dLastOut).Trim();
  512. newrow["ORIGINAL_AMOUNT"] = Convert.ToString(dWgt).Trim();
  513. newrow["ORIGINAL_COUNT"] = Convert.ToString(dCount).Trim();
  514. newrow["DAY_1"] = dThisIn_Day.ToString().Trim();
  515. newrow["DAY_1COUNT"] = dThisIn_DayCount.ToString().Trim();
  516. newrow["MONTH_1"] = dThisIn_Month.ToString().Trim();
  517. newrow["MONTH_1COUNT"] = dThisIn_MonthCount.ToString().Trim();
  518. //newrow["YEAR_1"] = dThisIn_Year.ToString().Trim();
  519. newrow["DAY_2"] = dThisOut_Day.ToString().Trim();
  520. newrow["DAY_2COUNT"] = dThisOut_DayCount.ToString().Trim();
  521. newrow["MONTH_2"] = dThisOut_Month.ToString().Trim();
  522. newrow["MONTH_2COUNT"] = dThisOut_MonthCount.ToString().Trim();
  523. //newrow["YEAR_2"] = dThisOut_Year.ToString().Trim();
  524. newrow["AWEIGHT"] = dLastAdjust;
  525. //newrow["END_AMOUNT"] = Convert.ToString((dWgt + dLastIn - dLastOut + dThisIn_Month - dThisOut_Month)-dLastAdjust).Trim();
  526. newrow["END_AMOUNT"] = Convert.ToString(dWgt + dThisIn_Month - dThisOut_Month + dLastAdjust).Trim();
  527. newrow["END_COUNT"] = Convert.ToString(dCount + dThisIn_MonthCount - dThisOut_MonthCount).Trim();
  528. newrow["MATWGT"] = dMatWgt.ToString().Trim();
  529. newrow["MATCOUNT"] = dMatCount.ToString().Trim();
  530. newrow["QUANTITYCOUNT"] = Convert.ToString(dCount + dThisIn_MonthCount - dThisOut_MonthCount - dMatCount).Trim();
  531. newrow["QUANTITYWGT"] = Convert.ToString(dWgt + dThisIn_Month - dThisOut_Month + dLastAdjust - dMatWgt).Trim();
  532. try
  533. {
  534. if (ShapeRelation.Contains(strHeatNo))
  535. {
  536. strSort = ShapeRelation[strHeatNo].ToString();
  537. }
  538. else
  539. {
  540. strSort = "";
  541. }
  542. }
  543. catch
  544. {
  545. strSort = "";
  546. }
  547. //newrow["PRODUCT_SORT"] = strSort;
  548. this.dataSet1.Tables[0].Rows.Add(newrow);
  549. }
  550. catch { }
  551. }
  552. catch { }
  553. }
  554. this.SetStaticsInfo();
  555. CommonMethod.SetGridSumArea(this.ultraGrid1);
  556. this.Cursor = Cursors.Default;
  557. Constant.WaitingForm.ShowToUser = false;
  558. Constant.WaitingForm.Close();
  559. Constant.WaitingForm = null;
  560. }
  561. catch (Exception e)
  562. {
  563. this.Cursor = Cursors.Default;
  564. Constant.WaitingForm.ShowToUser = false;
  565. Constant.WaitingForm.Close();
  566. Constant.WaitingForm = null;
  567. }
  568. }
  569. /// <summary>
  570. /// 查询1
  571. /// </summary>
  572. private void Querydata()
  573. {
  574. string[] arr = BaseMethod.InitPermissions(this.ValidDataPurviewIds, ob);
  575. if (this.StatTime.Value > this.endTime.Value)
  576. {
  577. MessageUtil.ShowTips("起始日期不能大于结束日期!");
  578. this.endTime.Focus();
  579. return;
  580. }
  581. //if (this.StatTime.Value.ToString().Substring(5, 2) != this.endTime.Value.ToString().Substring(5, 2))
  582. //{
  583. // MessageUtil.ShowTips("起始日期和结束日期需在同月!");
  584. // return;
  585. //}
  586. if (chkStorge.Checked && string.IsNullOrEmpty(this.cmbStorgeNo.Text.Trim()))
  587. {
  588. MessageUtil.ShowTips("请输入仓库名称!");
  589. this.cmbStorgeNo.Focus();
  590. return;
  591. }
  592. string strDateFrom = this.StatTime.Value.ToString("yyyyMM");
  593. string strDateTo = this.endTime.Value.ToString("yyyyMMdd");
  594. string time = this.StatTime.Value.ToString("yyyyMM");
  595. try
  596. {
  597. this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
  598. if (Constant.WaitingForm == null)
  599. {
  600. Constant.WaitingForm = new WaitingForm();
  601. }
  602. Constant.WaitingForm.ShowToUser = true;
  603. Constant.WaitingForm.Show();
  604. Constant.WaitingForm.Update();
  605. //string strOriginal = string.Format("{0:yyyyMMdd}", DateTime.Now.AddDays(-DateTime.Now.Day + 1));
  606. //string strOriginalLast = string.Format("{0:yyyyMMdd}", DateTime.Now.AddDays(-DateTime.Now.Day + 1));
  607. string strOriginal = this.StatTime.Value.ToString("yyyyMM");
  608. string strOriginalLast = this.endTime.Value.ToString("yyyyMMdd");
  609. string strWhere1 = "", strWhere2 = "", strWhere3 = "", strWhere4 = "";
  610. string supplyUnit = this.CustomInfo;
  611. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getTest", new object[] { strOriginal, strOriginalLast, time, arr, supplyUnit, checkssq.Checked ? "0" : "1" }, ob);
  612. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  613. this.SetStaticsInfo();
  614. CommonMethod.SetGridSumArea(this.ultraGrid1);
  615. this.Cursor = Cursors.Default;
  616. Constant.WaitingForm.ShowToUser = false;
  617. Constant.WaitingForm.Close();
  618. Constant.WaitingForm = null;
  619. }
  620. catch (Exception e)
  621. {
  622. this.Cursor = Cursors.Default;
  623. Constant.WaitingForm.ShowToUser = false;
  624. Constant.WaitingForm.Close();
  625. Constant.WaitingForm = null;
  626. }
  627. }
  628. private void SetStaticsInfo()
  629. {
  630. try
  631. {
  632. if (this.ultraGrid1.Rows.Count == 0)
  633. {
  634. this.ultraGrid1.DisplayLayout.Bands[0].Summaries.Clear();
  635. }
  636. else
  637. {
  638. ArrayList alist = new ArrayList();
  639. alist.Add("ORIGINAL_AMOUNT");
  640. alist.Add("ORIGINAL_COUNT");
  641. alist.Add("DAY_1");
  642. alist.Add("DAY_1COUNT");
  643. alist.Add("MONTH_1");
  644. alist.Add("MONTH_1COUNT");
  645. //alist.Add("YEAR_1");
  646. alist.Add("DAY_2");
  647. alist.Add("DAY_2COUNT");
  648. alist.Add("MONTH_2");
  649. alist.Add("MONTH_2COUNT");
  650. //alist.Add("YEAR_2");
  651. alist.Add("AWEIGHT");
  652. alist.Add("END_AMOUNT");
  653. alist.Add("END_COUNT");
  654. alist.Add("MATWGT");
  655. alist.Add("MATCOUNT");
  656. alist.Add("QUANTITYCOUNT");
  657. alist.Add("QUANTITYWGT");
  658. CommonMethod.SetStaticsInfoSum(ref this.ultraGrid1, alist, true);
  659. }
  660. }
  661. catch { }
  662. }
  663. //实时库存
  664. private bool GetMatData(string strDateFrom, string strDateTo, string strWhere, out DataTable table, string[] arr)
  665. {
  666. table = null;
  667. DataSet set = new DataSet();
  668. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getMatData", new object[] { strDateFrom, strDateTo, strWhere, arr }, this.ob);
  669. if (ds != null && ds.Rows.Count > 0)
  670. {
  671. set.Tables.Add(ds);
  672. table = set.Tables[0];
  673. return true;
  674. }
  675. return false;
  676. }
  677. //本期调差量
  678. private bool GetAdjust(string strDateFrom, string strDateTo, string strWhere, out DataTable table,string[] arr)
  679. {
  680. table = null;
  681. DataSet set = new DataSet();
  682. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getAdjust", new object[] { strDateFrom, strDateTo, strWhere,arr }, this.ob);
  683. if (ds != null && ds.Rows.Count > 0)
  684. {
  685. set.Tables.Add(ds);
  686. table = set.Tables[0];
  687. return true;
  688. }
  689. return false;
  690. }
  691. //本期出库量
  692. private bool GetThisOut(string strOriginal, string strDateFrom, string strDateTo, string strWhere, out DataTable table,string[] arr)
  693. {
  694. table = null;
  695. DataSet set = new DataSet();
  696. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getThisOut", new object[] { strOriginal, strDateFrom, strDateTo, strWhere,arr }, this.ob);
  697. if (ds != null && ds.Rows.Count > 0)
  698. {
  699. set.Tables.Add(ds);
  700. table = set.Tables[0];
  701. return true;
  702. }
  703. return false;
  704. }
  705. //本期入库量
  706. private bool GetThisIn(string strOriginal, string strDateFrom, string strDateTo, string strWhere, out DataTable table,string[] arr)
  707. {
  708. table = null;
  709. DataSet set = new DataSet();
  710. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getThisIn", new object[] { strOriginal, strDateFrom, strDateTo, strWhere,arr }, this.ob);
  711. if (ds != null && ds.Rows.Count > 0)
  712. {
  713. set.Tables.Add(ds);
  714. table = set.Tables[0];
  715. return true;
  716. }
  717. return false;
  718. }
  719. //上期出库量
  720. private bool GetLastOut(string strOriginalLast, string strDateFrom, string strWhere, out DataTable table,string[] arr)
  721. {
  722. table = null;
  723. DataSet set = new DataSet();
  724. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getLastOut", new object[] { strOriginalLast, strDateFrom, strWhere,arr }, this.ob);
  725. if (ds != null && ds.Rows.Count > 0)
  726. {
  727. set.Tables.Add(ds);
  728. table = set.Tables[0];
  729. return true;
  730. }
  731. return false;
  732. }
  733. //上期入库量
  734. private bool GetLastIn(string strOriginalLast, string strDateFrom, string strWhere, out DataTable table,string[] arr)
  735. {
  736. table = null;
  737. DataSet set = new DataSet();
  738. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getLastIn", new object[] { strOriginalLast, strDateFrom, strWhere,arr }, this.ob);
  739. if (ds != null && ds.Rows.Count > 0)
  740. {
  741. set.Tables.Add(ds);
  742. table = set.Tables[0];
  743. return true;
  744. }
  745. return false;
  746. }
  747. //期初
  748. private bool GetOriginalLast(string strOriginalLast, string strWhere, out DataTable table,string[] arr)
  749. {
  750. table = null;
  751. DataSet set = new DataSet();
  752. //string time = string.Format("{0:yyyyMM}", DateTime.Now.AddDays(-DateTime.Now.Day + 1));
  753. string time = this.StatTime.Value.ToString("yyyyMM");
  754. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getOriginalLast", new object[] { time, strWhere,arr }, this.ob);
  755. if (ds != null && ds.Rows.Count > 0)
  756. {
  757. set.Tables.Add(ds);
  758. table = set.Tables[0];
  759. return true;
  760. }
  761. return false;
  762. }
  763. private const string ORIGINAL_DATE = "20150902";
  764. private string[] GetLastOriginalDate(string strDateFrom)
  765. {
  766. ArrayList list = new ArrayList();
  767. string[] strRet = new string[] { "", "" };
  768. list.Add(strDateFrom);
  769. list.Add(strDateFrom);
  770. DataTable ds = ServerHelper.GetData("com.steering.pss.ydm.Report.FrmrptStoveBatchStorage.getOriginaldate", new object[] { list }, this.ob);
  771. try
  772. {
  773. if (ds != null && ds.Rows.Count > 0)
  774. {
  775. strRet[0] = Convert.ToString(ds.Rows[0]["original_date1"]);
  776. strRet[1] = Convert.ToString(ds.Rows[0]["original_date_last"]);
  777. if (string.IsNullOrEmpty(strRet[0]))
  778. {
  779. strRet[0] = Convert.ToString(ds.Rows[0]["original_date"]);
  780. }
  781. if (string.IsNullOrEmpty(strRet[0]))
  782. {
  783. strRet[0] = ORIGINAL_DATE;
  784. }
  785. if (string.IsNullOrEmpty(strRet[1]))
  786. {
  787. strRet[1] = ORIGINAL_DATE;
  788. }
  789. }
  790. else
  791. {
  792. strRet[0] = ORIGINAL_DATE;
  793. strRet[1] = ORIGINAL_DATE;
  794. }
  795. }
  796. catch
  797. {
  798. strRet[0] = ORIGINAL_DATE;
  799. strRet[1] = ORIGINAL_DATE;
  800. }
  801. return strRet;
  802. }
  803. /// <summary>
  804. /// 导出
  805. /// </summary>
  806. private void ExportData()
  807. {
  808. GridHelper.ulGridToExcel(ultraGrid1,"炉批收发存汇总");
  809. }
  810. private void chkStorge_CheckedChanged(object sender, EventArgs e)
  811. {
  812. this.cmbStorgeNo.Enabled = this.chkStorge.Checked;
  813. }
  814. //private void chkMertailName_CheckedChanged(object sender, EventArgs e)
  815. //{
  816. // this.cmbMertailName.Enabled = this.chkMertailName.Checked;
  817. //}
  818. //private void chkGj_CheckedChanged(object sender, EventArgs e)
  819. //{
  820. // this.cmbGj.Enabled = this.chkGj.Checked;
  821. //}
  822. //private void chkGG_CheckedChanged(object sender, EventArgs e)
  823. //{
  824. // this.cmbGg.Enabled = this.chkGG.Checked;
  825. //}
  826. private void rptProductStorage_Load(object sender, EventArgs e)
  827. {
  828. StatTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01" + " 00:00:00");
  829. endTime.Value = DateTime.Today.AddDays(1).AddSeconds(-1);
  830. //DateTime.Parse(DateTime.Now.AddMonths(1).AddDays(1 - DateTime.Now.Day).AddHours(-24).ToString("yyyy-MM-dd") + " 23:59:59");
  831. YdmBaseClass.InitComboEditor(cmbStorgeNo, "com.steering.pss.ydm.pipemanage.CorePipeInTemp.getStorageDetail", "STORAGE_NO", this.ob, false);
  832. }
  833. private void cmbStorgeNo_KeyDown(object sender, KeyEventArgs e)
  834. {
  835. if (e.KeyValue == 13)
  836. {
  837. QueryData();
  838. }
  839. }
  840. private void cmbGj_KeyDown(object sender, KeyEventArgs e)
  841. {
  842. if (e.KeyValue == 13)
  843. {
  844. QueryData();
  845. }
  846. }
  847. private void cmbMertailName_KeyDown(object sender, KeyEventArgs e)
  848. {
  849. if (e.KeyValue == 13)
  850. {
  851. QueryData();
  852. }
  853. }
  854. private void cmbGg_KeyDown(object sender, KeyEventArgs e)
  855. {
  856. if (e.KeyValue == 13)
  857. {
  858. QueryData();
  859. }
  860. }
  861. private void chkGl_CheckedChanged(object sender, EventArgs e)
  862. {
  863. ultraGrid1.DataSource = dataTable1.DefaultView;
  864. if (chkGl.Checked)
  865. {
  866. dataTable1.DefaultView.RowFilter = "QUANTITYCOUNT = 0 and QUANTITYWGT <> 0 and MATCOUNT = 0";
  867. }
  868. else
  869. {
  870. dataTable1.DefaultView.RowFilter = "";
  871. }
  872. ultraGrid1.Refresh();
  873. ultraGrid1.Update();
  874. //DataRow[] drs = dataTable1.Select("QUANTITYCOUNT != '0' and QUANTITYWGT !='0.000'");
  875. //foreach (DataRow dr in drs)
  876. //{
  877. // dataTable1.Rows.Remove(dr);
  878. //}
  879. }
  880. }
  881. }