瀏覽代碼

mxg:添加Add日志

mengxiangge 5 年之前
父節點
當前提交
9e814aca34
共有 2 個文件被更改,包括 90 次插入34 次删除
  1. 1 1
      MBI/SAGA.MBI/DataArrange/DalUploadFloor.cs
  2. 89 33
      MBI/SAGA.MBI/WinView/Upload/UploadReportUtil.cs

+ 1 - 1
MBI/SAGA.MBI/DataArrange/DalUploadFloor.cs

@@ -761,7 +761,7 @@ namespace SAGA.MBI.DataArrange
             WrapperContext(serviceContext, localContext);
             LoadingOperation.Update();
             serviceContext.Upload();
-            UploadReportUtil.SendReport(serviceContext);
+            UploadReportUtil.SendReport(serviceContext,localContext);
             LoadingOperation.Update();
             localContext.Upload();
         }

+ 89 - 33
MBI/SAGA.MBI/WinView/Upload/UploadReportUtil.cs

@@ -41,15 +41,15 @@ namespace SAGA.MBI.WinView.Upload
         /// 发送反馈
         /// </summary>
         /// <param name="context"></param>
-        public static void SendReport(CalcContext context)
+        public static void SendReport(CalcContext delContext, CalcContext addContext)
         {
             InitReportArray();
-            if (!IsNeedReport(context)) return;
+            if (!IsNeedReport(delContext, addContext)) return;
             foreach (string mail in m_ReportArray)
             {
                 string title = GetReportTitle();
-                string content = GetReportContent(context).ToString();
-                MailLog.Log(mail,title,content);
+                string content = GetReportContent(context, addContext).ToString();
+                MailLog.Log(mail, title, content);
             }
         }
         /// <summary>
@@ -67,7 +67,7 @@ namespace SAGA.MBI.WinView.Upload
         /// <param name="sb"></param>
         /// <param name="value"></param>
         /// <returns></returns>
-        private static StringBuilder AppendLine2(this StringBuilder sb,string value)
+        private static StringBuilder AppendLine2(this StringBuilder sb, string value)
         {
             sb.AppendLine(value);
             sb.Append("<br/>");
@@ -77,53 +77,108 @@ namespace SAGA.MBI.WinView.Upload
         /// 转化为邮件内容
         /// </summary>
         /// <returns></returns>
-        private static StringBuilder GetReportContent(CalcContext context)
+        private static StringBuilder GetReportContent(CalcContext context, CalcContext addContext)
         {
             StringBuilder sb = new StringBuilder();
             sb.AppendLine2($"用户: {MBIControl.ManageInfo.Person_Name}");//获取用户名
             sb.AppendLine2($"手机号: {MBIControl.ManageInfo.Phone_Num}");
-            sb.AppendLine2("——————————概要内容————————————");
-            sb.AppendLine2($"于{DateTime.Now.ToString("yyyy-MM-dd HH:mm")}上传模型文件,删除如下设备实例:");
+            var addFacilitys = new List<MRevitEquipBase>();
+            addFacilitys.AddRange(addContext.MEquipments.Where(t => t.Operator == DocumentChangedOperator.Add));
+            addFacilitys.AddRange(addContext.MEquipmentParts.Where(t => t.Operator == DocumentChangedOperator.Add));
+            var addGroups = addFacilitys.GroupBy(t => t.EquipClassName);
+            if (addFacilitys.Any())
+            {
+                sb.AppendLine2("——————————新增设备概要内容——————————");
+                sb.AppendLine2($"于{DateTime.Now.ToString("yyyy-MM-dd HH:mm")}上传模型文件,新增如下设备实例:");
+                foreach (IGrouping<string, MRevitEquipBase> grouping in addGroups)
+                {
+                    sb.AppendLine2($"{grouping.Key}:{grouping.Count()}个");
+                }
+            }
+
+
             var facilitys = new List<MRevitEquipBase>();
-            facilitys.AddRange(context.MEquipments.Where(t=>t.Operator==DocumentChangedOperator.Delete));
+            facilitys.AddRange(context.MEquipments.Where(t => t.Operator == DocumentChangedOperator.Delete));
             facilitys.AddRange(context.MEquipmentParts.Where(t => t.Operator == DocumentChangedOperator.Delete));
             var groups = facilitys.GroupBy(t => t.EquipClassName);
-            foreach (IGrouping<string, MRevitEquipBase> grouping in groups)
+            if (facilitys.Any())
             {
-                sb.AppendLine2($"{grouping.Key}:{grouping.Count()}个");
+                sb.AppendLine2("——————————删除设备概要内容——————————");
+                sb.AppendLine2($"于{DateTime.Now.ToString("yyyy-MM-dd HH:mm")}上传模型文件,删除如下设备实例:");
+                foreach (IGrouping<string, MRevitEquipBase> grouping in groups)
+                {
+                    sb.AppendLine2($"{grouping.Key}:{grouping.Count()}个");
+                }
             }
 
+
             int num = 0;
             string floor = context.MFloor.ToString();
             string building = DalProjectTree.GetBuildingFloorName(context.FloorId);
-            sb.AppendLine2("——————————详细内容————————————");
-            foreach (IGrouping<string, MRevitEquipBase> grouping in groups)
+            if (addFacilitys.Any())
             {
-                sb.AppendLine2($"{grouping.Key}");
-                foreach (MRevitEquipBase equipBase in grouping)
+                sb.AppendLine2("——————————新增设备详细内容——————————");
+                foreach (IGrouping<string, MRevitEquipBase> grouping in addGroups)
                 {
-                    num++;
-                    string name = "";
-                    string code = "";
-                    string cadid = "";
-                    if (equipBase is MEquipment equip)
+                    sb.AppendLine2($"{grouping.Key}");
+                    foreach (MRevitEquipBase equipBase in grouping)
                     {
-                        name = equip.LocalName;
-                        code = equip.LocalId;
-                        cadid = equip.CADID;
-                    }
+                        num++;
+                        string name = "";
+                        string code = "";
+                        string cadid = "";
+                        if (equipBase is MEquipment equip)
+                        {
+                            name = equip.LocalName;
+                            code = equip.LocalId;
+                            cadid = equip.CADID;
+                        }
 
-                    if (equipBase is MEquipmentPart part)
-                    {
-                        name = part.LocalName;
-                        code = part.LocalId;
-                        cadid = part.CADID;
+                        if (equipBase is MEquipmentPart part)
+                        {
+                            name = part.LocalName;
+                            code = part.LocalId;
+                            cadid = part.CADID;
+                        }
+
+                        sb.AppendLine2(
+                            $"{num}、建筑:{building};楼层:{floor};设备全局id:{equipBase.Id};BIMID:{equipBase.BimID};设备本地编码:{code};设备本地名称:{name};CADID:{cadid};");
                     }
+                }
+            }
+            num = 0;
+            if (facilitys.Any())
+            {
+                sb.AppendLine2("——————————删除设备详细内容——————————");
+                foreach (IGrouping<string, MRevitEquipBase> grouping in groups)
+                {
+                    sb.AppendLine2($"{grouping.Key}");
+                    foreach (MRevitEquipBase equipBase in grouping)
+                    {
+                        num++;
+                        string name = "";
+                        string code = "";
+                        string cadid = "";
+                        if (equipBase is MEquipment equip)
+                        {
+                            name = equip.LocalName;
+                            code = equip.LocalId;
+                            cadid = equip.CADID;
+                        }
 
-                    sb.AppendLine2(
-                        $"{num}、建筑:{building};楼层:{floor};设备全局id:{equipBase.Id};BIMID:{equipBase.BimID};设备本地编码:{code};设备本地名称:{name};CADID:{cadid};");
+                        if (equipBase is MEquipmentPart part)
+                        {
+                            name = part.LocalName;
+                            code = part.LocalId;
+                            cadid = part.CADID;
+                        }
+
+                        sb.AppendLine2(
+                            $"{num}、建筑:{building};楼层:{floor};设备全局id:{equipBase.Id};BIMID:{equipBase.BimID};设备本地编码:{code};设备本地名称:{name};CADID:{cadid};");
+                    }
                 }
             }
+            
 
             return sb;
         }
@@ -132,9 +187,10 @@ namespace SAGA.MBI.WinView.Upload
         /// 检查是否需要反馈
         /// </summary>
         /// <returns></returns>
-        private static bool IsNeedReport(CalcContext context)
+        private static bool IsNeedReport(CalcContext context, CalcContext addContext)
         {
-            bool result =(context.MEquipments.Any(t=>t.Operator==DocumentChangedOperator.Delete)||context.MEquipmentParts.Any(t=>t.Operator==DocumentChangedOperator.Delete)) ;
+            bool result = (context.MEquipments.Any(t => t.Operator == DocumentChangedOperator.Delete) || context.MEquipmentParts.Any(t => t.Operator == DocumentChangedOperator.Delete));
+            result = result || (addContext.MEquipments.Any(t => t.Operator == DocumentChangedOperator.Add) || addContext.MEquipmentParts.Any(t => t.Operator == DocumentChangedOperator.Add));
             return result;
         }