Explorar o código

[问题]
抄写EDID时,会读取TV指令:ClientType和Software Version。因为EDID不支持这两指令,经常提示

[解决方案]
新建接口:IsEDIDCopy,根据MID信息是否包含edid_pid和edid_model_name来判断是否是EDID抄写。

[平台]
Windows

[测试]

sat23 %!s(int64=3) %!d(string=hai) anos
pai
achega
1019b1a66b

+ 16 - 0
SCBC Factory Tools/Business/CommonMethod.cs

@@ -2028,6 +2028,22 @@ namespace MOKA_Factory_Tools
             stream.Close();
             stream.Dispose();
         }
+
+        /// <summary>
+        /// 是否抄写EDID;
+        /// </summary>
+        /// <param name="midInfo"></param>
+        /// <returns></returns>
+        public static bool IsEDIDCopy(MidList midInfo)
+        {
+            if (midInfo == null || midInfo.keytype == null)
+                return false;
+
+            if (!midInfo.keytype.ContainsKey("edid_pid") && !midInfo.keytype.ContainsKey("edid_model_name"))
+                return false;
+
+            return true;
+        }
     }
 
     /// <summary>

+ 1 - 1
SCBC Factory Tools/Views/Main.cs

@@ -252,7 +252,7 @@ namespace MOKA_Factory_Tools
                             {
                                 WhiteBalanceList WhiteBalanceListNow;
                                 // 如果是抄写EDID,则不获取白平衡数据;
-                                if (midList1.keytype != null && midList1.keytype.ContainsKey("edid_pid"))
+                                if (CommonMethod.IsEDIDCopy(midList1))
                                     midList1.whiteType = "-1";
                                 switch (midList1.whiteType)//订单白平衡预置状态
                                 {

+ 11 - 2
SCBC Factory Tools/Views/OperationPanel.cs

@@ -345,8 +345,8 @@ namespace MOKA_Factory_Tools
                 }
                 else
                 {
-                    // 如果抄写EDID,跳过白平衡;
-                    if (midListNow.keytype != null && midListNow.keytype.ContainsKey("edid_pid"))
+                    // 如果是抄写EDID,则不获取白平衡数据;
+                    if (CommonMethod.IsEDIDCopy(midListNow))
                         midListNow.whiteType = "-1";
                     switch (midListNow.whiteType)//订单白平衡预置状态
                     {
@@ -2304,6 +2304,15 @@ namespace MOKA_Factory_Tools
                 }
             }
 
+            // 如果是抄写EDID,则不获取白平衡数据;
+            if (CommonMethod.IsEDIDCopy(midListNow))
+            {
+                SetspecificText(SoftwareVersionNote, LResource.SkipChecking, Color.Yellow);
+                SetspecificText(ClientTypeNote, LResource.SkipChecking, Color.Yellow);
+                if(midListNow.projectid.Equals("0"))
+                    SetspecificText(ProjectIDNote, LResource.SkipCovering, Color.Yellow);
+            }
+
             //检查Software version
             if (SoftwareVersionNote.Text != LResource.SkipChecking)
             {