ningshuxia
2022-08-12 41a59b8098446c595ce42d78a279123a4bfa6795
增加 泵曲线映射批量操作接口
已修改7个文件
已添加2个文件
216 ■■■■■ 文件已修改
Application/IStation.Application4DataFile/Helpers/FileHelper.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application4Job/IStation.Application4Job.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application4Product/pump_curve/mapping/PumpCurveMapping_Controller.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application4Product/pump_curve/mapping/dto/SetObjectPumpCurveMappingInput.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Application/IStation.Application4Product/pump_curve/mapping/dto/SetObjectPumpCurveMappingItemInput.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/IStation.DAL4Product/pump_curve/PumpCurveMapping.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/IStation.Model4Curve/IStation.Model4Curve.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/IStation.Service4Bimface/bimface_file/BimfaceFile_Instance.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/IStation.Service4Product/pump_curve/pump_curve_mapping/PumpCurveMapping.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
    }
}