diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs index d5fe277e..ad3a308c 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs @@ -457,7 +457,7 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts } - var filteResult = result.Where(p => p.Kanban != "" && p.MaterialCode !="");//过滤掉看板号为空的数据 + var filteResult = result.Where(p =>!string.IsNullOrEmpty(p.Kanban));//过滤掉看板号为空的数据 //检验2:导入模板中的结算数据是否为0 foreach (var itm in filteResult) diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs index 34efa817..110bc02c 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs @@ -697,7 +697,9 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts checkList.Add(new ErrorExportDto(version, "大众看板出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中看板号{0}的结算数量为0,影响出库请检查!", itm.Kanban), string.Empty)); } } - var filteResult = result.Where(p => p.Kanban != ""); + //发现导入模板中存在空行,直接过滤掉 + var filteResult = result.Where(p =>!string.IsNullOrEmpty(p.Kanban)); + List _lst = new List(); var _lsCopy = new List(); foreach (var itm in filteResult) diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs index 26b9ae8c..e37f500f 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs @@ -492,7 +492,7 @@ namespace Win.Sfs.SettleAccount.Entities.WMS } - var filteResult = result.Where(p => p.OrderBillNum != "" && p.MaterialCode !="");//过滤掉订单号为空的数据,限制这样数据导入 + var filteResult = result.Where(p =>!string.IsNullOrEmpty(p.OrderBillNum));//过滤掉订单号为空的数据,限制这样数据导入 //检验2:导入模板中的结算数据是否为0 foreach (var itm in filteResult) { diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsDetailUnInterface.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsDetailUnInterface.cs index dde7096f..f9495796 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsDetailUnInterface.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsDetailUnInterface.cs @@ -2,6 +2,7 @@ using EFCore.BulkExtensions; using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Excel; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Shouldly; using System; @@ -28,6 +29,7 @@ using Win.Sfs.Shared.Filter; namespace Win.Sfs.SettleAccount.Entities.WMS { + [Authorize(SettleAccountPermissions.WMSJIT.Default)] [Route("api/settleaccount/WMSOutputDetailDiffReport")] public class WMSOutputDetailDiffReportAppService : SettleAccountApplicationBase @@ -115,6 +117,16 @@ namespace Win.Sfs.SettleAccount.Entities.WMS virtual public async Task> GetListAsync(WmsRequestDetailReportDto input) { input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); + //客户过滤 + if (!string.IsNullOrEmpty(input.Client)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Client", Logic = EnumFilterLogic.And, Value = input.Client }); + } + //出库类型 + if (!string.IsNullOrEmpty(input.Type)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Type", Logic = EnumFilterLogic.And, Value = input.Type }); + } var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, input.MaxResultCount, input.SkipCount, true); var totalCount = await GetCountAsync(input); @@ -160,6 +172,16 @@ namespace Win.Sfs.SettleAccount.Entities.WMS virtual public async Task ExportAsync(WmsRequestDetailReportDto input) { input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); + //客户过滤 + if (!string.IsNullOrEmpty(input.Client)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Client", Logic = EnumFilterLogic.And, Value = input.Client }); + } + //出库类型 + if (!string.IsNullOrEmpty(input.Type)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Type", Logic = EnumFilterLogic.And, Value = input.Type }); + } var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, int.MaxValue, 0, true); var dtoDetails = ObjectMapper.Map, List>(entities); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs index 99f8ae42..8fa16dd7 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs @@ -2,6 +2,7 @@ using EFCore.BulkExtensions; using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Excel; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Shouldly; using System; @@ -28,6 +29,7 @@ using Win.Sfs.Shared.Filter; namespace Win.Sfs.SettleAccount.Entities.WMS { + [Authorize(SettleAccountPermissions.WMSJIT.Default)] [Route("api/settleaccount/WMSOutputSumReport")] public class WMSOutputSumReportAppService : SettleAccountApplicationBase diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnSumInterface.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnSumInterface.cs index f86fb613..a87e60d0 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnSumInterface.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnSumInterface.cs @@ -1,6 +1,7 @@ using EFCore.BulkExtensions; using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Excel; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Shouldly; using System; @@ -23,6 +24,7 @@ using Win.Sfs.Shared.Filter; namespace Win.Sfs.SettleAccount.Entities.WMS { + [Authorize(SettleAccountPermissions.WMSJIT.Default)] [Route("api/settleaccount/WMSOutputDetailWithCodeReport")] public class WMSOutputDetailWithCodeReportAppService : SettleAccountApplicationBase @@ -94,7 +96,12 @@ namespace Win.Sfs.SettleAccount.Entities.WMS itm.物料组车型, itm.物料描述, itm.备注, - 0)); + 0, + itm.行号, + itm.开票单价, + itm.物料组编码, + itm.结算金额 + )); } } await _wmsRepository.GetDbContext().BulkInsertAsync(_lst); @@ -111,6 +118,16 @@ namespace Win.Sfs.SettleAccount.Entities.WMS virtual public async Task> GetListAsync(WmsRequestDetailReportDto input) { input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); + //客户过滤 + if (!string.IsNullOrEmpty(input.Client)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Client", Logic = EnumFilterLogic.And, Value = input.Client }); + } + //出库类型 + if (!string.IsNullOrEmpty(input.Type)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Type", Logic = EnumFilterLogic.And, Value = input.Type }); + } var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, input.MaxResultCount, input.SkipCount, true); var totalCount = await GetCountAsync(input); @@ -137,12 +154,22 @@ namespace Win.Sfs.SettleAccount.Entities.WMS virtual public async Task ExportAsync(WmsRequestDetailReportDto input) { input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); + //客户过滤 + if (!string.IsNullOrEmpty(input.Client)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Client", Logic = EnumFilterLogic.And, Value = input.Client }); + } + //出库类型 + if (!string.IsNullOrEmpty(input.Type)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Type", Logic = EnumFilterLogic.And, Value = input.Type }); + } var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, int.MaxValue, 0, true); var dtoDetails = ObjectMapper.Map, List>(entities); IExporter _excel = new ExcelExporter(); byte[] result = null; - var _fileName = string.Format("差异清单(有条码)报表_{0}.xlsx", Guid.NewGuid().ToString()); + var _fileName = string.Format("差异清单(有单号)报表_{0}.xlsx", Guid.NewGuid().ToString()); result = await _excel.ExportAsByteArray(dtoDetails); result.ShouldNotBeNull(); //保存导出文件到服务器存成二进制 diff --git a/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/WmsDetailReport.cs b/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/WmsDetailReport.cs index 1e2e15af..c4ace711 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/WmsDetailReport.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/WmsDetailReport.cs @@ -182,7 +182,11 @@ namespace Win.Sfs.SettleAccount.Entities { } - public WmsDetailWithCodeReport(Guid id, string client, string type, string version, string billNum, string switchCode, string materialCode, decimal qty, decimal outputQty, decimal diffQty, string materialGroupCode, string materialGroup, string materialDesc, string remark1, int state) : base(id) + public WmsDetailWithCodeReport(Guid id, string client, string type, string version, + string billNum, string switchCode, string materialCode, decimal qty, + decimal outputQty, decimal diffQty, string materialGroupCode, string materialGroup, + string materialDesc, string remark1, int state,string lineNumber, + decimal price,string estimateType,decimal amt) : base(id) { Version = version; Type = type; @@ -193,13 +197,27 @@ namespace Win.Sfs.SettleAccount.Entities Qty = qty; OutputQty = outputQty; DiffQty = diffQty; - MaterialGroupCode = materialGroupCode; + EstimateType = materialGroupCode; MaterialGroup = materialGroup; MaterialDesc = materialDesc; Remark1 = remark1; State = state; + LineNumber = lineNumber; + //CNumber = cNumber; + Price = price; + Amt = amt; } + [Display(Name = "结算金额")] + public decimal Amt { set; get; } + + + [Display(Name = "行号")] + public string LineNumber { set; get; } + + //[Display(Name = "通用代码号")] + //public string CNumber { set; get; } + [Display(Name = "版本号")] public string Version { set; get; } @@ -207,6 +225,7 @@ namespace Win.Sfs.SettleAccount.Entities public string Client { set; get; } [Display(Name = "出库类型")] public string Type { set; get; } + //[Display(Name = "结算编码")] //public string SettleCode { set; get; } //[Display(Name = "销售渠道")] @@ -218,8 +237,6 @@ namespace Win.Sfs.SettleAccount.Entities [Display(Name = "交货编码")] public string SwitchCode { set; get; } - [Display(Name = "物料号")] - public string MaterialCode { set; get; } //[Display(Name = "寄售类别")] //public string SaleType { set; get; } [Display(Name = "结算数量")] @@ -228,16 +245,19 @@ namespace Win.Sfs.SettleAccount.Entities public decimal OutputQty { set; get; } [Display(Name = "差异数量")] public decimal DiffQty { set; get; } - //[Display(Name = "开票单价")] - //public decimal Price { set; get; } + [Display(Name = "开票单价")] + public decimal Price { set; get; } //[Display(Name = "结算金额")] //public decimal Amt { set; get; } //[Display(Name = "已出库金额")] //public decimal OutPutAmt { set; get; } //[Display(Name = "WMS待出库金额")] //public decimal DiffAmt { set; get; } + + [Display(Name = "物料号")] + public string MaterialCode { set; get; } [Display(Name = "物料组编码")] - public string MaterialGroupCode { set; get; } + public string EstimateType { set; get; } [Display(Name = "物料组(车型)")] public string MaterialGroup { set; get; } [Display(Name = "物料组描述")] diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs index 27586979..bc7bcc6d 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs @@ -632,7 +632,7 @@ namespace Win.Sfs.SettleAccount b.Property(x => x.MaterialDesc).HasMaxLength(150); b.Property(x => x.MaterialGroup).HasMaxLength(50); - b.Property(x => x.MaterialGroupCode).HasMaxLength(50); + b.Property(x => x.EstimateType).HasMaxLength(50); //创建组合索引 diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs index 9d05c644..5a2a7651 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs @@ -11643,6 +11643,9 @@ namespace Win.Sfs.SettleAccount.Migrations .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier"); + b.Property("Amt") + .HasColumnType("decimal(18,2)"); + b.Property("BillNum") .IsRequired() .HasMaxLength(50) @@ -11651,6 +11654,9 @@ namespace Win.Sfs.SettleAccount.Migrations b.Property("BranchId") .HasColumnType("uniqueidentifier"); + b.Property("CNumber") + .HasColumnType("nvarchar(max)"); + b.Property("Client") .IsRequired() .HasMaxLength(50) @@ -11684,6 +11690,10 @@ namespace Win.Sfs.SettleAccount.Migrations b.Property("Enabled") .HasColumnType("bit"); + b.Property("EstimateType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + b.Property("ExtraProperties") .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); @@ -11702,6 +11712,9 @@ namespace Win.Sfs.SettleAccount.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LineNumber") + .HasColumnType("nvarchar(max)"); + b.Property("MaterialCode") .HasMaxLength(50) .HasColumnType("nvarchar(50)"); @@ -11714,13 +11727,12 @@ namespace Win.Sfs.SettleAccount.Migrations .HasMaxLength(50) .HasColumnType("nvarchar(50)"); - b.Property("MaterialGroupCode") - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - b.Property("OutputQty") .HasColumnType("decimal(18,2)"); + b.Property("Price") + .HasColumnType("decimal(18,2)"); + b.Property("Qty") .HasColumnType("decimal(18,2)"); diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs index f0ab200e..9a4f3aad 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs @@ -202,6 +202,102 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report [ExporterHeader(DisplayName = "已出库")] public string 已出库 { set; get; } + } + + + public class WmsOutputtSearchWithCode + { + [ImporterHeader(Name = "行号")] + [ExporterHeader(DisplayName = "行号")] + public string 行号 { set; get; } + [ImporterHeader(Name = "客户")] + [ExporterHeader(DisplayName = "客户")] + public string 客户 { set; get; } + [ImporterHeader(Name = "出库类型")] + [ExporterHeader(DisplayName = "出库类型")] + public string 出库类型 { set; get; } + + + //[ImporterHeader(Name = "结算编码")] + //[ExporterHeader(DisplayName = "结算编码")] + //public string 结算编码 { set; get; } + //[ImporterHeader(Name = "销售渠道")] + //[ExporterHeader(DisplayName = "销售渠道")] + //public string 销售渠道 { set; get; } + //[ImporterHeader(Name = "客户代码")] + //[ExporterHeader(DisplayName = "客户代码")] + //public string 客户代码 { set; get; } + [ImporterHeader(Name = "结算单")] + [ExporterHeader(DisplayName = "结算单")] + public string 结算单 { set; get; } + [ImporterHeader(Name = "物料号")] + [ExporterHeader(DisplayName = "物料号")] + public string 物料号 { set; get; } + [ImporterHeader(Name = "条码号")] + [ExporterHeader(DisplayName = "条码号")] + public string 通用代码号 { set; get; } + [ImporterHeader(Name = "寄售类别")] + [ExporterHeader(DisplayName = "寄售类别")] + //public string 寄售类别 { set; get; } + //[ImporterHeader(Name = "结算数量")] + //[ExporterHeader(DisplayName = "结算数量")] + public decimal 结算数量 { set; get; } + [ImporterHeader(Name = "实际出库数量")] + [ExporterHeader(DisplayName = "实际出库数量")] + public decimal 实际出库数量 { set; get; } + [ImporterHeader(Name = "差异数量")] + [ExporterHeader(DisplayName = "差异数量")] + public decimal 差异数量 { set; get; } + [ImporterHeader(Name = "开票单价")] + [ExporterHeader(DisplayName = "开票单价")] + public decimal 开票单价 { set; get; } + [ImporterHeader(Name = "结算金额")] + [ExporterHeader(DisplayName = "结算金额")] + public decimal 结算金额 { set; get; } + + //[ImporterHeader(Name = "已出库金额")] + //[ExporterHeader(DisplayName = "已出库金额")] + //public decimal 已出库金额 { set; get; } + //[ImporterHeader(Name = "WMS待出库金额")] + //[ExporterHeader(DisplayName = "WMS待出库金额")] + //public decimal WMS待出库金额 { set; get; } + [ImporterHeader(Name = "物料组编码")] + [ExporterHeader(DisplayName = "物料组编码")] + public string 物料组编码 { set; get; } + [ImporterHeader(Name = "物料组车型")] + [ExporterHeader(DisplayName = "物料组车型")] + public string 物料组车型 { set; get; } + [ImporterHeader(Name = "物料描述")] + [ExporterHeader(DisplayName = "物料描述")] + public string 物料描述 { set; get; } + [ImporterHeader(Name = "备注")] + [ExporterHeader(DisplayName = "备注")] + public string 备注 { set; get; } + + + + //public string 行号 { set; get; } + //public string 客户 { set; get; } + //public string 出库类型 { set; get; } + //public string 结算单 { set; get; } + //public string 物料号 { set; get; } + //public string 通用代码号 { set; get; } + //public string 结算数量 { set; get; } + //public string 实际出库数量 { set; get; } + //public string 差异数量 { set; get; } + //public string 开票单价 { set; get; } + //public string 结算金额 { set; get; } + //public string WMS待出库金额 { set; get; } + //public string 物料组编码 { set; get; } + //public string 物料组车型 { set; get; } + //public string 物料描述 { set; get; } + + //public string 备注 { set; get; } + + + + + } @@ -911,7 +1007,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report /// /// /// - public virtual List GetWmsSearchWithCodeReportList(string version, string state) + public virtual List GetWmsSearchWithCodeReportList(string version, string state) { var _sql = "SELECT\n" + " ROW_NUMBER ( ) OVER ( ORDER BY Type DESC ) 行号 ,\n" + @@ -1002,7 +1098,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report _sql = string.Format(_sql, version, state); - var _query = DbConnection.Query(_sql, null, null, true, 1200, null); + var _query = DbConnection.Query(_sql, null, null, true, 1200, null); return _query.ToList(); }