Browse Source

更新版本

branch_ccpg_220107
Administrator 4 years ago
parent
commit
03cbf613b5
  1. 10345
      src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Migrations/20211129095823_init.Designer.cs
  2. 4385
      src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Migrations/20211129095823_init.cs
  3. 17
      src/Modules/SettleAccount/src/SettleAccount.Application/Reports/ReportServices/ReportMakeService.cs
  4. 2
      src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.xml
  5. 61
      src/Modules/SettleAccount/src/SettleAccount.Domain/Reports/ReportDetailBase.cs
  6. 93
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/ErpPartDapperRepository.cs
  7. 40
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs
  8. 51
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/OutputService.cs
  9. 11
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/InvoiceSettledDetailDiffExportService.cs
  10. 4
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs
  11. 7
      src/Modules/SettleAccount/src/SettleAccount.Job/SettleAccountJobModule.cs

10345
src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Migrations/20211129095823_init.Designer.cs

File diff suppressed because it is too large

4385
src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Migrations/20211129095823_init.cs

File diff suppressed because it is too large

17
src/Modules/SettleAccount/src/SettleAccount.Application/Reports/ReportServices/ReportMakeService.cs

@ -375,13 +375,28 @@ namespace Win.Sfs.SettleAccount.Reports.ReportServices
[Route("UnSettleDiffExport-Make")]
[DisableRequestSizeLimit]
public async Task<string> UnSettleDiffExportServiceMake(string version, string materialCode, string begin, string end)
public async Task<string> UnSettleDiffExportServiceMake(string version, string type,string year,string materialCode,string sapMaterialCode, string begin, string end)
{
List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = version });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = materialCode });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = end });
customConditionList.Add(new CustomCondition() { Name = "Type", Value = type });
customConditionList.Add(new CustomCondition() { Name = "Year", Value = year });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = materialCode });
customConditionList.Add(new CustomCondition() { Name = "SapMaterialCode", Value = sapMaterialCode });
//var type = p_list.Where(p => p.Name == "Type").FirstOrDefault().Value;
//var year = p_list.Where(p => p.Name == "Year").FirstOrDefault().Value;
//var materialCode = p_list.Where(p => p.Name == "MaterialCode").FirstOrDefault().Value;
//var sapCode = p_list.Where(p => p.Name == "SapMaterialCode").FirstOrDefault().Value;
//var beginTime = p_list.Where(p => p.Name == "BegingTime").FirstOrDefault().Value;
//var endTime = p_list.Where(p => p.Name == "EndTime").FirstOrDefault().Value;
var _taskid = await _service.ExportEnqueueAsync("大众准时化未结差异比对表", ExportExtentsion.Excel, CurrentUser, typeof(UnSettleDiffExportService), customConditionList, (rs) =>
{
});

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

@ -2498,7 +2498,7 @@
<param name="files">上传的文件(前端已经限制只能上传一个附件)</param>
<returns></returns>
</member>
<member name="M:Win.Sfs.SettleAccount.Reports.ReportServices.ReportService.UnSettleDiffExportServiceMake(System.String,System.String,System.String,System.String)">
<member name="M:Win.Sfs.SettleAccount.Reports.ReportServices.ReportService.UnSettleDiffExportServiceMake(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
6.大众准时化未结差异比对表
</summary>

61
src/Modules/SettleAccount/src/SettleAccount.Domain/Reports/ReportDetailBase.cs

@ -10,33 +10,68 @@ namespace Win.Sfs.SettleAccount.Reports
public class ReportDetailBase
{
[ExporterHeader(DisplayName = "交货单号 ")]
public virtual string WmsBillNum { set; get; }
[ExporterHeader(DisplayName = "实际发货日期 ")]
public virtual DateTime CP5Time { set; get; }
[ExporterHeader(DisplayName = "KENN号")]
public virtual string KENNCode { set; get; }
[ExporterHeader(DisplayName = "底盘号")]
public virtual string ChassisNumber { set; get; }
[ExporterHeader(DisplayName = "交货状态 ")]
public virtual string WmsState { set; get; }
[ExporterHeader(DisplayName = "物料号")]
public virtual string SapMaterialCode { set; get; }
[ExporterHeader(DisplayName = "物料描述 ")]
public virtual string MaterialDesc { set; get; }
[ExporterHeader(DisplayName = "客户物料 ")]
public virtual string MaterialCode { set; get; }
[ExporterHeader(DisplayName = "组件组物料 ")]
public virtual string ParentSapMaterialCode { set; get; }
[ExporterHeader(DisplayName = "组件组物料描述 ")]
public virtual string ParentMaterialDesc { set; get; }
[ExporterHeader(DisplayName = "物料组(车型) ")]
public virtual string MaterialGroup { set; get; }
[ExporterHeader(DisplayName = "定价 ")]
public virtual decimal Price { set; get; }
[ExporterHeader(DisplayName = "金额 ")]
public virtual decimal Amt { set; get; }
//public virtual string WmsBillNum { set; get; }
//public virtual DateTime CP5Time { set; get; }
//public virtual string KENNCode { set; get; }
//public virtual string ChassisNumber { set; get; }
//public virtual string WmsState { set; get; }
//public virtual string SapMaterialCode { set; get; }
//public virtual string MaterialDesc { set; get; }
//public virtual string MaterialCode { set; get; }
//public virtual string ParentSapMaterialCode { set; get; }
//public virtual string ParentMaterialDesc { set; get; }
//public virtual string MaterialGroup { set; get; }
//public virtual decimal Price { set; get; }
//public virtual decimal Amt { set; get; }
}
}

93
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/ErpPartDapperRepository.cs

@ -47,41 +47,74 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{
_priceList = DbConnection.Query<ErpPrice>("select Price SapPrice, MaterialCode SapErpPartCode from Set_PriceList where version=(select max(version) from Set_PriceListVersion)").ToList();
}
// List <T> _list = new List<T>();
List <T> _list = new List<T>();
foreach (var itm in childList)
{
var parentMaterial = new T();
parentMaterial.WmsBillNum = itm.WmsBillNum;
parentMaterial.CP5Time = itm.CP5Time;
parentMaterial.KENNCode = itm.KENNCode;
parentMaterial.ChassisNumber = itm.ChassisNumber;
parentMaterial.WmsState = itm.WmsState;
parentMaterial.SapMaterialCode = itm.ParentSapMaterialCode;
parentMaterial.MaterialDesc = itm.ParentMaterialDesc;
parentMaterial.MaterialCode = itm.ParentSapMaterialCode;
parentMaterial.ParentSapMaterialCode = itm.ParentSapMaterialCode;
parentMaterial.ParentMaterialDesc = itm.ParentMaterialDesc;
var _price = _priceList.Where(p => p.SapErpPartCode == itm.ParentSapMaterialCode).FirstOrDefault();
if (_price != null)
{
parentMaterial.Price = _price.SapPrice;
parentMaterial.Amt = _price.SapPrice;
var query=from itm1 in childList
join itm2 in _priceList on itm1.ParentSapMaterialCode equals itm2.SapErpPartCode into temp1
from tm1 in temp1.DefaultIfEmpty(new ErpPrice())
join itm3 in _materialList on itm1.ParentSapMaterialCode equals itm3.MaterialCode into temp2
from tm2 in temp2.DefaultIfEmpty(new Material())
select new T {
WmsBillNum = itm1.WmsBillNum,
CP5Time = itm1.CP5Time,
KENNCode = itm1.KENNCode,
ChassisNumber = itm1.ChassisNumber,
WmsState = itm1.WmsState,
SapMaterialCode = itm1.ParentSapMaterialCode,
MaterialDesc = itm1.ParentMaterialDesc,
MaterialCode = itm1.ParentSapMaterialCode,
ParentSapMaterialCode = itm1.ParentSapMaterialCode,
ParentMaterialDesc = itm1.ParentMaterialDesc,
Price =tm1.SapPrice,
Amt = tm1.SapPrice,
MaterialGroup = tm2.EstimateTypeDesc
};
//foreach (var itm in childList)
//{
// var parentMaterial = new T();
// parentMaterial.WmsBillNum = itm.WmsBillNum;
// parentMaterial.CP5Time = itm.CP5Time;
// parentMaterial.KENNCode = itm.KENNCode;
// parentMaterial.ChassisNumber = itm.ChassisNumber;
// parentMaterial.WmsState = itm.WmsState;
// parentMaterial.SapMaterialCode = itm.ParentSapMaterialCode;
// parentMaterial.MaterialDesc = itm.ParentMaterialDesc;
// parentMaterial.MaterialCode = itm.ParentSapMaterialCode;
// parentMaterial.ParentSapMaterialCode = itm.ParentSapMaterialCode;
// parentMaterial.ParentMaterialDesc = itm.ParentMaterialDesc;
// var _price = _priceList.Where(p => p.SapErpPartCode == itm.ParentSapMaterialCode).FirstOrDefault();
// if (_price != null)
// {
// parentMaterial.Price = _price.SapPrice;
// parentMaterial.Amt = _price.SapPrice;
}
var _material = _materialList.Where(p => p.MaterialCode == itm.ParentSapMaterialCode).FirstOrDefault();
if (_material != null)
{
parentMaterial.MaterialGroup = _material.EstimateTypeDesc;
}
_list.Add(parentMaterial);
}
// }
// var _material = _materialList.Where(p => p.MaterialCode == itm.ParentSapMaterialCode).FirstOrDefault();
// if (_material != null)
// {
// parentMaterial.MaterialGroup = _material.EstimateTypeDesc;
// }
// _list.Add(parentMaterial);
//}
return _list;
return query.ToList();
}
public virtual List<ErpPrice> GetErpPartCodePriceList(string version)

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

@ -14,14 +14,42 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{
public class UnSettleDiff: ReportDetailBase
{
[ExporterHeader(DisplayName = "交货单号 ")]
public override string WmsBillNum { set; get; }
[ExporterHeader(DisplayName = "实际发货日期 ")]
public override DateTime CP5Time { set; get; }
[ExporterHeader(DisplayName = "KENN号")]
public override string KENNCode { set; get; }
[ExporterHeader(DisplayName = "底盘号")]
public override string ChassisNumber { set; get; }
[ExporterHeader(DisplayName = "交货状态 ")]
public override string WmsState { set; get; }
[ExporterHeader(DisplayName = "物料号")]
public override string SapMaterialCode { set; get; }
[ExporterHeader(DisplayName = "物料描述 ")]
public override string MaterialDesc { set; get; }
[ExporterHeader(DisplayName = "客户物料 ")]
public override string MaterialCode { set; get; }
[ExporterHeader(DisplayName = "组件组物料 ")]
public override string ParentSapMaterialCode { set; get; }
[ExporterHeader(DisplayName = "组件组物料描述 ")]
public override string ParentMaterialDesc { set; get; }
[ExporterHeader(DisplayName = "物料组(车型) ")]
public override string MaterialGroup { set; get; }
[ExporterHeader(DisplayName = "定价 ")]
public override decimal Price { set; get; }
[ExporterHeader(DisplayName = "金额 ")]
public override decimal Amt { set; get; }
[ExporterHeader(DisplayName = "结算平台未结数量")]
public decimal Qty { set; get; }
[ExporterHeader(DisplayName = "大众R3未结数量")]
public decimal UNSettleQty { set; get; }
[ExporterHeader(DisplayName = "定价")]
public decimal Price { set; get; }
[ExporterHeader(DisplayName = "金额")]
public decimal Amt { set; get; }
[ExporterHeader(DisplayName = "差异")]
public decimal DiffQty { set; get; }
[ExporterHeader(DisplayName = "差异金额")]
@ -164,8 +192,8 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" Price \n" +
" FROM\n" +
" Set_PriceList \n" +
"WHERE\n" +
" version = ( SELECT max( version ) FROM Set_PriceListVersion )) t2 ON t1.MaterialCode = t2.MaterialCode";
" WHERE\n" +
" version = ( SELECT max( version ) FROM Set_PriceListVersion )) t2 ON t1.SapMaterialCode = t2.MaterialCode";
string _sql = string.Empty;

51
src/Modules/SettleAccount/src/SettleAccount.Job/Services/OutputService.cs

@ -1,8 +1,10 @@
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using Microsoft.CSharp;
using SettleAccount.Job.Domain;
using Shouldly;
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -55,23 +57,48 @@ namespace SettleAccount.Job.Services
_fileContainer.SaveAsync(fileName, result.Result, true);
var _task = new Win.Sfs.SettleAccount.Entities.TaskJob() { DownFileName = fileName };
_taskjobRepository.UpdateTaskJob(Id, _task);
//保存导出文件到服务器存成二进制
//保存导出文件到服务器存成二进制
}
public void Export<T1,T2>(Guid Id, string fileName, List<T1> p_list, List<T2> p_list1) where T1 : class, new()
where T2: class, new()
public void Export<T>(Guid Id, string fileName,Dictionary<string,List<T>> p_dic) where T : class, new()
{
ExcelExporter _exporter = new ExcelExporter();//导出Excel
var result = _exporter
.Append(p_list, "sheet1")
.SeparateBySheet()
.Append(p_list1)
.ExportAppendDataAsByteArray();
//string methodName = (isDesc) ? "OrderByDescendingInternal" : "OrderByInternal";
//var memberProp = typeof(T).GetProperty(propertyName);
result.ShouldNotBeNull();
_fileContainer.SaveAsync(fileName, result.Result, true);
//var method = typeof(QueryableExtension).GetMethod(methodName)?.MakeGenericMethod(typeof(T), memberProp?.PropertyType);
//var result = method?.Invoke(null, new object[] { query, memberProp });
//return (IOrderedQueryable<T>)result;
foreach (var itm in p_dic)
{
//.Append(p_list, "sheet1")
}
//ExcelExporter _exporter = new ExcelExporter();//导出Excel
//var result = _exporter
//.Append(p_list, "sheet1")
//.SeparateBySheet()
//.Append(p_list1)
//.ExportAppendDataAsByteArray();
//result.ShouldNotBeNull();
//_fileContainer.SaveAsync(fileName, result.Result, true);
var _task = new Win.Sfs.SettleAccount.Entities.TaskJob() { DownFileName = fileName };
_taskjobRepository.UpdateTaskJob(Id, _task);
//保存导出文件到服务器存成二进制

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

@ -52,21 +52,28 @@ namespace SettleAccount.Job.Services
var kenncode = p_list.Where(p => p.Name == "KennCode").FirstOrDefault().Value;
var chassisNumber = p_list.Where(p => p.Name == "ChassisNumber").FirstOrDefault().Value;
var _ls = _dapperRepository.GetInvoiceSettledDetailDiffReportList(version, materialCode, begin, end, cp7begin, cp7end, kenncode, chassisNumber);
var _list = _ls.GroupBy(p => p.ParentSapMaterialCode).Select(p => p.FirstOrDefault()).ToList();
var _list = _ls.Where(p=>p.ParentSapMaterialCode!=p.SapMaterialCode).GroupBy(p =>new { p.ParentSapMaterialCode,p.ChassisNumber,p.KENNCode }).Select(p => p.FirstOrDefault()).ToList();
var rangeList = _erpdapperRepository.GetSapList<InvoiceSettledDetailDiff>(_list);
var erpPriceList= _erpdapperRepository.GetErpPartCodePriceList(version);
rangeList.ForEach(p => {
p.Qty = 1;
p.InvoiceQty = 1;
p.SettledQty = 1;
p.DiffSettleFisQty = 0;
p.DiffSettleInvQty = 0;
var _first= erpPriceList.FirstOrDefault(itm => itm.SapErpPartCode == p.SapMaterialCode);
if (_first != null)
{
p.InvoicePrice= _first.SapPrice;
}
p.DiffPrice = p.InvoicePrice - p.Price;
});
_ls.AddRange(rangeList);
_ls.OrderBy(p => new { p.ChassisNumber, p.KENNCode });
_ls=_ls.OrderBy(p => p.ChassisNumber).ThenBy(p=>p.KENNCode).ThenBy(p=>p.SapMaterialCode).ToList();
_outputService.Export<InvoiceSettledDetailDiff>(id, string.Format("大众发票与结算核对明细表_{0}.xlsx", Guid.NewGuid().ToString()), _ls);

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

@ -28,7 +28,7 @@ namespace SettleAccount.Job.Services.Report
var materialCode = p_list.Where(p => p.Name == "MaterialCode").FirstOrDefault().Value;
var sapCode = p_list.Where(p => p.Name == "SapMaterialCode").FirstOrDefault().Value;
var beginTime = p_list.Where(p => p.Name == "BegingTime").FirstOrDefault().Value;
var beginTime = p_list.Where(p => p.Name == "BeginTime").FirstOrDefault().Value;
var endTime = p_list.Where(p => p.Name == "EndTime").FirstOrDefault().Value;
var _first = exportName.FirstOrDefault();
@ -68,7 +68,7 @@ namespace SettleAccount.Job.Services.Report
// _lsExport.Add(dto);
//}
_outputService.Export<UnSettleDiff>(id, _first, _lsExport);
_outputService.Export<UnSettleDiff>(id, _first, _ls);
return id.ToString();
}
}

7
src/Modules/SettleAccount/src/SettleAccount.Job/SettleAccountJobModule.cs

@ -123,6 +123,13 @@ namespace Win.Sfs.SettleAccount
{
return implementationFactory.GetService<InvoiceSettledDetailDiffExportService>();
}
if (key.Equals(typeof(UnSettleDiffExportService).FullName))
{
return implementationFactory.GetService<UnSettleDiffExportService>();
}
else
{

Loading…
Cancel
Save