From ecfbe5ea628de435225aa26c4c7f5e1d9c549cc9 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期六, 17 五月 2025 10:38:49 +0800
Subject: [PATCH] 1.其他出入库问题优化 2.携客云送货单明细数据接通
---
Controllers/Warehouse/MesXkyController.cs | 32 ++++++
entity/MesItemQtDatall.cs | 6
entity/MesItemQtrrDetail.cs | 6
service/Warehouse/MesXkyService.cs | 220 ++++++++++++++++++++++++++++++++++++++-----
4 files changed, 228 insertions(+), 36 deletions(-)
diff --git a/Controllers/Warehouse/MesXkyController.cs b/Controllers/Warehouse/MesXkyController.cs
index 0d0343b..7273453 100644
--- a/Controllers/Warehouse/MesXkyController.cs
+++ b/Controllers/Warehouse/MesXkyController.cs
@@ -12,11 +12,18 @@
[ApiController]
public class MesXkyController : ControllerBase
{
-
+ //鍒拌揣鍗曟帹閫乯son
public class XKYGetDhdRequest
{
public long? startDate { get; set; }
public long? endDate { get; set; }
+ public string? erpCode { get; set; }
+ }
+
+ //鍒拌揣鍗曟槑缁唈son
+ public class XKYGetDhdDeatilRequest
+ {
+ public string? deliveryNo { get; set; }
public string? erpCode { get; set; }
}
@@ -28,7 +35,28 @@
try
{
dynamic resultInfos = new ExpandoObject();
- resultInfos = m.XKY_GET_DHD(request);
+ resultInfos = m.GetXkyDhd(request);
+ var tbBillList = resultInfos;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = tbBillList
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("GetXkyDhdDetail")]
+ public ResponseResult GetXkyDhdDetail(XKYGetDhdDeatilRequest request)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos = m.GetXkyDhdDetail(request);
var tbBillList = resultInfos;
return new ResponseResult
{
diff --git a/entity/MesItemQtDatall.cs b/entity/MesItemQtDatall.cs
index f69e23d..57fe40f 100644
--- a/entity/MesItemQtDatall.cs
+++ b/entity/MesItemQtDatall.cs
@@ -53,19 +53,19 @@
/// 璁″垝鏁伴噺
/// </summary>
[SugarColumn(ColumnName = "qd006")]
- public int? Qd006 { get; set; }
+ public decimal? Qd006 { get; set; }
/// <summary>
/// 鐢宠鏁伴噺
/// </summary>
[SugarColumn(ColumnName = "qd007")]
- public int? Qd007 { get; set; }
+ public decimal? Qd007 { get; set; }
/// <summary>
/// 宸查鏁伴噺
/// </summary>
[SugarColumn(ColumnName = "qd008")]
- public int? Qd008 { get; set; }
+ public decimal? Qd008 { get; set; }
/// <summary>
/// 鍗曚綅
diff --git a/entity/MesItemQtrrDetail.cs b/entity/MesItemQtrrDetail.cs
index 7536467..fedb354 100644
--- a/entity/MesItemQtrrDetail.cs
+++ b/entity/MesItemQtrrDetail.cs
@@ -53,19 +53,19 @@
/// 璁″垝鏁伴噺
/// </summary>
[SugarColumn(ColumnName = "qd006")]
- public int? Qd006 { get; set; }
+ public decimal? Qd006 { get; set; }
/// <summary>
/// 鐢宠鏁伴噺
/// </summary>
[SugarColumn(ColumnName = "qd007")]
- public int? Qd007 { get; set; }
+ public decimal? Qd007 { get; set; }
/// <summary>
/// 宸插叆鏁伴噺
/// </summary>
[SugarColumn(ColumnName = "qd008")]
- public int? Qd008 { get; set; }
+ public decimal? Qd008 { get; set; }
/// <summary>
/// 鍗曚綅
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