|
@@ -12,9 +12,18 @@ using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using System.Windows;
|
|
|
+using Autodesk.Revit.DB;
|
|
|
+using Autodesk.Revit.UI;
|
|
|
+using SAGA.DotNetUtils;
|
|
|
+using SAGA.DotNetUtils.Data;
|
|
|
+using SAGA.DotNetUtils.Utilities;
|
|
|
using SAGA.DotNetUtils.WPF;
|
|
|
+using SAGA.GplotRelationComputerManage;
|
|
|
using SAGA.GplotRelationComputerManage.SystemChecks;
|
|
|
+using SAGA.MBIAssistData;
|
|
|
+using SAGA.RevitUtils;
|
|
|
using SAGA.RevitUtils.Extends;
|
|
|
+using SAGA.RevitUtils.Windows;
|
|
|
|
|
|
namespace SAGA.GplotManage.SystemChecks
|
|
|
{
|
|
@@ -27,9 +36,65 @@ namespace SAGA.GplotManage.SystemChecks
|
|
|
}
|
|
|
public VmSystemCheck(SystemCheckReportItem reportItem)
|
|
|
{
|
|
|
- this.m_CurrentReport = reportItem;
|
|
|
+ this.CurrentReport = reportItem;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void SetFloorDisplay(SystemCheckReportItem reportItem)
|
|
|
+ {
|
|
|
+ if (reportItem == null)
|
|
|
+ return;
|
|
|
+ #region 开头显示
|
|
|
+ var mbiInfo = FloorUtil.GetFloorInfo(reportItem.FloorId);
|
|
|
+ if (mbiInfo != null)
|
|
|
+ {
|
|
|
+ FloorDisplay = string.Format("{0} → {1}", mbiInfo.BuildingName, mbiInfo.FloorName);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ FloorDisplay = reportItem.FloorId;
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 标题显示
|
|
|
+ //{0}管网异常模型清单(最后检查时间 {1})
|
|
|
+ var relationItem = RelationTypeManager.GetRelationTypeItem(reportItem.GplotType);
|
|
|
+ var timestring=TimeUtil.ConvertDbStringFormat(reportItem.BuildingTime, "yyyyMMdd (hh:mm)");
|
|
|
+ //reportItem.BuildingTime
|
|
|
+ Title = string.Format("{0}管网异常模型清单(最后检查时间 {1})", relationItem?.Name, timestring);
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
}
|
|
|
#region 属性相关
|
|
|
+
|
|
|
+ private string m_Title;
|
|
|
+ /// <summary>
|
|
|
+ /// 标题设定
|
|
|
+ /// </summary>
|
|
|
+ public string Title
|
|
|
+ {
|
|
|
+ get { return this.m_Title; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ this.m_Title = value;
|
|
|
+ RaisePropertyChanged(nameof(this.Title));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private string m_FloorDisplay;
|
|
|
+ /// <summary>
|
|
|
+ /// 楼层显示信息
|
|
|
+ /// </summary>
|
|
|
+ public string FloorDisplay
|
|
|
+ {
|
|
|
+ get { return this.m_FloorDisplay; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ this.m_FloorDisplay = value;
|
|
|
+ RaisePropertyChanged(nameof(this.FloorDisplay));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private SystemCheckReportItem m_CurrentReport;
|
|
|
/// <summary>
|
|
|
/// 当前检查结果
|
|
@@ -48,6 +113,7 @@ namespace SAGA.GplotManage.SystemChecks
|
|
|
{
|
|
|
this.ResultItems = new ObservableCollection<SystemCheckResultItem>();
|
|
|
}
|
|
|
+ SetFloorDisplay(value);
|
|
|
RaisePropertyChanged(() => this.CurrentReport);
|
|
|
}
|
|
|
}
|
|
@@ -75,10 +141,18 @@ namespace SAGA.GplotManage.SystemChecks
|
|
|
[Command]
|
|
|
public void ReCheckCommand(object parameter)
|
|
|
{
|
|
|
- var reportItem = GplotSystemCheckManager.GetCheckSystemResult(ExternalDataWrapper.Current.Doc, "");
|
|
|
- if(reportItem!=null)
|
|
|
+ try
|
|
|
{
|
|
|
- CurrentReport = reportItem;
|
|
|
+ var reportItem = GplotSystemCheckManager.CreateCheckSystemResult(ExternalDataWrapper.Current.Doc, CurrentReport?.GplotType);
|
|
|
+ if (reportItem != null)
|
|
|
+ {
|
|
|
+ CurrentReport = reportItem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+
|
|
|
+ MessageShow.Show(ex);
|
|
|
}
|
|
|
}
|
|
|
public bool CanReCheckCommand(object parameter)
|
|
@@ -90,7 +164,17 @@ namespace SAGA.GplotManage.SystemChecks
|
|
|
#region 定位
|
|
|
public void PositionCommand(object parameter)
|
|
|
{
|
|
|
- MessageBox.Show(parameter.ToString());
|
|
|
+ var item = parameter as SystemCheckResultItem;
|
|
|
+ if (item == null)
|
|
|
+ return;
|
|
|
+ ExecuteCmd.ExecuteCommandOnce(() =>
|
|
|
+ {
|
|
|
+ var bimId = item.BimId;
|
|
|
+ Element elem = ExternalDataWrapper.Current.Doc.GetElement(new ElementId(bimId.ToInt()));
|
|
|
+ if (elem == null) return Result.Failed;
|
|
|
+ ExternalDataWrapper.Current.UiApp.SetShowElements(elem);
|
|
|
+ return Result.Succeeded;
|
|
|
+ }, () => Result.Succeeded);
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
@@ -98,8 +182,19 @@ namespace SAGA.GplotManage.SystemChecks
|
|
|
public void ConcrectedCommand(object parameter)
|
|
|
{
|
|
|
var item = parameter as SystemCheckResultItem;
|
|
|
- MessageBox.Show(item.IsCorrected.ToString());
|
|
|
- item.IsCorrected = !item.IsCorrected;
|
|
|
+ if (item == null)
|
|
|
+ return;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //MessageBox.Show(item.IsCorrected.ToString());
|
|
|
+ var useFlag = !item.IsCorrected;
|
|
|
+ SingleFactory<SystemCheckResultBll>.Instance.UpdateCorrectedFlag(useFlag, item.Id);
|
|
|
+ item.IsCorrected = useFlag;
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ MessageShow.Show(ex);
|
|
|
+ }
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
@@ -107,8 +202,20 @@ namespace SAGA.GplotManage.SystemChecks
|
|
|
public void MisinformationCommand(object parameter)
|
|
|
{
|
|
|
var item = parameter as SystemCheckResultItem;
|
|
|
- MessageBox.Show(item.IsMisinformation.ToString());
|
|
|
- item.IsMisinformation = !item.IsMisinformation;
|
|
|
+ if (item == null)
|
|
|
+ return;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //MessageBox.Show(item.IsMisinformation.ToString());
|
|
|
+ var useFlag = !item.IsMisinformation;
|
|
|
+ SingleFactory<SystemCheckResultBll>.Instance.UpdateMisinformationFlag(useFlag, item.Id);
|
|
|
+ item.IsMisinformation = useFlag;
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+
|
|
|
+ MessageShow.Show(ex);
|
|
|
+ }
|
|
|
}
|
|
|
#endregion
|
|
|
}
|