From 89a166603afb7ee4974a1032939ee0474e0a33e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 11 Sep 2023 13:48:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bases/BA_SERVICE.cs | 25 ++- .../Bases/CAN_SA_SERVICE.cs | 38 ++-- .../Entities/BQ/BBAC_BA_SERVICE.cs | 16 +- .../Entities/BQ/BBAC_CAN_SA_SERVICE.cs | 11 +- .../Entities/BQ/HBPO_CAN_SA_SERVICE.cs | 6 +- .../Entities/BQ/PUB_CAN_SA_SERVICE.cs | 6 +- .../BaseDomainServices/BaseDomainService.cs | 39 +++- .../Entities/BQ/Managers/INV_MNG.cs | 3 - .../Entities/BQ/Managers/INV_MNG_EXT.cs | 188 ++++++------------ 9 files changed, 154 insertions(+), 178 deletions(-) diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs index c85fa2f2..3d5f2251 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs @@ -525,19 +525,7 @@ namespace Win.Sfs.SettleAccount.Bases - - - - - - - - - - - - - + /// /// 校验规则 @@ -547,6 +535,10 @@ namespace Win.Sfs.SettleAccount.Bases /// protected async Task> CheckInvoiceGenerationRules(List dto1s, List p_pricelist, EnumBusinessType p_businessType) where T : SA_CAN_BASE { + var first= dto1s.FirstOrDefault(); + var usepriceList = p_pricelist.Where(p => p.ClientCode == first.Site && p.IsCancel == false).ToList(); + var errorlist= _baseservice.CheckPriceListContinuity(usepriceList); + var inner = from d in dto1s join p in p_pricelist on d.LU equals p.LU where @@ -593,6 +585,13 @@ namespace Win.Sfs.SettleAccount.Bases keyname = "交付识别号"; break; } + foreach (var error in errorlist) + { + errorList.Add(new ERR_EXP_DTO() { ItemCode = error.LU, CustomCode = $"{name}", Message = $"LU:{error.LU},价格表开始日期:{error.BeginTime}价格表结束日期:{error.EndTime}在用价格时间段有交集或价格时间不连续!" }); + } + + + foreach (var error in left) { errorList.Add(new ERR_EXP_DTO() { ItemCode = error.LU, CustomCode = $"{name}", Message = $"LU:{error.LU}{keyname}:{error.PN},下线日期:{error.SettleDate}没有对应区间销售价格表!" }); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/CAN_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/CAN_SA_SERVICE.cs index 013bec78..6467f925 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/CAN_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/CAN_SA_SERVICE.cs @@ -26,6 +26,7 @@ using Volo.Abp.TenantManagement.EntityFrameworkCore; using Volo.Abp.Uow; using Win.Abp.Snowflakes; using Win.Sfs.BaseData.ImportExcelCommon; +using Win.Sfs.SettleAccount.Bases.DomainServices; using Win.Sfs.SettleAccount.CommonManagers; using Win.Sfs.SettleAccount.Constant; using Win.Sfs.SettleAccount.Entities.BQ; @@ -54,15 +55,15 @@ namespace Win.Sfs.SettleAccount.Bases protected readonly INormalEfCoreRepository _detailRepository; private readonly IExcelImportAppService _excelImportService; protected readonly INV_MNG _invmng; - + private readonly BaseDomainService _baseservice; protected CAN_SA_SERVICE( IExcelImportAppService excelImportService, ISnowflakeIdGenerator snowflakeIdGenerator, ICommonManager commonManager, INormalEfCoreRepository repository, INormalEfCoreRepository detailRepository, - INV_MNG invmng - + INV_MNG invmng, + BaseDomainService baseservice ) : base(excelImportService, snowflakeIdGenerator, commonManager) { @@ -70,6 +71,7 @@ namespace Win.Sfs.SettleAccount.Bases _excelImportService = excelImportService; _repository = repository; _detailRepository = detailRepository; + _baseservice = baseservice; } /// @@ -259,8 +261,12 @@ namespace Win.Sfs.SettleAccount.Bases protected async Task> CheckInvoiceGenerationRules(List dto1s,string p_site, List p_pricelist,EnumBusinessType p_businessType) where T : SA_CAN_BASE { - //var maxDate = p_pricelist.Max(p => p.Date); - + //var maxDate = p_pricelist.Max(p => p.Date); + + var first = dto1s.FirstOrDefault(); + var usepriceList = p_pricelist.Where(p => p.ClientCode == first.Site && p.IsCancel == false).ToList(); + var errorlist = _baseservice.CheckPriceListContinuity(usepriceList); + var prices = p_pricelist.Where(p =>p.ClientCode==p_site && p.IsCancel == false).ToList(); var inner = from d in dto1s @@ -277,24 +283,6 @@ namespace Win.Sfs.SettleAccount.Bases select d; - - - //var maxDate = p_pricelist.Max(p => p.Date); - - //var left = from a in dto1s - // join b in (from p in p_pricelist - // where p.Date == maxDate - // select p) on a.LU equals b.LU into joinedResult - // from jr in joinedResult.DefaultIfEmpty() - // where a.SettleDate >= jr.BeginTime && a.SettleDate <= jr.EndTime && jr.LU == null - // select a; - - - - - - - List errorList = new List (); string name = string.Empty; string keyname = string.Empty; @@ -329,6 +317,10 @@ namespace Win.Sfs.SettleAccount.Bases keyname = "交付识别号"; break; } + foreach (var error in errorlist) + { + errorList.Add(new ERR_EXP_DTO() { ItemCode = error.LU, CustomCode = $"{name}", Message = $"LU:{error.LU},价格表开始日期:{error.BeginTime}价格表结束日期:{error.EndTime}在用价格时间段有交集或价格时间不连续!" }); + } foreach (var error in left) { errorList.Add(new ERR_EXP_DTO() { ItemCode = error.LU, CustomCode = $"{name}", Message = $"LU:{error.LU}{keyname}:{error.PN},下线日期:{error.SettleDate}没有对应区间销售价格表!" }); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs index 86bb6fcc..0fb6605e 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs @@ -4,6 +4,7 @@ using DocumentFormat.OpenXml.Spreadsheet; using EFCore.BulkExtensions; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.EntityFrameworkCore; using NPOI.HPSF; using SettleAccount.Domain.BQ; @@ -451,6 +452,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ }; var dtos = q.ToList(); + + + + + var testls = dtos.Where(p => string.IsNullOrEmpty(p.LU)).ToList(); + if (dtos != null && dtos.Count > 0) { if (invbillnum.Substring(0, 3) == "INV")//一次开票重开 @@ -465,15 +472,17 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var entities = await ReissueSecInvoiceExtend(bbaclist, adjlist, dtos, version, invbillnum); var ls = ObjectMapper.Map, List>(entities); invBilllist.AddRange(ls); - } - } else { throw new UserFriendlyException($"不存发票号为:{invbillnum}发票"); } } + + var als= invBilllist.Where(p => string.IsNullOrEmpty(p.PartCode)).ToList(); + + var invlist=invBilllist.OrderBy(p => p.PartCode).ToList(); return new JsonResult(new { Code = 200, Data= invlist }); @@ -585,7 +594,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ { var entities = await ReissueFirstInvoiceExtend(bbaclist, adjlist, dtos, version, invbillnum); var ls = ObjectMapper.Map, List>(entities); - if (ls.Count > 0) { var invlist = ls.Select(p => p.InvbillNum).Distinct(); @@ -619,7 +627,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var invBill = new INVOICE_REPEAT_DTO(); var invls = ls.Where(p => p.InvbillNum == itm).ToList(); var entitylist = entities.Where(p => p.InvbillNum == itm).ToList(); - var tax = inv.Tax;//税率 + var tax = inv.Tax==0?0.13m:inv.Tax;//税率 var amt = entitylist.Sum(p => p.Amt);//税前 var taxamt = amt + Math.Round(amt * tax, 2);//税后 var realamt = Math.Round(amt * tax, 2);//税额 diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_CAN_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_CAN_SA_SERVICE.cs index 51038c01..b731a175 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_CAN_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_CAN_SA_SERVICE.cs @@ -31,6 +31,7 @@ using Win.Sfs.SettleAccount.CommonManagers; using Volo.Abp; using Win.Sfs.SettleAccount.Entities.BQ.Temp; using Volo.Abp.Uow; +using Win.Sfs.SettleAccount.Bases.DomainServices; namespace Win.Sfs.SettleAccount.Entities.BQ { @@ -65,10 +66,10 @@ namespace Win.Sfs.SettleAccount.Entities.BQ INV_MNG invmng, INormalEfCoreRepository notRepository, INormalEfCoreRepository priceRepository, - BBAC_CAN_SA_MNG bbacMng - + BBAC_CAN_SA_MNG bbacMng, + BaseDomainService baseservice ) - : base(excelImportService, snowflakeIdGenerator, commonManager, repository, detailRepository, invmng) + : base(excelImportService, snowflakeIdGenerator, commonManager, repository, detailRepository, invmng,baseservice) { _notRepository = notRepository; _bbacMng = bbacMng; @@ -86,6 +87,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ [UnitOfWork(false)] public async Task GenerateInvoice([FromBody] string invbillNum) { + var main =await _bbacMng.GetMainAsync(invbillNum); if (main != null) { @@ -95,8 +97,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ } var entitys = await _bbacMng.GetDetalListAsync(invbillNum);//可结算 var priceList = _priceRepository.Where(p => p.IsCancel == false).ToList(); - - ;//价格单 + //价格单 var errorList = await CheckInvoiceGenerationRules(entitys,main.Site,priceList, main.BusinessType);//校验生成规则 if (errorList.Count() > 0) { diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_CAN_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_CAN_SA_SERVICE.cs index 9392f435..aecbd853 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_CAN_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_CAN_SA_SERVICE.cs @@ -19,6 +19,7 @@ using Volo.Abp.Uow; using Win.Abp.Snowflakes; using Win.Sfs.BaseData.ImportExcelCommon; using Win.Sfs.SettleAccount.Bases; +using Win.Sfs.SettleAccount.Bases.DomainServices; using Win.Sfs.SettleAccount.CommonManagers; using Win.Sfs.SettleAccount.Constant; using Win.Sfs.SettleAccount.Entities.BQ.Dtos; @@ -61,8 +62,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ INV_MNG invmng, INormalEfCoreRepository notRepository, INormalEfCoreRepository priceRepository, - HBPO_CAN_SA_MNG hbpoMng - ) : base(excelImportService, snowflakeIdGenerator, commonManager, repository, detailRepository, invmng) + HBPO_CAN_SA_MNG hbpoMng, + BaseDomainService baseservice + ) : base(excelImportService, snowflakeIdGenerator, commonManager, repository, detailRepository, invmng,baseservice) { _priceRepository = priceRepository; diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_CAN_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_CAN_SA_SERVICE.cs index 6941780c..64f2a82a 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_CAN_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_CAN_SA_SERVICE.cs @@ -15,6 +15,7 @@ using Volo.Abp.Uow; using Win.Abp.Snowflakes; using Win.Sfs.BaseData.ImportExcelCommon; using Win.Sfs.SettleAccount.Bases; +using Win.Sfs.SettleAccount.Bases.DomainServices; using Win.Sfs.SettleAccount.CommonManagers; using Win.Sfs.SettleAccount.Constant; using Win.Sfs.SettleAccount.Entities.BQ.Dtos; @@ -59,9 +60,10 @@ namespace Win.Sfs.SettleAccount.Entities.BQ INV_MNG invmng, INormalEfCoreRepository priceRepository, INormalEfCoreRepository pricebjRepository, - PUB_CAN_SA_MNG pubMng + PUB_CAN_SA_MNG pubMng, + BaseDomainService baseservice - ) : base(excelImportService, snowflakeIdGenerator, commonManager, repository, detailRepository, invmng) + ) : base(excelImportService, snowflakeIdGenerator, commonManager, repository, detailRepository, invmng,baseservice) { _pubMng = pubMng; _priceRepository = priceRepository; diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs index 3a38ddd7..60a0965e 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs @@ -201,13 +201,43 @@ namespace Win.Sfs.SettleAccount.Bases.DomainServices return errorList; } + + /// + /// 价格表时间是否连续 + /// + /// + /// + public List CheckPriceListContinuity(List priceList) + { + List prices = new List(); + if (priceList.Count <= 1) + return prices; // 只有一个或零个价格条目 + + var sortedList = priceList.OrderBy(item => item.BeginTime).ToList(); + + for (int i = 1; i < sortedList.Count; i++) + { + if (sortedList[i].LU== sortedList[i - 1].LU && sortedList[i].BeginTime != sortedList[i - 1].EndTime.AddDays(1)) + { + prices.Add(sortedList[i]); + } + } + return prices; // 所有价格时间都连续 + } + + + public static bool IsTimeOverlap(PriceList range1, PriceList range2) + { + return range1.BeginTime <= range2.EndTime && range1.EndTime >= range2.BeginTime; + } + public async Task> CheckPriceList(List p_list,string p_site,bool isBj=false) where TEntity : ISA_BASE,new() { List errorList = new List(); if (isBj == true) { - var pricebjlist = _pricebjRepository.ToList(); + var pricebjlist = _pricebjRepository.Where(p => p.ClientCode == p_site && p.IsCancel == false).ToList(); var inner = from d in p_list join p in pricebjlist on d.LU equals p.LU @@ -226,10 +256,11 @@ namespace Win.Sfs.SettleAccount.Bases.DomainServices } else { - var pricebjlist = _priceRepository.Where(p=>p.ClientCode==p_site).ToList(); - + var pricelist = _priceRepository.Where(p=>p.ClientCode==p_site && p.IsCancel==false).ToList(); + + var inner = from d in p_list - join p in pricebjlist on d.LU equals p.LU + join p in pricelist on d.LU equals p.LU where d.SettleDate >= p.BeginTime && d.SettleDate <= p.EndTime select d; diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs index 53d59c65..de8aabdc 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs @@ -1370,12 +1370,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers BeginDate = itm.Key.BeginDate, EndDate = itm.Key.EndDate }).ToList(); - - decimal amt = detailDtos.Sum(k => k.Amt);//金额 decimal txtAmt =detailDtos.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额 decimal realAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额 - //decimal amt = detailDtos.Sum(k => k.Amt); //decimal txtAmt = Math.Round(detailDtos.Sum(k => k.Amt), 2); var mapList = new List(); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs index 4507787b..dcbbde6d 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs @@ -194,33 +194,33 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers { detailList.AddRange(_entityDetailList); } - decimal amt = detailList.Sum(k => k.Amt); - decimal txtAmt = Math.Round(detailList.Sum(k => k.Amt), 2); - + decimal amt = detailList.Sum(k => k.Amt);//金额 + decimal txtAmt = detailList.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额 + decimal readAmt = Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税额 var contractList = ls.Select(p => p.ContractDocID).Distinct(); var _groupList = dtos.Where(p => contractList.Contains(p.ContractDocID)).GroupBy(p => new { p.GroupNum }) .Select(p => new { GroupNum = p.Key.GroupNum, Amt = p.Sum(itm => itm.Amt) }).Distinct(); //var _groupList = dtos.GroupBy(p => new { p.GroupNum }) // .Select(p => new { GroupNum = p.Key.GroupNum, Amt = p.Sum(itm => itm.Amt) }).Distinct(); - List group1 = new List(); + //List group1 = new List(); - foreach (var en in _groupList) - { - group1.Add( - new INVOICE_MAP_GROUP( - guid: GuidGenerator.Create(), - version: p_version, - invbillNum: key, - invGroupNum: p_InvGroupNum, - settleGroupNum: en.GroupNum, - amt: en.Amt, - extend1: string.Empty, - extend2: string.Empty)); - } - if (group1.Count > 0) - { - groupList.AddRange(group1); - } + //foreach (var en in _groupList) + //{ + // group1.Add( + // new INVOICE_MAP_GROUP( + // guid: GuidGenerator.Create(), + // version: p_version, + // invbillNum: key, + // invGroupNum: p_InvGroupNum, + // settleGroupNum: en.GroupNum, + // amt: en.Amt, + // extend1: string.Empty, + // extend2: string.Empty)); + //} + //if (group1.Count > 0) + //{ + // groupList.AddRange(group1); + //} var invbill = new INVOICE_GRP (guid: GuidGenerator.Create(), @@ -238,26 +238,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers preTaxDiff: 0, taxDiff: 0, clientCode: string.Empty, - realAmt: 0 + realAmt: readAmt ); invlist.Add(invbill); } - - //await _repository.DbContext.BulkInsertAsync(invlist); - //await _repository.DbContext.BulkInsertAsync(groupList); - //await _repository.DbContext.BulkInsertAsync(detailList); - //if(salist.Count>0) - //{ - // await _repository.DbContext.BulkUpdateAsync(salist); - //} - //if (adjlist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(adjlist); - //} - - //await _repository.DbContext.BulkInsertAsync(notDetialList); - //_invls = invlist.Select(p => p.InvbillNum).ToList(); } return detailList; @@ -342,13 +327,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers // adjdetails.Add(detail); // } //} - - var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode, p.Price, p.BeginDate, p.EndDate, p.ContractDocID }) + var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode,p.LU, p.Price, p.BeginDate, p.EndDate, p.ContractDocID }) .Select(itm => new { PartCode = itm.Key.PartCode, InvGroupNum = itm.Key.InvGroupNum, - LU = itm.Key.PartCode, + LU = itm.Key.LU, ContactDocID = itm.Key.ContractDocID, Price = itm.Key.Price, Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2), @@ -357,27 +341,28 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers EndDate = itm.Key.EndDate }) .ToList(); - decimal amt = detailDtos.Sum(k => k.Amt); - decimal txtAmt = Math.Round(detailDtos.Sum(k => k.Amt), 2); - var mapList = new List(); - foreach (var groupnum in ls) - { - mapList.Add(new INVOICE_MAP_GROUP( - guid: GuidGenerator.Create(), - version: p_version, - invbillNum: key, - invGroupNum: p_InvGroupNum, - settleGroupNum: groupnum, - amt: 0, - extend1: string.Empty, - extend2: string.Empty - ) - ); - } - if (mapList.Count > 0) - { - groupList.AddRange(mapList); - } + decimal amt = detailDtos.Sum(k => k.Amt);//金额 + decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额 + decimal realAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额 + //var mapList = new List(); + //foreach (var groupnum in ls) + //{ + // mapList.Add(new INVOICE_MAP_GROUP( + // guid: GuidGenerator.Create(), + // version: p_version, + // invbillNum: key, + // invGroupNum: p_InvGroupNum, + // settleGroupNum: groupnum, + // amt: 0, + // extend1: string.Empty, + // extend2: string.Empty + // ) + // ); + //} + //if (mapList.Count > 0) + //{ + // groupList.AddRange(mapList); + //} List _entityDetailList = new List(); foreach (var detail in detailDtos) { @@ -444,7 +429,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers preTaxDiff: 0, taxDiff: 0, clientCode: string.Empty, - realAmt: 0 + realAmt: realAmt ); invlist.Add(invbill); } @@ -635,8 +620,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers { detailList.AddRange(_entityDetailList); } - decimal amt = detailList.Sum(k => k.Amt); - decimal txtAmt = Math.Round(detailList.Sum(k => k.Amt), 2); + decimal amt = detailList.Sum(k => k.Amt);//金额 + decimal txtAmt = detailList.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额 + decimal realAmt = Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税额 var invbill = new INVOICE_GRP (guid: GuidGenerator.Create(), @@ -654,24 +640,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers preTaxDiff:0, taxDiff:0, clientCode:string.Empty, - realAmt:0 + realAmt:realAmt ); invlist.Add(invbill); } - //await _repository.DbContext.BulkInsertAsync(invlist); - ////await _repository.DbContext.BulkInsertAsync(groupList); - //await _repository.DbContext.BulkInsertAsync(detailList); - //if (salist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(salist); - //} - //if (adjlist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(adjlist); - //} - //await _repository.DbContext.BulkInsertAsync(notDetialList); - //_invls = invlist.Select(p => p.InvbillNum).ToList(); + } return detailList; } @@ -776,12 +750,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers adjdetails.Add(detail); } } - var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode, p.Price, p.BeginDate, p.EndDate, p.ContractDocID }) + var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode, p.Price, p.BeginDate, p.EndDate, p.ContractDocID,p.LU }) .Select(itm => new { PartCode=itm.Key.PartCode, InvGroupNum = itm.Key.InvGroupNum, - LU = itm.Key.PartCode, + LU = itm.Key.LU, ContactDocID = itm.Key.ContractDocID, Price = itm.Key.Price, Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2), @@ -790,8 +764,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers EndDate = itm.Key.EndDate }) .ToList(); - decimal amt = detailDtos.Sum(k => k.Amt); - decimal txtAmt = Math.Round(detailDtos.Sum(k => k.Amt), 2); + decimal amt = detailDtos.Sum(k => k.Amt);//金额 + decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税后金额 + decimal realAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额 var mapList = new List(); foreach (var groupnum in ls) { @@ -876,27 +851,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers preTaxDiff: 0, taxDiff: 0, clientCode: string.Empty, - realAmt: 0 + realAmt: realAmt ); invlist.Add(invbill); } - //await _repository.DbContext.BulkInsertAsync(invlist); - //await _repository.DbContext.BulkInsertAsync(groupList); - //await _repository.DbContext.BulkInsertAsync(detailList); - - //if(salist.Count>0) - //{ - // await _repository.DbContext.BulkUpdateAsync(salist); - //} - //if (adjlist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(adjlist); - //} - //if (notDetialList.Count > 0) - //{ - // await _repository.DbContext.BulkInsertAsync(notDetialList); - //} - //_invls = invlist.Select(p => p.InvbillNum).ToList(); + } return detailList; @@ -1059,12 +1018,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers } } - var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode, p.Price, p.BeginDate, p.EndDate, p.ContractDocID }) + var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode, p.Price, p.BeginDate, p.EndDate, p.ContractDocID,p.LU }) .Select(itm => new { PartCode = itm.Key.PartCode, InvGroupNum = itm.Key.InvGroupNum, - LU = itm.Key.PartCode, + LU = itm.Key.LU, ContactDocID = itm.Key.ContractDocID, Price = itm.Key.Price, Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2), @@ -1097,8 +1056,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers PartName = inv1.GetProperty("PartName", ""),//零件名称 }; - decimal amt = detailDtos.Sum(k => k.Amt); - decimal txtAmt = Math.Round(detailDtos.Sum(k => k.Amt), 2); + decimal amt = detailDtos.Sum(k => k.Amt);//金额 + decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税后金额 + decimal readAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额 var mapList = new List(); foreach (var groupnum in ls) { @@ -1191,27 +1151,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers preTaxDiff: 0, taxDiff: 0, clientCode: string.Empty, - realAmt: 0 + realAmt: readAmt ); invlist.Add(invbill); } - //await _repository.DbContext.BulkInsertAsync(invlist); - //await _repository.DbContext.BulkInsertAsync(groupList); - //await _repository.DbContext.BulkInsertAsync(detailList); - - //if (salist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(salist); - //} - //if (adjlist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(adjlist); - //} - //if (notDetialList.Count > 0) - //{ - // await _repository.DbContext.BulkInsertAsync(notDetialList); - //} - //_invls = invlist.Select(p => p.InvbillNum).ToList(); + } return detailList; From ff577f9ebe44d7c1d6f6d73f61602b8ed98db0ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 11 Sep 2023 14:01:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bases/BA_SERVICE.cs | 5 +- .../Entities/BQ/BBAC_BA_SERVICE.cs | 5 +- .../Entities/BQ/HBPO_BA_SERVICE.cs | 191 +----------------- .../Entities/BQ/Managers/INV_MNG_EXT.cs | 80 +------- 4 files changed, 12 insertions(+), 269 deletions(-) diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs index 3d5f2251..780451e4 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BA_SERVICE.cs @@ -159,6 +159,9 @@ namespace Win.Sfs.SettleAccount.Bases var sdtos = ObjectMapper.Map, List>(s); if (invs.FirstOrDefault().BusinessType == EnumBusinessType.JisBBAC) { + + + var A = await _wRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); var AMap = ObjectMapper.Map, List>(A); var wquery = from itm in AMap @@ -452,7 +455,7 @@ namespace Win.Sfs.SettleAccount.Bases } - + [UnitOfWork(false)] /// /// 第一次开票 /// diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs index 0fb6605e..19a8939b 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_BA_SERVICE.cs @@ -453,9 +453,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ }; var dtos = q.ToList(); - - - var testls = dtos.Where(p => string.IsNullOrEmpty(p.LU)).ToList(); if (dtos != null && dtos.Count > 0) @@ -602,7 +599,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var invBill = new INVOICE_REPEAT_DTO(); var invls = ls.Where(p => p.InvbillNum == itm).ToList(); var entitylist = entities.Where(p => p.InvbillNum == itm).ToList(); - var tax = inv.Tax;//税率 + var tax = inv.Tax==0?0.13m:inv.Tax;//税率 var amt = entitylist.Sum(p => p.Amt);//税前 var taxamt = amt + Math.Round(amt * tax, 2);//税后 var realamt = Math.Round(amt * tax, 2);//税额 diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_BA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_BA_SERVICE.cs index afe467f7..4614b6d6 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_BA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_BA_SERVICE.cs @@ -301,153 +301,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ } - //[HttpPost] - //[UnitOfWork(false)] - ///// - ///// 发票重开列表 - ///// - ///// - ///// - //public virtual async Task ReissueInvoiceList(List p_list) - //{ - - // var result = await _adjservice.CheckImport(p_list); - // if (result != "OK") - // { - // return new JsonResult(new { Code = 400, Message = "请下载错误模版", fileName = result }); - // } - - // var invBilllist = new List(); - // var adjlist = ObjectMapper.Map, List>(p_list); - // if (adjlist == null && adjlist.Count == 0) - // { - // throw new UserFriendlyException($"调整表无数据!"); - // } - // var first = p_list.FirstOrDefault(); - // var invbillnum = first.InvBillNum; - // //var mappingList = await GetMapGroupAsync(invbillnum);//发票对应结算分组 - // //if (mappingList != null && mappingList.Count() > 0) - // //{ - // var version = int.Parse(DateTime.Now.ToString("yyyymm")); - // //var gList = mappingList.Select(p => p.SettleGroupNum).ToList();//获取发票所有结算分组 - // var inv = await GetInvoiceGroupByInvBillNum(invbillnum); - - // var settle = await _bbacMng.GetMainAsync(inv.InvGroupNum); - - // if (settle == null) - // { - // throw new UserFriendlyException($"选择发票:{invbillnum}对应的可结算单不在请检查!"); - // } - // version = settle.Version; - // if (inv != null) - // { - // if (inv.InvoiceState == InvoiceBillState.报废) - // { - // throw new UserFriendlyException($"选择发票:{invbillnum}状态为报废状态不能重开!"); - // } - // if (inv.State == SettleBillState.商务已审核 || inv.State == SettleBillState.已开票) - // { - // throw new UserFriendlyException($"选择发票:{invbillnum}状态在财务审核后可以报废重开,之前请退回重开!"); - // } - - // var bbaclist = await _bbacMng.GetContainsAsync(inv.InvbillNum);//结算分组对应结算零件 - // //var adjlist = await _adjRepository.Where(p => p.OldInvBillNum == inv.InvbillNum).ToListAsync();//调整表明细 - // if (adjlist != null && adjlist.Count() > 0) - // { - // foreach (var itm in adjlist) - // { - // bbaclist.Add(new BBAC_CAN_SA_DETAIL( - // guid: itm.Id, - // keyCode: itm.KeyCode, - // version: itm.Version, - // billNum: itm.InvGroupNum, - // settleBillNum: itm.SettleBillNum, - // lU: itm.LU, - // pN: itm.PN, - // site: itm.Site, - // qty: itm.Qty, - // price: itm.Price, - // category: itm.BusinessType, - // isReturn: itm.Qty > 0 ? false : true, - // settleDate: itm.SettleDate, - // groupNum: itm.GroupNum, - // invGroupNum: itm.InvGroupNum, - // contactid: itm.Extend1,//生产号 - // invbillnum: string.Empty, - // partcode: itm.PartCode - // )); - // } - // } - // var entitys = bbaclist;//合并库存调整单和就发票可结算明细数据 - // var gNumList = entitys.Select(p => p.GroupNum).Distinct().ToList(); - // var priceList = _priceRepository.ToList();//价格单 - - // var dto1s = ObjectMapper.Map, List>(entitys); - // var q = from d in dto1s - // join p in priceList on d.LU equals p.LU - // where d.SettleDate >= p.BeginTime && d.SettleDate <= p.EndTime && p.IsCancel == false && p.ClientCode == inv.Site//客户零件号 - // select new TEMP_CAN_SA_DETAIL - // { - // Id = d.Id, - // SettleBillNum = d.SettleBillNum, - // Site = d.Site, - // Version = d.Version, - // Price = p.Price, - // BillNum = d.BillNum, - // SettleDate = d.SettleDate, - // InvGroupNum = d.InvGroupNum, - // LU = d.LU, - // MaterialDesc = d.MaterialDesc, - // PN = d.PN, - // Qty = d.Qty, - // GroupNum = d.GroupNum, - // Amt = Math.Round(d.Qty * p.Price, 2), - // ContractDocID = d.ContractDocID, - // BeginDate = p.BeginTime, - // EndDate = p.EndTime, - // PartCode = d.PartCode - - // }; - // var dtos = q.ToList(); - // if (dtos != null && dtos.Count > 0) - // { - // if (invbillnum.Substring(0, 3) == "INV")//一次开票重开 - // { - // var entities = await ReissueFirstInvoiceExtend(bbaclist, adjlist, dtos, version, invbillnum); - // var ls = ObjectMapper.Map, List>(entities); - // invBilllist.AddRange(ls); - - // } - // else//二次开票 - // { - // var entities = await ReissueSecInvoiceExtend(bbaclist, adjlist, dtos, version, invbillnum); - // var ls = ObjectMapper.Map, List>(entities); - // invBilllist.AddRange(ls); - - // } - - // } - // else - // { - // throw new UserFriendlyException($"不存发票号为:{invbillnum}发票"); - // } - // } - // var invlist = invBilllist.OrderBy(p => p.PartCode); - // return new JsonResult(new { Code = 200, Data = invlist }); - - //} - - - - - - - - - - - - [HttpPost] /// 发票重开列表 /// @@ -569,52 +422,14 @@ namespace Win.Sfs.SettleAccount.Entities.BQ { var entities = await ReissueFirstInvoiceExtend(bbaclist, adjlist, dtos, version, invbillnum); var ls = ObjectMapper.Map, List>(entities); - invBilllist.AddRange(ls); - //var invlist = ls.Select(p => p.InvbillNum).Distinct(); - //foreach (var itm in invlist) - //{ - // var invBill = new INVOICE_REPEAT_DTO(); - // var invls = ls.Where(p => p.InvbillNum == itm).ToList(); - // var entitylist = entities.Where(p => p.InvbillNum == itm).ToList(); - // var tax = inv.Tax;//税率 - // var amt = entitylist.Sum(p => p.Amt);//税前 - // var taxamt = amt + Math.Round(amt * tax, 2);//税后 - // var realamt = Math.Round(amt * tax, 2);//税额 - // invBill.Amt = amt; - // invBill.TaxAmt = taxamt; - // invBill.Tax = tax; - // invBill.BusinessType = inv.BusinessType; - // invBill.DETAIL = invls; - // invBill.RealAmt = realamt; - // invBilllist.Add(invBill); - //} + } else//二次开票 { var entities = await ReissueSecInvoiceExtend(bbaclist, adjlist, dtos, version, invbillnum); var ls = ObjectMapper.Map, List>(entities); invBilllist.AddRange(ls); - - //var invlist = ls.Select(p => p.InvbillNum).Distinct(); - //foreach (var itm in invlist) - //{ - // var invBill = new INVOICE_REPEAT_DTO(); - // var invls = ls.Where(p => p.InvbillNum == itm).ToList(); - // var entitylist = entities.Where(p => p.InvbillNum == itm).ToList(); - // var tax = inv.Tax;//税率 - // var amt = entitylist.Sum(p => p.Amt);//税前 - // var taxamt = amt + Math.Round(amt * tax, 2);//税后 - // var realamt = Math.Round(amt * tax, 2);//税额 - // invBill.Amt = amt; - // invBill.TaxAmt = taxamt; - // invBill.Tax = tax; - // invBill.BusinessType = inv.BusinessType; - // invBill.DETAIL = invls; - // invBill.RealAmt = realamt; - // invBilllist.Add(invBill); - //} - } } } @@ -762,7 +577,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var invBill = new INVOICE_REPEAT_DTO(); var invls = ls.Where(p => p.InvbillNum == itm).ToList(); var entitylist = entities.Where(p => p.InvbillNum == itm).ToList(); - var tax = inv.Tax;//税率 + var tax = inv.Tax == 0 ? 0.13m : inv.Tax;//税率 var amt = entitylist.Sum(p => p.Amt);//税前 var taxamt = amt + Math.Round(amt * tax, 2);//税后 var realamt = Math.Round(amt * tax, 2);//税额 @@ -785,7 +600,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var invBill = new INVOICE_REPEAT_DTO(); var invls = ls.Where(p => p.InvbillNum == itm).ToList(); var entitylist = entities.Where(p => p.InvbillNum == itm).ToList(); - var tax = inv.Tax;//税率 + var tax = inv.Tax == 0 ? 0.13m : inv.Tax;//税率 var amt = entitylist.Sum(p => p.Amt);//税前 var taxamt = amt + Math.Round(amt * tax, 2);//税后 var realamt = Math.Round(amt * tax, 2);//税额 diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs index dcbbde6d..a3af7837 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG_EXT.cs @@ -312,21 +312,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers var ls = itm.Value;//结算分组号列表 //反向查找结算数据 var invdetails = p_list.Where(p => ls.Contains(p.GroupNum)).ToList(); - //foreach (var detail in invdetails) - //{ - // detail.InvbillNum = key; - // salist.Add(detail); - //} - //if (!string.IsNullOrEmpty(p_parentInvBillNum)) - //{ - // //反向查找调整数据 - // var adjdetails = p_adjlist.Where(p => ls.Contains(p.GroupNum)).ToList(); - // foreach (var detail in adjdetails) - // { - // detail.InvBillNum = key; - // adjdetails.Add(detail); - // } - //} + var detailDtos = dtos.Where(p => ls.Contains(p.GroupNum)).GroupBy(p => new { p.InvGroupNum, p.PartCode,p.LU, p.Price, p.BeginDate, p.EndDate, p.ContractDocID }) .Select(itm => new { @@ -344,25 +330,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers decimal amt = detailDtos.Sum(k => k.Amt);//金额 decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额 decimal realAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额 - //var mapList = new List(); - //foreach (var groupnum in ls) - //{ - // mapList.Add(new INVOICE_MAP_GROUP( - // guid: GuidGenerator.Create(), - // version: p_version, - // invbillNum: key, - // invGroupNum: p_InvGroupNum, - // settleGroupNum: groupnum, - // amt: 0, - // extend1: string.Empty, - // extend2: string.Empty - // ) - // ); - //} - //if (mapList.Count > 0) - //{ - // groupList.AddRange(mapList); - //} + List _entityDetailList = new List(); foreach (var detail in detailDtos) { @@ -388,31 +356,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers { detailList.AddRange(_entityDetailList); } - //var innotls = new List(); - //if (p_notlist != null && p_notlist.Count > 0) - //{ - // var notls = p_notlist.Where(p=>ls.Contains(p.GroupNum)).GroupBy(p => new { p.GroupNum, p.LU }).Select(p => new { GroupNum = p.Key.GroupNum, LU = p.Key.LU, Qty = p.Sum(itm => itm.Qty) }); - // foreach (var nitm in notls) - // { - // innotls.Add(new INVOICE_NOT_SETTLE( - // guid: GuidGenerator.Create(), - // version: p_version, - // invGroupNum: p_InvGroupNum, - // settleGroupNum: nitm.GroupNum, - // lU: string.Empty, - // lU1: nitm.LU, - // extend1: string.Empty, - // extend2: string.Empty, - // qty: nitm.Qty, - // p_invbillnum:key - - // )); - // } - // if (innotls.Count > 0) - // { - // notDetialList.AddRange(innotls); - // } - //} + var invbill = new INVOICE_GRP (guid: GuidGenerator.Create(), realnvBillNum: string.Empty, @@ -433,23 +377,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers ); invlist.Add(invbill); } - //await _repository.DbContext.BulkInsertAsync(invlist); - //await _repository.DbContext.BulkInsertAsync(groupList); - //await _repository.DbContext.BulkInsertAsync(detailList); - - //if (salist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(salist); - //} - //if (adjlist.Count > 0) - //{ - // await _repository.DbContext.BulkUpdateAsync(adjlist); - //} - //if (notDetialList.Count > 0) - //{ - // await _repository.DbContext.BulkInsertAsync(notDetialList); - //} - //_invls = invlist.Select(p => p.InvbillNum).ToList(); + } return detailList;