jimmy.jiang@vinno.com 7 сар өмнө
parent
commit
74044edc26

+ 75 - 36
fis/Managers/Interfaces/IURMImporterManager.cs

@@ -631,36 +631,28 @@ namespace fis.Managers.Interfaces
             return true;
         }
 
-        private Dictionary<string, string> GenerateParasDict(FISURMAnalysisParam paraUrm)
+        private Dictionary<string, string> GetOtherParamsDictionary(string paramsStr)
         {
-            var mergePathData = paraUrm.UrmDatapath.Split(',');
-            var beams = "";
-            var samples = "";
-            var familyName = "";
-            var typeInfo = "";
-            var nativeId = "";
-            var section = "";
-            var MidProc_DeciFactor = "";
-            var startTime = "";
-            var endTime = "";
-            var probeWidth = "";
-            var colorBars = "";
-            var offset = "";
-            if (mergePathData.Count() >= 13)
+            try
             {
-                beams = mergePathData[0];
-                samples = mergePathData[1];
-                familyName = mergePathData[2];
-                typeInfo = mergePathData[3];
-                nativeId = mergePathData[4];
-                section = mergePathData[5];
-                MidProc_DeciFactor = mergePathData[6];
-                probeWidth = mergePathData[7];
-                startTime = mergePathData[8];
-                endTime = mergePathData[9];
-                offset= mergePathData[10];
-                colorBars= mergePathData[11]+","+ mergePathData[12];
+                var paramsData = JsonConvert.DeserializeObject<Dictionary<string,string>>(paramsStr);
+                if (paramsData == null)
+                {
+                    return new Dictionary<string, string>();
+                }
+                return paramsData;
             }
+            catch (Exception ex)
+            {
+                Logger.WriteShellLog($"Converting failed since the params is old parameter data {ex}");
+                return new Dictionary<string, string>();
+            }
+            
+        }
+
+        private Dictionary<string, string> GenerateParasDict(FISURMAnalysisParam paraUrm)
+        {
+            var otherdictParams = GetOtherParamsDictionary(paraUrm.UrmDatapath);
             var paraDict = new Dictionary<string, string>
             {
                 { nameof(paraUrm.UrmDatapath), paraUrm.UrmDatapath },
@@ -712,7 +704,41 @@ namespace fis.Managers.Interfaces
                 { nameof(paraUrm.SizeScan), paraUrm.SizeScan},
                 { nameof(paraUrm.MotionAngleThresh), paraUrm.MotionAngleThresh },
                 { nameof(paraUrm.TrackInterpFactor), paraUrm.TrackInterpFactor},
-                { "Beams", beams},
+
+            };
+            if (otherdictParams.Count <= 0)
+            {
+                var mergePathData = paraUrm.UrmDatapath.Split(',');
+                var beams = "";
+                var samples = "";
+                var familyName = "";
+                var typeInfo = "";
+                var nativeId = "";
+                var section = "";
+                var MidProc_DeciFactor = "";
+                var startTime = "";
+                var endTime = "";
+                var probeWidth = "";
+                var colorBars = "";
+                var offset = "";
+                if (mergePathData.Count() >= 13)
+                {
+                    beams = mergePathData[0];
+                    samples = mergePathData[1];
+                    familyName = mergePathData[2];
+                    typeInfo = mergePathData[3];
+                    nativeId = mergePathData[4];
+                    section = mergePathData[5];
+                    MidProc_DeciFactor = mergePathData[6];
+                    probeWidth = mergePathData[7];
+                    startTime = mergePathData[8];
+                    endTime = mergePathData[9];
+                    offset = mergePathData[10];
+                    colorBars = mergePathData[11] + "," + mergePathData[12];
+                }
+                otherdictParams = new Dictionary<string, string>()
+                {
+                 { "Beams", beams},
                 { "Samples",samples},
                 {"FamilyName",familyName},
                 {"TypeInfo",typeInfo },
@@ -727,19 +753,32 @@ namespace fis.Managers.Interfaces
 
                 { "EndTime",endTime},
                 { "ProbeWidth",probeWidth}
-            };
-            if (!string.IsNullOrEmpty(colorBars))
-            {
-                var colorbarData = JsonConvert.DeserializeObject<Dictionary<string, string>>(colorBars);
-                if (colorbarData != null)
+                };
+                foreach (var c in otherdictParams)
                 {
-                    foreach (var c in colorbarData)
+                    paraDict.Add(c.Key, c.Value);
+                }
+                if (!string.IsNullOrEmpty(colorBars))
+                {
+                    var colorbarData = JsonConvert.DeserializeObject<Dictionary<string, string>>(colorBars);
+                    if (colorbarData != null)
                     {
-                        paraDict.Add(c.Key, c.Value);
+                        foreach (var c in colorbarData)
+                        {
+                            paraDict.Add(c.Key, c.Value);
+                        }
                     }
-                }
 
+                }
             }
+            else {
+                foreach (var c in otherdictParams)
+                {
+                    paraDict.Add(c.Key, c.Value);
+                }
+            }
+
+         
             return paraDict;
         }