diff --git a/code/WebApp/vue3/package-lock.json b/code/WebApp/vue3/package-lock.json
index eae2d142..768e9e01 100644
--- a/code/WebApp/vue3/package-lock.json
+++ b/code/WebApp/vue3/package-lock.json
@@ -38,7 +38,9 @@
"vue-echarts": "^6.6.0",
"vue-i18n": "^9.2.2",
"vue-router": "^4.2.2",
- "wsmock-js": "^1.1.1"
+ "vxe-table": "^4.5.0-beta.16",
+ "wsmock-js": "^1.1.1",
+ "xe-utils": "^3.5.11"
},
"devDependencies": {
"@iconify/json": "^2.2.83",
@@ -13223,6 +13225,15 @@
"vue": "^3.2.0"
}
},
+ "node_modules/vxe-table": {
+ "version": "4.5.0-beta.16",
+ "resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-4.5.0-beta.16.tgz",
+ "integrity": "sha512-rSChkgl1cIJzEr99WS2YZyqkOm3bqMtD2d2RrCSB3VVepWJe7B7jMYazGi6L32Y0J3ZM8rNOipFyB3W0j96mHA==",
+ "peerDependencies": {
+ "vue": "^3.2.28",
+ "xe-utils": "^3.5.0"
+ }
+ },
"node_modules/webpack-sources": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
@@ -13475,6 +13486,11 @@
"integrity": "sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==",
"dev": true
},
+ "node_modules/xe-utils": {
+ "version": "3.5.11",
+ "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.11.tgz",
+ "integrity": "sha512-lyKc/lTBga1Zb63p+FED8mtxLnYIjSS8PVJM1N64NGdCu/3d1XubaVeke2p91RHssP0ExVAl2LUqZYperoz76Q=="
+ },
"node_modules/xml-name-validator": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
diff --git a/code/WebApp/vue3/package.json b/code/WebApp/vue3/package.json
index 5666aae9..59d499fe 100644
--- a/code/WebApp/vue3/package.json
+++ b/code/WebApp/vue3/package.json
@@ -71,7 +71,9 @@
"vue-echarts": "^6.6.0",
"vue-i18n": "^9.2.2",
"vue-router": "^4.2.2",
- "wsmock-js": "^1.1.1"
+ "vxe-table": "^4.5.0-beta.16",
+ "wsmock-js": "^1.1.1",
+ "xe-utils": "^3.5.11"
},
"devDependencies": {
"@iconify/json": "^2.2.83",
diff --git a/code/WebApp/vue3/src/main.js b/code/WebApp/vue3/src/main.js
index 376dc23c..371d8919 100644
--- a/code/WebApp/vue3/src/main.js
+++ b/code/WebApp/vue3/src/main.js
@@ -1,7 +1,8 @@
import './style.css';
import { createApp } from 'vue';
+import VXETable from 'vxe-table';
import App from './App.vue';
-createApp(App).mount('#app');
+createApp(App).use(VXETable).mount('#app');
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
index d1964be3..6ce1e835 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
@@ -11,7 +11,7 @@
..\..\..\..
net5.0
True
-
+ en;zh-Hans
false
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
index 5168422c..c501563a 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
@@ -1,4 +1,5 @@
using System.Text.RegularExpressions;
+using Coravel;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
@@ -17,6 +18,7 @@ public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
+ services.AddScheduler();
services.AddSignalR(o => o.EnableDetailedErrors = true);
JobHostdService.AddService(services);
services.AddSingleton();
@@ -24,6 +26,9 @@ public class Startup
services.AddTransient();
services.AddTransient();
services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
+ services.AddTransient();
services.AddRouting(options => options.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer));
services.AddMvc(options => options.Conventions.Add(new RouteTokenTransformerConvention(new SlugifyParameterTransformer())));
services.AddApplication();
@@ -44,6 +49,15 @@ public class Startup
{
app.UseRouting();
app.UseEndpoints(endpoints => endpoints.MapHub("/api/hub"));
+ app.ApplicationServices.UseScheduler(scheduler =>
+ {
+ //scheduler.Schedule().EveryMinute();
+ //scheduler.Schedule().EveryMinute();
+ scheduler.Schedule().EveryMinute();
+ scheduler.Schedule().EveryMinute();
+ scheduler.Schedule().EveryMinute();
+ scheduler.Schedule().EveryMinute();
+ });
var contentTypeProvider = new FileExtensionContentTypeProvider();
contentTypeProvider.Mappings.Add(".mjs", "text/javascript");
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = contentTypeProvider });
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json
index ad037e61..4a628191 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/appsettings.json
@@ -69,7 +69,7 @@
"AuthServer": {
- "Authority": "http://*:10582",
+ "Authority": "http://localhost:10582",
"ClientId": "basic-web",
"ClientSecret": "1q2w3e*"
},
@@ -79,11 +79,5 @@
},
"DefaultBranchId": "3FA85F64-5717-4562-B3FC-2C963F66AFA6",
- "AllowedHosts": "*",
-
- "ElasticSearch": {
- "Url": "http://localhost:9200"
- }
-
-
+ "AllowedHosts": "*"
}
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/start.cmd b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/start.cmd
index 90a86864..4171afe4 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/start.cmd
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/start.cmd
@@ -8,4 +8,4 @@ if %errorlevel% == 0 (
%1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit
-start /b SettleAccount.HttpApi.Host.exe --urls http://dev.ccwin-in.com:10582
+start /b SettleAccount.HttpApi.Host.exe --urls http://*:10582
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
index 5b5d1d57..6011f956 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
@@ -103,6 +103,13 @@ export default {
+
+
+
+ {{scope.row[key]}}
+
+
+
await load();
- const onPageSizeChange = async () => await load();
+ const onPageSizeChange = async () => {
+ pageModel.pageIndex = 1;
+ await load();
+ };
const click = async (item, rows) => {
editFormloading.value = true;
editFormMode.value = item.path ?? item;
@@ -856,7 +865,6 @@ export default {
await load();
}
});
- context.expose({ load });
return {
load,
config,
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
index 3c7db250..e6025cc3 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
@@ -64,6 +64,7 @@
"nprogress": "./lib/nprogress/nprogress.vite-esm.js",
"echarts/core": "./lib/echarts/echarts.esm.min.js",
"vue-echarts": "./lib/vue-echarts/index.esm.min.js",
+ "xe-echarts": "./lib/vue-echarts/index.esm.min.js",
"resize-detector": "./lib/resize-detector/index.js",
"@vue-office/excel": "./lib/@vue-office/excel/vue-office-excel.mjs",
"@vue/devtools-api": "./lib/@vue/devtools-api/shim.js",
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/invoice/invoice_map_group.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/invoice/invoice_map_group.js
index 7d3e46c4..d9bc4b3c 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/invoice/invoice_map_group.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/invoice/invoice_map_group.js
@@ -9,10 +9,12 @@ const schema = {
invbillNum: {
title: "系统生成发票号",
type: "string",
+ link: true,
},
invGroupNum: {
title: "发票分组号",
type: "string",
+ link: true,
},
settleGroupNum: {
title: "结算分组号",
@@ -22,7 +24,7 @@ const schema = {
title: "金额",
type: "decimal",
},
- state ,
+ state,
taxAmt: {
title: "税额",
type: "decimal",
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-item.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-item.js
index 2244d7ba..e7fc8271 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-item.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-item.js
@@ -85,7 +85,6 @@ export default function () {
table: {
schema: schema,
},
-
edit: {
createUrl,
updateUrl,
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-log.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-log.js
index ea50902b..2f178cb0 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-log.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-log.js
@@ -12,11 +12,14 @@ const schema = {
type: "string",
input: "datetime",
},
-
success: {
title: "成功",
type: "boolean",
},
+ host: {
+ title: "主机",
+ type: "string",
+ },
exception: {
title: "异常",
type: "string",
@@ -25,7 +28,9 @@ const schema = {
};
const queryUrl = "settleaccount/job-log/get-list";
+const deleteUrl = "settleaccount/job-log/delete-list";
const queryMethod = "POST";
+const deleteMethod = "POST";
export default function () {
return {
@@ -33,7 +38,7 @@ export default function () {
url: queryUrl,
method: queryMethod,
schema: {
- title: "定时任务",
+ title: "定时任务日志",
type: "object",
properties: {
filters: {
@@ -82,11 +87,12 @@ export default function () {
},
},
table: {
- schema: schema,
+ schema,
},
-
edit: {
- schema: schema,
+ schema,
+ deleteUrl,
+ deleteMethod,
},
};
}
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-service.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-service.js
index d1615950..7f6192b5 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-service.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-service.js
@@ -54,7 +54,6 @@ export default function () {
query: {
url: queryUrl,
method: queryMethod,
-
autoSubmit: true,
disableQueryOnLoad: true,
schema: {
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/base-data.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/base-data.js
index f1f4408f..eafa6f14 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/base-data.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/base-data.js
@@ -548,6 +548,15 @@ export default [
isTop: true,
},
},
+ {
+ path: "delete",
+ meta: {
+ type: "button",
+ title: "删除",
+ icon: "file",
+ isTop: true,
+ },
+ },
],
},
},
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-item.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-item.js
index bff1c136..0ccf2818 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-item.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/base-data/job-item.js
@@ -1,15 +1,14 @@
import AppList from "../../components/list/index.js";
import html from "html";
import useConfig from "../../models/job-item.js";
-import { defineAsyncComponent, ref, reactive, onMounted, watch } from "vue";
+import { ref, nextTick, onMounted, onUnmounted } from "vue";
import useConfig2 from "../../models/job-log.js";
export default {
components: { AppList },
- template: html``,
+ template: html``,
setup() {
const config = useConfig();
- const appListRef = ref(null);
const onCommand = async (item, rows, showList) => {
console.log(item.path, item, rows);
console.log(showList);
@@ -17,6 +16,16 @@ export default {
config.query.schema.properties.filters.default[0].value = rows[0].id;
showList({ test: "test" }, "/base-data/job-log", config);
};
- return { config, onCommand };
+ const refresh = ref(true);
+ onMounted(async () => {
+ PubSub.subscribe("JobItem", () => {
+ refresh.value = false;
+ nextTick(() => (refresh.value = true));
+ });
+ });
+ onUnmounted(() => {
+ PubSub.unsubscribe(onMonitor);
+ });
+ return { config, onCommand, refresh };
},
};
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
index df1c0ede..f02e19fa 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
@@ -146,7 +146,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
case EnumBusinessType.ZhiGongJianHBPO:
await _pubMng.SetNewState(input.InvGroupNum);
break;
- case EnumBusinessType.YingDuJian:
+ case EnumBusinessType.YinDuJian:
await _pubMng.SetNewState(input.InvGroupNum);
break;
case EnumBusinessType.JisBBAC:
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobHostdService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobHostdService.cs
index 5f5ee604..99540e8d 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobHostdService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobHostdService.cs
@@ -3,17 +3,19 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Cronos;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
+using Volo.Abp.Application.Services;
using Win.Sfs.SettleAccount.Entities.BQ.Vmi;
namespace Win.Sfs.SettleAccount.Entities.BQ;
-public class JobHostdService : BackgroundService
+public class JobHostdService : BackgroundService, IApplicationService
{
private readonly object _lockObj = new object();
private readonly IServiceProvider _serviceProvider;
@@ -72,21 +74,25 @@ public class JobHostdService : BackgroundService
if (!job.IsDisabled)
{
var jobItem = this.GetJobItem(job.Id);
+ Guid? jobLogId = null;
if (!jobItem.IsRunning)
{
- this.JobItemStart(job.Id);
- }
- try
- {
- jobService.Invoke();
- this.JobItemSuccess(job.Id);
- Debug.WriteLine($"{job.Name} 定时任务执行成功");
- }
- catch (Exception ex)
- {
- Debug.WriteLine($"{job.Name} 定时任务执行失败:{ex.Message}");
- Console.WriteLine(ex.ToString());
- this.JobItemFaild(job.Id, ex);
+ jobLogId = this.JobItemStart(job.Id);
+ if (jobLogId.HasValue)
+ {
+ try
+ {
+ await jobService.Invoke().ConfigureAwait(false);
+ this.JobItemSuccess(job.Id, jobLogId.Value);
+ Debug.WriteLine($"{job.Name} 定时任务执行成功");
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine($"{job.Name} 定时任务执行失败:{ex.Message}");
+ Console.WriteLine(ex.ToString());
+ this.JobItemFaild(job.Id, jobLogId.Value, ex);
+ }
+ }
}
}
}
@@ -102,8 +108,10 @@ public class JobHostdService : BackgroundService
{
Console.WriteLine(ex.ToString());
}
- });
- thread.IsBackground = true;
+ })
+ {
+ IsBackground = true
+ };
if (this.Jobs.TryAdd(job, new Tuple(source, thread)))
{
thread.Start();
@@ -118,7 +126,7 @@ public class JobHostdService : BackgroundService
}
}
- private void JobItemFaild(Guid id, Exception ex)
+ private void JobItemFaild(Guid id, Guid jobLogId, Exception ex)
{
using var scope = this._serviceProvider.CreateScope();
var db = scope.ServiceProvider.GetRequiredService();
@@ -126,7 +134,7 @@ public class JobHostdService : BackgroundService
if (entity != null)
{
entity.IsRunning = false;
- var log = db.Set().FirstOrDefault(o => o.JobId == id);
+ var log = db.Set().FirstOrDefault(o => o.Id == jobLogId);
log.End = DateTime.Now;
log.Success = false;
log.Exception = ex.ToString();
@@ -134,7 +142,7 @@ public class JobHostdService : BackgroundService
}
}
- private void JobItemSuccess(Guid id)
+ private void JobItemSuccess(Guid id, Guid jobLogId)
{
using var scope = this._serviceProvider.CreateScope();
var db = scope.ServiceProvider.GetRequiredService();
@@ -142,14 +150,17 @@ public class JobHostdService : BackgroundService
if (entity != null)
{
entity.IsRunning = false;
- var log = db.Set().FirstOrDefault(o => o.JobId == id);
- log.End = DateTime.Now;
- log.Success = true;
+ var log = db.Set().FirstOrDefault(o => o.Id == jobLogId);
+ if (log != null)
+ {
+ log.End = DateTime.Now;
+ log.Success = true;
+ }
db.SaveChanges();
}
}
- private void JobItemStart(Guid id)
+ private Guid? JobItemStart(Guid id)
{
using var scope = this._serviceProvider.CreateScope();
var db = scope.ServiceProvider.GetRequiredService();
@@ -157,9 +168,11 @@ public class JobHostdService : BackgroundService
if (entity != null)
{
entity.IsRunning = true;
- var log = db.Set().Add(new JobLog { Start = DateTime.Now, JobId = entity.Id });
+ var log = db.Set().Add(new JobLog { Start = DateTime.Now, JobId = entity.Id, Host = Dns.GetHostName() });
db.SaveChanges();
+ return log.Entity.Id;
}
+ return null;
}
private JobItem GetJobItem(Guid id)
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs
index 674596d1..0a71ef90 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs
@@ -1,17 +1,12 @@
using System;
-using System.Collections.Concurrent;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Linq;
using System.Linq.Dynamic.Core;
-using System.Threading;
using System.Threading.Tasks;
-using Cronos;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
+using Microsoft.AspNetCore.SignalR;
using Omu.ValueInjecter;
+using SettleAccount.Job.SignalR;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.DependencyInjection;
@@ -21,17 +16,18 @@ using Win.Sfs.Shared.RepositoryBase;
namespace Win.Sfs.SettleAccount.Entities.BQ;
-
[Route("api/settleaccount/[controller]/[action]")]
public class JobItemAppService : ApplicationService, ITransientDependency
{
private readonly INormalEfCoreRepository _repository;
private readonly JobHostdService _jobHostdService;
+ private readonly IHubContext _hubContext;
- public JobItemAppService(INormalEfCoreRepository repository, JobHostdService jobHostdService)
+ public JobItemAppService(INormalEfCoreRepository repository, JobHostdService jobHostdService, IHubContext hubContext)
{
this._repository = repository;
this._jobHostdService = jobHostdService;
+ this._hubContext = hubContext;
}
[HttpPost]
@@ -39,6 +35,7 @@ public class JobItemAppService : ApplicationService, ITransientDependency
{
var entity = await _repository.InsertAsync(input).ConfigureAwait(false);
this._jobHostdService.AddJob(entity);
+ this.Notify();
return entity;
}
@@ -51,6 +48,7 @@ public class JobItemAppService : ApplicationService, ITransientDependency
await _repository.DeleteAsync(item).ConfigureAwait(false);
this._jobHostdService.RemoveJob(item);
}
+ this.Notify();
return entites.Count > 0;
}
@@ -81,8 +79,14 @@ public class JobItemAppService : ApplicationService, ITransientDependency
this._jobHostdService.RemoveJob(entity);
this._jobHostdService.AddJob(entity);
}
+ this.Notify();
return input;
}
+
+ private void Notify()
+ {
+ this._hubContext.Clients.All.ServerToClient("JobItem", "refresh", "");
+ }
}
[Route("api/settleaccount/[controller]/[action]")]
@@ -103,4 +107,15 @@ public class JobLogAppService : ApplicationService, ITransientDependency
var totalCount = await _repository.GetCountByFilterAsync(input.Filters).ConfigureAwait(false);
return new PagedResultDto(totalCount, entities);
}
+
+ [HttpPost]
+ public async Task DeleteListAsync(List ids)
+ {
+ var entites = _repository.Where(p => ids.Contains(p.Id)).ToList();
+ foreach (var item in entites)
+ {
+ await _repository.DeleteAsync(item).ConfigureAwait(false);
+ }
+ return entites.Count > 0;
+ }
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs
new file mode 100644
index 00000000..f57cf9a0
--- /dev/null
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using SettleAccount.Domain.BQ;
+using Win.Sfs.SettleAccount.EntityFrameworkCore;
+using Win.Sfs.Shared.RepositoryBase;
+
+namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs;
+
+///
+/// 备件发运同步
+///
+[AllowAnonymous]
+[Route("api/settleaccount/[controller]/[action]")]
+public class BeiSeSyncAppService : JitSeSyncAppService
+{
+ ///
+ /// 构造
+ ///
+ public BeiSeSyncAppService(
+ WMSBJBMPTDbContext wmsBJBMPTContext,
+ INormalEfCoreRepository syncPositionFlagRepository,
+ INormalEfCoreRepository pubSeDetailRepository
+ ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository)
+ {
+ base.SeSyncConfigInfo = new SeSyncConfig()
+ {
+ SyncTableName = "BeiSeSync",
+ SyncDeliverBillType = EnumDeliverBjBmpBillType.北汽4S备件,
+ SyncDeliverSubBillTypes = new List
+ {
+ EnumDeliverSubBillType.无
+ },
+ BusinessType = EnumBusinessType.BeiJian
+ };
+ }
+}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs
new file mode 100644
index 00000000..dfebce46
--- /dev/null
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs
@@ -0,0 +1,97 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Threading.Tasks;
+using Coravel.Invocable;
+using Microsoft.AspNetCore.Mvc;
+using SettleAccount.Domain.BQ;
+using Volo.Abp.Application.Services;
+using Win.Sfs.SettleAccount.EntityFrameworkCore;
+using Win.Sfs.Shared.RepositoryBase;
+
+namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs;
+
+///
+/// Jit发运数据同步
+///
+[ApiExplorerSettings(IgnoreApi = true)]
+public class JitSeSyncAppService : ApplicationService, IInvocable
+{
+ ///
+ /// WMS数据上下文
+ ///
+ private readonly WMSBJBMPTDbContext _wmsBJBMPTContext;
+
+ ///
+ /// 同步位置标记
+ ///
+ private readonly INormalEfCoreRepository _syncPositionFlagRepository;
+
+ ///
+ /// Jit发运数据仓储
+ ///
+ private readonly INormalEfCoreRepository _pubSeDetailRepository;
+
+ ///
+ /// 构造
+ ///
+ public JitSeSyncAppService(
+ WMSBJBMPTDbContext wmsBJBMPTContext,
+ INormalEfCoreRepository syncPositionFlagRepository,
+ INormalEfCoreRepository pubSeDetailRepository)
+ {
+ _wmsBJBMPTContext = wmsBJBMPTContext;
+ _syncPositionFlagRepository = syncPositionFlagRepository;
+ _pubSeDetailRepository = pubSeDetailRepository;
+ }
+
+ ///
+ /// 发运同步配置
+ ///
+ public SeSyncConfig SeSyncConfigInfo { get; set; }
+
+ [HttpPost]
+ public async Task Invoke()
+ {
+ //同步表名称
+ var syncTableName = SeSyncConfigInfo.SyncTableName;
+ //同步发运主类型
+ var deliverBillType = SeSyncConfigInfo.SyncDeliverBillType;
+ //同步发运子类型
+ var deliverSubBillTypes = SeSyncConfigInfo.SyncDeliverSubBillTypes;
+ //业务类别
+ var businessType = SeSyncConfigInfo.BusinessType;
+
+ Expression> predicate = (t) => t.DeliverBillType == deliverBillType && (!deliverSubBillTypes.Any() || deliverSubBillTypes.Contains(t.DeliverSubBillType));
+ var syncPositionFlag = await _syncPositionFlagRepository.FindAsync(t => t.TableName == syncTableName);
+ if (syncPositionFlag != null)
+ {
+ predicate = (t) => t.DeliverBillType == deliverBillType && t.UID > int.Parse(syncPositionFlag.Position) && (!deliverSubBillTypes.Any() || deliverSubBillTypes.Contains(t.DeliverSubBillType));
+ }
+ //WMS发运记录
+ var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_OTHER_RECORD.Where(predicate).OrderBy(b => b.UID).ToList();
+
+ var pubSeDetails = ObjectMapper.Map, List>(wmsSeRecords);
+ if (pubSeDetails.Any())
+ {
+ pubSeDetails.ForEach(t => t.BusinessType = businessType);
+ await _pubSeDetailRepository.InsertManyAsync(pubSeDetails);
+
+ if (syncPositionFlag != null)
+ {
+ syncPositionFlag.Position = wmsSeRecords.Last().UID.ToString();
+ await _syncPositionFlagRepository.UpdateAsync(syncPositionFlag);
+ }
+ else
+ {
+ syncPositionFlag = new SyncPositionFlag()
+ {
+ TableName = syncTableName,
+ Position = wmsSeRecords.Last().UID.ToString()
+ };
+ await _syncPositionFlagRepository.InsertAsync(syncPositionFlag);
+ }
+ }
+ }
+}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/SeSyncConfig.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/SeSyncConfig.cs
index aa27261e..27e64885 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/SeSyncConfig.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/SeSyncConfig.cs
@@ -1,6 +1,4 @@
using System.Collections.Generic;
-using System.ComponentModel;
-using DocumentFormat.OpenXml.Office2010.ExcelAc;
namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs;
@@ -25,7 +23,7 @@ public class SeSyncConfig
public List SyncDeliverSubBillTypes { get; set; }
///
- ///
+ /// 业务类别
///
public EnumBusinessType BusinessType { get; set; }
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs
new file mode 100644
index 00000000..f026ba44
--- /dev/null
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using SettleAccount.Domain.BQ;
+using Win.Sfs.SettleAccount.EntityFrameworkCore;
+using Win.Sfs.Shared.RepositoryBase;
+
+namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs;
+
+///
+/// 印度件发运同步
+///
+[AllowAnonymous]
+[Route("api/settleaccount/[controller]/[action]")]
+public class YinDuSeSyncAppService : JitSeSyncAppService
+{
+ ///
+ /// 构造
+ ///
+ public YinDuSeSyncAppService(
+ WMSBJBMPTDbContext wmsBJBMPTContext,
+ INormalEfCoreRepository syncPositionFlagRepository,
+ INormalEfCoreRepository pubSeDetailRepository
+ ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository)
+ {
+ base.SeSyncConfigInfo = new SeSyncConfig()
+ {
+ SyncTableName = "YinDuSeSync",
+ SyncDeliverBillType = EnumDeliverBjBmpBillType.印度件,
+ SyncDeliverSubBillTypes = new List
+ {
+ EnumDeliverSubBillType.无
+ },
+ BusinessType = EnumBusinessType.YinDuJian
+ };
+ }
+}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs
index 199f5f9b..e8f370a1 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs
@@ -1,13 +1,8 @@
using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Threading.Tasks;
-using Coravel.Invocable;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using SettleAccount.Domain.BQ;
-using Volo.Abp.Application.Services;
using Win.Sfs.SettleAccount.EntityFrameworkCore;
using Win.Sfs.Shared.RepositoryBase;
@@ -36,87 +31,8 @@ public class ZhiGongBBACSeSyncAppService : JitSeSyncAppService
SyncDeliverSubBillTypes = new List
{
EnumDeliverSubBillType.JIT直供件BBAC
- }
+ },
+ BusinessType = EnumBusinessType.ZhiGongJianBBAC
};
}
}
-
-///
-/// Jit发运数据同步
-///
-public class JitSeSyncAppService : ApplicationService, IInvocable
-{
- ///
- /// WMS数据上下文
- ///
- private readonly WMSBJBMPTDbContext _wmsBJBMPTContext;
-
- ///
- /// 同步位置标记
- ///
- private readonly INormalEfCoreRepository _syncPositionFlagRepository;
-
- ///
- /// Jit发运数据仓储
- ///
- private readonly INormalEfCoreRepository _pubSeDetailRepository;
-
- ///
- /// 构造
- ///
- public JitSeSyncAppService(
- WMSBJBMPTDbContext wmsBJBMPTContext,
- INormalEfCoreRepository syncPositionFlagRepository,
- INormalEfCoreRepository pubSeDetailRepository)
- {
- _wmsBJBMPTContext = wmsBJBMPTContext;
- _syncPositionFlagRepository = syncPositionFlagRepository;
- _pubSeDetailRepository = pubSeDetailRepository;
- }
-
- public SeSyncConfig SeSyncConfigInfo { get; set; }
-
- [HttpPost]
- public async Task Invoke()
- {
- //同步表名称
- var syncTableName = SeSyncConfigInfo.SyncTableName;
- //同步发运主类型
- var deliverBillType = SeSyncConfigInfo.SyncDeliverBillType;
- //同步发运子类型
- var deliverSubBillTypes = SeSyncConfigInfo.SyncDeliverSubBillTypes;
-
- Expression> predicate = (t) => t.DeliverBillType == deliverBillType && (!deliverSubBillTypes.Any() || deliverSubBillTypes.Contains(t.DeliverSubBillType));
- var syncPositionFlag = await _syncPositionFlagRepository.FindAsync(t => t.TableName == syncTableName);
- if (syncPositionFlag != null)
- {
- Expression> expression = (t) => t.UID > int.Parse(syncPositionFlag.Position);
- var body = expression.Body;
- predicate = Expression.Lambda>(Expression.And(predicate.Body, body), predicate.Parameters);
- }
-
- var jitRecords = _wmsBJBMPTContext.TM_BJBMPT_OTHER_RECORD.Where(predicate).OrderBy(b => b.UID)?.ToList();
-
- var pubSeDetails = ObjectMapper.Map, List>(jitRecords);
- if (pubSeDetails.Any())
- {
- await _pubSeDetailRepository.InsertManyAsync(pubSeDetails);
-
- if (syncPositionFlag != null)
- {
- syncPositionFlag.Position = jitRecords.Last().UID.ToString();
- await _syncPositionFlagRepository.UpdateAsync(syncPositionFlag);
- }
- else
- {
- syncPositionFlag = new SyncPositionFlag()
- {
- TableName = syncTableName,
- Position = jitRecords.Last().UID.ToString()
- };
- await _syncPositionFlagRepository.InsertAsync(syncPositionFlag);
- }
- }
- await Task.CompletedTask;
- }
-}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs
new file mode 100644
index 00000000..9f04c134
--- /dev/null
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using SettleAccount.Domain.BQ;
+using Win.Sfs.SettleAccount.EntityFrameworkCore;
+using Win.Sfs.Shared.RepositoryBase;
+
+namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs;
+
+///
+/// 直供件HBPO发运同步
+///
+[AllowAnonymous]
+[Route("api/settleaccount/[controller]/[action]")]
+public class ZhiGongHBPOSeSyncAppService : JitSeSyncAppService
+{
+ ///
+ /// 构造
+ ///
+ public ZhiGongHBPOSeSyncAppService(
+ WMSBJBMPTDbContext wmsBJBMPTContext,
+ INormalEfCoreRepository syncPositionFlagRepository,
+ INormalEfCoreRepository pubSeDetailRepository
+ ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository)
+ {
+ base.SeSyncConfigInfo = new SeSyncConfig()
+ {
+ SyncTableName = "ZhiGongHBPOSeSync",
+ SyncDeliverBillType = EnumDeliverBjBmpBillType.JIT直供件,
+ SyncDeliverSubBillTypes = new List
+ {
+ EnumDeliverSubBillType.JIT直供件HBPO
+ },
+ BusinessType = EnumBusinessType.ZhiGongJianHBPO
+ };
+ }
+}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs
index 855d6be4..534a3689 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
@@ -13,15 +12,18 @@ using InfluxDB.LineProtocol.Client;
using Magicodes.ExporterAndImporter.Core.Extension;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.SignalR;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Configuration;
using Microsoft.OpenApi.Extensions;
+using SettleAccount.Job.SignalR;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.BlobStoring;
using Volo.Abp.DependencyInjection;
+using Volo.Abp.Uow;
using Win.Sfs.BaseData.ImportExcelCommon;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Vmi;
@@ -50,25 +52,31 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
private readonly INormalEfCoreRepository _logRepository;
private readonly INormalEfCoreRepository _snapshotRepository;
private readonly IBlobContainer _fileContainer;
+ private readonly IHubContext _hubContext;
- public VmiAppService(IConfiguration cfg, INormalEfCoreRepository balanceRepository,
+ public VmiAppService(IConfiguration cfg,
+ INormalEfCoreRepository balanceRepository,
INormalEfCoreRepository logRepository,
INormalEfCoreRepository snapshotRepository,
- IBlobContainer fileContainer)
+ IBlobContainer fileContainer,
+ IHubContext hubContext)
{
this._cfg = cfg;
this._balanceRepository = balanceRepository;
this._logRepository = logRepository;
this._snapshotRepository = snapshotRepository;
this._fileContainer = fileContainer;
+ this._hubContext = hubContext;
}
///
/// 定时备份
///
[HttpPost]
- public void Invoke()
+ [UnitOfWork]
+ public virtual Task Invoke()
{
+ this._hubContext.Clients.All.ServerToClient("JobItem", "refresh", "");
Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/files/vmi"));
var date = DateTime.Now.ToString("yyyyMMddHH");
var connectionString = $"Data Source=wwwroot/files/vmi/{date}.db";
@@ -84,7 +92,8 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
var snapshot = new VmiSnapshot { Name = date, Path = connectionString };
this._snapshotRepository.InsertAsync(snapshot).Wait();
}
- Debug.WriteLine($"{nameof(VmiAppService)}:{DateTime.Now}");
+ this._hubContext.Clients.All.ServerToClient("JobItem", "refresh", "");
+ return Task.CompletedTask;
}
///
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs
index a549e471..0dbc75c5 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs
@@ -78,7 +78,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers
private async Task SetSettleState(INVOICE_GRP p_entiy, SettleBillState p_State, bool IsForward = true)
{
if (p_entiy.BusinessType == EnumBusinessType.BeiJian ||
- p_entiy.BusinessType == EnumBusinessType.YingDuJian ||
+ p_entiy.BusinessType == EnumBusinessType.YinDuJian ||
p_entiy.BusinessType == EnumBusinessType.MaiDanJianBBAC ||
p_entiy.BusinessType == EnumBusinessType.MaiDanJianHBPO ||
p_entiy.BusinessType == EnumBusinessType.ZhiGongJianBBAC ||
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/IJobService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/IJobService.cs
index 4a2d165e..3f9f8793 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/IJobService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/IJobService.cs
@@ -1,6 +1,8 @@
+using System.Threading.Tasks;
+
namespace Win.Sfs.SettleAccount.Entities.BQ.Vmi;
public interface IJobService
{
- void Invoke();
+ Task Invoke();
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobItem.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobItem.cs
index 784afbc4..a4e1fe04 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobItem.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobItem.cs
@@ -4,7 +4,7 @@ using Volo.Abp.Domain.Entities;
namespace Win.Sfs.SettleAccount.Entities.BQ.Vmi;
-public class JobItem : Entity, IHasConcurrencyStamp
+public class JobItem : Entity
{
public JobItem(Guid id)
{
@@ -23,5 +23,7 @@ public class JobItem : Entity, IHasConcurrencyStamp
public string Service { get; set; }
public bool IsRunning { get; set; }
+
+ [Timestamp]
public string ConcurrencyStamp { get; set; }
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobLog.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobLog.cs
index f7eb6a14..454e6eb6 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobLog.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/JobLog.cs
@@ -8,7 +8,8 @@ public class JobLog : Entity
public JobItem Job { get; set; }
public Guid JobId { get; set; }
public DateTime Start { get; set; }
- public DateTime End { get; set; }
+ public DateTime? End { get; set; }
public bool Success { get; set; }
+ public string Host { get; set; }
public string Exception { get; set; }
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBusinessType.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBusinessType.cs
index 2d2fe67f..229d2368 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBusinessType.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/EnumBusinessType.cs
@@ -1,76 +1,63 @@
using System.ComponentModel.DataAnnotations;
-namespace Win.Sfs.SettleAccount
+namespace Win.Sfs.SettleAccount;
+
+///
+/// 业务类别
+///
+public enum EnumBusinessType
{
///
- /// 业务类别
+ /// 未定义
///
- public enum EnumBusinessType
- {
- ///
- /// 未定义
- ///
- [Display(Name = "未定义")]
- None = 0,
-
- ///
- /// JisBBAC
- ///
- [Display(Name = "JisBBAC")]
- JisBBAC = 1,
-
- ///
- /// JisHBPO
- ///
- [Display(Name = "JisHBPO")]
- JisHBPO = 2,
+ [Display(Name = "未定义")]
+ None = 0,
- ///
- /// 直供件BBAC
- ///
- [Display(Name = "直供件BBAC")]
- ZhiGongJianBBAC = 3,
+ ///
+ /// JisBBAC
+ ///
+ [Display(Name = "JisBBAC")]
+ JisBBAC = 1,
- ///
- /// 直供件HBPO
- ///
- [Display(Name = "直供件HBPO")]
- ZhiGongJianHBPO = 4,
+ ///
+ /// JisHBPO
+ ///
+ [Display(Name = "JisHBPO")]
+ JisHBPO = 2,
- ///
- /// 买单件BBAC
- ///
- [Display(Name = "买单件BBAC")]
- MaiDanJianBBAC = 5,
+ ///
+ /// 直供件BBAC
+ ///
+ [Display(Name = "直供件BBAC")]
+ ZhiGongJianBBAC = 3,
- ///
- /// 买单件HBPO
- ///
- [Display(Name = "买单件HBPO")]
- MaiDanJianHBPO = 6,
+ ///
+ /// 直供件HBPO
+ ///
+ [Display(Name = "直供件HBPO")]
+ ZhiGongJianHBPO = 4,
- ///
- /// 备件
- ///
- [Display(Name = "备件")]
- BeiJian = 7,
+ ///
+ /// 买单件BBAC
+ ///
+ [Display(Name = "买单件BBAC")]
+ MaiDanJianBBAC = 5,
- ///
- /// 印度件
- ///
- [Display(Name = "印度件")]
- YingDuJian = 8,
+ ///
+ /// 买单件HBPO
+ ///
+ [Display(Name = "买单件HBPO")]
+ MaiDanJianHBPO = 6,
- /////
- /////
- /////
- //[Display(Name = "HBPO-JIS")]
- //HBPO = 5,
+ ///
+ /// 备件
+ ///
+ [Display(Name = "备件")]
+ BeiJian = 7,
- /////
- ///// 印度件
- /////
- //[Display(Name = "BBAC-JIS")]
- //BBAC = 6
- }
+ ///
+ /// 印度件
+ ///
+ [Display(Name = "印度件")]
+ YinDuJian = 8
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/20230728013132_vmi6.Designer.cs b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/20230728013132_vmi6.Designer.cs
new file mode 100644
index 00000000..7dc40d7c
--- /dev/null
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/20230728013132_vmi6.Designer.cs
@@ -0,0 +1,4920 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+using Win.Sfs.SettleAccount;
+
+namespace Win.Sfs.SettleAccount.Migrations
+{
+ [DbContext(typeof(SettleAccountDbContext))]
+ [Migration("20230728013132_vmi6")]
+ partial class vmi6
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+ .HasAnnotation("Relational:MaxIdentifierLength", 128)
+ .HasAnnotation("ProductVersion", "5.0.17")
+ .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_CAN_SA", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("BusinessType")
+ .HasColumnType("int");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("InvGroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("SettleBillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Site")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("State")
+ .HasMaxLength(50)
+ .HasColumnType("int");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_CAN_SA");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_CAN_SA_DETAIL", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("BusinessType")
+ .HasColumnType("int");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ContractDocID")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("GroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("InvGroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsReturn")
+ .HasMaxLength(50)
+ .HasColumnType("bit");
+
+ b.Property("KeyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Price")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("SettleBillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("SettleDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Site")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_CAN_SA_DETAIL");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_NOT_SA_DETAIL", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BusinessType")
+ .HasColumnType("int");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ContractDocID")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("GroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("InvGroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsReturn")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("KeyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Price")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("SettleBillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("SettleDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Site")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_NOT_SA_DETAIL");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_PD_DETAIL", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Extend1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Extend2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Extend3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Extend4")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("GroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("InvGroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("KeyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Price")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("RELU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("REPN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("SettleDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Site")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_PD_DETAIL");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_SA", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DNBillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("DeleterId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Site")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("State")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_SA");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_SA_DETAIL", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Category")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("GroupNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsReturn")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("KeyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Price")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("SettleDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Site")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_SA_DETAIL");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_SE_DETAIL", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AssemblyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("BeginDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("InjectionCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("KeyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("SeqNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ShippingDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.Property("WmsBillNum")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_SE_DETAIL");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_SE_EDI", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AssemblyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("BeginDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Extend1")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Extend2")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Extend3")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Extend4")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("InjectionCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("KeyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LU")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("SeqNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Site")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Set_BBAC_SE_EDI");
+ });
+
+ modelBuilder.Entity("SettleAccount.Domain.BQ.BBAC_SE_REPORT", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AssemblyCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("BeginDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("DeletionTime");
+
+ b.Property("EDIQty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property