Browse Source

更新版本

branch_ccpg_220107
Administrator 3 years ago
parent
commit
30147a701d
  1. BIN
      .vs/Win.Sfs.SmartSettlementSystem.PG/v16/.suo
  2. 2
      src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json
  3. 2
      src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml
  4. 6
      src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/UnSettle/UnSettleDetailReport.cs
  5. 7
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs
  6. 7
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettledDetailDapperRepository.cs
  7. 4
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs
  8. 8
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleDoorPanelExportService.cs
  9. 14
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnInvoiceSettledDetailDiffExportService.cs
  10. 187
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs
  11. 11
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs

BIN
.vs/Win.Sfs.SmartSettlementSystem.PG/v16/.suo

Binary file not shown.

2
src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json

@ -11,7 +11,7 @@
//"SettleAccountService": "Server=127.0.0.1;Database=SettleAccountService;user id=sa;Password=1;"
"Default": "Server=192.168.0.140;Database=ABP;User ID=sa;Password=Microsoft2008;",
"SettleAccountService": "Server=192.168.0.140;Database=SettleAccountService;user id=sa;password=Microsoft2008;",
"WmsService": "Server=192.168.0.140;Database=CPAT_WMS_TEST;user id=sa;password=Microsoft2008;"
//"WmsService": "Server=192.168.0.140;Database=CPAT_WMS_TEST;user id=sa;password=Microsoft2008;"
},
"Logging": {

2
src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml

@ -2763,7 +2763,7 @@
<param name="state"></param>
<returns></returns>
</member>
<member name="M:Win.Sfs.SettleAccount.Reports.ReportServices.ReportService.InvoiceSettledDiffMake(System.String,System.String,System.String,System.Collections.Generic.List{System.String},System.String,System.String,System.String)">
<member name="M:Win.Sfs.SettleAccount.Reports.ReportServices.ReportService.InvoiceSettledDiffMake(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
1.大众发票与结算核对汇总表
</summary>

6
src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/UnSettle/UnSettleDetailReport.cs

@ -50,6 +50,12 @@ namespace Win.Sfs.SettleAccount.Entities.UnSettle
[ExporterHeader(DisplayName = "大众R3未结数量")]
public decimal UnSettleQty { set; get; }
[ExporterHeader(DisplayName = "差异金额")]
public decimal DiffAMT { set; get; }
[ExporterHeader(DisplayName = "差异数量")]
public decimal DiffQty { set; get; }
[ExporterHeader(DisplayName = "漏结标识 ")]
public string Flag { set; get; }
[ExporterHeader(DisplayName = "漏结期间 ")]

7
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs

@ -154,7 +154,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" isnull( t1.UNSettleQty, 0 ) * isnull( T2.Price, 0 ) AMT,\n" +
" T2.Price,\n" +
" Qty -(\n" +
" ISNULL( UnSettleQty, 0 )) DiffQty \n" +
" ISNULL( UnSettleQty, 0 )) DiffQty ,\n" +
" (Qty - (ISNULL(UnSettleQty, 0))) * isnull(T2.Price, 0) DiffAmt \n"+
"FROM\n" +
" (\n" +
" SELECT\n" +

7
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettledDetailDapperRepository.cs

@ -60,7 +60,8 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" SELECT\n" +
" temp1.*,\n" +
" temp2.Price,\n" +
" ISNULL( temp1.QTY, 0 )* ISNULL( temp2.Price, 0 ) AMT \n" +
" ISNULL( temp1.QTY, 0 )* ISNULL( temp2.Price, 0 ) AMT, \n" +
" ISNULL( temp1.DiffQty, 0 )* ISNULL( temp2.Price, 0 ) DiffAMT \n" +
" FROM\n" +
" (\n" +
" SELECT\n" +
@ -69,7 +70,9 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" B.EstimateTypeDesc MaterialGroup,\n" +
" B.MaterialDesc MaterialDesc,\n" +
" d.MaterialDesc ParentMaterialDesc,\n" +
" B.MaterialCode SapMaterialCode \n" +
" B.MaterialCode SapMaterialCode, \n" +
" A.Qty-Isnull(F.Qty, 0) DiffQty \n" +
" FROM\n" +
" (\n" +
" SELECT\n" +

4
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs

@ -118,7 +118,7 @@ namespace SettleAccount.Job.Services
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList= materialGroup.Split(new char[] { ',' }).ToList();
var _groupList= materialGroup.Split(new char[] { '\n' }).Distinct().ToList();
if(_groupList.Count()>0)
{
_ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList();
@ -142,7 +142,7 @@ namespace SettleAccount.Job.Services
}
if (!string.IsNullOrEmpty(sapCode))
{
var _groupList = sapCode.Split(new char[] { ',' }).ToList();
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();

8
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleDoorPanelExportService.cs

@ -118,7 +118,7 @@ namespace SettleAccount.Job.Services.Report
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList = materialGroup.Split(new char[] { ',' }).ToList();
var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList();
@ -126,7 +126,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(kenncode))
{
var _groupList = kenncode.Split(new char[] { ',' }).ToList();
var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.KENNCode)).ToList();
@ -134,7 +134,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(chassisNumber))
{
var _groupList = chassisNumber.Split(new char[] { ',' }).ToList();
var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.ChassisNumber)).ToList();
@ -142,7 +142,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(sapCode))
{
var _groupList = sapCode.Split(new char[] { ',' }).ToList();
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();

14
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnInvoiceSettledDetailDiffExportService.cs

@ -98,7 +98,7 @@ namespace SettleAccount.Job.Services
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList = materialGroup.Split(new char[] { ',' }).ToList();
var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList();
@ -106,7 +106,7 @@ namespace SettleAccount.Job.Services
}
if (!string.IsNullOrEmpty(kenncode))
{
var _groupList = kenncode.Split(new char[] { ',' }).ToList();
var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.KENNCode)).ToList();
@ -114,7 +114,7 @@ namespace SettleAccount.Job.Services
}
if (!string.IsNullOrEmpty(chassisNumber))
{
var _groupList = chassisNumber.Split(new char[] { ',' }).ToList();
var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.ChassisNumber)).ToList();
@ -122,16 +122,13 @@ namespace SettleAccount.Job.Services
}
if (!string.IsNullOrEmpty(sapCode))
{
var _groupList = sapCode.Split(new char[] { ',' }).ToList();
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();
}
}
var _lsSum=_ls.GroupBy(p => new { p.MaterialCode, p.SapMaterialCode, p.MaterialGroup,p.InvoicePrice }).Select(p => new UnInvoiceSettledDetailSum
{
MaterialCode = p.Key.MaterialCode,
@ -158,6 +155,9 @@ namespace SettleAccount.Job.Services
var result = _exporter.Append(_ls, "差异明细表")
.SeparateBySheet()
.Append(_lsSum, "数量差异汇总表")

187
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs

@ -1,28 +1,67 @@
using System;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using Shouldly;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TaskJob.EventArgs;
using TaskJob.Interfaces;
using Volo.Abp.BlobStoring;
using Volo.Abp.DependencyInjection;
using Win.Sfs.BaseData.ImportExcelCommon;
using Win.Sfs.SettleAccount.Entities.UnSettle;
using Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report;
namespace SettleAccount.Job.Services.Report
{
public class SumSettleDiffList
{
// 物料组车型 SAP编码 零件号 结算数量 M100数量 差异总数 开票单价 差异金额
[ExporterHeader(DisplayName = "SAP编码")]
public string SapMaterialCode { set; get; }
[ExporterHeader(DisplayName = "零件号")]
public string MaterialCode { set; get; }
[ExporterHeader(DisplayName = "零件描述")]
public string MaterialDesc { set; get; }
[ExporterHeader(DisplayName = "物料组车型")]
public string MaterialGroup { set; get; }
[ExporterHeader(DisplayName = "大众未结算数量")]
public decimal Qty { set; get; }
[ExporterHeader(DisplayName = "系统未结数量")]
public decimal UnSettleQty { set; get; }
[ExporterHeader(DisplayName = "差异总数")]
public decimal DiffQty { set; get; }
[ExporterHeader(DisplayName = "差异总金额")]
public decimal DiffAmt { set; get; }
}
public class UnSettleDiffExportService : ITransientDependency, IExportJob
{
private readonly UnSettleDiffDapperRepository _dapper;
private readonly OutputService _outputService;
private readonly ErpPartDapperRepository _erpdapperRepository;
private readonly UnSettledDetailDapperRepository _dapper1;
private readonly IBlobContainer<MyFileContainer> _fileContainer;
public UnSettleDiffExportService(UnSettleDiffDapperRepository dapper, OutputService outputService,
ErpPartDapperRepository erpdapperRepository
UnSettledDetailDapperRepository dapper1,
ErpPartDapperRepository erpdapperRepository,
IBlobContainer<MyFileContainer> fileContainer
)
{
_erpdapperRepository = erpdapperRepository;
_dapper = dapper;
_outputService = outputService;
_dapper1 = dapper1;
_fileContainer = fileContainer;
}
public string ExportFile(Guid id, List<string> exportName, List<CustomCondition> p_list)
@ -44,12 +83,25 @@ namespace SettleAccount.Job.Services.Report
var _list = _ls.Where(p => p.ParentSapMaterialCode != p.SapMaterialCode && !string.IsNullOrEmpty(p.ParentSapMaterialCode)).GroupBy(p => new { p.ParentSapMaterialCode, p.ChassisNumber, p.KENNCode })
.Select(p => p.FirstOrDefault()).ToList();
var rangeList = _erpdapperRepository.GetSapList<UnSettleDiff>(_list, version, false);
rangeList.ForEach(p =>
{
p.Qty = 1;
p.DiffAmt = p.Qty * p.Price;
p.DiffQty = -1;
}
);
_ls.AddRange(rangeList);
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList = materialGroup.Split(new char[] { ',' }).ToList();
var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.MaterialGroup)).ToList();
@ -57,7 +109,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(kenncode))
{
var _groupList = kenncode.Split(new char[] { ',' }).ToList();
var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.KENNCode)).ToList();
@ -65,7 +117,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(chassisNumber))
{
var _groupList = chassisNumber.Split(new char[] { ',' }).ToList();
var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.ChassisNumber)).ToList();
@ -73,7 +125,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(sapCode))
{
var _groupList = sapCode.Split(new char[] { ',' }).ToList();
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();
@ -84,8 +136,129 @@ namespace SettleAccount.Job.Services.Report
List<UnSettleDiff> _lsExport = new List<UnSettleDiff>();
_ls = _ls.OrderBy(p => p.ChassisNumber).ThenBy(p => p.SapMaterialCode).ToList();
_outputService.Export<UnSettleDiff>(id, _first, _ls);
var _lsSum= _ls.GroupBy(p => new { p.SapMaterialCode, p.MaterialCode, p.MaterialDesc, p.MaterialGroup })
.Select(p =>
new SumSettleDiffList
{
SapMaterialCode = p.Key.SapMaterialCode,
MaterialCode = p.Key.MaterialCode,
MaterialDesc = p.Key.MaterialDesc,
MaterialGroup = p.Key.MaterialGroup,
Qty = p.Sum(p => p.Qty),
UnSettleQty = p.Sum(p => p.UNSettleQty),
DiffQty = p.Sum(p => p.DiffQty),
DiffAmt=p.Sum(p=>p.DiffAmt)
}) ;
var _ls1= ExportList(p_list);
var _lsSum1= _ls1.GroupBy(p => new { p.SapMaterialCode, p.MaterialCode, p.MaterialDesc, p.MaterialGroup })
.Select(p =>
new SumSettleDiffList
{
SapMaterialCode = p.Key.SapMaterialCode,
MaterialCode = p.Key.MaterialCode,
MaterialDesc = p.Key.MaterialDesc,
MaterialGroup = p.Key.MaterialGroup,
Qty = p.Sum(p => p.Qty),
UnSettleQty = p.Sum(p => p.UnSettleQty),
DiffQty = p.Sum(p => p.DiffQty),
DiffAmt = p.Sum(p => p.DiffAMT)
});
ExcelExporter _exporter = new ExcelExporter();//导出Excel
var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
.SeparateBySheet()
.Append(_ls1.ToList(),"系统未结对比R3大众未结")
.SeparateBySheet()
.Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
.SeparateBySheet()
.Append(_lsSum1.ToList(),"结算系统对比大众R3未结差异汇总")
.ExportAppendDataAsByteArray();
result.ShouldNotBeNull();
_fileContainer.SaveAsync(string.Format("大众准时化未结差异比对表_{0}.xlsx", Guid.NewGuid().ToString()), result.Result, true);
return id.ToString();
}
public List<UnSettleDetailReport> ExportList( List<CustomCondition> p_list)
{
var version = p_list.Where(p => p.Name == "Version").FirstOrDefault().Value;
var materialCode = p_list.Where(p => p.Name == "MaterialCode").FirstOrDefault().Value;
var begin = p_list.Where(p => p.Name == "BeginTime").FirstOrDefault().Value;
var end = p_list.Where(p => p.Name == "EndTime").FirstOrDefault().Value;
var kenncode = p_list.Where(p => p.Name == "KennCode").FirstOrDefault().Value;
var chassisNumber = p_list.Where(p => p.Name == "ChassisNumber").FirstOrDefault().Value;
var materialGroup = p_list.Where(p => p.Name == "MaterialGroup").FirstOrDefault().Value;
var sapCode = p_list.Where(p => p.Name == "SapCode").FirstOrDefault().Value;
//var cp7begin = p_list.Where(p => p.Name == "CP7Begin").FirstOrDefault().Value;
//var cp7end = p_list.Where(p => p.Name == "CP7End").FirstOrDefault().Value;
var _list = _dapper1.GetDiffReport(DateTime.Now.Year.ToString(), begin, end, string.Empty, version, materialCode, materialGroup, sapCode);
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 = _erpdapperRepository.GetSapList(_ls, version, false);
_lst.ForEach(p =>
{
p.Qty = 1;
p.DiffAMT = p.Qty * p.Price;
p.DiffQty = 1;
}
);
_list.AddRange(_lst);
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.MaterialGroup)).ToList();
}
}
if (!string.IsNullOrEmpty(kenncode))
{
var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.KENNCode)).ToList();
}
}
if (!string.IsNullOrEmpty(chassisNumber))
{
var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.ChassisNumber)).ToList();
}
}
if (!string.IsNullOrEmpty(sapCode))
{
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();
}
}
_list = _list.OrderBy(p => p.ChassisNumber).ThenBy(p => p.SapMaterialCode).ThenBy(p => p.Flag).ToList();
return _list;
}
}
}

11
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnsettledDetailReport.cs

@ -56,13 +56,16 @@ namespace SettleAccount.Job.Services.Report
var _lst= _erpDapper.GetSapList(_ls, version, false);
_lst.ForEach(p =>
{
p.Qty = 1;
p.DiffAMT = p.Qty * p.Price;
p.DiffQty = 1;
}
);
_list.AddRange(_lst);
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList = materialGroup.Split(new char[] { ',' }).ToList();
var _groupList = materialGroup.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.MaterialGroup)).ToList();
@ -70,7 +73,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(kenncode))
{
var _groupList = kenncode.Split(new char[] { ',' }).ToList();
var _groupList = kenncode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.KENNCode)).ToList();
@ -78,7 +81,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(chassisNumber))
{
var _groupList = chassisNumber.Split(new char[] { ',' }).ToList();
var _groupList = chassisNumber.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.ChassisNumber)).ToList();
@ -86,7 +89,7 @@ namespace SettleAccount.Job.Services.Report
}
if (!string.IsNullOrEmpty(sapCode))
{
var _groupList = sapCode.Split(new char[] { ',' }).ToList();
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_list = _list.Where(p => _groupList.Contains(p.SapMaterialCode)).ToList();

Loading…
Cancel
Save