diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/INVOICE_GRP_DTO.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/INVOICE_GRP_DTO.cs index 7a4dd1bf..7a42c764 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/INVOICE_GRP_DTO.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/INVOICE_GRP_DTO.cs @@ -231,6 +231,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos /// public List ADJ_DETAIL { get; set; } + + + } public class INVOICE_WAIT_DETAIL_DTO @@ -242,6 +245,14 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos /// [Display(Name = "期间")] public int Version { get; set; } + [Display(Name = "金税发票号")] + public string RealInvbillNum { get; set; } + + + [Display(Name = "发票日期")] + public DateTime? InvDate { set; get; } + + /// ///发票号 /// @@ -264,8 +275,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos [Display(Name = "零件号")] public string PartCode { get; set; } - - /// ///单价 /// @@ -314,6 +323,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos } public class INVOICE_WAIT_DETAIL_REQ_DTO : RequestInputBase { + [Display(Name = "金税发票")] + public string RealInvBillNum { get; set; } + [Display(Name = "发票号")] public string InvbillNum { get; set; } [Display(Name = "发票分组号")] @@ -327,11 +339,14 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos { - /// - ///期间 - /// - [Display(Name = "期间")] - public int Version { get; set; } + [Display(Name = "金税发票")] + public string RealInvBillNum { get; set; } + + [Display(Name = "发票日期")] + public DateTime? InvDate { set; get; } + + + /// ///发票号 /// @@ -420,6 +435,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos public class INVOICE_NOT_SETTLE_DTO { + [Display(Name = "金税发票")] + public string RealInvBillNum { get; set; } + + [Display(Name = "发票日期")] + public DateTime? InvDate { set; get; } [Display(Name = "发票号")] public string InvBillNum { get; set; } @@ -438,6 +458,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos /// [Display(Name = "零件号")] public string LU { get; set; } + + [Display(Name = "数量")] + public string Qty { get; set; } /// ///不可结算零件号 /// @@ -445,26 +468,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos public string Extend1 { get; set; } - - - //[Display(Name = "不可结算零件号")] - //public string LU1 { get; set; } - - - - ///// - /////扩展字段1 - ///// - //[Display(Name = "扩展字段1")] - //public string Extend1 { get; set; } - ///// - /////扩展字段2 - ///// - //[Display(Name = "扩展字段2")] - //public string Extend2 { get; set; } - [Display(Name = "不可结算零件号",AutoGenerateField =false)] - public Dictionary ExtraProperties { get; set; } - } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_ADJ_DETAIL_DTO.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_ADJ_DETAIL_DTO.cs index 1e242f30..2f8d9f09 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_ADJ_DETAIL_DTO.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_ADJ_DETAIL_DTO.cs @@ -14,6 +14,10 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; public class PUB_ADJ_DETAIL_DTO : EntityDto { + + + [Display(Name = "金税发票")] + public string RealInvBillNum { get; set; } ///// /////作废发票号 ///// 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 463b242c..b9be846e 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 @@ -1,6 +1,7 @@ using CodeArts.Db.Lts; using DocumentFormat.OpenXml.Bibliography; using DocumentFormat.OpenXml.Drawing.Charts; +using DocumentFormat.OpenXml.Wordprocessing; using EFCore.BulkExtensions; using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Csv; @@ -147,18 +148,91 @@ namespace Win.Sfs.SettleAccount.Bases { INVOICE_GRP_DETAIL_DTO entity = new INVOICE_GRP_DETAIL_DTO(); + + + var invs = await _repository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); + var m = await _mRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); var mdtos = ObjectMapper.Map, List>(m); var w = await _wRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); var wdtos = ObjectMapper.Map, List>(w); var s = await _sRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); var sdtos = ObjectMapper.Map, List>(s); + + + var notquery = from itm in sdtos + join itm1 in invs on itm.InvBillNum equals itm1.InvbillNum + select + new INVOICE_NOT_SETTLE_DTO() + { + InvDate = itm1.CreationTime, + RealInvBillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + InvBillNum = itm.InvBillNum, + InvGroupNum = itm.InvGroupNum, + SettleGroupNum = itm.SettleGroupNum, + LU = itm.LU, + Qty = itm.Qty, + Extend1 = itm.Extend1, + }; + + var wquery = from itm in wdtos + join itm1 in invs on itm.InvbillNum equals itm1.InvbillNum + select + new INVOICE_WAIT_DETAIL_DTO() + { + InvDate = itm1.CreationTime, + RealInvbillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + Version = itm.Version, + InvbillNum = itm.InvbillNum, + InvGroupNum = itm.InvGroupNum, + LU = itm.LU, + PartCode = itm.PartCode, + PRICE = itm.PRICE, + Qty = itm.Qty, + Amt = itm.Amt, + BussiessType = itm.BussiessType, + Extend1 = itm.Extend1, + BeginDate = itm.BeginDate, + EndDate = itm.EndDate, + }; + var mquery = from itm in mdtos + join itm1 in invs on itm.InvbillNum equals itm1.InvbillNum + select + new INVOICE_MAP_GROUP_DTO() + { + InvDate = itm1.CreationTime, + RealInvBillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + InvbillNum = itm.InvbillNum, + InvGroupNum = itm.InvGroupNum, + SettleGroupNum = itm.SettleGroupNum + }; + + + var adjs = await _adjRepository.GetListByFilterAsync(input.Filters); var adjdtos = ObjectMapper.Map, List>(adjs); - entity.INVOICE_NOT_SETTLE = sdtos; - entity.INVOICE_WAIT_DETAIL = wdtos; - entity.INVOICE_MAP_GROUP = mdtos; - entity.ADJ_DETAIL = adjdtos; + + + var adjQuery = from itm in adjdtos + join itm1 in invs on itm.InvBillNum equals itm1.InvbillNum + select + new PUB_ADJ_DETAIL_DTO() + { + RealInvBillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + InvBillNum = itm.InvBillNum, + SettleDate = itm.SettleDate, + LU = itm.LU, + PN = itm.PN, + Qty = itm.Qty, + GroupNum = itm.GroupNum, + KeyCode = itm.KeyCode, + Price = itm.Price + }; + + entity.INVOICE_NOT_SETTLE = notquery.ToList(); + entity.INVOICE_WAIT_DETAIL = wquery.ToList(); + entity.INVOICE_MAP_GROUP = mquery.ToList(); + entity.ADJ_DETAIL = adjQuery.ToList(); return entity; } /// 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 c1b0458c..6ece259c 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 @@ -77,17 +77,13 @@ namespace Win.Sfs.SettleAccount.Entities.BQ //[Route("generateinvoice")] public async override Task GenerateInvoice([FromBody] string invbillnum) { - var main =await _hbpoMng.GetMainAsync(invbillnum); - if (main != null) { if (main.State != SettleBillState.未结状态) { return new JsonResult(new { Code = 400, Message = "已创建发票不能重复创建" }); } - - if (await _hbpoMng.SetForwardState(main, SettleBillState.已开票)) { var entitys = await _hbpoMng.GetDetalListAsync(invbillnum); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs index 3b8c9f94..a3942041 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs @@ -20,6 +20,7 @@ using System.Text; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.Domain.Entities; using Volo.Abp.Uow; using Win.Abp.Snowflakes; using Win.Sfs.BaseData.ImportExcelCommon; @@ -138,7 +139,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ public virtual async Task DetailQueryAsync(INVOICE_GRP_REQ_DTO input) { - INVOICE_GRP_DETAIL_DTO _entity = new INVOICE_GRP_DETAIL_DTO(); + INVOICE_GRP_DETAIL_DTO entity = new INVOICE_GRP_DETAIL_DTO(); + + + var invs = await _repository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); + + var m = await _mRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); var mdtos = ObjectMapper.Map, List>(m); var w = await _wRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); @@ -147,11 +153,74 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var sdtos = ObjectMapper.Map, List>(s); var adjs =await _adjRepository.GetListByFilterAsync(input.Filters); var adjdtos = ObjectMapper.Map, List>(adjs); - _entity.INVOICE_NOT_SETTLE = sdtos; - _entity.INVOICE_WAIT_DETAIL = wdtos; - _entity.INVOICE_MAP_GROUP = mdtos; - _entity.ADJ_DETAIL = adjdtos; - return _entity; + var notquery = from itm in sdtos + join itm1 in invs on itm.InvBillNum equals itm1.InvbillNum + select + new INVOICE_NOT_SETTLE_DTO() + { + InvDate = itm1.CreationTime, + RealInvBillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + InvBillNum = itm.InvBillNum, + InvGroupNum = itm.InvGroupNum, + SettleGroupNum = itm.SettleGroupNum, + LU = itm.LU, + Qty = itm.Qty, + Extend1 = itm.Extend1, + }; + + var wquery = from itm in wdtos + join itm1 in invs on itm.InvbillNum equals itm1.InvbillNum + select + new INVOICE_WAIT_DETAIL_DTO() + { + InvDate = itm1.CreationTime, + RealInvbillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + Version = itm.Version, + InvbillNum = itm.InvbillNum, + InvGroupNum = itm.InvGroupNum, + LU = itm.LU, + PartCode = itm.PartCode, + PRICE = itm.PRICE, + Qty = itm.Qty, + Amt = itm.Amt, + BussiessType = itm.BussiessType, + Extend1 = itm.Extend1, + BeginDate = itm.BeginDate, + EndDate = itm.EndDate, + }; + var mquery = from itm in mdtos + join itm1 in invs on itm.InvbillNum equals itm1.InvbillNum + select + new INVOICE_MAP_GROUP_DTO() + { + InvDate = itm1.CreationTime, + RealInvBillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + InvbillNum = itm.InvbillNum, + InvGroupNum = itm.InvGroupNum, + SettleGroupNum = itm.SettleGroupNum + }; + + var adjQuery = from itm in adjdtos + join itm1 in invs on itm.InvBillNum equals itm1.InvbillNum + select + new PUB_ADJ_DETAIL_DTO() + { + RealInvBillNum = string.IsNullOrEmpty(itm1.RealnvBillNum) ? string.Empty : itm1.RealnvBillNum, + InvBillNum = itm.InvBillNum, + SettleDate = itm.SettleDate, + LU = itm.LU, + PN = itm.PN, + Qty = itm.Qty, + GroupNum = itm.GroupNum, + KeyCode = itm.KeyCode, + Price = itm.Price + }; + + entity.INVOICE_NOT_SETTLE = notquery.ToList(); + entity.INVOICE_WAIT_DETAIL = wquery.ToList(); + entity.INVOICE_MAP_GROUP = mquery.ToList(); + entity.ADJ_DETAIL = adjQuery.ToList(); + return entity; } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs index 2bb20d3a..e2227e82 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs @@ -101,8 +101,7 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, var query = from itm in p_ls select new VmiLog() - { - + { CodeType=string.Empty, BillTime = DateTime.Now, ChangedTime = DateTime.Now, @@ -120,7 +119,6 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, VinCode = itm.PN, OrderNum = itm.GroupNum, ErpToLoc = string.IsNullOrEmpty(itm.Extend2)?"CC001":itm.Extend2, //寄售库 - }; var ls = query.ToList(); var _first= p_ls.FirstOrDefault(); @@ -154,21 +152,6 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, throw; } } - - - - - - - - - - - - - - ; - } 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 517335b9..3ee47f7c 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 @@ -1444,6 +1444,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers clientCode: string.Empty, realAmt: 0 ); + invbill.CreationTime = DateTime.Now; invlist.Add(invbill); } @@ -1453,7 +1454,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers await _repository.DbContext.BulkUpdateAsync(salist,new BulkConfig() { BatchSize=10000 }); } - await _repository.DbContext.BulkInsertAsync(invlist); await _repository.DbContext.BulkInsertAsync(groupList); await _repository.DbContext.BulkInsertAsync(detailList); @@ -1686,6 +1686,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers realAmt:0 ); + invbill.CreationTime = DateTime.Now; invlist.Add(invbill); } await _repository.DbContext.BulkInsertAsync(invlist); @@ -1909,6 +1910,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers clientCode: string.Empty, realAmt: 0 ); + invbill.CreationTime = DateTime.Now; invlist.Add(invbill); } await _repository.DbContext.BulkInsertAsync(invlist); @@ -2233,6 +2235,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers clientCode: string.Empty, realAmt: 0 ); + invbill.CreationTime = DateTime.Now; invlist.Add(invbill); } await _repository.DbContext.BulkInsertAsync(invlist);