| | |
| | | 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; |
| | |
| | | { |
| | | 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!"; |
| | |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | foreach (DataColumn col in ds.Tables[0].Columns)//遍历ds中第一个表(Tables[0])的所有列(Columns)每次循环中,col变量会持有当前列的引用 |
| | | { |
| | | Type dataType = col.DataType; //获取当前数据类型传入 自定义变量datadataType |
| | | string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //字符串拼接 // 将列名和数据类型信息拼接成一个JSON格式的字符串 |
| | | columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 |
| | | } |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | objJsonResult.data = ds.Tables[0];//代码将第一个DataTable(索引为0)赋值给objJsonResult的data属性 |
| | | objJsonResult.list = columnNameList;//将columnNameList赋值给objJsonResult的list属性 |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | |
| | | public bool IsHide; |
| | | public string Alignment; |
| | | public string ColumnWidth; |
| | | public string ColumnName_Other; |
| | | public bool IsTotalRow; |
| | | } |
| | | |
| | | [Route("Xt_grdAlignment_WMES/AddgrdAlignmentWMES")] |
| | |
| | | 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); |
| | | |
| | |
| | | { |
| | | 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!"; |
| | |
| | | public string BtnID; |
| | | public string BtnName; |
| | | public bool IsHide; |
| | | public string HOtherName; |
| | | } |
| | | public class noEditList |
| | | { |
| | |
| | | public int HOrder; |
| | | public bool HHideFlag; |
| | | public bool HEditFlag; |
| | | public string HOtherName; |
| | | } |
| | | |
| | | [Route("Xt_ModuleButtonSet_WMES/AddModuleButtonSetWMES")] |
| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | #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));//获取到DataColumn列对象的列名 |
| | | } |
| | | |
| | | 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)//一行一行去读,如果读取这一行赋值lines,并且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; |
| | | // 统计每个字符模块中 字段码出现的次数 如果出现多次,则映射为JArray类型 |
| | | 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 |
| | | ); |
| | | |
| | | // 版本号不一致 则读取数据库中的字段,将字段写入到json对象中 |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | | |
| | | // 全量写入到json文件中 |
| | | 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 |
| | | } |
| | | } |