|
@@ -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;
|
|
|
}
|
|
|
|