From ccbbd0500eb763517329d6cf9197e928bfeda148 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期三, 09 四月 2025 10:48:27 +0800 Subject: [PATCH] 1.产品绑定 --- service/QC/OAJyService.cs | 110 +++++++++++++------------- service/Wom/WomdaaManager.cs | 65 ++++++++++++++++ Controllers/Wom/WomdaaController.cs | 28 +++++++ 3 files changed, 148 insertions(+), 55 deletions(-) diff --git a/Controllers/Wom/WomdaaController.cs b/Controllers/Wom/WomdaaController.cs index 3492d8d..94a7dd9 100644 --- a/Controllers/Wom/WomdaaController.cs +++ b/Controllers/Wom/WomdaaController.cs @@ -292,5 +292,33 @@ return ResponseResult.ResponseError(ex); } } + + //GetItemsByDaa001 + /// <summary> + /// 鎵弿娉ㄥ鐮侊紝鑾峰彇宸ュ崟鍜屾潯鐮佷俊鎭� + /// </summary> + /// <returns></returns> + [HttpPost("ProductBinding")] + public ResponseResult ProductBinding([FromBody] dynamic query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + // 鍏堝垵濮嬪寲tbBillList灞炴�� + resultInfos.tbBillList = new ExpandoObject(); + resultInfos.tbBillList = m.ProductBinding(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + #endregion } \ No newline at end of file diff --git a/service/QC/OAJyService.cs b/service/QC/OAJyService.cs index 605ad1f..7c75f09 100644 --- a/service/QC/OAJyService.cs +++ b/service/QC/OAJyService.cs @@ -173,66 +173,66 @@ } - public dynamic SumbitIQCToOA(dynamic queryObj) - { - try - { - ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true; - ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; + //public dynamic SumbitIQCToOA(dynamic queryObj) + //{ + // try + // { + // ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true; + // ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; - var request = WebRequest.Create(url) as HttpWebRequest; - request.Method = "POST"; - request.Timeout = 20000; // 20绉掕秴鏃� - request.ContentType = "application/x-www-form-urlencoded; charset=utf-8"; // 鏄庣‘鎸囧畾缂栫爜 + // var request = WebRequest.Create(url) as HttpWebRequest; + // request.Method = "POST"; + // request.Timeout = 20000; // 20绉掕秴鏃� + // request.ContentType = "application/x-www-form-urlencoded; charset=utf-8"; // 鏄庣‘鎸囧畾缂栫爜 - // 娣诲姞璋冭瘯澶翠俊鎭� - request.Headers.Add("appid", APPID); - request.Headers.Add("token", token); - request.Headers.Add("userId", userId); + // // 娣诲姞璋冭瘯澶翠俊鎭� + // request.Headers.Add("appid", APPID); + // request.Headers.Add("token", token); + // request.Headers.Add("userId", userId); - // 鏋勫缓甯︽椂鍖虹殑鏃ユ湡鍙傛暟 - var postData = new StringBuilder(); - var dateParam = DateTime.Now.AddDays(-1).ToString("yyyy-MM-ddTHH:mm:sszzz"); - postData.AppendFormat("KQSDATE={0}&KQEDATE={1}", - Uri.EscapeDataString(dateParam), - Uri.EscapeDataString(dateParam)); + // // 鏋勫缓甯︽椂鍖虹殑鏃ユ湡鍙傛暟 + // var postData = new StringBuilder(); + // var dateParam = DateTime.Now.AddDays(-1).ToString("yyyy-MM-ddTHH:mm:sszzz"); + // postData.AppendFormat("KQSDATE={0}&KQEDATE={1}", + // Uri.EscapeDataString(dateParam), + // Uri.EscapeDataString(dateParam)); - byte[] byteData = Encoding.UTF8.GetBytes(postData.ToString()); // 鏀圭敤UTF8缂栫爜 + // byte[] byteData = Encoding.UTF8.GetBytes(postData.ToString()); // 鏀圭敤UTF8缂栫爜 - // 鏇村畬鍠勭殑璇锋眰鍐欏叆 - using (var stream = request.GetRequestStream()) - { - stream.Write(byteData, 0, byteData.Length); - } + // // 鏇村畬鍠勭殑璇锋眰鍐欏叆 + // using (var stream = request.GetRequestStream()) + // { + // stream.Write(byteData, 0, byteData.Length); + // } - // 澶勭悊HTTP閿欒鐘舵�佺爜 - using (var response = request.GetResponse() as HttpWebResponse) - { - if (response.StatusCode != HttpStatusCode.OK) - { - throw new WebException($"鏈嶅姟鍣ㄨ繑鍥為敊璇姸鎬佺爜: {(int)response.StatusCode} {response.StatusDescription}"); - } + // // 澶勭悊HTTP閿欒鐘舵�佺爜 + // using (var response = request.GetResponse() as HttpWebResponse) + // { + // if (response.StatusCode != HttpStatusCode.OK) + // { + // throw new WebException($"鏈嶅姟鍣ㄨ繑鍥為敊璇姸鎬佺爜: {(int)response.StatusCode} {response.StatusDescription}"); + // } - using (var stream = response.GetResponseStream()) - using (var reader = new StreamReader(stream, Encoding.UTF8)) - { - return reader.ReadToEnd(); - } - } - } - catch (WebException ex) when (ex.Response is HttpWebResponse response) - { - // 璁板綍璇︾粏閿欒淇℃伅 - var errorStream = response.GetResponseStream(); - using (var reader = new StreamReader(errorStream)) - { - string errorDetails = reader.ReadToEnd(); - throw new Exception($"璇锋眰澶辫触 [Status: {response.StatusCode}]: {errorDetails}", ex); - } - } - catch (Exception ex) - { - throw new Exception($"璇锋眰寮傚父: {ex.Message}", ex); - } - } + // using (var stream = response.GetResponseStream()) + // using (var reader = new StreamReader(stream, Encoding.UTF8)) + // { + // return reader.ReadToEnd(); + // } + // } + // } + // catch (WebException ex) when (ex.Response is HttpWebResponse response) + // { + // // 璁板綍璇︾粏閿欒淇℃伅 + // var errorStream = response.GetResponseStream(); + // using (var reader = new StreamReader(errorStream)) + // { + // string errorDetails = reader.ReadToEnd(); + // throw new Exception($"璇锋眰澶辫触 [Status: {response.StatusCode}]: {errorDetails}", ex); + // } + // } + // catch (Exception ex) + // { + // throw new Exception($"璇锋眰寮傚父: {ex.Message}", ex); + // } + //} } \ No newline at end of file diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs index 5e2300b..f8b6219 100644 --- a/service/Wom/WomdaaManager.cs +++ b/service/Wom/WomdaaManager.cs @@ -301,4 +301,69 @@ return Traceability; } + + public dynamic ProductBinding(dynamic query) + { + if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); + + // 2. 浣跨敤 string.IsNullOrEmpty 鐩存帴鍒ゆ柇瀛楃涓插睘鎬э紙閬垮厤 NullReferenceException锛� + if (string.IsNullOrEmpty(query.userName?.ToString())) + throw new ArgumentException("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖", nameof(query.userName)); + + if (string.IsNullOrEmpty(query.ZsBar?.ToString())) + throw new ArgumentException("杩芥函鐮佷笉鍏佽涓虹┖", nameof(query.ZsBar)); + + if (string.IsNullOrEmpty(query.LsBar?.ToString())) + throw new ArgumentException("鍚庣洊鐮佷笉鍏佽涓虹┖", nameof(query.LsBar)); + + var _strMsg = ""; + var _intSum = ""; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) + { + using (var cmd = new SqlCommand("prc_pda_product_binding", conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, + new("@pi_trac_barcode", SqlDbType.NVarChar, 100) { Value = query.ZsBar }, + new("@pi_ls_barcode", SqlDbType.NVarChar, 100) { Value = query.LsBar }, + new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output } + }; + + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + + cmd.ExecuteNonQuery(); + + _strMsg = parameters[3].Value?.ToString() ?? ""; + _intSum = parameters[4].Value?.ToString() ?? "-1"; + + var result = Convert.ToInt32(_intSum); + if (result <= 0) throw new Exception(_strMsg); + + var dto = new + { + message = _strMsg, + status = result, + tracBarcode = query.ZsBar + }; + + return dto; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + finally + { + conn.Close(); + } + } + } + } } \ No newline at end of file -- Gitblit v1.9.3