From a6ca3d6c20f22d83143623ec7429559ada25d021 Mon Sep 17 00:00:00 2001 From: git_rabbit Date: Wed, 7 Jan 2026 15:39:28 +0800 Subject: [PATCH] 1539 --- .../MES/Material/MmMaterialService.cs | 103 ++++++++++++------ 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/DOAN.Service/MES/Material/MmMaterialService.cs b/DOAN.Service/MES/Material/MmMaterialService.cs index fce4565..d46e27b 100644 --- a/DOAN.Service/MES/Material/MmMaterialService.cs +++ b/DOAN.Service/MES/Material/MmMaterialService.cs @@ -34,7 +34,6 @@ namespace DOAN.Service.BZFM return response; } - /// /// 获取详情 /// @@ -42,9 +41,7 @@ namespace DOAN.Service.BZFM /// public MmMaterial GetInfo(int Id) { - var response = Queryable() - .Where(x => x.Id == Id) - .First(); + var response = Queryable().Where(x => x.Id == Id).First(); return response; } @@ -76,11 +73,24 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmMaterialQueryDto parm) { - var predicate = Expressionable.Create() - .AndIF(!string.IsNullOrEmpty(parm.CategoryCode), m => m.CategoryCode.Contains(parm.CategoryCode)) - .AndIF(!string.IsNullOrEmpty(parm.MaterialName), m => m.MaterialName.Contains(parm.MaterialName)) - .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), m => m.MaterialCode.Contains(parm.MaterialCode)) - .AndIF(!string.IsNullOrEmpty(parm.Specification), m => m.Specification.Contains(parm.Specification)) + var predicate = Expressionable + .Create() + .AndIF( + !string.IsNullOrEmpty(parm.CategoryCode), + m => m.CategoryCode.Contains(parm.CategoryCode) + ) + .AndIF( + !string.IsNullOrEmpty(parm.MaterialName), + m => m.MaterialName.Contains(parm.MaterialName) + ) + .AndIF( + !string.IsNullOrEmpty(parm.MaterialCode), + m => m.MaterialCode.Contains(parm.MaterialCode) + ) + .AndIF( + !string.IsNullOrEmpty(parm.Specification), + m => m.Specification.Contains(parm.Specification) + ) .AndIF(!string.IsNullOrEmpty(parm.Type), m => m.Type.Contains(parm.Type)) .AndIF(!string.IsNullOrEmpty(parm.Status), m => m.Status == parm.Status); return predicate; @@ -92,19 +102,28 @@ namespace DOAN.Service.BZFM /// /// /// - public List GetMmMaterialCategoryOptions(MmMaterialCategoryDto parm) + public List GetMmMaterialCategoryOptions( + MmMaterialCategoryDto parm + ) { try { - return Context.Queryable() - .WhereIF(!string.IsNullOrEmpty(parm.CategoryCode),it => it.CategoryCode.Contains(parm.CategoryCode)) - .WhereIF(!string.IsNullOrEmpty(parm.CategoryName), it => it.CategoryName.Contains(parm.CategoryName)) + return Context + .Queryable() + .WhereIF( + !string.IsNullOrEmpty(parm.CategoryCode), + it => it.CategoryCode.Contains(parm.CategoryCode) + ) + .WhereIF( + !string.IsNullOrEmpty(parm.CategoryName), + it => it.CategoryName.Contains(parm.CategoryName) + ) .Select(it => new MmMaterialCategoryOptionsDto { Label = it.CategoryName, - Value = it.CategoryCode - } - ).ToList(); + Value = it.CategoryCode, + }) + .ToList(); } catch (Exception) { @@ -142,11 +161,12 @@ namespace DOAN.Service.BZFM } x.Description = x.Description.IsEmpty() ? "数据导入" : x.Description; }); - var x = Context.Storageable(material) + var x = Context + .Storageable(material) .SplitInsert(it => !it.Any()) - .WhereColumns(it => new { it.Id, it.MaterialCode })//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .WhereColumns(it => new { it.Id, it.MaterialCode }) //如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) .ToStorage(); - var result = x.AsInsertable.ExecuteCommand();//插入可插入部分; + var result = x.AsInsertable.ExecuteCommand(); //插入可插入部分; var importResult = new ImportResultDto { @@ -156,29 +176,44 @@ namespace DOAN.Service.BZFM ErrorCount = x.ErrorList.Count, IgnoredCount = x.IgnoreList.Count, Deleted = x.DeleteList.Count, - Total = x.TotalList.Count + Total = x.TotalList.Count, }; - //输出统计 + //输出统计 Console.WriteLine(importResult); // 收集错误与忽略信息 foreach (var item in x.ErrorList) { - importResult.Errors.Add(new ImportErrorDto { MaterialCode = item.Item.MaterialCode, Message = item.StorageMessage }); + importResult.Errors.Add( + new ImportErrorDto + { + MaterialCode = item.Item.MaterialCode, + Message = item.StorageMessage, + } + ); } foreach (var item in x.IgnoreList) { - importResult.Ignored.Add(new ImportErrorDto { MaterialCode = item.Item.MaterialCode, Message = item.StorageMessage }); + importResult.Ignored.Add( + new ImportErrorDto + { + MaterialCode = item.Item.MaterialCode, + Message = item.StorageMessage, + } + ); } return importResult; } /// - /// 导出物料表列表 - /// - /// - public PagedInfo SelectMaterialList(MmMaterialQueryDto material, PagerInfo pager) + /// 导出物料表列表 + /// + /// + public PagedInfo SelectMaterialList( + MmMaterialQueryDto material, + PagerInfo pager + ) { // Use the same predicate builder as GetList to support consistent filtering var predicate = QueryExp(material); @@ -186,17 +221,13 @@ namespace DOAN.Service.BZFM var query = Queryable() .Where(predicate.ToExpression()) .Select(it => new MmMaterialExcelDto - .Select(it => new MmMaterialCategoryOptionsDto { - Label = it.CategoryName, - Value = it.CategoryCode - } - ).ToList() -; - - + Id = it.Id, + Type = it.Type, + MaterialCode = it.MaterialCode, + }); return query.ToPage(pager); } } -} \ No newline at end of file +}