123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using WWPipeLine.MapBasic.Conditions;
- using WeifenLuo.WinFormsUI.Docking;
- using SuperMap.UI;
- using SuperMap.Mapping;
- using SuperMap.Data;
- using WWPipeLine.MapBasic;
- using Sunny.UI;
- namespace WWPipeLine.MapTools.Conditions.EditGuanWang
- {
- public partial class GuanDianXiuGai : ConditionPanel
- {
- private Recordset rd = null;
- private Selection[] _selection;
- public bool isDelete = false;
- public GuanDianXiuGai()
- {
- this.ConditionPanelName = "管点属性修改";
- InitializeComponent();
- this.SetSize(500, 500);
- this.IsShowResultWindow = false;
- }
- protected override void OnLoad(EventArgs e)
- {
- ComsStatic.SetLayersIsSelectableFalse(ComsStatic.gsGuanXian.Name, false);
- MapControl.GeometrySelected += MapControl_GeometrySelected;
- MapControl.Action = SuperMap.UI.Action.Select;
- }
- private void MapControl_GeometrySelected(object sender, GeometrySelectedEventArgs e)
- {
- _selection = MapControl.Map.FindSelection(true);
- if (_selection.Length != 1 || _selection[0].Count != 1)
- {
- Sunny.UI.UIMessageTip.ShowError("仅可以选择一个管点进行操作"); return;
- }
- rd = _selection[0].ToRecordset();
- rd.MoveFirst();
- uitb_fldm.Text = rd.GetString("fldm");
- uitb_bsm.Text = rd.GetString("bsm");
- uitb_wth.Text = rd.GetString("wth");
- uitb_ssbh.Text = rd.GetString("ssbh");
- uitb_fsw.Text = rd.GetString("fsw");
- uitb_tz.Text = rd.GetString("tz");
- uitb_xh.Text = rd.GetString("xh");
- uitb_gg.Text = rd.GetString("gg");
- uitb_cz.Text = rd.GetString("cz");
- uitb_gj.Text = rd.GetString("gj");
- uitb_kj.Text = rd.GetString("kj");
- uitb_yl.Text = rd.GetString("yl");
- uitb_dmgc.Text = rd.GetString("dmgc");
- uitb_ms.Text = rd.GetString("ms");
- uitb_msfs.Text = rd.GetString("msfs");
- uidp_msrq.Text = rd.GetString("msrq");
- uitb_dzms.Text = rd.GetString("dzms");
- uitb_qsdw.Text = rd.GetString("qsdw");
- uitb_tcdw.Text = rd.GetString("tcdw");
- uitb_bz.Text = rd.GetString("bz");
- }
- public override object Do(DockPanel dockPanel = null)
- {
- if (rd is null || rd.RecordCount != 1)
- {
- Sunny.UI.UIMessageTip.ShowError("仅可以选择一个管点进行操作"); return false;
- }
- string bsm = rd.GetFieldValue("bsm").ToString();
- string rdFLDM = rd.GetFieldValue("fldm").ToString();
- Recordset rdGD = ComsStatic.gsGuanDian.Query(string.Format(" bsm='{0}' ", bsm), CursorType.Dynamic);
- if (rdGD is null || rdGD.RecordCount != 1)
- {
- Sunny.UI.UIMessageTip.ShowError("管点信息错误"); return false;
- }
- if (isDelete)//删除
- {
- int jslkCount = ComsStatic.gsGuanXian.Query(string.Format(" qsdh='{0}' or zddh='{0}' ", bsm), CursorType.Static).RecordCount;
- if (jslkCount > 0)
- {
- UIMessageTip.ShowError("当前管点在管线中用到,禁止删除", 2000); return false;
- }
- if (rdGD.Delete())
- {
- Commons.LogHelper.Info(string.Format("管点删除-删除总表管点成功!删除的标识码是{0}。", bsm));
- if (rd.Delete())
- {
- ComsStatic.ShowOKLog(rdFLDM + "删除成功", string.Format("管点删除-删除分表管点成功!{0}。", bsm));
- }
- else
- {
- ComsStatic.ShowErrorLog(rdFLDM + "删除成功", string.Format("管点删除-删除分表管点失败!{0}。", bsm));
- }
- }
- else
- {
- ComsStatic.ShowErrorLog(rdFLDM + "删除失败", bsm);
- }
- }
- else //修改
- {
- rdGD.Edit();
- rdGD.SetFieldValue("wth", uitb_wth.Text);
- rdGD.SetFieldValue("ssbh", uitb_ssbh.Text);
- rdGD.SetFieldValue("fsw", uitb_fsw.Text);
- rdGD.SetFieldValue("tz", uitb_tz.Text);
- rdGD.SetFieldValue("xh", uitb_xh.Text);
- rdGD.SetFieldValue("gg", uitb_gg.Text);
- rdGD.SetFieldValue("cz", uitb_cz.Text);
- rdGD.SetFieldValue("gj", ComsStatic.StringToInt16(uitb_gj.Text));
- rdGD.SetFieldValue("kj", uitb_kj.Text);
- rdGD.SetFieldValue("yl", ComsStatic.StringToDouble(uitb_yl.Text));
- rdGD.SetFieldValue("dmgc", ComsStatic.StringToDouble(uitb_dmgc.Text));
- rdGD.SetFieldValue("ms", ComsStatic.StringToDouble(uitb_ms.Text));
- rdGD.SetFieldValue("msfs", uitb_msfs.Text);
- if (!string.IsNullOrEmpty(uidp_msrq.Text))
- rdGD.SetFieldValue("msrq", Convert.ToDateTime(uidp_msrq.Text));
- rdGD.SetFieldValue("dzms", uitb_dzms.Text);
- rdGD.SetFieldValue("qsdw", uitb_qsdw.Text);
- rdGD.SetFieldValue("tcdw", uitb_tcdw.Text);
- rdGD.SetFieldValue("bz", uitb_bz.Text);
- if (rdGD.Update())
- {
- ComsStatic.ShowOKLog(rdFLDM + "修改成功", bsm);
- DatasetVector dv = rd.Dataset as DatasetVector;
- if (dv.Query(string.Format(" bsm ='{0}' ", bsm), CursorType.Dynamic).Delete())
- dv.Append(rdGD);
- }
- else
- {
- ComsStatic.ShowErrorLog(rdFLDM + "修改失败", bsm);
- }
- }
- ComsStatic.RecordsetDispose(rdGD);
- _selection[0].Clear(); rd = null;
- MapControl.Map.Refresh();
- uitb_fldm.Text = ""; uitb_bsm.Text = ""; uitb_wth.Text = ""; uitb_ssbh.Text = ""; uitb_fsw.Text = ""; uitb_tz.Text = ""; uitb_xh.Text = ""; uitb_gg.Text = "";
- uitb_cz.Text = ""; uitb_gj.Text = ""; uitb_kj.Text = ""; uitb_yl.Text = ""; uitb_dmgc.Text = ""; uitb_ms.Text = "";
- uitb_msfs.Text = ""; uidp_msrq.Text = ""; uitb_dzms.Text = ""; uitb_qsdw.Text = ""; uitb_tcdw.Text = ""; uitb_bz.Text = "";
- return null;
- }
- public override void AfterClose()
- {
- MapControl.GeometrySelected -= MapControl_GeometrySelected;
- ComsStatic.RecordsetDispose(rd);
- base.AfterClose();
- }
- }
- }
|