GXMSRQStatistics.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using SuperMap.Data;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using WeifenLuo.WinFormsUI.Docking;
  6. using WWPipeLine.MapBasic.Conditions;
  7. using WWPipeLine.MapBasic;
  8. namespace WWPipeLine.MapTools.Conditions.Statistics
  9. {
  10. public partial class GXMSRQStatistics : ConditionPanel
  11. {
  12. public GXMSRQStatistics() : base()
  13. {
  14. this.ConditionPanelName = "按管线的埋设日期统计";
  15. this.SetSize(200, 400);
  16. InitializeComponent();
  17. }
  18. protected override void OnLoad(EventArgs e)
  19. {
  20. if (!ComsStatic.HasField(ComsStatic.gsGuanXian, "msrq"))
  21. {
  22. Sunny.UI.UIMessageTip.ShowError("当前矢量数据集没有管径信息"); return;
  23. }
  24. this.dpRQStart.Value = new System.DateTime(DateTime.Now.Year - 5, DateTime.Now.Month, DateTime.Now.Day);
  25. this.dpRQEnd.Value = new System.DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
  26. }
  27. public override object Do(DockPanel dockPanel = null)
  28. {
  29. string sql = string.Format(" MSRQ BETWEEN '{0}' AND '{1}' ", dpRQStart.Value.ToString("yyyy/MM/dd"), dpRQEnd.Value.ToString("yyyy/MM/dd"));
  30. DataTable dtFinal = new DataTable();
  31. dtFinal.Columns.Add("埋设日期"); dtFinal.Columns.Add("查询结果");
  32. DataRow drcd = dtFinal.NewRow(); drcd["埋设日期"] = "长度";
  33. DataRow drsl = dtFinal.NewRow(); drsl["埋设日期"] = "数量";
  34. Recordset rd = ComsStatic.QueryRecordset(ComsStatic.gsGuanXian, sql);
  35. drcd["查询结果"] = Math.Round(rd.Statistic("cd", StatisticMode.Sum), 2);
  36. drsl["查询结果"] = rd.RecordCount;
  37. dtFinal.Rows.Add(drcd); dtFinal.Rows.Add(drsl);
  38. ComsStatic.RecordsetDispose(rd);
  39. return dtFinal;
  40. }
  41. }
  42. }