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 d54d9c7c..362d2232 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs @@ -443,9 +443,32 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts public async Task ExcelImport([FromForm] IFormFileCollection files, string version) { var _billNum = "HQHKB" + DateTime.Now.ToString("yyyyMMddhhmmss"); + var checkList = new List(); ExportImporter _exportImporter = new ExportImporter(); var result = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); - var filteResult = result.Where(p => p.Kanban != "");//过滤掉看板号为空的数据 + //检验1:导入模板中的第一页签数据不能为空 + if (result == null || result.Count == 0) + { + checkList.Add(new ErrorExportDto(version, "红旗批量出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + + + var filteResult = result.Where(p => p.Kanban != "" && p.MaterialCode !="");//过滤掉看板号为空的数据 + + //检验2:导入模板中的结算数据是否为0 + foreach (var itm in filteResult) + { + if (itm.Qty == 0) + { + checkList.Add(new ErrorExportDto(version, "红旗批量出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中看板号{0}的结算数量为0,影响出库请检查!", itm.Kanban), string.Empty)); + } + } + + List _lst = new List(); var _lsCopy = new List(); foreach (var itm in filteResult) @@ -475,6 +498,24 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts _lsCopy.Add(_detail); } _lst.AddRange(_lsCopy.ToArray()); + + //检验3:导入模板中看板号+物料号,不能重复 + var _isRepeatOfReportList = from arc in _lst + group arc by new { arc.Kanban, arc.MaterialCode, arc.Version } + into g + where g.Count() > 1 + select g; + foreach (var itm in _isRepeatOfReportList) + { + checkList.Add(new ErrorExportDto(version, "红旗批量出库单", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中看板号{0}组合物料号{1}有重复,请检查!", itm.Key.Kanban, itm.Key.MaterialCode), string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + + + var outPutDetail = await _wmsRepository.Where(p => p.Version == version).ToListAsync(); @@ -486,7 +527,7 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts select itm1; var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Count() }); - var checkList = new List(); + foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs index 3d17fd02..11a9c49e 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHSharePartAppService.cs @@ -478,8 +478,28 @@ into temp1 public async Task ExcelImport([FromForm] IFormFileCollection files, string version) { var _billNum = "BHQH" + DateTime.Now.ToString("yyyyMMddhhmmss"); + var checkList = new List(); ExportImporter _exportImporter = new ExportImporter(); var result = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); + + //检验1:导入模板中的第一页签数据不能为空 + if (result == null || result.Count == 0) + { + checkList.Add(new ErrorExportDto(version, "红旗备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + //检验2:导入模板中的结算数据是否为0 + foreach (var itm in result) + { + if (itm.Qty == 0) + { + checkList.Add(new ErrorExportDto(version, "红旗备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中SAP编码{0}结算数量为0,影响出库请检查!", itm.MaterialCode), string.Empty)); + } + } + List _lst = new List(); var _lsCopy = new List(); @@ -510,6 +530,19 @@ into temp1 } _lst.AddRange(_lsCopy.ToArray()); + //检验3:导入模板中的SAP编号不能重复,按其汇总出库 + var _isRepeatOfReportList = _lst.GroupBy(x => new { x.MaterialCode, x.Version }).Select(p => new { Count = p.Count(), MaterialCode = p.Key.MaterialCode }); + foreach (var itm in _isRepeatOfReportList) + { + if (itm.Count > 1) + { + checkList.Add(new ErrorExportDto(version, "红旗备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中的SAP编码{0}有重复!", itm.MaterialCode), string.Empty)); + } + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } var outPutDetail = await _wmsRepository.Where(p => p.Version == version).ToListAsync(); @@ -521,7 +554,7 @@ into temp1 select itm1; var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Count() }); - var checkList = new List(); + foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); 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 370475db..ced3113e 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs @@ -676,9 +676,27 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts //[Authorize(SettleAccountPermissions.SettleAccounts.Default)] public async Task ExcelImport([FromForm] IFormFileCollection files, string version) { + var checkList = new List(); var _billNum = "K" + DateTime.Now.ToString("yyyyMMddhhmmss"); ExportImporter _exportImporter = new ExportImporter(); var result = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); + //检验1:导入模板中的第一页签数据不能为空 + if (result == null || result.Count == 0) + { + checkList.Add(new ErrorExportDto(version, "大众看板出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + //检验2:导入模板中的结算数据是否为0 + foreach (var itm in result) + { + if (itm.Qty == 0) + { + 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 != ""); List _lst = new List(); var _lsCopy = new List(); @@ -686,9 +704,9 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts { WmsKanbanOutPutDetial _detail = new WmsKanbanOutPutDetial( GuidGenerator.Create(), - !string.IsNullOrEmpty(itm.WmsBillNum)? itm.WmsBillNum:string.Empty, + !string.IsNullOrEmpty(itm.WmsBillNum) ? itm.WmsBillNum : string.Empty, itm.Kanban, - + itm.MaterialCode, itm.MaterialDesc, itm.MaterialGroup, @@ -710,7 +728,22 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts } _lst.AddRange(_lsCopy.ToArray()); - + //检验3:导入模板中看板号+物料号,不能重复 + var _isRepeatOfReportList = from arc in _lst + group arc by new { arc.Kanban, arc.MaterialCode,arc.Version } + into g + where g.Count() > 1 + select g; + foreach (var itm in _isRepeatOfReportList) + { + checkList.Add(new ErrorExportDto(version, "大众看板出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中看板号{0}组合物料号{1}有重复,请检查!", itm.Key.Kanban, itm.Key.MaterialCode), string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + + var outPutDetail = await _wmsRepository.Where(p => p.Version == version).ToListAsync(); @@ -722,7 +755,7 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts select itm1; var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); - var checkList = new List(); + foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); 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 2ad32740..26b9ae8c 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs @@ -11,6 +11,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Caching; using Volo.Abp.Domain.Repositories; @@ -477,9 +478,29 @@ namespace Win.Sfs.SettleAccount.Entities.WMS public async Task ExcelImport([FromForm] IFormFileCollection files, string version) { var _billNum = "B" + DateTime.Now.ToString("yyyyMMddhhmmss"); + var checkList = new List(); ExportImporter _exportImporter = new ExportImporter(); var result = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); - var filteResult = result.Where(p => p.OrderBillNum != "");//过滤掉订单号为空的数据,限制这样数据导入 + //检验1:导入模板中的第一页签数据不能为空 + if (result == null || result.Count == 0) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + + + var filteResult = result.Where(p => p.OrderBillNum != "" && p.MaterialCode !="");//过滤掉订单号为空的数据,限制这样数据导入 + //检验2:导入模板中的结算数据是否为0 + foreach (var itm in filteResult) + { + if (itm.Qty == 0) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中订单号{0}结算数量为0,影响出库请检查!", itm.OrderBillNum), string.Empty)); + } + } List _lst = new List(); var _lsCopy = new List(); @@ -514,17 +535,33 @@ namespace Win.Sfs.SettleAccount.Entities.WMS } _lst.AddRange(_lsCopy.ToArray()); + //检验3:导入模板中订单号+物料号,不能重复 + var _isRepeatOfReportList = from arc in _lst + group arc by new { arc.OrderBillNum, arc.MaterialCode } + into g + where g.Count() > 1 + select g; + foreach (var itm in _isRepeatOfReportList) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中订单号{0}组合物料号{1}有重复,请检查!", itm.Key.OrderBillNum, itm.Key.MaterialCode), string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + + var outPutDetail = await _wmsRepository.Where(p => p.Version == version).ToListAsync(); var error = from itm1 in outPutDetail join itm2 in _lst on - new { itm1.MaterialCode } + new { itm1.OrderBillNum, itm1.MaterialCode } equals - new { itm2.MaterialCode } + new {itm2.OrderBillNum, itm2.MaterialCode } select itm1; var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); - var checkList = new List(); + foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs index 3f598668..89caac53 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePartAppService.cs @@ -638,13 +638,30 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts //[Authorize(SettleAccountPermissions.SettleAccounts.Default)] public async Task ExcelImport([FromForm] IFormFileCollection files, string version) { - + var checkList = new List(); ExportImporter _exportImporter = new ExportImporter(); var result = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); + //检验1:导入模板中的第一页签数据不能为空 + if (result == null || result.Count == 0) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } - if (result == null) + //检验2:导入模板中的结算数据是否为0 + foreach (var itm in result) + { + if (itm.Qty == 0) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中物料号{0}结算数量为0,影响出库请检查!", itm.MaterialCode), string.Empty)); + } + } + if (checkList.Count > 0) { - throw new BusinessException("导入的模板中没有数据,不能为空,请检查!"); + return await ExportErrorReportAsync(checkList); } var result90 = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); @@ -689,6 +706,20 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts } _lst.AddRange(_lsCopy.ToArray()); + //检验3:导入模板中的SAP编号不能重复,按其汇总出库 + var _isRepeatOfReportList = _lst.GroupBy(x => new { x.MaterialCode, x.Version }).Select(p => new { Count = p.Count(), MaterialCode = p.Key.MaterialCode }); + foreach (var itm in _isRepeatOfReportList) + { + if (itm.Count > 1) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中的物料编码{0}有重复!", itm.MaterialCode), string.Empty)); + } + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + //var _ls1 = _lst.Where(p => p.ParentMaterialCode == p.MaterialCode).ToList(); var outPutDetail = await _wmsRepository.Where(p => p.Version == version).ToListAsync(); @@ -701,7 +732,7 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); - var checkList = new List(); + foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); @@ -771,6 +802,21 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts } _lst.AddRange(_lsCopy.ToArray()); + //检验3:导入模板中的订单号+物料号不能重复 + var _isRepeatOfReportList = _lst.GroupBy(x => new { x.MaterialCode,x.OrderBillNum, x.Version }).Select(p => new { Count = p.Count(), MaterialCode = p.Key.MaterialCode, OrderBillNum =p.Key.OrderBillNum}); + foreach (var itm in _isRepeatOfReportList) + { + if (itm.Count > 1) + { + checkList.Add(new ErrorExportDto(version, "大众备件出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中订单号{0}组合物料号{1}有重复,请检查!!",itm.OrderBillNum, itm.MaterialCode), string.Empty)); + } + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + + var outPutDetail = await _wmsRepository90.Where(p => p.Version == version).ToListAsync(); @@ -784,7 +830,6 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Sum(itm => itm.Qty) }); - var checkList = new List(); foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQCarAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQCarAppService.cs index c62ecf21..8c1078b1 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQCarAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQCarAppService.cs @@ -11,6 +11,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Caching; using Volo.Abp.Domain.Repositories; @@ -411,8 +412,27 @@ namespace Win.Sfs.SettleAccount.Entities.WMS public async Task ExcelImport([FromForm] IFormFileCollection files, string version) { var _billNum = "BCar" + DateTime.Now.ToString("yyyyMMddhhmmss"); + var checkList = new List(); ExportImporter _exportImporter = new ExportImporter(); var result = await _exportImporter.ExtendExcelOfSheetOneImport(files, _excelImportService); + //检验1:导入模板中的第一页签数据不能为空 + if (result == null || result.Count == 0) + { + checkList.Add(new ErrorExportDto(version, "轿车出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + //检验2:导入模板中的结算数据是否为0 + foreach (var itm in result) + { + if (itm.Qty == 0) + { + checkList.Add(new ErrorExportDto(version, "轿车出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中SAP编码{0}结算数量为0,影响出库请检查!", itm.MaterialCode), string.Empty)); + } + } + List _lst = new List(); var _lsCopy = new List(); @@ -445,6 +465,20 @@ namespace Win.Sfs.SettleAccount.Entities.WMS _lsCopy.Add(_detail); } _lst.AddRange(_lsCopy.ToArray()); + //检验3:导入模板中的SAP编号不能重复,按其汇总出库 + var _isRepeatOfReportList = _lst.GroupBy(x => new { x.MaterialCode, x.Version }).Select(p => new { Count = p.Count(), MaterialCode = p.Key.MaterialCode }); + foreach (var itm in _isRepeatOfReportList) + { + if (itm.Count > 1) + { + checkList.Add(new ErrorExportDto(version, "轿车出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中的SAP编码{0}有重复!", itm.MaterialCode), string.Empty)); + } + } + if (checkList.Count > 0) + { + return await ExportErrorReportAsync(checkList); + } + var outPutDetail = await _wmsRepository.Where(p => p.Version == version).ToListAsync(); @@ -457,11 +491,20 @@ namespace Win.Sfs.SettleAccount.Entities.WMS select itm1; var errList = error.GroupBy(p => new { p.BillNum }).Select(p => new { BillNum = p.Key.BillNum, Number = p.Count() }); - var checkList = new List(); + //检验4:出库单号不能重复 foreach (var itm in errList) { checkList.Add(new ErrorExportDto() { Message = string.Format("出库单号:{0}重复记录数:{1}条", itm.BillNum, itm.Number) }); } + ////检验5,SAP编码在数据库中是否重复 + //var _isRepeatOfDataBaseList = error.GroupBy(x => new { x.MaterialCode, x.Version }).Select(p => new { Count = p.Count(), MaterialCode = p.Key.MaterialCode }); + //foreach (var itm in _isRepeatOfDataBaseList) + //{ + // if (itm.Count > 1) + // { + // checkList.Add(new ErrorExportDto(version, "轿车出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("当期出库单中的SAP编码{0}在数据库中已经存在!", itm.MaterialCode), string.Empty)); + // } + //} if (checkList.Count > 0) { return await ExportErrorReportAsync(checkList); 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 d096315e..25210685 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs @@ -161,8 +161,21 @@ namespace Win.Sfs.SettleAccount.Entities.WMS [UnitOfWork(false)] virtual public async Task OutputAsync(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 }); + } + + if (!string.IsNullOrEmpty(input.MaterialGroup)) + { + input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "MaterialGroup", Logic = EnumFilterLogic.And, Value = input.MaterialGroup }); + } + //input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, int.MaxValue, 0, true); List _ls = new List(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Domain/Settings/Helper.cs b/src/Modules/SettleAccount/src/SettleAccount.Domain/Settings/Helper.cs index 090d7749..3ef41a9a 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Domain/Settings/Helper.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Domain/Settings/Helper.cs @@ -12,6 +12,7 @@ using System.Reflection; using System.Text; using System.Threading; using System.Threading.Tasks; +using Volo.Abp; using Win.Sfs.SettleAccount.Entities.ImportMap; namespace Win.Sfs.SettleAccount @@ -290,6 +291,10 @@ namespace Win.Sfs.SettleAccount } } IRow firstRow = sheet.GetRow(0); + if (firstRow == null) + { + throw new BusinessException("导入模板中sheet页为空,请检查!"); + } int cellCount = firstRow.LastCellNum; Dictionary _dicList = new Dictionary(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs index 5de223ee..9d05c644 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs @@ -11637,6 +11637,116 @@ namespace Win.Sfs.SettleAccount.Migrations b.ToTable("Set_WmsDetailReport"); }); + modelBuilder.Entity("Win.Sfs.SettleAccount.Entities.WmsDetailWithCodeReport", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("BillNum") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("BranchId") + .HasColumnType("uniqueidentifier"); + + b.Property("Client") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DiffQty") + .HasColumnType("decimal(18,2)"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("MaterialCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialDesc") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("MaterialGroup") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MaterialGroupCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("OutputQty") + .HasColumnType("decimal(18,2)"); + + b.Property("Qty") + .HasColumnType("decimal(18,2)"); + + b.Property("Remark") + .HasColumnType("nvarchar(max)"); + + b.Property("Remark1") + .HasColumnType("nvarchar(max)"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("SwitchCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Set_WmsDetailWithCodeReport"); + }); + modelBuilder.Entity("Win.Sfs.SettleAccount.EstimatedInventories.EstimatedInventoryDetail", b => { b.Property("Id")