diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/ErrorListBill/ErrorBillAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/ErrorListBill/ErrorBillAppService.cs index 9533937b..a33b8cef 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/ErrorListBill/ErrorBillAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/ErrorListBill/ErrorBillAppService.cs @@ -44,7 +44,7 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills /// /// 物料主数据应用服务 /// - // [Authorize(SettleAccountPermissions.ErrorBills.Default)] + // [Authorize(SettleAccountPermissions.ErrorBills.Default)] //[AllowAnonymous] [Route("api/settleaccount/ErrorBill")] public class ErrorBillAppService : SettleAccountApplicationBase @@ -71,11 +71,11 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills ISettleAccountBranchEfCoreRepository repository, ISettleAccountBranchEfCoreRepository mapRepository, ISettleAccountBranchEfCoreRepository bomRepository, - ISettleAccountBranchEfCoreRepository bomversionRepository, - TaskJobService service, + ISettleAccountBranchEfCoreRepository bomversionRepository, + TaskJobService service, //ISettleAccountBranchEfCoreRepository relationshipRepository, - ISettleAccountBranchEfCoreRepository priceRepository, - ISettleAccountBranchEfCoreRepository priceversionRepository, + ISettleAccountBranchEfCoreRepository priceRepository, + ISettleAccountBranchEfCoreRepository priceversionRepository, IDistributedCache cache, IExcelImportAppService excelImportService, @@ -92,7 +92,6 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills //_relationshipRepository = relationshipRepository; _mapRepository = mapRepository; _bomversionRepository = bomversionRepository; - } @@ -143,7 +142,7 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills var checkList = new List(); foreach (var itm in _ls) { - var _first = await _repository.FirstOrDefaultAsync(p => p.BillNum == itm.BillNum && p.MaterialCode==itm.MaterialCode && p.WmsBillNum==itm.WmsBillNum); + var _first = await _repository.FirstOrDefaultAsync(p => p.BillNum == itm.BillNum && p.CustomerMaterialCode==itm.CustomerMaterialCode && p.WmsBillNum==itm.WmsBillNum); if (_first == null) { var entity = new ErrorBill( @@ -194,10 +193,6 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills } - - - ///// - /// /// 根据筛选条件获取实体列表 /// @@ -248,18 +243,6 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills } - - - - /// - /// 新增实体 - /// - /// 新增实体DTO - /// 实体DTO - - - - /// /// 删除实体 /// @@ -302,16 +285,11 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills string _fileName = string.Format("错误单据输出_{0}.xlsx", DateTime.Now.ToString("yyyyMMdd")); var entities = await _repository.GetListByFilterAsync(input.BranchId, input.Filters, input.Sorting, int.MaxValue, 0, true); - var dtoDetails = ObjectMapper.Map, List>(entities); - //声明导出容器 ExportImporter _exportImporter = new ExportImporter(); - var result = await _exportImporter.ExcelExporter(dtoDetails); - result.ShouldNotBeNull(); - //保存导出文件到服务器存成二进制 await _excelImportService.SaveBlobAsync( new SaveExcelImportInputDto @@ -322,10 +300,5 @@ namespace Win.Sfs.SettleAccount.Entities.ErrorBills ); return _fileName; } - - - - - } } diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs index 4e909b76..6df0c8fb 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs @@ -58,6 +58,24 @@ namespace SettleAccount.Job.Services var materialGroup = p_list.Where(p => p.Name == "MaterialGroup").FirstOrDefault().Value; var sapCode = p_list.Where(p => p.Name == "SapCode").FirstOrDefault().Value; var _ls = _dapperRepository.GetInvoiceSettledDetailDiffReportList(version, materialCode, begin, end, cp7begin, cp7end, kenncode, chassisNumber, materialGroup); + + + var _checkList = _errorListRepository.ToList(); + + var query = from itm in _ls + join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } +equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 + from tm1 in temp1.DefaultIfEmpty() + where tm1 == null + select itm; + + _ls = query.ToList(); + + + + + + var _list = _ls.Where(p => p.ParentSapMaterialCode != p.SapMaterialCode).GroupBy(p => new { p.ParentSapMaterialCode, p.ChassisNumber, p.KENNCode }) .Select(p => p.FirstOrDefault()).ToList(); @@ -191,17 +209,10 @@ namespace SettleAccount.Job.Services } - var _checkList = _errorListRepository.ToList(); - - var query = from itm in _ls - join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode,WmsBillNum=itm.WmsBillNum } -equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 - from tm1 in temp1.DefaultIfEmpty() - where tm1 == null - select itm; + - _outputService.Export(id, _filename, query.ToList()); + _outputService.Export(id, _filename, _ls.ToList()); return id.ToString(); } diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs index 99c06d6d..b2ecafda 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs @@ -11,7 +11,9 @@ using TaskJob.Interfaces; using Volo.Abp.BlobStoring; using Volo.Abp.DependencyInjection; using Win.Sfs.BaseData.ImportExcelCommon; +using Win.Sfs.SettleAccount; using Win.Sfs.SettleAccount.Entities.UnSettle; +using Win.Sfs.SettleAccount.Errors; using Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report; namespace SettleAccount.Job.Services.Report @@ -51,12 +53,13 @@ namespace SettleAccount.Job.Services.Report private readonly ErpPartDapperRepository _erpdapperRepository; private readonly UnSettledDetailDapperRepository _dapper1; private readonly IBlobContainer _fileContainer; - + private readonly ISettleAccountBranchEfCoreRepository _errorListRepository; public UnSettleDiffExportService(UnSettleDiffDapperRepository dapper, OutputService outputService, UnSettledDetailDapperRepository dapper1, ErpPartDapperRepository erpdapperRepository, IBlobContainer fileContainer, - UnSettledDetailDapperRepository dapper2 + UnSettledDetailDapperRepository dapper2, + ISettleAccountBranchEfCoreRepository errorListRepository ) { _erpdapperRepository = erpdapperRepository; @@ -65,6 +68,7 @@ namespace SettleAccount.Job.Services.Report _dapper1 = dapper1; _fileContainer = fileContainer; _dapper2 = dapper2; + _errorListRepository = errorListRepository; } public string ExportFile(Guid id, List exportName, List p_list) @@ -83,6 +87,21 @@ namespace SettleAccount.Job.Services.Report var _ls = new List(); _ls = _dapper.GetDiffReport1(0,begin,end, materialCode,kenncode,chassisNumber,version); + var _checkList = _errorListRepository.ToList(); + + var q = from itm in _ls + join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } +equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 + from tm1 in temp1.DefaultIfEmpty() + where tm1 == null + select itm; + + _ls = q.ToList(); + + + + + //foreach (var itm in _ls) //{ // if (itm.KENNCode.Length > 8) @@ -331,20 +350,15 @@ namespace SettleAccount.Job.Services.Report - - //foreach (var itm in _list) - //{ - // if (itm.UnSettleQty > 0) - // { - // itm.UnSettleQty = 1; - // } - // itm.DiffQty = itm.Qty - itm.UnSettleQty; - // if (itm.DiffQty == 0) - // { - // itm.DiffAMT = 0; - // } - //} + var _checkList = _errorListRepository.ToList(); + var q= from itm in _list + join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } +equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 + from tm1 in temp1.DefaultIfEmpty() + where tm1 == null + select itm; + _list = q.ToList(); var _ls = _list.Where(p => p.Flag != "L" ).Where(p => p.ParentSapMaterialCode != p.SapMaterialCode).Where(p => !p.ParentSapMaterialCode.Contains(",")).GroupBy(p => new { p.KENNCode, p.ChassisNumber, p.ParentSapMaterialCode }).Select(p => p.FirstOrDefault()).ToList(); var _compareLs = _ls.Where(p => p.DiffQty == 0).Select(p => new { p.ChassisNumber, p.KENNCode, p.ParentSapMaterialCode }); @@ -378,14 +392,7 @@ namespace SettleAccount.Job.Services.Report rangeList = query.ToList(); - //_lst.ForEach(p => - //{ - - // p.Qty = 1; - // p.DiffAMT = 0; - // p.DiffQty = 1; - //} - //); + _list.AddRange(rangeList); if (!string.IsNullOrEmpty(materialGroup)) { diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettledSumService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettledSumService.cs index 88dbf50a..97fb6576 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettledSumService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettledSumService.cs @@ -135,6 +135,15 @@ namespace SettleAccount.Job.Services.Report var datetime = date.ToShortDateString() + " 23:59:59 "; var _list = _dapper.GetDiffReport(DateTime.Now.Year.ToString(), begin, datetime, "", version, materailCode, materialGroup, ""); + var _checkList = _errorListRepository.ToList(); + var query = from itm in _list + join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } +equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 + from tm1 in temp1.DefaultIfEmpty() + where tm1 == null + select itm; + _list = query.ToList(); + var _ls = _list.Where(p => p.Flag != "L").Where(p => p.ParentSapMaterialCode != p.SapMaterialCode).GroupBy(p => new { p.KENNCode, p.ChassisNumber, p.ParentSapMaterialCode }).Select(p => p.FirstOrDefault()).ToList(); var _lst = _erpDapper.GetSapList(_ls, version, false); _lst.ForEach(p => @@ -193,15 +202,6 @@ namespace SettleAccount.Job.Services.Report } - var _checkList = _errorListRepository.ToList(); - - var query = from itm in _list - join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } -equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 - from tm1 in temp1.DefaultIfEmpty() - where tm1 == null - select itm; - _list = query.ToList(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs index 76d39a84..5f75fb18 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs @@ -56,6 +56,20 @@ namespace SettleAccount.Job.Services.Report var _list = _dapper.GetDiffReport(DateTime.Now.Year.ToString(), begin, end, customerCode, version,materailCode,materialGroup,sapcode); + + var _checkList = _errorListRepository.ToList(); + + var query = from itm in _list + join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } +equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 + from tm1 in temp1.DefaultIfEmpty() + where tm1 == null + select itm; + + _list = query.ToList(); + + + var _ls = _list.Where(p => p.Flag != "L" ).Where(p=>p.ParentSapMaterialCode!=p.SapMaterialCode).GroupBy(p => new { p.KENNCode, p.ChassisNumber, p.ParentSapMaterialCode }).Select(p => p.FirstOrDefault()).ToList(); var _lst= _erpDapper.GetSapList(_ls, version, false); _lst.ForEach(p => @@ -110,16 +124,6 @@ namespace SettleAccount.Job.Services.Report - var _checkList = _errorListRepository.ToList(); - - var query = from itm in _ls - join itm1 in _checkList on new { ChassisNumber = itm.ChassisNumber, MaterialCode = itm.MaterialCode, WmsBillNum = itm.WmsBillNum } -equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.MaterialCode, WmsBillNum = itm1.WmsBillNum } into temp1 - from tm1 in temp1.DefaultIfEmpty() - where tm1 == null - select itm; - - _list = query.ToList(); // var removeList= _dapper.GetRemoveDetail();