using Furion.DistributedIDGenerator; using MiniExcelLibs; using Nirvana.Common; using SqlSugar; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using YBDevice.Entity; namespace YBDevice.CreateDB { /// /// 导入中医体质信息 /// public class ImportZYTZ { /// /// 导入QA信息 /// public async Task InsertQAAsync(SqlSugarClient Db) { if (!Db.DbMaintenance.IsAnyTable("YB_ChildBodyQA") || await Db.Queryable().CountAsync() > 0) { return; } //获取项目主目录 var path = Path.GetFullPath("../../.."); string filepath = Path.Combine(path, "儿童体质评估表.xlsx"); var query = await MiniExcel.QueryAsync(filepath); var insertlist = new List(); for (var i = 0; i < query.Count(); i++) { var item = query.ElementAt(i) as IDictionary; //脾虚质 if (i < 8) { if (i > 1) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.PXZ)); } } else if (i < 18) { if (i > 11) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.JZZ)); } } else if (i < 28) { if (i > 21) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.RZZ)); } } else if (i < 38) { if (i > 31) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.XHPWZ)); } } else if (i < 48) { if (i > 41) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.SZZ)); } } else if (i < 58) { if (i > 51) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.TBZ)); } } else if (i < 69) { if (i > 61) { insertlist.Add(InsertQA(item, ChildBodyTypeEnum.SJWSZ)); } } } if (insertlist.Count > 0) { await Db.Insertable(insertlist).ExecuteCommandAsync(); } } /// /// 增加中医体质结果 /// /// /// public async Task InsertBodyAsync(SqlSugarClient Db) { if (!Db.DbMaintenance.IsAnyTable("YB_ChildBodyDetail") || await Db.Queryable().CountAsync() > 0) { return; } //获取项目主目录 var path = Path.GetFullPath("../../.."); string filepath = Path.Combine(path, "儿童常见中医体质辨识与保健方案.xlsx"); var query = await MiniExcel.QueryAsync(filepath); var insertlist = new List(); for (var i = 0; i < query.Count(); i++) { var item = query.ElementAt(i) as IDictionary; if (item == null) { continue; } if (i == 2) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.SJWSZ)); } else if (i == 3) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.PXZ)); } else if (i == 4) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.JZZ)); } else if (i == 5) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.RZZ)); } else if (i == 6) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.XHPWZ)); } else if (i == 7) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.SZZ)); } else if (i == 8) { insertlist.Add(InsertQADetail(item, ChildBodyTypeEnum.TBZ)); } } if (insertlist.Count > 0) { await Db.Insertable(insertlist).ExecuteCommandAsync(); } } /// /// 解析qa /// /// /// private YB_ChildBodyQA InsertQA(IDictionary item, ChildBodyTypeEnum type) { item.TryGetValue("A", out object content); item.TryGetValue("B", out object NoneValue); item.TryGetValue("C", out object LittleValue); item.TryGetValue("D", out object SomeValue); item.TryGetValue("E", out object OftenValue); item.TryGetValue("F", out object AlWaysValue); return new YB_ChildBodyQA { Id = IDGen.NextID(), Content = content.ToString(), NoneValue = NoneValue.ToInt(), LittleValue = LittleValue.ToInt(), SomeValue = SomeValue.ToInt(), OftenValue = OftenValue.ToInt(), AlWaysValue = AlWaysValue.ToInt(), CreateTime = DateTime.Now, Type = type }; } /// /// 解析结果 /// /// /// /// private YB_ChildBodyDetail InsertQADetail(IDictionary item, ChildBodyTypeEnum type) { item.TryGetValue("B", out object Define); item.TryGetValue("C", out object Proper); item.TryGetValue("D", out object Show); item.TryGetValue("E", out object Food); item.TryGetValue("F", out object Growth); item.TryGetValue("G", out object OutsideEnv); item.TryGetValue("H", out object Conver); item.TryGetValue("J", out object Advice); item.TryGetValue("I", out object Causes); item.TryGetValue("K", out object ZYAdvice); item.TryGetValue("L", out object CareAdivce); return new YB_ChildBodyDetail { Id = IDGen.NextID(), Define = Define.ToString(), Proper = Proper.ToString(), Show = Show.ToString(), Food = Food.ToString(), Growth = Growth.ToString(), OutsideEnv = OutsideEnv.ToString(), Conver = Conver.ToString(), Causes = Causes.ToString(), Advice = Advice.ToString(), ZYAdvice = ZYAdvice.ToString(), CareAdivce = CareAdivce.ToString(), CreateTime = DateTime.Now, Type = type }; } } }