lixiaojun
2023-11-08 0363984a82f507db16460a1441bf856c40e13481
修改录入方式
已删除1个文件
已重命名1个文件
已修改15个文件
已添加11个文件
610 ■■■■■ 文件已修改
Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveExpressInput.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveInfoInput.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressDto.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressInput.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressDto.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressInput.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/4-helper/ConfigHelper.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/9-tool/CurveTool_Controller.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/9-tool/dto/CurveExpressToolInput.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolInput.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolOutput.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/9-tool/dto/PumpCurvePointToolDto.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Service.Curve.Core/paras_curve_settings.json 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Yw.Application.Curve.Core/0-core/1-mapper/Mapper.cs
@@ -14,15 +14,14 @@
            #region 1-pump-curve
            config.ForType<Model.PumpCurve, PumpCurveDto>();
            config.ForType<AddPumpCurveInput, Model.PumpCurve>()
                .Map(dest => dest.CurveInfo, src => src.CurveInfo)
                .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                .Map(dest => dest.CoordParas, src => src.CoordParas)
                .Map(dest => dest.CreateUserID, src => UserManager.UserID)
                .Map(dest => dest.CreateTime, src => DateTime.Now)
                .Map(dest => dest.CreateUserName, src => UserManager.UserName);
            config.ForType<UpdatePumpCurveInput, Model.PumpCurve>()
                .Map(dest => dest.CurveInfo, src => src.CurveInfo)
                .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                .Map(dest => dest.CoordParas, src => src.CoordParas)
                .Map(dest => dest.UpdateTime, src => DateTime.Now)
                .Map(dest => dest.UpdateUserID, src => UserManager.UserID)
@@ -42,14 +41,14 @@
            #region 3-pump-curve-mapping-extension
            config.ForType<AddPumpCurveExMappingInput, Model.PumpCurve>()
               .Map(dest => dest.CurveInfo, src => src.CurveInfo)
               .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
               .Map(dest => dest.CoordParas, src => src.CoordParas)
               .Map(dest => dest.CreateUserID, src => UserManager.UserID)
               .Map(dest => dest.CreateTime, src => DateTime.Now)
               .Map(dest => dest.CreateUserName, src => UserManager.UserName);
            config.ForType<UpdatePumpCurveExMappingInput, Model.PumpCurve>()
                .Map(dest => dest.CurveInfo, src => src.CurveInfo)
                .Map(dest => dest.CurveInfo, src => src.CurveExpress.Transfer())
                .Map(dest => dest.CoordParas, src => src.CoordParas)
                .Map(dest => dest.UpdateTime, src => DateTime.Now)
                .Map(dest => dest.UpdateUserID, src => UserManager.UserID)
Yw.Application.Curve.Core/0-core/2-extensions/Extensions.cs
@@ -5,9 +5,33 @@
    /// </summary>
    public static class Extensions
    {
        /// <summary>
        /// è½¬æ¢
        /// </summary>
        public static Yw.Model.Curve.PumpCurveInfoModel Transfer(this PumpCurveExpressInput input)
        {
            if (input == null)
            {
                return default;
            }
            var vm = new Yw.Model.Curve.PumpCurveInfoModel();
            vm.CurveQH = input.CurveQH.Transfer();
            vm.CurveQP = input.CurveQP.Transfer();
            vm.CurveQE = input.CurveQE.Transfer();
            return vm;
        }
        /// <summary>
        /// è½¬æ¢
        /// </summary>
        public static Yw.Curve.CurveExpress Transfer(this CurveExpressInput input)
        {
            if (input == null)
            {
                return default;
            }
            return FitHelper.BuildCurveExpress(input.DefinePoints, input.FitType);
        }
    }
Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveExpressInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
namespace Yw.Application.Curve
{
    /// <summary>
    ///
    /// </summary>
    public class UpdatePumpCurveExpressInput : IDInput
    {
        /// <summary>
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        public PumpCurveExpressInput CurveExpress { get; set; }
    }
}
Yw.Application.Curve.Core/0-core/3-dto/UpdatePumpCurveInfoInput.cs
ÎļþÒÑɾ³ý
Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
namespace Yw.Application.Curve
{
    /// <summary>
    ///
    /// </summary>
    public class CurveExpressDto
    {
        /// <summary>
        ///
        /// </summary>
        public CurveExpressDto() { }
        /// <summary>
        ///
        /// </summary>
        public CurveExpressDto(Yw.Curve.CurveExpress rhs)
        {
            this.FitType = rhs.FitType;
            this.DefinePoints = rhs.DefinePoints;
            this.PointList = FitHelper.GetFitPoints(rhs, ConfigHelper.PointNumber);
        }
        /// <summary>
        /// æ‹Ÿåˆç±»åž‹
        /// </summary>
        public eFitType FitType { get; set; }
        /// <summary>
        /// å®šä¹‰ç‚¹åˆ—表
        /// </summary>
        public List<CurvePoint> DefinePoints { get; set; }
        /// <summary>
        /// æ‹Ÿåˆç‚¹åˆ—表
        /// </summary>
        public List<CurvePoint> PointList { get; set; }
    }
}
Yw.Application.Curve.Core/0-core/3-dto/curve-info/CurveExpressInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
namespace Yw.Application.Curve
{
    /// <summary>
    ///
    /// </summary>
    public class CurveExpressInput : IValidatableObject
    {
        /// <summary>
        /// æ‹Ÿåˆç±»åž‹
        /// </summary>
        public eFitType FitType { get; set; }
        /// <summary>
        /// å®šä¹‰ç‚¹åˆ—表
        /// </summary>
        public List<CurvePoint> DefinePoints { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (DefinePoints == null || DefinePoints.Count < 1)
            {
                yield return new ValidationResult("DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘4个点", new string[] { nameof(DefinePoints) });
            }
            var fitPow = FitHelper.GetFitPow(FitType);
            if (DefinePoints.Count < fitPow + 1)
            {
                yield return new ValidationResult($"DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘{fitPow + 1}个点", new string[] { nameof(DefinePoints) });
            }
        }
    }
}
Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
namespace Yw.Application.Curve
{
    /// <summary>
    ///
    /// </summary>
    public class PumpCurveExpressDto
    {
        /// <summary>
        ///
        /// </summary>
        public PumpCurveExpressDto() { }
        /// <summary>
        ///
        /// </summary>
        public PumpCurveExpressDto(Model.Curve.PumpCurveInfoModel rhs)
        {
            this.CurveQH = new CurveExpressDto(rhs.CurveQH);
            if (rhs.CurveQP != null)
            {
                this.CurveQP = new CurveExpressDto(rhs.CurveQP);
            }
            if (rhs.CurveQE != null)
            {
                this.CurveQE = new CurveExpressDto(rhs.CurveQE);
            }
        }
        /// <summary>
        /// æµé‡æ‰¬ç¨‹æ›²çº¿
        /// </summary>
        public CurveExpressDto CurveQH { get; set; }
        /// <summary>
        /// æµé‡åŠŸçŽ‡æ›²çº¿
        /// </summary>
        public CurveExpressDto CurveQP { get; set; }
        /// <summary>
        /// æµé‡æ•ˆçŽ‡æ›²çº¿
        /// </summary>
        public CurveExpressDto CurveQE { get; set; }
    }
}
Yw.Application.Curve.Core/0-core/3-dto/curve-info/PumpCurveExpressInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
namespace Yw.Application.Curve
{
    /// <summary>
    ///
    /// </summary>
    public class PumpCurveExpressInput
    {
        /// <summary>
        /// æµé‡æ‰¬ç¨‹æ›²çº¿
        /// </summary>
        public CurveExpressInput CurveQH { get; set; }
        /// <summary>
        /// æµé‡åŠŸçŽ‡æ›²çº¿
        /// </summary>
        public CurveExpressInput CurveQP { get; set; }
        /// <summary>
        /// æµé‡æ•ˆçŽ‡æ›²çº¿
        /// </summary>
        public CurveExpressInput CurveQE { get; set; }
    }
}
Yw.Application.Curve.Core/0-core/4-helper/ConfigHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
namespace Yw.Application.Curve
{
    internal class ConfigHelper
    {
        /// <summary>
        /// ç‚¹æ•°é‡
        /// </summary>
        public static int PointNumber
        {
            get { return Settings.CurveParasHelper.Curve.PointNumber; }
        }
    }
}
Yw.Application.Curve.Core/1-pump-curve/1-mgr/PumpCurve_Controller.cs
@@ -98,13 +98,13 @@
        }
        /// <summary>
        /// æ›´æ–°æ›²çº¿ä¿¡æ¯
        /// æ›´æ–°æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        [Route("UpdateCurveInfo@V1.0")]
        [Route("UpdateCurveExpress@V1.0")]
        [HttpPut]
        public bool UpdateCurveInfo(UpdatePumpCurveInfoInput input)
        public bool UpdateCurveExpress(UpdatePumpCurveExpressInput input)
        {
            var bol = _service.UpdateCurveInfo(input.ID, input.CurveInfo, UserManager.UserID, DateTime.Now);
            var bol = _service.UpdateCurveInfo(input.ID, input.CurveExpress.Transfer(), UserManager.UserID, DateTime.Now);
            return bol;
        }
Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/AddPumpCurveInput.cs
@@ -30,10 +30,10 @@
        public Dictionary<string, string> CoordParas { get; set; }
        /// <summary>
        /// æ›²çº¿ä¿¡æ¯
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        [Required]
        public PumpCurveInfoModel CurveInfo { get; set; }
        public PumpCurveExpressInput CurveExpress { get; set; }
        /// <summary>
        /// å¯ä¿¡åº¦
Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/PumpCurveDto.cs
@@ -20,7 +20,7 @@
            this.SourceWay = rhs.SourceWay;
            this.CreateMethod = rhs.CreateMethod;
            this.CoordParas = rhs.CoordParas;
            this.CurveInfo = rhs.CurveInfo;
            this.CurveExpress = new PumpCurveExpressDto(rhs.CurveInfo);
            this.ReliabilityStatus = rhs.ReliabilityStatus;
            this.CreateTime = rhs.CreateTime;
            this.CreateUserID = rhs.CreateUserID;
@@ -57,9 +57,9 @@
        public Dictionary<string, string> CoordParas { get; set; }
        /// <summary>
        /// æ›²çº¿ä¿¡æ¯
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        public PumpCurveInfoModel CurveInfo { get; set; }
        public PumpCurveExpressDto CurveExpress { get; set; }
        /// <summary>
        /// å¯ä¿¡åº¦
Yw.Application.Curve.Core/1-pump-curve/1-mgr/dto/UpdatePumpCurveInput.cs
@@ -35,10 +35,10 @@
        public Dictionary<string, string> CoordParas { get; set; }
        /// <summary>
        /// æ›²çº¿ä¿¡æ¯
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        [Required]
        public PumpCurveInfoModel CurveInfo { get; set; }
        public PumpCurveExpressInput CurveExpress { get; set; }
        /// <summary>
        /// å¯ä¿¡åº¦
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
ÎļþÃû´Ó Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_StandardController.cs ÐÞ¸Ä
@@ -5,7 +5,7 @@
    /// </summary>
    [Route("Curve/Pump/Mapping/Extension")]
    [ApiDescriptionSettings("Curve", Name = "泵曲线映射拓展", Order = 8000)]
    public partial class PumpCurveExMapping_StandardController : IDynamicApiController
    public partial class PumpCurveExMapping_Controller : IDynamicApiController
    {
        private readonly Service.PumpCurveExMapping _service = new();
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/AddPumpCurveExMappingInput.cs
@@ -42,10 +42,10 @@
        public Dictionary<string, string> CoordParas { get; set; }
        /// <summary>
        /// æ›²çº¿ä¿¡æ¯
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        [Required]
        public PumpCurveInfoModel CurveInfo { get; set; }
        public PumpCurveExpressInput CurveExpress { get; set; }
        /// <summary>
        /// å¯ä¿¡åº¦
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/PumpCurveExMappingDto.cs
@@ -23,7 +23,7 @@
            this.SourceWay = curve.SourceWay;
            this.CreateMethod = curve.CreateMethod;
            this.CoordParas = curve.CoordParas;
            this.CurveInfo = curve.CurveInfo;
            this.CurveExpress = new PumpCurveExpressDto(curve.CurveInfo);
            this.ReliabilityStatus = curve.ReliabilityStatus;
            this.InputTime = curve.InputTime;
            this.IsWorking = mapping.IsWorking;
@@ -78,9 +78,9 @@
        public Dictionary<string, string> CoordParas { get; set; }
        /// <summary>
        /// æ›²çº¿ä¿¡æ¯
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        public PumpCurveInfoModel CurveInfo { get; set; }
        public PumpCurveExpressDto CurveExpress { get; set; }
        /// <summary>
        /// å¯ä¿¡åº¦
Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/dto/UpdatePumpCurveExMappingInput.cs
@@ -47,10 +47,10 @@
        public Dictionary<string, string> CoordParas { get; set; }
        /// <summary>
        /// æ›²çº¿ä¿¡æ¯
        /// æ›²çº¿è¡¨è¾¾å¼
        /// </summary>
        [Required]
        public PumpCurveInfoModel CurveInfo { get; set; }
        public PumpCurveExpressInput CurveExpress { get; set; }
        /// <summary>
        /// å¯ä¿¡åº¦
Yw.Application.Curve.Core/9-tool/CurveTool_Controller.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,115 @@
namespace Yw.Application
{
    /// <summary>
    /// CurveTool
    /// </summary>
    [Route("Curve/Tool")]
    [ApiDescriptionSettings("Curve", Name = "曲线工具", Order = 1000)]
    public partial class CurveTool_Controller : IDynamicApiController
    {
        /// <summary>
        /// ç”Ÿæˆæ‹Ÿåˆç‚¹åˆ—表
        /// </summary>
        [Route("GeneralFitPointList@V1.0")]
        [HttpPost]
        public List<CurvePoint> GeneralFitPointList([Required] CurveExpressToolInput input)
        {
            var fitHelper = new FitHelper(input.DefinePoints, input.FitType);
            var pointNumber = ConfigHelper.PointNumber;
            if (input.PointNumber.HasValue)
            {
                pointNumber = input.PointNumber.Value;
            }
            var list = fitHelper.GetFitPoints(pointNumber);
            return list;
        }
        /// <summary>
        /// ç”Ÿæˆæ³µæ‹Ÿåˆç‚¹åˆ—表
        /// </summary>
        [Route("GeneralPumpFitPointList@V1.0")]
        [HttpPost]
        public PumpCurveExpressToolOutput GeneralPumpFitPointList([Required] PumpCurveExpressToolInput input)
        {
            var vm = new PumpCurveExpressToolOutput();
            //扬程
            var pointNumberQH = ConfigHelper.PointNumber;
            if (input.PointNumberQH.HasValue)
            {
                pointNumberQH = input.PointNumberQH.Value;
            }
            var pointListQH = input.DefinePoints.Select(x => new CurvePoint(x.Q, x.H)).ToList();
            var fitHelperQH = new FitHelper(pointListQH, input.FitTypeQH);
            vm.PointListQH = fitHelperQH.GetFitPoints(pointNumberQH);
            //功率
            var hasQP = false;
            var pointNumberQP = ConfigHelper.PointNumber;
            if (input.PointNumberQP.HasValue)
            {
                pointNumberQP = input.PointNumberQP.Value;
            }
            var pointListQP = input.DefinePoints.Where(x => x.P.HasValue).Select(x => new CurvePoint(x.Q, x.P.Value)).ToList();
            if (pointListQP != null && pointListQP.Count > 3)
            {
                var fitPowQP = FitHelper.GetFitPow(input.FitTypeQP);
                if (pointListQP.Count > fitPowQP)
                {
                    var fitHelperQP = new FitHelper(pointListQP, input.FitTypeQP);
                    vm.PointListQP = fitHelperQP.GetFitPoints(pointNumberQP);
                    hasQP = true;
                }
            }
            //效率
            var hasQE = false;
            var pointNumberQE = ConfigHelper.PointNumber;
            if (input.PointNumberQE.HasValue)
            {
                pointNumberQE = input.PointNumberQE.Value;
            }
            var pointListQE = input.DefinePoints.Where(x => x.E.HasValue).Select(x => new CurvePoint(x.Q, x.E.Value)).ToList();
            if (pointListQE != null && pointListQE.Count > 3)
            {
                var fitPowQE = FitHelper.GetFitPow(input.FitTypeQE);
                if (pointListQE.Count > fitPowQE)
                {
                    var fitHelperQE = new FitHelper(pointListQE, input.FitTypeQE);
                    vm.PointListQE = fitHelperQE.GetFitPoints(pointNumberQE);
                    hasQE = true;
                }
            }
            if (!hasQP && hasQE)
            {
                pointListQP = new List<CurvePoint>();
                foreach (var item in pointListQE)
                {
                    var pointQH = pointListQH.Find(x => x.X == item.X);
                    var p = Yw.Calculation.PumpCalcuHelper.CalculateP(pointQH.X, pointQH.Y, item.Y);
                    pointListQP.Add(new CurvePoint(item.X, p));
                }
                var fitHelperQP = new FitHelper(pointListQP, input.FitTypeQE);
                vm.PointListQP = fitHelperQP.GetFitPoints(pointNumberQP);
            }
            else if (hasQP && !hasQE)
            {
                pointListQE = new List<CurvePoint>();
                foreach (var item in pointListQP)
                {
                    var pointQH = pointListQH.Find(x => x.X == item.X);
                    var e = Yw.Calculation.PumpCalcuHelper.CalculateE(pointQH.X, pointQH.Y, item.Y);
                    pointListQE.Add(new CurvePoint(item.X, e));
                }
                var fitHelperQE = new FitHelper(pointListQE, input.FitTypeQP);
                vm.PointListQE = fitHelperQE.GetFitPoints(pointNumberQE);
            }
            return vm;
        }
    }
}
Yw.Application.Curve.Core/9-tool/dto/CurveExpressToolInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
namespace Yw.Application
{
    /// <summary>
    ///
    /// </summary>
    public class CurveExpressToolInput : IValidatableObject
    {
        /// <summary>
        /// æ‹Ÿåˆç±»åž‹
        /// </summary>
        [Required]
        public eFitType FitType { get; set; }
        /// <summary>
        /// å®šä¹‰ç‚¹åˆ—表
        /// </summary>
        [Required]
        public List<CurvePoint> DefinePoints { get; set; }
        /// <summary>
        /// ç‚¹æ•°é‡
        /// </summary>
        public int? PointNumber { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (DefinePoints == null || DefinePoints.Count < 4)
            {
                yield return new ValidationResult("DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘4个点", new string[] { nameof(DefinePoints) });
            }
            var fitPow = FitHelper.GetFitPow(FitType);
            if (DefinePoints.Count < fitPow + 1)
            {
                yield return new ValidationResult($"DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘{fitPow + 1}个点", new string[] { nameof(DefinePoints) });
            }
            if (PointNumber.HasValue)
            {
                if (PointNumber.Value < 6)
                {
                    yield return new ValidationResult($"PointNumber ä¸èƒ½å°äºŽ6", new string[] { nameof(PointNumber) });
                }
            }
        }
    }
}
Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
namespace Yw.Application
{
    /// <summary>
    ///
    /// </summary>
    public class PumpCurveExpressToolInput : IValidatableObject
    {
        /// <summary>
        /// æµé‡æ‰¬ç¨‹æ‹Ÿåˆç±»åž‹
        /// </summary>
        public eFitType FitTypeQH { get; set; }
        /// <summary>
        /// æµé‡åŠŸçŽ‡æ‹Ÿåˆç±»åž‹
        /// </summary>
        public eFitType FitTypeQP { get; set; }
        /// <summary>
        /// æµé‡æ•ˆçŽ‡æ‹Ÿåˆç±»åž‹
        /// </summary>
        public eFitType FitTypeQE { get; set; }
        /// <summary>
        /// æµé‡æ‰¬ç¨‹ç‚¹æ•°é‡
        /// </summary>
        public int? PointNumberQH { get; set; }
        /// <summary>
        /// æµé‡åŠŸçŽ‡ç‚¹æ•°é‡
        /// </summary>
        public int? PointNumberQP { get; set; }
        /// <summary>
        /// æµé‡æ•ˆçŽ‡ç‚¹æ•°é‡
        /// </summary>
        public int? PointNumberQE { get; set; }
        /// <summary>
        /// å®šä¹‰ç‚¹åˆ—表
        /// </summary>
        public List<PumpCurvePointToolDto> DefinePoints { get; set; }
        /// <summary>
        ///
        /// </summary>
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            if (this.DefinePoints == null || this.DefinePoints.Count < 4)
            {
                yield return new ValidationResult("DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘4个点", new string[] { nameof(DefinePoints) });
            }
            var fitPowQH = FitHelper.GetFitPow(this.FitTypeQH);
            if (this.DefinePoints.Count < fitPowQH + 1)
            {
                yield return new ValidationResult($"DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘{fitPowQH + 1}个点", new string[] { nameof(DefinePoints) });
            }
            if (this.PointNumberQH.HasValue)
            {
                if (this.PointNumberQH.Value < 6)
                {
                    yield return new ValidationResult($"PointNumberQH ä¸èƒ½å°äºŽ6", new string[] { nameof(PointNumberQH) });
                }
            }
            var fitPowQP = FitHelper.GetFitPow(this.FitTypeQP);
            if (this.DefinePoints.Count < fitPowQP + 1)
            {
                yield return new ValidationResult($"DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘{fitPowQP + 1}个点", new string[] { nameof(DefinePoints) });
            }
            if (this.PointNumberQP.HasValue)
            {
                if (this.PointNumberQP.Value < 6)
                {
                    yield return new ValidationResult($"PointNumberQP ä¸èƒ½å°äºŽ6", new string[] { nameof(PointNumberQP) });
                }
            }
            var fitPowQE = FitHelper.GetFitPow(this.FitTypeQE);
            if (this.DefinePoints.Count < fitPowQE + 1)
            {
                yield return new ValidationResult($"DefinePoints æ•°é‡ä¸è¶³ï¼Œè‡³å°‘{fitPowQE + 1}个点", new string[] { nameof(DefinePoints) });
            }
            if (this.PointNumberQE.HasValue)
            {
                if (this.PointNumberQE.Value < 6)
                {
                    yield return new ValidationResult($"PointNumberQE ä¸èƒ½å°äºŽ6", new string[] { nameof(PointNumberQE) });
                }
            }
        }
    }
}
Yw.Application.Curve.Core/9-tool/dto/PumpCurveExpressToolOutput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
namespace Yw.Application
{
    /// <summary>
    ///
    /// </summary>
    public class PumpCurveExpressToolOutput
    {
        /// <summary>
        /// æµé‡æ‰¬ç¨‹ç‚¹åˆ—表
        /// </summary>
        public List<CurvePoint> PointListQH { get; set; }
        /// <summary>
        /// æµé‡åŠŸçŽ‡ç‚¹åˆ—è¡¨
        /// </summary>
        public List<CurvePoint> PointListQP { get; set; }
        /// <summary>
        /// æµé‡æ•ˆçŽ‡ç‚¹åˆ—è¡¨
        /// </summary>
        public List<CurvePoint> PointListQE { get; set; }
    }
}
Yw.Application.Curve.Core/9-tool/dto/PumpCurvePointToolDto.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
namespace Yw.Application
{
    /// <summary>
    ///
    /// </summary>
    public class PumpCurvePointToolDto
    {
        /// <summary>
        /// æµé‡
        /// </summary>
        public double Q { get; set; }
        /// <summary>
        /// æ‰¬ç¨‹
        /// </summary>
        public double H { get; set; }
        /// <summary>
        /// åŠŸçŽ‡
        /// </summary>
        public double? P { get; set; }
        /// <summary>
        /// æ•ˆçއ
        /// </summary>
        public double? E { get; set; }
    }
}
Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2023-11-07T03:05:59.7264456Z;True|2023-11-07T11:05:52.0532331+08:00;True|2023-10-24T23:17:54.0748672+08:00;True|2023-10-21T14:38:03.2722172+08:00;True|2023-09-26T14:10:22.2485377+08:00;True|2023-08-29T11:46:24.5710627+08:00;True|2023-08-23T11:34:59.7400481+08:00;True|2023-08-21T13:31:52.3074533+08:00;True|2023-08-18T16:51:57.4477528+08:00;True|2023-08-18T13:49:11.3231257+08:00;True|2023-08-17T14:51:49.8452519+08:00;True|2023-08-17T11:44:23.5001902+08:00;True|2023-08-16T17:43:46.8283841+08:00;True|2023-08-16T11:10:43.5110570+08:00;True|2023-08-15T16:51:35.3016945+08:00;True|2023-08-15T15:04:30.4334950+08:00;True|2023-08-10T15:23:57.4783701+08:00;True|2023-08-08T10:01:53.7466486+08:00;True|2023-08-07T11:49:59.7506144+08:00;True|2023-08-05T10:38:53.6104500+08:00;True|2023-08-02T15:25:21.6024349+08:00;True|2023-08-02T15:20:20.4985081+08:00;True|2023-08-02T13:31:18.6184059+08:00;True|2023-08-02T13:30:52.4975034+08:00;True|2023-08-02T13:29:34.9010019+08:00;True|2023-08-02T13:28:35.4729592+08:00;True|2023-07-25T15:08:42.3375388+08:00;True|2023-07-17T10:31:53.5181752+08:00;True|2023-07-17T10:31:44.6652344+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
    <History>True|2023-11-08T03:55:54.5929525Z;True|2023-11-07T11:05:59.7264456+08:00;True|2023-11-07T11:05:52.0532331+08:00;True|2023-10-24T23:17:54.0748672+08:00;True|2023-10-21T14:38:03.2722172+08:00;True|2023-09-26T14:10:22.2485377+08:00;True|2023-08-29T11:46:24.5710627+08:00;True|2023-08-23T11:34:59.7400481+08:00;True|2023-08-21T13:31:52.3074533+08:00;True|2023-08-18T16:51:57.4477528+08:00;True|2023-08-18T13:49:11.3231257+08:00;True|2023-08-17T14:51:49.8452519+08:00;True|2023-08-17T11:44:23.5001902+08:00;True|2023-08-16T17:43:46.8283841+08:00;True|2023-08-16T11:10:43.5110570+08:00;True|2023-08-15T16:51:35.3016945+08:00;True|2023-08-15T15:04:30.4334950+08:00;True|2023-08-10T15:23:57.4783701+08:00;True|2023-08-08T10:01:53.7466486+08:00;True|2023-08-07T11:49:59.7506144+08:00;True|2023-08-05T10:38:53.6104500+08:00;True|2023-08-02T15:25:21.6024349+08:00;True|2023-08-02T15:20:20.4985081+08:00;True|2023-08-02T13:31:18.6184059+08:00;True|2023-08-02T13:30:52.4975034+08:00;True|2023-08-02T13:29:34.9010019+08:00;True|2023-08-02T13:28:35.4729592+08:00;True|2023-07-25T15:08:42.3375388+08:00;True|2023-07-17T10:31:53.5181752+08:00;True|2023-07-17T10:31:44.6652344+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History>
  </PropertyGroup>
</Project>
Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj
@@ -7,7 +7,7 @@
    <RootNamespace>Yw.Application</RootNamespace>
    <GenerateDocumentationFile>True</GenerateDocumentationFile>
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
    <Version>1.0.0</Version>
    <Version>1.0.1</Version>
  </PropertyGroup>
  <ItemGroup>
@@ -40,7 +40,11 @@
  <ItemGroup>
    <PackageReference Include="Yw.Application.Core" Version="1.2.5" />
    <PackageReference Include="Yw.Quartz.Core" Version="1.0.0" />
    <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.0" />
    <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.1" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="2-pump-curve-mapping\2-std\" />
  </ItemGroup>
</Project>
Yw.Service.Curve.Core/3-settings/paras/Paras_Curve.cs
@@ -11,6 +11,11 @@
        /// </summary>
        public Paras_Curve_DataBase DataBase { get; set; }
        /// <summary>
        /// ç‚¹æ•°é‡
        /// </summary>
        public int PointNumber { get; set; }
    }
}
Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2023-11-07T03:00:32.3186525Z;True|2023-11-07T11:00:20.7173571+08:00;True|2023-10-24T23:16:33.8643304+08:00;True|2023-10-21T14:19:25.2606768+08:00;True|2023-09-26T14:09:33.8756384+08:00;True|2023-08-29T11:33:28.5466784+08:00;True|2023-08-21T13:26:43.3162454+08:00;True|2023-08-18T13:08:38.6378644+08:00;True|2023-08-16T17:42:45.3685771+08:00;True|2023-08-16T11:48:48.4326811+08:00;True|2023-08-15T15:00:14.6493599+08:00;True|2023-08-10T15:20:03.2786400+08:00;True|2023-08-07T11:48:46.2865626+08:00;True|2023-08-07T11:15:37.1248435+08:00;True|2023-08-07T10:40:31.7277832+08:00;True|2023-08-04T17:10:25.6488475+08:00;True|2023-08-02T15:24:28.5531853+08:00;True|2023-08-02T15:19:18.2260163+08:00;True|2023-08-02T13:26:30.0499052+08:00;True|2023-07-17T10:30:15.0370305+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
    <History>True|2023-11-08T03:54:49.6715090Z;True|2023-11-07T11:00:32.3186525+08:00;True|2023-11-07T11:00:20.7173571+08:00;True|2023-10-24T23:16:33.8643304+08:00;True|2023-10-21T14:19:25.2606768+08:00;True|2023-09-26T14:09:33.8756384+08:00;True|2023-08-29T11:33:28.5466784+08:00;True|2023-08-21T13:26:43.3162454+08:00;True|2023-08-18T13:08:38.6378644+08:00;True|2023-08-16T17:42:45.3685771+08:00;True|2023-08-16T11:48:48.4326811+08:00;True|2023-08-15T15:00:14.6493599+08:00;True|2023-08-10T15:20:03.2786400+08:00;True|2023-08-07T11:48:46.2865626+08:00;True|2023-08-07T11:15:37.1248435+08:00;True|2023-08-07T10:40:31.7277832+08:00;True|2023-08-04T17:10:25.6488475+08:00;True|2023-08-02T15:24:28.5531853+08:00;True|2023-08-02T15:19:18.2260163+08:00;True|2023-08-02T13:26:30.0499052+08:00;True|2023-07-17T10:30:15.0370305+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History>
  </PropertyGroup>
</Project>
Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj
@@ -7,7 +7,7 @@
        <RootNamespace>Yw</RootNamespace>
        <GenerateDocumentationFile>True</GenerateDocumentationFile>
        <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
        <Version>1.0.0</Version>
        <Version>1.0.1</Version>
        <Description>增加设备健康评价数据分发</Description>
    </PropertyGroup>
@@ -56,6 +56,9 @@
        <Content Update="C:\Users\admin\.nuget\packages\yw.service.core\1.0.6\contentFiles\any\net6.0\paras_service_settings.json">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
        <Content Update="C:\Users\admin\.nuget\packages\yw.service.core\1.1.2\contentFiles\any\net6.0\paras_service_settings.json">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
        <Content Update="C:\Users\admin\.nuget\packages\yw.sqlsugar.core\1.0.0\contentFiles\any\net6.0\paras_sqlsugar_settings.json">
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </Content>
Yw.Service.Curve.Core/paras_curve_settings.json
@@ -2,20 +2,11 @@
  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
  "Health": {
  "Curve": {
    "DataBase": {
      "ConnectString": "PORT=5432;DATABASE=yw_health;HOST=localhost;PASSWORD=123456;USER ID=postgres;",
      "RecordConnectString": "PORT=5432;DATABASE=yw_health_record;HOST=localhost;PASSWORD=123456;USER ID=postgres;"
      "ConnectString": "PORT=5432;DATABASE=yw_health;HOST=localhost;PASSWORD=123456;USER ID=postgres;"
    },
    "RedisCache": {
      "Prefix": "yw"
    },
    "Run": {
      "ExchangeName": "yw-health-evaluation-record-run-exchange"
    },
    "Task": {
      "Frequency": 60
    }
    "PointNumber": 12
  }