فهرست منبع

添加泰国接口

callm 2 هفته پیش
والد
کامیت
a6d175923a
1فایلهای تغییر یافته به همراه92 افزوده شده و 3 حذف شده
  1. 92 3
      UAS_MES_HYSX/PublicMethod/HttpServer.cs

+ 92 - 3
UAS_MES_HYSX/PublicMethod/HttpServer.cs

@@ -126,6 +126,38 @@ namespace UAS_MES_NEW.PublicMethod
         public List<string> Reserve3 { get; set; } = new List<string>();
         public List<string> Reserve4 { get; set; } = new List<string>();
     }
+
+    public class Thailand
+    {
+        [JsonProperty("tool_name")]
+        public string ToolName { get; set; }
+
+        [JsonProperty("response")]
+        public string Response { get; set; }
+
+        [JsonProperty("status")]
+        public int Status { get; set; }
+
+        [JsonProperty("product_name")]
+        public string ProductName { get; set; }
+
+        [JsonProperty("product_mode")]
+        public string ProductMode { get; set; }
+
+        [JsonProperty("big_box_no")]
+        public string BigBoxNo { get; set; }
+
+        [JsonProperty("packing_num")]
+        public int PackingNum { get; set; }
+
+        [JsonProperty("order_num")]
+        public string OrderNum { get; set; }
+
+        // 使用字典或列表来存储序列化的数组数据
+        public List<string> sn { get; set; } = new List<string>();
+        public List<string> product_id { get; set; } = new List<string>();
+        public List<string> en { get; set; } = new List<string>();
+    }
     public class DeviceInfoConverter : JsonConverter<DeviceInfo>
     {
         public override DeviceInfo ReadJson(JsonReader reader, System.Type objectType, DeviceInfo existingValue, bool hasExistingValue, JsonSerializer serializer)
@@ -524,6 +556,7 @@ namespace UAS_MES_NEW.PublicMethod
                     "'" + deviceInfo.Voltage + "','" + deviceInfo.Power + "','" + deviceInfo.OrderNo + "','" + deviceInfo.BigBoxNo + "','" + deviceInfo.DSN[i] + "'," +
                     "'" + deviceInfo.DevEnNo[i] + "', '" + deviceInfo.Reserve3[i] + "','" + deviceInfo.DeviceId[i] + "','" + deviceInfo.MacStart[i] + "','" + deviceInfo.MacEnd[i] + "','" + deviceInfo.ProductionDate + "',sysdate)", "insert");
             }
+            dh.ExecuteSql("update package set pa_zxcode ='" + deviceInfo.BigBoxNo + "' where pa_outboxcode='" + iBox + "'", "update");
             if (returnstr.Length > 1000)
             {
                 returnstr = returnstr.Substring(0, 1000);
@@ -534,23 +567,29 @@ namespace UAS_MES_NEW.PublicMethod
         //获取栈板信息
         public static void GetPalletInfo(string iBox)
         {
-            DataTable dt = (DataTable)dh.ExecuteSql("select pa_outboxcode,pa_makecode from package where  pa_mothercode='" + iBox + "'", "select");
+            DataTable dt = (DataTable)dh.ExecuteSql("select sc_linecode,ma_custpo,pa_zxcode,pa_outboxcode,pa_makecode from package left join source on pa_sccode=sc_code left join make on pa_makecode=ma_code where  pa_mothercode='" + iBox + "'", "select");
             dynamic obj = new ExpandoObject();
             var expandoDict = obj as IDictionary<string, object>;
+            string po = "";
             string makecode = "";
+            string linecode = "";
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 string enNoKey = $"big_box_no{i}";
-                string enNoValue = dt.Rows[i]["pa_outboxcode"].ToString();
+                string enNoValue = dt.Rows[i]["pa_zxcode"].ToString();
                 expandoDict[enNoKey] = enNoValue;
+                po = dt.Rows[i]["ma_custpo"].ToString();
                 makecode = dt.Rows[i]["pa_makecode"].ToString();
+                linecode = dt.Rows[i]["sc_linecode"].ToString();
             }
             obj.request = "pallet";
             obj.packing_num = dt.Rows.Count;
             obj.User = "mes";
-            obj.po_sn = makecode;
+            obj.po_sn = po;
             obj.password = "258456";
             obj.tool_name = "zte";
+            obj.mes_po = makecode;
+            obj.line_code = linecode;
 
             string json = JsonConvert.SerializeObject(obj, Formatting.Indented);
             dh.ExecuteSql("insert into EISDATA(ED_ID, ED_DATA, ED_INDATE, ED_TYPE)values(EISDATA_seq.nextval,'" + json + "',sysdate,'GetPalletInfo')", "insert");
@@ -652,7 +691,57 @@ namespace UAS_MES_NEW.PublicMethod
         }
         public static void GetOutBoxInf_Thailand(string iBox)
         {
+            dynamic obj = new ExpandoObject();
+            var expandoDict = obj as IDictionary<string, object>;
+            DataTable dt = (DataTable)dh.ExecuteSql("select ma_custpo,pd_barcode,pd_makecode,ZD_DEV_EN_NO from packagedetail left join ZTEDATA on zd_makecode=pd_makecode and pd_barcode=ZD_DEV_EN_NO left join make on ma_code=pd_makecode  where pd_outboxcode='" + iBox + "'", "select");
+            string makecode = "";
+            string po = "";
+            for (int i = 0; i < dt.Rows.Count; i++)
+            {
+                string enNoKey = $"sn{i}";
+                string enNoValue = dt.Rows[i]["ZD_DEV_EN_NO"].ToString();
+                expandoDict[enNoKey] = enNoValue;
+                makecode = dt.Rows[i]["pd_makecode"].ToString();
+                po = dt.Rows[i]["ma_custpo"].ToString();
+            }
+            obj.request = "ajc_wai_xiang";
+            obj.packing_num = dt.Rows.Count;
+            obj.User = "test";
+            obj.po_sn = po;
+            obj.password = "123456";
+            obj.tool_name = "AJC";
+            obj.noType = 1;
+
+            string json = JsonConvert.SerializeObject(obj, Formatting.Indented);
+            string returnstr = ToServerReq(json);
+            dh.ExecuteSql("insert into EISDATA(ED_ID, ED_DATA, ED_INDATE, ED_TYPE)values(EISDATA_seq.nextval,'" + json + "',sysdate,'GetOutBoxInfo')", "insert");
 
+            var settings = new JsonSerializerSettings
+            {
+                Converters = new List<JsonConverter> { new DeviceInfoConverter() }
+            };
+
+            Thailand deviceInfo = JsonConvert.DeserializeObject<Thailand>(returnstr, settings);
+
+            //将返回的信息存入数据库
+            for (int i = 0; i < deviceInfo.product_id.Count; i++)
+            {
+                if (dh.CheckExist("ZTEDATA", "zd_sn='" + deviceInfo.product_id[i] + "' and zd_makecode='" + makecode + "' and zd_type='BOX'"))
+                {
+                    dh.ExecuteSql("delete from ZTEDATA where zd_sn='" + deviceInfo.product_id[i] + "' and zd_makecode='" + makecode + "' and zd_type='BOX'", "delete");
+                }
+                dh.ExecuteSql("insert into ZTEDATA(ZD_ID,ZD_SN, ZD_MAKECODE, ZD_TYPE,ZD_product_mode, ZD_PRODUCTNAME, " +
+                    "ZD_ORDER_NO, ZD_BIG_BOX_NO, ZD_D_SN, ZD_DEV_EN_NO,ZD_DEVICEID,zd_custom ,ZD_INDATE)" +
+                    "values(ZTEDATA_seq.nextval,'" + deviceInfo.sn[i] + "','" + makecode + "','BOX','" + deviceInfo.ProductMode + "','" + deviceInfo.ProductName + "'," +
+                    ",'" + deviceInfo.OrderNum + "','" + deviceInfo.BigBoxNo + "','" + deviceInfo.sn[i] + "','" + deviceInfo.en[i] + "','" + deviceInfo.product_id[i] + "','Thailand'," +
+                    ",sysdate)", "insert");
+            }
+            dh.ExecuteSql("update package set pa_zxcode ='" + deviceInfo.BigBoxNo + "' where pa_outboxcode='" + iBox + "'", "update");
+            if (returnstr.Length > 1000)
+            {
+                returnstr = returnstr.Substring(0, 1000);
+            }
+            dh.ExecuteSql("insert into EISDATA(ED_ID, ED_DATA, ED_INDATE, ED_TYPE)values(EISDATA_seq.nextval,'" + returnstr + "',sysdate,'GetOutBoxInfo')", "insert");
         }
 
         public static readonly uint PROTOCOL_FLAG = 0x4C4F4F54;