diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/ExportReports/ErrorExportDto.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/ExportReports/ErrorExportDto.cs index db7b7c64..3c760e82 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/ExportReports/ErrorExportDto.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/ExportReports/ErrorExportDto.cs @@ -1,4 +1,4 @@ -// 闻荫智慧工厂管理套件 +// 闻荫智慧工厂管理套件 // Copyright (c) 闻荫科技 www.ccwin-in.com using Magicodes.ExporterAndImporter.Core; @@ -11,6 +11,90 @@ using Win.Sfs.Shared.Enums; namespace Win.Sfs.SettleAccount.ExportReports { + /// + /// 错误信息说明 + /// + public class ERR_EXP_DTO : EntityDto + { + + public ERR_EXP_DTO() + { + } + + public ERR_EXP_DTO(string version, string customCode, string type, string model, string itemCode, string itemDesc, string message, string remark) + { + Version = version; + CustomCode = customCode; + Type = type; + Model = model; + ItemCode = itemCode; + ItemDesc = itemDesc; + Message = message; + Remark = remark; + } + + /// + /// 版本 + /// + [Display(Name = "版本")] + public string Version { set; get; } + + + /// + /// 客户代码 + /// + + [Display(Name = "客户代码")] + public string CustomCode { get; set; } + + /// + /// 影响类型 + /// + + [Display(Name = "错误类型")] + public string Type { get; set; } + + /// + /// 问题模块 + /// + + [Display(Name = "问题模块")] + public string Model { get; set; } + + /// + /// 物料号 + /// + [Display(Name = "物料号")] + + public string ItemCode { get; set; } + + /// + /// 物料描述 + /// + [Display(Name = "物料描述")] + + public string ItemDesc { get; set; } + + /// + /// 错误信息 + /// + + [Display(Name = "提醒信息")] + public string Message { get; set; } + + /// + /// 金额差异 + /// + + [Display(Name = "备注")] + public string Remark { get; set; } + + + } + + + + /// /// 错误信息说明 /// @@ -91,4 +175,4 @@ namespace Win.Sfs.SettleAccount.ExportReports } -} \ No newline at end of file +} diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BASE_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BASE_SERVICE.cs index 7b37206c..94b1b5b3 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BASE_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/BASE_SERVICE.cs @@ -1,4 +1,4 @@ -using Shouldly; +using Shouldly; using System; using System.Collections.Generic; using System.Linq; @@ -23,7 +23,7 @@ namespace Win.Sfs.SettleAccount.Bases { - protected readonly IExcelImportAppService _excelImportService; + private readonly IExcelImportAppService _excelImportService; protected readonly ISnowflakeIdGenerator _snowflakeIdGenerator; @@ -50,7 +50,7 @@ namespace Win.Sfs.SettleAccount.Bases /// /// /// - protected async Task ExportErrorReportAsync(List errorList, string fileName = "") + protected async Task ExportErrorReportAsync(List errorList, string fileName = "") { //没有信息返回成功 if (errorList == null || errorList.Count == 0) 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 4252da2d..1b0313a8 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,7 +1,10 @@ -using Magicodes.ExporterAndImporter.Core; +using EFCore.BulkExtensions; +using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Csv; using Magicodes.ExporterAndImporter.Excel; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.SignalR; +using NPOI.SS.Formula.Functions; using SettleAccount.Bases; using SettleAccount.Domain.BQ; using Shouldly; @@ -19,6 +22,7 @@ using Win.Abp.Snowflakes; using Win.Sfs.BaseData.ImportExcelCommon; using Win.Sfs.SettleAccount.Constant; using Win.Sfs.SettleAccount.Entities.BQ.Dtos; +using Win.Sfs.SettleAccount.Entities.BQ.Managers; using Win.Sfs.SettleAccount.ExcelImporter; using Win.Sfs.SettleAccount.ExportReports; using Win.Sfs.Shared.RepositoryBase; @@ -31,6 +35,12 @@ namespace Win.Sfs.SettleAccount.Bases private readonly INormalEfCoreRepository _wRepository; private readonly INormalEfCoreRepository _sRepository; private readonly INormalEfCoreRepository _mRepository; + private readonly CAN_SA_MNG _pubMng; + private readonly CAN_SA_MNG _bbacMng; + private readonly CAN_SA_MNG _hbpoMng; + private readonly INV_MNG _invMng; + + //private readonly INormalEfCoreRepository _detailRepository; private readonly IExcelImportAppService _excelImportService; @@ -40,8 +50,11 @@ namespace Win.Sfs.SettleAccount.Bases INormalEfCoreRepository wRepository, INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, - IExcelImportAppService excelImportService - + IExcelImportAppService excelImportService, + CAN_SA_MNG pubMng, + CAN_SA_MNG bbacMng, + CAN_SA_MNG hbpoMng, + INV_MNG invMng //INormalEfCoreRepository detailRepository ) @@ -51,7 +64,12 @@ namespace Win.Sfs.SettleAccount.Bases _repository = repository; _wRepository = wRepository; _mRepository = mRepository; - _sRepository = sRepository; + _sRepository = sRepository; + _pubMng = pubMng; + _bbacMng = bbacMng; + _hbpoMng = hbpoMng; + _invMng = invMng; + } /// @@ -154,11 +172,22 @@ namespace Win.Sfs.SettleAccount.Bases } - - protected virtual async Task RuleAsync(INVOICE_GRP_REQ_DTO input) + [HttpPost] + public virtual async Task ReceivedAsync(INVOICE_GRP_REQ_DTO input) { + var entity=await _invMng.GetMainAsync(input.InvGroupNum); + if (entity != null) + { + bool flag = await _invMng.ReceivedAsync(entity.InvGroupNum); + if (flag == true) + { + await _invMng.SetForwardState(entity, InvoiceBillState.客户已收票); + } + } + + return ApplicationConsts.SuccessStr; } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/PD_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/PD_SERVICE.cs index 64b5dc31..67d2bc41 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/PD_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Bases/PD_SERVICE.cs @@ -1,8 +1,9 @@ -using AutoMapper; +using AutoMapper; using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Csv; using Magicodes.ExporterAndImporter.Excel; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; using SettleAccount.Bases; using Shouldly; using System; @@ -141,9 +142,20 @@ namespace Win.Sfs.SettleAccount.Bases return ApplicationConsts.SuccessStr; } + public virtual async Task GetMainByBillNum(string billNum) + { + return await _repository.Where(p=>p.InvGroupNum == billNum).FirstOrDefaultAsync(); + } + + public virtual async Task> GetDetailByBillNum(string billNum) + { + return await _detailRepository.Where(p => p.InvGroupNum == billNum).ToListAsync(); + } + + + - 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 f875d691..5cdc9c79 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 @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Components; using SettleAccount.Domain.BQ; using System; @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Services; using Win.Sfs.BaseData.ImportExcelCommon; using Win.Sfs.SettleAccount.Bases; +using Win.Sfs.SettleAccount.Entities.BQ.Managers; using Win.Sfs.Shared.RepositoryBase; namespace Win.Sfs.SettleAccount.Entities.BQ @@ -20,9 +21,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ [Route("api/settleaccount/bbac_ba_service")] public class BBAC_BA_SERVICE : BA_SERVICE { - public BBAC_BA_SERVICE(INormalEfCoreRepository repository, INormalEfCoreRepository wRepository, - INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, IExcelImportAppService excelImportService) - : base(repository, wRepository, sRepository, mRepository, excelImportService) + public BBAC_BA_SERVICE(INormalEfCoreRepository repository, INormalEfCoreRepository wRepository, INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, IExcelImportAppService excelImportService, CAN_SA_MNG pubMng, CAN_SA_MNG bbacMng, CAN_SA_MNG hbpoMng, INV_MNG invMng) : base(repository, wRepository, sRepository, mRepository, excelImportService, pubMng, bbacMng, hbpoMng, invMng) { } } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_NOT_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_NOT_SA_SERVICE.cs index d2fdfdf4..f0a3162c 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_NOT_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_NOT_SA_SERVICE.cs @@ -1,4 +1,4 @@ -using EFCore.BulkExtensions; +using EFCore.BulkExtensions; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SettleAccount.Domain.BQ; @@ -46,7 +46,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ billNum: billNum, settleBillNum: string.Empty, state: SettleBillState.未结状态, - invGroupNum: billNum + invGroupNum: billNum, + site:entitys.FirstOrDefault().Site + ); List ls = new List(); @@ -70,6 +72,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ ); } + await _detailRepository.DbContext.BulkInsertAsync(ls); await _detailRepository.DbContext.BulkDeleteAsync(entitys); await _detailRepository.DbContext.BulkInsertAsync(new List() { bbac}); 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 80a19894..1f678b53 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 @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Components; using SettleAccount.Domain.BQ; using System; @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Services; using Win.Sfs.BaseData.ImportExcelCommon; using Win.Sfs.SettleAccount.Bases; +using Win.Sfs.SettleAccount.Entities.BQ.Managers; using Win.Sfs.Shared.RepositoryBase; namespace Win.Sfs.SettleAccount.Entities.BQ @@ -17,7 +18,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ [Route("api/settleaccount/hbpo_ba_service")] public class HBPO_BA_SERVICE : BA_SERVICE { - public HBPO_BA_SERVICE(INormalEfCoreRepository repository, INormalEfCoreRepository wRepository, INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, IExcelImportAppService excelImportService) : base(repository, wRepository, sRepository, mRepository, excelImportService) + public HBPO_BA_SERVICE(INormalEfCoreRepository repository, INormalEfCoreRepository wRepository, INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, IExcelImportAppService excelImportService, CAN_SA_MNG pubMng, CAN_SA_MNG bbacMng, CAN_SA_MNG hbpoMng, INV_MNG invMng) : base(repository, wRepository, sRepository, mRepository, excelImportService, pubMng, bbacMng, hbpoMng, invMng) { } } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_NOT_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_NOT_SA_SERVICE.cs index 79901c79..d4151a86 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_NOT_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_NOT_SA_SERVICE.cs @@ -1,4 +1,4 @@ -using EFCore.BulkExtensions; +using EFCore.BulkExtensions; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -42,7 +42,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ billNum: billNum, settleBillNum: string.Empty, state: SettleBillState.未结状态, - invGroupNum: billNum + invGroupNum: billNum, + site:entitys.FirstOrDefault().Site ); List ls = new List(); 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 37157b6d..6ac5d98c 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 @@ -1,4 +1,4 @@ -using Magicodes.ExporterAndImporter.Core; +using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Csv; using Magicodes.ExporterAndImporter.Excel; using Microsoft.AspNetCore.Authorization; @@ -15,6 +15,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Win.Sfs.BaseData.ImportExcelCommon; +using Win.Sfs.SettleAccount.Constant; using Win.Sfs.SettleAccount.Entities.BQ.Dtos; using Win.Sfs.SettleAccount.Entities.BQ.Managers; using Win.Sfs.Shared.RepositoryBase; @@ -57,15 +58,22 @@ namespace Win.Sfs.SettleAccount.Entities.BQ _bbacMng = bbacMng; _hbpoMng = hbpoMng; _invMng = invMng; - - - } [HttpPost] public virtual async Task ApprovalPassed(INVOICE_GRP_REQ_DTO input) { + var inv=_repository.Where(p=>p.InvGroupNum == input.InvGroupNum).FirstOrDefault(); - return string.Empty; + + + + + await _invMng.SetForwardState(inv, InvoiceBillState.财务已审核); + + + + + return ApplicationConsts.SuccessStr; } [HttpPost] @@ -82,11 +90,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ { INVOICE_GRP_DETAIL_DTO _entity = new INVOICE_GRP_DETAIL_DTO(); - var m = await _mRepository.GetListByFilterAsync(input.Filters, input.Sorting, input.MaxResultCount, 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, input.MaxResultCount, input.SkipCount); + 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, input.MaxResultCount, input.SkipCount); + var s = await _sRepository.GetListByFilterAsync(input.Filters, input.Sorting, int.MaxValue, input.SkipCount); var sdtos = ObjectMapper.Map, List>(s); _entity.INVOICE_NOT_SETTLE = sdtos; _entity.INVOICE_WAIT_DETAIL = wdtos; diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_BA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_BA_SERVICE.cs index 3b3c7311..db5e4865 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_BA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_BA_SERVICE.cs @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Components; using SettleAccount.Domain.BQ; using System; @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Services; using Win.Sfs.BaseData.ImportExcelCommon; using Win.Sfs.SettleAccount.Bases; +using Win.Sfs.SettleAccount.Entities.BQ.Managers; using Win.Sfs.Shared.RepositoryBase; namespace Win.Sfs.SettleAccount.Entities.BQ @@ -17,7 +18,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ [Route("api/settleaccount/pub_ba_service")] public class PUB_BA_SERVICE : BA_SERVICE { - public PUB_BA_SERVICE(INormalEfCoreRepository repository, INormalEfCoreRepository wRepository, INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, IExcelImportAppService excelImportService) : base(repository, wRepository, sRepository, mRepository, excelImportService) + public PUB_BA_SERVICE(INormalEfCoreRepository repository, INormalEfCoreRepository wRepository, INormalEfCoreRepository sRepository, INormalEfCoreRepository mRepository, IExcelImportAppService excelImportService, CAN_SA_MNG pubMng, CAN_SA_MNG bbacMng, CAN_SA_MNG hbpoMng, INV_MNG invMng) : base(repository, wRepository, sRepository, mRepository, excelImportService, pubMng, bbacMng, hbpoMng, invMng) { } } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/EntityBase.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/EntityBase.cs index f1875c55..c07ed12b 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/EntityBase.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/EntityBase.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; @@ -61,6 +61,9 @@ namespace SettleAccount.Bases [Display(Name = "发票分组号")] public virtual string InvGroupNum { get; set; } = null!; + + public virtual string Site { get; set; } + } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/BBAC_CAN_SA.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/BBAC_CAN_SA.cs index ffddc130..0b4b8e87 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/BBAC_CAN_SA.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/BBAC_CAN_SA.cs @@ -1,4 +1,4 @@ -using SettleAccount.Bases; +using SettleAccount.Bases; using System; using System.ComponentModel.DataAnnotations; using Volo.Abp.Domain.Entities.Auditing; @@ -35,7 +35,7 @@ public class BBAC_CAN_SA : SA_CAN_BASE_MAIN - public BBAC_CAN_SA(Guid guid, int version, string billNum, string settleBillNum, SettleBillState state, string invGroupNum) + public BBAC_CAN_SA(Guid guid, int version, string billNum, string settleBillNum, SettleBillState state, string invGroupNum,string site) { Id = guid; Version = version; @@ -43,6 +43,7 @@ public class BBAC_CAN_SA : SA_CAN_BASE_MAIN SettleBillNum = settleBillNum; State = state; InvGroupNum = invGroupNum; + Site = site; } } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_CAN_SA.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_CAN_SA.cs index 864f8366..7d28d814 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_CAN_SA.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_CAN_SA.cs @@ -1,4 +1,4 @@ -using SettleAccount.Bases; +using SettleAccount.Bases; using System; using System.ComponentModel.DataAnnotations; using Volo.Abp.Domain.Entities.Auditing; @@ -31,16 +31,17 @@ public class HBPO_CAN_SA : SA_CAN_BASE_MAIN /// /// 工厂地点 /// - [Display(Name = "工厂地点")] - public string Site { get; set; } = null!; + //[Display(Name = "工厂地点")] + //public string Site { get; set; } = null!; - public HBPO_CAN_SA(Guid guid, int version, string settleBillNum, string billNum, SettleBillState state, string invGroupNum) + public HBPO_CAN_SA(Guid guid, int version, string settleBillNum, string billNum, SettleBillState state, string invGroupNum,string site) { Version = version; SettleBillNum = settleBillNum; BillNum = billNum; State = state; InvGroupNum = invGroupNum; + Site = site; } public HBPO_CAN_SA() diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_PD_DETAIL.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_PD_DETAIL.cs index 40416049..27a83ec4 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_PD_DETAIL.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/HBPO_PD_DETAIL.cs @@ -1,4 +1,4 @@ -using SettleAccount.Bases; +using SettleAccount.Bases; using System; using System.ComponentModel.DataAnnotations; @@ -45,7 +45,9 @@ public class HBPO_PD_DETAIL :PD_BASE //[Display(Name = "结算分组")] //public string GroupNum { get; set; } = null!; - public HBPO_PD_DETAIL(Guid guid, string keyCode, int version, string billNum, string lU, string rELU, string pN, string rEPN, string site, decimal qty, decimal price, string invGroupNum, DateTime settleDate, string groupNum) + public HBPO_PD_DETAIL(Guid guid, string keyCode, int version, string billNum, string lU, string rELU, string pN, string rEPN, string site, decimal qty, decimal price, string invGroupNum, + DateTime settleDate, string groupNum, string extend1, string extend2, string extend3, string extend4 + ) { Id = guid; KeyCode = keyCode; @@ -61,6 +63,11 @@ public class HBPO_PD_DETAIL :PD_BASE InvGroupNum = invGroupNum; SettleDate = settleDate; GroupNum = groupNum; + Extend1 = extend1; + Extend2 = extend2; + Extend3 = extend3; + Extend4 = extend4; + } public HBPO_PD_DETAIL() diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/CAN_SA_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/CAN_SA_MNG.cs index 7d3c514d..45524521 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/CAN_SA_MNG.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/CAN_SA_MNG.cs @@ -1,4 +1,4 @@ -using EFCore.BulkExtensions; +using EFCore.BulkExtensions; using Hangfire.Annotations; using Microsoft.EntityFrameworkCore; using SettleAccount.Bases; @@ -41,10 +41,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers { return true; } - else - { - return false; - } + return false; + } @@ -89,13 +87,23 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers } break; case SettleBillState.已扣减: + if (state == SettleBillState.客户已收票) + { + p_entiy.State = state; + } + else + { + throw new BusinessException("8989", "当前状态不是[客户收票],无法设置成【财务已审核】状态"); + } + break; + case SettleBillState.客户已收票: if (state == SettleBillState.财务已审核) { p_entiy.State = state; } else { - throw new BusinessException("8989", "当前状态不是【商务已审核】,无法设置成【财务已审核】状态"); + throw new BusinessException("8989", "当前状态不是[财务已审核],无法设置成【客户已收票】状态"); } break; } @@ -110,32 +118,48 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers public virtual async Task SetNewState(TEntity p_entiy) { - await SetNewState(p_entiy.BillNum); - + return await SetNewState(p_entiy.BillNum); } public virtual async Task SetNewState(string billNum) { - var ls = _repository.Where(p => p.InvGroupNum == billNum).ToList(); - foreach (var l in ls) + var entity= await GetMainAsync(billNum); + if (entity != null ) { - l.State = SettleBillState.未结状态; + + entity.State = SettleBillState.未结状态; + + + await _repository.UpdateAsync(entity); + return true; } - - await _repository.DbContext.BulkReadAsync(ls); - return true; + return false; + ; } - - public virtual async Task> GetAllList(string billNum) + /// + /// 获得所有明细 + /// + /// + /// + public virtual async Task> GetDetalListAsync(string billNum) { return await _detailRepository.Where(p=>p.InvGroupNum==billNum).ToListAsync(); } - + /// + /// 获得主表信息 + /// + /// + /// + public virtual async Task GetMainAsync(string billNum) + { + return await _repository.Where(p => p.InvGroupNum == billNum).FirstOrDefaultAsync(); + } + + - } 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 19ae1fd2..034283c4 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 @@ -1,4 +1,6 @@ -using EFCore.BulkExtensions; +using EFCore.BulkExtensions; +using Hangfire; +using Microsoft.AspNetCore.SignalR; using Microsoft.EntityFrameworkCore; using NPOI.SS.Formula.Functions; using SettleAccount.Bases; @@ -9,6 +11,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Volo.Abp; +using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Services; using Win.Sfs.Shared.RepositoryBase; @@ -18,11 +21,22 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers { //private readonly INormalEfCoreRepository _canRepository; private readonly INormalEfCoreRepository _repository; + + + + private readonly INormalEfCoreRepository _groupRepository; private readonly INormalEfCoreRepository _detailRepository; private readonly INormalEfCoreRepository _notRepository; + private readonly CAN_SA_MNG _pubMng; + private readonly CAN_SA_MNG _bbacMng; + private readonly CAN_SA_MNG _hbpoMng; + public INV_MNG ( + CAN_SA_MNG pubMng, + CAN_SA_MNG bbacMng, + CAN_SA_MNG hbpoMng, //INormalEfCoreRepository canRepository, INormalEfCoreRepository repository, INormalEfCoreRepository groupRepository, @@ -36,7 +50,23 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers _detailRepository = detailRepository; _groupRepository = groupRepository; _notRepository = notRepository; + _pubMng = pubMng; + _bbacMng = bbacMng; + _hbpoMng = hbpoMng; + + } + public virtual async Task SetForwardState(string p_groupBillnum , InvoiceBillState p_State) + { + var _first=_repository.Where(p => p.InvbillNum == p_groupBillnum).FirstOrDefault(); + if (_first != null) + { + return await SetForwardState(_first, p_State); + } + return false; + } + + public virtual async Task SetForwardState(INVOICE_GRP p_entiy, InvoiceBillState p_State) { var state = p_State; @@ -63,13 +93,13 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers } break; case InvoiceBillState.已扣减: - if (state == InvoiceBillState.财务已审核) + if (state == InvoiceBillState.客户已收票) { p_entiy.State = state; } else { - throw new BusinessException("8989", "当前状态不是【商务已审核】,无法设置成【财务已审核】状态"); + throw new BusinessException("8989", "当前状态不是【客户已收票】状态,无法设置成【已扣减】状态"); } break; } @@ -77,10 +107,175 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers return true; } - public virtual async Task GetEntityByBillNum(string p_billNum) + + + /// + /// 获得发票主表 + /// + /// + /// + public virtual async Task GetMainAsync(string p_groupbillNum) { - return await _repository.Where(p => p.InvGroupNum == p_billNum).FirstOrDefaultAsync(); + return await _repository.Where(p => p.InvbillNum == p_groupbillNum).FirstOrDefaultAsync(); } + /// + /// 已收票 + /// + /// 发票分组号 + /// + public virtual async Task ReceivedAsync(string p_groupbillnum) + { + var inv = _repository.Where(p => p.InvGroupNum == p_groupbillnum).FirstOrDefault(); + if (inv.BusinessType == EnumBusinessType.BBAC) + { + var entity = await _bbacMng.GetMainAsync(inv.InvGroupNum); + if (entity == null) + { + + var entityDetail = await _bbacMng.GetDetalListAsync(inv.InvGroupNum); + var bbac = new BBAC_PD( + guid: entity.Id, + version: entity.Version, + billNum: entity.BillNum, + settleBillNum: entity.SettleBillNum, + state: SettleBillState.客户已收票, + invGroupNum: entity.InvGroupNum, + site: entity.Site + ); + var bbacDetail = new List(); + foreach (var itm in entityDetail) + { + bbacDetail.Add( + new BBAC_PD_DETAIL( + guid: itm.Id, + keyCode: itm.KeyCode, + version: itm.Version, + billNum: itm.BillNum, + lU: itm.LU, + rELU: string.Empty, + pN: itm.PN, + rEPN: string.Empty, + site: itm.Site, + qty: itm.Qty, + price: itm.Price, + invGroupNum: itm.InvGroupNum, + settleDate: itm.SettleDate, + groupNum: itm.GroupNum, + extend1: string.Empty, + extend2: string.Empty, + extend3: string.Empty, + extend4: string.Empty + )); + await _repository.DbContext.BulkInsertAsync(new List() { bbac }); + await _repository.DbContext.BulkInsertAsync(bbacDetail); + return true; + } + } + } + else if (inv.BusinessType == EnumBusinessType.HBPO) + { + var entity = await _hbpoMng.GetMainAsync(inv.InvGroupNum); + if (entity != null) + { + + var entityDetail = await _hbpoMng.GetDetalListAsync(inv.InvGroupNum); + if (entityDetail != null && entityDetail.Count() > 0) + { + var hbpo = new HBPO_PD( + guid: entity.Id, + version: entity.Version, + billNum: entity.BillNum, + settleBillNum: entity.SettleBillNum, + state: SettleBillState.客户已收票, + invGroupNum: entity.InvGroupNum, + site: entity.Site + ); + var hbpoDetail = new List(); + foreach (var itm in entityDetail) + { + hbpoDetail.Add( + new HBPO_PD_DETAIL( + guid: itm.Id, + keyCode: itm.KeyCode, + version: itm.Version, + billNum: itm.BillNum, + lU: itm.LU, + rELU: string.Empty, + pN: itm.PN, + rEPN: string.Empty, + site: itm.Site, + qty: itm.Qty, + price: itm.Price, + invGroupNum: itm.InvGroupNum, + settleDate: itm.SettleDate, + groupNum: itm.GroupNum, + extend1: string.Empty, + extend2: string.Empty, + extend3: string.Empty, + extend4: string.Empty + )); + } + await _repository.DbContext.BulkInsertAsync(new List() { hbpo }); + await _repository.DbContext.BulkInsertAsync(hbpoDetail); + + return true; + } + } + } + else + { + var entity = await _pubMng.GetMainAsync(inv.InvGroupNum); + if (entity != null) + { + var entityDetail = await _pubMng.GetDetalListAsync(inv.InvGroupNum); + if (entityDetail != null && entityDetail.Count() > 0) + { + var pub = new PUB_PD( + guid: entity.Id, + version: entity.Version, + billNum: entity.BillNum, + settleBillNum: entity.SettleBillNum, + state: SettleBillState.客户已收票, + invGroupNum: entity.InvGroupNum, + site: entity.Site + ); + var pubDetail = new List(); + foreach (var itm in entityDetail) + { + pubDetail.Add( + new PUB_PD_DETAIL( + guid: itm.Id, + keyCode: itm.KeyCode, + version: itm.Version, + billNum: itm.BillNum, + lU: itm.LU, + rELU: string.Empty, + pN: itm.PN, + rEPN: string.Empty, + site: itm.Site, + qty: itm.Qty, + price: itm.Price, + invGroupNum: itm.InvGroupNum, + settleDate: itm.SettleDate, + groupNum: itm.GroupNum, + extend1: string.Empty, + extend2: string.Empty, + extend3: string.Empty, + extend4: string.Empty, + businessType: itm.BusinessType + )); + } + await _repository.DbContext.BulkInsertAsync(new List() { pub }); + await _repository.DbContext.BulkInsertAsync(pubDetail); + return true; + } + } + } + + return false; + + } + @@ -95,11 +290,15 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers } - - public virtual async Task Reject(string billNum) + /// + /// 退回 + /// + /// 发票分组号 + /// + public virtual async Task Reject(string groupbillNum) { - var _ls=await _repository.Where(p => p.InvGroupNum == billNum).ToListAsync(); + var _ls=await _repository.Where(p => p.InvGroupNum == groupbillNum).ToListAsync(); if (_ls != null && _ls.Count > 0) { @@ -145,6 +344,74 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers } + /// + /// 返回到财务审核状态 + /// + /// + /// + public virtual async Task Back(string billNum) + { + + var _ls = await _repository.Where(p => p.InvGroupNum == billNum).ToListAsync(); + if (_ls != null && _ls.Count > 0) + { + foreach (var p_entity in _ls) + { + + } + + } + + + + + //if (_ls != null && _ls.Count > 0) + //{ + // foreach (var p_entity in _ls) + // { + // if (p_entity.State == InvoiceBillState.财务已审核 + // || p_entity.State == InvoiceBillState.已开票 || p_entity.State == InvoiceBillState.商务已审核) + // { + // var entList = _repository.Where(p => p.InvGroupNum == p_entity.InvGroupNum).ToList(); + // var groupList = _groupRepository.Where(p => p.InvGroupNum == p_entity.InvGroupNum).ToList(); + // var notList = _notRepository.Where(p => p.InvGroupNum == p_entity.InvGroupNum).ToList(); + // var detailList = _detailRepository.Where(p => p.InvGroupNum == p_entity.InvGroupNum).ToList(); + // //var canList = _canRepository.Where(p => p.InvGroupNum == p_entity.InvGroupNum).ToList(); + // //foreach (var itm in canList) + // //{ + // // itm.State = SettleBillState.未结状态; + // //} + // await _repository.DbContext.BulkDeleteAsync(entList); + // await _repository.DbContext.BulkDeleteAsync(groupList); + // await _repository.DbContext.BulkDeleteAsync(notList); + // await _repository.DbContext.BulkDeleteAsync(detailList); + // //await _repository.DbContext.BulkUpdateAsync(canList); + + + + // } + // if (p_entity.State == InvoiceBillState.已扣减) + // { + + // } + // } + + //} + //else + //{ + + //} + + + + + return true; + + + } + + + diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PD_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PD_MNG.cs new file mode 100644 index 00000000..4ceab066 --- /dev/null +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PD_MNG.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Win.Sfs.SettleAccount.Entities.BQ.Managers; +public class PD_MNG +{ +} diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_CAN_SA.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_CAN_SA.cs index c4543567..055047a3 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_CAN_SA.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_CAN_SA.cs @@ -1,4 +1,4 @@ -using SettleAccount.Bases; +using SettleAccount.Bases; using System; using System.ComponentModel.DataAnnotations; using Volo.Abp.Domain.Entities.Auditing; diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_PD_DETAIL.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_PD_DETAIL.cs index e804b30e..56083cdc 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_PD_DETAIL.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_PD_DETAIL.cs @@ -1,4 +1,4 @@ -using SettleAccount.Bases; +using SettleAccount.Bases; using System; using System.ComponentModel.DataAnnotations; using Win.Sfs.SettleAccount; @@ -52,7 +52,12 @@ public class PUB_PD_DETAIL :PD_BASE //[Display(Name = "结算分组")] //public string GroupNum { get; set; } = null!; - public PUB_PD_DETAIL(Guid guid, string keyCode, int version, string billNum, string lU, string rELU, string pN, string rEPN, string site, decimal qty, decimal price, EnumBusinessType businessType, string invGroupNum, DateTime settleDate, string groupNum) + public PUB_PD_DETAIL(Guid guid, string keyCode, int version, string billNum, string lU, string rELU, string pN, string rEPN, string site, decimal qty, decimal price, EnumBusinessType businessType, string invGroupNum, DateTime settleDate, string groupNum + , string extend1, string extend2, string extend3, string extend4 + + + + ) { Id = guid; KeyCode = keyCode; @@ -69,6 +74,12 @@ public class PUB_PD_DETAIL :PD_BASE InvGroupNum = invGroupNum; SettleDate = settleDate; GroupNum = groupNum; + Extend1 = extend1; + Extend2 = extend2; + Extend3 = extend3; + Extend4 = extend4; + + } public PUB_PD_DETAIL() diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBillState.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBillState.cs index a0527952..46667bad 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBillState.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBillState.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; @@ -27,7 +27,9 @@ namespace Win.Sfs.SettleAccount [Description("财务已审核")] 财务已审核 = 3, [Description("已扣减")] - 已扣减 = 4, + 已扣减 = 5, + [Description("客户已收票")] + 客户已收票 = 4, } @@ -40,7 +42,11 @@ namespace Win.Sfs.SettleAccount [Description("财务已审核")] 财务已审核 = 3, [Description("已扣减")] - 已扣减 = 4, + 已扣减 = 5, + [Description("客户已收票")] + 客户已收票 = 4, + + }