diff --git a/.vs/Win.Sfs.SmartSettlementSystem.PG/v16/.suo b/.vs/Win.Sfs.SmartSettlementSystem.PG/v16/.suo index 1dbc007b..e8279221 100644 Binary files a/.vs/Win.Sfs.SmartSettlementSystem.PG/v16/.suo and b/.vs/Win.Sfs.SmartSettlementSystem.PG/v16/.suo differ diff --git a/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json b/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json index c3283577..7595b167 100644 --- a/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json +++ b/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json @@ -11,7 +11,7 @@ //"SettleAccountService": "Server=127.0.0.1;Database=SettleAccountService;user id=sa;Password=1;" "Default": "Server=192.168.0.140;Database=ABP;User ID=sa;Password=Microsoft2008;", "SettleAccountService": "Server=192.168.0.140;Database=SettleAccountService;user id=sa;password=Microsoft2008;", - "WmsService": "Server=192.168.0.140;Database=CPAT_WMS_TEST;user id=sa;password=Microsoft2008;" + //"WmsService": "Server=192.168.0.140;Database=CPAT_WMS_TEST;user id=sa;password=Microsoft2008;" }, "Logging": { diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml b/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml index e0a7b248..933e8fe8 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml @@ -2763,7 +2763,7 @@ - + 1.大众发票与结算核对汇总表 diff --git a/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/UnSettle/UnSettleDetailReport.cs b/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/UnSettle/UnSettleDetailReport.cs index 1b767bff..0fdeeaff 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/UnSettle/UnSettleDetailReport.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/UnSettle/UnSettleDetailReport.cs @@ -50,6 +50,12 @@ namespace Win.Sfs.SettleAccount.Entities.UnSettle [ExporterHeader(DisplayName = "大众R3未结数量")] public decimal UnSettleQty { set; get; } + + [ExporterHeader(DisplayName = "差异金额")] + public decimal DiffAMT { set; get; } + [ExporterHeader(DisplayName = "差异数量")] + public decimal DiffQty { set; get; } + [ExporterHeader(DisplayName = "漏结标识 ")] public string Flag { set; get; } [ExporterHeader(DisplayName = "漏结期间 ")] diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs index cf07fa8b..6778d236 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs @@ -154,7 +154,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " isnull( t1.UNSettleQty, 0 ) * isnull( T2.Price, 0 ) AMT,\n" + " T2.Price,\n" + " Qty -(\n" + -" ISNULL( UnSettleQty, 0 )) DiffQty \n" + +" ISNULL( UnSettleQty, 0 )) DiffQty ,\n" + + + +" (Qty - (ISNULL(UnSettleQty, 0))) * isnull(T2.Price, 0) DiffAmt \n"+ + + "FROM\n" + " (\n" + " SELECT\n" + diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettledDetailDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettledDetailDapperRepository.cs index 8849b7b7..798725f2 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettledDetailDapperRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettledDetailDapperRepository.cs @@ -60,7 +60,8 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " SELECT\n" + " temp1.*,\n" + " temp2.Price,\n" + -" ISNULL( temp1.QTY, 0 )* ISNULL( temp2.Price, 0 ) AMT \n" + +" ISNULL( temp1.QTY, 0 )* ISNULL( temp2.Price, 0 ) AMT, \n" + +" ISNULL( temp1.DiffQty, 0 )* ISNULL( temp2.Price, 0 ) DiffAMT \n" + " FROM\n" + " (\n" + " SELECT\n" + @@ -69,7 +70,9 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report " B.EstimateTypeDesc MaterialGroup,\n" + " B.MaterialDesc MaterialDesc,\n" + " d.MaterialDesc ParentMaterialDesc,\n" + -" B.MaterialCode SapMaterialCode \n" + +" B.MaterialCode SapMaterialCode, \n" + + +" A.Qty-Isnull(F.Qty, 0) DiffQty \n" + " FROM\n" + " (\n" + " SELECT\n" + diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs index c797d0aa..81258e71 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs @@ -118,7 +118,7 @@ namespace SettleAccount.Job.Services if (!string.IsNullOrEmpty(materialGroup)) { - var _groupList= materialGroup.Split(new char[] { ',' }).ToList(); + var _groupList= materialGroup.Split(new char[] { '\n' }).Distinct().ToList(); if(_groupList.Count()>0) { _ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList(); @@ -142,7 +142,7 @@ namespace SettleAccount.Job.Services } if (!string.IsNullOrEmpty(sapCode)) { - var _groupList = sapCode.Split(new char[] { ',' }).ToList(); + var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleDoorPanelExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleDoorPanelExportService.cs index 109b5092..d79004a2 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleDoorPanelExportService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleDoorPanelExportService.cs @@ -118,7 +118,7 @@ namespace SettleAccount.Job.Services.Report if (!string.IsNullOrEmpty(materialGroup)) { - var _groupList = materialGroup.Split(new char[] { ',' }).ToList(); + var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList(); @@ -126,7 +126,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(kenncode)) { - var _groupList = kenncode.Split(new char[] { ',' }).ToList(); + var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.KENNCode)).ToList(); @@ -134,7 +134,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(chassisNumber)) { - var _groupList = chassisNumber.Split(new char[] { ',' }).ToList(); + var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.ChassisNumber)).ToList(); @@ -142,7 +142,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(sapCode)) { - var _groupList = sapCode.Split(new char[] { ',' }).ToList(); + var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnInvoiceSettledDetailDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnInvoiceSettledDetailDiffExportService.cs index 624d4db5..a5d7dc39 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnInvoiceSettledDetailDiffExportService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnInvoiceSettledDetailDiffExportService.cs @@ -98,7 +98,7 @@ namespace SettleAccount.Job.Services if (!string.IsNullOrEmpty(materialGroup)) { - var _groupList = materialGroup.Split(new char[] { ',' }).ToList(); + var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList(); @@ -106,7 +106,7 @@ namespace SettleAccount.Job.Services } if (!string.IsNullOrEmpty(kenncode)) { - var _groupList = kenncode.Split(new char[] { ',' }).ToList(); + var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.KENNCode)).ToList(); @@ -114,7 +114,7 @@ namespace SettleAccount.Job.Services } if (!string.IsNullOrEmpty(chassisNumber)) { - var _groupList = chassisNumber.Split(new char[] { ',' }).ToList(); + var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.ChassisNumber)).ToList(); @@ -122,16 +122,13 @@ namespace SettleAccount.Job.Services } if (!string.IsNullOrEmpty(sapCode)) { - var _groupList = sapCode.Split(new char[] { ',' }).ToList(); + var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList(); } } - - - var _lsSum=_ls.GroupBy(p => new { p.MaterialCode, p.SapMaterialCode, p.MaterialGroup,p.InvoicePrice }).Select(p => new UnInvoiceSettledDetailSum { MaterialCode = p.Key.MaterialCode, @@ -158,6 +155,9 @@ namespace SettleAccount.Job.Services + + + var result = _exporter.Append(_ls, "差异明细表") .SeparateBySheet() .Append(_lsSum, "数量差异汇总表") diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs index e9ebd0a6..2e4d23c2 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs @@ -1,28 +1,67 @@ -using System; +using Magicodes.ExporterAndImporter.Core; +using Magicodes.ExporterAndImporter.Excel; +using Shouldly; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TaskJob.EventArgs; using TaskJob.Interfaces; +using Volo.Abp.BlobStoring; using Volo.Abp.DependencyInjection; +using Win.Sfs.BaseData.ImportExcelCommon; +using Win.Sfs.SettleAccount.Entities.UnSettle; using Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report; namespace SettleAccount.Job.Services.Report { + public class SumSettleDiffList + { + // 物料组车型 SAP编码 零件号 结算数量 M100数量 差异总数 开票单价 差异金额 + + + + [ExporterHeader(DisplayName = "SAP编码")] + public string SapMaterialCode { set; get; } + [ExporterHeader(DisplayName = "零件号")] + public string MaterialCode { set; get; } + [ExporterHeader(DisplayName = "零件描述")] + public string MaterialDesc { set; get; } + [ExporterHeader(DisplayName = "物料组车型")] + public string MaterialGroup { set; get; } + [ExporterHeader(DisplayName = "大众未结算数量")] + public decimal Qty { set; get; } + [ExporterHeader(DisplayName = "系统未结数量")] + public decimal UnSettleQty { set; get; } + [ExporterHeader(DisplayName = "差异总数")] + public decimal DiffQty { set; get; } + [ExporterHeader(DisplayName = "差异总金额")] + public decimal DiffAmt { set; get; } + } + + + + public class UnSettleDiffExportService : ITransientDependency, IExportJob { private readonly UnSettleDiffDapperRepository _dapper; private readonly OutputService _outputService; private readonly ErpPartDapperRepository _erpdapperRepository; + private readonly UnSettledDetailDapperRepository _dapper1; + private readonly IBlobContainer _fileContainer; public UnSettleDiffExportService(UnSettleDiffDapperRepository dapper, OutputService outputService, - ErpPartDapperRepository erpdapperRepository + UnSettledDetailDapperRepository dapper1, + ErpPartDapperRepository erpdapperRepository, + IBlobContainer fileContainer ) { _erpdapperRepository = erpdapperRepository; _dapper = dapper; _outputService = outputService; + _dapper1 = dapper1; + _fileContainer = fileContainer; } public string ExportFile(Guid id, List exportName, List p_list) @@ -44,12 +83,25 @@ namespace SettleAccount.Job.Services.Report var _list = _ls.Where(p => p.ParentSapMaterialCode != p.SapMaterialCode && !string.IsNullOrEmpty(p.ParentSapMaterialCode)).GroupBy(p => new { p.ParentSapMaterialCode, p.ChassisNumber, p.KENNCode }) .Select(p => p.FirstOrDefault()).ToList(); + var rangeList = _erpdapperRepository.GetSapList(_list, version, false); + + + rangeList.ForEach(p => + { + + p.Qty = 1; + p.DiffAmt = p.Qty * p.Price; + p.DiffQty = -1; + } + ); + + _ls.AddRange(rangeList); if (!string.IsNullOrEmpty(materialGroup)) { - var _groupList = materialGroup.Split(new char[] { ',' }).ToList(); + var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList(); @@ -57,7 +109,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(kenncode)) { - var _groupList = kenncode.Split(new char[] { ',' }).ToList(); + var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.KENNCode)).ToList(); @@ -65,7 +117,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(chassisNumber)) { - var _groupList = chassisNumber.Split(new char[] { ',' }).ToList(); + var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.ChassisNumber)).ToList(); @@ -73,7 +125,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(sapCode)) { - var _groupList = sapCode.Split(new char[] { ',' }).ToList(); + var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList(); @@ -84,8 +136,129 @@ namespace SettleAccount.Job.Services.Report List _lsExport = new List(); _ls = _ls.OrderBy(p => p.ChassisNumber).ThenBy(p => p.SapMaterialCode).ToList(); - _outputService.Export(id, _first, _ls); + + + + + var _lsSum= _ls.GroupBy(p => new { p.SapMaterialCode, p.MaterialCode, p.MaterialDesc, p.MaterialGroup }) + .Select(p => + new SumSettleDiffList + { + SapMaterialCode = p.Key.SapMaterialCode, + MaterialCode = p.Key.MaterialCode, + MaterialDesc = p.Key.MaterialDesc, + MaterialGroup = p.Key.MaterialGroup, + Qty = p.Sum(p => p.Qty), + UnSettleQty = p.Sum(p => p.UNSettleQty), + DiffQty = p.Sum(p => p.DiffQty), + DiffAmt=p.Sum(p=>p.DiffAmt) + }) ; + + var _ls1= ExportList(p_list); + + var _lsSum1= _ls1.GroupBy(p => new { p.SapMaterialCode, p.MaterialCode, p.MaterialDesc, p.MaterialGroup }) + .Select(p => + new SumSettleDiffList + { + SapMaterialCode = p.Key.SapMaterialCode, + MaterialCode = p.Key.MaterialCode, + MaterialDesc = p.Key.MaterialDesc, + MaterialGroup = p.Key.MaterialGroup, + Qty = p.Sum(p => p.Qty), + UnSettleQty = p.Sum(p => p.UnSettleQty), + DiffQty = p.Sum(p => p.DiffQty), + DiffAmt = p.Sum(p => p.DiffAMT) + }); + + ExcelExporter _exporter = new ExcelExporter();//导出Excel + var result = _exporter.Append(_ls, "R3大众未结对比系统未结") + .SeparateBySheet() + .Append(_ls1.ToList(),"系统未结对比R3大众未结") + .SeparateBySheet() + .Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总") + .SeparateBySheet() + .Append(_lsSum1.ToList(),"结算系统对比大众R3未结差异汇总") + .ExportAppendDataAsByteArray(); + result.ShouldNotBeNull(); + _fileContainer.SaveAsync(string.Format("大众准时化未结差异比对表_{0}.xlsx", Guid.NewGuid().ToString()), result.Result, true); + + + + + + return id.ToString(); } + + public List ExportList( List p_list) + { + + + + var version = p_list.Where(p => p.Name == "Version").FirstOrDefault().Value; + var materialCode = p_list.Where(p => p.Name == "MaterialCode").FirstOrDefault().Value; + var begin = p_list.Where(p => p.Name == "BeginTime").FirstOrDefault().Value; + var end = p_list.Where(p => p.Name == "EndTime").FirstOrDefault().Value; + var kenncode = p_list.Where(p => p.Name == "KennCode").FirstOrDefault().Value; + var chassisNumber = p_list.Where(p => p.Name == "ChassisNumber").FirstOrDefault().Value; + var materialGroup = p_list.Where(p => p.Name == "MaterialGroup").FirstOrDefault().Value; + var sapCode = p_list.Where(p => p.Name == "SapCode").FirstOrDefault().Value; + + + //var cp7begin = p_list.Where(p => p.Name == "CP7Begin").FirstOrDefault().Value; + //var cp7end = p_list.Where(p => p.Name == "CP7End").FirstOrDefault().Value; + + + var _list = _dapper1.GetDiffReport(DateTime.Now.Year.ToString(), begin, end, string.Empty, version, materialCode, materialGroup, sapCode); + var _ls = _list.Where(p => p.Flag != "L").Where(p => p.ParentSapMaterialCode != p.SapMaterialCode).GroupBy(p => new { p.KENNCode, p.ChassisNumber, p.ParentSapMaterialCode }).Select(p => p.FirstOrDefault()).ToList(); + var _lst = _erpdapperRepository.GetSapList(_ls, version, false); + _lst.ForEach(p => + { + p.Qty = 1; + p.DiffAMT = p.Qty * p.Price; + p.DiffQty = 1; + } + ); + _list.AddRange(_lst); + if (!string.IsNullOrEmpty(materialGroup)) + { + var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList(); + if (_groupList.Count() > 0) + { + _list = _list.Where(p => _groupList.Contains(p.MaterialGroup)).ToList(); + } + } + if (!string.IsNullOrEmpty(kenncode)) + { + var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList(); + if (_groupList.Count() > 0) + { + _list = _list.Where(p => _groupList.Contains(p.KENNCode)).ToList(); + } + } + if (!string.IsNullOrEmpty(chassisNumber)) + { + var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList(); + if (_groupList.Count() > 0) + { + _list = _list.Where(p => _groupList.Contains(p.ChassisNumber)).ToList(); + } + } + if (!string.IsNullOrEmpty(sapCode)) + { + var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); + if (_groupList.Count() > 0) + { + _list = _list.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList(); + } + } + _list = _list.OrderBy(p => p.ChassisNumber).ThenBy(p => p.SapMaterialCode).ThenBy(p => p.Flag).ToList(); + return _list; + + + } + + + } } diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs index 5a9b63d5..9729019e 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs @@ -56,13 +56,16 @@ namespace SettleAccount.Job.Services.Report var _lst= _erpDapper.GetSapList(_ls, version, false); _lst.ForEach(p => { + p.Qty = 1; + p.DiffAMT = p.Qty * p.Price; + p.DiffQty = 1; } ); _list.AddRange(_lst); if (!string.IsNullOrEmpty(materialGroup)) { - var _groupList = materialGroup.Split(new char[] { ',' }).ToList(); + var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _list = _list.Where(p => _groupList.Contains(p.MaterialGroup)).ToList(); @@ -70,7 +73,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(kenncode)) { - var _groupList = kenncode.Split(new char[] { ',' }).ToList(); + var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _list = _list.Where(p => _groupList.Contains(p.KENNCode)).ToList(); @@ -78,7 +81,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(chassisNumber)) { - var _groupList = chassisNumber.Split(new char[] { ',' }).ToList(); + var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _list = _list.Where(p => _groupList.Contains(p.ChassisNumber)).ToList(); @@ -86,7 +89,7 @@ namespace SettleAccount.Job.Services.Report } if (!string.IsNullOrEmpty(sapCode)) { - var _groupList = sapCode.Split(new char[] { ',' }).ToList(); + var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); if (_groupList.Count() > 0) { _list = _list.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();