From d34506fc224f8c3132cc29540c65c1528eb61065 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 22 五月 2025 09:50:55 +0800
Subject: [PATCH] 1.OA接口字段调整。 2.SRM新增条码未全部打印,无法扫描限制。 3.新增携客云确认到货流程
---
service/Warehouse/MesXkyShdManager.cs | 6 ++
Controllers/Warehouse/MesXkyController.cs | 29 +++++++++
service/QC/OaApi.cs | 19 +++++-
service/Warehouse/MesXkyService.cs | 118 ++++++++++++++++++++++++++++++++++++++-
4 files changed, 166 insertions(+), 6 deletions(-)
diff --git a/Controllers/Warehouse/MesXkyController.cs b/Controllers/Warehouse/MesXkyController.cs
index 5b9a143..b98b049 100644
--- a/Controllers/Warehouse/MesXkyController.cs
+++ b/Controllers/Warehouse/MesXkyController.cs
@@ -27,6 +27,13 @@
public string? erpCode { get; set; }
}
+ //鍒拌揣鍗曟槑缁唈son 鍜� 鍒拌揣鍗曟潯鐮�
+ public class XKYGetDhdHwsdRequest
+ {
+ public string? dnXkNo { get; set; }
+ public string? erpCode { get; set; }
+ }
+
MesXkyService m = new MesXkyService();
[HttpPost("GetXkyDhd")]
@@ -92,4 +99,26 @@
}
}
+
+ [HttpPost("GetXkyHwsd")]
+ public ResponseResult GetXkyHwsd(XKYGetDhdHwsdRequest request)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos = m.GetXkyHwsd(request);
+ var tbBillList = resultInfos;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = ""
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs
index 0d83dd4..98bba9c 100644
--- a/service/QC/OaApi.cs
+++ b/service/QC/OaApi.cs
@@ -199,11 +199,15 @@
// 瀛楁鏄犲皠閰嶇疆锛堝瓧娈靛悕 -> 鏁版嵁搴撳垪鍚嶏級
var fieldMappings = new Dictionary<string, (string Field, string Default)>
{
+ ["sqr"] = ("sqr", "0"), // 榛樿鍊兼敼涓烘暟瀛�
+ ["sqrq"] = ("sqrq", ""), // 绌哄瓧绗︿覆鐢ㄤ簬鏃ユ湡鏍煎紡鍖�
+ ["szbm"] = ("szbm", "0"), // 榛樿鍊兼敼涓烘暟瀛�
+ ["szdw"] = ("szdw", "0"), // 榛樿鍊兼敼涓烘暟瀛�
["ycczdh"] = ("ycczdh", "N/A"),
- ["wlbm"] = ("wlbm", "N/A"),
+ ["lh"] = ("lh", "N/A"),
["khgys"] = ("khgys", "N/A"),
["jzmcwlmc"] = ("jzmcwlmc", "N/A"),
- ["dhdhmes"] = ("dhdhmes", "N/A"),
+ ["dhdhtxt"] = ("dhdhtxt", "N/A"),
["bhgpqxms"] = ("bhgpqxms", "鏃犵己闄锋弿杩�")
};
@@ -211,7 +215,16 @@
var result = new JArray();
foreach (var mapping in fieldMappings)
{
- var value = GetDynamicValue(firstRecord, mapping.Value.Field, mapping.Value.Default);
+ var value = mapping.Key switch
+ {
+ "sqr" or "szbm" or "szdw" =>
+ int.TryParse(GetDynamicValue(firstRecord, mapping.Value.Field, mapping.Value.Default), out int num)
+ ? num : 0,
+ "sqrq" => DateTime.TryParse(GetDynamicValue(firstRecord, mapping.Value.Field, ""), out DateTime date)
+ ? date.ToString("yyyy-MM-dd")
+ : DateTime.Now.ToString("yyyy-MM-dd"),
+ _ => GetDynamicValue(firstRecord, mapping.Value.Field, mapping.Value.Default)
+ };
result.Add(new JObject
{
["fieldName"] = mapping.Key,
diff --git a/service/Warehouse/MesXkyService.cs b/service/Warehouse/MesXkyService.cs
index ceb40ea..45ad039 100644
--- a/service/Warehouse/MesXkyService.cs
+++ b/service/Warehouse/MesXkyService.cs
@@ -16,19 +16,24 @@
public class MesXkyService : RepositoryNoEntity
{
/// <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)
@@ -535,4 +540,111 @@
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);
+ }
+
+ }
}
diff --git a/service/Warehouse/MesXkyShdManager.cs b/service/Warehouse/MesXkyShdManager.cs
index f86518d..3ab65b1 100644
--- a/service/Warehouse/MesXkyShdManager.cs
+++ b/service/Warehouse/MesXkyShdManager.cs
@@ -23,7 +23,13 @@
if (shdh.Count < 1)
throw new Exception($"閫佽揣鍗曞彿銆恵unity.shdh}銆戜笉瀛樺湪鎴栨湭鍚屾!");
+ // var sql3 = @"SELECT ISNULL((SELECT SUM(delivery_qty) FROM DELIVERY_NOTICE_DETAIL WHERE delivery_no = @shdh), 0) -
+ //ISNULL((SELECT SUM(include_qty) FROM TBL_BARCODE_INFORMATION WHERE delivery_no = @shdh), 0) AS Diffnum ";
+ // var diffNum = Db.Ado.SqlQuery<dynamic>(sql3, sqlParams).First();
+
+ // if (diffNum.Diffnum != 0)
+ // throw new Exception($"閫佽揣鍗曞彿銆恵unity.shdh}銆戞潯鐮佹湭鍏ㄩ儴鎵撳嵃鎴栨湭鍚屾锛屾棤娉曟敹璐э紒");
var sql2 = @"select D.item_no,
D.item_name,
--
Gitblit v1.9.3