稽查翻译提交
parent
1225d18e75
commit
5602f45ebd
|
@ -760,13 +760,31 @@ namespace IRaCIS.Core.Application.Service
|
|||
var tableConfigList = JsonConvert.DeserializeObject<List<TableConfig>>(item.TableConfigJsonStr) ?? new List<TableConfig>();
|
||||
|
||||
|
||||
|
||||
//处理静态翻译
|
||||
var translateInfoList = tableConfigList.Where(t => t.IsNeedTransalate).Select(t => new { t.ColumnValue, t.TranslateDictionaryName }).Distinct().ToList();
|
||||
|
||||
var dictionaryNameList = translateInfoList.Select(t => t.TranslateDictionaryName).Distinct().ToList();
|
||||
|
||||
|
||||
var searchList = await _dictionaryRepository.Where(t => dictionaryNameList.Contains(t.Parent.Code) && t.ParentId != null && t.IsEnable).ProjectTo<BasicDicSelect>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
||||
//处理动态翻译 会在数组中提供 一个属性 “DictionaryCode” 这个是默认约束,做稽查的时候记得注意,免得配置麻烦
|
||||
var dynamicTranslateInfoList = tableConfigList.Where(t => t.IsDynamicTranslate && t.IsList).Select(t => new { t.ListName, t.ColumnValue }).Distinct().ToList();
|
||||
|
||||
var dynamicDictionaryNameList = new List<string>();
|
||||
|
||||
foreach (var dynamicTranslateInfo in dynamicTranslateInfoList)
|
||||
{
|
||||
var tempNameList = arrays[0][dynamicTranslateInfo.ListName].Select(t => t["DictionaryCode"].ToString()).Where(t => !string.IsNullOrEmpty(t)).ToList();
|
||||
|
||||
dynamicDictionaryNameList.AddRange(tempNameList);
|
||||
|
||||
dynamicDictionaryNameList = dynamicDictionaryNameList.Distinct().ToList();
|
||||
}
|
||||
|
||||
|
||||
var allDictionaryNameList = dictionaryNameList.Union(dynamicDictionaryNameList).Distinct();
|
||||
|
||||
|
||||
var searchList = await _dictionaryRepository.Where(t => allDictionaryNameList.Contains(t.Parent.Code) && t.ParentId != null && t.IsEnable).ProjectTo<BasicDicSelect>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
||||
//翻译的字典数据
|
||||
var translateDataList = searchList.GroupBy(t => t.ParentCode).ToDictionary(g => g.Key, g => g.OrderBy(t => t.ShowOrder).ToList());
|
||||
|
@ -776,12 +794,43 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
var jsonObject = JObject.Parse(arraysItem.ToString());
|
||||
|
||||
//处理静态翻译
|
||||
foreach (var translateInfo in translateInfoList)
|
||||
{
|
||||
//Json 解析后 true 变为了True
|
||||
jsonObject[translateInfo.ColumnValue] = translateDataList[translateInfo.TranslateDictionaryName].Where(t => t.Code.ToLower() == jsonObject[translateInfo.ColumnValue].ToString().ToLower()).Select(t => t.ValueCN).FirstOrDefault();
|
||||
}
|
||||
|
||||
//处理动态翻译
|
||||
|
||||
foreach (var dynamicTranslateInfo in dynamicTranslateInfoList)
|
||||
{
|
||||
|
||||
var innerArrays = (JArray)jsonObject[dynamicTranslateInfo.ListName];
|
||||
|
||||
|
||||
List<JObject> innberJsonList = new List<JObject>();
|
||||
|
||||
foreach (var innerItem in innerArrays)
|
||||
{
|
||||
var innerObject = JObject.Parse(innerItem.ToString());
|
||||
|
||||
|
||||
var dicName = innerObject["DictionaryCode"]?.ToString();
|
||||
|
||||
if(dicName!=null && !string.IsNullOrEmpty(dicName))
|
||||
{
|
||||
innerObject[dynamicTranslateInfo.ColumnValue] = translateDataList[dicName].Where(t => t.Code.ToLower() == innerObject[dynamicTranslateInfo.ColumnValue].ToString().ToLower()).Select(t => t.ValueCN).FirstOrDefault();
|
||||
|
||||
}
|
||||
innberJsonList.Add(innerObject);
|
||||
|
||||
}
|
||||
|
||||
jsonObject[dynamicTranslateInfo.ListName] = JToken.FromObject(innberJsonList) ;
|
||||
|
||||
}
|
||||
|
||||
jsonList.Add(jsonObject);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue