| | |
| | | using MES.Service.Models; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.util; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System.Collections; |
| | | using System.Data; |
| | | using System.Collections; |
| | | using System.Dynamic; |
| | | using System.Net; |
| | | using System.Net.Http.Headers; |
| | | using System.Text; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.Xky; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.util; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using static NewPdaSqlServer.Controllers.Warehouse.MesXkyController; |
| | | |
| | | namespace NewPdaSqlServer.service.QC; |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | | |
| | | public class MesXkyService : RepositoryNoEntity |
| | | { |
| | | /// <summary> |
| | | /// 送货单日志模板(用于携客云接口调用记录) |
| | | /// 送货单日志模板(用于携客云接口调用记录) |
| | | /// </summary> |
| | | private string _logMessageDHD = ""; |
| | | |
| | | /// <summary> |
| | | /// 送货单明细日志模板(用于携客云接口调用记录) |
| | | /// </summary> |
| | | private string _logMessageDhdDetail = ""; |
| | | |
| | | /// <summary> |
| | | /// 送货单条码日志模板(用于携客云接口调用记录) |
| | | /// 送货单条码日志模板(用于携客云接口调用记录) |
| | | /// </summary> |
| | | private string _logMessageDhdBar = ""; |
| | | |
| | | /// <summary> |
| | | /// 送货单货物送达日志模板(用于携客云接口调用记录) |
| | | /// 送货单明细日志模板(用于携客云接口调用记录) |
| | | /// </summary> |
| | | private string _logMessageDhdDetail = ""; |
| | | |
| | | /// <summary> |
| | | /// 送货单货物送达日志模板(用于携客云接口调用记录) |
| | | /// </summary> |
| | | private string _logMessageDhdHwsd = ""; |
| | | |
| | |
| | | /// <summary> |
| | | /// 请求报文缓存(存储序列化后的JSON请求内容) |
| | | /// </summary> |
| | | string _requestJson = string.Empty; |
| | | var _requestJson = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 动态响应对象(存储反序列化的携客云接口响应) |
| | | /// </summary> |
| | | dynamic _responseData = new System.Dynamic.ExpandoObject(); |
| | | dynamic _responseData = new ExpandoObject(); |
| | | |
| | | /// <summary> |
| | | /// 接口执行时间戳(格式:yyyy-MM-dd HH:mm:ss) |
| | | /// </summary> |
| | | string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | /// <summary> |
| | | /// 接口调用状态(0-失败 1-成功) |
| | | /// </summary> |
| | | int sendStatus = 0; |
| | | var sendStatus = 0; |
| | | |
| | | try |
| | | { |
| | | string ErrorMsg = ""; |
| | | ApiCommonParam Apiparam = ApiCommonParam.NewApiCommon(); |
| | | var ErrorMsg = ""; |
| | | var Apiparam = ApiCommonParam.NewApiCommon(); |
| | | |
| | | _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | //string data_inserted = "{\r\n \"startDate\": 1746759300000,\r\n \"endDate\": 1746762300000,\r\n \"erpCode\": \"GXF001\"\r\n}"; |
| | | string sendJson = JsonConvert.SerializeObject(entity); |
| | | ArrayList SQLStringList = new ArrayList(); |
| | | var sendJson = JsonConvert.SerializeObject(entity); |
| | | var SQLStringList = new ArrayList(); |
| | | // var client = new HttpClient(); |
| | | var url = "https://openapi.xiekeyun.com/delivery/getNoList.json"; |
| | | HttpClient httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); |
| | | var httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add( |
| | | new MediaTypeWithQualityHeaderValue("application/json")); |
| | | |
| | | _requestJson = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}"; |
| | | byte[] postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | _requestJson = "{\"commonParam\":" + |
| | | JsonConvert.SerializeObject(Apiparam) + |
| | | ",\"body\":" + sendJson + "}"; |
| | | var postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | |
| | | // 创建请求对象 |
| | | HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://openapi.xiekeyun.com/delivery/getNoList.json"); |
| | | var request = (HttpWebRequest)WebRequest.Create( |
| | | "https://openapi.xiekeyun.com/delivery/getNoList.json"); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.ContentLength = postData.Length; |
| | | |
| | | // 发送请求数据 |
| | | using (Stream stream = request.GetRequestStream()) |
| | | using (var 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)) |
| | | var response = (HttpWebResponse)request.GetResponse(); |
| | | using (var stream = response.GetResponseStream()) |
| | | using (var reader = new StreamReader(stream)) |
| | | { |
| | | string result2 = reader.ReadToEnd(); |
| | | var result2 = reader.ReadToEnd(); |
| | | |
| | | _responseData = JsonConvert.DeserializeObject(result2); |
| | | } |
| | |
| | | edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), |
| | | abtGuid: null, |
| | | abtTable: "DELIVERY_NOTICE", |
| | | detail: _logMessageDHD+ $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | detail: _logMessageDHD + |
| | | $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | orderNo: "", |
| | | sendJson: _requestJson, |
| | | rtnJson: JsonConvert.SerializeObject(_responseData), |
| | |
| | | ); |
| | | throw new Exception(e.Message); |
| | | } |
| | | |
| | | } |
| | | |
| | | //对获取到的携客云送货单做处理 |
| | | private int SaveDeliveryNotice(dynamic responseJson) |
| | | { |
| | | var result = 1; |
| | | List<DeliveryNotice> noticeList = JsonConvert.DeserializeObject<List<DeliveryNotice>>(responseJson.dataList.ToString()); |
| | | List<DeliveryNotice> noticeList = |
| | | JsonConvert.DeserializeObject<List<DeliveryNotice>>( |
| | | responseJson.dataList.ToString()); |
| | | |
| | | // 新增列表空值检查 |
| | | if (noticeList == null || !noticeList.Any() || noticeList.Count < 1) |
| | | { |
| | | _logMessageDHD += $"本次获取收货单数据为空"; |
| | | _logMessageDHD += "本次获取收货单数据为空"; |
| | | return result; |
| | | } |
| | | |
| | |
| | | noticeList.ForEach(n => n.Id = Guid.NewGuid()); |
| | | noticeList.ForEach(n => n.orgId = "104554"); |
| | | |
| | | var deliveryNos = noticeList.Select(n => n.DeliveryNo).Distinct().ToList(); |
| | | var deliveryNos = |
| | | noticeList.Select(n => n.DeliveryNo).Distinct().ToList(); |
| | | //var noticeIds = noticeList.Select(n => n.Id).ToList(); // 保持GUID类型 |
| | | |
| | | Db.Ado.UseTran(() => |
| | | { |
| | | // 添加空值检查 |
| | | if (deliveryNos.Any()) |
| | | { |
| | | // 删除关联送货明细数据 |
| | | Db.Deleteable<DeliveryNoticeDetail>() |
| | | .Where(d => deliveryNos.Contains(d.DeliveryNo)) |
| | | .ExecuteCommand(); |
| | | // 添加空值检查 |
| | | if (deliveryNos.Any()) |
| | | { |
| | | // 删除关联送货明细数据 |
| | | Db.Deleteable<DeliveryNoticeDetail>() |
| | | .Where(d => deliveryNos.Contains(d.DeliveryNo)) |
| | | .ExecuteCommand(); |
| | | |
| | | |
| | | //删除关联送货条码明细 |
| | | Db.Deleteable<TblBarcodeInformation>() |
| | | .Where(b => deliveryNos.Contains(b.DeliveryNo)) |
| | | .ExecuteCommand(); |
| | | //删除关联送货条码明细 |
| | | Db.Deleteable<TblBarcodeInformation>() |
| | | .Where(b => deliveryNos.Contains(b.DeliveryNo)) |
| | | .ExecuteCommand(); |
| | | |
| | | //删除送货单 |
| | | Db.Deleteable<DeliveryNotice>() |
| | | .Where(n => deliveryNos.Contains(n.DeliveryNo)) |
| | | .ExecuteCommand(); |
| | | } |
| | | //删除送货单 |
| | | Db.Deleteable<DeliveryNotice>() |
| | | .Where(n => deliveryNos.Contains(n.DeliveryNo)) |
| | | .ExecuteCommand(); |
| | | } |
| | | |
| | | // 批量插入优化 |
| | | result = Db.Fastest<DeliveryNotice>().BulkCopy(noticeList); |
| | | }, |
| | | ex => { |
| | | // 增强异常信息 |
| | | //_logMessageDHD = _logMessageDHD + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"; |
| | | throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"); |
| | | }); |
| | | // 批量插入优化 |
| | | result = Db.Fastest<DeliveryNotice>().BulkCopy(noticeList); |
| | | }, |
| | | ex => |
| | | { |
| | | // 增强异常信息 |
| | | //_logMessageDHD = _logMessageDHD + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"; |
| | | throw new Exception( |
| | | $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"); |
| | | }); |
| | | |
| | | return result; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 请求报文缓存(存储序列化后的JSON请求内容) |
| | | /// </summary> |
| | | string _requestJson = string.Empty; |
| | | var _requestJson = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 动态响应对象(存储反序列化的携客云接口响应) |
| | | /// </summary> |
| | | dynamic _responseData = new System.Dynamic.ExpandoObject(); |
| | | dynamic _responseData = new ExpandoObject(); |
| | | |
| | | /// <summary> |
| | | /// 接口执行时间(格式:yyyy-MM-dd HH:mm:ss) |
| | | /// </summary> |
| | | string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | /// <summary> |
| | | /// 接口调用状态(0-失败 1-成功) |
| | | /// </summary> |
| | | int sendStatus = 0; |
| | | var sendStatus = 0; |
| | | |
| | | try |
| | | { |
| | | string ErrorMsg = ""; |
| | | ApiCommonParam Apiparam = ApiCommonParam.NewApiCommon(); |
| | | var ErrorMsg = ""; |
| | | var Apiparam = ApiCommonParam.NewApiCommon(); |
| | | |
| | | _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | string sendJson = JsonConvert.SerializeObject(entity); |
| | | ArrayList SQLStringList = new ArrayList(); |
| | | var sendJson = JsonConvert.SerializeObject(entity); |
| | | var SQLStringList = new ArrayList(); |
| | | var url = "https://openapi.xiekeyun.com/delivery/getDetail.json"; |
| | | HttpClient httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); |
| | | var httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add( |
| | | new MediaTypeWithQualityHeaderValue("application/json")); |
| | | |
| | | _requestJson = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}"; |
| | | byte[] postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | _requestJson = "{\"commonParam\":" + |
| | | JsonConvert.SerializeObject(Apiparam) + |
| | | ",\"body\":" + sendJson + "}"; |
| | | var postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | |
| | | // 创建请求对象 |
| | | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); |
| | | var request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.ContentLength = postData.Length; |
| | | |
| | | // 发送请求数据 |
| | | using (Stream stream = request.GetRequestStream()) |
| | | using (var 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)) |
| | | var response = (HttpWebResponse)request.GetResponse(); |
| | | using (var stream = response.GetResponseStream()) |
| | | using (var reader = new StreamReader(stream)) |
| | | { |
| | | string result2 = reader.ReadToEnd(); |
| | | var result2 = reader.ReadToEnd(); |
| | | |
| | | _responseData = JsonConvert.DeserializeObject(result2); |
| | | } |
| | |
| | | edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), |
| | | abtGuid: null, |
| | | abtTable: "DELIVERY_NOTICE_DETAIL", |
| | | detail: _logMessageDhdDetail + $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | detail: _logMessageDhdDetail + |
| | | $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | orderNo: "", |
| | | sendJson: _requestJson, |
| | | rtnJson: JsonConvert.SerializeObject(_responseData), |
| | |
| | | ); |
| | | throw new Exception(e.Message); |
| | | } |
| | | |
| | | } |
| | | |
| | | //对获取到的携客云送货单做处理 |
| | | private int SaveDeliveryNoticeDetail(dynamic responseJson,string deliveryNo) |
| | | private int SaveDeliveryNoticeDetail(dynamic responseJson, |
| | | string deliveryNo) |
| | | { |
| | | var result = 1; |
| | | // 转换purchaseDesc对象为字符串 |
| | | var jsonData = JArray.Parse(responseJson.data.lineList.ToString()); |
| | | foreach (var item in jsonData) |
| | | { |
| | | item["purchaseDesc"] = item["purchaseDesc"]?.ToString(Formatting.None); |
| | | } |
| | | |
| | | List<DeliveryNoticeDetail> noticeList = jsonData.ToObject<List<DeliveryNoticeDetail>>(); |
| | | item["purchaseDesc"] = |
| | | item["purchaseDesc"]?.ToString(Formatting.None); |
| | | |
| | | List<DeliveryNoticeDetail> noticeList = |
| | | jsonData.ToObject<List<DeliveryNoticeDetail>>(); |
| | | |
| | | // 新增列表空值检查 |
| | | if (noticeList == null || !noticeList.Any() || noticeList.Count < 1) |
| | |
| | | |
| | | // 获取送货单号并校验 |
| | | var deliveryNoObj = responseJson.data.deliveryNo; |
| | | if (deliveryNoObj == null || string.IsNullOrEmpty(deliveryNoObj.ToString())) |
| | | { |
| | | if (deliveryNoObj == null || |
| | | string.IsNullOrEmpty(deliveryNoObj.ToString())) |
| | | throw new Exception($"【异常】获取送货单失败:{responseJson}"); |
| | | } |
| | | deliveryNo = deliveryNoObj.ToString(); |
| | | |
| | | //赋值guid和到货单号 |
| | |
| | | |
| | | |
| | | Db.Ado.UseTran(() => |
| | | { |
| | | // 删除关联送货明细数据 |
| | | Db.Deleteable<DeliveryNoticeDetail>() |
| | | .Where(d => d.DeliveryNo == deliveryNo) |
| | | .ExecuteCommand(); |
| | | { |
| | | // 删除关联送货明细数据 |
| | | Db.Deleteable<DeliveryNoticeDetail>() |
| | | .Where(d => d.DeliveryNo == deliveryNo) |
| | | .ExecuteCommand(); |
| | | |
| | | // 批量插入优化 |
| | | result = Db.Fastest<DeliveryNoticeDetail>().BulkCopy(noticeList); |
| | | }, |
| | | ex => { |
| | | // 增强异常信息 |
| | | //_logMessageDhdDetail = _logMessageDhdDetail + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"; |
| | | throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"); |
| | | }); |
| | | // 批量插入优化 |
| | | result = Db.Fastest<DeliveryNoticeDetail>() |
| | | .BulkCopy(noticeList); |
| | | }, |
| | | ex => |
| | | { |
| | | // 增强异常信息 |
| | | //_logMessageDhdDetail = _logMessageDhdDetail + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"; |
| | | throw new Exception( |
| | | $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"); |
| | | }); |
| | | |
| | | return result; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 请求报文缓存(存储序列化后的JSON请求内容) |
| | | /// </summary> |
| | | string _requestJson = string.Empty; |
| | | var _requestJson = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 动态响应对象(存储反序列化的携客云接口响应) |
| | | /// </summary> |
| | | dynamic _responseData = new System.Dynamic.ExpandoObject(); |
| | | dynamic _responseData = new ExpandoObject(); |
| | | |
| | | /// <summary> |
| | | /// 接口执行时间(格式:yyyy-MM-dd HH:mm:ss) |
| | | /// </summary> |
| | | string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | /// <summary> |
| | | /// 接口调用状态(0-失败 1-成功) |
| | | /// </summary> |
| | | int sendStatus = 0; |
| | | var sendStatus = 0; |
| | | |
| | | try |
| | | { |
| | | string ErrorMsg = ""; |
| | | ApiCommonParam Apiparam = ApiCommonParam.NewApiCommon(); |
| | | var ErrorMsg = ""; |
| | | var Apiparam = ApiCommonParam.NewApiCommon(); |
| | | |
| | | _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | string sendJson = JsonConvert.SerializeObject(entity); |
| | | ArrayList SQLStringList = new ArrayList(); |
| | | var sendJson = JsonConvert.SerializeObject(entity); |
| | | var SQLStringList = new ArrayList(); |
| | | var url = "https://openapi.xiekeyun.com/barcode/byDeliveryNo.json"; |
| | | HttpClient httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); |
| | | var httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add( |
| | | new MediaTypeWithQualityHeaderValue("application/json")); |
| | | |
| | | _requestJson = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}"; |
| | | byte[] postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | _requestJson = "{\"commonParam\":" + |
| | | JsonConvert.SerializeObject(Apiparam) + |
| | | ",\"body\":" + sendJson + "}"; |
| | | var postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | |
| | | // 创建请求对象 |
| | | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); |
| | | var request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.ContentLength = postData.Length; |
| | | |
| | | // 发送请求数据 |
| | | using (Stream stream = request.GetRequestStream()) |
| | | using (var 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)) |
| | | var response = (HttpWebResponse)request.GetResponse(); |
| | | using (var stream = response.GetResponseStream()) |
| | | using (var reader = new StreamReader(stream)) |
| | | { |
| | | string result2 = reader.ReadToEnd(); |
| | | var result2 = reader.ReadToEnd(); |
| | | |
| | | _responseData = JsonConvert.DeserializeObject(result2); |
| | | } |
| | |
| | | edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), |
| | | abtGuid: null, |
| | | abtTable: "TBL_BARCODE_INFORMATION", |
| | | detail: _logMessageDhdBar + $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | detail: _logMessageDhdBar + |
| | | $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | orderNo: "", |
| | | sendJson: _requestJson, |
| | | rtnJson: JsonConvert.SerializeObject(_responseData), |
| | |
| | | ); |
| | | throw new Exception(e.Message); |
| | | } |
| | | |
| | | } |
| | | |
| | | //对获取到的携客云送货单条码做处理 |
| | | private int SaveDeliveryNoticeBar(dynamic responseJson,string deliveryNo) |
| | | private int SaveDeliveryNoticeBar(dynamic responseJson, string deliveryNo) |
| | | { |
| | | var result = 1; |
| | | List<XkyBarcodeDataDto> noticeList = JsonConvert.DeserializeObject<List<XkyBarcodeDataDto>>(responseJson.dataList.ToString()); |
| | | List<XkyBarcodeDataDto> noticeList = |
| | | JsonConvert.DeserializeObject<List<XkyBarcodeDataDto>>( |
| | | responseJson.dataList.ToString()); |
| | | |
| | | if (noticeList == null || !noticeList.Any()) |
| | | { |
| | |
| | | Customize3 = n.DynamicData?.Customize3, |
| | | |
| | | // 其他字段 |
| | | DnLines = n.DnLines // 根据数据库注释,ExtendN01对应项目(单身extendN01),这里映射dnLines |
| | | DnLines = |
| | | n.DnLines // 根据数据库注释,ExtendN01对应项目(单身extendN01),这里映射dnLines |
| | | }).ToList(); |
| | | |
| | | Db.Ado.UseTran(() => |
| | | { |
| | | // 删除关联送货明细数据 |
| | | Db.Deleteable<TblBarcodeInformation>() |
| | | .Where(d => d.DeliveryNo == deliveryNo) |
| | | .ExecuteCommand(); |
| | | Db.Ado.UseTran(() => |
| | | { |
| | | // 删除关联送货明细数据 |
| | | Db.Deleteable<TblBarcodeInformation>() |
| | | .Where(d => d.DeliveryNo == deliveryNo) |
| | | .ExecuteCommand(); |
| | | |
| | | // 批量插入优化(使用正确的barcodeList) |
| | | result = Db.Fastest<TblBarcodeInformation>().BulkCopy(barcodeList); |
| | | }, |
| | | ex => { |
| | | // 增强异常信息 |
| | | //_logMessageDhdBar = _logMessageDhdBar + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"; |
| | | throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"); |
| | | }); |
| | | // 批量插入优化(使用正确的barcodeList) |
| | | result = Db.Fastest<TblBarcodeInformation>() |
| | | .BulkCopy(barcodeList); |
| | | }, |
| | | ex => |
| | | { |
| | | // 增强异常信息 |
| | | //_logMessageDhdBar = _logMessageDhdBar + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"; |
| | | throw new Exception( |
| | | $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}"); |
| | | }); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | |
| | | public dynamic GetXkyHwsd(XKYGetDhdHwsdRequest entity) |
| | |
| | | /// <summary> |
| | | /// 请求报文缓存(存储序列化后的JSON请求内容) |
| | | /// </summary> |
| | | string _requestJson = string.Empty; |
| | | var _requestJson = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 动态响应对象(存储反序列化的携客云接口响应) |
| | | /// </summary> |
| | | dynamic _responseData = new System.Dynamic.ExpandoObject(); |
| | | dynamic _responseData = new ExpandoObject(); |
| | | |
| | | /// <summary> |
| | | /// 接口执行时间(格式:yyyy-MM-dd HH:mm:ss) |
| | | /// </summary> |
| | | string _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | var _executeTimestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | /// <summary> |
| | | /// 接口调用状态(0-失败 1-成功) |
| | | /// </summary> |
| | | int sendStatus = 0; |
| | | var sendStatus = 0; |
| | | |
| | | try |
| | | { |
| | | string ErrorMsg = ""; |
| | | ApiCommonParam Apiparam = ApiCommonParam.NewApiCommon(); |
| | | var ErrorMsg = ""; |
| | | var 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/updateDeliveryStatus.json"; |
| | | HttpClient httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); |
| | | var sendJson = JsonConvert.SerializeObject(entity); |
| | | var SQLStringList = new ArrayList(); |
| | | var url = |
| | | "https://openapi.xiekeyun.com/delivery/updateDeliveryStatus.json"; |
| | | var httpClient = new HttpClient(); |
| | | httpClient.DefaultRequestHeaders.Accept.Add( |
| | | new MediaTypeWithQualityHeaderValue("application/json")); |
| | | |
| | | _requestJson = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}"; |
| | | byte[] postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | _requestJson = "{\"commonParam\":" + |
| | | JsonConvert.SerializeObject(Apiparam) + |
| | | ",\"body\":" + sendJson + "}"; |
| | | var postData = Encoding.UTF8.GetBytes(_requestJson); |
| | | |
| | | // 创建请求对象 |
| | | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); |
| | | var request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = "POST"; |
| | | request.ContentType = "application/json"; |
| | | request.ContentLength = postData.Length; |
| | | |
| | | // 发送请求数据 |
| | | using (Stream stream = request.GetRequestStream()) |
| | | using (var 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)) |
| | | var response = (HttpWebResponse)request.GetResponse(); |
| | | using (var stream = response.GetResponseStream()) |
| | | using (var reader = new StreamReader(stream)) |
| | | { |
| | | string result2 = reader.ReadToEnd(); |
| | | var result2 = reader.ReadToEnd(); |
| | | |
| | | _responseData = JsonConvert.DeserializeObject(result2); |
| | | } |
| | |
| | | edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"), |
| | | abtGuid: null, |
| | | abtTable: "MES_INV_ITEM_ARN", |
| | | detail: _logMessageDhdBar + $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | detail: _logMessageDhdBar + |
| | | $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}", |
| | | orderNo: "", |
| | | sendJson: _requestJson, |
| | | rtnJson: JsonConvert.SerializeObject(_responseData), |
| | |
| | | ); |
| | | throw new Exception(e.Message); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |