You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

294 lines
13 KiB

using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Volo.Abp.Application;
//using Volo.Abp.Http.Client.IdentityModel;
using Volo.Abp.Identity;
//using Volo.Abp.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Dapper;
using TaskJob.Services;
using System;
using TaskJob.Interfaces;
using SettleAccount.Job.Services;
using Volo.Abp.BlobStoring;
using SettleAccount.Job.Domain;
using Volo.Abp.BlobStoring.FileSystem;
using System.IO;
using Hangfire;
using SettleAccount.Job.Services.Report;
//using Win.Abp.Snowflakes;
namespace Win.Sfs.SettleAccount
{
[DependsOn(
typeof(SettleAccountDomainModule),
typeof(SettleAccountApplicationContractsModule),
//typeof(AbpSnowflakeGeneratorModule),
//typeof(AbpHttpClientIdentityModelModule),
//typeof(AbpIdentityHttpApiClientModule),
typeof(AbpAutoMapperModule),
//typeof(AbpAspNetCoreMvcModule),
typeof(AbpDapperModule)
)]
public class SettleAccountJobModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
ConfigureAutoMapper();
GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute{ Attempts = 0});
context.Services.AddTransient<PubSaSeCompareExportService>();
context.Services.AddTransient<JisBBACEdiSeCompareExportService>();
context.Services.AddTransient<JisHBPOEdiSeCompareExportService>();
context.Services.AddTransient<SettleAccountImportService>();
context.Services.AddTransient<InvoiceImportService>();
context.Services.AddTransient<InvoiceSettledDiffExportService>();
context.Services.AddTransient<SecRelationShipImportService>();
context.Services.AddTransient<UnSettledExportService>();
//ERP总成开票报表
context.Services.AddTransient<fisUnsettledDiffReport>();
//量差和价差分析报表
context.Services.AddTransient<PriceQtyDifferenceExportService>();
context.Services.AddTransient(implementationFactory =>
{
Func<string, IImportJob> accesor = key =>
{
if (key.Equals(typeof(SettleAccountImportService).FullName))
{
return implementationFactory.GetService<SettleAccountImportService>();
}
if (key.Equals(typeof(UnSettleAccountImportService).FullName))
{
return implementationFactory.GetService<UnSettleAccountImportService>();
}
if (key.Equals(typeof(InvoiceImportService).FullName))
{
return implementationFactory.GetService<InvoiceImportService>();
}
if (key.Equals(typeof(SecRelationShipImportService).FullName))
{
return implementationFactory.GetService<SecRelationShipImportService>();
}
else
{
throw new ArgumentException($"Not Support key:{key}");
}
}; return accesor;
});
context.Services.AddTransient(implementationFactory =>
{
Func<string, IExportJob> accesor = key =>
{
if (key.Equals(typeof(PubSaSeCompareExportService).FullName))
{
return implementationFactory.GetService<PubSaSeCompareExportService>();
}
if (key.Equals(typeof(JisBBACEdiSeCompareExportService).FullName))
{
return implementationFactory.GetService<JisBBACEdiSeCompareExportService>();
}
if (key.Equals(typeof(JisHBPOEdiSeCompareExportService).FullName))
{
return implementationFactory.GetService<JisHBPOEdiSeCompareExportService>();
}
if (key.Equals(typeof(PD_SERVICE).FullName))
{
return implementationFactory.GetService<PD_SERVICE>();
}
if (key.Equals(typeof(InvoiceSettledDiffExportService).FullName))
{
return implementationFactory.GetService<InvoiceSettledDiffExportService>();
}
if (key.Equals(typeof(UnSettledExportService).FullName))
{
return implementationFactory.GetService<UnSettledExportService>();
}
if (key.Equals(typeof(fisUnsettledDiffReport).FullName))
{//ERP总成开票报表
return implementationFactory.GetService<fisUnsettledDiffReport>();
}
if (key.Equals(typeof(PriceQtyDifferenceExportService).FullName))
{//量差和价差分析报表
return implementationFactory.GetService<PriceQtyDifferenceExportService>();
}
if (key.Equals(typeof(SettledPartAndErpPartPriceDiffExportService).FullName))
{
return implementationFactory.GetService<SettledPartAndErpPartPriceDiffExportService>();
}
if (key.Equals(typeof(SecMatchBaseExportService).FullName))
{
return implementationFactory.GetService<SecMatchBaseExportService>();
}
if (key.Equals(typeof(SettleFisDiffExportService).FullName))
{
return implementationFactory.GetService<SettleFisDiffExportService>();
}
//大众看板结算与交货核对明细表(有条码)
if (key.Equals(typeof(SettleKBWithCodeExportService).FullName))
{
return implementationFactory.GetService<SettleKBWithCodeExportService>();
}
//大众备件结算核对明细表
if (key.Equals(typeof(SettleSparePartExportService).FullName))
{
return implementationFactory.GetService<SettleSparePartExportService>();
}
//大众备件未结明细
if (key.Equals(typeof(SettleUnSparePartExportService).FullName))
{
return implementationFactory.GetService<SettleUnSparePartExportService>();
}
//大众备件90天核对明细
if (key.Equals(typeof(SettleSparePart90ExportService).FullName))
{
return implementationFactory.GetService<SettleSparePart90ExportService>();
}
if (key.Equals(typeof(InvoiceSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<InvoiceSettledDetailDiffExportService>();
}
if (key.Equals(typeof(UnInvoiceSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<UnInvoiceSettledDetailDiffExportService>();
}
if (key.Equals(typeof(UnSettleDiffExportService).FullName))
{
return implementationFactory.GetService<UnSettleDiffExportService>();
}
if (key.Equals(typeof(SettleDoorPanelExportService).FullName))
{
return implementationFactory.GetService<SettleDoorPanelExportService>();
}
if (key.Equals(typeof(UnsettledDetailReportService).FullName))
{
return implementationFactory.GetService<UnsettledDetailReportService>();
}
if (key.Equals(typeof(SettleKBWithOutCodeExportService).FullName))
{
return implementationFactory.GetService<SettleKBWithOutCodeExportService>();
}
if (key.Equals(typeof(SharePartUnSettledExport).FullName))
{
return implementationFactory.GetService<SharePartUnSettledExport>();
}
//红旗、一汽轿车结算报表
if (key.Equals(typeof(HQFSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQFSettledDetailDiffExportService>();
}
if (key.Equals(typeof(HQFSharePartSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQFSharePartSettledDetailDiffExportService>();
}
if (key.Equals(typeof(HQMSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQMSettledDetailDiffExportService>();
}
if (key.Equals(typeof(HQMSharePartSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQMSharePartSettledDetailDiffExportService>();
}
if (key.Equals(typeof(HQHSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQHSettledDetailDiffExportService>();
}
//红旗结算未结明细
if (key.Equals(typeof(HQHUnSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQHUnSettledDetailDiffExportService>();
}
//红旗未结核对
if (key.Equals(typeof(HQFactoryUnSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQFactoryUnSettledDetailDiffExportService>();
}
if (key.Equals(typeof(HQHSharePartSettledDetailDiffExportService).FullName))
{
return implementationFactory.GetService<HQHSharePartSettledDetailDiffExportService>();
}
//红旗、轿车发运报表
if (key.Equals(typeof(HQMShippingExportService).FullName))
{
return implementationFactory.GetService<HQMShippingExportService>();
}
if (key.Equals(typeof(HQHShippingExportService).FullName))
{
return implementationFactory.GetService<HQHShippingExportService>();
}
if (key.Equals(typeof(HQFShippingExportService).FullName))
{
return implementationFactory.GetService<HQFShippingExportService>();
}
if (key.Equals(typeof(WmsOutputSumExportService).FullName))
{
return implementationFactory.GetService<WmsOutputSumExportService>();
}
//大众看板未结输出
if (key.Equals(typeof(KanBanUnSettledExport).FullName))
{
return implementationFactory.GetService<KanBanUnSettledExport>();
}
if (key.Equals(typeof(FisUpdateExportService).FullName))
{
return implementationFactory.GetService<FisUpdateExportService>();
}
if (key.Equals(typeof(FisOutputService).FullName))
{
return implementationFactory.GetService<FisOutputService>();
}
else
{
throw new ArgumentException($"Not Support key:{key}");
}
}; return accesor;
});
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.Configure<OutPutErrorContainer>(container =>
{
container.UseFileSystem(fileSystem =>
{
var filestreampath = Environment.CurrentDirectory + @"\wwwroot\files\OutputError";
if (!Directory.Exists(filestreampath))
{
Directory.CreateDirectory(filestreampath);
}
fileSystem.BasePath = filestreampath;
});
});
});
}
/// <summary>
/// AutoMapper
/// </summary>
private void ConfigureAutoMapper()
{
Configure<AbpAutoMapperOptions>(options => { options.AddMaps<SettleAccountJobModule>(); });
}
}
}