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 740fb5a0..4d54071d 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
@@ -421,7 +421,7 @@ export default {
downLineEndDateTime: "",
ln: "",
pn: "",
- enumBusinessType: route.meta.enumBusinessType,
+ businessType: route.meta.businessType,
};
const exportModel = ref(defaultExportModel);
const defaultImportModel = config.import?.schema ? schemaToModel(config.import.schema) : {};
@@ -689,7 +689,7 @@ export default {
formData.append(q, importModel.value[q]);
}
});
- if (config.query.schema.properties.businessType.default) {
+ if (config.query.schema.properties.businessType?.default) {
formData.append("businessType", config.query.schema.properties.businessType.default);
}
for (let i = 0; i < fileList.value.length; i++) {
@@ -836,9 +836,10 @@ export default {
}
function isNotJit() {
return (
- route.meta.enumBusinessType !== "ZhiGongJian" ||
- route.meta.enumBusinessType !== "BeiJian" ||
- route.meta.enumBusinessType !== "YingDuJian"
+ route.meta.businessType !== 3 ||
+ route.meta.businessType !== 4 ||
+ route.meta.businessType !== 7 ||
+ route.meta.businessType !== 8
);
}
onMounted(async () => {
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 d9bc4b3c..fb73d173 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
@@ -40,11 +40,13 @@ const exportUrl = "settleaccount/invoice_service/export";
const rejectUrl = "settleaccount/invoice_service/reject";
const passedUrl = "settleaccount/invoice_service/approval-passed";
const sync_qadUrl = "settleaccount/invoice_service/sync_qad";
+const importJsonUrl = "settleaccount/vmi/excel-to-json";
const queryMethod = "POST";
const exportMethod = "POST";
const rejectMethod = "POST";
const passedMethod = "POST";
const sync_qadMethod = "POST";
+const importJsonMethod = "POST";
export default function () {
return {
@@ -109,10 +111,12 @@ export default function () {
rejectUrl,
passedUrl,
sync_qadUrl,
+ importJsonUrl,
exportMethod,
rejectMethod,
passedMethod,
sync_qadMethod,
+ importJsonMethod,
schema: schema,
},
};
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 5ff40bfd..26c0708f 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
@@ -29,7 +29,8 @@ const schema = {
},
createdAt: {
title: "创建时间",
- type: "DateTime",
+ type: "string",
+ input: "datetime",
},
remark: {
title: "说明",
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
index 708be2ff..122a5406 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
@@ -1211,7 +1211,7 @@ export default [
path: "hbpo_jit_pub_sa_detail_service",
meta: {
type: "page",
- title: "HBPO结算数据明细",
+ title: "4",
icon: "file",
isHidden: true,
},
@@ -1291,7 +1291,7 @@ export default [
type: "page",
title: "BBAC发运与结算比对",
icon: "file",
- enumBusinessType: "ZhiGongJian",
+ businessType: 3,
},
children: [
{
@@ -1346,7 +1346,7 @@ export default [
type: "page",
title: "HBPO发运与结算比对",
icon: "file",
- enumBusinessType: "ZhiGongJian",
+ businessType: 4,
},
children: [
{
@@ -1778,7 +1778,7 @@ export default [
type: "page",
title: "发运与结算比对",
icon: "file",
- enumBusinessType: "BeiJian",
+ businessType: 7,
},
children: [
{
@@ -2210,7 +2210,7 @@ export default [
type: "page",
title: "发运与结算比对",
icon: "file",
- enumBusinessType: "YingDuJian",
+ businessType: 8,
},
children: [
{
@@ -2551,14 +2551,6 @@ export default [
pattern: "paged",
},
},
- {
- path: "reopen",
- meta: {
- type: "button",
- title: "重开",
- icon: "file",
- },
- },
],
},
{
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/invoice/invoice_map_group.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/invoice/invoice_map_group.js
index 3dbbc6bd..71b57c21 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/invoice/invoice_map_group.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/invoice/invoice_map_group.js
@@ -1,43 +1,123 @@
import AppList from "../../../components/list/index.js";
import html from "html";
-import { ref } from "vue";
+import { reactive, ref } from "vue";
import useConfig from "../../../models/invoice/invoice_map_group.js";
import request from "../../../request/index.js";
import AppTable from "../../components/table/index.js";
+import { ElMessageBox } from "element-plus";
export default {
components: { AppList, AppTable },
template: html`
- INVOICE_GRP_DETAIL_DTO
+ 结算明细
-
+
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
`,
@@ -53,6 +133,51 @@ export default {
}
`,
setup() {
+ const openImportHandler = async () => {
+ const data = {};
+ const response = await request("settleaccount/vmi/excel-to-json", data, { method: "POST" });
+ console.log(response.data);
+ };
+ const formInline = reactive({
+ oldInvBillNum: "",
+ invBillNum: "",
+ settleDate: "",
+ invGroupNum: "",
+ lu: "",
+ pn: "",
+ qty: null,
+ groupNum: "",
+ });
+ //create
+ const submitForm = () => {
+ const newFormInline = { ...formInline };
+ invoiceValue.value.push(newFormInline);
+ Object.keys(formInline).forEach((key) => {
+ delete formInline[key];
+ });
+ innerVisible.value = false;
+ };
+ //delete
+ const selectedRows = ref([]);
+ const invoiceValue = ref([]);
+ const deleteRow = () => {
+ const indexes = selectedRows.value.map((row) => invoiceValue.value.indexOf(row));
+ indexes.sort((a, b) => b - a);
+ indexes.forEach((index) => {
+ invoiceValue.value.splice(index, 1);
+ });
+ selectedRows.value = [];
+ };
+ const innerVisible = ref(false);
+ const openImport = ref(false);
+ const dialogVisible = ref(false);
+ const handleClose = (done) => {
+ ElMessageBox.confirm("确认关闭")
+ .then(() => {
+ done();
+ })
+ .catch(() => {});
+ };
const config = useConfig();
const drawer = ref(false);
const loading = ref(false);
@@ -60,8 +185,11 @@ export default {
invoicE_WAIT_DETAIL: [],
invoicE_MAP_GROUP: [],
invoicE_NOT_SETTLE: [],
+ adJ_DETAIL: [],
});
+ const prop = ref("");
const onCommand = async (item, rows) => {
+ prop.value = item.path;
drawer.value = true;
loading.value = true;
const data = { [item.path]: rows[0][item.path] };
@@ -114,7 +242,7 @@ export default {
title: "发票号",
},
{
- dataKey: "inGroupNum",
+ dataKey: "invGroupNum",
title: "发票分组号",
},
{
@@ -157,6 +285,17 @@ export default {
columns1,
columns2,
columns3,
+ innerVisible,
+ dialogVisible,
+ handleClose,
+ prop,
+ formInline,
+ submitForm,
+ invoiceValue,
+ deleteRow,
+ selectedRows,
+ openImport,
+ openImportHandler,
};
},
};
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Constant/ApplicationConsts.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Constant/ApplicationConsts.cs
index b2e81f87..dfac17d6 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Constant/ApplicationConsts.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Constant/ApplicationConsts.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -112,6 +112,15 @@ namespace Win.Sfs.SettleAccount.Constant
///
public const string SuccessStr = "Success";
+ ///
+ /// Success
+ ///
+ public const int SuccessCode = 200;
+
+ ///
+ /// 导入失败Code
+ ///
+ public const int ImportFailCode = 400;
///
/// FIS发出未结算输出表
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_SA_SERVICE.cs
index d0cac882..f9802711 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_SA_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/BBAC_SA_SERVICE.cs
@@ -109,7 +109,7 @@ public class BBAC_SA_SERVICE : SettleAccountApplicationBase
/// 导入
///
[HttpPost]
- public async Task ImportAsync([FromForm] IFormFileCollection files)
+ public async Task ImportAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换、数据校验
ExportImporter _exportImporter = new ExportImporter();
@@ -138,7 +138,8 @@ public class BBAC_SA_SERVICE : SettleAccountApplicationBase
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -147,7 +148,7 @@ public class BBAC_SA_SERVICE : SettleAccountApplicationBase
//await SaDataHandleAsync(importBBACSaDetails);
}
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
#endregion
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_SA_SERVICE.cs
index 317f2f88..d5fe29d0 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_SA_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/HBPO_SA_SERVICE.cs
@@ -108,7 +108,7 @@ public class HBPO_SA_SERVICE : SettleAccountApplicationBase
/// 导入
///
[HttpPost]
- public async Task ImportAsync([FromForm] IFormFileCollection files)
+ public async Task ImportAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换、数据校验
ExportImporter _exportImporter = new ExportImporter();
@@ -136,7 +136,8 @@ public class HBPO_SA_SERVICE : SettleAccountApplicationBase
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -149,7 +150,7 @@ public class HBPO_SA_SERVICE : SettleAccountApplicationBase
await SaDataHandleAsync(importCN5HBOPSaDetails, "CN5");
}
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
#endregion
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 69fe330a..456e1942 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
@@ -7,9 +7,11 @@ using System.Net;
using System.Threading;
using System.Threading.Tasks;
using Cronos;
+using Microsoft.AspNetCore.SignalR;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
+using SettleAccount.Job.SignalR;
using Volo.Abp.Application.Services;
using Win.Sfs.SettleAccount.Entities.BQ.Vmi;
@@ -86,6 +88,7 @@ public class JobHostdService : BackgroundService, IApplicationService
if (!jobItem.IsRunning)
{
jobLogId = this.JobItemStart(job.Id);
+ scope.ServiceProvider.GetRequiredService>().Clients.All.ServerToClient("JobItem", "refresh", "");
if (jobLogId.HasValue)
{
try
@@ -100,6 +103,7 @@ public class JobHostdService : BackgroundService, IApplicationService
Console.WriteLine(ex.ToString());
this.JobItemFaild(job.Id, jobLogId.Value, ex);
}
+ scope.ServiceProvider.GetRequiredService>().Clients.All.ServerToClient("JobItem", "refresh", "");
}
}
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs
index 76829264..975fcefe 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs
@@ -107,9 +107,9 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
/// 导入
///
[HttpPost]
- public async Task ImportByBusinessTypeAsync([FromForm] PUB_SAImportRequestDto pubSaImportRequestDto)
+ public async Task ImportByBusinessTypeAsync([FromForm] PUB_SAImportRequestDto pubSaImportRequestDto)
{
- string result = string.Empty;
+ IActionResult result = new JsonResult(null);
switch (pubSaImportRequestDto.BusinessType)
{
case EnumBusinessType.None:
@@ -428,7 +428,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
///
/// 直供件BBAC导入
///
- private async Task ImportZhiGongJianBBACAsync([FromForm] IFormFileCollection files)
+ private async Task ImportZhiGongJianBBACAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换
ExportImporter _exportImporter = new ExportImporter();
@@ -440,7 +440,8 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
var checkList = await CheckAsync(importPubSaDetails);
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -450,7 +451,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
///
/// 直供件HBPO导入
///
- private async Task ImportZhiGongJianHBPOAsync([FromForm] IFormFileCollection files)
+ private async Task ImportZhiGongJianHBPOAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换
ExportImporter _exportImporter = new ExportImporter();
@@ -469,7 +470,8 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
var checkList = await CheckAsync(importPubSaDetails);
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -479,7 +481,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
///
/// 买单件HBPO导入
///
- private async Task ImportMaiDanJianHBPOAsync([FromForm] IFormFileCollection files)
+ private async Task ImportMaiDanJianHBPOAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换
ExportImporter _exportImporter = new ExportImporter();
@@ -497,7 +499,8 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
var checkList = await CheckAsync(importPubSaDetails);
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -507,7 +510,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
///
/// 备件导入
///
- private async Task ImportBeiJianAsync([FromForm] IFormFileCollection files)
+ private async Task ImportBeiJianAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换
ExportImporter _exportImporter = new ExportImporter();
@@ -525,7 +528,8 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
var checkList = await CheckAsync(importPubSaDetails);
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -535,7 +539,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
///
/// 印度件导入
///
- private async Task ImportYinDuJianAsync([FromForm] IFormFileCollection files)
+ private async Task ImportYinDuJianAsync([FromForm] IFormFileCollection files)
{
#region 导入数据转换
ExportImporter _exportImporter = new ExportImporter();
@@ -547,7 +551,8 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
var checkList = await CheckAsync(importPubSaDetails);
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -580,7 +585,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
///
/// 结算数据处理
///
- private async Task SaDataHandleAsync(List pubSaDetails, EnumBusinessType businessType)
+ private async Task SaDataHandleAsync(List pubSaDetails, EnumBusinessType businessType)
{
//客户零件关系
var materialRelationships = new List();
@@ -636,7 +641,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase
}
#endregion
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
///
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PURCHASE_PRICE_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PURCHASE_PRICE_SERVICE.cs
index 279f5878..cd39e8ee 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PURCHASE_PRICE_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PURCHASE_PRICE_SERVICE.cs
@@ -48,7 +48,7 @@ public class PURCHASE_PRICE_SERVICE : SettleAccountApplicationBase
[HttpPost]
- public async Task ImportAsync([FromForm] IFormFileCollection files)
+ public async Task ImportAsync([FromForm] IFormFileCollection files)
{
ExportImporter _exportImporter = new ExportImporter();
var result = await _exportImporter.UploadExcelImport(files, _excelImportService);
@@ -68,6 +68,11 @@ public class PURCHASE_PRICE_SERVICE : SettleAccountApplicationBase 0)
+ {
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
+ }
foreach (var itm in _ls)
{
var _first = _repository.FirstOrDefault(p => p.LU == itm.LU);
@@ -81,11 +86,7 @@ public class PURCHASE_PRICE_SERVICE : SettleAccountApplicationBase 0)
- {
- return await ExportErrorReportAsync(checkList);
- }
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
///
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/TB_RePartsRelationship_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/TB_RePartsRelationship_SERVICE.cs
index d592dd9e..b40a9378 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/TB_RePartsRelationship_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/TB_RePartsRelationship_SERVICE.cs
@@ -58,7 +58,7 @@ public class TB_RePartsRelationship_SERVICE : SettleAccountApplicationBase
[HttpPost]
- public async Task ImportAsync([FromForm] IFormFileCollection files)
+ public async Task ImportAsync([FromForm] IFormFileCollection files)
{
ExportImporter _exportImporter = new ExportImporter();
var result = await _exportImporter.UploadExcelImport(files, _excelImportService);
@@ -91,7 +91,8 @@ public class TB_RePartsRelationship_SERVICE : SettleAccountApplicationBase 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
foreach (var itm in _ls)
{
@@ -106,7 +107,7 @@ public class TB_RePartsRelationship_SERVICE : SettleAccountApplicationBase
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 e4b54b6d..fcf43679 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
@@ -43,9 +43,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ;
public interface IVmiService : IApplicationService, ITransientDependency, IJobService
{
- void Change(VmiLogType logType, VmiType vmiType, string erpToLoc, string partCode, string lu, string number, decimal qty, object source, string groupId);
+ Task In(VmiLogType logType, string changedNumber, VmiBalance data);
- void UnDo(string groupId);
+ Task Out(VmiLogType logType, string changedNumber, VmiLog data);
+
+ Task UnDo(string groupId);
}
[AllowAnonymous]
@@ -126,7 +128,7 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
[DisableValidation]
public virtual Task Invoke(IServiceProvider serviceProvider)
{
- this._hubContext.Clients.All.ServerToClient("JobItem", "refresh", "");
+ //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";
@@ -141,6 +143,7 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
{
foreach (var item in query)
{
+ item.BackupTime = DateTime.Now;
list.Add(item);
if (list.Count == 10000)
{
@@ -163,51 +166,96 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
throw;
}
}
- this._hubContext.Clients.All.ServerToClient("JobItem", "refresh", "");
+ //this._hubContext.Clients.All.ServerToClient("JobItem", "refresh", "");
return Task.CompletedTask;
}
///
- /// 出入库
+ /// 发运入库\反结入库\调整入库
///
- /// 库存事务类型
- /// 入库出库类型
- /// 唯一索引
- /// 唯一索引
- /// 唯一索引
- /// 关联单号
- /// 变动数量
- /// 来源单据
- /// 分组号
+ ///
+ ///
+ ///
+ ///
[HttpPost]
- [UnitOfWork]
- public void Change(VmiLogType logType, VmiType vmiType, string erpToLoc, string partCode, string lu, string number, decimal qty, object source, string groupId)
+ public async Task In(VmiLogType logType, string changedNumber, VmiBalance data)
{
- var balance = this._balanceRepository.FirstOrDefault(o => o.ErpToLoc == erpToLoc && o.PartCode == partCode && o.LU == lu);
- var log = new VmiLog(GuidGenerator.Create())
+ var balance = this._balanceRepository.FirstOrDefault(o => o.BillType == data.BillType &&
+ o.PartCode == data.PartCode &&
+ o.VinCode == data.VinCode &&
+ o.ErpToLoc == data.ErpToLoc &&
+ o.OrderNum == data.OrderNum);
+
+ var log = new VmiLog
{
- CreatedTime = DateTime.Now,
- CreatedBy = _currentUser.UserName,
- RelationNumber = number,
- Qty = qty,
- ChangedType = vmiType,
LogType = logType,
- GroupId = groupId
+ ChangedType = VmiType.In,
+ ChangedNumber = changedNumber,
+ ChangedTime = DateTime.Now,
+ ChangedBy = _currentUser.UserName,
+ ChangedQty = data.Qty,
};
- log.InjectFrom(source);
+ log.InjectFrom(data);
if (balance == null)
{
- balance = new VmiBalance(GuidGenerator.Create()) { ErpToLoc = erpToLoc, PartCode = partCode, LU = lu, Qty = qty };
- balance.InjectFrom(source);
- this._balanceRepository.InsertAsync(balance).Wait();
+ balance = new VmiBalance();
+ balance.InjectFrom(data);
+ balance.SetId();
+ await _balanceRepository.InsertAsync(balance).ConfigureAwait(false);
}
else
{
- balance.Qty += qty;
+ var qty = balance.Qty + data.Qty;
+ balance.InjectFrom(data);
+ balance.Qty = qty;
this._balanceRepository.UpdateAsync(balance).Wait();
}
- this._logRepository.InsertAsync(log);
- new InfluxHelper(_cfg).Insert(log);
+ await _logRepository.InsertAsync(log).ConfigureAwait(false);
+ }
+
+ ///
+ /// 结算出库\退货出库\调整出库
+ ///
+ ///
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task Out(VmiLogType logType, string changedNumber, VmiLog data)
+ {
+ var balance = this._balanceRepository.FirstOrDefault(o => o.BillType == data.BillType &&
+ o.PartCode == data.PartCode &&
+ o.VinCode == data.VinCode &&
+ o.ErpToLoc == data.ErpToLoc &&
+ o.OrderNum == data.OrderNum);
+
+ var log = new VmiLog
+ {
+ LogType = logType,
+ ChangedType = VmiType.Out,
+ ChangedNumber = changedNumber,
+ };
+ log.InjectFrom(data);
+ log.LogType = logType;
+ log.ChangedType = VmiType.Out;
+ log.ChangedTime = DateTime.Now;
+ log.ChangedBy = _currentUser.UserName;
+ log.ChangedQty = data.Qty;
+
+ if (balance == null)
+ {
+ balance = new VmiBalance();
+ balance.InjectFrom(data);
+ balance.SetId();
+ await _balanceRepository.InsertAsync(balance).ConfigureAwait(false);
+ }
+ else
+ {
+ var qty = balance.Qty - data.Qty;
+ balance.Qty = qty;
+ this._balanceRepository.UpdateAsync(balance).Wait();
+ }
+ await _logRepository.InsertAsync(log).ConfigureAwait(false);
}
///
@@ -215,15 +263,34 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
///
[NonAction]
[UnitOfWork]
- public void UnDo(string groupId)
+ public async Task UnDo(string groupId)
{
- var logs = this._logRepository.Where(o => o.GroupId == groupId).AsNoTracking();
- foreach (var item in logs)
+ var logList = this._logRepository.Where(o => o.GroupId == groupId).AsNoTracking().OrderBy(o => o.ChangedTime);
+ foreach (var item in logList)
{
- //var balance = this._balanceRepository.FirstOrDefault(o => o.ErpToLoc == item.ErpToLoc&& o.PartCode == item. && o.LU == item.LogType);
- //var log = new VmiLog();
- //log.InjectFrom(item);
- //log.CreatedTime = item.CreatedTime;
+ var balance = this._balanceRepository.FirstOrDefault(o => o.BillType == item.BillType &&
+ o.PartCode == item.PartCode &&
+ o.VinCode == item.VinCode &&
+ o.ErpToLoc == item.ErpToLoc &&
+ o.OrderNum == item.OrderNum);
+ if (balance == null)
+ {
+ balance = new VmiBalance();
+ balance.InjectFrom(item);
+ await _balanceRepository.InsertAsync(balance).ConfigureAwait(false);
+ }
+ else
+ {
+ balance.Qty += item.ChangedQty;
+ this._balanceRepository.UpdateAsync(balance).Wait();
+ }
+ var log = new VmiLog();
+ log.InjectFrom(item);
+ log.LogType = VmiLogType.Type300;
+ log.ChangedType = VmiType.In;
+ log.ChangedTime = DateTime.Now;
+ log.ChangedBy = _currentUser.UserName;
+ await _logRepository.InsertAsync(log).ConfigureAwait(false);
}
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/CodeSettingTables/CodeSettingAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/CodeSettingTables/CodeSettingAppService.cs
index 7b60b55e..7dc40219 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/CodeSettingTables/CodeSettingAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/CodeSettingTables/CodeSettingAppService.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -65,7 +65,7 @@ namespace Win.Sfs.SettleAccount.Entities.CodeSettingTables
///
[HttpPost]
[DisableRequestSizeLimit]
- public async Task CodeSettingUploadExcelImport([FromForm] IFormFileCollection files)
+ public async Task CodeSettingUploadExcelImport([FromForm] IFormFileCollection files)
{
ExportImporter _exportImporter = new ExportImporter();
var result = await _exportImporter.UploadExcelImport(files, _excelImportService);
@@ -87,7 +87,7 @@ namespace Win.Sfs.SettleAccount.Entities.CodeSettingTables
}
var bulkConfig = new BulkConfig { SetOutputIdentity = true, BatchSize = 10000 };
//_repository.GetDbContext().BulkInsert(_ls, bulkConfig);
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
///
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs
index b3dcc89a..d62f87a5 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs
@@ -10,6 +10,7 @@ using Volo.Abp.Application.Dtos;
using Volo.Abp.Caching;
using Win.Abp.Snowflakes;
using Win.Sfs.BaseData.ImportExcelCommon;
+using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.SettleAccount.CommonManagers;
using Win.Sfs.SettleAccount.Constant;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
@@ -51,7 +52,7 @@ public class MaterialRelationshipAppService : SettleAccountApplicationBase
[HttpPost]
- public async Task ImportAsync([FromForm] MaterialRelationshipImportRequestDto materialRelationshipImportRequestDto)
+ public async Task ImportAsync([FromForm] MaterialRelationshipImportRequestDto materialRelationshipImportRequestDto)
{
ExportImporter _exportImporter = new ExportImporter();
var result = await _exportImporter.UploadExcelImport(materialRelationshipImportRequestDto.Files, _excelImportService);
@@ -73,7 +74,8 @@ public class MaterialRelationshipAppService : SettleAccountApplicationBase 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
foreach (var itm in _ls)
{
@@ -90,7 +92,7 @@ public class MaterialRelationshipAppService : SettleAccountApplicationBase
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs
index 64166057..9df9f0f6 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs
@@ -70,7 +70,7 @@ public class PriceListAppService : SettleAccountApplicationBase
/// 导入
///
[HttpPost]
- public virtual async Task ImportAsync([FromForm] IFormFileCollection files, string version)
+ public virtual async Task ImportAsync([FromForm] IFormFileCollection files, string version)
{
var checkList = new List();
ExportImporter _exportImporter = new ExportImporter();
@@ -100,7 +100,8 @@ public class PriceListAppService : SettleAccountApplicationBase
}
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -110,7 +111,7 @@ public class PriceListAppService : SettleAccountApplicationBase
}
await _priceListManager.ImportAsync(entityList.ToList(), version);
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
///
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs
index f1521726..f79dd504 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs
@@ -48,7 +48,7 @@ namespace Win.Sfs.SettleAccount.Entities.Prices
/// 导入
///
[HttpPost]
- public async Task ImportAsync([FromForm] IFormFileCollection files, string version)
+ public async Task ImportAsync([FromForm] IFormFileCollection files, string version)
{
var checkList = new List();
ExportImporter _exportImporter = new ExportImporter();
@@ -79,7 +79,8 @@ namespace Win.Sfs.SettleAccount.Entities.Prices
}
if (checkList.Count > 0)
{
- return await ExportErrorReportAsync(checkList);
+ string fileName = await ExportErrorReportAsync(checkList);
+ return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
}
#endregion
@@ -89,7 +90,7 @@ namespace Win.Sfs.SettleAccount.Entities.Prices
}
await _priceListManagerBJ.ImportAsync(entityList, version);
- return ApplicationConsts.SuccessStr;
+ return new JsonResult(new { Code = 200, Message = "导入成功" });
}
///
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/TaskJobs/JobAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/TaskJobs/JobAppService.cs
index b492ede7..5624073a 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/TaskJobs/JobAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/TaskJobs/JobAppService.cs
@@ -3,8 +3,10 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Uow;
+using Win.Sfs.SettleAccount.MaterialRelationships;
namespace Win.Sfs.SettleAccount.Entities.TaskJobs;
@@ -24,13 +26,24 @@ public class JobAppService: ApplicationService
///
///
[HttpPost]
- [Route("list")]
+ [Route("listold")]
[UnitOfWork(false)]
- public virtual async Task> GetListAsync(JobRequestDto input)
+ public virtual async Task> GetListOldAsync(JobRequestDto input)
{
return await _service.GetListAsync(input);
}
+ ///
+ /// 根据筛选条件获取实体列表
+ ///
+ [HttpPost]
+ [Route("list")]
+ [UnitOfWork(false)]
+ public virtual async Task> GetListAsync(JobRequestDto input)
+ {
+ var lists = await _service.GetListAsync(input);
+ return new PagedResultDto(lists.Count, lists);
+ }
[HttpGet]
[Route("{id}")]
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiBalance.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiBalance.cs
index 53d3842f..48ce98ff 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiBalance.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiBalance.cs
@@ -1,5 +1,8 @@
using System;
using System.ComponentModel.DataAnnotations;
+using System.Security.Cryptography;
+using System.Text;
+using System.Text.Json;
using Volo.Abp.Domain.Entities;
using Win.Sfs.SettleAccount.Entities.BQ.Syncs;
@@ -8,45 +11,54 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Vmi;
///
/// ERP库位+零件号+生产码
///
-public class VmiBalance : BasicAggregateRoot
+public class VmiBalance : BasicAggregateRoot, IHasConcurrencyStamp
{
- public VmiBalance(Guid id)
+ public VmiBalance()
{
- this.Id = id;
+ ConcurrencyStamp = Guid.NewGuid().ToString("N");
}
- [Display(Name = "ERP库位")]
- public string ErpToLoc { get; set; }
-
+ ///
+ /// LU零件号
+ ///
[Display(Name = "LU零件号")]
- public string LU { get; set; }
-
- [Display(Name = "客户零件号")]
public string PartCode { get; set; }
[Display(Name = "生产码")]
public string VinCode { get; set; }
+ ///
+ /// 根据零件关系表匹配
+ ///
+ [Display(Name = "客户零件号")]
+ public string CustomerPartCode { get; set; }
+
[Display(Name = "生产码类型")]
- public EnumDeliverSubBillType DeliverSubBillType { get; set; }
+ public string CodeType { get; set; }
[Display(Name = "发货类型")]
- public EnumDeliverBjBmpBillType DeliverBillType { get; set; }
+ public EnumDeliverBjBmpBillType BillType { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "发运日期")]
- public DateTime ShippingDate { get; set; }
+ public DateTime BillTime { get; set; }
[Display(Name = "订单日期")]
- public DateTime CreationTime { get; set; }
+ public DateTime DeliverTime { get; set; }
+
+ ///
+ /// ERP库位
+ ///
+ [Display(Name = "ERP库位")]
+ public string ErpToLoc { get; set; }
[Display(Name = "EDI顺序号")]
- public string SeqNumber { get; set; }
+ public string Seq { get; set; }
[Display(Name = "客户订单号")]
- public string CustomOrderNumber { get; set; }
+ public string OrderNum { get; set; }
[Display(Name = "塑件唯一码")]
public string UniqueCode { get; set; }
@@ -57,6 +69,30 @@ public class VmiBalance : BasicAggregateRoot
[Display(Name = "PJIS生产顺序号")]
public string PjsNum { get; set; }
+ [Display(Name = "配置码")]
+ public string Configcode { get; set; }
+
+ [Display(Name = "工厂")]
+ public string factory { get; set; }
+
+ [Display(Name = "发货子类型")]
+ public EnumDeliverSubBillType SubBillType { get; set; }
+
+ [Display(Name = "WMS实发生产码")]
+ public string RealCode { get; set; }
+
[Display(Name = "备注")]
- public string Remark { get; set; }
+ public string ReMark { get; set; }
+
+ public string ConcurrencyStamp { get; set; }
+ public DateTime? BackupTime { get; set; }
+
+ public VmiBalance SetId()
+ {
+ var data = new { BillType, PartCode, VinCode, ErpToLoc, OrderNum };
+ var json = JsonSerializer.Serialize(data);
+ var bytes = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(json));
+ this.Id = new Guid(bytes);
+ return this;
+ }
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiLog.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiLog.cs
index d5dc07f7..6cfcd2b4 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiLog.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiLog.cs
@@ -19,69 +19,99 @@ public class VmiLog : BasicAggregateRoot
this.Id = id;
}
- #region 非需求显示字段
-
- [Display(Name = "分组编号")]
+ ///
+ /// 分组编号
+ ///
public string GroupId { get; set; }
- [Display(Name = "库存事务分类")]
+ ///
+ /// 库存事务分类
+ ///
public VmiLogType LogType { get; set; }
[Display(Name = "库存变动")]
- public decimal Count { get; set; }
-
- #endregion 非需求显示字段
+ public decimal ChangedQty { get; set; }
[Display(Name = "变动单号")]
- public string RelationNumber { get; set; }
+ public string ChangedNumber { get; set; }
[Display(Name = "变动时间")]
- public DateTime CreatedTime { get; set; } = DateTime.Now;
+ public DateTime ChangedTime { get; set; } = DateTime.Now;
[Display(Name = "变动类型")]
public VmiType ChangedType { get; set; }
[Display(Name = "便动人")]
- public string CreatedBy { get; set; }
+ public string ChangedBy { get; set; }
+
+ [Display(Name = "是否补货")]
+ public bool? IsReplenished { get; set; }
- [Display(Name = "实扣LU零件号")]
- public string No1 { get; set; }
+ #region 附加信息
- [Display(Name = "实扣客户零件号")]
- public string No2 { get; set; }
+ //[Display(Name = "实扣厂内零件号")]
+ //public string PartCode { get; set; }
- [Display(Name = "结算LU零件号")]
- public string No3 { get; set; }
+ [Display(Name = "结算厂内零件号")]
+ public string PartCode2 { get; set; }
- [Display(Name = "结算客户零件号")]
- public string No4 { get; set; }
+ //[Display(Name = "结算客户零件号")]
+ //public string CustomerPartCode { get; set; }
- [Display(Name = "实扣生产码")]
- public string No5 { get; set; }
+ //[Display(Name = "EDI订单生产码")]
+ //public string VinCode { get; set; }
[Display(Name = "结算生产码")]
- public string No6 { get; set; }
+ public string SettlementVinCode { get; set; }
+
+ #endregion 附加信息
+
+ #region 库存备份
+
+ ///
+ /// LU零件号
+ ///
+ [Display(Name = "LU零件号")]
+ public string PartCode { get; set; }
+
+ [Display(Name = "生产码")]
+ public string VinCode { get; set; }
+
+ ///
+ /// 根据零件关系表匹配
+ ///
+ [Display(Name = "客户零件号")]
+ public string CustomerPartCode { get; set; }
[Display(Name = "生产码类型")]
- public string DeliverSubBillType { get; set; }
+ public string CodeType { get; set; }
[Display(Name = "发货类型")]
- public EnumDeliverBjBmpBillType DeliverBillType { get; set; }
+ public EnumDeliverBjBmpBillType BillType { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "发运日期")]
- public DateTime ShippingDate { get; set; }
+ public DateTime BillTime { get; set; }
[Display(Name = "订单日期")]
- public DateTime CreationTime { get; set; }
+ public DateTime DeliverTime { get; set; }
+
+ ///
+ /// ERP库位
+ ///
+ [Display(Name = "ERP库位")]
+ public string ErpToLoc { get; set; }
[Display(Name = "EDI顺序号")]
- public string SeqNumber { get; set; }
+ public string Seq { get; set; }
[Display(Name = "客户订单号")]
- public string CustomOrderNumber { get; set; }
+ public string OrderNum { get; set; }
+
+ [Display(Name = "塑件唯一码")]
+ public string UniqueCode { get; set; }
[Display(Name = "EDI总成号")]
public string MatchNumber { get; set; }
@@ -89,9 +119,20 @@ public class VmiLog : BasicAggregateRoot
[Display(Name = "PJIS生产顺序号")]
public string PjsNum { get; set; }
- [Display(Name = "ERP库位")]
- public string ErpToLoc { get; set; }
+ [Display(Name = "配置码")]
+ public string Configcode { get; set; }
+
+ [Display(Name = "工厂")]
+ public string factory { get; set; }
+
+ [Display(Name = "发货子类型")]
+ public EnumDeliverSubBillType SubBillType { get; set; }
+
+ [Display(Name = "WMS实发生产码")]
+ public string RealCode { get; set; }
[Display(Name = "备注")]
- public string Desc { get; set; }
+ public string ReMark { get; set; }
+
+ #endregion 库存备份
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiType.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiType.cs
index fb8443b6..9c5412eb 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiType.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Vmi/VmiType.cs
@@ -18,38 +18,41 @@ public enum VmiType
Out
}
-public enum VmiLogRunType
+public enum VmiLogType
{
///
- /// 初次执行
- ///
- Do,
-
- ///
- /// 撤销
- ///
- UnDo,
-
- ///
- /// 重做
+ /// 发运入库
///
- ReDo
-}
-
-public enum VmiLogType
-{
[Display(Name = "发运入库")]
Type100 = 100,
+ ///
+ /// 结算出库
+ ///
[Display(Name = "结算出库")]
Type200 = 200,
- [Display(Name = "客户退货")]
+ ///
+ /// 反结入库
+ ///
+ [Display(Name = "反结入库")]
Type300 = 300,
- [Display(Name = "调整入库")]
+ ///
+ /// 退货出库
+ ///
+ [Display(Name = "退货出库")]
Type400 = 400,
- [Display(Name = "调整出库")]
+ ///
+ /// 调整入库
+ ///
+ [Display(Name = "调整入库")]
Type500 = 500,
+
+ ///
+ /// 调整出库
+ ///
+ [Display(Name = "调整出库")]
+ Type600 = 600,
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs
index 16de35d7..728ce3d7 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs
@@ -1261,13 +1261,13 @@ namespace Win.Sfs.SettleAccount
// b.HasIndex(o => o.Name).IsUnique();
//});
- builder.Entity(b =>
+ builder.Entity((Action>)(b =>
{
b.ToTable($"{options.TablePrefix}_VmiBalance", options.Schema);
b.ConfigureByConvention();
- b.HasAlternateKey(o => new { o.ErpToLoc, o.PartCode, o.LU });
- });
- builder.Entity().HasData(new VmiBalance("test".ToGuid()) { ErpToLoc = "key1", PartCode = "key2", LU = "key3", Remark = "test" });
+ b.HasAlternateKey(o => (new { o.BillType, o.PartCode, o.VinCode, o.ErpToLoc, o.OrderNum }));
+ }));
+ builder.Entity().HasData(new VmiBalance { BillType = EnumDeliverBjBmpBillType.JIS件, PartCode = "PartCode", VinCode = "VinCode", ErpToLoc = "ErpToLoc", OrderNum = "OrderNum" }.SetId());
builder.Entity(b =>
{
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/20230807024652_vmi8.Designer.cs b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/20230807024652_vmi8.Designer.cs
new file mode 100644
index 00000000..46357fba
--- /dev/null
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Migrations/20230807024652_vmi8.Designer.cs
@@ -0,0 +1,5035 @@
+//
+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("20230807024652_vmi8")]
+ partial class vmi8
+ {
+ 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("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_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("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ 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("Batch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("BeginDate")
+ .HasColumnType("datetime2");
+
+ b.Property("BillCharacter")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("BillTime")
+ .HasColumnType("datetime2");
+
+ b.Property("CodeType")
+ .HasColumnType("nvarchar(max)");
+
+ 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("DeliverCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ErpToLoc")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("FromLoc")
+ .HasColumnType("nvarchar(max)");
+
+ 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("MESConfigCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("MatchNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Num")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Oper")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OrderNum")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OrigiCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PN")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("PartCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PjsNum")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Position")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Qty")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("RealCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RealPartCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RefBillNum")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RefVinCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Remark")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Seq")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SeqNumber")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ShippingDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ToLoc")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("UniqueCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.Property("VinCode")
+ .HasColumnType("nvarchar(max)");
+
+ 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