From 5b2778a1ab5b9a2581c8f56defe67d7c002cf7de Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 08 十一月 2023 13:33:32 +0800
Subject: [PATCH] 新增通过泵id列表获取曲线

---
 Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user          |    2 
 Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj                                      |    2 
 Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj                              |    4 +-
 Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs |   15 +++++++
 Yw.Service.Curve.Core/5-service/3-pump-curve-mapping-extension/PumpCurveExMapping.cs    |   22 +++++++++++
 Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIDInput.cs                            |    0 
 Yw.Service.Curve.Core/5-service/2-pump-curve-mapping/PumpCurveMapping.cs                |   13 ++++++
 Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIdsInput.cs                           |   31 +++++++++++++++
 Yw.Application.Curve.Core/2-pump-curve-mapping/1-mgr/PumpCurveMapping_Controller.cs     |   13 ++++++
 Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user              |    2 
 10 files changed, 98 insertions(+), 6 deletions(-)

diff --git a/Yw.Application.Curve.Core/0-core/3-dto/PumpIDInput.cs b/Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIDInput.cs
similarity index 100%
rename from Yw.Application.Curve.Core/0-core/3-dto/PumpIDInput.cs
rename to Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIDInput.cs
diff --git a/Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIdsInput.cs b/Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIdsInput.cs
new file mode 100644
index 0000000..81b064c
--- /dev/null
+++ b/Yw.Application.Curve.Core/0-core/3-dto/pumpid/PumpIdsInput.cs
@@ -0,0 +1,31 @@
+锘縩amespace Yw.Application.Curve
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public class PumpIdsInput : IValidatableObject
+    {
+        /// <summary>
+        /// 娉� id 鍒楄〃
+        /// </summary>
+        [Required]
+        public string PumpIds { get; set; }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="validationContext"></param>
+        /// <returns></returns>
+        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
+        {
+            var ids = LongListHelper.ToList(PumpIds);
+            if (ids == null || ids.Count < 1)
+            {
+                yield return new ValidationResult("PumpIds 蹇呴』鏄敤 , 闅斿紑鐨処D鍒楄〃", new string[1]
+                {
+                    "PumpIds"
+                });
+            }
+        }
+    }
+}
diff --git a/Yw.Application.Curve.Core/2-pump-curve-mapping/1-mgr/PumpCurveMapping_Controller.cs b/Yw.Application.Curve.Core/2-pump-curve-mapping/1-mgr/PumpCurveMapping_Controller.cs
index 7317cd3..42da94e 100644
--- a/Yw.Application.Curve.Core/2-pump-curve-mapping/1-mgr/PumpCurveMapping_Controller.cs
+++ b/Yw.Application.Curve.Core/2-pump-curve-mapping/1-mgr/PumpCurveMapping_Controller.cs
@@ -60,6 +60,19 @@
         }
 
         /// <summary>
+        /// 閫氳繃 PumpIds 鑾峰彇
+        /// </summary>
+        [Route("GetByPumpIds@V1.0")]
+        [HttpGet]
+        public List<PumpCurveMappingDto> GetByPumpIds([FromQuery][Required] PumpIdsInput input)
+        {
+            var ids = LongListHelper.ToList(input.PumpIds);
+            var list = _service.GetByPumpIds(ids);
+            var vmList = list?.Select(x => new PumpCurveMappingDto(x)).ToList();
+            return vmList;
+        }
+
+        /// <summary>
         /// 閫氳繃 CurveID 鑾峰彇
         /// </summary>
         [Route("GetByCurveID@V1.0")]
diff --git a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
index 62a00db..82c5cdc 100644
--- a/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
+++ b/Yw.Application.Curve.Core/3-pump-curve-extension/1-mgr/PumpCurveExMapping_Controller.cs
@@ -5,7 +5,7 @@
     /// </summary>
     [Route("Curve/Pump/Mapping/Extension")]
     [ApiDescriptionSettings("Curve", Name = "娉垫洸绾挎槧灏勬嫇灞�", Order = 8000)]
-    public partial class PumpCurveExMapping_Controller : IDynamicApiController 
+    public partial class PumpCurveExMapping_Controller : IDynamicApiController
     {
         private readonly Service.PumpCurveExMapping _service = new();
 
@@ -24,6 +24,19 @@
         }
 
         /// <summary>
+        /// 閫氳繃 PumpIds 鑾峰彇
+        /// </summary>
+        [Route("GetByPumpIds@V1.0")]
+        [HttpGet]
+        public List<PumpCurveExMappingDto> GetByPumpIds([FromQuery][Required] PumpIdsInput input)
+        {
+            var ids = LongListHelper.ToList(input.PumpIds);
+            var list = _service.GetByPumpIds(ids);
+            var vmList = list.Select(x => new PumpCurveExMappingDto(x.Item1, x.Item2)).ToList();
+            return vmList;
+        }
+
+        /// <summary>
         /// 閫氳繃 ID 鑾峰彇
         /// </summary>
         [Route("GetByID@V1.0")]
diff --git a/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
index 691e5cf..b5ad307 100644
--- a/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
 -->
 <Project>
   <PropertyGroup>
-    <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>
+    <History>True|2023-11-08T05:33:00.5811678Z;True|2023-11-08T11:55:54.5929525+08:00;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>
\ No newline at end of file
diff --git a/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj b/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj
index be76585..f4f5ed1 100644
--- a/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj
+++ b/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.1</Version>
+    <Version>1.0.2</Version>
   </PropertyGroup>
 
   <ItemGroup>
@@ -40,7 +40,7 @@
   <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.1" />
+    <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.2" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/Yw.Service.Curve.Core/5-service/2-pump-curve-mapping/PumpCurveMapping.cs b/Yw.Service.Curve.Core/5-service/2-pump-curve-mapping/PumpCurveMapping.cs
index 1cce044..2a89ced 100644
--- a/Yw.Service.Curve.Core/5-service/2-pump-curve-mapping/PumpCurveMapping.cs
+++ b/Yw.Service.Curve.Core/5-service/2-pump-curve-mapping/PumpCurveMapping.cs
@@ -179,6 +179,19 @@
         }
 
         /// <summary>
+        /// 閫氳繃 PumpIds 鑾峰彇
+        /// </summary>
+        public List<Model.PumpCurveMapping> GetByPumpIds(List<long> PumpIds)
+        {
+            if (PumpIds == null || PumpIds.Count < 1)
+            {
+                return default;
+            }
+            var all = GetAll();
+            return all.Where(x => PumpIds.Contains(x.PumpID)).OrderBy(x => x.SortCode).ToList();
+        }
+
+        /// <summary>
         /// 閫氳繃 CurveID 鑾峰彇
         /// </summary>
         public List<Model.PumpCurveMapping> GetByCurveID(long CurveID)
diff --git a/Yw.Service.Curve.Core/5-service/3-pump-curve-mapping-extension/PumpCurveExMapping.cs b/Yw.Service.Curve.Core/5-service/3-pump-curve-mapping-extension/PumpCurveExMapping.cs
index 5c593bd..d380238 100644
--- a/Yw.Service.Curve.Core/5-service/3-pump-curve-mapping-extension/PumpCurveExMapping.cs
+++ b/Yw.Service.Curve.Core/5-service/3-pump-curve-mapping-extension/PumpCurveExMapping.cs
@@ -24,6 +24,28 @@
         }
 
         /// <summary>
+        /// 閫氳繃 PumpIds 鑾峰彇
+        /// </summary>
+        public List<Tuple<Model.PumpCurveMapping, Model.PumpCurve>> GetByPumpIds(List<long> PumpIds)
+        {
+            if (PumpIds == null || PumpIds.Count < 1)
+            {
+                return default;
+            }
+            var mappingList = new Service.PumpCurveMapping().GetByPumpIds(PumpIds);
+            if (mappingList == null || mappingList.Count < 1)
+            {
+                return default;
+            }
+            var curveIds = mappingList.Select(x => x.CurveID).Distinct().ToList();
+            var curveList = new Service.PumpCurve().GetByIds(curveIds);
+            return (from x in mappingList
+                    join y in curveList
+                    on x.CurveID equals y.ID
+                    select new Tuple<Model.PumpCurveMapping, Model.PumpCurve>(x, y)).ToList();
+        }
+
+        /// <summary>
         /// 閫氳繃 ID 鑾峰彇
         /// </summary>
         public Tuple<Model.PumpCurveMapping, Model.PumpCurve> GetByID(long ID)
diff --git a/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
index d8d6b50..28fc5cc 100644
--- a/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@
 -->
 <Project>
   <PropertyGroup>
-    <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>
+    <History>True|2023-11-08T05:30:50.1423957Z;True|2023-11-08T11:54:49.6715090+08:00;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>
\ No newline at end of file
diff --git a/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj b/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj
index 53dfb68..d5160f9 100644
--- a/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj
+++ b/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.1</Version>
+		<Version>1.0.2</Version>
 		<Description>澧炲姞璁惧鍋ュ悍璇勪环鏁版嵁鍒嗗彂</Description>
 	</PropertyGroup>
 

--
Gitblit v1.9.3