ソースを参照

修改中兴接口关联参数

callm 1 週間 前
コミット
7b2bdf5767
1 ファイル変更96 行追加114 行削除
  1. 96 114
      UAS_MES_HYSX/PublicMethod/HttpServer.cs

+ 96 - 114
UAS_MES_HYSX/PublicMethod/HttpServer.cs

@@ -321,7 +321,7 @@ namespace UAS_MES_NEW.PublicMethod
         //获取SN的EN号,彩盒标机身标一个工站一起打印,需要SN单个获取
         public static string GetEN(string iSN)
         {
-            DataTable dt = (DataTable)dh.ExecuteSql("select ms_id,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");
+            DataTable dt = (DataTable)dh.ExecuteSql("select PO_SN,ms_id,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=BATCH_NO where (ms_sncode ='" + iSN + "' or ms_firstsn='" + iSN + "') and RESERVE9='" + User.UserLineCode + "' order by ms_id desc", "select");
             string prefix = "";
             string regcode = "";
             string makecode = "";
@@ -334,12 +334,12 @@ namespace UAS_MES_NEW.PublicMethod
                 regcode = dt.Rows[0]["pr_regcode"].ToString();
                 makecode = dt.Rows[0]["ms_makecode"].ToString();
                 prebigxbox = dt.Rows[0]["PREFIX_BIG_BOX"].ToString();
-                po = dt.Rows[0]["ma_custpo"].ToString();
+                po = dt.Rows[0]["PO_SN"].ToString();
                 ms_id = dt.Rows[0]["ms_id"].ToString();
             }
             if (po == "")
             {
-                BaseUtil.ShowError("工单未维护客户PO号,不允许执行该操作");
+                BaseUtil.ShowError("工单或线别未匹配到PO号,不允许执行该操作");
             }
             dynamic obj = new ExpandoObject();
 
@@ -382,23 +382,106 @@ namespace UAS_MES_NEW.PublicMethod
             return dev_en_no;
         }
 
-        private string HandleWebException(WebException ex)
+        //获取外箱号信息
+        public static void GetOutBoxInfo(string iBox)
         {
-            if (ex.Response != null)
+            dynamic obj = new ExpandoObject();
+            var expandoDict = obj as IDictionary<string, object>;
+            DataTable dt = (DataTable)dh.ExecuteSql("select NOTYPE,po_sn,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 left join ZTE_ORDER on ma_custpo=BATCH_NO  where pd_outboxcode='" + iBox + "' and  RESERVE9='" + User.UserLineCode + "'", "select");
+            string makecode = "";
+            string po = "";
+            string notype = "";
+            for (int i = 0; i < dt.Rows.Count; i++)
+            {
+                string enNoKey = $"en_no{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]["po_sn"].ToString();
+                notype= dt.Rows[i]["NOTYPE"].ToString();
+            }
+            obj.request = "Q_wai_xiang";
+            obj.packing_num = dt.Rows.Count;
+            obj.User = "mes";
+            obj.po_sn = po;
+            obj.password = "258456";
+            obj.tool_name = "zte";
+            obj.noType = notype;
+            if (po == "")
             {
-                using (HttpWebResponse response = (HttpWebResponse)ex.Response)
-                using (Stream stream = response.GetResponseStream())
-                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
+                BaseUtil.ShowError("工单未维护客户PO号,不允许执行该操作");
+            }
+            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() }
+            };
+
+            DeviceInfo deviceInfo = JsonConvert.DeserializeObject<DeviceInfo>(returnstr, settings);
+
+            //将返回的信息存入数据库
+            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'"))
                 {
-                    string errorResponse = reader.ReadToEnd();
-                    return errorResponse;
+                    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 + "'," +
+                    "'" + 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);
             }
-            else
+            dh.ExecuteSql("insert into EISDATA(ED_ID, ED_DATA, ED_INDATE, ED_TYPE)values(EISDATA_seq.nextval,'" + returnstr + "',sysdate,'GetOutBoxInfo')", "insert");
+        }
+
+        //获取栈板信息
+        public static void GetPalletInfo(string iBox)
+        {
+            DataTable dt = (DataTable)dh.ExecuteSql("select po_sn,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 left join ZTE_ORDER on ma_custpo=BATCH_NO  where  pa_mothercode='" + iBox + "' and RESERVE9='"+User.UserLineCode+"'", "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 errorMsg = $"网络错误: {ex.Message}";
-                return errorMsg;
+                string enNoKey = $"big_box_no{i}";
+                string enNoValue = dt.Rows[i]["pa_zxcode"].ToString();
+                expandoDict[enNoKey] = enNoValue;
+                po = dt.Rows[i]["po_sn"].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 = po;
+            obj.password = "258456";
+            obj.tool_name = "zte";
+            obj.mes_po = makecode;
+            obj.line_code = linecode;
+            if (po == "")
+            {
+                BaseUtil.ShowError("工单未维护客户PO号,不允许执行该操作");
+            }
+            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");
+
+            string returnstr = ToServerReq(json);
+            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,'GetPalletInfo')", "insert");
         }
 
         //发送外箱号数据,打印前获取
@@ -512,107 +595,6 @@ namespace UAS_MES_NEW.PublicMethod
                 }
             }
         }
-        //获取外箱号信息
-        public static void GetOutBoxInfo(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 = $"en_no{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 = "Q_wai_xiang";
-            obj.packing_num = dt.Rows.Count;
-            obj.User = "mes";
-            obj.po_sn = po;
-            obj.password = "258456";
-            obj.tool_name = "zte";
-            obj.noType = 0;
-
-            if (po == "")
-            {
-                BaseUtil.ShowError("工单未维护客户PO号,不允许执行该操作");
-            }
-
-            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() }
-            };
-
-            DeviceInfo deviceInfo = JsonConvert.DeserializeObject<DeviceInfo>(returnstr, settings);
-
-            //将返回的信息存入数据库
-            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 + "'," +
-                    "'" + 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);
-            }
-            dh.ExecuteSql("insert into EISDATA(ED_ID, ED_DATA, ED_INDATE, ED_TYPE)values(EISDATA_seq.nextval,'" + returnstr + "',sysdate,'GetOutBoxInfo')", "insert");
-        }
-
-        //获取栈板信息
-        public static void GetPalletInfo(string iBox)
-        {
-            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_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 = po;
-            obj.password = "258456";
-            obj.tool_name = "zte";
-            obj.mes_po = makecode;
-            obj.line_code = linecode;
-            if (po == "")
-            {
-                BaseUtil.ShowError("工单未维护客户PO号,不允许执行该操作");
-            }
-            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");
-
-            string returnstr = ToServerReq(json);
-            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,'GetPalletInfo')", "insert");
-        }
 
         public static string GetMingPai_Thailand(string iSN)
         {