From 8f28ca63dde584e5fefe51a07e69fd9b1af76fd2 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 09 六月 2025 12:28:27 +0800
Subject: [PATCH] 1.生产补料/超领优化 2.委外补料/超领优化 3.巡检检验新增工单查询选择 4.巡检优化新增时间段字段
---
service/Warehouse/MesXkyService.cs | 618 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 585 insertions(+), 33 deletions(-)
diff --git a/service/Warehouse/MesXkyService.cs b/service/Warehouse/MesXkyService.cs
index c09c8d7..45ad039 100644
--- a/service/Warehouse/MesXkyService.cs
+++ b/service/Warehouse/MesXkyService.cs
@@ -1,35 +1,70 @@
锘縰sing MES.Service.Models;
-using Microsoft.IdentityModel.Tokens;
-using MySqlConnector;
-using NewPdaSqlServer.Controllers;
using NewPdaSqlServer.DB;
-using NewPdaSqlServer.Dto.service;
-using NewPdaSqlServer.entity;
-using NewPdaSqlServer.service.@base;
using NewPdaSqlServer.util;
using Newtonsoft.Json;
-using SqlSugar;
+using Newtonsoft.Json.Linq;
using System.Collections;
using System.Data;
using System.Net;
using System.Net.Http.Headers;
-using System.Security.Cryptography;
using System.Text;
-using static Azure.Core.HttpHeader;
-using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+using NewPdaSqlServer.Dto.Xky;
using static NewPdaSqlServer.Controllers.Warehouse.MesXkyController;
namespace NewPdaSqlServer.service.QC;
public class MesXkyService : RepositoryNoEntity
{
- public dynamic XKY_GET_DHD(XKYGetDhdRequest entity)
+ /// <summary>
+ /// 閫佽揣鍗曟棩蹇楁ā鏉匡紙鐢ㄤ簬鎼哄浜戞帴鍙h皟鐢ㄨ褰曪級
+ /// </summary>
+ private string _logMessageDHD = "";
+
+ /// <summary>
+ /// 閫佽揣鍗曟槑缁嗘棩蹇楁ā鏉匡紙鐢ㄤ簬鎼哄浜戞帴鍙h皟鐢ㄨ褰曪級
+ /// </summary>
+ private string _logMessageDhdDetail = "";
+
+ /// <summary>
+ /// 閫佽揣鍗曟潯鐮佹棩蹇楁ā鏉匡紙鐢ㄤ簬鎼哄浜戞帴鍙h皟鐢ㄨ褰曪級
+ /// </summary>
+ private string _logMessageDhdBar = "";
+
+ /// <summary>
+ /// 閫佽揣鍗曡揣鐗╅�佽揪鏃ュ織妯℃澘锛堢敤浜庢惡瀹簯鎺ュ彛璋冪敤璁板綍锛�
+ /// </summary>
+ private string _logMessageDhdHwsd = "";
+
+ //鑾峰彇鎼哄浜戝埌璐у崟
+ 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 = "";
ApiCommonParam 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();
@@ -38,8 +73,8 @@
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
- string json = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}";
- byte[] postData = Encoding.UTF8.GetBytes(json);
+ _requestJson = "{\"commonParam\":" + JsonConvert.SerializeObject(Apiparam) + ",\"body\":" + sendJson + "}";
+ byte[] postData = Encoding.UTF8.GetBytes(_requestJson);
// 鍒涘缓璇锋眰瀵硅薄
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://openapi.xiekeyun.com/delivery/getNoList.json");
@@ -52,7 +87,7 @@
{
stream.Write(postData, 0, postData.Length);
}
- dynamic responseJson;
+
// 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream stream = response.GetResponseStream())
@@ -60,39 +95,556 @@
{
string result2 = reader.ReadToEnd();
- responseJson = JsonConvert.DeserializeObject(result2);
+ _responseData = JsonConvert.DeserializeObject(result2);
}
- if (responseJson.result != 1)
- throw new ApplicationException(responseJson.errorMsg);
+ if (_responseData.result != 1)
+ throw new ApplicationException(_responseData.errorMsg);
- var result = 0;
- // 鏂板鏁版嵁瀛樺偍閫昏緫
- List<DeliveryNotice> noticeList = JsonConvert.DeserializeObject<List<DeliveryNotice>>(responseJson.dataList.ToString());
- noticeList.ForEach(n => n.Id = Guid.NewGuid()); // 鏂板GUID璧嬪��
- Db.Ado.UseTran(() =>
- {
- result = Db.Insertable(noticeList).ExecuteCommand();
- }, ex =>
- {
- throw new Exception($"鏁版嵁搴撴彃鍏ュけ璐ワ細{ex.Message}\n{ex.InnerException?.Message}");
- });
+ sendStatus = _responseData.result;
+ //鍌ㄥ瓨閫佽揣鍗曞彿璇︾粏
+ if (SaveDeliveryNotice(_responseData) > 0)
+ sendStatus = 1;
+ else
+ sendStatus = 0;
- return responseJson;
+ 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: (entity.startDate / 1000).ToString(),
+ xkyEndTime: (entity.endDate / 1000).ToString(),
+ 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+ $"绯荤粺寮傚父閿欒锛歿e.Message}\n璺熻釜锛歿e.StackTrace}",
+ orderNo: "",
+ sendJson: _requestJson,
+ rtnJson: JsonConvert.SerializeObject(_responseData),
+ xkyBeginTime: (entity.startDate / 1000).ToString(),
+ xkyEndTime: (entity.endDate / 1000).ToString(),
+ sendStatus: 0,
+ executeTime: _executeTimestamp
+ );
throw new Exception(e.Message);
}
}
-
- public dynamic GetXkyDHD(XKYGetDhdRequest entity)
+ //瀵硅幏鍙栧埌鐨勬惡瀹簯閫佽揣鍗曞仛澶勭悊
+ private int SaveDeliveryNotice(dynamic responseJson)
{
+ var result = 1;
+ List<DeliveryNotice> noticeList = JsonConvert.DeserializeObject<List<DeliveryNotice>>(responseJson.dataList.ToString());
- return XKY_GET_DHD(entity);
+ // 鏂板鍒楄〃绌哄�兼鏌�
+ if (noticeList == null || !noticeList.Any() || noticeList.Count < 1)
+ {
+ _logMessageDHD += $"鏈鑾峰彇鏀惰揣鍗曟暟鎹负绌�";
+ return result;
+ }
+
+
+ noticeList.ForEach(n => n.Id = Guid.NewGuid());
+
+ 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();
+
+
+ //鍒犻櫎鍏宠仈閫佽揣鏉$爜鏄庣粏
+ Db.Deleteable<TblBarcodeInformation>()
+ .Where(b => deliveryNos.Contains(b.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}");
+ });
+
+ 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);
+ }
+
+ if (_responseData.result != 1)
+ throw new ApplicationException(_responseData.errorMsg);
+
+ sendStatus = _responseData.result;
+ // 瀵规暟鎹仛澶勭悊瀛樺叆mes
+ if (SaveDeliveryNoticeDetail(_responseData, entity.deliveryNo) > 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",
+ detail: _logMessageDhdDetail,
+ 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",
+ detail: _logMessageDhdDetail + $"绯荤粺寮傚父閿欒锛歿e.Message}\n璺熻釜锛歿e.StackTrace}",
+ orderNo: "",
+ sendJson: _requestJson,
+ rtnJson: JsonConvert.SerializeObject(_responseData),
+ xkyBeginTime: "",
+ xkyEndTime: "",
+ sendStatus: 0,
+ executeTime: _executeTimestamp
+ );
+ throw new Exception(e.Message);
+ }
}
-}
\ No newline at end of file
+ //瀵硅幏鍙栧埌鐨勬惡瀹簯閫佽揣鍗曞仛澶勭悊
+ private int SaveDeliveryNoticeDetail(dynamic responseJson,string deliveryNo)
+ {
+ var result = 1;
+ List<DeliveryNoticeDetail> noticeList = JsonConvert.DeserializeObject<List<DeliveryNoticeDetail>>(responseJson.data.lineList.ToString());
+
+ // 鏂板鍒楄〃绌哄�兼鏌�
+ if (noticeList == null || !noticeList.Any() || noticeList.Count < 1)
+ {
+ _logMessageDhdBar += $"閫佽揣鏄庣粏鏁版嵁涓虹┖锛岄�佽揣鍗曞彿锛歿deliveryNo}";
+ return result;
+ }
+
+
+ // 鑾峰彇閫佽揣鍗曞彿骞舵牎楠�
+ var deliveryNoObj = responseJson.data.deliveryNo;
+ if (deliveryNoObj == null || string.IsNullOrEmpty(deliveryNoObj.ToString()))
+ {
+ throw new Exception($"銆愬紓甯搞�戣幏鍙栭�佽揣鍗曞け璐ワ細{responseJson}");
+ }
+ deliveryNo = deliveryNoObj.ToString();
+
+ //璧嬪�糶uid鍜屽埌璐у崟鍙�
+ noticeList.ForEach(n => n.Id = Guid.NewGuid());
+ noticeList.ForEach(n => n.DeliveryNo = deliveryNo);
+ noticeList.ForEach(n => n.SynchronousDate = DateTime.Now);
+
+
+ Db.Ado.UseTran(() =>
+ {
+ // 鍒犻櫎鍏宠仈閫佽揣鏄庣粏鏁版嵁
+ 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}");
+ });
+
+ return result;
+ }
+
+ //鑾峰彇鎼哄浜戝埌璐у崟鏉$爜
+ public dynamic GetXkyDhdBar(XKYGetDhdDeatilRequest entity)
+ {
+ _logMessageDhdBar = "銆怱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/barcode/byDeliveryNo.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);
+ }
+
+ if (_responseData.result != 1)
+ throw new ApplicationException(_responseData.errorMsg);
+
+ sendStatus = _responseData.result;
+ // 瀵规暟鎹仛澶勭悊瀛樺叆mes
+ if (SaveDeliveryNoticeBar(_responseData, entity.deliveryNo) > 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: "TBL_BARCODE_INFORMATION",
+ detail: _logMessageDhdBar,
+ 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: "TBL_BARCODE_INFORMATION",
+ detail: _logMessageDhdBar + $"绯荤粺寮傚父閿欒锛歿e.Message}\n璺熻釜锛歿e.StackTrace}",
+ orderNo: "",
+ sendJson: _requestJson,
+ rtnJson: JsonConvert.SerializeObject(_responseData),
+ xkyBeginTime: "",
+ xkyEndTime: "",
+ sendStatus: 0,
+ executeTime: _executeTimestamp
+ );
+ throw new Exception(e.Message);
+ }
+
+ }
+
+ //瀵硅幏鍙栧埌鐨勬惡瀹簯閫佽揣鍗曟潯鐮佸仛澶勭悊
+ private int SaveDeliveryNoticeBar(dynamic responseJson,string deliveryNo)
+ {
+ var result = 1;
+ List<XkyBarcodeDataDto> noticeList = JsonConvert.DeserializeObject<List<XkyBarcodeDataDto>>(responseJson.dataList.ToString());
+
+ if (noticeList == null || !noticeList.Any())
+ {
+ _logMessageDhdBar += $"鏉$爜鏁版嵁涓虹┖锛岄�佽揣鍗曞彿锛歿deliveryNo}";
+ return result;
+ }
+
+ var barcodeList = noticeList.Select(n => new TblBarcodeInformation
+ {
+ Id = Guid.NewGuid(),
+ DeliveryNo = deliveryNo,
+ SynchronousDate = DateTime.Now,
+
+ // 鐩存帴鏄犲皠瀛楁
+ ProductCode = n.ProductCode,
+ SmallBarcode = n.SmallBarcode,
+ BigBarcode = n.BigBarcode,
+ OuterBarcode = n.OuterBarcode,
+ IncludeQty = n.IncludeQty.ToString(),
+ SmallPackageSn = n.SmallPackageSn,
+ BigPackageSn = n.BigPackageSn,
+ OutPackageSn = n.OuterPackageSn,
+ PackLevel = n.PackLevel.ToString(),
+
+ // 灏哄瀛楁鏄犲皠
+ SmallPackageLength = n.SmallPackageLength?.ToString(),
+ SmallPackageWidth = n.SmallPackageWidth?.ToString(),
+ SmallPackageHeight = n.SmallPackageHeight?.ToString(),
+ BigPackageLength = n.BigPackageLength?.ToString(),
+ BigPackageWidth = n.BigPackageWidth?.ToString(),
+ BigPackageHeight = n.BigPackageHeight?.ToString(),
+ OuterPackageLength = n.OuterPackageLength?.ToString(),
+ OuterPackageWidth = n.OuterPackageWidth?.ToString(),
+ OuterPackageHeight = n.OuterPackageHeight?.ToString(),
+
+ // 鍔ㄦ�佸瓧娈垫槧灏�
+ PoErpNo = n.DynamicData?.PoErpNo ?? n.PoErpNo,
+ PoLineNo = n.DynamicData?.PoLineNo ?? n.PoLineNo,
+ InnerVendorCode = n.DynamicData?.InnerVendorCode,
+ Customize1 = n.DynamicData?.Customize1,
+ Customize2 = n.DynamicData?.Customize2,
+ Customize3 = n.DynamicData?.Customize3,
+
+ // 鍏朵粬瀛楁
+ DnLines = n.DnLines // 鏍规嵁鏁版嵁搴撴敞閲婏紝ExtendN01瀵瑰簲椤圭洰(鍗曡韩extendN01)锛岃繖閲屾槧灏刣nLines
+ }).ToList();
+
+ 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}");
+ });
+
+ return result;
+ }
+
+
+
+ public dynamic GetXkyHwsd(XKYGetDhdHwsdRequest entity)
+ {
+ _logMessageDhdHwsd = "銆怱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/updateDeliveryStatus.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);
+ }
+
+ if (_responseData.result != 1)
+ throw new ApplicationException(_responseData.errorMsg);
+
+ sendStatus = _responseData.result;
+
+ var logService = new LogService();
+ logService.CreateLogI(
+ db: Db,
+ edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"),
+ abtGuid: null,
+ abtTable: "MES_INV_ITEM_ARN",
+ detail: _logMessageDhdBar,
+ 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: "MES_INV_ITEM_ARN",
+ detail: _logMessageDhdBar + $"绯荤粺寮傚父閿欒锛歿e.Message}\n璺熻釜锛歿e.StackTrace}",
+ orderNo: "",
+ sendJson: _requestJson,
+ rtnJson: JsonConvert.SerializeObject(_responseData),
+ xkyBeginTime: "",
+ xkyEndTime: "",
+ sendStatus: 0,
+ executeTime: _executeTimestamp
+ );
+ throw new Exception(e.Message);
+ }
+
+ }
+}
--
Gitblit v1.9.3