Administrator 3 years ago
parent
commit
3e3f77219f
  1. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BT_Car/BT_Car_PlatformDto.cs
  2. 4
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BT_Car/BT_Car_PlatformExportDto.cs
  3. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BT_Car/BT_Car_PlatformImportDto.cs
  4. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/HQ_H/HQ_H_PlatformExportDto.cs
  5. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/HQ_H/HQ_H_PlatformImportDto.cs
  6. 12
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/TaskListDto.cs
  7. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleDto.cs
  8. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleExportDto.cs
  9. 2
      src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleImportDto.cs
  10. 4
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/VWSparePart/SparePartAppService.cs
  11. 4
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSHQHKanbanAppService.cs
  12. 4
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSKanbanAppService.cs
  13. 2
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSSharePart90AppService.cs
  14. 22
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsDetailUnInterface.cs
  15. 1
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQCarAppService.cs
  16. 24
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQKBOutputAppService.cs
  17. 2
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs
  18. 31
      src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnSumInterface.cs
  19. 317
      src/Modules/SettleAccount/src/SettleAccount.Application/Reports/ReportServices/ReportMakeService.cs
  20. 4
      src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BT_Car/BT_Car_Platform.cs
  21. 37
      src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/WmsDetailReport.cs
  22. 2
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs
  23. 20
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs
  24. 13
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQCarSettledDetailDapperRepository.cs
  25. 31
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQFactorySettledDetailDapperRepository.cs
  26. 353
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQHSettledDetailDapperRepository.cs
  27. 251
      src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs
  28. 16
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/HQCarSettledDetailDiffExportService.cs
  29. 38
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/HQHSettledDetailDiffExportService.cs
  30. 34
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/HQHSharePartSettledDetailDiffExportService.cs
  31. 18
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleSparePart90ExportService.cs

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BT_Car/BT_Car_PlatformDto.cs

@ -14,7 +14,7 @@ namespace Win.Sfs.SettleAccount.Entities.BT_Car
/// </summary> /// </summary>
public string Factory { get; set; } public string Factory { get; set; }
/// <summary> /// <summary>
///外部看板编 ///外部验收单
/// </summary> /// </summary>
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>

4
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BT_Car/BT_Car_PlatformExportDto.cs

@ -15,9 +15,9 @@ namespace Win.Sfs.SettleAccount.Entities.BT_Car
[ExporterHeader(DisplayName = "工厂")] [ExporterHeader(DisplayName = "工厂")]
public string Factory { get; set; } public string Factory { get; set; }
/// <summary> /// <summary>
///外部看板编 ///外部验收单
/// </summary> /// </summary>
[ExporterHeader(DisplayName = "外部看板编号")] [ExporterHeader(DisplayName = "外部验收单号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BT_Car/BT_Car_PlatformImportDto.cs

@ -17,7 +17,7 @@ namespace Win.Sfs.SettleAccount.Entities.BT_Car
/// <summary> /// <summary>
///外部看板编号 ///外部看板编号
/// </summary> /// </summary>
[ImporterHeader(Name = "外部看板编号")] [ImporterHeader(Name = "外部验收单号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/HQ_H/HQ_H_PlatformExportDto.cs

@ -17,7 +17,7 @@ namespace Win.Sfs.SettleAccount.Entities.HQ_H
/// <summary> /// <summary>
///外部单号 ///外部单号
/// </summary> /// </summary>
[ExporterHeader(DisplayName = "外部号")] [ExporterHeader(DisplayName = "外部看板编号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/HQ_H/HQ_H_PlatformImportDto.cs

@ -17,7 +17,7 @@ namespace Win.Sfs.SettleAccount.Entities.HQ_H
/// <summary> /// <summary>
///外部单号 ///外部单号
/// </summary> /// </summary>
[ImporterHeader(Name = "外部号")] [ImporterHeader(Name = "外部看板编号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

12
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/TaskListDto.cs

@ -185,7 +185,7 @@ namespace Win.Sfs.SettleAccount.Entities
[ExporterHeader(DisplayName = "结算数量")] [ExporterHeader(DisplayName = "结算数量")]
public decimal Qty { set; get; } public decimal Qty { set; get; }
[ImporterHeader(Name = "寄售库存数量", IsIgnore = true)] [ImporterHeader(Name = "寄售库存数量", IsIgnore = true)]
[ExporterHeader(DisplayName = "寄售库存数量", IsIgnore = true)] [ExporterHeader(DisplayName = "寄售库存数量")]
public decimal SockQty { set; get; } public decimal SockQty { set; get; }
[ImporterHeader(Name = "真实数量", IsIgnore = true)] [ImporterHeader(Name = "真实数量", IsIgnore = true)]
@ -272,7 +272,7 @@ namespace Win.Sfs.SettleAccount.Entities
[ExporterHeader(DisplayName = "任务代码", IsIgnore = true)] [ExporterHeader(DisplayName = "任务代码", IsIgnore = true)]
public Guid TaskId { set; get; } public Guid TaskId { set; get; }
[ExporterHeader(DisplayName = "寄销库数量", IsIgnore = true)] [ExporterHeader(DisplayName = "寄销库数量")]
public decimal StockQty { set; get; } public decimal StockQty { set; get; }
[ExporterHeader(DisplayName = "出库数量", IsIgnore = true)] [ExporterHeader(DisplayName = "出库数量", IsIgnore = true)]
@ -288,7 +288,7 @@ namespace Win.Sfs.SettleAccount.Entities
/// <summary> /// <summary>
/// 大众备件手工出库单 /// 大众备件手工出库单,带条码号
/// </summary> /// </summary>
public class WmsSharePart90OutPutDetialDto public class WmsSharePart90OutPutDetialDto
{ {
@ -400,7 +400,7 @@ namespace Win.Sfs.SettleAccount.Entities
[ExporterHeader(DisplayName = "结算数量")] [ExporterHeader(DisplayName = "结算数量")]
public decimal Qty { set; get; } public decimal Qty { set; get; }
[ImporterHeader(Name = "寄售库存数量", IsIgnore = true)] [ImporterHeader(Name = "寄售库存数量", IsIgnore = true)]
[ExporterHeader(DisplayName = "寄售库存数量", IsIgnore = true)] [ExporterHeader(DisplayName = "寄售库存数量")]
public decimal SockQty { set; get; } public decimal SockQty { set; get; }
[ImporterHeader(Name = "真实数量", IsIgnore = true)] [ImporterHeader(Name = "真实数量", IsIgnore = true)]
@ -454,7 +454,7 @@ namespace Win.Sfs.SettleAccount.Entities
[ExporterHeader(DisplayName = "结算数量")] [ExporterHeader(DisplayName = "结算数量")]
public decimal Qty { set; get; } public decimal Qty { set; get; }
[ImporterHeader(Name = "寄售库存数量", IsIgnore = true)] [ImporterHeader(Name = "寄售库存数量", IsIgnore = true)]
[ExporterHeader(DisplayName = "寄售库存数量", IsIgnore = true)] [ExporterHeader(DisplayName = "寄售库存数量")]
public decimal SockQty { set; get; } public decimal SockQty { set; get; }
[ImporterHeader(Name = "真实数量", IsIgnore = true)] [ImporterHeader(Name = "真实数量", IsIgnore = true)]
@ -494,7 +494,7 @@ namespace Win.Sfs.SettleAccount.Entities
//交货单号 //交货单号
[ImporterHeader(Name = "寄销库数量", IsIgnore = true)] [ImporterHeader(Name = "寄销库数量", IsIgnore = true)]
[ExporterHeader(DisplayName = "寄销库数量", IsIgnore = true)] [ExporterHeader(DisplayName = "寄销库数量")]
public decimal StockQty { set; get; } public decimal StockQty { set; get; }
[ImporterHeader(Name = "出库数量", IsIgnore = true)] [ImporterHeader(Name = "出库数量", IsIgnore = true)]

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleDto.cs

@ -18,7 +18,7 @@ namespace Win.Sfs.SettleAccount.Entities.UnHQSettleAccounts
/// </summary> /// </summary>
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///外部看板编号
/// </summary> /// </summary>
public string KanbanNumber { get; set; } public string KanbanNumber { get; set; }
/// <summary> /// <summary>

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleExportDto.cs

@ -17,7 +17,7 @@ namespace Win.Sfs.SettleAccount.Entities.UnHQSettleAccounts
/// <summary> /// <summary>
///外部看板编号 ///外部看板编号
/// </summary> /// </summary>
[ExporterHeader(DisplayName = "外部号")] [ExporterHeader(DisplayName = "外部看板编号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

2
src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/UnHQSettleAccounts/UnHQSettleImportDto.cs

@ -17,7 +17,7 @@ namespace Win.Sfs.SettleAccount.Entities.UnHQSettleAccounts
/// <summary> /// <summary>
///外部看板编号 ///外部看板编号
/// </summary> /// </summary>
[ImporterHeader(Name = "外部号")] [ImporterHeader(Name = "外部看板编号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

4
src/Modules/SettleAccount/src/SettleAccount.Application/Entities/VWSparePart/SparePartAppService.cs

@ -226,11 +226,11 @@ namespace Win.Sfs.SettleAccount.Entities.VWSparePart
switch (input.FileType) switch (input.FileType)
{ {
case 0: case 0:
_fileName = string.Format("大众备件结算明细_{0}.csv", input.UserId.ToString()); _fileName = string.Format("大众备件结算调整_{0}.csv", input.UserId.ToString());
result = await _csv.ExportAsByteArray(dtoDetails); result = await _csv.ExportAsByteArray(dtoDetails);
break; break;
case 1: case 1:
_fileName = string.Format("大众备件结算明细_{0}.xlsx", input.UserId.ToString()); _fileName = string.Format("大众备件结算调整_{0}.xlsx", input.UserId.ToString());
result = await _excel.ExportAsByteArray(dtoDetails); result = await _excel.ExportAsByteArray(dtoDetails);
break; break;
} }

4
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 //检验2:导入模板中的结算数据是否为0
foreach (var itm in filteResult) foreach (var itm in filteResult)
@ -578,7 +578,7 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts
IExporter _excel = new ExcelExporter(); IExporter _excel = new ExcelExporter();
byte[] result = null; byte[] result = null;
var _fileName = string.Format("红旗H平台出库单_{0}.xlsx", Guid.NewGuid().ToString()); var _fileName = string.Format("红旗批量出库单_{0}.xlsx", Guid.NewGuid().ToString());
result = await _excel.ExportAsByteArray(entities); result = await _excel.ExportAsByteArray(entities);

4
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)); 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<WmsKanbanOutPutDetial> _lst = new List<WmsKanbanOutPutDetial>(); List<WmsKanbanOutPutDetial> _lst = new List<WmsKanbanOutPutDetial>();
var _lsCopy = new List<WmsKanbanOutPutDetial>(); var _lsCopy = new List<WmsKanbanOutPutDetial>();
foreach (var itm in filteResult) foreach (var itm in filteResult)

2
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 //检验2:导入模板中的结算数据是否为0
foreach (var itm in filteResult) foreach (var itm in filteResult)
{ {

22
src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsDetailUnInterface.cs

@ -2,6 +2,7 @@
using EFCore.BulkExtensions; using EFCore.BulkExtensions;
using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel; using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Shouldly; using Shouldly;
@ -29,6 +30,7 @@ using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.WMS namespace Win.Sfs.SettleAccount.Entities.WMS
{ {
[Authorize(SettleAccountPermissions.WMSJIT.Default)]
[Route("api/settleaccount/WMSOutputDetailDiffReport")] [Route("api/settleaccount/WMSOutputDetailDiffReport")]
public class WMSOutputDetailDiffReportAppService : public class WMSOutputDetailDiffReportAppService :
SettleAccountApplicationBase<WmsDetailDiffReport> SettleAccountApplicationBase<WmsDetailDiffReport>
@ -116,6 +118,16 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
virtual public async Task<PagedResultDto<WmsDetailDiffReport>> GetListAsync(WmsRequestDetailReportDto input) virtual public async Task<PagedResultDto<WmsDetailDiffReport>> GetListAsync(WmsRequestDetailReportDto input)
{ {
input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); 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, var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, input.MaxResultCount,
input.SkipCount, true); input.SkipCount, true);
var totalCount = await GetCountAsync(input); var totalCount = await GetCountAsync(input);
@ -182,6 +194,16 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
virtual public async Task<string> ExportAsync(WmsRequestDetailReportDto input) virtual public async Task<string> ExportAsync(WmsRequestDetailReportDto input)
{ {
input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); 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, var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, int.MaxValue,
0, true); 0, true);
var dtoDetails = ObjectMapper.Map<List<WmsDetailDiffReport>, List<WmsDetailDiffReportDto>>(entities); var dtoDetails = ObjectMapper.Map<List<WmsDetailDiffReport>, List<WmsDetailDiffReportDto>>(entities);

1
src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQCarAppService.cs

@ -465,6 +465,7 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
_lsCopy.Add(_detail); _lsCopy.Add(_detail);
} }
_lst.AddRange(_lsCopy.ToArray()); _lst.AddRange(_lsCopy.ToArray());
//检验3:导入模板中的SAP编号不能重复,按其汇总出库 //检验3:导入模板中的SAP编号不能重复,按其汇总出库
var _isRepeatOfReportList = _lst.GroupBy(x => new { x.MaterialCode, x.Version }).Select(p => new { Count = p.Count(), MaterialCode = p.Key.MaterialCode }); 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) foreach (var itm in _isRepeatOfReportList)

24
src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQKBOutputAppService.cs

@ -249,7 +249,6 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
// return await ExportErrorReportAsync(checkList); // return await ExportErrorReportAsync(checkList);
// } // }
//} //}
var _billNum = "HQKB" + DateTime.Now.ToString("yyyyMMddhhmmss");
//var _list = _dapper.GetNoKanbanSettleDetail(input.Version); //var _list = _dapper.GetNoKanbanSettleDetail(input.Version);
@ -261,8 +260,8 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
{ {
throw new BusinessException("导入模板数据不能为空!"); throw new BusinessException("导入模板数据不能为空!");
} }
//物料号不能为空 //物料号不能为空,直接过滤掉,模板的中看不到有空行的情况,但是通过个IE这个插件发现有空行数据导入
var _list = _listOrgin.Where(p => p.SapMaterialCode != ""); var _list = _listOrgin.Where(p =>!string.IsNullOrEmpty(p.SapMaterialCode));
foreach (var itm in _list) foreach (var itm in _list)
{ {
@ -271,10 +270,6 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
checkList.Add(new ErrorExportDto(version, "红旗一轿出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中SAP编码{0}的是否备件及客户号不能为空,影响出库请检查!", itm.SapMaterialCode), string.Empty)); checkList.Add(new ErrorExportDto(version, "红旗一轿出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中SAP编码{0}的是否备件及客户号不能为空,影响出库请检查!", itm.SapMaterialCode), string.Empty));
} }
} }
if (checkList.Count > 0)
{
return await ExportErrorReportAsync(checkList);
}
foreach (var itm in _list) foreach (var itm in _list)
{ {
@ -291,7 +286,7 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
//翻译一下是否备件 //翻译一下是否备件
foreach (var itm in _list) foreach (var itm in _list)
{ {
if (itm.IsBack == "是") if (itm.IsBack.Trim() == "是")
{ {
itm.IsBack = "1"; itm.IsBack = "1";
} }
@ -300,6 +295,17 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
itm.IsBack = "0"; itm.IsBack = "0";
} }
} }
var getbillName = "HQVSBT";//混合数据
if(_list.FirstOrDefault().Extend== "100113")
{
getbillName = "BT";//一轿
}
else if(_list.FirstOrDefault().Extend == "100053")
{
getbillName = "HQKB";//红旗
}
var _billNum = getbillName + DateTime.Now.ToString("yyyyMMddhhmmss");
var stockList = _wmsDapper.GetSalesStock(); var stockList = _wmsDapper.GetSalesStock();
var query = from itm in _list var query = from itm in _list
@ -456,7 +462,7 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
/// 导出 /// 导出
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>7
[HttpPost] [HttpPost]
[Route("Export")] [Route("Export")]
//[Authorize(SettleAccountPermissions.SettleAccounts.Default)] //[Authorize(SettleAccountPermissions.SettleAccounts.Default)]

2
src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs

@ -2,6 +2,7 @@
using EFCore.BulkExtensions; using EFCore.BulkExtensions;
using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel; using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Shouldly; using Shouldly;
using System; using System;
@ -28,6 +29,7 @@ using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.WMS namespace Win.Sfs.SettleAccount.Entities.WMS
{ {
[Authorize(SettleAccountPermissions.WMSJIT.Default)]
[Route("api/settleaccount/WMSOutputSumReport")] [Route("api/settleaccount/WMSOutputSumReport")]
public class WMSOutputSumReportAppService : public class WMSOutputSumReportAppService :
SettleAccountApplicationBase<WmsDetailReport> SettleAccountApplicationBase<WmsDetailReport>

31
src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnSumInterface.cs

@ -1,6 +1,7 @@
using EFCore.BulkExtensions; using EFCore.BulkExtensions;
using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel; using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Shouldly; using Shouldly;
using System; using System;
@ -23,6 +24,7 @@ using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.WMS namespace Win.Sfs.SettleAccount.Entities.WMS
{ {
[Authorize(SettleAccountPermissions.WMSJIT.Default)]
[Route("api/settleaccount/WMSOutputDetailWithCodeReport")] [Route("api/settleaccount/WMSOutputDetailWithCodeReport")]
public class WMSOutputDetailWithCodeReportAppService : public class WMSOutputDetailWithCodeReportAppService :
SettleAccountApplicationBase<WmsDetailWithCodeReport> SettleAccountApplicationBase<WmsDetailWithCodeReport>
@ -94,7 +96,12 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
itm., itm.,
itm., itm.,
itm., itm.,
0)); 0,
itm.,
itm.,
itm.,
itm.
));
} }
} }
await _wmsRepository.GetDbContext().BulkInsertAsync(_lst); await _wmsRepository.GetDbContext().BulkInsertAsync(_lst);
@ -111,6 +118,16 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
virtual public async Task<PagedResultDto<WmsDetailWithCodeReport>> GetListAsync(WmsRequestDetailReportDto input) virtual public async Task<PagedResultDto<WmsDetailWithCodeReport>> GetListAsync(WmsRequestDetailReportDto input)
{ {
input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); 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, var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, input.MaxResultCount,
input.SkipCount, true); input.SkipCount, true);
var totalCount = await GetCountAsync(input); var totalCount = await GetCountAsync(input);
@ -137,12 +154,22 @@ namespace Win.Sfs.SettleAccount.Entities.WMS
virtual public async Task<string> ExportAsync(WmsRequestDetailReportDto input) virtual public async Task<string> ExportAsync(WmsRequestDetailReportDto input)
{ {
input.Filters.Add(new FilterCondition() { Action = EnumFilterAction.Equal, Column = "Version", Logic = EnumFilterLogic.And, Value = input.Version }); 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, var entities = await _wmsRepository.GetListByFilterAsync(GuidGenerator.Create(), input.Filters, input.Sorting, int.MaxValue,
0, true); 0, true);
var dtoDetails = ObjectMapper.Map<List<WmsDetailWithCodeReport>, List<WmsDetailWithCodeReportDto>>(entities); var dtoDetails = ObjectMapper.Map<List<WmsDetailWithCodeReport>, List<WmsDetailWithCodeReportDto>>(entities);
IExporter _excel = new ExcelExporter(); IExporter _excel = new ExcelExporter();
byte[] result = null; 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 = await _excel.ExportAsByteArray(dtoDetails);
result.ShouldNotBeNull(); result.ShouldNotBeNull();
//保存导出文件到服务器存成二进制 //保存导出文件到服务器存成二进制

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

@ -820,122 +820,148 @@ namespace Win.Sfs.SettleAccount.Reports.ReportServices
return _taskid; return _taskid;
} }
/// <summary>
///红旗F平台核对明细
/// </summary>
/// <param name="files">上传的文件(前端已经限制只能上传一个附件)</param>
/// <returns></returns>
[HttpPost] [HttpPost]
[Route("HQFSettledDetailDiffExportService")] [Route("FisUpdateExportService")]
[DisableRequestSizeLimit] [DisableRequestSizeLimit]
public async Task<string> HQFSettledDetailDiffExportServiceMake( [UnitOfWork(isTransactional: false)]
public async Task<string> FisUpdateExportServiceMake(
HQKanbanRequestDto input HQKanbanRequestDto input
) )
{ {
List<CustomCondition> customConditionList = new List<CustomCondition>(); List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode }); var _taskid = await _service.ExportEnqueueAsync("Fis发货数据更新状态", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(FisUpdateExportService), customConditionList, (rs) =>
customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo });
customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc });
customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban });
customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup });
customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode });
var _taskid = await _service.ExportEnqueueAsync("F平台核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQFSettledDetailDiffExportService), customConditionList, (rs) =>
{ {
}); });
return _taskid; return _taskid;
} }
#region F及M平台已经合并入H平台
/// <summary>
///红旗F平台核对明细
/// </summary>
/// <param name="files">上传的文件(前端已经限制只能上传一个附件)</param>
/// <returns></returns>
//[HttpPost]
//[Route("HQFSettledDetailDiffExportService")]
//[DisableRequestSizeLimit]
//public async Task<string> HQFSettledDetailDiffExportServiceMake(
// HQKanbanRequestDto input
// )
//{
// List<CustomCondition> customConditionList = new List<CustomCondition>();
// customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
// customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
// customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
// customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
// customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
// customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo });
// customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc });
// customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban });
// customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup });
// customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode });
// var _taskid = await _service.ExportEnqueueAsync("F平台核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQFSettledDetailDiffExportService), customConditionList, (rs) =>
// {
// });
// return _taskid;
//}
/// <summary> /// <summary>
/// 红旗F平台备件结算出库 /// 红旗F平台备件结算出库
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] //[HttpPost]
[Route("HQFSharePartSettledDetailDiffExportService")] //[Route("HQFSharePartSettledDetailDiffExportService")]
[DisableRequestSizeLimit] //[DisableRequestSizeLimit]
public async Task<string> HQFSharePartSettledDetailDiffExportServiceMake( //public async Task<string> HQFSharePartSettledDetailDiffExportServiceMake(
HQKanbanRequestDto input // HQKanbanRequestDto input
) // )
{ //{
List<CustomCondition> customConditionList = new List<CustomCondition>(); // List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); // customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); // customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); // customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode }); // customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo }); // customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo });
customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc }); // customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc });
customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban }); // customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban });
customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup }); // customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup });
customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode }); // customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode });
var _taskid = await _service.ExportEnqueueAsync("F平台备件核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQFSharePartSettledDetailDiffExportService), customConditionList, (rs) => // var _taskid = await _service.ExportEnqueueAsync("F平台备件核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQFSharePartSettledDetailDiffExportService), customConditionList, (rs) =>
{ // {
}); // });
return _taskid; // return _taskid;
} //}
/// <summary> /// <summary>
///红旗M平台核对明细 ///红旗M平台核对明细
/// </summary> /// </summary>
/// <param name="files">上传的文件(前端已经限制只能上传一个附件)</param> /// <param name="files">上传的文件(前端已经限制只能上传一个附件)</param>
/// <returns></returns> /// <returns></returns>
[HttpPost] //[HttpPost]
[Route("HQMSettledDetailDiffExportService")] //[Route("HQMSettledDetailDiffExportService")]
[DisableRequestSizeLimit] //[DisableRequestSizeLimit]
public async Task<string> HQMSettledDetailDiffExportServiceMake( //public async Task<string> HQMSettledDetailDiffExportServiceMake(
HQKanbanRequestDto input // HQKanbanRequestDto input
) // )
{ //{
List<CustomCondition> customConditionList = new List<CustomCondition>(); // List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); // customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode }); // customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); // customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); // customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode }); // customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo }); // customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo });
customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc }); // customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc });
customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban }); // customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban });
customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup }); // customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup });
customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode }); // customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode });
var _taskid = await _service.ExportEnqueueAsync("M平台核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQMSettledDetailDiffExportService), customConditionList, (rs) => // var _taskid = await _service.ExportEnqueueAsync("M平台核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQMSettledDetailDiffExportService), customConditionList, (rs) =>
{ // {
}); // });
return _taskid; // return _taskid;
} //}
/// <summary> /// <summary>
/// 红旗M平台备件结算出库 /// 红旗M平台备件结算出库
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] //[HttpPost]
[Route("HQMSharePartSettledDetailDiffExportService")] //[Route("HQMSharePartSettledDetailDiffExportService")]
[DisableRequestSizeLimit] //[DisableRequestSizeLimit]
public async Task<string> HQMSharePartSettledDetailDiffExportServiceMake( //public async Task<string> HQMSharePartSettledDetailDiffExportServiceMake(
HQKanbanRequestDto input // HQKanbanRequestDto input
) // )
{ //{
List<CustomCondition> customConditionList = new List<CustomCondition>(); // List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); // customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); // customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); // customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode }); // customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo }); // customConditionList.Add(new CustomCondition() { Name = "AcceptNo", Value = input.AcceptNo });
customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc }); // customConditionList.Add(new CustomCondition() { Name = "WarehouseDesc", Value = input.WarehouseDesc });
customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban }); // customConditionList.Add(new CustomCondition() { Name = "Kanban", Value = input.Kanban });
customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup }); // customConditionList.Add(new CustomCondition() { Name = "MaterialGroup", Value = string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup });
customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode }); // customConditionList.Add(new CustomCondition() { Name = "SapCode", Value = string.IsNullOrEmpty(input.SapCode) ? string.Empty : input.SapCode });
var _taskid = await _service.ExportEnqueueAsync("M平台备件核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQMSharePartSettledDetailDiffExportService), customConditionList, (rs) => // var _taskid = await _service.ExportEnqueueAsync("M平台备件核对明细", ExportExtentsion.Excel, input.Version, string.IsNullOrEmpty(input.MaterialGroup) ? string.Empty : input.MaterialGroup, CurrentUser, typeof(HQMSharePartSettledDetailDiffExportService), customConditionList, (rs) =>
{ // {
}); // });
return _taskid; // return _taskid;
} //}
@ -947,90 +973,69 @@ namespace Win.Sfs.SettleAccount.Reports.ReportServices
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] //[HttpPost]
[Route("HQHShippingExportService")] //[Route("HQHShippingExportService")]
[DisableRequestSizeLimit] //[DisableRequestSizeLimit]
public async Task<string> HQHShippingExportServiceMake( //public async Task<string> HQHShippingExportServiceMake(
HQKanbanRequestDto input // HQKanbanRequestDto input
) // )
{ //{
List<CustomCondition> customConditionList = new List<CustomCondition>(); // List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); // customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); // customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); // customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode }); // customConditionList.Add(new CustomCondition() { Name = "MaterialCode", Value = input.MaterialCode });
var _taskid = await _service.ExportEnqueueAsync("H平台发运核对输出", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(HQHShippingExportService), customConditionList, (rs) => // var _taskid = await _service.ExportEnqueueAsync("H平台发运核对输出", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(HQHShippingExportService), customConditionList, (rs) =>
{ // {
}); // });
return _taskid; // return _taskid;
} //}
/// <summary> /// <summary>
/// F平台未结明细 /// F平台未结明细
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] //[HttpPost]
[Route("HQHShippingExportService")] //[Route("HQHShippingExportService")]
[DisableRequestSizeLimit] //[DisableRequestSizeLimit]
public async Task<string> HQFShippingExportServiceMake( //public async Task<string> HQFShippingExportServiceMake(
HQKanbanRequestDto input // HQKanbanRequestDto input
) // )
{ //{
List<CustomCondition> customConditionList = new List<CustomCondition>(); // List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); // customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); // customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); // customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
var _taskid = await _service.ExportEnqueueAsync("F平台未结明细", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(HQFShippingExportService), customConditionList, (rs) => // var _taskid = await _service.ExportEnqueueAsync("F平台未结明细", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(HQFShippingExportService), customConditionList, (rs) =>
{ // {
}); // });
return _taskid; // return _taskid;
} //}
/// <summary> /// <summary>
/// M平台未明细 /// M平台未明细
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] //[HttpPost]
[Route("HQMShippingExportService")] //[Route("HQMShippingExportService")]
[DisableRequestSizeLimit] //[DisableRequestSizeLimit]
public async Task<string> HQMShippingExportServiceMake( //public async Task<string> HQMShippingExportServiceMake(
HQKanbanRequestDto input // HQKanbanRequestDto input
) // )
{ //{
List<CustomCondition> customConditionList = new List<CustomCondition>(); // List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version }); // customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin }); // customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End }); // customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
var _taskid = await _service.ExportEnqueueAsync("M平台未明细", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(HQMShippingExportService), customConditionList, (rs) => // var _taskid = await _service.ExportEnqueueAsync("M平台未明细", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(HQMShippingExportService), customConditionList, (rs) =>
{ // {
}); // });
return _taskid; // return _taskid;
} //}
[HttpPost]
[Route("FisUpdateExportService")]
[DisableRequestSizeLimit]
[UnitOfWork(isTransactional: false)]
public async Task<string> FisUpdateExportServiceMake(
HQKanbanRequestDto input
)
{
List<CustomCondition> customConditionList = new List<CustomCondition>();
customConditionList.Add(new CustomCondition() { Name = "Version", Value = input.Version });
customConditionList.Add(new CustomCondition() { Name = "BeginTime", Value = input.Begin });
customConditionList.Add(new CustomCondition() { Name = "EndTime", Value = input.End });
var _taskid = await _service.ExportEnqueueAsync("Fis发货数据更新状态", ExportExtentsion.Excel, input.Version, null, CurrentUser, typeof(FisUpdateExportService), customConditionList, (rs) =>
{
});
return _taskid;
}
#endregion

4
src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BT_Car/BT_Car_Platform.cs

@ -57,9 +57,9 @@ namespace Win.Sfs.SettleAccount.Entities.BT_Car
[Display(Name = "工厂")] [Display(Name = "工厂")]
public string Factory { get; set; } public string Factory { get; set; }
/// <summary> /// <summary>
///外部看板编 ///外部验收单
/// </summary> /// </summary>
[Display(Name = "外部看板编号")] [Display(Name = "外部验收单号")]
public string ExternalKanbanNumber { get; set; } public string ExternalKanbanNumber { get; set; }
/// <summary> /// <summary>
///看板编号 ///看板编号

37
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; Version = version;
Type = type; Type = type;
@ -193,13 +197,27 @@ namespace Win.Sfs.SettleAccount.Entities
Qty = qty; Qty = qty;
OutputQty = outputQty; OutputQty = outputQty;
DiffQty = diffQty; DiffQty = diffQty;
MaterialGroupCode = materialGroupCode; EstimateType = materialGroupCode;
MaterialGroup = materialGroup; MaterialGroup = materialGroup;
MaterialDesc = materialDesc; MaterialDesc = materialDesc;
Remark1 = remark1; Remark1 = remark1;
State = state; 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 = "版本号")] [Display(Name = "版本号")]
public string Version { set; get; } public string Version { set; get; }
@ -207,6 +225,7 @@ namespace Win.Sfs.SettleAccount.Entities
public string Client { set; get; } public string Client { set; get; }
[Display(Name = "出库类型")] [Display(Name = "出库类型")]
public string Type { set; get; } public string Type { set; get; }
//[Display(Name = "结算编码")] //[Display(Name = "结算编码")]
//public string SettleCode { set; get; } //public string SettleCode { set; get; }
//[Display(Name = "销售渠道")] //[Display(Name = "销售渠道")]
@ -218,8 +237,6 @@ namespace Win.Sfs.SettleAccount.Entities
[Display(Name = "交货编码")] [Display(Name = "交货编码")]
public string SwitchCode { set; get; } public string SwitchCode { set; get; }
[Display(Name = "物料号")]
public string MaterialCode { set; get; }
//[Display(Name = "寄售类别")] //[Display(Name = "寄售类别")]
//public string SaleType { set; get; } //public string SaleType { set; get; }
[Display(Name = "结算数量")] [Display(Name = "结算数量")]
@ -228,16 +245,18 @@ namespace Win.Sfs.SettleAccount.Entities
public decimal OutputQty { set; get; } public decimal OutputQty { set; get; }
[Display(Name = "差异数量")] [Display(Name = "差异数量")]
public decimal DiffQty { set; get; } public decimal DiffQty { set; get; }
//[Display(Name = "开票单价")] [Display(Name = "开票单价")]
//public decimal Price { set; get; } public decimal Price { set; get; }
//[Display(Name = "结算金额")]
//public decimal Amt { set; get; }
//[Display(Name = "已出库金额")] //[Display(Name = "已出库金额")]
//public decimal OutPutAmt { set; get; } //public decimal OutPutAmt { set; get; }
//[Display(Name = "WMS待出库金额")] //[Display(Name = "WMS待出库金额")]
//public decimal DiffAmt { set; get; } //public decimal DiffAmt { set; get; }
[Display(Name = "物料号")]
public string MaterialCode { set; get; }
[Display(Name = "物料组编码")] [Display(Name = "物料组编码")]
public string MaterialGroupCode { set; get; } public string EstimateType { set; get; }
[Display(Name = "物料组(车型)")] [Display(Name = "物料组(车型)")]
public string MaterialGroup { set; get; } public string MaterialGroup { set; get; }
[Display(Name = "物料组描述")] [Display(Name = "物料组描述")]

2
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.MaterialDesc).HasMaxLength(150);
b.Property(x => x.MaterialGroup).HasMaxLength(50); b.Property(x => x.MaterialGroup).HasMaxLength(50);
b.Property(x => x.MaterialGroupCode).HasMaxLength(50); b.Property(x => x.EstimateType).HasMaxLength(50);
//创建组合索引 //创建组合索引

20
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/SettleAccountDbContextModelSnapshot.cs

@ -11643,6 +11643,9 @@ namespace Win.Sfs.SettleAccount.Migrations
.ValueGeneratedOnAdd() .ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<decimal>("Amt")
.HasColumnType("decimal(18,2)");
b.Property<string>("BillNum") b.Property<string>("BillNum")
.IsRequired() .IsRequired()
.HasMaxLength(50) .HasMaxLength(50)
@ -11651,6 +11654,9 @@ namespace Win.Sfs.SettleAccount.Migrations
b.Property<Guid>("BranchId") b.Property<Guid>("BranchId")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
b.Property<string>("CNumber")
.HasColumnType("nvarchar(max)");
b.Property<string>("Client") b.Property<string>("Client")
.IsRequired() .IsRequired()
.HasMaxLength(50) .HasMaxLength(50)
@ -11684,6 +11690,10 @@ namespace Win.Sfs.SettleAccount.Migrations
b.Property<bool>("Enabled") b.Property<bool>("Enabled")
.HasColumnType("bit"); .HasColumnType("bit");
b.Property<string>("EstimateType")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("ExtraProperties") b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)") .HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties"); .HasColumnName("ExtraProperties");
@ -11702,6 +11712,9 @@ namespace Win.Sfs.SettleAccount.Migrations
.HasColumnType("uniqueidentifier") .HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId"); .HasColumnName("LastModifierId");
b.Property<string>("LineNumber")
.HasColumnType("nvarchar(max)");
b.Property<string>("MaterialCode") b.Property<string>("MaterialCode")
.HasMaxLength(50) .HasMaxLength(50)
.HasColumnType("nvarchar(50)"); .HasColumnType("nvarchar(50)");
@ -11714,13 +11727,12 @@ namespace Win.Sfs.SettleAccount.Migrations
.HasMaxLength(50) .HasMaxLength(50)
.HasColumnType("nvarchar(50)"); .HasColumnType("nvarchar(50)");
b.Property<string>("MaterialGroupCode")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<decimal>("OutputQty") b.Property<decimal>("OutputQty")
.HasColumnType("decimal(18,2)"); .HasColumnType("decimal(18,2)");
b.Property<decimal>("Price")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Qty") b.Property<decimal>("Qty")
.HasColumnType("decimal(18,2)"); .HasColumnType("decimal(18,2)");

13
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQCarSettledDetailDapperRepository.cs

@ -89,7 +89,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" C.EstimateTypeDesc 物料组,\n" + " C.EstimateTypeDesc 物料组,\n" +
" C.MaterialDesc 物料描述,\n" + " C.MaterialDesc 物料描述,\n" +
" CONVERT ( VARCHAR ( 100 ), A.AcceptanceDate, 23 ) 验收单日期,\n" + " CONVERT ( VARCHAR ( 100 ), A.AcceptanceDate, 23 ) 验收单日期,\n" +
" a.[AcceptanceNo] AS 结算验收单号,\n" + " a.[ExternalKanbanNumber] AS 外部验收单号,\n" +
" ISNULL( A.Price, 0 ) 结算单价,\n" + " ISNULL( A.Price, 0 ) 结算单价,\n" +
" ISNULL( A.Qty, 0 ) 结算数量,\n" + " ISNULL( A.Qty, 0 ) 结算数量,\n" +
" ISNULL( A.Price, 0 ) * ISNULL( A.Qty, 0 ) 结算金额,\n" + " ISNULL( A.Price, 0 ) * ISNULL( A.Qty, 0 ) 结算金额,\n" +
@ -230,7 +230,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" C.EstimateTypeDesc 物料组,\n" + " C.EstimateTypeDesc 物料组,\n" +
" C.MaterialDesc 物料描述,\n" + " C.MaterialDesc 物料描述,\n" +
" CONVERT ( VARCHAR ( 100 ), A.AcceptanceDate, 23 ) 验收单日期,\n" + " CONVERT ( VARCHAR ( 100 ), A.AcceptanceDate, 23 ) 验收单日期,\n" +
" a.[AcceptanceNo] AS 结算验收单号,\n" + " a.[ExternalKanbanNumber] AS 外部验收单号,\n" +
" ISNULL( A.Price, 0 ) 结算单价,\n" + " ISNULL( A.Price, 0 ) 结算单价,\n" +
" ISNULL( A.Qty, 0 ) 结算数量,\n" + " ISNULL( A.Qty, 0 ) 结算数量,\n" +
" ISNULL( A.Price, 0 ) * ISNULL( A.Qty, 0 ) 结算金额,\n" + " ISNULL( A.Price, 0 ) * ISNULL( A.Qty, 0 ) 结算金额,\n" +
@ -341,7 +341,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
public HQCarSettledDetailDiff(string sapMaterialCode, string materialCode, string materialDesc, decimal price, public HQCarSettledDetailDiff(string sapMaterialCode, string materialCode, string materialDesc, decimal price,
string storageLocation, string storageLocationDesc, decimal selprice, decimal diffprice, decimal sumprice, decimal settleprice, decimal qty, string storageLocation, string storageLocationDesc, decimal selprice, decimal diffprice, decimal sumprice, decimal settleprice, decimal qty,
decimal sockQty,string metarialGroup,string acceptanceNo,string acceptanceDate) decimal sockQty,string metarialGroup,string externalKanbanNumber, string acceptanceDate)
{ {
SAP编码 = sapMaterialCode; SAP编码 = sapMaterialCode;
= materialDesc; = materialDesc;
@ -356,7 +356,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
= qty; = qty;
= settleprice; = settleprice;
= metarialGroup; = metarialGroup;
= acceptanceNo; = externalKanbanNumber;
= acceptanceDate; = acceptanceDate;
} }
@ -377,9 +377,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
[ExporterHeader(DisplayName = "验收单日期")] [ExporterHeader(DisplayName = "验收单日期")]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "结算验收单号")] [ExporterHeader(DisplayName = "结算验收单号",IsIgnore =true)]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "外部验收单号")]
public string { set; get; }
[ExporterHeader(DisplayName = "物料组")] [ExporterHeader(DisplayName = "物料组")]
public string { set; get; } public string { set; get; }

31
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQFactorySettledDetailDapperRepository.cs

@ -47,7 +47,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" temp3.StorageLocation 收货仓库,\n" + " temp3.StorageLocation 收货仓库,\n" +
" temp3.StorageLocationDesc 收货仓库描述,\n" + " temp3.StorageLocationDesc 收货仓库描述,\n" +
" temp3.HQHKanBan 订货看板编号,\n" + " temp3.HQHKanBan 订货看板编号,\n" +
" temp3.AcceptanceNo 结算验收单号,\n" + " temp3.ExternalKanbanNumber 外部验收单号,\n" +
" temp3.AcceptanceDate 验收单日期,\n" + " temp3.AcceptanceDate 验收单日期,\n" +
" temp3.MaterialCode Sap编码,\n" + " temp3.MaterialCode Sap编码,\n" +
" temp3.hqMaterialCode 客户物料号,\n" + " temp3.hqMaterialCode 客户物料号,\n" +
@ -68,7 +68,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" h.StorageLocation,\n" + " h.StorageLocation,\n" +
" h.StorageLocationDesc,\n" + " h.StorageLocationDesc,\n" +
" h.HQHKanBan,\n" + " h.HQHKanBan,\n" +
" h.AcceptanceNo,\n" + " h.ExternalKanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), h.AcceptanceDate, 23 ) AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), h.AcceptanceDate, 23 ) AcceptanceDate,\n" +
" m.MaterialCode,\n" + " m.MaterialCode,\n" +
" h.MaterialCode hqMaterialCode,\n" + " h.MaterialCode hqMaterialCode,\n" +
@ -85,7 +85,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" HQHKanBan,\n" + " HQHKanBan,\n" +
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" AcceptanceNo,\n" + " ExternalKanbanNumber,\n" +
" MaterialCode,\n" + " MaterialCode,\n" +
" AcceptanceDate \n" + " AcceptanceDate \n" +
" FROM\n" + " FROM\n" +
@ -94,7 +94,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" HQHKanBan,\n" + " HQHKanBan,\n" +
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" AcceptanceNo,\n" + " ExternalKanbanNumber,\n" +
" Amt,\n" + " Amt,\n" +
" MaterialCode,\n" + " MaterialCode,\n" +
" AcceptanceDate \n" + " AcceptanceDate \n" +
@ -109,7 +109,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" c.CustomerPartCode 客户物料号,\n" + " c.CustomerPartCode 客户物料号,\n" +
" c.MaterialDesc AS 零件中文名称,\n" + " c.MaterialDesc AS 零件中文名称,\n" +
" isnull( a.Qty, 0 ) AS 系统未结数量,\n" + " isnull( a.Qty, 0 ) AS 系统未结数量,\n" +
" b.AcceptanceNo AS 结算验收单号,\n" + " b.ExternalKanbanNumber AS 外部验收单号,\n" +
" C.EstimateTypeDesc AS 物料组 \n" + " C.EstimateTypeDesc AS 物料组 \n" +
" FROM\n" + " FROM\n" +
" ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode ) AS a\n" + " ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode ) AS a\n" +
@ -167,7 +167,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
"FROM\n" + "FROM\n" +
" (\n" + " (\n" +
" SELECT\n" + " SELECT\n" +
" a.AcceptanceNo AS AcceptanceNo,\n" + " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" +
" a.KanbanNumber AS KanbanNumber,\n" + " a.KanbanNumber AS KanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
@ -207,7 +207,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
"FROM\n" + "FROM\n" +
" (\n" + " (\n" +
" SELECT\n" + " SELECT\n" +
" a.AcceptanceNo AS AcceptanceNo,\n" + " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" +
" a.KanbanNumber AS KanbanNumber,\n" + " a.KanbanNumber AS KanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
@ -244,7 +244,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
var sql12 = "SELECT\n" + var sql12 = "SELECT\n" +
" a.AcceptanceNo AS AcceptanceNo,\n" + " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" +
" a.KanbanNumber AS KanbanNumber,\n" + " a.KanbanNumber AS KanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
@ -267,7 +267,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{ {
first.KanbanNumber += "," + itm.KanbanNumber; first.KanbanNumber += "," + itm.KanbanNumber;
first.AcceptanceDate += "," + itm.AcceptanceDate; first.AcceptanceDate += "," + itm.AcceptanceDate;
first.AcceptanceNo += "," + itm.AcceptanceNo; first.ExternalKanbanNumber += "," + itm.ExternalKanbanNumber;
} }
else else
{ {
@ -336,7 +336,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{ {
//itm1.看板编号 = itmcopy.KanbanNumber; //itm1.看板编号 = itmcopy.KanbanNumber;
itm1. = itmcopy.AcceptanceDate; itm1. = itmcopy.AcceptanceDate;
itm1. = itmcopy.AcceptanceNo; itm1. = itmcopy.ExternalKanbanNumber;
} }
} }
@ -370,14 +370,14 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{ {
condition += string.Format(" and a.LastModificationTime<='{0}' ", end); condition += string.Format(" and a.LastModificationTime<='{0}' ", end);
} }
//按照客户财务要求 去掉结算验收单号换成外部验收单号
string str = "SELECT\n" + string str = "SELECT\n" +
" temp1.交货单号,\n" + " temp1.交货单号,\n" +
" temp1.交货时间,\n" + " temp1.交货时间,\n" +
" temp1.收货仓库,\n" + " temp1.收货仓库,\n" +
" temp1.收货仓库描述,\n" + " temp1.收货仓库描述,\n" +
" temp1.订货看板编号,\n" + " temp1.订货看板编号,\n" +
" temp1.结算验收单号,\n" + " temp1.外部验收单号,\n" +
" temp1.Sap编码,\n" + " temp1.Sap编码,\n" +
" temp1.[客户物料号],\n" + " temp1.[客户物料号],\n" +
" temp1.物料组,\n" + " temp1.物料组,\n" +
@ -398,7 +398,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" c.CustomerPartCode 客户物料号,\n" + " c.CustomerPartCode 客户物料号,\n" +
" c.MaterialDesc AS 零件中文名称,\n" + " c.MaterialDesc AS 零件中文名称,\n" +
" isnull( a.Qty, 0 ) AS 系统未结数量,\n" + " isnull( a.Qty, 0 ) AS 系统未结数量,\n" +
" b.AcceptanceNo AS 结算验收单号,\n" + " b.ExternalKanbanNumber AS 外部验收单号,\n" +
" C.EstimateTypeDesc AS 物料组 \n" + " C.EstimateTypeDesc AS 物料组 \n" +
" FROM\n" + " FROM\n" +
" ( SELECT SUM ( Qty ) AS Qty, Kanban, MaterialCode, WmsBillNum, LastModificationTime FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode, WmsBillNum, LastModificationTime ) AS a\n" + " ( SELECT SUM ( Qty ) AS Qty, Kanban, MaterialCode, WmsBillNum, LastModificationTime FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode, WmsBillNum, LastModificationTime ) AS a\n" +
@ -434,9 +434,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
[ExporterHeader(DisplayName = "订货看板编号")] [ExporterHeader(DisplayName = "订货看板编号")]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "结算验收单号")] [ExporterHeader(DisplayName = "结算验收单号", IsIgnore = true)]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "外部验收单号")]
public string { set; get; }
[ExporterHeader(DisplayName = "Sap编码")] [ExporterHeader(DisplayName = "Sap编码")]
public string Sap编码 { set; get; } public string Sap编码 { set; get; }

353
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/HQHSettledDetailDapperRepository.cs

@ -23,7 +23,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
public class CompareExtend1 public class CompareExtend1
{ {
public string AcceptanceNo { set; get; } public string ExternalKanbanNumber { set; get; }
public string KanbanNumber { set; get; } public string KanbanNumber { set; get; }
public string AcceptanceDate { set; get; } public string AcceptanceDate { set; get; }
public string HQHKanBan { set; get; } public string HQHKanBan { set; get; }
@ -88,7 +88,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" temp1.零件中文名称,\n" + " temp1.零件中文名称,\n" +
" temp1.发货数量,\n" + " temp1.发货数量,\n" +
" temp1.发货状态,\n" + " temp1.发货状态,\n" +
" temp1.结算验收单号,\n" + " temp1.外部验收单号,\n" +
" temp1.结算数量,\n" + " temp1.结算数量,\n" +
" temp3.Price AS 结算单价,\n" + " temp3.Price AS 结算单价,\n" +
" ( temp1.[结算数量] * ISNULL( temp3.Price, 0 ) ) AS 结算金额,\n" + " ( temp1.[结算数量] * ISNULL( temp3.Price, 0 ) ) AS 结算金额,\n" +
@ -113,7 +113,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" c.MaterialDesc AS 零件中文名称,\n" + " c.MaterialDesc AS 零件中文名称,\n" +
" isnull( b.Qty, 0 ) AS 发货数量,\n" + " isnull( b.Qty, 0 ) AS 发货数量,\n" +
" 2 AS 发货状态,\n" + " 2 AS 发货状态,\n" +
" a.[AcceptanceNo] AS 结算验收单号,\n" + " a.[ExternalKanbanNumber] AS 外部验收单号,\n" +
" isnull( a.Qty, 0 ) AS 结算数量,\n" + " isnull( a.Qty, 0 ) AS 结算数量,\n" +
" C.EstimateTypeDesc AS 物料组,\n" + " C.EstimateTypeDesc AS 物料组,\n" +
" a.Factory AS 工厂,\n" + " a.Factory AS 工厂,\n" +
@ -129,7 +129,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" Factory,\n" + " Factory,\n" +
" AcceptanceNo \n" + " ExternalKanbanNumber \n" +
" FROM\n" + " FROM\n" +
" Set_HQ_H_Platform \n" + " Set_HQ_H_Platform \n" +
" GROUP BY\n" + " GROUP BY\n" +
@ -139,7 +139,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" Factory,\n" + " Factory,\n" +
" AcceptanceNo \n" + " ExternalKanbanNumber \n" +
" ) AS a\n" + " ) AS a\n" +
" INNER JOIN ( SELECT SUM ( Qty ) AS Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode ) AS b ON a.HQHKanBan = b.Kanban \n" + " INNER JOIN ( SELECT SUM ( Qty ) AS Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode ) AS b ON a.HQHKanBan = b.Kanban \n" +
" AND a.MaterialCode = b.MaterialCode\n" + " AND a.MaterialCode = b.MaterialCode\n" +
@ -227,7 +227,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
"FROM\n" + "FROM\n" +
" (\n" + " (\n" +
" SELECT\n" + " SELECT\n" +
" a.AcceptanceNo AS AcceptanceNo,\n" + " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" +
" a.KanbanNumber AS KanbanNumber,\n" + " a.KanbanNumber AS KanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
@ -258,7 +258,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
"FROM\n" + "FROM\n" +
" (\n" + " (\n" +
" SELECT\n" + " SELECT\n" +
" a.AcceptanceNo AS AcceptanceNo,\n" + " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" +
" a.KanbanNumber AS KanbanNumber,\n" + " a.KanbanNumber AS KanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
@ -283,7 +283,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
var sql12 = "SELECT\n" + var sql12 = "SELECT\n" +
" a.AcceptanceNo AS AcceptanceNo,\n" + " a.ExternalKanbanNumber AS ExternalKanbanNumber,\n" +
" a.KanbanNumber AS KanbanNumber,\n" + " a.KanbanNumber AS KanbanNumber,\n" +
" CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" + " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS AcceptanceDate,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
@ -308,7 +308,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{ {
first.KanbanNumber +="," +itm.KanbanNumber; first.KanbanNumber +="," +itm.KanbanNumber;
first.AcceptanceDate += "," + itm.AcceptanceDate; first.AcceptanceDate += "," + itm.AcceptanceDate;
first.AcceptanceNo += "," + itm.AcceptanceNo; first.ExternalKanbanNumber += "," + itm.ExternalKanbanNumber;
} }
else else
{ {
@ -377,7 +377,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{ {
itm1. = itmcopy.KanbanNumber; itm1. = itmcopy.KanbanNumber;
itm1. = itmcopy.AcceptanceDate; itm1. = itmcopy.AcceptanceDate;
itm1. = itmcopy.AcceptanceNo; itm1. = itmcopy.ExternalKanbanNumber;
} }
} }
@ -455,7 +455,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" c.MaterialDesc AS 零件中文名称,\n" + " c.MaterialDesc AS 零件中文名称,\n" +
" isnull( b.Qty, 0 ) AS 发货数量,\n" + " isnull( b.Qty, 0 ) AS 发货数量,\n" +
" isnull( b.State, 0 ) AS 发货状态,\n" + " isnull( b.State, 0 ) AS 发货状态,\n" +
" a.AcceptanceNo AS 结算验收单号,\n" + " a.ExternalKanbanNumber AS 外部验收单号,\n" +
" isnull( a.Qty, 0 ) AS 结算数量,\n" + " isnull( a.Qty, 0 ) AS 结算数量,\n" +
" isnull( a.Price, 0 ) AS 结算单价,\n" + " isnull( a.Price, 0 ) AS 结算单价,\n" +
" isnull( a.Amt, 0 ) AS 结算金额 ,\n" + " isnull( a.Amt, 0 ) AS 结算金额 ,\n" +
@ -518,7 +518,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" c.MaterialDesc AS 零件中文名称,\n" + " c.MaterialDesc AS 零件中文名称,\n" +
" 0 AS 发货数量,\n" + " 0 AS 发货数量,\n" +
" 0 AS 发货状态,\n" + " 0 AS 发货状态,\n" +
" a.AcceptanceNo AS 结算验收单号,\n" + " a.ExternalKanbanNumber AS 结算验收单号,\n" +
" isnull( a.Qty, 0 ) AS 结算数量,\n" + " isnull( a.Qty, 0 ) AS 结算数量,\n" +
" C.EstimateTypeDesc AS 物料组,\n" + " C.EstimateTypeDesc AS 物料组,\n" +
" a.Factory AS 工厂,\n" + " a.Factory AS 工厂,\n" +
@ -532,7 +532,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" Version,\n" + " Version,\n" +
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" Factory,AcceptanceNo \n" + " Factory,ExternalKanbanNumber \n" +
" FROM\n" + " FROM\n" +
" Set_HQ_H_Platform \n" + " Set_HQ_H_Platform \n" +
" WHERE\n" + " WHERE\n" +
@ -542,7 +542,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" Version,\n" + " Version,\n" +
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" Factory,AcceptanceNo \n" + " Factory,ExternalKanbanNumber \n" +
" ) AS a\n" + " ) AS a\n" +
" LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" +
" WHERE\n" + " WHERE\n" +
@ -565,62 +565,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" ) AS TEMP3 ON temp1.[结算物料代码] = TEMP3.MaterialCode \n" + " ) AS TEMP3 ON temp1.[结算物料代码] = TEMP3.MaterialCode \n" +
" ) ccc"; " ) ccc";
//string str = "SELECT\n" +
// " temp1.交货时间,\n" +
// " isnull( temp1.手工或自动, '' ) 手工或自动,\n" +
// " isnull( temp1.交货单号, '' ) 交货单号,\n" +
// " temp1.[工厂],\n" +
// " temp1.收货仓库,\n" +
// " temp1.收货仓库描述,\n" +
// " temp1.订货看板编号,\n" +
// " temp1.订货零件号,\n" +
// " temp1.验收单日期,\n" +
// " temp1.Sap编码,\n" +
// " temp1.看板编号,\n" +
// " temp1.物料组,\n" +
// " temp1.零件中文名称,\n" +
// " temp1.发货数量,\n" +
// " temp1.发货状态,\n" +
// " temp1.结算验收单号,\n" +
// " temp1.结算数量,\n" +
// " temp1.结算单价,\n" +
// " temp1.结算金额,\n" +
// " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" +
// " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" +
// " 0 AS 数量差异,\n" +
// " temp1.结算单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异,\n" +
// " ( temp1.结算单价 - ISNULL( TEMP2.Price, 0 ) ) * temp1.结算数量 AS 差异总金额 \n" +
// "FROM\n" +
// " (\n" +
// " SELECT\n" +
// " b.WmsBillNum AS 交货单号,\n" +
// " CONVERT ( VARCHAR ( 100 ), b.LastModificationTime, 23 ) AS 交货时间,\n" +
// " b.IsAuto AS 手工或自动,\n" +
// " a.StorageLocation AS 收货仓库,\n" +
// " a.StorageLocationDesc AS 收货仓库描述,\n" +
// " a.HQHKanBan AS 订货看板编号,\n" +
// " a.MaterialCode AS 订货零件号,\n" +
// " c.MaterialCode Sap编码,\n" +
// " c.MaterialDesc AS 零件中文名称,\n" +
// " isnull( b.Qty, 0 ) AS 发货数量,\n" +
// " isnull( b.State, 0 ) AS 发货状态,\n" +
// " a.AcceptanceNo AS 结算验收单号,\n" +
// " isnull( a.Qty, 0 ) AS 结算数量,\n" +
// " isnull( a.Price, 0 ) AS 结算单价,\n" +
// " isnull( a.Amt, 0 ) AS 结算金额 ,\n" +
// " C.EstimateTypeDesc AS 物料组,\n" +
// " a.Factory AS 工厂,\n" +
// " a.KanbanNumber AS 看板编号,\n" +
// " CONVERT ( VARCHAR ( 100 ), a.AcceptanceDate, 23 ) AS 验收单日期 \n" +
// " FROM\n" +
// " Set_HQ_H_Platform AS a\n" +
// " LEFT OUTER JOIN Set_HQ_H_Kanban AS b ON a.HQHKanBan = b.Kanban \n" +
// " AND a.MaterialCode = b.MaterialCode\n" +
// " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" +
// " WHERE\n" +
// " a.HQHKanBan <>'BJ' AND a.Version= '{0}' \n" +
// " ) AS temp1\n" +
// " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode WHERE temp1.[交货单号] is null ";
var _sql = string.Format(str, version); var _sql = string.Format(str, version);
var _query = DbConnection.Query<HQHSettledDetailDiff>(_sql, null, null, true, 1200, null); var _query = DbConnection.Query<HQHSettledDetailDiff>(_sql, null, null, true, 1200, null);
@ -629,15 +574,8 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
} }
/// <summary>
/// 反向对比,有发货无结算报表
/// </summary>
/// <param name="version"></param>
/// <param name="materialCode"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
/// <param name="materialGroup"></param>
/// <returns></returns>
public virtual List<HQHUnSettledDetailDiff> GetReverseSettledDetailDiffReportList(string version, string materialCode, string begin, string end, string materialGroup) public virtual List<HQHUnSettledDetailDiff> GetReverseSettledDetailDiffReportList(string version, string materialCode, string begin, string end, string materialGroup)
{ {
@ -653,10 +591,13 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{ {
condition += string.Format(" and a.LastModificationTime<='{0}' ", end); condition += string.Format(" and a.LastModificationTime<='{0}' ", end);
} }
//更改:按照财务要求,将有发货有结算中发货数量大于结算数据的数据整合到未结报表中20220324
string str = "SELECT\n" + string str = "SELECT\n" +
" * \n" +
"FROM\n" +
" (\n" +
" SELECT\n" +
" temp1.交货时间,\n" + " temp1.交货时间,\n" +
" isnull( temp1.手工或自动, '' ) 手工或自动,\n" +
" isnull( temp1.交货单号, '' ) 交货单号,\n" + " isnull( temp1.交货单号, '' ) 交货单号,\n" +
" temp1.收货仓库,\n" + " temp1.收货仓库,\n" +
" temp1.收货仓库描述,\n" + " temp1.收货仓库描述,\n" +
@ -668,7 +609,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" temp1.零件中文名称,\n" + " temp1.零件中文名称,\n" +
" temp1.发货数量,\n" + " temp1.发货数量,\n" +
" temp1.发货状态,\n" + " temp1.发货状态,\n" +
" temp1.结算验收单号,\n" + " temp1.外部验收单号,\n" +
" temp1.结算数量,\n" + " temp1.结算数量,\n" +
" temp1.结算单价,\n" + " temp1.结算单价,\n" +
" temp1.结算金额,\n" + " temp1.结算金额,\n" +
@ -683,7 +624,6 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" SELECT\n" + " SELECT\n" +
" a.WmsBillNum AS 交货单号,\n" + " a.WmsBillNum AS 交货单号,\n" +
" CONVERT ( VARCHAR ( 100 ), a.LastModificationTime, 23 ) AS 交货时间 ,\n" + " CONVERT ( VARCHAR ( 100 ), a.LastModificationTime, 23 ) AS 交货时间 ,\n" +
" a.IsAuto AS 手工或自动,\n" +
" b.StorageLocation AS 收货仓库,\n" + " b.StorageLocation AS 收货仓库,\n" +
" b.StorageLocationDesc AS 收货仓库描述,\n" + " b.StorageLocationDesc AS 收货仓库描述,\n" +
" a.Kanban AS 订货看板编号,\n" + " a.Kanban AS 订货看板编号,\n" +
@ -693,14 +633,14 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" c.MaterialDesc AS 零件中文名称,\n" + " c.MaterialDesc AS 零件中文名称,\n" +
" isnull( a.Qty, 0 ) AS 发货数量,\n" + " isnull( a.Qty, 0 ) AS 发货数量,\n" +
" isnull( a.State, 0 ) AS 发货状态,\n" + " isnull( a.State, 0 ) AS 发货状态,\n" +
" b.AcceptanceNo AS 结算验收单号,\n" + " b.ExternalKanbanNumber AS 外部验收单号,\n" +
" isnull( b.Qty, 0 ) AS 结算数量,\n" + " isnull( b.Qty, 0 ) AS 结算数量,\n" +
" isnull( b.Price, 0 ) AS 结算单价,\n" + " isnull( b.Price, 0 ) AS 结算单价,\n" +
" isnull( b.Amt, 0 ) AS 结算金额 ,\n" + " isnull( b.Amt, 0 ) AS 结算金额 ,\n" +
" C.EstimateTypeDesc AS 物料组 \n" + " C.EstimateTypeDesc AS 物料组 \n" +
" FROM\n" + " FROM\n" +
" Set_HQ_H_Kanban AS a\n" + " Set_HQ_H_Kanban AS a\n" +
" LEFT OUTER JOIN ( SELECT * FROM Set_HQ_H_Platform WHERE HQHKanBan <> 'BJ' ) AS b ON a.Kanban = b.HQHKanBan \n" + " LEFT OUTER JOIN Set_HQ_H_Platform AS b ON a.Kanban = b.HQHKanBan \n" +
" AND a.MaterialCode = b.MaterialCode\n" + " AND a.MaterialCode = b.MaterialCode\n" +
" LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" + " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" +
" WHERE\n" + " WHERE\n" +
@ -708,7 +648,67 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" AND b.MaterialCode IS NULL {0}\n" + " AND b.MaterialCode IS NULL {0}\n" +
" ) AS temp1\n" + " ) AS temp1\n" +
" LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" + " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" +
" left join set_backQty tt on temp1.Sap编码 = tt.MaterialCode and temp1.订货看板编号 = tt.Code "; " LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" +
" AND temp1.订货看板编号 = tt.Code \n" +
" ) UNION1 UNION ALL\n" +
"SELECT\n" +
" * \n" +
"FROM\n" +
" (\n" +
" SELECT\n" +
" temp1.交货时间,\n" +
" isnull( temp1.交货单号, '' ) 交货单号,\n" +
" temp1.收货仓库,\n" +
" temp1.收货仓库描述,\n" +
" temp1.订货看板编号,\n" +
" temp1.订货零件号,\n" +
" temp1.Sap编码,\n" +
" temp1.[客户物料号],\n" +
" temp1.物料组,\n" +
" temp1.零件中文名称,\n" +
" temp1.发货数量,\n" +
" temp1.发货状态,\n" +
" temp1.外部验收单号,\n" +
" temp1.结算数量,\n" +
" temp1.结算单价,\n" +
" temp1.结算金额,\n" +
" isnull( TEMP2.Price, 0 ) AS 发货定价,\n" +
" isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" +
" isnull( tt.Qty, 0 ) 退货数量,\n" +
" isnull( temp1.发货数量, 0 ) - isnull( temp1.结算数量, 0 ) AS 数量差异,\n" +
" temp1.结算单价 - ISNULL( TEMP2.Price, 0 ) AS 单价差异,\n" +
" ( temp1.结算单价 - ISNULL( TEMP2.Price, 0 ) ) * ( isnull( temp1.发货数量, 0 ) - isnull( tt.Qty, 0 ) ) AS 差异总金额 \n" +
" FROM\n" +
" (\n" +
" SELECT\n" +
" a.WmsBillNum AS 交货单号,\n" +
" CONVERT ( VARCHAR ( 100 ), a.LastModificationTime, 23 ) AS 交货时间 ,\n" +
" '' AS 收货仓库,\n" +
" '' AS 收货仓库描述,\n" +
" a.Kanban AS 订货看板编号,\n" +
" b.MaterialCode AS 订货零件号,\n" +
" c.MaterialCode Sap编码,\n" +
" c.CustomerPartCode 客户物料号,\n" +
" c.MaterialDesc AS 零件中文名称,\n" +
" isnull( a.Qty, 0 ) AS 发货数量,\n" +
" 0 AS 发货状态,\n" +
" '' AS 外部验收单号,\n" +
" isnull( b.Qty, 0 ) AS 结算数量,\n" +
" 0 AS 结算单价,\n" +
" 0 AS 结算金额 ,\n" +
" C.EstimateTypeDesc AS 物料组 \n" +
" FROM\n" +
" ( SELECT SUM ( Qty ) Qty, Kanban, MaterialCode, WmsBillNum, LastModificationTime FROM Set_HQ_H_Kanban GROUP BY kanban, MaterialCode, WmsBillNum, LastModificationTime ) AS a\n" +
" INNER JOIN ( SELECT SUM ( Qty ) Qty, HQHKanBan, MaterialCode FROM Set_HQ_H_Platform GROUP BY HQHKanBan, MaterialCode ) AS b ON a.Kanban = b.HQHKanBan \n" +
" AND a.MaterialCode = b.MaterialCode\n" +
" LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" +
" WHERE\n" +
" a.Qty> b.Qty {0}\n" +
" ) AS temp1\n" +
" LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" +
" LEFT JOIN set_backQty tt ON temp1.Sap编码 = tt.MaterialCode \n" +
" AND temp1.订货看板编号 = tt.Code \n" +
" ) UNION2";
var _sql = string.Format(str, condition); var _sql = string.Format(str, condition);
var _query = DbConnection.Query<HQHUnSettledDetailDiff>(_sql, null, null, true, 1200, null); var _query = DbConnection.Query<HQHUnSettledDetailDiff>(_sql, null, null, true, 1200, null);
@ -718,127 +718,8 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
} }
///// <summary>
///// 反向对比,有发货无结算报表
///// </summary>
///// <param name="version"></param>
///// <param name="materialCode"></param>
///// <param name="begin"></param>
///// <param name="end"></param>
///// <param name="materialGroup"></param>
///// <returns></returns>
//public virtual List<HQHSettledDetailDiff> GetReverseSettledDetailDiffReportList(string version, string materialCode, string begin, string end, string materialGroup)
//{
// List<HQHSettledDetailDiff> _list = new List<HQHSettledDetailDiff>();
// string condition = " ";
// string str = "SELECT\n" +
// " isnull( temp1.交货单号, '' ) 交货单号,\n" +
// " temp1.交货时间,\n" +
// " isnull( temp1.手工或自动, '' ) 手工或自动,\n" +
// " temp1.[工厂],\n" +
// " temp1.收货仓库,\n" +
// " temp1.收货仓库描述,\n" +
// " temp1.订货看板编号,\n" +
// " temp1.订货零件号,\n" +
// " temp1.验收单日期,\n" +
// " temp1.Sap编码,\n" +
// " temp1.看板编号,\n" +
// " temp1.物料组,\n" +
// " temp1.零件中文名称,\n" +
// " temp1.发货数量,\n" +
// " temp1.发货状态,\n" +
// " temp1.结算验收单号,\n" +
// " temp1.结算数量,\n" +
// " temp3.Price AS 结算单价,\n" +
// " ( temp1.[结算数量] * ISNULL( temp3.Price, 0 ) ) AS 结算金额,\n" +
// " isnull( TEMP2.Price, 0 ) AS 发货定价,\n" +
// " isnull( temp1.发货数量, 0 ) * isnull( TEMP2.Price, 0 ) AS 发货总金额,\n" +
// " ( isnull( temp1.发货数量, 0 ) - isnull( temp1.[结算数量], 0 ) ) AS 数量差异,\n" +
// " ISNULL( temp3.Price, 0 ) - ISNULL( TEMP2.Price, 0 ) AS 单价差异,\n" +
// " ( ISNULL( temp3.Price, 0 ) - ISNULL( TEMP2.Price, 0 ) ) * temp1.结算数量 AS 差异总金额 \n" +
// "FROM\n" +
// " (\n" +
// " SELECT\n" +
// " '' AS 交货单号,\n" +
// " NULL AS 交货时间,\n" +
// " '' AS 手工或自动,\n" +
// " b.StorageLocation AS 收货仓库,\n" +
// " b.StorageLocationDesc AS 收货仓库描述,\n" +
// " a.Kanban AS 订货看板编号,\n" +
// " a.MaterialCode AS 订货零件号,\n" +
// " c.MaterialCode Sap编码,\n" +
// " a.MaterialCode 结算物料代码,\n" +
// " c.MaterialDesc AS 零件中文名称,\n" +
// " isnull( a.Qty, 0 ) AS 发货数量,\n" +
// " 0 AS 发货状态,\n" +
// " '' AS 结算验收单号,\n" +
// " isnull( b.Qty, 0 ) AS 结算数量,\n" +
// " C.EstimateTypeDesc AS 物料组,\n" +
// " b.Factory AS 工厂,\n" +
// " '' AS 看板编号,\n" +
// " '' AS 验收单日期 \n" +
// " FROM\n" +
// " (\n" +
// " SELECT SUM ( Qty ) AS Qty, Kanban, MaterialCode FROM Set_HQ_H_Kanban GROUP BY Kanban, MaterialCode\n" +
// " ) AS a\n" +
// " LEFT JOIN \n" +
// " ( \n" +
// " SELECT SUM\n" +
// " ( Qty ) AS Qty,\n" +
// " HQHKanBan,\n" +
// " MaterialCode,\n" +
// " Version,\n" +
// " StorageLocation,\n" +
// " StorageLocationDesc,\n" +
// " Factory \n" +
// " FROM\n" +
// " Set_HQ_H_Platform WHERE HQHKanBan <> 'BJ'\n" +
// " GROUP BY\n" +
// " HQHKanBan,\n" +
// " MaterialCode,\n" +
// " Version,\n" +
// " StorageLocation,\n" +
// " StorageLocationDesc,\n" +
// " Factory\n" +
// " \n" +
// " ) AS b \n" +
// " ON a.Kanban = b.HQHKanBan \n" +
// " AND a.MaterialCode = b.MaterialCode\n" +
// " LEFT OUTER JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" +
// " WHERE\n" +
// " b.HQHKanBan is NULL \n" +
// " AND b.MaterialCode is NULL \n" +
// " ) AS temp1\n" +
// " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) FROM Set_PriceList ) ) ) AS TEMP2 ON temp1.Sap编码 = TEMP2.MaterialCode\n" +
// " LEFT JOIN (\n" +
// " SELECT SUM\n" +
// " ( Amt ) / SUM ( Qty ) AS Price,\n" +
// " HQHKanBan,\n" +
// " MaterialCode,\n" +
// " Version \n" +
// " FROM\n" +
// " Set_HQ_H_Platform \n" +
// " WHERE\n" +
// " HQHKanBan <> 'BJ' \n" +
// " GROUP BY\n" +
// " HQHKanBan,\n" +
// " MaterialCode,\n" +
// " Version \n" +
// " ) AS TEMP3 ON temp1.[结算物料代码] = TEMP3.MaterialCode \n" +
// " AND temp1.订货看板编号 = TEMP3.HQHKanBan";
// var _sql = string.Format(str, version, condition);
// var _query = DbConnection.Query<HQHSettledDetailDiff>(_sql, null, null, true, 1200, null);
// return _list;
//}
public virtual List<HQHSettleQtyDiff> GetDiffQtyList(string version) public virtual List<HQHSettleQtyDiff> GetDiffQtyList(string version)
{ {
@ -901,7 +782,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" C.EstimateTypeDesc 物料组,\n" + " C.EstimateTypeDesc 物料组,\n" +
" C.MaterialCode Sap编码,\n" + " C.MaterialCode Sap编码,\n" +
" C.MaterialDesc 零件中文名称,\n" + " C.MaterialDesc 零件中文名称,\n" +
" a.[AcceptanceNo] AS 结算验收单号,\n" + " a.[ExternalKanbanNumber] AS 外部验收单号,\n" +
" a.Factory AS 工厂,\n" + " a.Factory AS 工厂,\n" +
" a.HQHKanBan AS 订货看板编号,\n" + " a.HQHKanBan AS 订货看板编号,\n" +
" a.AcceptanceDate 验收单日期,\n" + " a.AcceptanceDate 验收单日期,\n" +
@ -915,7 +796,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" Factory,\n" + " Factory,\n" +
" AcceptanceNo,\n" + " ExternalKanbanNumber,\n" +
" Price,\n" + " Price,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
" CONVERT ( VARCHAR ( 100 ), AcceptanceDate, 23 ) AcceptanceDate \n" + " CONVERT ( VARCHAR ( 100 ), AcceptanceDate, 23 ) AcceptanceDate \n" +
@ -930,7 +811,7 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" StorageLocation,\n" + " StorageLocation,\n" +
" StorageLocationDesc,\n" + " StorageLocationDesc,\n" +
" Factory,\n" + " Factory,\n" +
" AcceptanceNo,\n" + " ExternalKanbanNumber,\n" +
" Price,\n" + " Price,\n" +
" HQHKanBan,\n" + " HQHKanBan,\n" +
" AcceptanceDate \n" + " AcceptanceDate \n" +
@ -939,51 +820,6 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" ) temp1\n" + " ) temp1\n" +
" LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS temp2 ON temp1.Sap编码 = temp2.MaterialCode"; " LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS temp2 ON temp1.Sap编码 = temp2.MaterialCode";
//string str = "SELECT\n" +
//" temp1.*,\n" +
//" isnull( temp2.Price, 0 ) 销售单价,\n" +
//" ( isnull( temp1.结算单价, 0 ) - isnull( temp2.Price, 0 ) ) 价格差异,\n" +
//" ( isnull( temp1.结算单价, 0 ) - isnull( temp2.Price, 0 ) ) * temp1.结算数量 AS 差异总金额 \n" +
//"FROM\n" +
//" (\n" +
//" SELECT\n" +
//" ISNULL( A.Price, 0 ) 结算单价,\n" +
//" ISNULL( A.Qty, 0 ) 结算数量,\n" +
//" ISNULL( A.Price, 0 ) * ISNULL( A.Qty, 0 ) 结算金额,\n" +
//" A.MaterialCode 结算物料号,\n" +
//" A.StorageLocation 收货仓库,\n" +
//" A.StorageLocationDesc 收货仓库描述,\n" +
//" a.[AcceptanceNo] AS 结算验收单号,\n" +
//" C.EstimateTypeDesc 物料组,\n" +
//" C.MaterialCode Sap编码,\n" +
//" C.MaterialDesc 零件中文名称,\n" +
//" 0 寄销库数量 \n" +
//" FROM\n" +
//" (\n" +
//" SELECT\n" +
//" Price,\n" +
//" SUM ( Qty ) Qty,\n" +
//" MaterialCode,\n" +
//" StorageLocation,\n" +
//" StorageLocationDesc,\n" +
//" AcceptanceNo \n" +
//" FROM\n" +
//" Set_HQ_H_Platform \n" +
//" WHERE\n" +
//" version = '{0}' \n" +
//" AND HQHKanBan = 'BJ' \n" +
//" GROUP BY\n" +
//" MaterialCode,\n" +
//" StorageLocation,\n" +
//" StorageLocationDesc,\n" +
//" price,\n" +
//" AcceptanceNo \n" +
//" ) A\n" +
//" LEFT JOIN Set_material AS c ON a.MaterialCode = c.CustomerPartCode \n" +
//" ) temp1\n" +
//" LEFT OUTER JOIN ( SELECT Price, MaterialCode FROM Set_PriceList WHERE ( Version = ( SELECT MAX ( Version ) AS Expr1 FROM Set_PriceList ) ) ) AS temp2 ON temp1.Sap编码 = temp2.MaterialCode";
// var _sql = string.Format(str, version, condition);
var _sql = string.Format(str, version); var _sql = string.Format(str, version);
var _query = DbConnection.Query<HQHSharePartSettledDetailDiff>(_sql, null, null, true, 1200, null); var _query = DbConnection.Query<HQHSharePartSettledDetailDiff>(_sql, null, null, true, 1200, null);
@ -1198,8 +1034,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
public decimal { set; get; } public decimal { set; get; }
[ExporterHeader(DisplayName = "发货状态")] [ExporterHeader(DisplayName = "发货状态")]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "结算验收单号")]
[ExporterHeader(DisplayName = "结算验收单号",IsIgnore =true)]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "外部验收单号")]
public string { set; get; }
[ExporterHeader(DisplayName = "结算数量")] [ExporterHeader(DisplayName = "结算数量")]
public decimal { set; get; } public decimal { set; get; }
[ExporterHeader(DisplayName = "结算单价")] [ExporterHeader(DisplayName = "结算单价")]
@ -1266,9 +1106,12 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
[ExporterHeader(DisplayName = "验收单日期")] [ExporterHeader(DisplayName = "验收单日期")]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "结算验收单号")] [ExporterHeader(DisplayName = "结算验收单号",IsIgnore =true)]
public string { set; get; } public string { set; get; }
[ExporterHeader(DisplayName = "外部验收单号")]
public string { set; get; }
[ExporterHeader(DisplayName = "发货数量")] [ExporterHeader(DisplayName = "发货数量")]
public decimal { set; get; } public decimal { set; get; }
[ExporterHeader(DisplayName = "发货状态", IsIgnore = true)] [ExporterHeader(DisplayName = "发货状态", IsIgnore = true)]

251
src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/WmsOutputSumDapperRepository.cs

@ -202,6 +202,102 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
[ExporterHeader(DisplayName = "已出库")] [ExporterHeader(DisplayName = "已出库")]
public string { set; get; } 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
/// <param name="version"></param> /// <param name="version"></param>
/// <param name="state"></param> /// <param name="state"></param>
/// <returns></returns> /// <returns></returns>
public virtual List<WmsOutputSumReport2> GetWmsSearchWithCodeReportList(string version, string state) public virtual List<WmsOutputtSearchWithCode> GetWmsSearchWithCodeReportList(string version, string state)
{ {
var _sql = "SELECT\n" + var _sql = "SELECT\n" +
" ROW_NUMBER ( ) OVER ( ORDER BY Type DESC ) 行号 ,\n" + " ROW_NUMBER ( ) OVER ( ORDER BY Type DESC ) 行号 ,\n" +
@ -965,6 +1061,38 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" VERSION = '{0}' \n" + " VERSION = '{0}' \n" +
" AND State =2 UNION ALL\n" + " AND State =2 UNION ALL\n" +
" SELECT\n" + " SELECT\n" +
" '大众无看板出库' AS Type,\n" +
" '大众' Client,\n" +
" BillNum,\n" +
" SapMaterialCode MaterialCode,\n" +
" Qty Qty,\n" +
" RealityNumber OutputQty,\n" +
" 0 IsBack,\n" +
" Price,\n" +
" '' CNumber,\n" +
" Remark \n" +
" FROM\n" +
" Set_WmsWithOutKanbanOutPutDetial \n" +
" WHERE\n" +
" VERSION = '{0}' \n" +
" AND State =2 UNION ALL\n" +
" SELECT\n" +
" '大众备件汇总出库' AS Type,\n" +
" '大众' Client,\n" +
" BillNum,\n" +
" MaterialCode,\n" +
" Qty Qty,\n" +
" RealityNumber OutputQty,\n" +
" 1 IsBack,\n" +
" Price,\n" +
" '' CNumber,\n" +
" Remark \n" +
" FROM\n" +
" Set_WmsSharePartOutPutDetial \n" +
" WHERE\n" +
" VERSION = '{0}' \n" +
" AND State =2 UNION ALL\n" +
" SELECT\n" +
" '大众备件条码出库' AS Type,\n" + " '大众备件条码出库' AS Type,\n" +
" '大众' Client,\n" + " '大众' Client,\n" +
" BillNum,\n" + " BillNum,\n" +
@ -995,14 +1123,133 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
" Set_WmsHQHKanbanOutPutDetial \n" + " Set_WmsHQHKanbanOutPutDetial \n" +
" WHERE\n" + " WHERE\n" +
" VERSION = '{0}' \n" + " VERSION = '{0}' \n" +
" AND State =2 UNION ALL\n" +
" SELECT\n" +
" '红旗一轿手工出库' AS Type,\n" +
" '红旗' Client,\n" +
" BillNum,\n" +
" SapMaterialCode MaterialCode,\n" +
" Qty,\n" +
" RealityNumber OutputQty,\n" +
" IsBack,\n" +
" Price,\n" +
" '' CNumber,\n" +
" Remark \n" +
" FROM\n" +
" Set_WmsHQWithOutKanbanOutPutDetial \n" +
" WHERE\n" +
" IsBack = 0 \n" +
" AND VERSION = '{0}' \n" +
" AND State =2 UNION ALL\n" +
" SELECT\n" +
" '红旗一轿手工出库(备件)' AS Type,\n" +
" '红旗' Client,\n" +
" BillNum,\n" +
" SapMaterialCode,\n" +
" Qty Qty,\n" +
" RealityNumber OutputQty,\n" +
" IsBack,\n" +
" Price,\n" +
" '' CNumber,\n" +
" Remark \n" +
" FROM\n" +
" Set_WmsHQWithOutKanbanOutPutDetial \n" +
" WHERE\n" +
" IsBack = 1 \n" +
" AND VERSION = '{0}' \n" +
" AND State =2 \n" + " AND State =2 \n" +
" ) temp1\n" + " ) temp1\n" +
" LEFT JOIN ( SELECT MAX ( Id ) Id, MaterialCode, MaterialDesc, EstimateType, EstimateTypeDesc FROM Set_material GROUP BY MaterialCode, MaterialDesc, EstimateTypeDesc, EstimateType ) temp2 ON temp1.MaterialCode = temp2.MaterialCode"; " LEFT JOIN ( SELECT MAX ( Id ) Id, MaterialCode, MaterialDesc, EstimateType, EstimateTypeDesc FROM Set_material GROUP BY MaterialCode, MaterialDesc, EstimateTypeDesc, EstimateType ) temp2 ON temp1.MaterialCode = temp2.MaterialCode";
//var _sql = "SELECT\n" +
// " ROW_NUMBER ( ) OVER ( ORDER BY Type DESC ) 行号 ,\n" +
// " temp1.Client 客户,\n" +
// " temp1.Type 出库类型,\n" +
// " temp1.BillNum 结算单,\n" +
// " temp1.MaterialCode 物料号,\n" +
// " temp1.CNumber 通用代码号,\n" +
// " Isnull( temp1.Qty, 0 ) 结算数量,\n" +
// " Isnull( temp1.OutputQty, 0 ) 实际出库数量,\n" +
// " Isnull( temp1.Qty, 0 ) - Isnull( temp1.OutputQty, 0 ) 差异数量,\n" +
// " temp1.Price 开票单价,\n" +
// " Round( Isnull( temp1.Qty, 0 ) * temp1.Price, 2 ) 结算金额,\n" +
// " Round( ( Isnull( temp1.Qty, 0 ) - Isnull( temp1.OutputQty, 0 ) ) * temp1.Price, 2 ) WMS待出库金额,\n" +
// " temp2.EstimateType 物料组编码,\n" +
// " temp2.EstimateTypeDesc 物料组车型,\n" +
// " temp2.MaterialDesc 物料描述,\n" +
// " temp1.remark 备注 \n" +
// "FROM\n" +
// " (\n" +
// " SELECT\n" +
// " '大众准时化出库' AS Type,\n" +
// " '大众' Client,\n" +
// " BillNum,\n" +
// " MaterialCode,\n" +
// " Qty,\n" +
// " 0 OutputQty,\n" +
// " 0 IsBack,\n" +
// " Price,\n" +
// " ChassisNumber CNumber,\n" +
// " Remark \n" +
// " FROM\n" +
// " Set_WmsJitOutPutDetial \n" +
// " WHERE\n" +
// " VERSION = '{0}' \n" +
// " AND State = 2 UNION ALL\n" +
// " SELECT\n" +
// " '大众看板出库' AS Type,\n" +
// " '大众' Client,\n" +
// " BillNum,\n" +
// " MaterialCode,\n" +
// " Qty Qty,\n" +
// " 0 OutputQty,\n" +
// " 0 IsBack,\n" +
// " Price,\n" +
// " Kanban CNumber,\n" +
// " Remark \n" +
// " FROM\n" +
// " Set_WmsKanbanOutPutDetial \n" +
// " WHERE\n" +
// " VERSION = '{0}' \n" +
// " AND State = 2 UNION ALL\n" +
// " SELECT\n" +
// " '大众备件条码出库' AS Type,\n" +
// " '大众' Client,\n" +
// " BillNum,\n" +
// " MaterialCode,\n" +
// " Qty Qty,\n" +
// " 0 OutPutQty,\n" +
// " 1 IsBack,\n" +
// " Price,\n" +
// " OrderBillNum CNumber,\n" +
// " Remark \n" +
// " FROM\n" +
// " Set_WmsSharePart90OutPutDetial \n" +
// " WHERE\n" +
// " VERSION = '{0}' \n" +
// " AND State = 2 UNION ALL\n" +
// " SELECT\n" +
// " '红旗看板出库' AS Type,\n" +
// " '红旗' Client,\n" +
// " BillNum,\n" +
// " MaterialCode,\n" +
// " Qty Qty,\n" +
// " 0 OutPutQty,\n" +
// " 0 IsBack,\n" +
// " Price,\n" +
// " Kanban CNumber,\n" +
// " Remark \n" +
// " FROM\n" +
// " Set_WmsHQHKanbanOutPutDetial \n" +
// " WHERE\n" +
// " VERSION = '{0}' \n" +
// " AND State = 2 \n" +
// " ) temp1\n" +
// " LEFT JOIN ( SELECT MAX ( Id ) Id, MaterialCode, MaterialDesc, EstimateType, EstimateTypeDesc FROM Set_material GROUP BY MaterialCode, MaterialDesc, EstimateTypeDesc, EstimateType ) temp2 ON temp1.MaterialCode = temp2.MaterialCode";
_sql = string.Format(_sql, version, state); _sql = string.Format(_sql, version, state);
var _query = DbConnection.Query<WmsOutputSumReport2>(_sql, null, null, true, 1200, null); var _query = DbConnection.Query<WmsOutputtSearchWithCode>(_sql, null, null, true, 1200, null);
return _query.ToList(); return _query.ToList();
} }

16
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/HQCarSettledDetailDiffExportService.cs

@ -117,14 +117,14 @@ namespace SettleAccount.Job.Services.Report
//} //}
if (!string.IsNullOrEmpty(warehouseDesc)) //if (!string.IsNullOrEmpty(warehouseDesc))
{ //{
var _groupList = warehouseDesc.Split(new char[] { '\n' }).Distinct().ToList(); // var _groupList = warehouseDesc.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0) // if (_groupList.Count() > 0)
{ // {
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); // _ls = _ls.Where(p => _groupList.Contains(p.收货仓库描述)).ToList();
} // }
} //}
if (!string.IsNullOrEmpty(materialGroup)) if (!string.IsNullOrEmpty(materialGroup))
{ {

38
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/HQHSettledDetailDiffExportService.cs

@ -76,6 +76,7 @@ namespace SettleAccount.Job.Services.Report
_first. = itm.; _first. = itm.;
} }
} }
//订货看板编号
if (!string.IsNullOrEmpty(kanban)) if (!string.IsNullOrEmpty(kanban))
{ {
var _groupList = kanban.Split(new char[] { '\n' }).Distinct().ToList(); var _groupList = kanban.Split(new char[] { '\n' }).Distinct().ToList();
@ -84,23 +85,26 @@ namespace SettleAccount.Job.Services.Report
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); _ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
} }
} }
if (!string.IsNullOrEmpty(warehouseDesc)) //if (!string.IsNullOrEmpty(warehouseDesc))
{ //{
var _groupList = warehouseDesc.Split(new char[] { '\n' }).Distinct().ToList(); // var _groupList = warehouseDesc.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0) // if (_groupList.Count() > 0)
{ // {
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); // _ls = _ls.Where(p => _groupList.Contains(p.收货仓库描述)).ToList();
} // }
} //}
if (!string.IsNullOrEmpty(acceptNo)) //if (!string.IsNullOrEmpty(acceptNo))
{ //{
var _groupList = acceptNo.Split(new char[] { '\n' }).Distinct().ToList(); // var _groupList = acceptNo.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0) // if (_groupList.Count() > 0)
{ // {
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); // _ls = _ls.Where(p => _groupList.Contains(p.结算验收单号)).ToList();
} // }
} //}
//物料组车型
if (!string.IsNullOrEmpty(materialGroup)) if (!string.IsNullOrEmpty(materialGroup))
{ {
var _groupList = materialGroup.Split(new char[] { ',' }).Distinct().ToList(); var _groupList = materialGroup.Split(new char[] { ',' }).Distinct().ToList();
@ -109,6 +113,7 @@ namespace SettleAccount.Job.Services.Report
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); _ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
} }
} }
//发货零件号
if (!string.IsNullOrEmpty(materialCode)) if (!string.IsNullOrEmpty(materialCode))
{ {
var _groupList = materialCode.Split(new char[] { '\n' }).Distinct().ToList(); var _groupList = materialCode.Split(new char[] { '\n' }).Distinct().ToList();
@ -117,6 +122,7 @@ namespace SettleAccount.Job.Services.Report
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); _ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
} }
} }
//厂内物料号
if (!string.IsNullOrEmpty(sapCode)) if (!string.IsNullOrEmpty(sapCode))
{ {
var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList(); var _groupList = sapCode.Split(new char[] { '\n' }).Distinct().ToList();

34
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/HQHSharePartSettledDetailDiffExportService.cs

@ -101,36 +101,38 @@ namespace SettleAccount.Job.Services.Report
var _groupList = kanban.Split(new char[] { '\n' }).Distinct().ToList(); var _groupList = kanban.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0) if (_groupList.Count() > 0)
{ {
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList(); _ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
} }
} }
if (!string.IsNullOrEmpty(warehouseDesc)) //if (!string.IsNullOrEmpty(warehouseDesc))
{
var _groupList = warehouseDesc.Split(new char[] { '\n' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
}
}
//if (!string.IsNullOrEmpty(acceptNo))
//{ //{
// var _groupList = acceptNo.Split(new char[] { ',' }).Distinct().ToList(); // var _groupList = warehouseDesc.Split(new char[] { '\n' }).Distinct().ToList();
// if (_groupList.Count() > 0) // if (_groupList.Count() > 0)
// { // {
// _ls = _ls.Where(p => _groupList.Contains(p.结算验收单号)).ToList(); // _ls = _ls.Where(p => _groupList.Contains(p.收货仓库描述)).ToList();
// } // }
//} //}
//if (!string.IsNullOrEmpty(materialGroup))
//if (!string.IsNullOrEmpty(acceptNo))
//{ //{
// var _groupList = materialGroup.Split(new char[] { ',' }).Distinct().ToList(); // var _groupList = acceptNo.Split(new char[] { ',' }).Distinct().ToList();
// if (_groupList.Count() > 0) // if (_groupList.Count() > 0)
// { // {
// _ls = _ls.Where(p => _groupList.Contains(p.物料组)).ToList(); // _ls = _ls.Where(p => _groupList.Contains(p.结算验收单号)).ToList();
// } // }
//} //}
if (!string.IsNullOrEmpty(materialGroup))
{
var _groupList = materialGroup.Split(new char[] { ',' }).Distinct().ToList();
if (_groupList.Count() > 0)
{
_ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
}
}
if (!string.IsNullOrEmpty(materialCode)) if (!string.IsNullOrEmpty(materialCode))
{ {
var _groupList = materialCode.Split(new char[] { '\n' }).Distinct().ToList(); var _groupList = materialCode.Split(new char[] { '\n' }).Distinct().ToList();

18
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleSparePart90ExportService.cs

@ -82,14 +82,16 @@ namespace SettleAccount.Job.Services.Report
// _ls = _ls.Where(p => _groupList.Contains(p.物料代码)).ToList(); // _ls = _ls.Where(p => _groupList.Contains(p.物料代码)).ToList();
// } // }
//} //}
//if (!string.IsNullOrEmpty(purchaseOrderNo))
//{ //采购订单号
// var _groupList = purchaseOrderNo.Split(new char[] { '\n' }).Distinct().ToList(); if (!string.IsNullOrEmpty(purchaseOrderNo))
// if (_groupList.Count() > 0) {
// { var _groupList = purchaseOrderNo.Split(new char[] { '\n' }).Distinct().ToList();
// _ls = _ls.Where(p => _groupList.Contains(p.采购订单号)).ToList(); if (_groupList.Count() > 0)
// } {
//} _ls = _ls.Where(p => _groupList.Contains(p.)).ToList();
}
}

Loading…
Cancel
Save