From ecfbe5ea628de435225aa26c4c7f5e1d9c549cc9 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期六, 17 五月 2025 10:38:49 +0800 Subject: [PATCH] 1.其他出入库问题优化 2.携客云送货单明细数据接通 --- service/Warehouse/MesXkyService.cs | 220 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 192 insertions(+), 28 deletions(-) diff --git a/service/Warehouse/MesXkyService.cs b/service/Warehouse/MesXkyService.cs index a1b0d95..9f4ab07 100644 --- a/service/Warehouse/MesXkyService.cs +++ b/service/Warehouse/MesXkyService.cs @@ -19,30 +19,41 @@ /// <summary> /// 绯荤粺鑷姩鏃ュ織妯℃澘锛堢敤浜庢惡瀹簯鎺ュ彛璋冪敤璁板綍锛� /// </summary> - private string _logMessage = "銆怱ysAuto銆戣幏鍙栨惡瀹簯閫佽揣鍗曘��"; - - /// <summary> - /// 璇锋眰鎶ユ枃缂撳瓨锛堝瓨鍌ㄥ簭鍒楀寲鍚庣殑JSON璇锋眰鍐呭锛� - /// </summary> - private string _requestJson = string.Empty; - - /// <summary> - /// 鍔ㄦ�佸搷搴斿璞★紙瀛樺偍鍙嶅簭鍒楀寲鐨勬惡瀹簯鎺ュ彛鍝嶅簲锛� - /// </summary> - private dynamic _responseData = new System.Dynamic.ExpandoObject(); - - /// <summary> - /// 鎺ュ彛鎵ц鏃堕棿鎴筹紙鏍煎紡锛歽yyy-MM-dd HH:mm:ss锛� - /// </summary> - private string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - - /// <summary> - /// 鎺ュ彛璋冪敤鐘舵�侊紙0-澶辫触 1-鎴愬姛锛� - /// </summary> - private int sendStatus = 0; + private string _logMessageDHD = ""; - public dynamic XKY_GET_DHD(XKYGetDhdRequest entity) + /// <summary> + /// 绯荤粺鑷姩鏃ュ織妯℃澘锛堢敤浜庢惡瀹簯鎺ュ彛璋冪敤璁板綍锛� + /// </summary> + private string _logMessageDhdDetail = ""; + + /// <summary> + /// 绯荤粺鑷姩鏃ュ織妯℃澘锛堢敤浜庢惡瀹簯鎺ュ彛璋冪敤璁板綍锛� + /// </summary> + private string _logMessageDhdBar = "銆怱ysAuto銆戣幏鍙栨惡瀹簯閫佽揣鍗曟潯鐮併��"; + + public dynamic GetXkyDhd(XKYGetDhdRequest entity) { + _logMessageDHD = "銆怱ysAuto銆戣幏鍙栨惡瀹簯閫佽揣鍗曘��"; + /// <summary> + /// 璇锋眰鎶ユ枃缂撳瓨锛堝瓨鍌ㄥ簭鍒楀寲鍚庣殑JSON璇锋眰鍐呭锛� + /// </summary> + string _requestJson = string.Empty; + + /// <summary> + /// 鍔ㄦ�佸搷搴斿璞★紙瀛樺偍鍙嶅簭鍒楀寲鐨勬惡瀹簯鎺ュ彛鍝嶅簲锛� + /// </summary> + dynamic _responseData = new System.Dynamic.ExpandoObject(); + + /// <summary> + /// 鎺ュ彛鎵ц鏃堕棿鎴筹紙鏍煎紡锛歽yyy-MM-dd HH:mm:ss锛� + /// </summary> + string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + /// <summary> + /// 鎺ュ彛璋冪敤鐘舵�侊紙0-澶辫触 1-鎴愬姛锛� + /// </summary> + int sendStatus = 0; + try { string ErrorMsg = ""; @@ -129,7 +140,7 @@ sendStatus = _responseData.result; // 鍘�120-131琛屾浛鎹负锛� - if (ProcessDeliveryNotice(_responseData) > 0) + if (SaveDeliveryNotice(_responseData) > 0) sendStatus = 1; else sendStatus = 0; @@ -140,7 +151,7 @@ edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), abtGuid: null, abtTable: "DELIVERY_NOTICE", - detail: _logMessage, + detail: _logMessageDHD, orderNo: "", sendJson: _requestJson, rtnJson: JsonConvert.SerializeObject(_responseData), @@ -160,7 +171,7 @@ edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), abtGuid: null, abtTable: "DELIVERY_NOTICE", - detail: _logMessage, + detail: _logMessageDHD, orderNo: "", sendJson: _requestJson, rtnJson: JsonConvert.SerializeObject(_responseData), @@ -183,7 +194,7 @@ //} //瀵硅幏鍙栧埌鐨勬惡瀹簯閫佽揣鍗曞仛澶勭悊 - private int ProcessDeliveryNotice(dynamic responseJson) + private int SaveDeliveryNotice(dynamic responseJson) { List<DeliveryNotice> noticeList = JsonConvert.DeserializeObject<List<DeliveryNotice>>(responseJson.dataList.ToString()); noticeList.ForEach(n => n.Id = Guid.NewGuid()); @@ -218,11 +229,164 @@ }, ex => { // 澧炲己寮傚父淇℃伅 - _logMessage = _logMessage + $"鏁版嵁搴撴搷浣滃け璐ワ細{ex.Message}\n璺熻釜锛歿ex.StackTrace}"; + _logMessageDHD = _logMessageDHD + $"鏁版嵁搴撴搷浣滃け璐ワ細{ex.Message}\n璺熻釜锛歿ex.StackTrace}"; //throw new Exception($"鏁版嵁搴撴搷浣滃け璐ワ細{ex.Message}\n璺熻釜锛歿ex.StackTrace}"); }); return result; } - + + //鑾峰彇鎼哄浜戝埌璐у崟鏄庣粏 + public dynamic GetXkyDhdDetail(XKYGetDhdDeatilRequest entity) + { + _logMessageDhdDetail = "銆怱ysAuto銆戣幏鍙栨惡瀹簯閫佽揣鍗曟槑缁嗐��"; + /// <summary> + /// 璇锋眰鎶ユ枃缂撳瓨锛堝瓨鍌ㄥ簭鍒楀寲鍚庣殑JSON璇锋眰鍐呭锛� + /// </summary> + string _requestJson = string.Empty; + + /// <summary> + /// 鍔ㄦ�佸搷搴斿璞★紙瀛樺偍鍙嶅簭鍒楀寲鐨勬惡瀹簯鎺ュ彛鍝嶅簲锛� + /// </summary> + dynamic _responseData = new System.Dynamic.ExpandoObject(); + + /// <summary> + /// 鎺ュ彛鎵ц鏃堕棿锛堟牸寮忥細yyyy-MM-dd HH:mm:ss锛� + /// </summary> + string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + + /// <summary> + /// 鎺ュ彛璋冪敤鐘舵�侊紙0-澶辫触 1-鎴愬姛锛� + /// </summary> + int sendStatus = 0; + + try + { + string ErrorMsg = ""; + ApiCommonParam Apiparam = ApiCommonParam.NewApiCommon(); + + _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + string sendJson = JsonConvert.SerializeObject(entity); + ArrayList SQLStringList = new ArrayList(); + var url = "https://openapi.xiekeyun.com/delivery/getDetail.json"; + HttpClient httpClient = new HttpClient(); + httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + + _requestJson = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}"; + byte[] postData = Encoding.UTF8.GetBytes(_requestJson); + + // 鍒涘缓璇锋眰瀵硅薄 + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "POST"; + request.ContentType = "application/json"; + request.ContentLength = postData.Length; + + // 鍙戦�佽姹傛暟鎹� + using (Stream stream = request.GetRequestStream()) + { + stream.Write(postData, 0, postData.Length); + } + + // 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲 + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + using (Stream stream = response.GetResponseStream()) + using (StreamReader reader = new StreamReader(stream)) + { + string result2 = reader.ReadToEnd(); + + _responseData = JsonConvert.DeserializeObject(result2); + } + + + //// 鏂板鏃ュ織璁板綍锛堝湪杩斿洖鍝嶅簲鍓嶏級 + //using (var conn = new SqlConnection(DbHelperSQL.strConn)) + //{ + // using (var cmd = new SqlCommand("prc_log_create", conn)) + // { + // try + // { + // conn.Open(); + // cmd.CommandType = CommandType.StoredProcedure; + // SqlParameter[] logParams = + // { + // new("@edtUserGuid", SqlDbType.UniqueIdentifier) { Value = Guid.Parse("11111111-1111-1111-1111-111111111111") }, + // new("@abtGuid", SqlDbType.UniqueIdentifier) { Value = DBNull.Value }, + // new("@abtTable", SqlDbType.NVarChar, 40) { Value = "DELIVERY_NOTICE" }, + // new("@detail", SqlDbType.NVarChar, 2500) { Value = "銆怱ysAuto銆戣幏鍙栨惡瀹簯閫佽揣鍗曘��" }, + // new("@hNo", SqlDbType.NVarChar, 100) { Value = "" }, + // new("@SendJson", SqlDbType.NVarChar) { Value = json }, + // new("@RtnJson", SqlDbType.NVarChar) { Value = JsonConvert.SerializeObject(responseJson) }, + // new("@xkyBeginTime", SqlDbType.NVarChar) { Value = (entity.startDate/1000).ToString() }, + // new("@xkyEndTime", SqlDbType.NVarChar) { Value = (entity.endDate/1000).ToString()}, + // new("@sendStatus", SqlDbType.NVarChar) { Value = responseJson.result.ToString()}, + // new("@executeTime", SqlDbType.NVarChar) { Value = executeTime}, + // }; + + // foreach (var param in logParams) + // cmd.Parameters.Add(param); + + // cmd.ExecuteNonQuery(); + // } + // catch (Exception logEx) + // { + // // 鏃ュ織璁板綍澶辫触涓嶄腑鏂富娴佺▼ + // Console.WriteLine($"鏃ュ織璁板綍澶辫触: {logEx.Message}"); + // } + // finally + // { + // conn.Close(); + // } + // } + //} + + if (_responseData.result != 1) + throw new ApplicationException(_responseData.errorMsg); + + sendStatus = _responseData.result; + // 鍘�120-131琛屾浛鎹负锛� + //if (SaveDeliveryNotice(_responseData) > 0) + // sendStatus = 1; + //else + // sendStatus = 0; + + var logService = new LogService(); + logService.CreateLogI( + db: Db, + edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), + abtGuid: null, + abtTable: "DELIVERY_NOTICE", + detail: _logMessageDHD, + orderNo: "", + sendJson: _requestJson, + rtnJson: JsonConvert.SerializeObject(_responseData), + xkyBeginTime: "", + xkyEndTime: "", + sendStatus: sendStatus, + executeTime: _executeTimestamp + ); + + return _responseData; + } + catch (Exception e) + { + var logService = new LogService(); + logService.CreateLogI( + db: Db, + edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), + abtGuid: null, + abtTable: "DELIVERY_NOTICE", + detail: _logMessageDHD, + orderNo: "", + sendJson: _requestJson, + rtnJson: JsonConvert.SerializeObject(_responseData), + xkyBeginTime: "", + xkyEndTime: "", + sendStatus: 0, + executeTime: _executeTimestamp + ); + throw new Exception(e.Message); + } + + } + } -- Gitblit v1.9.3