修改导表 5
	
		
			
	
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
					Details
				
			
		
	
				
					
				
			
				
	
				continuous-integration/drone/push Build is passing
				
					Details
				
			
		
	
							parent
							
								
									e4b20908dc
								
							
						
					
					
						commit
						98ea3d1a92
					
				| 
						 | 
					@ -15,6 +15,7 @@ using Newtonsoft.Json.Linq;
 | 
				
			||||||
using NPOI.HSSF.UserModel;
 | 
					using NPOI.HSSF.UserModel;
 | 
				
			||||||
using NPOI.XSSF.UserModel;
 | 
					using NPOI.XSSF.UserModel;
 | 
				
			||||||
using SkiaSharp;
 | 
					using SkiaSharp;
 | 
				
			||||||
 | 
					using System.Collections;
 | 
				
			||||||
using System.IO;
 | 
					using System.IO;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace IRaCIS.Core.Application.Service;
 | 
					namespace IRaCIS.Core.Application.Service;
 | 
				
			||||||
| 
						 | 
					@ -51,21 +52,24 @@ public static class ExcelExportHelper
 | 
				
			||||||
            var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
 | 
					            var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var dic = (JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull())).IfNullThrowException();
 | 
					            var dic = data.ConvertToDictionary();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            foreach (var key in dic.Keys)
 | 
					            foreach (var key in dic.Keys)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                //是数组 那么找到对应的属性 进行翻译
 | 
					                //是数组 那么找到对应的属性 进行翻译
 | 
				
			||||||
                if (dic[key].GetType().IsAssignableFrom(typeof(JArray)))
 | 
					                if (dic[key].GetType().GetInterfaces().Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IList<>)))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    var newObjList = new List<object>();
 | 
					                    var newObjList = new List<object>();
 | 
				
			||||||
                    var no = 1;
 | 
					                    var no = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    foreach (var item in dic[key] as JArray)
 | 
					                    foreach (var item in dic[key] as IList )
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        var itemDic = JsonConvert.DeserializeObject<IDictionary<string, object>>(item.ToJsonNotIgnoreNull());
 | 
					                        //var itemDic = JsonConvert.DeserializeObject<IDictionary<string, object>>(item.ToJsonNotIgnoreNull());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        var itemDic = item.ConvertToDictionary();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        foreach (var needTranslateProperty in needTranslatePropertyList)
 | 
					                        foreach (var needTranslateProperty in needTranslatePropertyList)
 | 
				
			||||||
| 
						 | 
					@ -73,7 +77,7 @@ public static class ExcelExportHelper
 | 
				
			||||||
                            //翻译的属性依赖其他属性
 | 
					                            //翻译的属性依赖其他属性
 | 
				
			||||||
                            if (needTranslateProperty.IsTranslateDenpendOtherProperty)
 | 
					                            if (needTranslateProperty.IsTranslateDenpendOtherProperty)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                if (item[needTranslateProperty.DependPropertyName]?.ToString().ToLower() == needTranslateProperty.DependPropertyValueStr.ToLower())
 | 
					                                if (itemDic[needTranslateProperty.DependPropertyName]?.ToString().ToLower() == needTranslateProperty.DependPropertyValueStr.ToLower())
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    var beforeValue = itemDic[needTranslateProperty.Name]?.ToString();
 | 
					                                    var beforeValue = itemDic[needTranslateProperty.Name]?.ToString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -227,29 +231,30 @@ public static class ExcelExportHelper
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
 | 
					            var translateDataList = await _dictionaryService.GetBasicDataSelect(needTranslatePropertyList.Select(t => t.DicParentCode).Distinct().ToArray());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var dic = data.ConvertToDictionary();
 | 
				
			||||||
            var dic = (JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull())).IfNullThrowException();
 | 
					            //var dic = (JsonConvert.DeserializeObject<IDictionary<string, object>>(data.ToJsonNotIgnoreNull())).IfNullThrowException();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            foreach (var key in dic.Keys)
 | 
					            foreach (var key in dic.Keys)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                //是数组 那么找到对应的属性 进行翻译
 | 
					                //是数组 那么找到对应的属性 进行翻译
 | 
				
			||||||
                if (dic[key].GetType().IsAssignableFrom(typeof(JArray)))
 | 
					                if (dic[key].GetType().GetInterfaces().Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IList<>)))
 | 
				
			||||||
 | 
					                //if (dic[key].GetType().IsAssignableFrom(typeof(JArray)))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    var newObjList = new List<object>();
 | 
					                    var newObjList = new List<object>();
 | 
				
			||||||
                    var no = 1;
 | 
					                    var no = 1;
 | 
				
			||||||
 | 
					                    foreach (var item in dic[key] as IList)
 | 
				
			||||||
                    foreach (var item in dic[key] as JArray)
 | 
					                    //foreach (var item in dic[key] as JArray)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        var itemDic = JsonConvert.DeserializeObject<IDictionary<string, object>>(item.ToJsonNotIgnoreNull());
 | 
					                        //var itemDic = JsonConvert.DeserializeObject<IDictionary<string, object>>(item.ToJsonNotIgnoreNull());
 | 
				
			||||||
 | 
					                        var itemDic = item.ConvertToDictionary();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        foreach (var needTranslateProperty in needTranslatePropertyList)
 | 
					                        foreach (var needTranslateProperty in needTranslatePropertyList)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            //翻译的属性依赖其他属性
 | 
					                            //翻译的属性依赖其他属性
 | 
				
			||||||
                            if (needTranslateProperty.IsTranslateDenpendOtherProperty)
 | 
					                            if (needTranslateProperty.IsTranslateDenpendOtherProperty)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                if (item[needTranslateProperty.DependPropertyName]?.ToString().ToLower() == needTranslateProperty.DependPropertyValueStr.ToLower())
 | 
					                                if (itemDic[needTranslateProperty.DependPropertyName]?.ToString().ToLower() == needTranslateProperty.DependPropertyValueStr.ToLower())
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    var beforeValue = itemDic[needTranslateProperty.Name]?.ToString();
 | 
					                                    var beforeValue = itemDic[needTranslateProperty.Name]?.ToString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
using Newtonsoft.Json;
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
using System;
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Reflection;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace IRaCIS.Core.Infrastructure.Extention
 | 
					namespace IRaCIS.Core.Infrastructure.Extention
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -38,7 +40,30 @@ namespace IRaCIS.Core.Infrastructure.Extention
 | 
				
			||||||
		public static string ToJsonNotIgnoreNull(this object obj)
 | 
							public static string ToJsonNotIgnoreNull(this object obj)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			return JsonConvert.SerializeObject(obj, new JsonSerializerSettings { DateFormatString = "yyyy-MM-dd HH:mm:ss", ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Include });
 | 
								return JsonConvert.SerializeObject(obj, new JsonSerializerSettings { DateFormatString = "yyyy-MM-dd HH:mm:ss", Formatting = Formatting.Indented, ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Include });
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
					
 | 
				
			||||||
 | 
							public static  Dictionary<string, object> ConvertToDictionary(this object obj)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (obj == null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                throw new ArgumentNullException(nameof(obj));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Type type = obj.GetType();
 | 
				
			||||||
 | 
					            PropertyInfo[] properties = type.GetProperties();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Dictionary<string, object> dictionary = new Dictionary<string, object>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (PropertyInfo property in properties)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                string propertyName = property.Name;
 | 
				
			||||||
 | 
					                object propertyValue = property.GetValue(obj);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                dictionary.Add(propertyName, propertyValue);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return dictionary;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue