From b803684ebccb273d09d3623397a2e1b59e2f41de Mon Sep 17 00:00:00 2001 From: xingheng Date: Fri, 17 Oct 2025 11:15:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86Getbreaker=E7=9A=84?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppApi/PDBApiController.cs | 4 +- .../AppApi/ProjectApiController.cs | 2 +- .../Controllers/ec_report_fileController.cs | 2 +- .../ZZDT_EC/Views/ec_objecttype/Index.js | 10 +- .../ZZDT_EC/Views/ec_report_file/Index.js | 2 +- .../Learun.Application.Web.csproj | 3 + .../SQL/251013/Project/ec_dataitem.sql | 1 + .../SQL/251013/Project/ec_objecttypeP.sql | 1 + Learun.Application.Web/SQL/Initial_Data.sql | 6 +- .../bin/SQL/Initial_Data.sql | 6 +- .../ec_CircuitBreaker/ec_CircuitBreakerBLL.cs | 151 ++++++++++++++++-- .../ec_CircuitBreakerEntity.cs | 2 + .../ec_CircuitBreakerService.cs | 4 + .../ec_drawing_file/ec_drawing_fileBLL.cs | 5 +- .../ec_enginedata_propertyBLL.cs | 19 ++- .../ZZDT_EC/ec_objecttype/ec_objecttypeBLL.cs | 4 +- .../ec_objecttype/ec_objecttypeIBLL.cs | 2 +- .../SWSDBSchemeUpgradeTool_MarkupCompile.lref | 4 +- 18 files changed, 185 insertions(+), 43 deletions(-) create mode 100644 Learun.Application.Web/SQL/251013/Project/ec_dataitem.sql create mode 100644 Learun.Application.Web/SQL/251013/Project/ec_objecttypeP.sql diff --git a/Learun.Application.Web/AppApi/PDBApiController.cs b/Learun.Application.Web/AppApi/PDBApiController.cs index ddfed11a..d531ef27 100644 --- a/Learun.Application.Web/AppApi/PDBApiController.cs +++ b/Learun.Application.Web/AppApi/PDBApiController.cs @@ -64,7 +64,7 @@ namespace Learun.Application.Web.AppApi /// 分电箱的工程ID /// [HttpPost] - public IHttpActionResult SaveBreakers(string projId, string PDBId) + public IHttpActionResult SaveBreakers(string projId, string PDBId, [FromBody] List CBs) { try @@ -72,7 +72,7 @@ namespace Learun.Application.Web.AppApi ec_enginedata_relBLL ec_Enginedata_RelBLL = new ec_enginedata_relBLL(); var ec_RelTypeBll = new ec_reltypeBLL(); var asyncContent = Request.Content.ReadAsStringAsync().Result; - var CBs = asyncContent.ToObject>(); + //var CBs = asyncContent.ToObject>(); //var RelType = ec_RelTypeBll.GetList("{\"ProjectId\":\"" + projId + "\", \"RelType\": \"" + (int)enum_RelType.开关_电缆 + "\"}").FirstOrDefault(); if (CBs == null) { diff --git a/Learun.Application.Web/AppApi/ProjectApiController.cs b/Learun.Application.Web/AppApi/ProjectApiController.cs index b9f80969..752c47f5 100644 --- a/Learun.Application.Web/AppApi/ProjectApiController.cs +++ b/Learun.Application.Web/AppApi/ProjectApiController.cs @@ -84,7 +84,7 @@ namespace Learun.Application.Web.AppApi var res4 = templateCategoryBll.GetTemplateCategory(ProjId); #endregion #region ObjectTypeApi/GetObjectTypeData0 - var res5 = objectTypeBll.GetObjectTypeData3Level(ProjId, "0"); + var res5 = objectTypeBll.GetObjectTypeData3Level(ProjId, "0","",true); #endregion #region ObjectTypeApi/GetObjectTypeData2 // 这个数据量太大,导致加载项目时卡顿长达6分钟,所以单独独立出去 diff --git a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_report_fileController.cs b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_report_fileController.cs index aae1c759..977cd1ff 100644 --- a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_report_fileController.cs +++ b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_report_fileController.cs @@ -597,7 +597,7 @@ namespace Learun.Application.Web.Areas.ZZDT_EC.Controllers /// 项目ID /// 文件夹ID /// 报表文件名称 - + ///前端的json格式的参数 public void ReportToExcel(string ProjectId, string folderId, string reportFileName, string param) { try diff --git a/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_objecttype/Index.js b/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_objecttype/Index.js index 42636dcd..5d6d19f0 100644 --- a/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_objecttype/Index.js +++ b/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_objecttype/Index.js @@ -97,8 +97,8 @@ var bootstrap = function ($, learun) { var keyValue = $('#gridtable').jfGridValue('ObjectTypeID'); var keyName = $('#gridtable').jfGridValue('ObjectTypeName'); if (learun.checkrow(keyValue)) { - if (keyName == "OPC" || keyName == "基点" || keyName == "图框") { - learun.alert.warning("OPC为系统内置的特殊类型,无法编辑其属性!"); + if (keyName = "附属件_内部开关" || keyName == "OPC" || keyName == "基点" || keyName == "图框") { + learun.alert.warning(keyName + " 为系统内置的特殊类型,无法编辑其属性!"); } else { learun.layerForm({ @@ -123,7 +123,7 @@ var bootstrap = function ($, learun) { var keyValue = $('#gridtable').jfGridValue('ObjectTypeID'); var keyName = $('#gridtable').jfGridValue('ObjectTypeName'); if (learun.checkrow(keyValue)) { - if (keyName == "OPC" || keyName == "基点" || keyName == "图框" || keyName == "TagNumber") { + if (keyName = "附属件_内部开关" || keyName == "OPC" || keyName == "基点" || keyName == "图框" ) { learun.alert.warning(keyName + "为系统内置的特殊类型,无法删除!"); return false; } @@ -190,8 +190,8 @@ var bootstrap = function ($, learun) { learun.alert.warning('请选择最后一级!'); return false; } - if (keyName == "OPC" || keyName == "基点" || keyName == "图框") { - learun.alert.warning("OPC为系统内置的特殊类型 \u000d 无法进行“命名规则设置”!"); + if (keyName = "附属件_内部开关" || keyName == "OPC" || keyName == "基点" || keyName == "图框") { + learun.alert.warning(keyName+ " 为系统内置的特殊类型 \u000d 无法进行“命名规则设置”!"); return false; } learun.layerForm({ diff --git a/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_report_file/Index.js b/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_report_file/Index.js index c860e381..53bb21c9 100644 --- a/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_report_file/Index.js +++ b/Learun.Application.Web/Areas/ZZDT_EC/Views/ec_report_file/Index.js @@ -40,7 +40,7 @@ var bootstrap = function ($, learun) { if (learun.checkrow(keyValue)) { var folderId = $('#gridtable').jfGridValue('FolderId'); var reportFileName = $('#gridtable').jfGridValue('ReportFileName'); - if (reportFileName == '电缆清册') { + if (reportFileName == '电缆清册' || reportFileName == '电缆册') { learun.layerForm({ id: 'systemselect', title: '电缆清册 参数选择', diff --git a/Learun.Application.Web/Learun.Application.Web.csproj b/Learun.Application.Web/Learun.Application.Web.csproj index 3bda2aa7..e424cf89 100644 --- a/Learun.Application.Web/Learun.Application.Web.csproj +++ b/Learun.Application.Web/Learun.Application.Web.csproj @@ -3434,6 +3434,8 @@ + + @@ -3663,6 +3665,7 @@ + diff --git a/Learun.Application.Web/SQL/251013/Project/ec_dataitem.sql b/Learun.Application.Web/SQL/251013/Project/ec_dataitem.sql new file mode 100644 index 00000000..195aea34 --- /dev/null +++ b/Learun.Application.Web/SQL/251013/Project/ec_dataitem.sql @@ -0,0 +1 @@ +ALTER TABLE ec_dataitem ADD ShowEN int NULL; diff --git a/Learun.Application.Web/SQL/251013/Project/ec_objecttypeP.sql b/Learun.Application.Web/SQL/251013/Project/ec_objecttypeP.sql new file mode 100644 index 00000000..4751a1cf --- /dev/null +++ b/Learun.Application.Web/SQL/251013/Project/ec_objecttypeP.sql @@ -0,0 +1 @@ +ALTER TABLE ec_objecttypep ADD ShowEN int NULL; \ No newline at end of file diff --git a/Learun.Application.Web/SQL/Initial_Data.sql b/Learun.Application.Web/SQL/Initial_Data.sql index fefb2319..5f92c311 100644 --- a/Learun.Application.Web/SQL/Initial_Data.sql +++ b/Learun.Application.Web/SQL/Initial_Data.sql @@ -729,9 +729,9 @@ CREATE TABLE `ec_objecttype` ( `DefaultLayoutLibFileID` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '布置图默认的?, `ObjectTypeName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `ObjectTypeNameEN` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IsSerialNumber` int NULL DEFAULT NULL COMMENT '是否生成流水?, - `IsOOTB` int NULL DEFAULT NULL COMMENT '是否是内置的特殊类型', - `specialType` int NULL DEFAULT NULL COMMENT '电力一??电力二次 ?系统柜等', + `IsSerialNumber` int NULL DEFAULT NULL , + `IsOOTB` int NULL DEFAULT NULL , + `specialType` int NULL DEFAULT NULL , `OrderID` int NULL DEFAULT NULL, `FullPath` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `FullPathCN` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, diff --git a/Learun.Application.Web/bin/SQL/Initial_Data.sql b/Learun.Application.Web/bin/SQL/Initial_Data.sql index fefb2319..5f92c311 100644 --- a/Learun.Application.Web/bin/SQL/Initial_Data.sql +++ b/Learun.Application.Web/bin/SQL/Initial_Data.sql @@ -729,9 +729,9 @@ CREATE TABLE `ec_objecttype` ( `DefaultLayoutLibFileID` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '布置图默认的?, `ObjectTypeName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `ObjectTypeNameEN` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IsSerialNumber` int NULL DEFAULT NULL COMMENT '是否生成流水?, - `IsOOTB` int NULL DEFAULT NULL COMMENT '是否是内置的特殊类型', - `specialType` int NULL DEFAULT NULL COMMENT '电力一??电力二次 ?系统柜等', + `IsSerialNumber` int NULL DEFAULT NULL , + `IsOOTB` int NULL DEFAULT NULL , + `specialType` int NULL DEFAULT NULL , `OrderID` int NULL DEFAULT NULL, `FullPath` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `FullPathCN` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerBLL.cs index 4a21cada..57f5d780 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerBLL.cs @@ -64,9 +64,9 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { } - + foreach (var CB in res) - { + { Type type = CB.GetType(); //CB.CableIDs = ec_Enginedata_RelBLL.GetList("{ProjectId:\"" + ProjID + "\",RelEngineData1ID:\"" + CB.EngineerDataID + "\"}"). // Where(X => !string.IsNullOrEmpty(X.TagNumber2)). @@ -76,16 +76,16 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC CB.CableTagNumbers = new List(); - foreach (var item in CBsProps.Where(x=>x.EngineDataID == CB.EngineerDataID)) + foreach (var item in CBsProps.Where(x => x.EngineDataID == CB.EngineerDataID)) { - PropertyInfo property = type .GetProperty(item.PropertyName); + PropertyInfo property = type.GetProperty(item.PropertyName); if (property != null && property.CanWrite) { property.SetValue(CB, Convert.ChangeType(item.PropertyValue, property.PropertyType)); } //属性要怎么来,从property来了,然后通过反射,填充到 cb 类的属性里 } - - + + //所有在一端是开关的关联关系 //foreach (var item in RelBreaker_CableCol. @@ -162,6 +162,125 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } } } + /// + /// 按tag的属性来返回开关 + /// + /// + /// 开关箱对应的工程id + /// + /// + public List GetBreakersUnderPDBNew(string ProjID, string EngineerDataID, bool OnlySelf = false) + { + try + { + var engineBll = new ec_enginedataService(); + var ProjectEntity = new ec_projectEntity(); + ProjectEntity = new ec_projectBLL().GetEntity(ProjID); + if (ProjectEntity == null) + { + return null; + } + var propTbName = ProjectSugar.TableName(ProjID); + var objectTypeTbName = ProjectSugar.TableName(ProjID); + var objectType = SqlSugarHelper.Db.Queryable().AS(objectTypeTbName).First(x => x.ObjectTypeName == GlobalObject.objectType_Breaker); + + if (objectType == null) + { + throw new Exception("项目中不存在" + GlobalObject.objectType_Breaker + "这个内置类型。请联系管理员。"); + } + //所有类别的属性信息 + var objectTypeProps = new ec_objecttypepBLL().GetObjectTypePById(objectType.ObjectTypeID, ProjID, true); + //所有和电缆的关联关系 + var allRels = ec_Enginedata_RelBLL.GetList("{ProjectId:\"" + ProjID + "\",RelType:\"" + (int)enum_RelType.设备_电缆 + "\"}"); + //该PDB上和电缆的关联关系 + //var PDBallRels = allRels.Where(x => x.RelEngineData1ID == EngineerDataID || x.RelEngineData2ID == EngineerDataID).ToList(); + //所有开关 + var CBs = ec_CircuitBreakerService.GetList("{ProjectId:\"" + ProjID + "\"}"); + //属于这个箱子的开关 + CBs = CBs.Where(x => x.PDBId == EngineerDataID).OrderBy(x => x.OrderId).ToList(); + List resIDs = CBs.Select(x => x.EngineerDataID).ToList(); + //开关上的所有属性 + var CBsProps = SqlSugarHelper.Db.Queryable().AS(propTbName). + Where(x => resIDs.Contains(x.EngineDataID)).ToList(); + var CBTags = engineBll.GetListSingleTable(ProjID, resIDs).ToList(); + #region 远端电缆 + foreach (var CB in CBs) + { + CB.CableIDs = new List(); + CB.CableTagNumbers = new List(); + //所有在一端是开关的关联关系 + if (!string.IsNullOrEmpty(CB.CableID)) + { + CB.CableIDs = CB.CableID.Split(',').ToList();//目前就考虑一个 + CB.CableTagNumbers = engineBll.GetListSingleTable(ProjID, CB.CableIDs).Select(x => x.TagNumber).ToList(); + //另一边的开关(cableid相同 但是开关id不同) + foreach (var RemoteItem in CBs.Where(x => x.CableID == CB.CableID && x.EngineerDataID != CB.EngineerDataID)) + { + // var remoteCB = ec_CircuitBreakerService.GetList("{ProjectId:\"" + ProjID + "\",EngineerDataID:\"" + RemoteItem.RelEngineData1ID + "\"}").FirstOrDefault(); + // if (remoteCB != null) + // { + CB.RemoteCB = RemoteItem;//此时,插件端用的是这个来拼出"对面的开关" + // 属性从 prop里来,而不是从CB表来 + + CB.RemoteDeviceId = RemoteItem.PDBId; + CB.RemoteDeviceName = RemoteItem.PDBName; + CB.RemoteDeviceObjectType = RemoteItem.ObjectTypeName; + // } + // } + break; + } + + if (CB.RemoteCB == null) + { + //对面不是通过开关连接,而是直接接到了负载上 + var remoteRelObj = allRels.FirstOrDefault(x => x.RelEngineData1ID == CB.CableID && x.RelEngineData2ID != EngineerDataID); + if (remoteRelObj != null) + { + CB.RemoteDeviceId = remoteRelObj.RelEngineData2ID; + CB.RemoteDeviceName = remoteRelObj.TagNumber2; + CB.RemoteDeviceObjectType = remoteRelObj.Type2; + } + else + { + remoteRelObj = allRels.FirstOrDefault(x => x.RelEngineData2ID == CB.CableID && x.RelEngineData1ID != EngineerDataID); + + if (remoteRelObj != null) + { + CB.RemoteDeviceId = remoteRelObj.RelEngineData1ID; + CB.RemoteDeviceName = remoteRelObj.TagNumber1; + CB.RemoteDeviceObjectType = remoteRelObj.Type1; + } + else + { + //NULL + } + } + } + } + + CB.Tag = CBTags.FirstOrDefault(x => x.EngineDataID == CB.EngineerDataID); + if (CB.Tag != null) + { + CB.Tag.EngineDataProperty = CBsProps.Where(x => x.EngineDataID == CB.EngineerDataID).ToList(); + } + + } + #endregion + + return CBs.Where(x => x.Tag != null).ToList(); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } #endregion @@ -190,22 +309,22 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { if (entity != null) { - + var typeTbName = ProjectSugar.TableName(ProjectId); + var ec_objtype = SqlSugarHelper.Db.Queryable().AS(typeTbName).First(x => x.ObjectTypeName == GlobalObject.objectType_Breaker); + if (ec_objtype == null) + { + throw new Exception($"系统中找不到内置的开关类型【{GlobalObject.objectType_Breaker}】。请联系管理员。"); + } #region CB - bool mode = BreakerID == "" ? true : false; + bool mode = string.IsNullOrEmpty(BreakerID) ? true : false; entity.PDBId = PBDId; ec_CircuitBreakerService.SaveEntity(ProjectId, ref BreakerID, entity); #endregion #region tag - var typeTbName = ProjectSugar.TableName(ProjectId); - var ec_objtype = SqlSugarHelper.Db.Queryable().AS(typeTbName).First(x => x.ObjectTypeName == GlobalObject.objectType_Breaker); - if (ec_objtype == null) - { - return; - } - + + var tagTbName = ProjectSugar.TableName(ProjectId); ec_enginedataEntity addEnginedata = new ec_enginedataEntity(); @@ -231,7 +350,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } #endregion #region prop - var propBll = new ec_enginedata_propertyBLL(); + var propBll = new ec_enginedata_propertyBLL(); //属性还是要去存enginedata_prop表 var TagProps = propBll.ConvertPropToEngineProp(ProjectId, ec_objtype.ObjectTypeID, addEnginedata.EngineDataID, entity); propBll.SaveEngineProp(ProjectId, TagProps); diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerEntity.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerEntity.cs index 67e3ea81..312a31cf 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerEntity.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerEntity.cs @@ -327,6 +327,8 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC [SugarColumn(IsIgnore = true)] public string RemoteDeviceObjectType { get; set; } + [SugarColumn(IsIgnore = true)] + public ec_enginedataEntity Tag { get; set; } #endregion } /// diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerService.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerService.cs index 889b8c1a..d7cbe3d0 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerService.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_CircuitBreaker/ec_CircuitBreakerService.cs @@ -171,6 +171,10 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { //ProjectEntity = this.BaseRepository().FindEntity(ProjectId); ProjectEntity = new ec_projectBLL().GetEntity(ProjectId); + if (ProjectEntity == null) + { + return; + } } else { diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_drawing_file/ec_drawing_fileBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_drawing_file/ec_drawing_fileBLL.cs index d469531f..fbf3e221 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_drawing_file/ec_drawing_fileBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_drawing_file/ec_drawing_fileBLL.cs @@ -1441,7 +1441,10 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC Db.Insertable(addEngineDataList).AS($"ec_enginedata_{targetProject.ProjectIndex}").ExecuteCommand(); Db.Insertable(addPixelList).AS($"ec_enginedata_pixel_{targetProject.ProjectIndex}").ExecuteCommand(); - Db.Insertable(addPropertyList).AS($"ec_enginedata_property_{targetProject.ProjectIndex}").ExecuteCommand(); + //Db.Insertable(addPropertyList).AS($"ec_enginedata_property_{targetProject.ProjectIndex}").ExecuteCommand(); + Db.Fastest().AS($"ec_enginedata_property_{targetProject.ProjectIndex}") + .PageSize(10000) + .BulkCopy(addPropertyList); Db.Insertable(addCableList).AS($"ec_cable_{targetProject.ProjectIndex}").ExecuteCommand(); Db.Insertable(addSetList).AS($"ec_Cable_Set_{targetProject.ProjectIndex}").ExecuteCommand(); diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_property/ec_enginedata_propertyBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_property/ec_enginedata_propertyBLL.cs index 42f5253d..a3f475cb 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_property/ec_enginedata_propertyBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_property/ec_enginedata_propertyBLL.cs @@ -1,4 +1,5 @@ using Learun.Util; +using Learun.Util.SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -86,7 +87,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// /// 将一些特殊的对象,其属性对应到ec-EngineData-property上。 /// 原则是:对象的属性名 = objectType关联下的PropertyName。 - /// 如果没找到,还是会按照objectType关联的属性来一份,无非是属性为空。 + /// 比如开关,其属性不是在右侧属性栏里输入的,而是在开关箱管理界面,所以不得不这样。那能不能搞一个和右侧属性里一样的 /// /// /// @@ -94,12 +95,20 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// /// public List ConvertPropToEngineProp(string ProjId, string ObjectTypeId, string EngineDataId, T Obj) - { - var objectTypePBll = new ec_objecttypepBLL(); - var typeP = objectTypePBll.GetObjectTypePById(ObjectTypeId, ProjId, true); - //属性还是要去存enginedata_prop表 + { var type = Obj.GetType(); var propsInClass = type.GetProperties(); + var objectTypePBll = new ec_objecttypepBLL(); + #region addauto + var existObjectTypeP = SqlSugarHelper.Db.Queryable().Where(x=>x.ObjectTypeID == ObjectTypeId).ToList(); + foreach (var propDef in propsInClass) + { + + } + #endregion + var typeP = objectTypePBll.GetObjectTypePById(ObjectTypeId, ProjId, true); + //属性还是要去存enginedata_prop表 + var TagProps = new List(); foreach (var prop in typeP) { diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeBLL.cs index dd7a7754..c825eba3 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeBLL.cs @@ -58,7 +58,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// 0:对象类型、1:位号、2:图纸 /// 位号的关键字 /// - public List GetObjectTypeData3Level(string projectId, string dataType, string KeyWord = "") + public List GetObjectTypeData3Level(string projectId, string dataType, string KeyWord = "",bool showOOTB = false) { List treeList = new List(); @@ -78,7 +78,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC if (dataType.Equals("0") || dataType.Equals("1") || dataType.Equals("2")) { //获取所有的对象类型的基础信息 - var listObjectType = GetList("{\"ProjectId\":\"" + projectId + "\"}", null).ToList(); + var listObjectType = GetList("{\"ProjectId\":\"" + projectId + "\"}", null, showOOTB).ToList(); //包括关键字的对象类型 var listObjectTypeFiltered = listObjectType.Where(x => x.ObjectTypeName.Contains(KeyWord) || x.ObjectTypeNameEN.Contains(KeyWord)).ToList(); //查询位号的基础信息 diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeIBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeIBLL.cs index f836ea6f..1b18241e 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeIBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_objecttype/ec_objecttypeIBLL.cs @@ -15,7 +15,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC #region 获取数据 List GetLayoutFilterList(string projId, string objTypeId); - List GetObjectTypeData3Level(string projectId, string dataType, string KeyWord = ""); + List GetObjectTypeData3Level(string projectId, string dataType, string KeyWord = "",bool showOOTB=false); /// /// 获取列表数据 /// diff --git a/SWSDBSchemeUpgradeTool/obj/Debug/SWSDBSchemeUpgradeTool_MarkupCompile.lref b/SWSDBSchemeUpgradeTool/obj/Debug/SWSDBSchemeUpgradeTool_MarkupCompile.lref index 84466716..633d7ec8 100644 --- a/SWSDBSchemeUpgradeTool/obj/Debug/SWSDBSchemeUpgradeTool_MarkupCompile.lref +++ b/SWSDBSchemeUpgradeTool/obj/Debug/SWSDBSchemeUpgradeTool_MarkupCompile.lref @@ -1,5 +1,5 @@  -FE:\Di-Electrical\SWSDBSchemeUpgradeTool\MainWindow.xaml;; -FE:\Di-Electrical\SWSDBSchemeUpgradeTool\SQLPreview.xaml;; +FC:\repo\CODE\009_DI-Elec\SWSDBSchemeUpgradeTool\MainWindow.xaml;; +FC:\repo\CODE\009_DI-Elec\SWSDBSchemeUpgradeTool\SQLPreview.xaml;;