GXMSRQStatistics.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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.dvJSLK, "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.dvJSLK, sql);
  35. drcd["查询结果"] = rd.Statistic("cd", StatisticMode.Sum);
  36. drsl["查询结果"] = rd.RecordCount;
  37. dtFinal.Rows.Add(drcd); dtFinal.Rows.Add(drsl);
  38. return dtFinal;
  39. }
  40. }
  41. }