|
@@ -56,7 +56,7 @@ namespace SAGA.MBI.DataArrange
|
|
|
public static bool BeginDownLoadFile()
|
|
|
{
|
|
|
List<Tuple<string, int, string>> tuples = DalVisionOperate.GetNeedDownLoadFiles();
|
|
|
- int i = 0,j = 0;
|
|
|
+ int i = 0, j = 0;
|
|
|
int count = tuples.Count;
|
|
|
foreach (var tuple in tuples)
|
|
|
{
|
|
@@ -224,17 +224,19 @@ namespace SAGA.MBI.DataArrange
|
|
|
/// </summary>
|
|
|
public static VMUploadModeManage PrepareUploadFloors()
|
|
|
{
|
|
|
- VMUploadModeManage vm = new VMUploadModeManage();
|
|
|
- //获取有模型文件的楼层
|
|
|
- var allFloors = GetHasFileFloors();
|
|
|
- //获取MD5改变的文件
|
|
|
- var modifyFloors = new ObservableCollection<UploadFloor>(allFloors
|
|
|
- .Where(t => DalVisionOperate.IsFileChanged(t.MFloor.FullPath, t.MFloor.ToString())).ToList());
|
|
|
- //获取所有的拓扑图类型
|
|
|
- var topologyGriphs = GetAllTopologyGriphs();
|
|
|
string currentFloor = string.Empty;
|
|
|
try
|
|
|
{
|
|
|
+ VMUploadModeManage vm = new VMUploadModeManage();
|
|
|
+ //获取有模型文件的楼层
|
|
|
+ var allFloors = GetHasFileFloors();
|
|
|
+ //获取MD5改变的文件
|
|
|
+ var modifyFloors = new ObservableCollection<UploadFloor>(allFloors
|
|
|
+ .Where(t => DalVisionOperate.IsFileChanged(t.MFloor.FullPath, t.MFloor.ToString())).ToList());
|
|
|
+ //获取所有的拓扑图类型
|
|
|
+ var topologyGriphs = GetAllTopologyGriphs();
|
|
|
+
|
|
|
+
|
|
|
foreach (UploadFloor uploadFloor in modifyFloors)
|
|
|
{
|
|
|
if (uploadFloor == null) continue;
|
|
@@ -250,17 +252,19 @@ namespace SAGA.MBI.DataArrange
|
|
|
MBIModelInfoManager.SyncPlatformToRevit(document);
|
|
|
#endregion
|
|
|
|
|
|
+ #region 跟据日志整理跟要上传的数据
|
|
|
//检测有日志文件,才上传
|
|
|
var logs = DalLogOperate.GetLogs(uploadFloor.MFloor.Id);
|
|
|
if (!logs.Any()) continue;
|
|
|
uploadFloor.CalcContext = DalCommon.DownLoadCouldData(uploadFloor.MFloor);
|
|
|
+ CalcContext context = uploadFloor.CalcContext;
|
|
|
+
|
|
|
//按id分组后的日志
|
|
|
var floorLogsGroupByBimId = logs.GroupBy(t => t.Id);
|
|
|
//所有的拓扑图类型
|
|
|
var tempGriphs = new List<MTopologyGriph>(topologyGriphs);
|
|
|
foreach (IGrouping<string, DocumentChangedLogMode> logGroup in floorLogsGroupByBimId)
|
|
|
{
|
|
|
- CalcContext context = uploadFloor.CalcContext;
|
|
|
DocumentChangedLogMode log = logGroup.FirstOrDefault();
|
|
|
if (log == null) continue;
|
|
|
var bimId = CommonTool.GetCloudBIMId(log.DocName, log.Id);
|
|
@@ -282,7 +286,6 @@ namespace SAGA.MBI.DataArrange
|
|
|
OperateDelSaveDutyLog(mode);
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
#region 日志影响拓扑图
|
|
|
//日志影响拓扑图,影响则标记,从所有中移除
|
|
|
var useGriphs = new List<MTopologyGriph>(topologyGriphs);
|
|
@@ -298,16 +301,18 @@ namespace SAGA.MBI.DataArrange
|
|
|
tempGriphs.RemoveAll(t => useGriphs.Contains(t));
|
|
|
|
|
|
#endregion
|
|
|
-
|
|
|
- //处理设备所在空间
|
|
|
- // CheckEquipSpaceRlt(context);
|
|
|
- uploadFloor.IsUpload = true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ //处理设备所在空间
|
|
|
+ CheckEquipSpaceRlt(context);
|
|
|
+ uploadFloor.IsUpload = true;
|
|
|
+
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
- Console.WriteLine(e);
|
|
|
throw;
|
|
|
}
|
|
|
finally
|
|
@@ -317,14 +322,13 @@ namespace SAGA.MBI.DataArrange
|
|
|
}
|
|
|
vm.UploadFloors = modifyFloors;
|
|
|
vm.MTopologyGriphs = PrepareMTopologyGriphs(modifyFloors);
|
|
|
+ return vm;
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
MessageShow.Show(e, strMessage: $"楼层 { currentFloor ?? string.Empty} 打开异常或网络异常,请检查后再进行操作!\r\n");
|
|
|
- vm = null;
|
|
|
+ return null;
|
|
|
}
|
|
|
-
|
|
|
- return vm;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -397,7 +401,7 @@ namespace SAGA.MBI.DataArrange
|
|
|
{
|
|
|
bool result = false;
|
|
|
|
|
|
- if (tempmode.IsNullOrDefaultEquip())
|
|
|
+ if (tempmode.IsNullOrDefaultEquip())
|
|
|
{
|
|
|
//本地编码不可识别,删除服务器数据
|
|
|
//xls 新编码和旧编码一致,则不处理数据
|
|
@@ -410,14 +414,14 @@ namespace SAGA.MBI.DataArrange
|
|
|
else
|
|
|
{
|
|
|
mode.Operator = DocumentChangedOperator.Delete;
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//如果设备族四位或六位改了,需要将岗位删除,重建岗位
|
|
|
//string code1 = EquipmentCodeMap.GetOriginCode(mode.EquipClassCode);
|
|
|
//(tempmode.EquipClassCode 这个的取法上上一个不一样
|
|
|
- // string code2 = EquipmentCodeMap.GetOriginCode(tempmode.EquipClassCode);
|
|
|
+ // string code2 = EquipmentCodeMap.GetOriginCode(tempmode.EquipClassCode);
|
|
|
if (EquipmentCodeMap.GetOriginCode(mode.EquipClassCode) != EquipmentCodeMap.GetOriginCode(tempmode.EquipClassCode))
|
|
|
{
|
|
|
SetSavePropertyValue(tempmode, mode);
|
|
@@ -552,7 +556,7 @@ namespace SAGA.MBI.DataArrange
|
|
|
{
|
|
|
//if (mode.Operator == DocumentChangedOperator.None) return;
|
|
|
var revitId = mode.BimID.GetBIMID();
|
|
|
- if (revitId==0) return;
|
|
|
+ if (revitId == 0) return;
|
|
|
var fi = context.RevitDoc.GetElement(revitId) as FamilyInstance;
|
|
|
Autodesk.Revit.DB.Mechanical.Space space = fi?.GetReferenceSpace();
|
|
|
if (space == null) return;
|