From 639ea7256f10697d19c19cc878e999bcb7b1e6a1 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期一, 09 三月 2026 22:53:49 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs | 132 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 121 insertions(+), 11 deletions(-)
diff --git a/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs b/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
index 6914c54..12c27a7 100644
--- a/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
+++ b/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
@@ -18,6 +18,7 @@
public DataSet ds = new DataSet();
public WebServer webserver = new WebServer();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
grdAlignment omdelMian = new grdAlignment();
List<grdAlignmentSub> omdelsub = new List<grdAlignmentSub>();
@@ -903,7 +904,8 @@
{ "zh-Hans", "HFieldName"},
{ "zh-Hant", "HFieldName"},
{ "en", "HTranslationText_English"},
- { "es", "HTranslationText_Spain"}
+ { "es", "HTranslationText_Spain"},
+ { "Thai", "HTranslationText_Thai"}
};
/// <summary>
@@ -916,8 +918,23 @@
[HttpGet]
public object SelectMESLanguage_JSON(string language, bool forceUpdate)
{
+
try
{
+ // 鍒ゆ柇鏄惁鍚敤澶氳瑷�閰嶇疆
+ string enableRemote = oSystemParameter.GetSingleSystemParameter("Xt_grdAlignment_WMES_RemoteTransFileCTL", ref DBUtility.ClsPub.sErrInfo);
+ if (enableRemote == "N")
+ {
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Success锛�";
+ objJsonResult.data = null;
+ var objJObj = JObject.FromObject(objJsonResult);
+ objJObj["EnableRemoteI18n"] = enableRemote;
+ return objJObj;
+ }
+
// 鑾峰彇椤圭洰鏍圭洰褰�
string path = HttpContext.Current.Server.MapPath($"~/LanguagePack"); ;
string lang;
@@ -928,7 +945,7 @@
language = "zh-Hans";
lang = "HFieldName";
}
- ds = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1", "h_v_Xt_LanModuleList");
+ ds = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1 order by HUpdateDate desc", "h_v_Xt_LanModuleList");
// 濡傛灉鐩綍涓嶅瓨鍦ㄥ垯鍒涘缓鐩綍
if (!Directory.Exists(path))
@@ -948,7 +965,7 @@
using (StreamReader sr = new StreamReader(Path.Combine(path, $"{language}.json"), Encoding.UTF8))
{
string lines;
- while ((lines = sr.ReadLine()) != null)//涓�琛屼竴琛屽幓璇伙紝濡傛灉璇诲彇杩欎竴琛岃祴鍊糽ines,骞朵笖lines= null璇佹槑璇诲彇瀹屼簡
+ while ((lines = sr.ReadLine()) != null)
{
JsonStr1 += lines;
@@ -961,11 +978,17 @@
{
languagePack["_Version"] = 0;
}
+ if (languagePack["_UpdateDate"] == null)
+ {
+ languagePack["_UpdateDate"] = "";
+ }
LogService.Write("璇█鍖呬腑鏁版嵁鏉℃暟: " + languagePack["_Version"].ToString() + "\n鏁版嵁搴撲腑鏁版嵁鏉℃暟: " + ds.Tables[0].Rows.Count.ToString());
- if (languagePack["_Version"].Value<int>() != ds.Tables[0].Rows.Count || forceUpdate == true)
+ if (languagePack["_Version"].Value<int>() != ds.Tables[0].Rows.Count || forceUpdate == true || languagePack["_UpdateDate"].Value<string>() != ds.Tables[0].Rows[0]["HUpdateDate"].ToString())
{
// 鏇存柊鐗堟湰鍙�(鏁版嵁鏉$洰鏁�)
languagePack["_Version"] = ds.Tables[0].Rows.Count;
+ //鏇存柊瀛楁缈昏瘧鏃ユ湡
+ languagePack["_UpdateDate"] = ds.Tables[0].Rows[0]["HUpdateDate"].ToString();
// 缁熻姣忎釜瀛楃妯″潡涓� 瀛楁鐮佸嚭鐜扮殑娆℃暟 濡傛灉鍑虹幇澶氭锛屽垯鏄犲皠涓篔Array绫诲瀷
Dictionary<string, int> HFieldCodeDict = ds.Tables[0].AsEnumerable()
.GroupBy(row => new
@@ -981,7 +1004,7 @@
keySelector: p => $@"{p.HModuleCode}_{p.HFieldCode}",
elementSelector: p => p.rowNum
);
-
+ int subIndex = 0;
// 鐗堟湰鍙蜂笉涓�鑷� 鍒欒鍙栨暟鎹簱涓殑瀛楁锛屽皢瀛楁鍐欏叆鍒癹son瀵硅薄涓�
foreach (DataRow row in ds.Tables[0].Rows)
{
@@ -1007,8 +1030,23 @@
languagePack[HModuleCode][HFieldCode] = new JArray();
}
- var targetJArray = (JArray)languagePack[HModuleCode][HFieldCode];
- targetJArray.Add(row[lang].ToString());
+ var targetJArray = languagePack[HModuleCode][HFieldCode] as JArray;
+
+ if (subIndex < rowNum - 1)
+ {
+ if (targetJArray.Count < subIndex + 1)
+ {
+ targetJArray.Add(row[lang].ToString());
+ }else
+ {
+ targetJArray[subIndex] = row[lang].ToString();
+ }
+ subIndex++;
+ }else
+ {
+ subIndex = 0;
+ }
+
}
}
@@ -1019,16 +1057,20 @@
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Success锛�";
- objJsonResult.data = languagePack.ToString();
- return objJsonResult;
+ objJsonResult.data = languagePack;
+ var objJObj = JObject.FromObject(objJsonResult);
+ objJObj["EnableRemoteI18n"] = enableRemote;
+ return objJObj;
} else
{
// 鐗堟湰鍙蜂竴鑷达紝 鍒欑洿鎺ヨ繑鍥炶鍙栫殑Json瀛楃涓�
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Success锛�";
- objJsonResult.data = JsonStr1;
- return objJsonResult;
+ objJsonResult.data = JObject.Parse(JsonStr1);
+ var objJObj = JObject.FromObject(objJsonResult);
+ objJObj["EnableRemoteI18n"] = enableRemote;
+ return objJObj;
}
}
catch(Exception e)
@@ -1036,6 +1078,74 @@
LogService.Write("Exception锛�" + e.ToString());
objJsonResult.code = "0";
objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ var objJObj = JObject.FromObject(objJsonResult);
+ objJObj["EnableRemoteI18n"] = "N";
+ return objJObj;
+ }
+ }
+ #endregion
+
+ #region 鍗曟嵁缈昏瘧 璇█鍖呯己澶辩殑閿� 鍙嶅悜鏄犲皠鍒版暟鎹簱
+ [Route("Xt_grdAlignment_WMES/syncMissingKeyToDB")]
+ [HttpGet]
+ public Object syncMissingKeyToDB(string missingObj)
+ {
+ oCN.BeginTran();
+ try
+ {
+ // 閫掑叆鐨勫弬鏁� 缁撴瀯鏄� { 妯″潡鍚�: [瀛楁鍚�1,瀛楁鍚�2] }
+ JObject missingKeys = JObject.Parse(missingObj);
+
+
+ // 閬嶅巻椤跺眰JObject瀵硅薄
+ foreach(var HMouldNameKVP in missingKeys)
+ {
+ // 鏌ヨ涓昏〃涓槸鍚﹀瓨鍦ㄨ妯″潡 瀛樺湪锛屽垯杩斿洖涓昏〃涓殑妯″潡HInterID锛屼笉瀛樺湪锛屽垯鑾峰彇鏈�澶InterID+1
+ string HMouldCode = HMouldNameKVP.Key;
+ ds = oCN.RunProcReturn($"Exec h_p_syncMissingKeyToDB @HModuleCode='{HMouldCode}'", "h_p_syncMissingKeyToDB");
+ int HInterID = (int)ds.Tables[0].Rows[0]["HInterID"];
+ int rowCount = (int)ds.Tables[0].Rows[0]["rc"];
+ int HEntryID = (int)ds.Tables[0].Rows[0]["HEntryID"];
+
+ // 鎻掑叆涓昏〃
+ if (rowCount == 0)
+ {
+ oCN.RunProc($@"insert into Xt_LanModuleMain(HInterID, HBillType, HModuleName, HModuleCode)
+ values({HInterID}, 3033, '', '{HMouldCode}')");
+ }
+
+
+ string sql = $@"insert into Xt_LanModuleSub(HInterID, HEntryID, HFieldModelType, HFieldCode, HFieldName, HTranslationText_English, HTranslationText_Spain)
+ values";
+ // 鎻掑叆瀛愯〃
+ JArray HFieldCodes = HMouldNameKVP.Value as JArray;
+ for(int i=0;i<HFieldCodes.Count; i++)
+ {
+
+ sql += $@"({HInterID}, {HEntryID+i}, 'i18n', '{HFieldCodes[i]}','{HFieldCodes[i]}','{HFieldCodes[i]}','{HFieldCodes[i]}'),";
+ }
+
+ sql = sql.Substring(0, sql.Length - 1) + ";";
+
+ oCN.RunProc(sql);
+ }
+
+
+ oCN.Commit();
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Success!";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ oCN.RollBack();
+ LogService.Write("Exception锛�" + e.ToString());
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
objJsonResult.Message = "Exception锛�" + e.Message.ToString();
objJsonResult.data = null;
return objJsonResult;
--
Gitblit v1.9.1