Application/IStation.Application4DataFile/Helpers/FileHelper.cs
@@ -452,9 +452,6 @@ } #endregion Application/IStation.Application4Job/IStation.Application4Job.csproj
@@ -13,5 +13,4 @@ <ProjectReference Include="..\..\Service\IStation.Service4Job\IStation.Service4Job.csproj" /> <ProjectReference Include="..\IStation.Application4Core\IStation.Application4Core.csproj" /> </ItemGroup> </Project> Application/IStation.Application4Product/pump_curve/mapping/PumpCurveMapping_Controller.cs
@@ -287,5 +287,30 @@ #endregion #region Set /// <summary> /// 设置 /// </summary> [Route("SetOfObject@V1.0")] [HttpPost] public bool SetOfObject([Required] SetObjectPumpCurveMappingInput input) { var list = input.Items?.Select(x => new Model.PumpCurveMapping() { CorpID = input.CorpID, CurveID = input.CorpID, ID = x.ID, PumpID = x.PumpID, OtherName = x.OtherName, IsWorking = x.IsWorking, SortCode = x.SortCode, }).ToList(); var bol = _service.SetOfObject(input.CorpID, input.CurveID, list); return bol; } #endregion } } Application/IStation.Application4Product/pump_curve/mapping/dto/SetObjectPumpCurveMappingInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.Application { /// <summary> /// /// </summary> public class SetObjectPumpCurveMappingInput { /// <summary> /// å®¢æ·æ è¯ /// </summary> [Required, Range(1, long.MaxValue, ErrorMessage = "CorpID å¿ é¡»å¤§äº0")] public long CorpID { get; set; } /// <summary> /// æ²çº¿æ è¯ /// </summary> [Required, Range(1, long.MaxValue, ErrorMessage = "CurveID å¿ é¡»å¤§äº0")] public long CurveID { get; set; } /// <summary> /// /// </summary> public List<SetObjectPumpCurveMappingItemInput> Items { get; set; } } } Application/IStation.Application4Product/pump_curve/mapping/dto/SetObjectPumpCurveMappingItemInput.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.Application { /// <summary> /// /// </summary> public class SetObjectPumpCurveMappingItemInput { /// <summary> /// æ è¯ /// </summary> public long ID { get; set; } /// <summary> /// æ³µæ è¯ /// </summary> public long PumpID { get; set; } /// <summary> /// å«å /// </summary> public string OtherName { get; set; } /// <summary> /// 工使²çº¿ /// </summary> public bool IsWorking { get; set; } /// <summary> /// æåºç /// </summary> public int SortCode { get; set; } } } DAL/IStation.DAL4Product/pump_curve/PumpCurveMapping.cs
@@ -279,6 +279,62 @@ } /// <summary> /// éè¿ CurveID 设置 /// </summary> public bool SetOfObject(long CorpID, long CurveID, List<Entity.PumpCurveMapping> list) { if (list == null || list.Count() < 1) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Deleteable<Entity.PumpCurveMapping>() .Where(x => x.CorpID == CorpID && x.CurveID == CurveID) .ExecuteCommand() > 0; } } using (var db = new SqlSugarClient(ConnectionConfig)) { try { db.BeginTran(); var add_list = list.Where(x => x.ID < 1).ToList(); var update_list = list.Where(x => x.ID > 0).ToList(); var ids_exist = update_list.Select(x => x.ID).Distinct().ToList(); db.Deleteable<Entity.PumpCurveMapping>().Where(x => x.CorpID == CorpID && x.CurveID == CurveID && !ids_exist.Contains(x.ID)).ExecuteCommand(); if (add_list.Count > 0) { var result = db.Insertable(add_list).ExecuteReturnSnowflakeIdList().Count > 0; if (!result) { db.RollbackTran(); return default; } } if (update_list.Count > 0) { var result = db.Updateable(update_list).ExecuteCommand() > 0; if (!result) { db.RollbackTran(); return default; } } db.CommitTran(); return true; } catch { db.RollbackTran(); throw; } } } Model/IStation.Model4Curve/IStation.Model4Curve.csproj
@@ -21,5 +21,4 @@ <ProjectReference Include="..\..\Component\IStation.Numerics\IStation.Numerics.csproj" /> <ProjectReference Include="..\IStation.Model\IStation.Model.csproj" /> </ItemGroup> </Project> Service/IStation.Service4Bimface/bimface_file/BimfaceFile_Instance.cs
@@ -19,6 +19,7 @@ var model = mapper.Map<Entity.BimfaceFile, Model.BimfaceFile>(entity); return model; } //Entities to Models private List<Model.BimfaceFile> Entity2Models(List<Entity.BimfaceFile> entities) { @@ -61,5 +62,6 @@ ).CreateMapper(); mapper.Map(model, entity); } } } Service/IStation.Service4Product/pump_curve/pump_curve_mapping/PumpCurveMapping.cs
@@ -114,6 +114,20 @@ } } //éè¿ CurveID æ´æ°ç¼å internal void UpdateCorpCacheByCurveID(long CorpID, long CurveID) { var dal = new DAL.PumpCurveMapping(); var entity_list = dal.GetByCurveID(CorpID, CurveID); var model_list = Entity2Models(entity_list); var all = GetCorpCache(CorpID); all.RemoveAll(x => x.CurveID == CurveID); if (model_list != null && model_list.Count > 0) { all.AddRange(model_list); } } //éè¿ CurveID ç§»é¤ç¼å internal void RemoveCorpCacheByCurveID(long CorpID, long CurveID) { @@ -453,5 +467,46 @@ #endregion #region Set /// <summary> /// 设置 CurveID æµç¹æ å° /// </summary> public bool SetOfObject(long CorpID, long CurveID, List<Model.PumpCurveMapping> list) { var dal = new DAL.PumpCurveMapping(); if (list != null && list.Count > 0) { var update_working_list = list.FindAll(x => x.IsWorking).ToList(); if (update_working_list != null && update_working_list.Count > 0) { foreach (var working_curve in update_working_list) { var relevant_pump_curve_list = GetByPumpID(CorpID, working_curve.PumpID); if (relevant_pump_curve_list == null || relevant_pump_curve_list.Count < 1) continue; var exist_working_curve_list = relevant_pump_curve_list.FindAll(x => x.IsWorking); if (exist_working_curve_list == null || exist_working_curve_list.Count < 1) continue; exist_working_curve_list.ForEach(x => x.IsWorking = false); list.AddRange(exist_working_curve_list); } } } var entity_list = Model2Entities(list.ToList()); var bol = dal.SetOfObject(CorpID, CurveID, entity_list); if (bol) { UpdateCorpCacheByCurveID(CorpID, CurveID); var other_pump_curve_list = entity_list.Where(x => x.CurveID != CurveID).ToList(); if (other_pump_curve_list != null && other_pump_curve_list.Count > 0) { UpdateCorpCache(CorpID, other_pump_curve_list.Select(x => x.ID).ToList()); } } return bol; } #endregion } }