Browse Source

修改中兴数据上传

callm 3 weeks ago
parent
commit
68977c38d8
1 changed files with 31 additions and 11 deletions
  1. 31 11
      UAS_MES_HYSX/PublicMethod/HttpServer.cs

+ 31 - 11
UAS_MES_HYSX/PublicMethod/HttpServer.cs

@@ -289,12 +289,13 @@ namespace UAS_MES_NEW.PublicMethod
         //获取SN的EN号,彩盒标机身标一个工站一起打印,需要SN单个获取
         public static void GetEN(string iSN)
         {
-            DataTable dt = (DataTable)dh.ExecuteSql("select ma_custpo,ms_makecode,pr_prefix,PREFIX_EN_NO,PREFIX_BIG_BOX,pr_prebigxbox,pr_regcode from makeserial left join product on ms_prodcode=pr_code left join make on ma_code=ms_makecode left join ZTE_ORDER on ma_custpo=po_sn where ms_sncode ='" + iSN + "' order by ms_id desc", "select");
+            DataTable dt = (DataTable)dh.ExecuteSql("select ma_custpo,ms_makecode,pr_prefix,PREFIX_EN_NO,PREFIX_BIG_BOX,pr_prebigxbox,pr_regcode from makeserial left join product on ms_prodcode=pr_code left join make on ma_code=ms_makecode left join ZTE_ORDER on ma_custpo=po_sn where ms_sncode ='" + iSN + "' or ms_firstsn='" + iSN + "' order by ms_id desc", "select");
             string prefix = "";
             string regcode = "";
             string makecode = "";
             string prebigxbox = "";
             string po = "";
+            string ms_id = "";
             if (dt.Rows.Count > 0)
             {
                 prefix = dt.Rows[0]["PREFIX_EN_NO"].ToString();
@@ -302,6 +303,7 @@ namespace UAS_MES_NEW.PublicMethod
                 makecode = dt.Rows[0]["ms_makecode"].ToString();
                 prebigxbox = dt.Rows[0]["PREFIX_BIG_BOX"].ToString();
                 po = dt.Rows[0]["ma_custpo"].ToString();
+                ms_id = dt.Rows[0]["ms_id"].ToString();
             }
             dynamic obj = new ExpandoObject();
 
@@ -333,9 +335,13 @@ namespace UAS_MES_NEW.PublicMethod
             string status = deviceObj["status"].ToString();
             string device_type = deviceObj["device_type"].ToString();
             string en_no = deviceObj["en_no"].ToString();
+            if (dh.CheckExist("ZTEDATA", "zd_sn='" + iSN + "' and zd_makecode='" + makecode + "' and zd_type='彩盒机身标'"))
+            {
+                dh.ExecuteSql("delete from ZTEDATA where zd_sn='" + iSN + "' and zd_makecode='" + makecode + "' and zd_type='彩盒机身标'", "delete");
+            }
+            dh.ExecuteSql("update makeserial set ms_sncode='" + dev_en_no + "' where ms_id='" + ms_id + "'", "update");
             dh.ExecuteSql("insert into ZTEDATA(ZD_ID,ZD_D_SN,zd_WholeDeviceCode,ZD_DEV_EN_NO,ZD_SN, ZD_MAKECODE, ZD_TYPE, ZD_VALUE,zd_mac,ZD_MAC_START, ZD_MAC_END,ZD_RESERVE3,zd_enno,zd_devicetype,zd_regcode)" +
                 "values(ZTEDATA_seq.nextval,'" + SN + "','" + WholeDeviceCode + "','" + dev_en_no + "','" + iSN + "','" + makecode + "','彩盒机身标','','" + mac + "','" + mac_start + "','" + mac_end + "','" + reserve3 + "','" + en_no + "','" + device_type + "','" + reg_code + "')", "insert");
-            Console.WriteLine(json);
         }
 
         private string HandleWebException(WebException ex)
@@ -414,20 +420,32 @@ namespace UAS_MES_NEW.PublicMethod
                     }
                     else
                     {
-                        string sql = dt.Rows[i]["pid_sql"].ToString();
-                        Regex ConnoteA = new Regex("{\\w+}");
-                        foreach (Match mch in ConnoteA.Matches(sql))
+                        string sql = dt1.Rows[j]["pid_sql"].ToString();
+                        string value = "";
+                        if (sql != "")
+                        {
+                            Regex ConnoteA = new Regex("{\\w+}");
+                            foreach (Match mch in ConnoteA.Matches(sql))
+                            {
+                                string x = mch.Value.Trim();
+                                sql = sql.Replace(x, "'" + dt.Rows[i]["pd_barcode"].ToString() + "'");
+                            }
+                            DataTable Param = (DataTable)dh.ExecuteSql(sql.ToString(), "select");
+                            if (Param.Rows.Count > 0)
+                            {
+                                value = Param.Rows[0][0].ToString();
+                            }
+                        }
+                        else
                         {
-                            string x = mch.Value.Trim();
-                            sql = sql.Replace(x, "'" + dt.Rows[i]["pd_barcode"].ToString() + "'");
+                            value = dt1.Rows[j]["pid_value"].ToString();
                         }
-                        DataTable Param = (DataTable)dh.ExecuteSql(sql.ToString(), "select");
                         root.BindList.Add(new BindItem
                         {
                             BindKey = "mac",
                             BindValue = dt.Rows[i]["pd_barcode"].ToString(),
                             KeyType = dt1.Rows[j]["pid_item"].ToString(),
-                            KeyValue = dt1.Rows[j]["pid_item"].ToString(),
+                            KeyValue = value,
                             HashType = "NON-HASH",
                             HashKey = dt1.Rows[j]["pid_item"].ToString(),
                         });
@@ -459,8 +477,6 @@ namespace UAS_MES_NEW.PublicMethod
                 Console.WriteLine($"发生错误: {ex.Message}");
                 throw;
             }
-
-
         }
 
         //获取外箱号信息
@@ -510,6 +526,10 @@ namespace UAS_MES_NEW.PublicMethod
             //将返回的信息存入数据库
             for (int i = 0; i < deviceInfo.DSN.Count; i++)
             {
+                if (dh.CheckExist("ZTEDATA", "zd_sn='" + deviceInfo.DSN[i] + "' and zd_makecode='" + makecode + "' and zd_type='BOX'"))
+                {
+                    dh.ExecuteSql("delete from ZTEDATA where zd_sn='" + deviceInfo.DSN[i] + "' and zd_makecode='" + makecode + "' and zd_type='BOX'", "delete");
+                }
                 dh.ExecuteSql("insert into ZTEDATA(ZD_ID,ZD_SN, ZD_MAKECODE, ZD_TYPE, ZD_VALUE,ZD_product_mode, ZD_PRODUCTNAME, ZD_MATERIAL_CODE, ZD_BATCH_NO, ZD_SOFT_VERSION, ZD_HD_VERSION, " +
                     "ZD_VOLTAGE, ZD_POWER, ZD_ORDER_NO, ZD_BIG_BOX_NO, ZD_D_SN, ZD_DEV_EN_NO, ZD_RESERVE3, ZD_DEVICEID, ZD_MAC_START, ZD_MAC_END,zd_production_date, ZD_INDATE)" +
                     "values(ZTEDATA_seq.nextval,'" + deviceInfo.DSN[i] + "','" + makecode + "','BOX','" + deviceInfo.DSN[i] + "','" + deviceInfo.ProductMode + "','" + deviceInfo.ProductName + "','" + deviceInfo.MaterialCode + "','" + deviceInfo.BatchNo + "','" + deviceInfo.SoftVersion + "','" + deviceInfo.HdVersion + "'," +