From af572f047bd09d8255a264e9b19b76198c758986 Mon Sep 17 00:00:00 2001 From: git_rabbit Date: Thu, 8 Jan 2026 11:11:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=AF=BC=E5=85=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BDTODO=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DOAN.Service/MES/Material/MmMaterialService.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/DOAN.Service/MES/Material/MmMaterialService.cs b/DOAN.Service/MES/Material/MmMaterialService.cs index 21dbe89..5c59440 100644 --- a/DOAN.Service/MES/Material/MmMaterialService.cs +++ b/DOAN.Service/MES/Material/MmMaterialService.cs @@ -145,6 +145,8 @@ namespace DOAN.Service.BZFM /// public int Importmaterial(IFormFile formFile) { + + // TODO 1.构建空的待导入数据集合MmMaterialExcelDto,多余部分删除 int result = 0; List materialList = new(); DateTime dateValue = DateTime.MinValue; @@ -153,6 +155,7 @@ namespace DOAN.Service.BZFM .Queryable() .Where(it => it.Type == "type") .ToList(); + // TODO 2.使用NPOI读取Excel内容,填充到MmMaterialExcelDto集合中,注意列的对应关系,id不要忘,且跳过标题行,目前需要从第2行开始读取注意修改row using (var stream = formFile.OpenReadStream()) { try @@ -297,6 +300,8 @@ namespace DOAN.Service.BZFM } + // TODO 3.调用SplitInsert方法实现导入操作,注意主键列的配置(建议优化为,ID相同则修改,不同则新增) + var x = Context .Storageable(material) .SplitInsert(it => !it.Any()) @@ -316,8 +321,7 @@ namespace DOAN.Service.BZFM }; //输出统计 Console.WriteLine(importResult); - - // 收集错误与忽略信息 + // 4.收集错误与忽略信息,返回导入结果ImportResultDto 提示,需要修改IServer相关返回格式 foreach (var item in x.ErrorList) { importResult.Errors.Add(