From 752f3d8668eb3c631634bb2fd246967e3b66ff5f Mon Sep 17 00:00:00 2001 From: xingheng Date: Mon, 15 Sep 2025 20:28:38 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E6=97=B6=E5=AF=B9redis=E7=9A=84=E6=B8=85=E7=90=86=202.?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A3=80=E5=85=A5=E6=97=B6=E7=9A=84=E9=80=9F?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppApi/DrawingFileApiController.cs | 52 +---- .../AppApi/EnginedataApiController.cs | 2 +- .../AppApi/ObjectTypeApiController.cs | 30 +-- .../AppApi/RelApiController.cs | 10 +- .../Controllers/ec_drawing_fileController.cs | 2 +- .../Controllers/ec_enginedataController.cs | 2 +- .../ec_enginedata_pixelController.cs | 12 +- Learun.Application.Web/Global.asax.cs | 9 +- .../Learun.Application.Web.csproj.user | 2 +- .../ec_drawing_file/ec_drawing_fileBLL.cs | 2 +- .../ZZDT_EC/ec_enginedata/ec_enginedataBLL.cs | 211 +++++------------- .../ec_enginedata/ec_enginedataEntity.cs | 6 + .../ec_enginedata/ec_enginedataService.cs | 27 ++- .../ec_enginedata_pixelBLL.cs | 176 +++++++-------- .../ec_enginedata_pixelIBLL.cs | 2 +- .../ec_enginedata_pixelService.cs | 60 +++-- .../ZZDT_EC/ec_objecttype/ec_objecttypeBLL.cs | 2 +- .../ec_project_bakup/ec_project_bakupBLL.cs | 2 +- .../Learun.Application.WeChat.csproj.user | 6 + .../Learun.Cache.Redis/CacheByRedis.cs | 3 +- SWSDBSchemeUpgradeTool/MainWindow.xaml.cs | 2 +- 21 files changed, 254 insertions(+), 366 deletions(-) create mode 100644 Learun.Framework.Module/Learun.Application.Module/Learun.Application.WeChat/Learun.Application.WeChat.csproj.user diff --git a/Learun.Application.Web/AppApi/DrawingFileApiController.cs b/Learun.Application.Web/AppApi/DrawingFileApiController.cs index ffdbe1f7..29b4eb0a 100644 --- a/Learun.Application.Web/AppApi/DrawingFileApiController.cs +++ b/Learun.Application.Web/AppApi/DrawingFileApiController.cs @@ -406,57 +406,7 @@ namespace Learun.Application.Web.AppApi return Fail(ex.Message); } } - - /// - /// 检入图纸文件 - /// - /// 项目ID - /// 图纸文件ID - /// 描述 - /// 文件夹ID - /// 文件MD5 - /// 待通知的用户,逗号分隔 - /// - [HttpPost] - [Obsolete] - public IHttpActionResult CheckInDrawingFile(string projectId, string drawingFileID, string remark, string folderId, string fileMD5, string UsersNotified) - { - //如何避免数据丢失 - try - { - var httpContent = Request.Content; - var asyncContent = httpContent.ReadAsStringAsync().Result; - List entityList = asyncContent.ToList(); - if (entityList == null || entityList.Count == 0) - { - //避免前端因频繁切换图纸造成检入时,一个都没有,而把数据库里的都清空了 - XmlConfigurator.Configure(); - var log = log4net.LogManager.GetLogger("INFO"); //参数就是config里logger节点的名字 - log.Error($"★★★{DateTime.Now.ToString()}★★★Drawing Check In Only 0 Pixel【DrawingId:{drawingFileID}】★★★"); - //return Success("检入成功!"); - //entityList = new List(); - } - else if (string.IsNullOrEmpty(folderId)) - { - log4net.LogManager.GetLogger("ERROR").Error("检入图纸 - " + "无效的空白FolderId"); - throw new Exception("检入图纸 - " + "无效的空白FolderId"); - } - else - { - pixelBll.SavePixels(entityList, projectId, drawingFileID); - - } - //换了下顺序,先SaveMuliteEntity,再CheckInDrawingFile。这样就算SaveMuliteEntity报错了,但是图纸至少不会被检入,免得出现之前数据丢失的问题 - ec_drawing_fileIBLL.CheckInDrawingFile(drawingFileID, remark, folderId, fileMD5, projectId, UsersNotified); - - return Success("检入成功!"); - } - catch (Exception ex) - { - return Fail(ex.Message); - } - } - /// + /// 检入图纸文件(修改消息) /// /// 项目ID diff --git a/Learun.Application.Web/AppApi/EnginedataApiController.cs b/Learun.Application.Web/AppApi/EnginedataApiController.cs index 6d2b47b2..3b44e02f 100644 --- a/Learun.Application.Web/AppApi/EnginedataApiController.cs +++ b/Learun.Application.Web/AppApi/EnginedataApiController.cs @@ -62,7 +62,7 @@ namespace Learun.Application.Web.AppApi { List res = new List(); var ec_enginedata_pixelBLL = new ec_enginedata_pixelBLL(); - var data = ec_enginedata_pixelBLL.GetList("{\"ProjectId\":\"" + projectId + "\",\"EngineDataID\":\"" + EngineDataID + "\"}"); + var data = ec_enginedata_pixelBLL.GetList("{\"ProjectId\":\"" + projectId + "\",\"EngineDataID\":\"" + EngineDataID + "\"}",projectId); return Success(data); } diff --git a/Learun.Application.Web/AppApi/ObjectTypeApiController.cs b/Learun.Application.Web/AppApi/ObjectTypeApiController.cs index 82f5cf87..c50e9ba2 100644 --- a/Learun.Application.Web/AppApi/ObjectTypeApiController.cs +++ b/Learun.Application.Web/AppApi/ObjectTypeApiController.cs @@ -548,11 +548,11 @@ namespace Learun.Application.Web.AppApi foreach (ec_enginedata_propertyEntity TagProp in tag.EngineDataProperty) { - if (TagProp.PropertyName == "起始设备") + if (TagProp.PropertyName == GlobalObject.propName_From) { TagProp.PropertyValue = CableConn.End1Tag; } - else if (TagProp.PropertyName == "终止设备") + else if (TagProp.PropertyName ==GlobalObject.propName_To) { TagProp.PropertyValue = CableConn.End2Tag; } @@ -630,12 +630,12 @@ namespace Learun.Application.Web.AppApi //电缆from to var CableConn = relBll.GetCableConn(tag.EngineDataID, projectId); - if (!tag.EngineDataProperty.Any(X => X.PropertyName == "起始设备")) + if (!tag.EngineDataProperty.Any(X => X.PropertyName == GlobalObject.propName_From)) { var newProp = new ec_enginedata_propertyEntity() { EngineDataID = tag.EngineDataID, - PropertyName = "起始设备", + PropertyName = GlobalObject.propName_From, //CaseID = string.IsNullOrEmpty(caseID) ? tag.CaseID : caseID, }; newProp.Create(); @@ -643,12 +643,12 @@ namespace Learun.Application.Web.AppApi ec_enginedata_propertyBLL.InsertTagProp(projectId, tag.EngineDataID, newProp); tag.EngineDataProperty.Add(newProp); } - if (!tag.EngineDataProperty.Any(X => X.PropertyName == "终止设备")) + if (!tag.EngineDataProperty.Any(X => X.PropertyName == GlobalObject.propName_To)) { var newProp = new ec_enginedata_propertyEntity() { EngineDataID = tag.EngineDataID, - PropertyName = "终止设备", + PropertyName = GlobalObject.propName_To, //CaseID = string.IsNullOrEmpty(caseID) ? tag.CaseID : caseID, }; newProp.Create(); @@ -657,13 +657,13 @@ namespace Learun.Application.Web.AppApi tag.EngineDataProperty.Add(newProp); } - var TagProp = tag.EngineDataProperty.FirstOrDefault(X => X.PropertyName == "起始设备"); + var TagProp = tag.EngineDataProperty.FirstOrDefault(X => X.PropertyName == GlobalObject.propName_From); if (TagProp != null) { TagProp.PropertyValue = CableConn.End1Tag; } TagProp = null; - TagProp = tag.EngineDataProperty.FirstOrDefault(X => X.PropertyName == "终止设备"); + TagProp = tag.EngineDataProperty.FirstOrDefault(X => X.PropertyName == GlobalObject.propName_To); if (TagProp != null) { TagProp.PropertyValue = CableConn.End2Tag; @@ -775,12 +775,12 @@ namespace Learun.Application.Web.AppApi tag.EngineDataProperty = engineDataProps.Where(x => x.EngineDataID == tag.EngineDataID).ToList(); //BUG 1483 - if (!tag.EngineDataProperty.Any(X => X.PropertyName == "起始设备")) + if (!tag.EngineDataProperty.Any(X => X.PropertyName == GlobalObject.propName_From)) { var newProp = new ec_enginedata_propertyEntity() { EngineDataID = tag.EngineDataID, - PropertyName = "起始设备", + PropertyName = GlobalObject.propName_From, //CaseID = string.IsNullOrEmpty(caseID) ? tag.CaseID : caseID, }; newProp.Create(); @@ -788,12 +788,12 @@ namespace Learun.Application.Web.AppApi ec_enginedata_propertyIBLL.InsertTagProp(projectId, tag.EngineDataID, newProp); tag.EngineDataProperty.Add(newProp); } - if (!tag.EngineDataProperty.Any(X => X.PropertyName == "终止设备")) + if (!tag.EngineDataProperty.Any(X => X.PropertyName == GlobalObject.propName_To)) { var newProp = new ec_enginedata_propertyEntity() { EngineDataID = tag.EngineDataID, - PropertyName = "终止设备", + PropertyName = GlobalObject.propName_To, //CaseID = string.IsNullOrEmpty(caseID) ? tag.CaseID : caseID, }; newProp.Create(); @@ -804,11 +804,11 @@ namespace Learun.Application.Web.AppApi foreach (ec_enginedata_propertyEntity TagProp in tag.EngineDataProperty) { - if (TagProp.PropertyName == "起始设备") + if (TagProp.PropertyName == GlobalObject.propName_From) { TagProp.PropertyValue = CableConn.End1Tag; } - else if (TagProp.PropertyName == "终止设备") + else if (TagProp.PropertyName == GlobalObject.propName_To) { TagProp.PropertyValue = CableConn.End2Tag; } @@ -921,7 +921,7 @@ namespace Learun.Application.Web.AppApi foreach (var DuplicatePixelData in data) { //先根据老的图例,找出工程ID - var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + DuplicatePixelData.oldPixelCode + "\",\"DrawingFileID\":\"" + oldDrawingID + "\"}"). + var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + DuplicatePixelData.oldPixelCode + "\",\"DrawingFileID\":\"" + oldDrawingID + "\"}", ProjectId). Where(x => x.EngineDataID != ""). Select(x => x.EngineDataID).Distinct(); if (EngineDataIDs == null) diff --git a/Learun.Application.Web/AppApi/RelApiController.cs b/Learun.Application.Web/AppApi/RelApiController.cs index b05b934b..cd1f2e2c 100644 --- a/Learun.Application.Web/AppApi/RelApiController.cs +++ b/Learun.Application.Web/AppApi/RelApiController.cs @@ -214,7 +214,7 @@ namespace Learun.Application.Web.AppApi //根据句柄和图纸,先把工程id查出来先 var drawingID = CablePixelID.DrawingID; var pixelID = CablePixelID.CablePixelID; - var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + pixelID + "\",\"DrawingFileID\":\"" + drawingID + "\"}").Distinct(); + var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + pixelID + "\",\"DrawingFileID\":\"" + drawingID + "\"}", ProjectId).Distinct(); if (EngineDataIDs != null && EngineDataIDs.Count() == 1) { var engineDataPixel = EngineDataIDs.First(); @@ -509,9 +509,9 @@ namespace Learun.Application.Web.AppApi } //根据句柄和图纸,先把工程id查出来先 //获取工程数据图元数据 - var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.TagPixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}"). + var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.TagPixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}", ProjectId). Select(x => x.EngineDataID).Distinct(); - var CableIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.CablePixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}"). + var CableIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.CablePixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}", ProjectId). Select(x => x.EngineDataID).Distinct(); if (EngineDataIDs != null && EngineDataIDs.Count() == 1 && CableIDs != null && CableIDs.Count() == 1) { @@ -536,9 +536,9 @@ namespace Learun.Application.Web.AppApi { //根据句柄和图纸,先把工程id查出来先 //获取工程数据图元数据 - var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.TagPixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}"). + var EngineDataIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.TagPixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}",ProjectId). Select(x => x.EngineDataID).Distinct(); - var CableIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.CablePixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}"). + var CableIDs = pixelServ.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"PixelCode\":\"" + relData.CablePixelID + "\",\"DrawingFileID\":\"" + relData.DrawingID + "\"}", ProjectId). Select(x => x.EngineDataID).Distinct(); if (EngineDataIDs != null && EngineDataIDs.Count() == 1 && CableIDs != null && CableIDs.Count() == 1) { diff --git a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_drawing_fileController.cs b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_drawing_fileController.cs index ce134c71..806bfb29 100644 --- a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_drawing_fileController.cs +++ b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_drawing_fileController.cs @@ -55,7 +55,7 @@ namespace Learun.Application.Web.Areas.ZZDT_EC.Controllers return View(); } /// - /// 回收站 + /// 图纸回收站 /// /// [HttpGet] diff --git a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedataController.cs b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedataController.cs index b7c86a01..2ebe07da 100644 --- a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedataController.cs +++ b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedataController.cs @@ -40,7 +40,7 @@ namespace Learun.Application.Web.Areas.ZZDT_EC.Controllers return View(); } /// - /// 工程数据回收站 + /// 工程数据Tag回收站 /// /// [HttpGet] diff --git a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedata_pixelController.cs b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedata_pixelController.cs index 3fced1d3..8cb7936f 100644 --- a/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedata_pixelController.cs +++ b/Learun.Application.Web/Areas/ZZDT_EC/Controllers/ec_enginedata_pixelController.cs @@ -32,17 +32,7 @@ namespace Learun.Application.Web.Areas.ZZDT_EC.Controllers #region 获取数据 - /// - /// 获取列表数据 - /// - /// - [HttpGet] - [AjaxOnly] - public ActionResult GetList(string queryJson) - { - var data = ec_enginedata_pixelIBLL.GetList(queryJson); - return Success(data); - } + /// /// 获取工程数据图元表数据 /// diff --git a/Learun.Application.Web/Global.asax.cs b/Learun.Application.Web/Global.asax.cs index 0f239625..b82c196c 100644 --- a/Learun.Application.Web/Global.asax.cs +++ b/Learun.Application.Web/Global.asax.cs @@ -1,5 +1,7 @@ using Learun.Application.Scheduler; using Learun.Application.Web.Common; +using Learun.Cache.Base; +using Learun.Cache.Factory; using System; using System.Timers; using System.Web; @@ -30,12 +32,17 @@ namespace Learun.Application.Web GlobalConfiguration.Configure(WebApiConfig.Register); RouteConfig.RegisterRoutes(RouteTable.Routes); - + ////一天执行一次备份 Timer timer = new Timer(86400000); //timer.Elapsed += Timer_Elapsed; //timer.Start(); + + #region redis清理 + ICache redisObj = CacheFactory.CaChe(); + redisObj.RemoveAll(); + #endregion } private void Timer_Elapsed(object sender, ElapsedEventArgs e) diff --git a/Learun.Application.Web/Learun.Application.Web.csproj.user b/Learun.Application.Web/Learun.Application.Web.csproj.user index 7b853d90..e3b381c6 100644 --- a/Learun.Application.Web/Learun.Application.Web.csproj.user +++ b/Learun.Application.Web/Learun.Application.Web.csproj.user @@ -18,7 +18,7 @@ True False - ShowAllFiles + ProjectFiles 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 324459e2..d311aa34 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 @@ -986,7 +986,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC #region 工程数据和图面 - var resourcePixelList = ec_enginedata_pixelService.GetList("{ProjectId:\"" + item.ProjectId + "\",DrawingFileID:\"" + item.DrawingFileID + "\"}").ToList(); + var resourcePixelList = ec_enginedata_pixelService.GetList("{ProjectId:\"" + item.ProjectId + "\",DrawingFileID:\"" + item.DrawingFileID + "\"}",ProjectId).ToList(); if (resourcePixelList != null && resourcePixelList.Count() > 0)//不包含deleteflg的 { //获取拷贝图纸所有的工程数据ID diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataBLL.cs index 00cf9631..66983972 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataBLL.cs @@ -2,6 +2,7 @@ using DocumentFormat.OpenXml.ExtendedProperties; using DocumentFormat.OpenXml.Office2010.Excel; using DocumentFormat.OpenXml.Office2013.Drawing.Chart; +using DocumentFormat.OpenXml.Office2021.DocumentTasks; using DocumentFormat.OpenXml.Spreadsheet; @@ -87,7 +88,8 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC var drawingInfo = Db.Queryable().AS(drawingfileTableName) .LeftJoin((edf, edid) => edf.DrawingSystem == edid.DataItemDetailID).AS(dataitemdetailTableName) .Where((edf, edid) => edf.DrawingFileID == drawingId) - .Select((edf, edid) => new { + .Select((edf, edid) => new + { edid.DataItemName, edf.DrawingFileName, edid.UpDataItemDetailID @@ -126,7 +128,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC allTag = FilterEngineDataBySystemTopName(propertiesOfEnginedata, allTag, topDataItemDetailName, dataitemdetailTableName); } var allType = Db.Queryable().AS(typeT). - Where(x => allTag.Select(y => y.ObjectTypeID).Contains(x.ObjectTypeID) + Where(x => allTag.Select(y => y.ObjectTypeID).Contains(x.ObjectTypeID) && !x.FullPathCN.EndsWith("图框") && !x.FullPathCN.EndsWith(GlobalObject.objectType_Base) && !x.FullPathCN.EndsWith("OPC")).Distinct().ToList(); @@ -226,8 +228,8 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC groupedProps[cableId] = props; } - bool hasStart = props.Any(x => x.PropertyName == "起始设备"); - bool hasEnd = props.Any(x => x.PropertyName == "终止设备"); + bool hasStart = props.Any(x => x.PropertyName == GlobalObject.propName_From); + bool hasEnd = props.Any(x => x.PropertyName == GlobalObject.propName_To); var cableTypeName = cableTypeMap.TryGetValue(cableId, out var typeName) ? typeName : "电缆"; if (!hasStart) @@ -236,12 +238,12 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { EngineDataID = cableId, ObjectTypeName = cableTypeName, - PropertyName = "起始设备", + PropertyName = GlobalObject.propName_From, PropertyValue = "" }; props.Add(newStartProp); allTagProps.Add(newStartProp); // ✅ 加入总集合 - tagPropDict[(cableId, "起始设备")] = newStartProp; // ✅ 加入/覆盖字典 + tagPropDict[(cableId, GlobalObject.propName_From)] = newStartProp; // ✅ 加入/覆盖字典 } if (!hasEnd) @@ -250,18 +252,18 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { EngineDataID = cableId, ObjectTypeName = cableTypeName, - PropertyName = "终止设备", + PropertyName = GlobalObject.propName_To, PropertyValue = "" }; props.Add(newEndProp); allTagProps.Add(newEndProp); // ✅ 加入总集合 - tagPropDict[(cableId, "终止设备")] = newEndProp; // ✅ 加入/覆盖字典 + tagPropDict[(cableId, GlobalObject.propName_To)] = newEndProp; // ✅ 加入/覆盖字典 } } // 整合所有补全后的属性 var cableProperties = groupedProps.Values.SelectMany(g => g) - .Where(x => x.PropertyName == "起始设备" || x.PropertyName == "终止设备") + .Where(x => x.PropertyName == GlobalObject.propName_From || x.PropertyName == GlobalObject.propName_To) .ToList(); // 一次性获取所有连接信息 @@ -271,18 +273,18 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { if (cableRelDict.TryGetValue(changeprofromto.EngineDataID, out var conn)) { - if (changeprofromto.PropertyName == "起始设备") + if (changeprofromto.PropertyName == GlobalObject.propName_From) { changeprofromto.PropertyValue = conn.End1Tag; } - else if (changeprofromto.PropertyName == "终止设备") + else if (changeprofromto.PropertyName == GlobalObject.propName_To) { changeprofromto.PropertyValue = conn.End2Tag; } } } - + foreach (var type in allType) { string sheetName = $"{seq}_{type.ObjectTypeName}"; @@ -320,7 +322,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC // 4. 处理 `RequireIfRequired` 依赖项 foreach (var item in requireIfRequiredProps) { - if (requiredProps.ContainsKey(item.trigger_property_id) && (item.IsRequired == -1 || item.IsRequired == null || item.IsRequired==0))//isrequired==0是因为历史遗留数据,正常情况是没有0的 + if (requiredProps.ContainsKey(item.trigger_property_id) && (item.IsRequired == -1 || item.IsRequired == null || item.IsRequired == 0))//isrequired==0是因为历史遗留数据,正常情况是没有0的 { //在必填的里面累加不必填的内容,但是需要处理依赖项的 allLinkedPropSet.Add(item); @@ -366,21 +368,21 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { curSheet.Cells[curRow, 1].Value = tag.TagNumber; //var tagPropDict = allTagProps - //.GroupBy(x => (x.EngineDataID, x.PropertyName)) - //.ToDictionary(g => g.Key, g => g.First()); + //.GroupBy(x => (x.EngineDataID, x.PropertyName)) + //.ToDictionary(g => g.Key, g => g.First()); var tagProp = tagPropDict.TryGetValue((tag.EngineDataID, propDef.PropertyName), out var propVal) ? propVal : null; //var tagProp = allTagProps.FirstOrDefault(x => x.EngineDataID == tag.EngineDataID && x.PropertyName == propDef.PropertyName); if (tagProp == null) { - if (!string.IsNullOrEmpty(propDef.DefaultValue) && propDef.DefaultValue != "0") - { - curSheet.Cells[curRow, propCol].Value = propDef.DefaultValue; - } - else - { - CheckDependency(prop, allTagProps, tag, triggerProName, triggerOperator, triggerValue, curSheet, curRow, propCol, allLinkedPropId); - } + if (!string.IsNullOrEmpty(propDef.DefaultValue) && propDef.DefaultValue != "0") + { + curSheet.Cells[curRow, propCol].Value = propDef.DefaultValue; + } + else + { + CheckDependency(prop, allTagProps, tag, triggerProName, triggerOperator, triggerValue, curSheet, curRow, propCol, allLinkedPropId); + } } else if (string.IsNullOrEmpty(tagProp.PropertyValue) || tagProp.PropertyValue == "0") { @@ -536,7 +538,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC curSheet.Cells[1, 1, totalRows, totalColumns].Style.Locked = false; curSheet.Cells[1, 1, 1, totalColumns].Style.Locked = true; // 锁定第一行 curSheet.Cells[1, 1, totalRows, 1].Style.Locked = true; // 锁定第一列 - curSheet.Protection.IsProtected = true; + curSheet.Protection.IsProtected = true; curSheet.Protection.AllowFormatColumns = true; // 允许调整列宽 } @@ -596,7 +598,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { var isRequired = tagDepObjtypep.IsRequired;//上级的必填阶段值 //只有当前属性的必填阶段大于等于上级关联的必填阶段时才会去判断自身是不是要必填,不然都没有检查下去的必要 - if(prop.IsRequired >= isRequired) + if (prop.IsRequired >= isRequired) { //取某个位号的工程数据属性 var tagDepProp = allTagProps.FirstOrDefault(x => x.EngineDataID == tag.EngineDataID && x.PropertyName == triggerProName); @@ -612,7 +614,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } } } - + } } else if (prop.dependency_type.Equals(dependency_type.RequireIfRequired)) @@ -633,7 +635,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC else { //不依赖特定条件,且没有默认值,变色 - SetCellColor(curSheet, curRow, propCol, prop.IsRequired, dependency_type.RequireNone,""); + SetCellColor(curSheet, curRow, propCol, prop.IsRequired, dependency_type.RequireNone, ""); } } /// @@ -643,7 +645,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// 行 /// 列 /// 图纸阶段 - private void SetCellColor(ExcelWorksheet curSheet, int row, int col, int? isRequired, dependency_type deType, string strTriggerProName="", Dictionary fillStyleCache = null) + private void SetCellColor(ExcelWorksheet curSheet, int row, int col, int? isRequired, dependency_type deType, string strTriggerProName = "", Dictionary fillStyleCache = null) { curSheet.Cells[row, col].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; @@ -808,7 +810,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC .Where((ed, edp, eo) => !SqlFunc.Contains(eo.ObjectTypeName, "%电缆") && !SqlFunc.Contains(eo.ObjectTypeName, "%图框") && - !SqlFunc.Contains(eo.ObjectTypeName, "%"+ GlobalObject.objectType_Base) && + !SqlFunc.Contains(eo.ObjectTypeName, "%" + GlobalObject.objectType_Base) && !SqlFunc.Contains(eo.ObjectTypeName, "%OPC") && validEngineDataIds.Contains(ed.EngineDataID) ) @@ -1165,7 +1167,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC #endregion #region 提交数据 - public async Task LockTag(string projId, string enginedataId, string action) + public async System.Threading.Tasks.Task LockTag(string projId, string enginedataId, string action) { var data = LoginUserInfo.Get(); @@ -1505,6 +1507,8 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC var objectTypeTableName = TableName(ProjectEntity.ProjectIndex.ToString()); var objectTypepTableName = TableName(ProjectEntity.ProjectIndex.ToString()); var unitTableName = TableName(ProjectEntity.ProjectIndex.ToString()); + var relTableName = TableName(ProjectEntity.ProjectIndex.ToString()); + var reldataTableName = TableName(ProjectEntity.ProjectIndex.ToString()); var lookupBll = new ec_REFLOOKUPTABLEBLL(); @@ -1715,10 +1719,10 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //db.UpdateByNoMap(curEnginedata, $"ec_enginedata_{ProjectEntity.ProjectIndex}", "EngineDataID"); Db.Updateable(curEnginedata).AS($"ec_enginedata_{ProjectEntity.ProjectIndex}").ExecuteCommand(); - + } - engineDataID = curEnginedata.EngineDataID;//更新位号时 + engineDataID = curEnginedata.EngineDataID;//更新位号时 #endregion } else @@ -1774,37 +1778,8 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC validTagProps.Add(engineDataProp); } Db.Insertable(validTagProps).AS($"ec_enginedata_property_{ProjectEntity.ProjectIndex}").ExecuteCommand(); - #endregion + #endregion - #region 新增属性(其他的所有case,值用默认值) - //foreach (var caseEntity in cases.Where(x => x.CaseID != caseID)) - //{ - // //把objectTypep里的一套,和默认值带过来即可 - // var enginedataProps = new List(); - // Db.Queryable().AS(propertyTableName) - // .InnerJoin((a, b) => a.PropertyID == b.PropertyID)//&& !string.IsNullOrEmpty(a.DefaultValue) - // .AS(objectTypepTableName) - // .InnerJoin((a, b, c) => b.ObjectTypeID == c.ObjectTypeID && c.ObjectTypeID == entity.ObjectTypeID) - // .AS(objectTypeTableName) - // .LeftJoin((a, b, c, d) => a.DefaultUnit == d.MeasuringUnitID) - // .AS(unitTableName) - // .Select((a, b, c, d) => new { a, d }) - // .ToList().ForEach(x => - // { - // var enginedataProp = new ec_enginedata_propertyEntity() - // { - // EngineDataID = engineDataID, - // PropertyName = x.a.PropertyName, - // PropertyValue = x.a.DefaultValue, - // MeasuringUnit = x.d.MeasuringUnitName, - // CaseID = caseEntity.CaseID, - // }; - // enginedataProp.Create(); - // enginedataProps.Add(enginedataProp); - // }); - // Db.Insertable(enginedataProps).AS($"ec_enginedata_property_{ProjectEntity.ProjectIndex}").ExecuteCommand(); //231007 - //} - #endregion #region 新增ec panel的记录(除了电缆) var objectType = new ec_objecttypeBLL().GetEntity(addEnginedata.ObjectTypeID, projectId); if (objectType != null && !objectType.ObjectTypeName.EndsWith("电缆") && objectType.IsOOTB != 1) @@ -1830,6 +1805,24 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC First(x => x.DrawingFileID == pixel.DrawingFileID && x.PixelCode == pixel.PixelCode); if (existPixel != null) { + #region TASK #9476 + //是否这个句柄换过位号?换过的话,更新为当前位号,同时要更新相关电缆的from/to + var oldTagId = existPixel.EngineDataID; + var newTagId = engineDataID; + if (oldTagId != newTagId) + { + //句柄换位号主体了 + //原本句柄相关的rel + var relObj = Db.Queryable().AS(relTableName).First(x => x.RelType == "0"); + if (relObj != null) { + var existCableConns = Db.Queryable().AS(reldataTableName). + Where(x => x.RelTypeID == relObj.RelTypeID && (x.RelEngineData1ID == oldTagId || x.RelEngineData2ID == oldTagId)).ToList(); + //这里有问题。 + //比如设备B在多个图上多有句柄P1 P2 P3,且这些句柄都关联了多个电缆C1 C2 C3,那么在rel表里就有3个B的记录 + //这时如果进行提交,句柄P1的主体变为了设备BBB,那么B的所有句柄P1 P2 P3都变为BBB了,没有单独分离出来 C1 C2 C3中的某一个 + } + } + #endregion existPixel.Modify(existPixel.EngineDataPixelID); existPixel.DeleteFlg = 0; existPixel.EngineDataID = engineDataID; @@ -1858,102 +1851,10 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC - - - #region 电缆规格 - //更新电缆规格 - //var cableTableName = ProjectSugar.TableName(projectId); - //var enginedataTableName = ProjectSugar.TableName(projectId); - //var enginedataPropertyTableName = ProjectSugar.TableName(projectId); - //var cableFormat = SqlSugarHelper.Db.Queryable().AS(cableTableName) - // .InnerJoin((a, b) => a.EngineerDataID == b.EngineDataID).AS(enginedataPropertyTableName) - // .InnerJoin((a, b, c) => b.EngineDataID == c.EngineDataID).AS(enginedataTableName) - // .Where((a, b, c) => b.PropertyName == GlobalObject.propName_CableSpec && b.CaseID == caseID && c.TagNumber == entity.TagNumber) - // .Select((a, b, c) => new { a, b }) - // .First(); - //if (cableFormat != null) - //{ - // var cableID = cableFormat.a.CableID; - // var start = cableFormat.b.PropertyValue.Split('*', 'x', 'X', '✖'); - // if (start.Length >= 2) - // { - // int setCount; - // int wireCount; - // var b1 = int.TryParse(start[0], out setCount); - // var b2 = int.TryParse(start[1], out wireCount); - // if (b1 && b2) - // { - // var cableSetTableName = ProjectSugar.TableName(projectId); - // var cableSetWireTableName = ProjectSugar.TableName(projectId); - // var sets = SqlSugarHelper.Db.Queryable().AS(cableSetTableName).Where(x => x.CableID == cableID).ToList(); - // var wires = SqlSugarHelper.Db.Queryable().AS(cableSetWireTableName).Where(x => sets.Select(Y => Y.CableSetID).Contains(x.CableSetID)).ToList(); - // var setMax = Math.Max(setCount, sets.Count); - // var insSets = new List(); - // var insWires = new List(); - // var delSets = new List(); - // var delWires = new List(); - // for (int i = 0; i < setMax; i++) - // { - // var set = new ec_CableSetEntity(); - // if (i <= setCount - 1 && i <= sets.Count - 1) - // { - // set = sets[i]; - // } - // if (i > setCount - 1) - // { - // var delSet = sets[i]; - // delSets.Add(delSet); - // delWires.AddRange(wires.Where(x => x.CableSetID == delSet.CableSetID).ToList()); - // } - // if (i > sets.Count - 1) - // { - // set = new ec_CableSetEntity() - // { - // CableID = cableID, - // CableSetSeq = i + 1, - // CableSetName = $"Set{i + 1}", - // }; - // set.Create(); - // insSets.Add(set); - // } - // if (!string.IsNullOrEmpty(set.CableSetID)) - // { - // var setWires = wires.Where(x => x.CableSetID == set.CableSetID).ToList(); - // var wireMax = Math.Max(wireCount, setWires.Count); - // for (int j = 0; j < wireMax; j++) - // { - // if (j > wireCount - 1) - // { - // var delWire = setWires[j]; - // delWires.Add(delWire); - // } - // if (j > setWires.Count - 1) - // { - // var wire = new ec_CableSetWireEntity() - // { - // //CableID = cableID, - // CableSetID = set.CableSetID, - // SetLevel = j, - // Wire_Tag = $"W{j + 1}" - // }; - // wire.Create(); - // insWires.Add(wire); - // } - // } - // } - // } - // SqlSugarHelper.Db.Insertable(insSets).AS(cableSetTableName).ExecuteCommand(); - // SqlSugarHelper.Db.Insertable(insWires).AS(cableSetWireTableName).ExecuteCommand(); - // SqlSugarHelper.Db.Deleteable(delWires).AS(cableSetWireTableName).ExecuteCommand(); - // SqlSugarHelper.Db.Deleteable(delSets).AS(cableSetTableName).ExecuteCommand(); - // } - // } - //} - #endregion Db.CommitTran(); } catch (Exception ex) - { + { log4net.LogManager.GetLogger("ERROR").Error(ex.StackTrace + " || " + ex.Message); Db.RollbackTran(); if (ex is ExceptionEx) diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataEntity.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataEntity.cs index 50ff8185..33d5aae5 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataEntity.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataEntity.cs @@ -136,6 +136,12 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC UserInfo userInfo = LoginUserInfo.Get(); this.CreateUserID = userInfo.userId; } + public void Modify() + { + this.UpdateTime = Time.MySqlTime; + UserInfo userInfo = LoginUserInfo.Get(); + this.UpdateUserID = userInfo.userId; + } /// /// 编辑调用 /// diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataService.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataService.cs index 2936a16c..d837e173 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataService.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata/ec_enginedataService.cs @@ -63,11 +63,11 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC WHERE t1.DataStatus != '00001' "); if (queryParam["ProjectId"].IsEmpty()) { - strSql.Append(" AND (select count(1) from ec_enginedata_pixel st2 where st2.EngineDataID = t1.EngineDataID) = 0 "); + return new List(); } else { - strSql.Append($" AND (select count(1) from ec_enginedata_pixel_{ProjectEntity.ProjectIndex} st2 where st2.EngineDataID = t1.EngineDataID) = 0 "); + //strSql.Append($" AND (select count(1) from ec_enginedata_pixel_{ProjectEntity.ProjectIndex} st2 where st2.EngineDataID = t1.EngineDataID) = 0 "); } // 虚拟参数 @@ -89,7 +89,22 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC strSql.Append(" AND t1.DataStatus = @DataStatus "); } //return this.BaseRepository().FindList(strSql.ToString(), dp, pagination); - return SqlSugarHelper.Db.SqlQueryable(strSql.ToString()).AddParameters(dp).ToPageList(pagination.page, pagination.rows); + var sql = strSql.ToString(); + var res = SqlSugarHelper.Db.SqlQueryable(sql).AddParameters(dp).ToPageList(pagination.page, pagination.rows); + + var allTagIds = res.Select(x => x.EngineDataID).Distinct().ToList(); + + var pixelTbName = ProjectSugar.TableName(ProjectEntity.ProjectId); + + var allPixels = SqlSugarHelper.Db.Queryable().AS(pixelTbName) + .Where(x => allTagIds.Contains(x.EngineDataID) && x.DeleteFlg !=1) + .ToList(); + var allTagIdsHavingPixel = allPixels.Select(x => x.EngineDataID).Distinct().ToList(); + + var TagNotHavingPixel = allTagIds.Except(allTagIdsHavingPixel).ToList(); + + var res2 = res.Where(x => TagNotHavingPixel.Contains(x.EngineDataID)).ToList(); + return res2; } catch (Exception ex) { @@ -215,7 +230,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } } } - + #endregion @@ -269,7 +284,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC SqlSugarHelper.Db.Deleteable(chs).AS($"ec_panel_channel_{ProjectEntity.ProjectIndex}").ExecuteCommand(); //SqlSugarHelper.Db.Ado.ExecuteCommand($@" DELETE FROM ec_panel_channel_{ProjectEntity.ProjectIndex} WHERE PanelID = '{panel.PanelID}'"); var wts = SqlSugarHelper.Db.Queryable().AS($"ec_wire_terminal_{ProjectEntity.ProjectIndex}"). - Where(x => terms.Select(y=>y.TermID).Contains(x.TermID)).ToList(); + Where(x => terms.Select(y => y.TermID).Contains(x.TermID)).ToList(); SqlSugarHelper.Db.Deleteable(wts).AS($"ec_wire_terminal_{ProjectEntity.ProjectIndex}").ExecuteCommand(); //SqlSugarHelper.Db.Ado.ExecuteCommand($@" DELETE FROM ec_wire_terminal_{ProjectEntity.ProjectIndex} WHERE PanelID = '{panel.PanelID}'"); } @@ -723,7 +738,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } } - + /// /// 更新工程数据属性默认值 /// diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelBLL.cs index 64eed1dd..82fb05a1 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelBLL.cs @@ -199,11 +199,11 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// 获取列表数据 /// /// - public IEnumerable GetList(string queryJson) + public IEnumerable GetList(string queryJson,string projId) { try { - return ec_enginedata_pixelService.GetList(queryJson); + return ec_enginedata_pixelService.GetList(queryJson,projId); } catch (Exception ex) { @@ -460,7 +460,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC // 获取所有需要处理的属性(只包含电缆对象,起始设备和终止设备) var cableProperties = AllPropsOfEng .Where(x => x.ObjectTypeName.Contains("电缆") && - (x.PropertyName == "起始设备" || x.PropertyName == "终止设备")) + (x.PropertyName == GlobalObject.propName_From || x.PropertyName == GlobalObject.propName_To)) .ToList(); // 提取所有 CableID @@ -474,11 +474,11 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { if (cableRelDict.TryGetValue(changeprofromto.EngineDataID, out var conn)) { - if (changeprofromto.PropertyName == "起始设备") + if (changeprofromto.PropertyName == GlobalObject.propName_From) { changeprofromto.PropertyValue = conn.End1Tag; } - else if (changeprofromto.PropertyName == "终止设备") + else if (changeprofromto.PropertyName == GlobalObject.propName_To) { changeprofromto.PropertyValue = conn.End2Tag; } @@ -490,19 +490,19 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //如果ec_enginedata_propety里面没有必填属性要求的这个属性,就代表没有保存,认为是没有填值,为空 if (AllPropsOfEng.Where(x => x.EngineDataID == checkproperty.EngineDataID).Select(x => x.PropertyID).Contains(checkproperty.PropertyID)) { - var PropertyValue = AllPropsOfEng - .FirstOrDefault(x => - x.EngineDataID == checkproperty.EngineDataID && - x.PropertyID == checkproperty.PropertyID) - ?.PropertyValue; + var PropertyValue = AllPropsOfEng + .FirstOrDefault(x => + x.EngineDataID == checkproperty.EngineDataID && + x.PropertyID == checkproperty.PropertyID) + ?.PropertyValue; //foreach (var property in AllPropsOfEng) //{ //如果ec_enginedata_propety里面的EngineDataID等于需要检查对象的EngineDataID,且属性ID也能对上,且属性值为空或者NULL,则认为没有填写 if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") - { - errText = $"图面有对象【{checkproperty.TagNumber}】在即时更新阶段的必填属性【{checkproperty.PropertyName}】值为空,不能检入,请执行“属性检查”功能对图纸进行属性检查。"; - return res = false; - } + { + errText = $"图面有对象【{checkproperty.TagNumber}】在即时更新阶段的必填属性【{checkproperty.PropertyName}】值为空,不能检入,请执行“属性检查”功能对图纸进行属性检查。"; + return res = false; + } //} } else @@ -525,7 +525,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC TagNumber = ee.TagNumber, ObjectTypeID = ee.ObjectTypeID, PropertyID = ote.PropertyID, - PropertyName=epe.PropertyName, + PropertyName = epe.PropertyName, PropertyGID = epe.PropertyGID, IsRequired = ote.IsRequired, dependency_type = SqlFunc.IIF(SqlFunc.IsNullOrEmpty(ote.dependency_type), dependency_type.RequireNone, ote.dependency_type), @@ -560,10 +560,10 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //{ //判断当前属性的值是不是为空、为NULL还是为0,如果是的话,报错 if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") - { - errText = $"图面有对象【{checkproperty.TagNumber}】,其前置属性设置了必填,所以属性【{checkproperty.PropertyName}】本身也必须填值,不然不能检入,请执行“属性检查”功能对图纸进行属性检查。"; - return res = false; - } + { + errText = $"图面有对象【{checkproperty.TagNumber}】,其前置属性设置了必填,所以属性【{checkproperty.PropertyName}】本身也必须填值,不然不能检入,请执行“属性检查”功能对图纸进行属性检查。"; + return res = false; + } //} } @@ -595,28 +595,28 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //{ //先判断当前属性值是不是空或者0,不是的话也就不用去进一步判断了,如果是空或者0,则去看她的前置属性 if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") + { + //取当前属性的上级联动属性值 + var upPropertyValue = AllPropsOfEng?.Where(x => + x?.EngineDataID != null + && x.PropertyID != null + && x.EngineDataID.Equals(checkproperty?.EngineDataID) + && x.PropertyID.Equals(triggerPropertyId)).FirstOrDefault(); + if (upPropertyValue == null) { - //取当前属性的上级联动属性值 - var upPropertyValue = AllPropsOfEng?.Where(x => - x?.EngineDataID != null - && x.PropertyID != null - && x.EngineDataID.Equals(checkproperty?.EngineDataID) - && x.PropertyID.Equals(triggerPropertyId)).FirstOrDefault(); - if (upPropertyValue == null) - { - errText = $"图面对象【{checkproperty.TagNumber}】,其属性【{checkproperty.PropertyName}】的前置属性【{triggerPropertyId}】找不到。请管理员确认。"; - return res = false; - } - //如果上级属性值符合条件,那么同时根据上面的判断,当前属性值不是空就是0,那么需要报错 - if ((triggerOperator == "=" && upPropertyValue.PropertyValue.ToUpper().Equals(triggerValue.ToUpper())) || - (triggerOperator == ">" && double.Parse(upPropertyValue.PropertyValue) > double.Parse(triggerValue)) || - (triggerOperator == "<" && double.Parse(upPropertyValue.PropertyValue) < double.Parse(triggerValue)) || - (triggerOperator == "!=" && !upPropertyValue.PropertyValue.ToUpper().Equals(triggerValue.ToUpper()))) - { - errText = $"图面有对象【{checkproperty.TagNumber}】,其前置属性【{upPropertyValue.PropertyName}】符合{triggerOperator}条件,所以属性本身【{checkproperty.PropertyName}】必须填值,不然不能检入,请执行“属性检查”功能对图纸进行属性检查。"; - return res = false; - } + errText = $"图面对象【{checkproperty.TagNumber}】,其属性【{checkproperty.PropertyName}】的前置属性【{triggerPropertyId}】找不到。请管理员确认。"; + return res = false; } + //如果上级属性值符合条件,那么同时根据上面的判断,当前属性值不是空就是0,那么需要报错 + if ((triggerOperator == "=" && upPropertyValue.PropertyValue.ToUpper().Equals(triggerValue.ToUpper())) || + (triggerOperator == ">" && double.Parse(upPropertyValue.PropertyValue) > double.Parse(triggerValue)) || + (triggerOperator == "<" && double.Parse(upPropertyValue.PropertyValue) < double.Parse(triggerValue)) || + (triggerOperator == "!=" && !upPropertyValue.PropertyValue.ToUpper().Equals(triggerValue.ToUpper()))) + { + errText = $"图面有对象【{checkproperty.TagNumber}】,其前置属性【{upPropertyValue.PropertyName}】符合{triggerOperator}条件,所以属性本身【{checkproperty.PropertyName}】必须填值,不然不能检入,请执行“属性检查”功能对图纸进行属性检查。"; + return res = false; + } + } //} } } @@ -624,7 +624,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //最后看组内互斥,检入的话只检查即时更新版的 if (checkproperty.dependency_type == dependency_type.RequireMutually && checkproperty.ValueInGroup == false - && checkproperty.IsRequired==1) + && checkproperty.IsRequired == 1) { var PgID = string.Empty; //如果ec_enginedata_propety里面没有必填属性要求的这个属性,就代表没有保存,认为是没有填值,为空 @@ -639,10 +639,10 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //{ //如果ec_enginedata_propety里面的EngineDataID等于需要检查对象的EngineDataID,且属性ID也能对上,也属于同一group,且属性值为空或者NULL,则认为没有填写 if (!string.IsNullOrEmpty(PropertyValue) && PropertyValue != "0") - { - PgID = checkproperty.PropertyGID;//获得有属性值的属性组ID - //break; - } + { + PgID = checkproperty.PropertyGID;//获得有属性值的属性组ID + //break; + } //} if (!string.IsNullOrEmpty(PgID)) { @@ -659,7 +659,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } } - var lstValueGroup = quaryNeedCheckPropertiesDependency.Where(x => x.dependency_type == dependency_type.RequireMutually && x.IsRequired== 1).Select(x => new { x.ValueInGroup, x.EngineDataID }).Distinct().ToList(); + var lstValueGroup = quaryNeedCheckPropertiesDependency.Where(x => x.dependency_type == dependency_type.RequireMutually && x.IsRequired == 1).Select(x => new { x.ValueInGroup, x.EngineDataID }).Distinct().ToList(); foreach (var item in lstValueGroup) { if (item.ValueInGroup == false) @@ -812,7 +812,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC // 获取所有需要处理的属性(只包含电缆对象,起始设备和终止设备) var cableProperties = quaryPropertiesOfEng .Where(x => x.ObjectTypeName.Contains("电缆") && - (x.PropertyName == "起始设备" || x.PropertyName == "终止设备")) + (x.PropertyName == GlobalObject.propName_From || x.PropertyName == GlobalObject.propName_To)) .ToList(); // 提取所有 CableID @@ -826,11 +826,11 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC { if (cableRelDict.TryGetValue(changeprofromto.EngineDataID, out var conn)) { - if (changeprofromto.PropertyName == "起始设备") + if (changeprofromto.PropertyName == GlobalObject.propName_From) { changeprofromto.PropertyValue = conn.End1Tag; } - else if (changeprofromto.PropertyName == "终止设备") + else if (changeprofromto.PropertyName == GlobalObject.propName_To) { changeprofromto.PropertyValue = conn.End2Tag; } @@ -849,12 +849,12 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC ?.PropertyValue; //foreach (var property in quaryPropertiesOfEng) //{ - //如果ec_enginedata_propety里面的EngineDataID等于需要检查对象的EngineDataID,且属性ID也能对上,且属性值为空或者NULL,则认为没有填写 - if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") - { - errText = "图面有对象在" + reversion + "阶段或者之前阶段的必填属性值为空,不能发布,请执行“属性检查”功能对图纸进行属性检查。"; - return res = false; - } + //如果ec_enginedata_propety里面的EngineDataID等于需要检查对象的EngineDataID,且属性ID也能对上,且属性值为空或者NULL,则认为没有填写 + if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") + { + errText = "图面有对象在" + reversion + "阶段或者之前阶段的必填属性值为空,不能发布,请执行“属性检查”功能对图纸进行属性检查。"; + return res = false; + } //} } else @@ -909,12 +909,12 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC ?.PropertyValue; //foreach (var property in quaryPropertiesOfEng) //{ - //判断当前属性的值是不是为空、为NULL还是为0,如果是的话,报错 - if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") - { - errText = "图面有对象她的前置属性在" + reversion + "阶段或者再之前阶段设置了必填,所以她必须填值,不然不能发布,请执行“属性检查”功能对图纸进行属性检查。"; - return res = false; - } + //判断当前属性的值是不是为空、为NULL还是为0,如果是的话,报错 + if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") + { + errText = "图面有对象她的前置属性在" + reversion + "阶段或者再之前阶段设置了必填,所以她必须填值,不然不能发布,请执行“属性检查”功能对图纸进行属性检查。"; + return res = false; + } //} } } @@ -945,26 +945,26 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //进入循环了,证明能找到前置属性 //foreach (var property in quaryPropertiesOfEng) //{ - //先判断当前属性值是不是空或者0,不是的话也就不用去进一步判断了,如果是空或者0,则去看她的前置属性 - if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") + //先判断当前属性值是不是空或者0,不是的话也就不用去进一步判断了,如果是空或者0,则去看她的前置属性 + if (string.IsNullOrEmpty(PropertyValue) || PropertyValue == "0") + { + //取当前属性的上级联动属性值 + var upPropertyValue = quaryPropertiesOfEng?.Where(x => + x?.EngineDataID != null + && x.PropertyID != null + && x.EngineDataID.Equals(checkproperty?.EngineDataID) + && x.PropertyID.Equals(triggerPropertyId)) + .Select(x => x.PropertyValue).FirstOrDefault(); + //如果上级属性值符合条件,那么同时根据上面的判断,当前属性值不是空就是0,那么需要报错 + if ((triggerOperator == "=" && upPropertyValue.ToUpper().Equals(triggerValue.ToUpper())) || + (triggerOperator == ">" && double.Parse(upPropertyValue) > double.Parse(triggerValue)) || + (triggerOperator == "<" && double.Parse(upPropertyValue) < double.Parse(triggerValue)) || + (triggerOperator == "!=" && !upPropertyValue.ToUpper().Equals(triggerValue.ToUpper()))) { - //取当前属性的上级联动属性值 - var upPropertyValue = quaryPropertiesOfEng?.Where(x => - x?.EngineDataID != null - && x.PropertyID != null - && x.EngineDataID.Equals(checkproperty?.EngineDataID) - && x.PropertyID.Equals(triggerPropertyId)) - .Select(x => x.PropertyValue).FirstOrDefault(); - //如果上级属性值符合条件,那么同时根据上面的判断,当前属性值不是空就是0,那么需要报错 - if ((triggerOperator == "=" && upPropertyValue.ToUpper().Equals(triggerValue.ToUpper())) || - (triggerOperator == ">" && double.Parse(upPropertyValue) > double.Parse(triggerValue)) || - (triggerOperator == "<" && double.Parse(upPropertyValue) < double.Parse(triggerValue)) || - (triggerOperator == "!=" && !upPropertyValue.ToUpper().Equals(triggerValue.ToUpper()))) - { - errText = "图面有对象她的前置属性符合某种条件,所以她必须填值,不然不能在" + reversion + "阶段发布,请执行“属性检查”功能对图纸进行属性检查。"; - return res = false; - } + errText = "图面有对象她的前置属性符合某种条件,所以她必须填值,不然不能在" + reversion + "阶段发布,请执行“属性检查”功能对图纸进行属性检查。"; + return res = false; } + } //} } } @@ -985,12 +985,12 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC ?.PropertyValue; //foreach (var property in quaryPropertiesOfEng) //{ - //如果ec_enginedata_propety里面的EngineDataID等于需要检查对象的EngineDataID,且属性ID也能对上,也属于同一group,且属性值为空或者NULL,则认为没有填写 - if (!string.IsNullOrEmpty(PropertyValue) && PropertyValue != "0") - { - PgID = checkproperty.PropertyGID;//获得有属性值的属性组ID - //break; - } + //如果ec_enginedata_propety里面的EngineDataID等于需要检查对象的EngineDataID,且属性ID也能对上,也属于同一group,且属性值为空或者NULL,则认为没有填写 + if (!string.IsNullOrEmpty(PropertyValue) && PropertyValue != "0") + { + PgID = checkproperty.PropertyGID;//获得有属性值的属性组ID + //break; + } //} if (!string.IsNullOrEmpty(PgID)) { @@ -1007,7 +1007,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC } } - var lstValueGroup = quaryNeedCheckPropertiesDependency.Where(x => x.dependency_type == dependency_type.RequireMutually && x.IsRequired<=period).Select(x => x.ValueInGroup).Distinct().ToList(); + var lstValueGroup = quaryNeedCheckPropertiesDependency.Where(x => x.dependency_type == dependency_type.RequireMutually && x.IsRequired <= period).Select(x => x.ValueInGroup).Distinct().ToList(); foreach (var item in lstValueGroup) { if (item == false) @@ -1032,7 +1032,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// 表名 /// 当前的DataItemName /// 最上层的Name - public string GetTopParentDataItemDetail(string DtatTableName, string strDataItemName) + private string GetTopParentDataItemDetail(string DtatTableName, string strDataItemName) { // 先找到初始节点 var current = SqlSugarHelper.Db.Queryable().AS(DtatTableName).Where(x => x.DataItemName == strDataItemName).First(); @@ -1150,7 +1150,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// 电缆ID(LIST) /// 项目编号 /// 电缆连接信息 - public List GetCableConnListBatch(List cableIds, string projectId) + private List GetCableConnListBatch(List cableIds, string projectId) { ec_enginedata_relBLL relbll = new ec_enginedata_relBLL(); var allRel = relbll.GetList($"{{ProjectId:\"{projectId}\", RelType:\"{(int)enum_RelType.设备_电缆}\"}}") @@ -1212,7 +1212,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC // 筛选出“真实设备”,这里排除OPC、通讯器等中转对象 var deviceTags = endpointInfo - .Where(x => !x.objectType?.Contains("OPC")??false) + .Where(x => !x.objectType?.Contains("OPC") ?? false) .Select(x => x.tagNumber) .Where(tag => !string.IsNullOrWhiteSpace(tag)) .Distinct() diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelIBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelIBLL.cs index 12a18e14..e2d78bfd 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelIBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelIBLL.cs @@ -19,7 +19,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC /// 获取列表数据 /// /// - IEnumerable GetList(string queryJson); + IEnumerable GetList(string queryJson,string projId); /// /// 获取工程数据图元表数据 /// diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelService.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelService.cs index 5338facc..8a278954 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelService.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_enginedata_pixel/ec_enginedata_pixelService.cs @@ -78,7 +78,7 @@ left JOIN ec_enginedata_{ProjectEntity.ProjectIndex} t3 ON t3.EngineDataID = t1. /// /// 是否需要查询出被删的 /// - public IEnumerable GetList(string queryJson, bool NeedDeleted = false) + public IEnumerable GetList(string queryJson, string projId, bool NeedDeleted = false) { try { @@ -93,7 +93,7 @@ left JOIN ec_enginedata_{ProjectEntity.ProjectIndex} t3 ON t3.EngineDataID = t1. else { //var ProjectEntity = this.BaseRepository().FindEntity(queryParam["ProjectId"].ToString()); - var ProjectEntity = new ec_projectBLL().GetEntity(queryParam["ProjectId"].ToString()); + var ProjectEntity = new ec_projectBLL().GetEntity(projId); strSql.Append($@" FROM ec_enginedata_pixel_{ProjectEntity.ProjectIndex} t1 JOIN ec_drawing_file_{ProjectEntity.ProjectIndex} t2 ON t2.DrawingFileID = t1.DrawingFileID JOIN ec_enginedata_{ProjectEntity.ProjectIndex} t3 ON t3.EngineDataID = t1.EngineDataID @@ -553,8 +553,12 @@ left JOIN ec_enginedata_{ProjectEntity.ProjectIndex} t3 ON t3.EngineDataID = t1. SqlSugarHelper.Db.BeginTran(); try { + if (string.IsNullOrWhiteSpace(ProjectId)) + { + return; + } //获取某个图纸上的图元数据 - var existPixels = this.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"DrawingFileID\":\"" + drawingFileID + "\"}", true).ToList(); + var existPixels = this.GetList("{\"ProjectId\":\"" + ProjectId + "\",\"DrawingFileID\":\"" + drawingFileID + "\"}", ProjectId, true).ToList(); ec_projectEntity ProjectEntity = new ec_projectEntity(); if (!string.IsNullOrWhiteSpace(ProjectId)) { @@ -583,32 +587,42 @@ left JOIN ec_enginedata_{ProjectEntity.ProjectIndex} t3 ON t3.EngineDataID = t1. //存在 it.DeleteFlg = 0; } + } - _enginedataPixelRepository.AsUpdateable(existPixels).AS($"ec_enginedata_pixel_{ProjectEntity.ProjectIndex}").ExecuteCommand(); - if (string.IsNullOrWhiteSpace(ProjectId)) + _enginedataPixelRepository.AsUpdateable(existPixels).AS($"ec_enginedata_pixel_{ProjectEntity.ProjectIndex}").ExecuteCommand();//batch commit + + + + //db.ExecuteBySql($@"UPDATE ec_enginedata_{ ProjectEntity.ProjectIndex} T1 + // SET DataStatus = '00001' + // WHERE (SELECT COUNT(*) FROM ec_enginedata_pixel_{ ProjectEntity.ProjectIndex} WHERE EngineDataID = T1.EngineDataID ) <= 0"); + //db.ExecuteBySql($@"UPDATE ec_enginedata_{ProjectEntity.ProjectIndex} T1 + // SET DataStatus = '00002' + // WHERE (SELECT COUNT(*) FROM ec_enginedata_pixel_{ProjectEntity.ProjectIndex} WHERE EngineDataID = T1.EngineDataID ) > 0 AND DataStatus != '00003'"); + + var tagTbName = TableName(ProjectId); + var tags = SqlSugarHelper.Db.Queryable().AS(tagTbName). + Where(t => existPixels.Select(x => x.EngineDataID).Distinct().Contains(t.EngineDataID) && t.DataStatus != "00003").ToList(); + + foreach (var tag in tags) { + tag.DataStatus = "00002";tag.Modify(); } - else - { - //db.ExecuteBySql($@"UPDATE ec_enginedata_{ ProjectEntity.ProjectIndex} T1 - // SET DataStatus = '00001' - // WHERE (SELECT COUNT(*) FROM ec_enginedata_pixel_{ ProjectEntity.ProjectIndex} WHERE EngineDataID = T1.EngineDataID ) <= 0"); - //db.ExecuteBySql($@"UPDATE ec_enginedata_{ProjectEntity.ProjectIndex} T1 - // SET DataStatus = '00002' - // WHERE (SELECT COUNT(*) FROM ec_enginedata_pixel_{ProjectEntity.ProjectIndex} WHERE EngineDataID = T1.EngineDataID ) > 0 AND DataStatus != '00003'"); - foreach (var EngineDataID in existPixels.Select(x => x.EngineDataID).Distinct()) - { - if (EngineDataID != null) - { - SqlSugarHelper.Db.Ado.ExecuteCommand($@"UPDATE ec_enginedata_{ProjectEntity.ProjectIndex} T1 - SET DataStatus = '00002' - WHERE DataStatus != '00003' and EngineDataID='{EngineDataID}'"); - } + SqlSugarHelper.Db.Updateable(tags).AS(tagTbName).UpdateColumns(x => x.DataStatus).ExecuteCommand(); + //foreach (var EngineDataID in existPixels.Select(x => x.EngineDataID).Distinct()) + //{ + // if (EngineDataID != null) + // { + // SqlSugarHelper.Db.Ado.ExecuteCommand($@"UPDATE ec_enginedata_{ProjectEntity.ProjectIndex} T1 + // SET DataStatus = '00002' + // WHERE DataStatus != '00003' and EngineDataID='{EngineDataID}'"); + // } - }; - } + //} + //; + SqlSugarHelper.Db.CommitTran(); } 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 d2866218..a15088f3 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 @@ -86,7 +86,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC if (dataType.Equals("2"))//2时,才额外需要 { - listPixel = ec_enginedata_pixelBLL.GetList(queryJson).ToList(); + listPixel = ec_enginedata_pixelBLL.GetList(queryJson,projectId).ToList(); listPixel = listPixel.Where(x => x.DeleteFlg != 1).ToList(); } if (!string.IsNullOrEmpty(KeyWord)) diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_project_bakup/ec_project_bakupBLL.cs b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_project_bakup/ec_project_bakupBLL.cs index dfa320d8..9b9c756c 100644 --- a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_project_bakup/ec_project_bakupBLL.cs +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/ZZDT_EC/ec_project_bakup/ec_project_bakupBLL.cs @@ -217,7 +217,7 @@ namespace Learun.Application.TwoDevelopment.ZZDT_EC //创建工程数据图元表 baseDAL.Create(sqlitePath); //添加工程数据图元表数据 - baseDAL.Add(new ec_enginedata_pixelService().GetList(queryJson).ToList(), sqlitePath); + baseDAL.Add(new ec_enginedata_pixelService().GetList(queryJson,ProjectId).ToList(), sqlitePath); continue; } if (table == "ec_enginedata") diff --git a/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WeChat/Learun.Application.WeChat.csproj.user b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WeChat/Learun.Application.WeChat.csproj.user new file mode 100644 index 00000000..a607660d --- /dev/null +++ b/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WeChat/Learun.Application.WeChat.csproj.user @@ -0,0 +1,6 @@ + + + + ShowAllFiles + + \ No newline at end of file diff --git a/Learun.Framework.Module/Learun.Cache/Learun.Cache.Redis/CacheByRedis.cs b/Learun.Framework.Module/Learun.Cache/Learun.Cache.Redis/CacheByRedis.cs index 1a06e699..826accc9 100644 --- a/Learun.Framework.Module/Learun.Cache/Learun.Cache.Redis/CacheByRedis.cs +++ b/Learun.Framework.Module/Learun.Cache/Learun.Cache.Redis/CacheByRedis.cs @@ -33,8 +33,7 @@ namespace Learun.Cache.Redis if (expireTime == null) { expireTime = TimeSpan.FromHours(1); // 如果参数为null,设置为1小时 - } - + } // 先从Redis缓存中获取数据 var cachedData = redisCache.StringGet(cacheKey); if (cachedData != null) diff --git a/SWSDBSchemeUpgradeTool/MainWindow.xaml.cs b/SWSDBSchemeUpgradeTool/MainWindow.xaml.cs index 2b390c0b..588b869a 100644 --- a/SWSDBSchemeUpgradeTool/MainWindow.xaml.cs +++ b/SWSDBSchemeUpgradeTool/MainWindow.xaml.cs @@ -591,7 +591,7 @@ WHERE } catch (Exception ex) { - LogInfo(baseDirectory + logFileName, tableName + " 项目表更新出现问题," + ex.Message); + LogInfo(baseDirectory + logFileName, tableName +"_" + proj.ProjectIndex + " 项目表更新出现问题," + ex.Message); } } }