This commit is contained in:
2026-01-08 11:11:38 +08:00

View File

@@ -145,6 +145,8 @@ namespace DOAN.Service.BZFM
/// <returns></returns>
public int Importmaterial(IFormFile formFile)
{
// TODO 1.构建空的待导入数据集合MmMaterialExcelDto多余部分删除
int result = 0;
List<ProWorkorder> materialList = new();
DateTime dateValue = DateTime.MinValue;
@@ -153,6 +155,7 @@ namespace DOAN.Service.BZFM
.Queryable<MmMaterialExcelDto>()
.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(