From bd18a149bfd83807d7cbcf80a2384ef502184a96 Mon Sep 17 00:00:00 2001
From: kyy <3283105747@qq.com>
Date: 星期一, 15 十二月 2025 17:35:55 +0800
Subject: [PATCH] 接口改为富达模式
---
WebApi/Gs.Sys/Services/FmController.cs | 266 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 219 insertions(+), 47 deletions(-)
diff --git a/WebApi/Gs.Sys/Services/FmController.cs b/WebApi/Gs.Sys/Services/FmController.cs
index 30c7db4..0e4add0 100644
--- a/WebApi/Gs.Sys/Services/FmController.cs
+++ b/WebApi/Gs.Sys/Services/FmController.cs
@@ -228,59 +228,214 @@
return isAdmin;
}
+ /* #region 鍙戦�乪rp鏂扮増鏈�
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="model">keyType:1瀹℃牳锛�0鍙嶅鏍�</param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public string SendErp([FromBody] dynamic model)
+ {
+ //string keyGuid = model.keyGuid; 鍘熺敓涓婚敭
+ //string keyUserGuid = model.keyUserGuid;鎿嶄綔鐢ㄦ埛
+ //string keyProduce = model.keyProduce;瀛樺偍杩囩▼鍚�
+ //string keyTaskName = model.keyTaskName;浠诲姟鍚�
+ //string keyChild = model.keyChild;浠诲姟瀛愯妭鐐瑰悕
+ //string keyMeth = model.keyMeth;鏂规硶鍚�
+ //string keyNo = model.keyNo;鍗曟嵁缂栧彿
+ int _rtnInt = 0;
+ string _rtnStr = "";
+ try
+ {
+ string _erpJson = GetErpParam(model);
+ if (_erpJson.Length <= 0)
+ return "-1璇诲彇erp鍙傛暟澶辫触锛�";
+ string keyUserGuid = model.keyUserGuid;
+ string keyGuid = model.keyGuid;
+ string keyNo = model.keyNo;
+ string idtype = model.idtype;//2浠呬粎鏄洿鏂板伐鍗曠姸鎬佺殑鏃跺�欐湁
+
+ if (keyGuid.Length != 36)
+ keyGuid = "00000000-0000-0000-0000-000000000000";
+ if (string.IsNullOrEmpty(idtype))
+ (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson, keyUserGuid, keyGuid, keyNo);
+ else
+ (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson, keyUserGuid, keyGuid, keyNo, 2);
+ }
+ catch (Exception ex)
+ {
+ Gs.Toolbox.LogHelper.Debug(this.ToString(), "Fm SendErp:" + ex.Message);
+ return "鍙戦�乪rp澶辫触:" + ex.Message;
+ }
+ if (_rtnInt <= 0)
+ {
+ return "鍙戦�乪rp澶辫触:" + _rtnStr;
+ }
+ return _rtnStr;
+ }
+
+ /// <summary>
+ /// 鏋勫缓erp鍙傛暟
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ private string GetErpParam(dynamic model)
+ {
+ string keyGuid = model.keyGuid;
+ string keyUserGuid = model.keyUserGuid;
+ string keyProduce = model.keyProduce;
+ string keyTaskName = model.keyTaskName;
+ string keyChild = model.keyChild;
+ string keyMeth = model.keyMeth;
+ string keyNo = model.keyNo;
+ string idtype = model.idtype;//杩欎釜浠呬粎鏄洿鏂板伐鍗曠姸鎬佺殑鏃跺�欐湁
+
+ if (keyMeth.ToUpper() == "delete".ToUpper())
+ return "";
+ try
+ {
+ System.Data.DataSet dset = new System.Data.DataSet();
+ SqlParameter[] parameters =
+ {
+ new("@inOrderGuid", keyGuid),
+ new("@inEdtUserGuid", keyUserGuid),
+ new("@keyMeth", keyMeth.ToLower()),
+ };
+ dset = DbHelperSQL.RunProcedure(keyProduce, parameters, "0");
+ if (dset == null)
+ return "";
+ if (dset.Tables.Count <= 0)
+ return "";
+ if (dset.Tables[0].Rows.Count <= 0)
+ return "";
+ //杩欐槸鏅�氱殑鎺ュ彛
+ if (string.IsNullOrEmpty(idtype))
+ {
+ string _mesGuid = dset.Tables[0].Rows[0][0].ToString();
+ dynamic _datajson = new ExpandoObject();
+ if (dset.Tables.Count > 1)
+ {
+ //杩欐槸杩欐槸鏅�氱殑鎺ュ彛閲岀殑缁撴锛岀粨鏋勫拰鍏跺畠涓嶄竴鏍�
+ if (keyMeth.ToLower() == "toclose".ToLower() || keyMeth.ToLower() == "closure".ToLower() || keyMeth.ToLower() == "unfinish")
+ {
+ _datajson = dset.Tables[1].Rows[0].RowToDynamic();
+ }
+ else
+ {
+ _datajson = dset.Tables[0].Rows[0].RowToDynamic();
+ List<dynamic> _lst = dset.Tables[1].TableToDynamicList();
+ ((IDictionary<string, object>)_datajson)[keyChild] = _lst;
+ }
+ }
+ var _obj = new
+ {
+ mesid = _mesGuid,
+ taskname = keyTaskName,
+ optype = keyMeth,
+ datajson = JsonConvert.SerializeObject(_datajson),
+ };
+ return JsonConvert.SerializeObject(_obj);
+ }
+ //杩欐槸璁㈠崟鍥炰紶鏍囪瘑
+ List<dynamic> _datajson22 = new List<dynamic>();
+ dynamic _ob = new ExpandoObject();
+ _ob.ENTRY = dset.Tables[0].TableToDynamicList();
+ _datajson22.Add(_ob);
+ var _obj22 = new
+ {
+ taskname = keyTaskName,
+ idtype = idtype,
+ datajson = JsonConvert.SerializeObject(_datajson22),
+ };
+ return JsonConvert.SerializeObject(_obj22);
+ }
+ catch (Exception ex)
+ {
+ Gs.Toolbox.LogHelper.Debug(this.ToString(), ex.Message);
+ throw ex;
+ }
+ }
+ #endregion
+ */
+
#region 鍙戦�乪rp鏂扮増鏈�
/// <summary>
- ///
+ /// 鍙戦�佹暟鎹埌ERP绯荤粺
/// </summary>
- /// <param name="model">keyType:1瀹℃牳锛�0鍙嶅鏍�</param>
- /// <returns></returns>
+ /// <param name="model">鍖呭惈浠ヤ笅瀛楁鐨勫姩鎬佸璞★細
+ /// - keyGuid: 鍘熺敓涓婚敭
+ /// - keyUserGuid: 鎿嶄綔鐢ㄦ埛GUID
+ /// - keyProduce: 瀛樺偍杩囩▼鍚�
+ /// - keyTaskName: 浠诲姟鍚�
+ /// - keyChild: 浠诲姟瀛愯妭鐐瑰悕
+ /// - keyMeth: 鏂规硶鍚嶏紙濡俛dd銆乽pdate銆乨elete銆乼oclose绛夛級
+ /// - keyNo: 鍗曟嵁缂栧彿
+ /// - keyUrl: 鎺ュ彛鍦板潃
+ /// - idtype: 鐗规畩鎿嶄綔绫诲瀷鏍囪瘑锛堝宸ュ崟鐘舵�佹洿鏂帮級
+ /// - keyType: 鎿嶄綔绫诲瀷锛�1=瀹℃牳锛�0=鍙嶅鏍革級
+ /// </param>
+ /// <returns>鎴愬姛杩斿洖ERP鍝嶅簲娑堟伅锛屽け璐ヨ繑鍥為敊璇弿杩�</returns>
+ /// <remarks>
+ /// 灏哅ES鏁版嵁鎵撳寘鎴怑RP杞借嵎骞舵牴鎹姹傜殑鎿嶄綔绫诲瀷鎺ㄩ��
+ /// 閫氳繃瀛樺偍杩囩▼杞崲涓氬姟鏁版嵁锛岃皟鐢↖nterfaceUtil鎺ㄩ�佸埌ERP
+ /// </remarks>
[RequestMethod(RequestMethods.POST)]
public string SendErp([FromBody] dynamic model)
{
- //string keyGuid = model.keyGuid; 鍘熺敓涓婚敭
- //string keyUserGuid = model.keyUserGuid;鎿嶄綔鐢ㄦ埛
- //string keyProduce = model.keyProduce;瀛樺偍杩囩▼鍚�
- //string keyTaskName = model.keyTaskName;浠诲姟鍚�
- //string keyChild = model.keyChild;浠诲姟瀛愯妭鐐瑰悕
- //string keyMeth = model.keyMeth;鏂规硶鍚�
- //string keyNo = model.keyNo;鍗曟嵁缂栧彿
int _rtnInt = 0;
string _rtnStr = "";
try
{
+ // 鏋勫缓ERP璇锋眰鍙傛暟
string _erpJson = GetErpParam(model);
if (_erpJson.Length <= 0)
return "-1璇诲彇erp鍙傛暟澶辫触锛�";
string keyUserGuid = model.keyUserGuid;
string keyGuid = model.keyGuid;
string keyNo = model.keyNo;
- string idtype = model.idtype;//2浠呬粎鏄洿鏂板伐鍗曠姸鎬佺殑鏃跺�欐湁
-
- if (keyGuid.Length != 36)
- keyGuid = "00000000-0000-0000-0000-000000000000";
+ string idtype = model.idtype; // 浠呭湪鏇存柊宸ュ崟鐘舵�佹椂浣跨敤
+ string keyUrl = model.keyUrl;
if (string.IsNullOrEmpty(idtype))
- (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson, keyUserGuid, keyGuid, keyNo);
+ {
+ // 甯歌鎺ュ彛锛氭寜鎿嶄綔绫诲瀷鎺ㄩ�佸崟鏉′笟鍔℃暟鎹�
+ (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson,
+ keyUserGuid, keyGuid, keyNo, 0, keyUrl);
+ }
else
- (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson, keyUserGuid, keyGuid, keyNo, 2);
+ {
+ // 甯dtype鐨勮姹傜敤浜庣壒娈婃祦绋嬶紙濡傚叧闂�佸弽鍏抽棴锛夛紝ERP闇�瑕侀澶栫殑鐘舵�佹爣璁�
+ (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson,
+ keyUserGuid, keyGuid, keyNo, 2, keyUrl);
+ }
}
catch (Exception ex)
{
- Gs.Toolbox.LogHelper.Debug(this.ToString(), "Fm SendErp:" + ex.Message);
+ // 璁板綍ERP鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰�
+ Gs.Toolbox.LogHelper.Debug(this.ToString(),
+ "Fm SendErp:" + ex.Message);
return "鍙戦�乪rp澶辫触:" + ex.Message;
}
+
if (_rtnInt <= 0)
{
return "鍙戦�乪rp澶辫触:" + _rtnStr;
}
+
return _rtnStr;
}
/// <summary>
- /// 鏋勫缓erp鍙傛暟
+ /// 鏋勫缓ERP鍙傛暟锛堝唴閮ㄦ柟娉曪級
/// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
+ /// <param name="model">鍖呭惈涓氬姟鍙傛暟鐨勫姩鎬佸璞�</param>
+ /// <returns>JSON鏍煎紡鐨凟RP鍙傛暟瀛楃涓�</returns>
+ /// <remarks>
+ /// 璋冪敤涓氬姟瀹氫箟鐨勫瓨鍌ㄨ繃绋嬪皢MES鏁版嵁鎵撳寘缁橢RP
+ /// 鏍规嵁keyMeth锛堟搷浣滄柟娉曪級鍜宨dtype鍐冲畾杩斿洖鏁版嵁缁撴瀯
+ /// </remarks>
private string GetErpParam(dynamic model)
{
string keyGuid = model.keyGuid;
@@ -290,19 +445,20 @@
string keyChild = model.keyChild;
string keyMeth = model.keyMeth;
string keyNo = model.keyNo;
- string idtype = model.idtype;//杩欎釜浠呬粎鏄洿鏂板伐鍗曠姸鎬佺殑鏃跺�欐湁
-
+ string idtype = model.idtype; // 浠呭湪鏇存柊宸ュ崟鐘舵�佹椂浣跨敤
if (keyMeth.ToUpper() == "delete".ToUpper())
+ // 鍒犻櫎鎿嶄綔鏃犻渶鍚慐RP鎺ㄩ�佹暟鎹紝鍙渶杩斿洖绌轰覆
return "";
try
{
System.Data.DataSet dset = new System.Data.DataSet();
SqlParameter[] parameters =
- {
- new("@inOrderGuid", keyGuid),
- new("@inEdtUserGuid", keyUserGuid),
- new("@keyMeth", keyMeth.ToLower()),
- };
+ {
+ new("@inOrderGuid", keyGuid),
+ new("@inEdtUserGuid", keyUserGuid),
+ new("@keyMeth", keyMeth.ToLower()),
+ };
+ // 璋冪敤涓氬姟瀹氫箟鐨勫瓨鍌ㄨ繃绋嬶紝灏哅ES鏁版嵁鎵撳寘缁橢RP
dset = DbHelperSQL.RunProcedure(keyProduce, parameters, "0");
if (dset == null)
return "";
@@ -310,53 +466,69 @@
return "";
if (dset.Tables[0].Rows.Count <= 0)
return "";
- //杩欐槸鏅�氱殑鎺ュ彛
+ // 甯歌鎺ュ彛澶勭悊閫昏緫
if (string.IsNullOrEmpty(idtype))
{
+ // 甯歌鍑哄弬锛氱涓�寮犺〃鏄富鏁版嵁锛岀浜屽紶琛紙鑻ュ瓨鍦級鏄瓙琛ㄩ泦鍚�
string _mesGuid = dset.Tables[0].Rows[0][0].ToString();
dynamic _datajson = new ExpandoObject();
if (dset.Tables.Count > 1)
{
- //杩欐槸杩欐槸鏅�氱殑鎺ュ彛閲岀殑缁撴锛岀粨鏋勫拰鍏跺畠涓嶄竴鏍�
- if (keyMeth.ToLower() == "toclose".ToLower() || keyMeth.ToLower() == "closure".ToLower() || keyMeth.ToLower() == "unfinish")
+ // 澶氳〃杩斿洖鏃讹紝闇�瑕佹妸瀛愯〃闆嗗悎鎸傚埌datajson涓�
+ // 缁撴鎿嶄綔鐨勭粨鏋勪笌鍏朵粬涓嶄竴鏍凤紝鐗规畩澶勭悊
+ if (keyMeth.ToLower() == "toclose".ToLower() ||
+ keyMeth.ToLower() == "closure".ToLower() ||
+ keyMeth.ToLower() == "unfinish")
{
_datajson = dset.Tables[1].Rows[0].RowToDynamic();
}
else
{
_datajson = dset.Tables[0].Rows[0].RowToDynamic();
- List<dynamic> _lst = dset.Tables[1].TableToDynamicList();
- ((IDictionary<string, object>)_datajson)[keyChild] = _lst;
+ List<dynamic> _lst =
+ dset.Tables[1].TableToDynamicList();
+ ((IDictionary<string, object>)_datajson)[keyChild] =
+ _lst;
}
}
- var _obj = new
+ else if (dset.Tables.Count == 1)
{
- mesid = _mesGuid,
- taskname = keyTaskName,
- optype = keyMeth,
- datajson = JsonConvert.SerializeObject(_datajson),
- };
- return JsonConvert.SerializeObject(_obj);
+ _datajson = dset.Tables[0].Rows[0].RowToDynamic();
+ }
+
+ // var _obj = new
+ // {
+ // mesid = _mesGuid,
+ // taskname = keyTaskName,
+ // optype = keyMeth,
+ // datajson = JsonConvert.SerializeObject(_datajson),
+ // };
+ // return JsonConvert.SerializeObject(_obj);
+ return JsonConvert.SerializeObject(_datajson);
}
- //杩欐槸璁㈠崟鍥炰紶鏍囪瘑
+
+ // 璁㈠崟鍥炰紶鏍囪瘑澶勭悊閫昏緫锛堝甫idtype锛�
List<dynamic> _datajson22 = new List<dynamic>();
dynamic _ob = new ExpandoObject();
_ob.ENTRY = dset.Tables[0].TableToDynamicList();
_datajson22.Add(_ob);
- var _obj22 = new
- {
- taskname = keyTaskName,
- idtype = idtype,
- datajson = JsonConvert.SerializeObject(_datajson22),
- };
- return JsonConvert.SerializeObject(_obj22);
+ // var _obj22 = new
+ // {
+ // taskname = keyTaskName,
+ // idtype = idtype,
+ // datajson = JsonConvert.SerializeObject(_datajson22),
+ // };
+ // return JsonConvert.SerializeObject(_obj22);
+ return JsonConvert.SerializeObject(_datajson22);
}
catch (Exception ex)
{
+ // 璁板綍ERP鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰�
Gs.Toolbox.LogHelper.Debug(this.ToString(), ex.Message);
throw ex;
}
}
+
#endregion
--
Gitblit v1.9.3