From cdd53f350537ee64fa7c9c375f1abdeb51a7294f Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期六, 11 十月 2025 21:00:54 +0800
Subject: [PATCH] FmController类更新详细注释

---
 WebApi/Gs.Sys/Services/FmController.cs |  239 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 152 insertions(+), 87 deletions(-)

diff --git a/WebApi/Gs.Sys/Services/FmController.cs b/WebApi/Gs.Sys/Services/FmController.cs
index 5656a21..447358a 100644
--- a/WebApi/Gs.Sys/Services/FmController.cs
+++ b/WebApi/Gs.Sys/Services/FmController.cs
@@ -14,12 +14,31 @@
 
 namespace Gs.Sys.Services
 {
+    /// <summary>
+    /// 琛ㄥ崟绠$悊鎺у埗鍣�
+    /// 璐熻矗绠$悊鍓嶇琛ㄥ崟鐨刄I甯冨眬閰嶇疆锛堟爣鍑嗙増/涓汉鐗堬級銆丒RP鏁版嵁鍚屾鎺ㄩ�併�佸姩鎬佹煡璇㈤厤缃瓑鍔熻兘
+    /// </summary>
     [ApiGroup(ApiGroupNames.FM)]
     public class FmController : IRomteService
     {
         private readonly IHttpContextAccessor _http;
-        private readonly string _userCode, _userGuid, _orgFids;
+        /// <summary>
+        /// 褰撳墠鐢ㄦ埛缂栫爜
+        /// </summary>
+        private readonly string _userCode;
+        /// <summary>
+        /// 褰撳墠鐢ㄦ埛GUID
+        /// </summary>
+        private readonly string _userGuid;
+        /// <summary>
+        /// 褰撳墠鐢ㄦ埛鎵�灞炵粍缁嘑ID璺緞
+        /// </summary>
+        private readonly string _orgFids;
 
+        /// <summary>
+        /// 鏋勯�犲嚱鏁帮紝浠嶩TTP涓婁笅鏂囦腑鎻愬彇褰撳墠鐢ㄦ埛淇℃伅
+        /// </summary>
+        /// <param name="httpContextAccessor">HTTP涓婁笅鏂囪闂櫒</param>
         public FmController(IHttpContextAccessor httpContextAccessor)
         {
             _http = httpContextAccessor;
@@ -30,27 +49,35 @@
         #region 甯冨眬閰嶇疆
 
         /// <summary>
-        ///     淇濆瓨鎴栨竻绌鸿〃鍗曞竷灞�
+        /// 淇濆瓨鎴栨竻绌鸿〃鍗曞竷灞�閰嶇疆
         /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        /// <remarks>Saves layouts: intType 1=standard save, 2=personal save, 3=clear standard, 4=clear personal.</remarks>
+        /// <param name="model">鍖呭惈浠ヤ笅瀛楁鐨勫姩鎬佸璞★細
+        /// - formPath: 琛ㄥ崟璺緞鏍囪瘑
+        /// - intType: 鎿嶄綔绫诲瀷锛�1=淇濆瓨鏍囧噯鐗堬紝2=淇濆瓨涓汉鐗堬紝3=娓呯┖鏍囧噯鐗堬紝4=娓呯┖涓汉鐗堬級
+        /// - xmlList: UI鎺т欢閰嶇疆鍒楄〃锛圝Array鏍煎紡锛夛紝姣忎釜鍖呭惈idName銆乮dXml銆乮dType銆乻plitterPosition
+        /// </param>
+        /// <returns>杩斿洖鎿嶄綔缁撴灉锛屽寘鍚玱utMsg娑堟伅瀛楁</returns>
+        /// <remarks>
+        /// 鏍囧噯鐗堝竷灞�锛氭墍鏈夌敤鎴峰叡浜紝闇�瑕佺鐞嗗憳鏉冮檺鎿嶄綔
+        /// 涓汉鐗堝竷灞�锛氱敤鎴风鏈夛紝浼樺厛绾ч珮浜庢爣鍑嗙増
+        /// 甯冨眬鏁版嵁瀛樺偍鍦‵M_LAYOUT琛紝閫氳繃groupGuid杩涜鎵归噺鍏宠仈
+        /// </remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
         {
             string applyUserGuid = "";
             string formPath = model.formPath;
             int intType = model.intType;
-            // intType: 1 = save standard layout, 2 = save personal layout, 3 = clear standard layout, 4 = clear personal layout.
+            // intType鍚箟锛�1=淇濆瓨鏍囧噯鐗堬紝2=淇濆瓨涓汉鐗堬紝3=娓呯┖鏍囧噯鐗堬紝4=娓呯┖涓汉鐗�
             dynamic m = new ExpandoObject();
             m.outMsg = "";
-            // Gather batched SQL statements so they can be executed transactionally when saving layouts.
+            // 鏀堕泦鎵归噺SQL璇彞锛岀敤浜庝簨鍔℃�ф墽琛屼繚瀛樺竷灞�鎿嶄綔
             Hashtable SQLStringList = new Hashtable();
             string _groupGuid = Guid.NewGuid().ToString();
-            //鍙湁瓒呯骇绠$悊鍛樻潈闄�
+            // 鏍囧噯鐗堝竷灞�鎿嶄綔闇�瑕佽秴绾х鐞嗗憳鏉冮檺楠岃瘉
             if (intType == 1 || intType == 3)
             {
-                // Validate the current user has administrator rights when touching standard layouts.
+                // 楠岃瘉褰撳墠鐢ㄦ埛鏄惁鍏锋湁绠$悊鍛樻潈闄愶紝浠ユ搷浣滄爣鍑嗙増甯冨眬
                 int? isAdmin = 0;
                 try
                 {
@@ -69,10 +96,10 @@
                 }
             }
 
-            //淇濆瓨鏍囧噯鐗�
+            // 淇濆瓨鏍囧噯鐗堝竷灞�锛氭竻闄ゆ棫鐨勬爣鍑嗙増鏁版嵁锛宎pplyUserGuid涓簄ull琛ㄧず鍏ㄥ眬鍏变韩
             if (intType == 1)
             {
-                // Persist a new standard layout definition shared by all users.
+                // 淇濈暀鏂版壒娆″竷灞�閰嶇疆锛屽垹闄ゅ悓涓�琛ㄥ崟璺緞涓嬬殑鏃ф爣鍑嗙増甯冨眬
                 applyUserGuid = null;
                 Gs.Toolbox.DbHelperSQL.ExecuteSql(
                     "delete from [FM_LAYOUT] where groupGuid<>'" + _groupGuid +
@@ -82,10 +109,10 @@
                 // SQLStringList.Add("delete from [FM_LAYOUT] where groupGuid<>'" + _groupGuid + "' and [formPath]=@formPath and applyUserGuid is null", new SqlParameter[] { new SqlParameter("@formPath", formPath) });
             }
 
-            //淇濆瓨涓汉鐗堟湰
+            // 淇濆瓨涓汉鐗堝竷灞�锛氭竻闄ゅ綋鍓嶇敤鎴锋棫鐨勪釜浜虹増鏁版嵁锛宎pplyUserGuid涓虹敤鎴稧UID
             if (intType == 2)
             {
-                // Persist the caller's personal layout copy scoped to their user GUID.
+                // 淇濆瓨璋冪敤鑰呯殑涓汉甯冨眬鍓湰锛岄�氳繃鐢ㄦ埛GUID闄愬畾浣滅敤鍩�
                 applyUserGuid = _userGuid;
                 Gs.Toolbox.DbHelperSQL.ExecuteSql(
                     "delete from [FM_LAYOUT] where  groupGuid<>'" + _groupGuid +
@@ -98,10 +125,10 @@
                 //SQLStringList.Add("delete from [FM_LAYOUT] where  groupGuid<>'" + _groupGuid + "' and [formPath]=@formPath and applyUserGuid =@applyUserGuid", new SqlParameter[] { new SqlParameter("@formPath", formPath), new SqlParameter("@applyUserGuid", applyUserGuid) });
             }
 
-            //娓呯┖鏍囧噯鐗堟湰
+            // 娓呯┖鏍囧噯鐗堝竷灞�锛氱鐞嗗憳鍙互瀹屽叏娓呴櫎鍏变韩鐨勬爣鍑嗙増甯冨眬
             if (intType == 3)
             {
-                // Administrators can wipe the shared standard layout entirely.
+                // 绠$悊鍛樺彲浠ュ畬鍏ㄥ垹闄ゅ叡浜殑鏍囧噯鐗堝竷灞�锛屾仮澶嶅埌鏈厤缃姸鎬�
                 applyUserGuid = null;
                 SQLStringList.Add(
                     "delete from [FM_LAYOUT] where [formPath]=@formPath and applyUserGuid is null",
@@ -113,10 +140,10 @@
                     "鎿嶄綔鎴愬姛锛�");
             }
 
-            //娓呯┖涓汉鐗堟湰
+            // 娓呯┖涓汉鐗堝竷灞�锛氬垹闄ゅ綋鍓嶇敤鎴风殑涓汉鐗堝竷灞�锛屼繚鐣欐爣鍑嗙増涓嶅彈褰卞搷
             if (intType == 4)
             {
-                // Remove the caller's personal layout while keeping the shared standard version intact.
+                // 绉婚櫎璋冪敤鑰呯殑涓汉甯冨眬锛屼繚鐣欏叡浜爣鍑嗙増涓嶅彉
                 applyUserGuid = _userGuid;
                 SQLStringList.Add(
                     "delete from [FM_LAYOUT] where [formPath]=@formPath and applyUserGuid =@applyUserGuid",
@@ -131,7 +158,7 @@
                     "鎿嶄綔鎴愬姛锛�");
             }
 
-            //杩欐槸鎵�鏈夌殑gridview,lay xml
+            // 閬嶅巻鎵�鏈塙I鎺т欢閰嶇疆锛坓ridview銆乴ayout銆亁ml绛夛級锛屾壒閲忔彃鍏ユ暟鎹簱
             JArray jArray = model.xmlList;
             try
             {
@@ -140,7 +167,7 @@
                     JObject job = (JObject)jsonitem;
                     if (job["idName"] != null)
                     {
-                        // Compose an insert statement for each UI control (grid, layout panel, splitter, etc.).
+                        // 涓烘瘡涓猆I鎺т欢锛堢綉鏍笺�佸竷灞�闈㈡澘銆佸垎鍓插櫒绛夛級鏋勫缓鎻掑叆璇彞
                         string idName = job["idName"].ToString();
                         string idXml = job["idXml"].ToString();
                         string idType = job["idType"].ToString();
@@ -170,6 +197,7 @@
                     }
                 }
 
+                // 浜嬪姟鎬ф墽琛屾墍鏈塖QL璇彞锛岀‘淇濇暟鎹竴鑷存��
                 Gs.Toolbox.DbHelperSQL.ExecuteSqlTranRtn(SQLStringList);
                 m.outMsg = "淇濆瓨" + (intType == 1 ? "鏍囧噯鐗�" : "涓汉鐗�") + "閰嶇疆鎴愬姛锛�";
                 return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
@@ -177,24 +205,26 @@
             }
             catch (Exception ex)
             {
-                // 鎹曡幏淇濆瓨鏌ヨ閰嶇疆鏃剁殑寮傚父锛屽苟灏嗕俊鎭繑鍥炵粰鍓嶇銆�
+                // 鎹曡幏淇濆瓨甯冨眬閰嶇疆鏃剁殑寮傚父锛屽苟灏嗕俊鎭繑鍥炵粰鍓嶇
                 m.outMsg = "鎿嶄綔澶辫触:" + ex.Message;
                 Gs.Toolbox.LogHelper.Debug(this.ToString(),
                     "EditModel error锛�" + ex.Message);
             }
 
-            //杩欐槸鎵�鏈夌殑
             return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
                 "鎿嶄綔鎴愬姛锛�");
         }
 
 
         /// <summary>
-        ///     璇诲彇
+        /// 璇诲彇琛ㄥ崟甯冨眬閰嶇疆锛堟爣鍑嗙増+涓汉鐗堬級
         /// </summary>
-        /// <param name="guid"></param>
-        /// <returns></returns>
-        /// <remarks>Combines the shared layout (list) with the current user's override (list2).</remarks>
+        /// <param name="model">鍖呭惈formPath瀛楁鐨勫姩鎬佸璞�</param>
+        /// <returns>杩斿洖涓や釜鍒楄〃锛歭ist涓烘爣鍑嗙増甯冨眬鏁版嵁锛宭ist2涓哄綋鍓嶇敤鎴风殑涓汉鐗堝竷灞�鏁版嵁</returns>
+        /// <remarks>
+        /// 閫氳繃瀛樺偍杩囩▼fm_get_layout鍚屾椂杩斿洖鍏变韩甯冨眬鍜岀敤鎴蜂釜浜哄竷灞�瑕嗙洊
+        /// 鍓嶇浼樺厛浣跨敤涓汉鐗堝竷灞�锛屽鏃犲垯浣跨敤鏍囧噯鐗�
+        /// </remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model)
         {
@@ -210,13 +240,13 @@
             var dset = new DataSet();
             try
             {
-                // Stored procedure returns both standard layout data and any personal override for the current user.
+                // 瀛樺偍杩囩▼杩斿洖鏍囧噯鐗堝竷灞�鏁版嵁锛圱able[0]锛夊拰鐢ㄦ埛涓汉甯冨眬蹇収锛圱able[1]锛�
                 dset = DbHelperSQL.RunProcedure("[fm_get_layout]", parameters,
                     "0");
                 if (dset != null && dset.Tables.Count > 0
                    )
                 {
-                    // Table[0] represents the standard definition; table[1] holds the user's personal layout snapshot.
+                    // Table[0]琛ㄧず鏍囧噯鐗堝畾涔夛紱Table[1]淇濆瓨鐢ㄦ埛鐨勪釜浜虹増甯冨眬蹇収
                     var _tb = dset.Tables[0].TableToDynamicList();
                     m.list = _tb;
                     var _tb2 = dset.Tables[1].TableToDynamicList();
@@ -225,7 +255,7 @@
             }
             catch (Exception ex)
             {
-                // Log retrieval failure but continue returning default result to caller.
+                // 璁板綍璇诲彇澶辫触浣嗙户缁繑鍥為粯璁ょ粨鏋滅粰璋冪敤鑰�
                 LogHelper.Debug(ToString(), ex.Message);
             }
 
@@ -238,11 +268,14 @@
 
 
         /// <summary>
-        ///     璇诲彇
+        /// 鏍规嵁鐗堟湰璇诲彇搴忓垪鍖栫殑甯冨眬瀛楃涓�
         /// </summary>
-        /// <param name="guid"></param>
-        /// <returns></returns>
-        /// <remarks>Retrieves the serialized layout string for the latest saved version (standard or personal).</remarks>
+        /// <param name="model">鍖呭惈formPath瀛楁鐨勫姩鎬佸璞�</param>
+        /// <returns>杩斿洖鏈�鏂颁繚瀛樼増鏈紙鏍囧噯鐗堟垨涓汉鐗堬級鐨勫簭鍒楀寲甯冨眬瀛楃涓�</returns>
+        /// <remarks>
+        /// 閫氳繃瀛樺偍杩囩▼fm_get_layout_ver鑾峰彇鏈�鏂板竷灞�蹇収
+        /// 鏍规嵁formPath鍜岀敤鎴蜂綔鐢ㄥ煙杩斿洖搴忓垪鍖栫殑甯冨眬瀛楃涓�
+        /// </remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<string> GetModelByVersion([FromBody] dynamic model)
         {
@@ -256,7 +289,7 @@
             var dset = new DataSet();
             try
             {
-                // Stored procedure exposes the latest serialized layout snapshot based on formPath and user scope.
+                // 瀛樺偍杩囩▼鏆撮湶鍩轰簬formPath鍜岀敤鎴蜂綔鐢ㄥ煙鐨勬渶鏂板簭鍒楀寲甯冨眬蹇収
                 dset = DbHelperSQL.RunProcedure("[fm_get_layout_ver]",
                     parameters, "0");
                 if (dset != null && dset.Tables.Count > 0
@@ -267,7 +300,7 @@
             }
             catch (Exception ex)
             {
-                // Capture context when reading layout versions fails to help diagnose environment-specific issues.
+                // 鎹曡幏璇诲彇甯冨眬鐗堟湰澶辫触鐨勪笂涓嬫枃淇℃伅锛屽府鍔╄瘖鏂幆澧冪壒瀹氶棶棰�
                 LogHelper.Debug(ToString(),
                     ex.Message + ",formPath:" + formPath + ",_userGuid:" +
                     _userGuid);
@@ -279,11 +312,16 @@
 
         #endregion
 
+        /// <summary>
+        /// 妫�鏌ュ綋鍓嶇敤鎴锋槸鍚︿负绠$悊鍛�
+        /// </summary>
+        /// <returns>绠$悊鍛樿繑鍥�1锛岄潪绠$悊鍛樿繑鍥�0</returns>
+        /// <remarks>浣跨敤SYS_USER.IS_SYS鏍囧織鍒ゆ柇璋冪敤鑰呮槸鍚︽嫢鏈夌鐞嗗憳鏉冮檺</remarks>
         private int? chkAdmin()
         {
             int? isAdmin = 0;
             System.Text.StringBuilder _sb = new System.Text.StringBuilder();
-            // Uses SYS_USER.IS_SYS flag to decide if the caller has elevated privileges.
+            // 閫氳繃SYS_USER.IS_SYS鏍囧織鍒ゆ柇璋冪敤鑰呮槸鍚︽嫢鏈夌鐞嗗憳鏉冮檺
             _sb.Append("select count(1) from [dbo].[SYS_USER] where GUID='" +
                        _userGuid + "' and  IS_SYS=1");
             object _obj = Gs.Toolbox.DbHelperSQL.GetSingle(_sb.ToString());
@@ -300,50 +338,57 @@
         #region 鍙戦�乪rp鏂扮増鏈�
 
         /// <summary>
-        /// 
+        /// 鍙戦�佹暟鎹埌ERP绯荤粺
         /// </summary>
-        /// <param name="model">keyType:1瀹℃牳锛�0鍙嶅鏍�</param>
-        /// <returns></returns>
-        /// <remarks>Packages MES data into ERP payloads and posts them according to the requested operation.</remarks>
+        /// <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;鍗曟嵁缂栧彿
-            //string keyUrl = model.keyUrl;鎺ュ彛鍦板潃
             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; //杩欎釜浠呬粎鏄洿鏂板伐鍗曠姸鎬佺殑鏃跺�欐湁
+                string idtype = model.idtype; // 浠呭湪鏇存柊宸ュ崟鐘舵�佹椂浣跨敤
                 string keyUrl = model.keyUrl;
                 if (string.IsNullOrEmpty(idtype))
                 {
-                    // 甯歌鎺ュ彛锛氭寜鎿嶄綔绫诲瀷鎺ㄩ�佸崟鏉′笟鍔℃暟鎹��
+                    // 甯歌鎺ュ彛锛氭寜鎿嶄綔绫诲瀷鎺ㄩ�佸崟鏉′笟鍔℃暟鎹�
                     (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson,
                         keyUserGuid, keyGuid, keyNo, 0, keyUrl);
                 }
                 else
                 {
-                    // 甯� idtype 鐨勮姹傜敤浜庣壒娈婃祦绋嬶紙濡傚叧闂�佸弽鍏抽棴锛夛紝ERP 闇�瑕侀澶栫殑鐘舵�佹爣璁般��
+                    // 甯dtype鐨勮姹傜敤浜庣壒娈婃祦绋嬶紙濡傚叧闂�佸弽鍏抽棴锛夛紝ERP闇�瑕侀澶栫殑鐘舵�佹爣璁�
                     (_rtnInt, _rtnStr) = InterfaceUtil.HttpPostErp(_erpJson,
                         keyUserGuid, keyGuid, keyNo, 2, keyUrl);
                 }
             }
             catch (Exception ex)
             {
-                // 璁板綍 ERP 鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰樸��
+                // 璁板綍ERP鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰�
                 Gs.Toolbox.LogHelper.Debug(this.ToString(),
                     "Fm SendErp:" + ex.Message);
                 return "鍙戦�乪rp澶辫触:" + ex.Message;
@@ -358,10 +403,14 @@
         }
 
         /// <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;
@@ -371,9 +420,9 @@
             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())
-                // 鍒犻櫎鎿嶄綔鏃犻渶鍚� ERP 鎺ㄩ�佹暟鎹紝鍙渶杩斿洖绌轰覆銆�
+                // 鍒犻櫎鎿嶄綔鏃犻渶鍚慐RP鎺ㄩ�佹暟鎹紝鍙渶杩斿洖绌轰覆
                 return "";
             try
             {
@@ -384,7 +433,7 @@
                     new("@inEdtUserGuid", keyUserGuid),
                     new("@keyMeth", keyMeth.ToLower()),
                 };
-                // 璋冪敤涓氬姟瀹氫箟鐨勫瓨鍌ㄨ繃绋嬶紝灏� MES 鏁版嵁鎵撳寘缁� ERP銆�
+                // 璋冪敤涓氬姟瀹氫箟鐨勫瓨鍌ㄨ繃绋嬶紝灏哅ES鏁版嵁鎵撳寘缁橢RP
                 dset = DbHelperSQL.RunProcedure(keyProduce, parameters, "0");
                 if (dset == null)
                     return "";
@@ -392,16 +441,16 @@
                     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)
                     {
-                        // 澶氳〃杩斿洖鏃讹紝闇�瑕佹妸瀛愯〃闆嗗悎鎸傚埌 datajson 涓��
-                        //杩欐槸杩欐槸鏅�氱殑鎺ュ彛閲岀殑缁撴锛岀粨鏋勫拰鍏跺畠涓嶄竴鏍�
+                        // 澶氳〃杩斿洖鏃讹紝闇�瑕佹妸瀛愯〃闆嗗悎鎸傚埌datajson涓�
+                        // 缁撴鎿嶄綔鐨勭粨鏋勪笌鍏朵粬涓嶄竴鏍凤紝鐗规畩澶勭悊
                         if (keyMeth.ToLower() == "toclose".ToLower() ||
                             keyMeth.ToLower() == "closure".ToLower() ||
                             keyMeth.ToLower() == "unfinish")
@@ -433,7 +482,7 @@
                     return JsonConvert.SerializeObject(_datajson);
                 }
 
-                //杩欐槸璁㈠崟鍥炰紶鏍囪瘑
+                // 璁㈠崟鍥炰紶鏍囪瘑澶勭悊閫昏緫锛堝甫idtype锛�
                 List<dynamic> _datajson22 = new List<dynamic>();
                 dynamic _ob = new ExpandoObject();
                 _ob.ENTRY = dset.Tables[0].TableToDynamicList();
@@ -449,7 +498,7 @@
             }
             catch (Exception ex)
             {
-                // 璁板綍 ERP 鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰樸��
+                // 璁板綍ERP鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰�
                 Gs.Toolbox.LogHelper.Debug(this.ToString(), ex.Message);
                 throw ex;
             }
@@ -461,10 +510,14 @@
         #region 鏌ヨ
 
         /// <summary>
-        /// 璇诲彇
+        /// 璇诲彇鏌ヨ閰嶇疆
         /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
+        /// <param name="model">鍖呭惈formPath鍜宭ist锛堝垪瀹氫箟鏁扮粍锛夌殑鍔ㄦ�佸璞�</param>
+        /// <returns>杩斿洖4涓垪琛細list=鏌ヨ鏉′欢閰嶇疆锛宭ist2=缁撴灉瀛楁閰嶇疆锛宭ist3=鎺掑簭閰嶇疆锛宭ist4=鍏朵粬閰嶇疆</returns>
+        /// <remarks>
+        /// 灏嗗垪鍚嶅拰鏄剧ず鏍囬鎷兼垚"~"鍒嗛殧鐨勫弬鏁帮紝浼犵粰瀛樺偍杩囩▼fm_set_query鐢熸垚鏌ヨ閰嶇疆
+        /// 瀛樺偍杩囩▼杩斿洖澶氬紶閰嶇疆琛ㄧ敤浜庡姩鎬佹煡璇㈡瀯寤�
+        /// </remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<ExpandoObject> GetQuery([FromBody] dynamic model)
         {
@@ -489,7 +542,7 @@
 
             ;
             var lst = new List<dynamic>();
-            // 灏嗗垪鍚嶅拰鏄剧ず鏍囬鎷兼垚 "~" 鍒嗛殧鐨勫弬鏁帮紝浼犵粰瀛樺偍杩囩▼鐢熸垚鏌ヨ閰嶇疆銆�
+            // 灏嗗垪鍚嶅拰鏄剧ず鏍囬鎷兼垚"~"鍒嗛殧鐨勫弬鏁帮紝浼犵粰瀛樺偍杩囩▼鐢熸垚鏌ヨ閰嶇疆
             SqlParameter[] parameters =
             {
                 new("@formPath", formPath),
@@ -498,7 +551,7 @@
             var dset = new DataSet();
             try
             {
-                // fm_set_query 浼氳繑鍥炴煡璇㈡潯浠躲�佺粨鏋滃瓧娈点�佹帓搴忕瓑澶氬紶閰嶇疆琛ㄣ��
+                // fm_set_query浼氳繑鍥炴煡璇㈡潯浠躲�佺粨鏋滃瓧娈点�佹帓搴忕瓑澶氬紶閰嶇疆琛�
                 dset = DbHelperSQL.RunProcedure("[fm_set_query]", parameters,
                     "0");
                 if (dset != null && dset.Tables.Count > 0)
@@ -511,7 +564,7 @@
             }
             catch (Exception ex)
             {
-                // 璁板綍 ERP 鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰樸��
+                // 璁板綍鏌ヨ閰嶇疆璇诲彇寮傚父
                 LogHelper.Debug(ToString(), ex.Message);
             }
 
@@ -520,10 +573,14 @@
         }
 
         /// <summary>
-        /// 缂栬緫琛�
+        /// 缂栬緫鏌ヨ鏁版嵁婧愯〃閰嶇疆
         /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
+        /// <param name="model">鍖呭惈formPath鍜宭ist锛堣〃鍚嶆暟缁勶級鐨勫姩鎬佸璞�</param>
+        /// <returns>鎿嶄綔缁撴灉锛屽寘鍚玱utMsg娑堟伅</returns>
+        /// <remarks>
+        /// 浠呯鐞嗗憳鍙搷浣滐紝鐢ㄤ簬閰嶇疆鏌ヨ鐨勬暟鎹潵婧愯〃
+        /// 鍏堟竻绌哄師鏈夐厤缃紝鍐嶆壒閲忔彃鍏ユ渶鏂拌〃閰嶇疆鍒癋M_QUERY_TABLE
+        /// </remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<ExpandoObject> EditQuery([FromBody] dynamic model)
         {
@@ -538,7 +595,7 @@
                 isAdmin = chkAdmin();
                 if (isAdmin <= 0)
                 {
-                    // Query configuration is restricted to administrators to protect shared metadata.
+                    // 鏌ヨ閰嶇疆浠呴檺绠$悊鍛樻搷浣滐紝浠ヤ繚鎶ゅ叡浜厓鏁版嵁
                     m.outMsg = "浣犱笉鏄鐞嗗憳锛屾搷浣滃け璐ワ紒";
                     return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
                         "鎿嶄綔鎴愬姛锛�");
@@ -546,14 +603,14 @@
             }
             catch (Exception ex)
             {
-                // 璁板綍 ERP 鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰樸��
+                // 璁板綍绠$悊鍛樻潈闄愭鏌ュ紓甯�
                 Gs.Toolbox.LogHelper.Debug(this.ToString(),
                     "EditModel isAdmin error锛�" + ex.Message);
             }
 
             try
             {
-                // 鍏堟竻绌哄師鏈夋煡璇㈡潵婧愯〃锛屽啀鎵归噺鎻掑叆鏈�鏂伴厤缃��
+                // 鍏堟竻绌哄師鏈夋煡璇㈡潵婧愯〃锛屽啀鎵归噺鎻掑叆鏈�鏂伴厤缃�
                 Gs.Toolbox.DbHelperSQL.ExecuteSql(
                     "delete from [FM_QUERY_TABLE] where formPath=@formPath ",
                     new SqlParameter[]
@@ -574,7 +631,7 @@
             }
             catch (Exception ex)
             {
-                // 鎹曡幏淇濆瓨鏌ヨ閰嶇疆鏃剁殑寮傚父锛屽苟灏嗕俊鎭繑鍥炵粰鍓嶇銆�
+                // 鎹曡幏淇濆瓨鏌ヨ閰嶇疆鏃剁殑寮傚父锛屽苟灏嗕俊鎭繑鍥炵粰鍓嶇
                 m.outMsg = ex.Message;
                 return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
                     ex.Message);
@@ -586,10 +643,11 @@
         }
 
         /// <summary>
-        ///   鍒犻櫎琛�
+        /// 鍒犻櫎鏌ヨ鏁版嵁婧愯〃閰嶇疆
         /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
+        /// <param name="model">鍖呭惈guid瀛楁鐨勫姩鎬佸璞�</param>
+        /// <returns>鎿嶄綔缁撴灉鐮�</returns>
+        /// <remarks>浠呯鐞嗗憳鍙搷浣滐紝閲囩敤GUID绮剧‘鍒犻櫎鎸囧畾鐨勬煡璇㈡暟鎹簮璁板綍</remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<int?> DeleteQuery([FromBody] dynamic model)
         {
@@ -600,14 +658,14 @@
                 isAdmin = chkAdmin();
                 if (isAdmin <= 0)
                 {
-                    // 鍒犻櫎鏌ヨ閰嶇疆鍚屾牱闇�瑕佺鐞嗗憳鏉冮檺銆�
+                    // 鍒犻櫎鏌ヨ閰嶇疆鍚屾牱闇�瑕佺鐞嗗憳鏉冮檺
                     return ReturnDto<int>.QuickReturn(rtnInt,
                         ReturnCode.Default, "浣犱笉鏄鐞嗗憳锛屾搷浣滃け璐ワ紒");
                 }
             }
             catch (Exception ex)
             {
-                // 璁板綍 ERP 鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰樸��
+                // 璁板綍绠$悊鍛樻潈闄愭鏌ュ紓甯�
                 Gs.Toolbox.LogHelper.Debug(this.ToString(),
                     "EditModel isAdmin error锛�" + ex.Message);
             }
@@ -615,7 +673,7 @@
             Guid? guid = model.guid;
             System.Text.StringBuilder stringBuilder =
                 new System.Text.StringBuilder();
-            // 閲囩敤 GUID 绮剧‘鍒犻櫎鎸囧畾鐨勬煡璇㈡暟鎹簮璁板綍銆�
+            // 閲囩敤GUID绮剧‘鍒犻櫎鎸囧畾鐨勬煡璇㈡暟鎹簮璁板綍
             stringBuilder.Append("delete from FM_QUERY_TABLE where guid='" +
                                  guid + "'");
             rtnInt =
@@ -628,10 +686,16 @@
         }
 
         /// <summary>
-        ///   缂栬緫鍒�
+        /// 缂栬緫鏌ヨ鍒楀瓧娈甸厤缃�
         /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
+        /// <param name="model">鍖呭惈浠ヤ笅瀛楁鐨勫姩鎬佸璞★細
+        /// - guid: 璁板綍GUID
+        /// - sqlField: SQL瀛楁鍚�
+        /// - sqlFieldType: SQL瀛楁绫诲瀷
+        /// - fType: 鎿嶄綔绫诲瀷锛�1=鏇存柊瀛楁绫诲瀷锛屽叾浠�=鏇存柊瀛楁鍚嶏級
+        /// </param>
+        /// <returns>鎿嶄綔缁撴灉鐮�</returns>
+        /// <remarks>浠呯鐞嗗憳鍙搷浣滐紝鐢ㄤ簬璋冩暣鏌ヨ鍒楀瓧娈垫槧灏�</remarks>
         [RequestMethod(RequestMethods.POST)]
         public ReturnDto<int?> EditCol([FromBody] dynamic model)
         {
@@ -642,14 +706,14 @@
                 isAdmin = chkAdmin();
                 if (isAdmin <= 0)
                 {
-                    // 鍙湁绠$悊鍛樻墠鑳借皟鏁存煡璇㈠垪瀛楁鏄犲皠銆�
+                    // 鍙湁绠$悊鍛樻墠鑳借皟鏁存煡璇㈠垪瀛楁鏄犲皠
                     return ReturnDto<int>.QuickReturn(rtnInt,
                         ReturnCode.Default, "浣犱笉鏄鐞嗗憳锛屾搷浣滃け璐ワ紒");
                 }
             }
             catch (Exception ex)
             {
-                // 璁板綍 ERP 鏁版嵁杞崲寮傚父锛屼究浜庡畾浣嶅瓨鍌ㄨ繃绋嬫垨搴忓垪鍖栭棶棰樸��
+                // 璁板綍绠$悊鍛樻潈闄愭鏌ュ紓甯�
                 Gs.Toolbox.LogHelper.Debug(this.ToString(),
                     "EditModel isAdmin error锛�" + ex.Message);
             }
@@ -660,6 +724,7 @@
             string fType = model.fType;
             System.Text.StringBuilder stringBuilder =
                 new System.Text.StringBuilder();
+            // 鏍规嵁fType鍐冲畾鏇存柊瀛楁绫诲瀷杩樻槸瀛楁鍚�
             if (fType == "1")
                 stringBuilder.Append("update  FM_QUERY set sqlFieldType='" +
                                      sqlFieldType +

--
Gitblit v1.9.3