From cc63c8a1bf8f7f017f2f05c34f0d86f8acdfc295 Mon Sep 17 00:00:00 2001
From: lx <ex_lixiang17@cols.com.cn>
Date: 星期三, 02 七月 2025 23:59:22 +0800
Subject: [PATCH] update

---
 ErrorAnalysis.UI/Form1.resx             |    4 +-
 ErrorAnalysis.Service/ErrorRatioCalc.cs |    9 ++++
 ErrorAnalysis.UI/Form1.cs               |    4 +-
 ErrorAnalysis.UI/Program.cs             |    2 
 ErrorAnalysis.Service/Utility.cs        |   35 +++++++++++++++++
 ErrorAnalysis.UI/Form1.Designer.cs      |   48 +++++++++++++++++++++---
 6 files changed, 90 insertions(+), 12 deletions(-)

diff --git a/ErrorAnalysis.Service/ErrorRatioCalc.cs b/ErrorAnalysis.Service/ErrorRatioCalc.cs
index bde1691..9ac97ac 100644
--- a/ErrorAnalysis.Service/ErrorRatioCalc.cs
+++ b/ErrorAnalysis.Service/ErrorRatioCalc.cs
@@ -17,7 +17,14 @@
             var coWOLRepository = new COWOLRepository(connectionString);
             var cWolRes = coWOLRepository.GetWOL(modelID, 0);
             var oWolRes = coWOLRepository.GetWOL(modelID, 100);
-            
+
+            var mergePDEV = PDEVCalcService.GetMergePDEV(connectionString, modelID, porosity);
+
+            var poroFiledName = $"WLPu" + porosity;
+            var property = cWolRes.GetType().GetProperty(poroFiledName);
+
+            var errorRatio = mergePDEV / ((double)property.GetValue(cWolRes) - (double)property.GetValue(cWolRes));
+
             return new ErrorRatio { };
         }
     }
diff --git a/ErrorAnalysis.Service/Utility.cs b/ErrorAnalysis.Service/Utility.cs
new file mode 100644
index 0000000..9d1ff79
--- /dev/null
+++ b/ErrorAnalysis.Service/Utility.cs
@@ -0,0 +1,35 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ErrorAnalysis.Service
+{
+    public class Utility
+    {
+        /// <summary> 
+        /// 鍗曠嚎鎬ф彃鍊兼硶
+        /// </summary>
+        /// <param name="value">鎻掑��</param>
+        /// <param name="x0">璧峰鍊�</param>
+        /// <param name="y0">璧峰鍊煎搴斿��</param>
+        /// <param name="x1">缁撴潫鍊�</param>
+        /// <param name="y1">缁撴潫鍊煎搴斿��</param>
+        /// <returns>鎻掑�煎搴旂粨鏋�</returns>
+        public static double Interpolate(double value, double x0, double y0, double x1, double y1)
+        {
+            // Calculate the interpolated value using linear interpolation formula
+            double y = y0 + (value - x0) * (y1 - y0) / (x1 - x0);
+            return y;
+        }
+
+
+        public static (double, double) InterpolateBySw(double c, double o, double sw)
+        {
+            var cRes = (100 - sw) / 100 * c;
+            var oRes = sw / 100 * o;
+            return (cRes, oRes);
+        }
+    }
+}
diff --git a/ErrorAnalysis.UI/Form1.Designer.cs b/ErrorAnalysis.UI/Form1.Designer.cs
index b9757cc..da9e2a7 100644
--- a/ErrorAnalysis.UI/Form1.Designer.cs
+++ b/ErrorAnalysis.UI/Form1.Designer.cs
@@ -1,6 +1,6 @@
 锘縩amespace ErrorAnalysis.UI
 {
-    partial class Form1
+    partial class FrmMain
     {
         /// <summary>
         ///  Required designer variable.
@@ -29,11 +29,14 @@
         private void InitializeComponent()
         {
             btnGetAllPipe = new Button();
+            gpBore = new GroupBox();
+            gbProperty = new GroupBox();
+            gbResult = new GroupBox();
             SuspendLayout();
             // 
             // btnGetAllPipe
             // 
-            btnGetAllPipe.Location = new Point(642, 344);
+            btnGetAllPipe.Location = new Point(957, 688);
             btnGetAllPipe.Name = "btnGetAllPipe";
             btnGetAllPipe.Size = new Size(75, 23);
             btnGetAllPipe.TabIndex = 0;
@@ -41,19 +44,52 @@
             btnGetAllPipe.UseVisualStyleBackColor = true;
             btnGetAllPipe.Click += btnGetAllPipe_Click;
             // 
-            // Form1
+            // gpBore
+            // 
+            gpBore.Location = new Point(12, 12);
+            gpBore.Name = "gpBore";
+            gpBore.Size = new Size(1020, 163);
+            gpBore.TabIndex = 1;
+            gpBore.TabStop = false;
+            gpBore.Text = "Bore Info";
+            // 
+            // gbProperty
+            // 
+            gbProperty.Location = new Point(12, 181);
+            gbProperty.Name = "gbProperty";
+            gbProperty.Size = new Size(1020, 143);
+            gbProperty.TabIndex = 2;
+            gbProperty.TabStop = false;
+            gbProperty.Text = "Property";
+            // 
+            // gbResult
+            // 
+            gbResult.Location = new Point(12, 340);
+            gbResult.Name = "gbResult";
+            gbResult.Size = new Size(1020, 342);
+            gbResult.TabIndex = 3;
+            gbResult.TabStop = false;
+            gbResult.Text = "Result";
+            // 
+            // FrmMain
             // 
             AutoScaleDimensions = new SizeF(7F, 17F);
             AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(800, 450);
+            ClientSize = new Size(1044, 723);
+            Controls.Add(gbResult);
+            Controls.Add(gbProperty);
+            Controls.Add(gpBore);
             Controls.Add(btnGetAllPipe);
-            Name = "Form1";
-            Text = "Form1";
+            Name = "FrmMain";
+            Text = "Error Analysis";
             ResumeLayout(false);
         }
 
         #endregion
 
         private Button btnGetAllPipe;
+        private GroupBox gpBore;
+        private GroupBox gbProperty;
+        private GroupBox gbResult;
     }
 }
diff --git a/ErrorAnalysis.UI/Form1.cs b/ErrorAnalysis.UI/Form1.cs
index 75baf36..50e1b92 100644
--- a/ErrorAnalysis.UI/Form1.cs
+++ b/ErrorAnalysis.UI/Form1.cs
@@ -2,9 +2,9 @@
 
 namespace ErrorAnalysis.UI
 {
-    public partial class Form1 : Form
+    public partial class FrmMain : Form
     {
-        public Form1()
+        public FrmMain()
         {
             InitializeComponent();
         }
diff --git a/ErrorAnalysis.UI/Form1.resx b/ErrorAnalysis.UI/Form1.resx
index af32865..8b2ff64 100644
--- a/ErrorAnalysis.UI/Form1.resx
+++ b/ErrorAnalysis.UI/Form1.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
-    
+
     mimetype: application/x-microsoft.net.object.soap.base64
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
diff --git a/ErrorAnalysis.UI/Program.cs b/ErrorAnalysis.UI/Program.cs
index 10b767a..d2b60c5 100644
--- a/ErrorAnalysis.UI/Program.cs
+++ b/ErrorAnalysis.UI/Program.cs
@@ -11,7 +11,7 @@
             // To customize application configuration such as set high DPI settings or default font,
             // see https://aka.ms/applicationconfiguration.
             ApplicationConfiguration.Initialize();
-            Application.Run(new Form1());
+            Application.Run(new FrmMain());
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3