| | |
| | | using (StreamReader sr = new StreamReader(Path.Combine(path, $"{language}.json"), Encoding.UTF8)) |
| | | { |
| | | string lines; |
| | | while ((lines = sr.ReadLine()) != null)//一行一行去读,如果读取这一行赋值lines,并且lines= null证明读取完了 |
| | | while ((lines = sr.ReadLine()) != null) |
| | | |
| | | { |
| | | JsonStr1 += lines; |
| | |
| | | keySelector: p => $@"{p.HModuleCode}_{p.HFieldCode}", |
| | | elementSelector: p => p.rowNum |
| | | ); |
| | | |
| | | int subIndex = 0; |
| | | // 版本号不一致 则读取数据库中的字段,将字段写入到json对象中 |
| | | foreach (DataRow row in ds.Tables[0].Rows) |
| | | { |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Success!"; |
| | | objJsonResult.data = languagePack.ToString(); |
| | | objJsonResult.data = languagePack; |
| | | return objJsonResult; |
| | | } else |
| | | { |
| | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Success!"; |
| | | objJsonResult.data = JsonStr1; |
| | | objJsonResult.data = JObject.Parse(JsonStr1); |
| | | return objJsonResult; |
| | | } |
| | | } |
| | |
| | | LogService.Write("Exception!" + e.ToString()); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #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,不存在,则获取最大HInterID+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; |