From c2730f1b141733c452549ff3e99f90d22db67771 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期一, 29 十二月 2025 13:07:29 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs | 463 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 454 insertions(+), 9 deletions(-)
diff --git a/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs b/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
index 200d402..6914c54 100644
--- a/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
+++ b/WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
@@ -4,7 +4,9 @@
using System;
using System.Collections.Generic;
using System.Data;
+using System.IO;
using System.Linq;
+using System.Text;
using System.Web;
using System.Web.Http;
using WebAPI.Models;
@@ -28,14 +30,14 @@
{
try
{
-
+ List<object> columnNameList = new List<object>(); //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
ds = oCN.RunProcReturn("select * from Xt_grdAlignment_WMES where HModName='" + HModName + "' and HUserName='" + user + "'", "Xt_grdAlignment_WMES");
if (ds.Tables[0].Rows.Count == 0)
{
ds = oCN.RunProcReturn("select * from Xt_grdAlignment_WMES where HModName='" + HModName + "' and (HUserName='admin' or HUserName='Admin')", "Xt_grdAlignment_WMES");
- if (ds.Tables[0].Rows.Count == 0) {
+ if (ds.Tables[0].Rows.Count != 0) {
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Sucess锛�";
@@ -43,11 +45,18 @@
return objJsonResult;
}
}
+ foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+ {
+ Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+ string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺� // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+ }
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Sucess锛�";
- objJsonResult.data = ds.Tables[0];
+ objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+ objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
return objJsonResult;
}
catch (Exception e)
@@ -80,6 +89,8 @@
public bool IsHide;
public string Alignment;
public string ColumnWidth;
+ public string ColumnName_Other;
+ public bool IsTotalRow;
}
[Route("Xt_grdAlignment_WMES/AddgrdAlignmentWMES")]
@@ -129,7 +140,95 @@
var width = omdelsub[i].ColumnWidth;
if (string.IsNullOrEmpty(width) || DBUtility.ClsPub.isLong(width) == 0)
width = "120";
- HGridString += $"{(i + 1)}|{(omdelsub[i].IsHide == true ? 1 : 0)}|{omdelsub[i].Alignment}|{width},";
+
+ var ColumnName_Other = (omdelsub[i].ColumnName_Other == null || omdelsub[i].ColumnName_Other.Trim() == "") ? omdelsub[i].ColumnName : omdelsub[i].ColumnName_Other;
+
+ HGridString += $"{(i + 1)}|{(omdelsub[i].IsHide == true ? 1 : 0)}|{omdelsub[i].Alignment}|{width}|{ColumnName_Other}|{omdelsub[i].ColumnName}|{(omdelsub[i].IsTotalRow == true ? 1 : 0)},";
+ }
+ HGridString = HGridString.Substring(0, HGridString.Length - 1);
+
+ oCN.RunProc("Delete from Xt_grdAlignment_WMES where HUserName='" + user + "' and HModName='" + HModName + "' ");
+
+ string sql = "insert into Xt_grdAlignment_WMES (HUserName,HModName,HGridString,HFixCols" +
+ ",HFontSize,HHeadTextHeight,HTextHeight,HSortFlag,HSelTotal,HColumnWidth,HPageSize" +
+ ") values('" + user + "','" + HModName + "','" + HGridString + "'," + (omdelMian.HFixCols == "" ? "0" : omdelMian.HFixCols) +
+ "," + (omdelMian.HFontSize == "" ? "0" : omdelMian.HFontSize) + ",0" +
+ ",0,'" + omdelMian.HSortFlag + "','" + omdelMian.HSelTotal + "'" +
+ "," + (omdelMian.HColumnWidth == "" ? "0" : omdelMian.HColumnWidth) + "," + ((omdelMian.HPageSize == null || omdelMian.HPageSize == "") ? "0" : omdelMian.HPageSize) + ")";
+
+ oCN.RunProc(sql);
+
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = null;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ #endregion
+
+ #region 鏂伴殣钘忓垪璁剧疆(娣诲姞鍒楀悕淇濆瓨鎺у埗搴忓彿浣嶇疆) 娣诲姞/淇敼
+
+ [Route("Xt_grdAlignment_WMES/AddgrdAlignmentWMESNew")]
+ [HttpPost]
+ public object AddgrdAlignmentWMESNew([FromBody] JObject sMainSub)
+ {
+ var _value = sMainSub["sMainSub"].ToString();
+ string msg1 = _value.ToString();
+ oCN.BeginTran();
+ //淇濆瓨涓昏〃
+ objJsonResult = AddBillMainNew(msg1);
+ if (objJsonResult.code == "0")
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = objJsonResult.Message;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ oCN.Commit();
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ public json AddBillMainNew(string msg1)
+ {
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg2 = sArray[0].ToString();
+ string msg3 = sArray[1].ToString();
+ string HModName = sArray[2].ToString();
+ int OperationType = int.Parse(sArray[3].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+ string user = sArray[4].ToString();
+ try
+ {
+
+
+ omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject<grdAlignment>(msg2);
+ omdelsub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<grdAlignmentSub>>(msg3);
+
+ var HGridString = "";
+ for (int i = 0; i < omdelsub.Count; i++)
+ {
+ var width = omdelsub[i].ColumnWidth;
+ if (string.IsNullOrEmpty(width) || DBUtility.ClsPub.isLong(width) == 0)
+ width = "120";
+ var ColumnName_Other = (omdelsub[i].ColumnName_Other == null || omdelsub[i].ColumnName_Other.Trim() == "") ? omdelsub[i].ColumnName : omdelsub[i].ColumnName_Other;
+ HGridString += $"{(i + 1)}|{(omdelsub[i].IsHide == true ? 1 : 0)}|{omdelsub[i].Alignment}|{width}|{ColumnName_Other}|{omdelsub[i].ColumnName}|{(omdelsub[i].IsTotalRow == true ? 1 : 0)},";
+
}
HGridString = HGridString.Substring(0, HGridString.Length - 1);
@@ -212,8 +311,20 @@
{
try
{
- ds = oCN.RunProcReturn("select * from Xt_ModuleButtonSet where HModuleName='" + HModName + "' and HBillType='" + HBillType + "' and HUserName='" + HUserName + "'", "Xt_ModuleButtonSet");
+ ds = oCN.RunProcReturn("select * from Xt_ModuleButtonSet where HModuleName='" + HModName + "' and HBillType='" + HBillType + "' and HUserName='" + HUserName + "' order by HOrder", "Xt_ModuleButtonSet");
+ if (ds.Tables[0].Rows.Count == 0)
+ {
+ ds = oCN.RunProcReturn("select * from Xt_ModuleButtonSet where HModuleName='" + HModName + "' and HBillType='" + HBillType + "' and HUserName='" + "admin" + "' order by HOrder", "Xt_ModuleButtonSet");
+ if (ds.Tables[0].Rows.Count != 0)
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = ds.Tables[0].Rows.Count;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
+ }
+ }
objJsonResult.code = "1";
objJsonResult.count = ds.Tables[0].Rows.Count;
objJsonResult.Message = "Sucess锛�";
@@ -237,6 +348,7 @@
public string BtnID;
public string BtnName;
public bool IsHide;
+ public string HOtherName;
}
public class noEditList
{
@@ -247,6 +359,7 @@
public int HOrder;
public bool HHideFlag;
public bool HEditFlag;
+ public string HOtherName;
}
[Route("Xt_ModuleButtonSet_WMES/AddModuleButtonSetWMES")]
@@ -308,6 +421,7 @@
string HButtonID = HButtonIDLists[j].ToString();
string HButtonName = HButtonNameLists[j].ToString();
int HOrder = HOrderLists[j];
+ string HOtherName = button[i].HOtherName;
if (button[i].IsHide)
{
HHideFlag = 1;
@@ -317,7 +431,7 @@
HEditFlag = 0;
HHideFlag = 0;
}
- string sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "'";
+ string sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "','" + HOtherName + "'";
oCN.RunProc(sql);
}
}
@@ -335,7 +449,8 @@
string HButtonID = noEditLists[i].HButtonID;
string HButtonName = noEditLists[i].HButtonName;
int HOrder = HOrderLists[j];
- string sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "'";
+ string HOtherName = noEditLists[i].HOtherName;
+ string sql = "exec h_p_Xt_ModuleButtonSet '" + HBillType + "','" + HModuleName + "','" + HButtonID + "','" + HButtonName + "'," + HOrder + "," + HHideFlag + "," + HEditFlag + ",'" + HUserName + "','" + HOtherName + "'";
oCN.RunProc(sql);
}
}
@@ -387,8 +502,8 @@
foreach (DataRow row in ds.Tables[0].Rows)
{
TreeModel Three = new TreeModel();
- Three.id = ds.Tables[0].Rows[0]["HInterID"].ToString();
- Three.title = ds.Tables[0].Rows[0]["HName"].ToString();
+ Three.id = row["HInterID"].ToString();
+ Three.title = row["HName"].ToString();
treeModels.Add(Three);
}
}
@@ -597,5 +712,335 @@
}
}
#endregion
+
+ #region 鍩虹璧勬枡 鑾峰彇鏁版嵁
+ [Route("Gy_GetBaseData/Gy_GetBaseData")]
+ [HttpGet]
+ public object Gy_GetBaseData(string sql,string tableView, string user)
+ {
+ try
+ {
+ List<object> columnNameList = new List<object>();
+
+
+ ds = oCN.RunProcReturn(sql, tableView);
+
+ //娣诲姞鍒楀悕
+ foreach (DataColumn col in ds.Tables[0].Columns)
+ {
+ Type dataType = col.DataType;
+ string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = columnNameList;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
+ #region 鍗曟嵁缈昏瘧 鍒濆鍖� 鏌ヨ
+ [Route("Xt_grdAlignment_WMES/SelectMESLanguage")]
+ [HttpGet]
+ public object SelectMESLanguage(string sWhere)
+ {
+ try
+ {
+ //鑾峰彇鍏叡鏁版嵁鐨勬暟閲�
+ int count = 0;
+ DataSet dataSet = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1 and HModuleCode in('GYModel')", "h_v_Xt_LanModuleList");
+ if (dataSet.Tables[0].Rows.Count > 0)
+ {
+ count = dataSet.Tables[0].Rows.Count;
+ }
+
+ //鏍规嵁鍗曟嵁妯″潡鍚嶇О 鍜� 缈昏瘧绫诲瀷 鍘� 妯″潡琛ㄩ噷鏌ヨ 濡傛灉娌℃湁鏁版嵁 灏辨柊澧�,濡傛灉鏈夋暟鎹氨涓嶄繚瀛�
+
+ ds = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1 " + sWhere, "h_v_Xt_LanModuleList");
+
+ objJsonResult.code = "1";
+ objJsonResult.count = count;
+ objJsonResult.Message = "";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
+
+ #region 鍗曟嵁缈昏瘧 鍒濆鍖� 淇濆瓨
+ [Route("Xt_grdAlignment_WMES/SaveMESLanguage")]
+ [HttpPost]
+ public object SaveMESLanguage([FromBody] JObject sMainSub)
+ {
+ try
+ {
+ var _value = sMainSub["sMainSub"].ToString();
+ string msg1 = _value.ToString();
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg2 = sArray[0];
+ string HModName = sArray[1];
+ //濡傛灉娌℃湁鏁版嵁 灏辨柊澧�,濡傛灉鏈夋暟鎹氨涓嶄繚瀛�
+ //閫氳繃,杩涜鍒嗙粍
+ string[] data = msg2.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
+
+ oCN.BeginTran();
+
+ string HBillType = "3033";
+ long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
+ //瀹氫箟涓�涓┖闆嗗悎 鍘� 鍒ゆ柇鏄惁鏈夐噸澶嶇殑id
+ string[] list = new string[data.Length];
+
+ //鍒ゆ柇鏄惁璺熷叕鍏卞瓧娈甸噸澶�
+ ds = oCN.RunProcReturn(" select * from h_v_Xt_LanModuleList where HModuleCode='GYModel'", "h_v_Xt_LanModuleList");
+ string[] Datalist = new string[ds.Tables[0].Rows.Count];
+
+ if (ds.Tables[0].Rows.Count > 0)
+ {
+ for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+ {
+ Datalist[i] = ds.Tables[0].Rows[i]["HFieldCode"].ToString() + ds.Tables[0].Rows[i]["HFieldName"].ToString();
+ }
+ }
+
+ //瀹氫箟涓�涓� num 鍘诲畾涔� 褰撳墠鐨勭储寮�
+ int num = 0;
+
+ for (int i = 0; i < data.Length; i++)
+ {
+ string[] Lable = data[i].Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
+
+ if (Lable.Length == 3) {
+
+ string HFieldCode = Lable[0];
+ string HFieldName = Lable[1];
+ string HFieldModelType = Lable[2];
+
+ if (!list.Contains(HFieldCode + HFieldName) && !Datalist.Contains(HFieldCode + HFieldName))
+ {
+
+ list[num] = HFieldCode + HFieldName;
+ num += 1;
+
+ oCN.RunProc("insert into Xt_LanModuleSub(HInterID,HEntryID,HFieldModelType,HFieldCode,HFieldName)" +
+ "values(" + HInterID + "," + num + ",'" + HFieldModelType + "','" + HFieldCode + "','" + HFieldName + "')");
+ }
+ }
+ }
+
+ oCN.RunProc("insert into Xt_LanModuleMain(HInterID,HBillType,HModuleName,HModuleCode)" +
+ "values(" + HInterID + ",'" + HBillType + "','','" + HModName + "')");
+
+ oCN.Commit();
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
+ #region 鎶ラ敊淇℃伅 鏌ヨ
+ [Route("Xt_grdAlignment_WMES/SelectMessageError")]
+ [HttpGet]
+ public object SelectMessageError(string ErrorCode)
+ {
+ try
+ {
+ ds = oCN.RunProcReturn("select * from Xt_MessageError where HErrorCode='" + ErrorCode + "'", "Xt_MessageError");
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
+ #region 鍗曟嵁缈昏瘧 鏄犲皠 JSON鏂囦欢
+ internal Dictionary<string, string> LanguageDictionary = new Dictionary<string, string>
+ {
+ { "zh-Hans", "HFieldName"},
+ { "zh-Hant", "HFieldName"},
+ { "en", "HTranslationText_English"},
+ { "es", "HTranslationText_Spain"}
+ };
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="language">璇█</param>
+ /// <param name="forceUpdate">鏄惁寮哄埗鏇存柊</param>
+ /// <returns></returns>
+ [Route("Xt_grdAlignment_WMES/SelectMESLanguage_JSON")]
+ [HttpGet]
+ public object SelectMESLanguage_JSON(string language, bool forceUpdate)
+ {
+ try
+ {
+ // 鑾峰彇椤圭洰鏍圭洰褰�
+ string path = HttpContext.Current.Server.MapPath($"~/LanguagePack"); ;
+ string lang;
+ bool langSuccess = LanguageDictionary.TryGetValue(language, out lang);
+ if(langSuccess == false)
+ {
+ // 璁剧疆榛樿璇█涓轰腑鏂�
+ language = "zh-Hans";
+ lang = "HFieldName";
+ }
+ ds = oCN.RunProcReturn("select * from h_v_Xt_LanModuleList where 1=1", "h_v_Xt_LanModuleList");
+
+ // 濡傛灉鐩綍涓嶅瓨鍦ㄥ垯鍒涘缓鐩綍
+ if (!Directory.Exists(path))
+ {
+ Directory.CreateDirectory(path);
+ }
+ // 濡傛灉璇█鍖呬笉瀛樺湪鍒欏垱寤烘柊璇█鍖�
+ if(File.Exists($@"{path}\{language}.json") == false)
+ {
+ File.WriteAllText($@"{path}\{language}.json", "{}");
+ }
+
+
+ LogService.Write("璇█鍖呭湴鍧�: " + Path.Combine(path, $"{language}.json"));
+ string JsonStr1 = "";
+
+ using (StreamReader sr = new StreamReader(Path.Combine(path, $"{language}.json"), Encoding.UTF8))
+ {
+ string lines;
+ while ((lines = sr.ReadLine()) != null)//涓�琛屼竴琛屽幓璇伙紝濡傛灉璇诲彇杩欎竴琛岃祴鍊糽ines,骞朵笖lines= null璇佹槑璇诲彇瀹屼簡
+
+ {
+ JsonStr1 += lines;
+ }
+ }
+ JObject languagePack = JObject.Parse(JsonStr1);
+
+ // 鍒ゆ柇鐗堟湰鍙� 鐜板湪MSSQL瀵瑰簲琛ㄤ腑 鏃犵増鏈彿瀛楁 浣跨敤鏁版嵁鏉$洰鏁版浛浠�
+ if(languagePack["_Version"] == null)
+ {
+ languagePack["_Version"] = 0;
+ }
+ LogService.Write("璇█鍖呬腑鏁版嵁鏉℃暟: " + languagePack["_Version"].ToString() + "\n鏁版嵁搴撲腑鏁版嵁鏉℃暟: " + ds.Tables[0].Rows.Count.ToString());
+ if (languagePack["_Version"].Value<int>() != ds.Tables[0].Rows.Count || forceUpdate == true)
+ {
+ // 鏇存柊鐗堟湰鍙�(鏁版嵁鏉$洰鏁�)
+ languagePack["_Version"] = ds.Tables[0].Rows.Count;
+ // 缁熻姣忎釜瀛楃妯″潡涓� 瀛楁鐮佸嚭鐜扮殑娆℃暟 濡傛灉鍑虹幇澶氭锛屽垯鏄犲皠涓篔Array绫诲瀷
+ Dictionary<string, int> HFieldCodeDict = ds.Tables[0].AsEnumerable()
+ .GroupBy(row => new
+ {
+ HModuleCode = row.Field<string>("HModuleCode"),
+ HFieldCode = row.Field<string>("HFieldCode")
+ })
+ .Select(group => new {
+ HModuleCode = group.Key.HModuleCode,
+ HFieldCode = group.Key.HFieldCode,
+ rowNum = group.Count()
+ }).ToDictionary(
+ keySelector: p => $@"{p.HModuleCode}_{p.HFieldCode}",
+ elementSelector: p => p.rowNum
+ );
+
+ // 鐗堟湰鍙蜂笉涓�鑷� 鍒欒鍙栨暟鎹簱涓殑瀛楁锛屽皢瀛楁鍐欏叆鍒癹son瀵硅薄涓�
+ foreach (DataRow row in ds.Tables[0].Rows)
+ {
+ // 鑾峰彇鎵�鍦ㄦā鍧楀瓧绗︿覆
+ string HModuleCode = row["HModuleCode"].ToString();
+ // 娌℃湁妯″潡瀵硅薄鐨勮瘽锛屽垯鏂板缓涓�涓ā鍧楀璞�
+ if(languagePack[HModuleCode] == null)
+ {
+ languagePack[HModuleCode] = new JObject();
+ }
+
+ string HFieldCode = row["HFieldCode"].ToString();
+ int rowNum = 1;
+ HFieldCodeDict.TryGetValue($@"{row["HModuleCode"]}_{row["HFieldCode"]}", out rowNum);
+ // 鍒ゆ柇瀛楁鐮佹槧灏勪腑锛屾ā鍧楀搴旂殑瀛楁鐮� 鏄惁 鍞竴
+ if (rowNum == 1)
+ {
+ languagePack[HModuleCode][HFieldCode] = row[lang].ToString();
+ }else
+ {
+ if(languagePack[HModuleCode][HFieldCode] == null)
+ {
+ languagePack[HModuleCode][HFieldCode] = new JArray();
+ }
+
+ var targetJArray = (JArray)languagePack[HModuleCode][HFieldCode];
+ targetJArray.Add(row[lang].ToString());
+ }
+
+ }
+
+ // 鍏ㄩ噺鍐欏叆鍒癹son鏂囦欢涓�
+ File.WriteAllText($"{path}/{language}.json", languagePack.ToString(), System.Text.Encoding.UTF8);
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Success锛�";
+ objJsonResult.data = languagePack.ToString();
+ return objJsonResult;
+ } else
+ {
+ // 鐗堟湰鍙蜂竴鑷达紝 鍒欑洿鎺ヨ繑鍥炶鍙栫殑Json瀛楃涓�
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Success锛�";
+ objJsonResult.data = JsonStr1;
+ return objJsonResult;
+ }
+ }
+ catch(Exception e)
+ {
+ LogService.Write("Exception锛�" + e.ToString());
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.Message.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
}
}
\ No newline at end of file
--
Gitblit v1.9.1