فهرست منبع

获取DSN时,加参数psn。

Jeff 3 سال پیش
والد
کامیت
90d5b4672f

+ 2 - 2
SCBC Factory Tools/Business/CommonMethod.cs

@@ -1934,7 +1934,7 @@ namespace MOKA_Factory_Tools
             }
         }
 
-        public static bool GetFireTVDsn(string ordernum, string deviceCode, string sn, out string dsn, SQLiteConnection errorDBNow)
+        public static bool GetFireTVDsn(string ordernum, string deviceCode, string FSN, string PSN, out string dsn, SQLiteConnection errorDBNow)
         {
             dsn = "";
             HttpHelper http = new HttpHelper();
@@ -1946,7 +1946,7 @@ namespace MOKA_Factory_Tools
                 KeepAlive = false
             };
             item.URL = TestMode.fireTVDsnUrl+ "getfiretvdsn.do?";
-            item.Postdata = JsonConvert.SerializeObject(new FireTVDsnInput { ordernum = ordernum, sn = sn, mac = TestMode.MAC, deviceCode = deviceCode });
+            item.Postdata = JsonConvert.SerializeObject(new FireTVDsnInput { ordernum = ordernum, fsn = FSN, psn = PSN, mac = TestMode.MAC, deviceCode = deviceCode });
             HttpResult result = http.GetHtml(item);
             if (result.StatusCode == System.Net.HttpStatusCode.OK)
             {

+ 9 - 0
SCBC Factory Tools/LResource.Designer.cs

@@ -1437,6 +1437,15 @@ namespace MOKA_Factory_Tools {
             }
         }
         
+        /// <summary>
+        ///   查找类似 Serial port reading PSN failed! 的本地化字符串。
+        /// </summary>
+        internal static string ReadPSNError {
+            get {
+                return ResourceManager.GetString("ReadPSNError", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   查找类似 Fail to read roku brand! 的本地化字符串。
         /// </summary>

+ 3 - 0
SCBC Factory Tools/LResource.resx

@@ -576,6 +576,9 @@
   <data name="ReadPlayreadyError" xml:space="preserve">
     <value>Read Playready error!</value>
   </data>
+  <data name="ReadPSNError" xml:space="preserve">
+    <value>Serial port reading PSN failed!</value>
+  </data>
   <data name="ReadRokuBrandFail" xml:space="preserve">
     <value>Fail to read roku brand!</value>
   </data>

+ 3 - 0
SCBC Factory Tools/LResource.zh-CN.resx

@@ -576,6 +576,9 @@
   <data name="ReadPlayreadyError" xml:space="preserve">
     <value>读取Playready失败!</value>
   </data>
+  <data name="ReadPSNError" xml:space="preserve">
+    <value>串口读取PSN失败!</value>
+  </data>
   <data name="ReadRokuBrandFail" xml:space="preserve">
     <value>ROKU brand 读取失败!</value>
   </data>

+ 2 - 1
SCBC Factory Tools/Models/StructList.cs

@@ -216,7 +216,8 @@ namespace MOKA_Factory_Tools
     public class FireTVDsnInput
     {
         public string ordernum { get; set; }
-        public string sn { get; set; }
+        public string fsn { get; set; }
+        public string psn { get; set; }
         public string deviceCode { get; set; }
         public string mac { get; set; }
 

+ 48 - 33
SCBC Factory Tools/Views/OperationPanel.cs

@@ -3609,67 +3609,82 @@ namespace MOKA_Factory_Tools
                         MessageBox.Show(LResource.DeviceCodeFormatError + "\r\n" + devicecode);
                         goto end;
                     }
-                    if (CommonMethod.GetFireTVDsn(orderNow, Encoding.ASCII.GetString(data), SN, out string dsn, errorDBNow))
+
+                    // 先读取psn的值;
+                    byte[] result_psn;
+                    byte[] data_psn;
+                    string error_psn;
+                    if (SerialCMD.ReadFireTVPSN(TVPort, out result_psn, out data_psn, out error_psn, SerailDelay))
                     {
-                        keyInfo.DSN = dsn;
-                        if (!CommonMethod.IsNumberAndWord(keyInfo.DSN))
-                        {
-                            Log.WriteErrorLog("DSN format error!\r\n" + keyInfo.DSN);
-                            MessageBox.Show(LResource.DSNFormatError + "\r\n" + keyInfo.DSN);
-                            goto end;
-                        }
-                        byte[] DSNData = System.Text.Encoding.ASCII.GetBytes(keyInfo.DSN);
-                        Log.WriteInfoLog("Write DSN...");
-                        if (SerialCMD.SetFireTVDSN(TVPort, DSNData, out result, out data, out error, SerailDelay))
+                        string psn = Encoding.ASCII.GetString(data_psn);
+                        if (CommonMethod.GetFireTVDsn(orderNow, Encoding.ASCII.GetString(data), SN, psn, out string dsn, errorDBNow))
                         {
-                            SetsuccessStatus(m_writeDSN);
-                            Log.WriteInfoLog("Check DSN...");
-                            if (writeCheckNow.DSNCheckcheck ? SerialCMD.CheckFireTVDSN(TVPort, out result, out data, out error, SerailDelay) : true)
+                            keyInfo.DSN = dsn;
+                            if (!CommonMethod.IsNumberAndWord(keyInfo.DSN))
                             {
-                                SetsuccessStatus(m_checkDSN);
-                                Log.WriteInfoLog("Read DSN...");
-                                if (readCheckNow.DSNReadcheck ? SerialCMD.GetFireTVDSN(TVPort, out result, out data, out error, SerailDelay) : true)
+                                Log.WriteErrorLog("DSN format error!\r\n" + keyInfo.DSN);
+                                MessageBox.Show(LResource.DSNFormatError + "\r\n" + keyInfo.DSN);
+                                goto end;
+                            }
+                            byte[] DSNData = System.Text.Encoding.ASCII.GetBytes(keyInfo.DSN);
+                            Log.WriteInfoLog("Write DSN...");
+                            if (SerialCMD.SetFireTVDSN(TVPort, DSNData, out result, out data, out error, SerailDelay))
+                            {
+                                SetsuccessStatus(m_writeDSN);
+                                Log.WriteInfoLog("Check DSN...");
+                                if (writeCheckNow.DSNCheckcheck ? SerialCMD.CheckFireTVDSN(TVPort, out result, out data, out error, SerailDelay) : true)
                                 {
-                                    if (SerialInit.BytesCompare_Base64(data, DSNData))
+                                    SetsuccessStatus(m_checkDSN);
+                                    Log.WriteInfoLog("Read DSN...");
+                                    if (readCheckNow.DSNReadcheck ? SerialCMD.GetFireTVDSN(TVPort, out result, out data, out error, SerailDelay) : true)
                                     {
-                                        SetsuccessStatus(m_readDSN);
-                                        //DSN读取别对成功
+                                        if (SerialInit.BytesCompare_Base64(data, DSNData))
+                                        {
+                                            SetsuccessStatus(m_readDSN);
+                                            //DSN读取别对成功
+                                        }
+                                        else
+                                        {
+                                            Log.WriteErrorLog(SN + "   contrast DSN fail");
+                                            MessageBox.Show(LResource.ContrastDSNError);
+                                            goto end;
+                                        }
+
                                     }
                                     else
                                     {
-                                        Log.WriteErrorLog(SN + "   contrast DSN fail");
-                                        MessageBox.Show(LResource.ContrastDSNError);
+                                        SetfailStatus(m_readDSN);
+                                        Log.WriteErrorLog(SN + "   read DSN fail");
+                                        MessageBox.Show(LResource.ReadDSNError);
                                         goto end;
                                     }
-
                                 }
                                 else
                                 {
-                                    SetfailStatus(m_readDSN);
-                                    Log.WriteErrorLog(SN + "   read DSN fail");
-                                    MessageBox.Show(LResource.ReadDSNError);
+                                    SetfailStatus(m_checkDSN);
+                                    Log.WriteErrorLog(SN + "   check DSN fail");
+                                    MessageBox.Show(LResource.CheckDSNError);
                                     goto end;
                                 }
                             }
                             else
                             {
-                                SetfailStatus(m_checkDSN);
-                                Log.WriteErrorLog(SN + "   check DSN fail");
-                                MessageBox.Show(LResource.CheckDSNError);
+                                SetfailStatus(m_writeDSN);
+                                Log.WriteErrorLog(SN + "   Write DSN fail");
+                                MessageBox.Show(LResource.SetDSNError);
                                 goto end;
                             }
                         }
                         else
                         {
-                            SetfailStatus(m_writeDSN);
-                            Log.WriteErrorLog(SN + "   Write DSN fail");
-                            MessageBox.Show(LResource.SetDSNError);
+                            MessageBox.Show(LResource.GetDSNError);
                             goto end;
                         }
                     }
                     else
                     {
-                        MessageBox.Show(LResource.GetDSNError);
+                        Log.WriteErrorLog("Failed to read PSN when requesting DSN !\r\n" + devicecode);
+                        MessageBox.Show(LResource.ReadPSNError);
                         goto end;
                     }
                 }