diff --git a/ds-wms-service/DS.WMS.Core/Application/Method/ApplicationService`1.cs b/ds-wms-service/DS.WMS.Core/Application/Method/ApplicationService`1.cs
index fff1230e..b2fced98 100644
--- a/ds-wms-service/DS.WMS.Core/Application/Method/ApplicationService`1.cs
+++ b/ds-wms-service/DS.WMS.Core/Application/Method/ApplicationService`1.cs
@@ -44,7 +44,7 @@ namespace DS.WMS.Core.Application.Method
///
public async Task> SaveAsync(TEntity application)
{
- TEntity dbValue = null;
+ TEntity? dbValue = null;
if (application.Id > 0)
{
//修改需检查申请单状态
@@ -110,8 +110,6 @@ namespace DS.WMS.Core.Application.Method
{
detail.ApplicationId = application.Id;
var fee = fees.Find(x => x.Id == detail.RecordId);
- //detail.BusinessId = fee.BusinessId;
- //detail.BusinessType = fee.BusinessType;
detail.ExchangeRate = detail.ExchangeRate ?? fee.ExchangeRate;
detail.FeeId = fee.FeeId;
detail.FeeName = fee.FeeName;
@@ -189,7 +187,7 @@ namespace DS.WMS.Core.Application.Method
/// 提交的申请单
/// 数据库值,新增时为null
///
- protected virtual DataResult EnsureApplication(TEntity application, TEntity dbValue)
+ protected virtual DataResult EnsureApplication(TEntity application, TEntity? dbValue)
{
return DataResult.Success;
}
diff --git a/ds-wms-service/DS.WMS.Core/Application/Method/InvoiceApplicationService.cs b/ds-wms-service/DS.WMS.Core/Application/Method/InvoiceApplicationService.cs
index 3d3375e0..c484e93c 100644
--- a/ds-wms-service/DS.WMS.Core/Application/Method/InvoiceApplicationService.cs
+++ b/ds-wms-service/DS.WMS.Core/Application/Method/InvoiceApplicationService.cs
@@ -305,12 +305,9 @@ namespace DS.WMS.Core.Application.Method
CustomerAddTel = a.CustomerAddTel,
CustomerBankId = a.CustomerBankId,
- CustomerBankName = b1.BankName,
- CustomerAccount = b1.Account,
-
+ CustomerBankName = b1.BankName + " " + b1.Account,
USDCustomerBankId = a.USDCustomerBankId,
- USDCustomerBankName = b2.BankName,
- USDCustomerAccount = b2.Account
+ USDCustomerBankName = b2.BankName + " " + b2.Account
}).FirstAsync();
if (dto != null)
@@ -434,14 +431,11 @@ namespace DS.WMS.Core.Application.Method
return list;
}
- protected override DataResult EnsureApplication(InvoiceApplication application, InvoiceApplication dbValue)
+ protected override DataResult EnsureApplication(InvoiceApplication application, InvoiceApplication? dbValue)
{
if (dbValue != null && dbValue.Status != InvoiceApplicationStatus.Pending && dbValue.Status != InvoiceApplicationStatus.AuditRejected)
return DataResult.FailedWithDesc(nameof(MultiLanguageConst.ApplicationSaveStatusError));
- if (application.Currency.IsNullOrEmpty())
- application.Currency = FeeCurrency.RMB_CODE;
-
return DataResult.Success;
}
diff --git a/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs b/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs
index 3534198f..6ece1721 100644
--- a/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs
+++ b/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs
@@ -400,7 +400,7 @@ namespace DS.WMS.Core.Application.Method
}
- protected override DataResult EnsureApplication(PaymentApplication application, PaymentApplication dbValue)
+ protected override DataResult EnsureApplication(PaymentApplication application, PaymentApplication? dbValue)
{
if (dbValue != null)
{
diff --git a/ds-wms-service/DS.WMS.Core/HangfireJob/Method/OpJobService.cs b/ds-wms-service/DS.WMS.Core/HangfireJob/Method/OpJobService.cs
index 7ec7bb06..89e73dc8 100644
--- a/ds-wms-service/DS.WMS.Core/HangfireJob/Method/OpJobService.cs
+++ b/ds-wms-service/DS.WMS.Core/HangfireJob/Method/OpJobService.cs
@@ -56,17 +56,7 @@ namespace DS.WMS.Core.HangfireJob.Method
_logger.Error("海运出口信息不存在!");
throw new Exception("海运出口信息不存在!");
}
-
- var orderUrl = tenantDb.Queryable().First(x => x.BusinessId == bookingId);
- if (orderUrl == null)
- {
- orderUrl = new BookingOrderUrl()
- {
- BusinessId = bookingId
- };
- tenantDb.Insertable(orderUrl).ExecuteCommand();
- }
-
+
//if (!string.IsNullOrEmpty(orderUrl.UrlVgm))
//{
// return await Task.FromResult(DataResult.Success(new string[] { orderUrl.UrlVgm, orderUrl.UrlVgmSi }));
@@ -210,25 +200,42 @@ namespace DS.WMS.Core.HangfireJob.Method
_logger.Error(jobjResp.GetStringValue("message"));
throw new Exception(jobjResp.GetStringValue("message"));
}
+ try
+ {
+ tenantDb.Ado.BeginTran();
+ var orderUrl = tenantDb.Queryable().First(x => x.BusinessId == bookingId);
+ if (orderUrl == null)
+ {
+ orderUrl = new BookingOrderUrl()
+ {
+ BusinessId = bookingId
+ };
+ tenantDb.Insertable(orderUrl).ExecuteCommand();
+ }
+ //保存url
+ var memoData = jobjResp.GetJObjectValue("memoData");
+ orderUrl.UrlVgm = memoData.GetStringValue("vgmUrl");
+ orderUrl.UrlVgmSi = memoData.GetStringValue("vgmAndSiUrl");
+ tenantDb.Updateable(orderUrl).ExecuteCommand();
- //保存url
- var memoData = jobjResp.GetJObjectValue("memoData");
- orderUrl.UrlVgm = memoData.GetStringValue("vgmUrl");
- orderUrl.UrlVgmSi = memoData.GetStringValue("vgmAndSiUrl");
- tenantDb.Updateable(orderUrl).ExecuteCommand();
-
-
- //货运动态
- var bookingStatus = new BookingStatusLog()
+ //货运动态
+ var bookingStatus = new BookingStatusLog()
+ {
+ BusinessId = bookingId,
+ Status = $"生成VGM链接",
+ Group = "ship",
+ OpTime = DateTime.Now,
+ MBLNO = order.MBLNO
+ };
+ tenantDb.Insertable(bookingStatus).ExecuteCommand();
+ tenantDb.Ado.CommitTran();
+ }
+ catch (Exception ex)
{
- BusinessId = bookingId,
- Status = $"生成VGM链接",
- Group = "ship",
- OpTime = DateTime.Now,
- MBLNO = order.MBLNO
- };
- tenantDb.Insertable(bookingStatus).ExecuteCommand();
+ tenantDb.Ado.RollbackTran();
+ throw new Exception(ex.ToString());
+ }
}
public void TxxpLinkJob(BaseJobReq req)
@@ -238,17 +245,7 @@ namespace DS.WMS.Core.HangfireJob.Method
var bookingId = req.Id;
var order = tenantDb.Queryable().First(x => x.Id == bookingId);
-
- var orderUrl = tenantDb.Queryable().First(x => x.BusinessId == bookingId);
- if (orderUrl == null)
- {
- orderUrl = new BookingOrderUrl()
- {
- BusinessId = bookingId
- };
- tenantDb.Insertable(orderUrl).ExecuteCommand();
- }
-
+
//校验船公司
if (string.IsNullOrEmpty(order.Carrier) || order.CarrierId == 0)
{
@@ -377,26 +374,44 @@ namespace DS.WMS.Core.HangfireJob.Method
_logger.Error(jobjResp.GetStringValue("message"));
throw new Exception(jobjResp.GetStringValue("message"));
}
+ try
+ {
+ tenantDb.Ado.BeginTran();
+ var orderUrl = tenantDb.Queryable().First(x => x.BusinessId == bookingId);
+ if (orderUrl == null)
+ {
+ orderUrl = new BookingOrderUrl()
+ {
+ BusinessId = bookingId
+ };
+ tenantDb.Insertable(orderUrl).ExecuteCommand();
+ }
+ var addUrlFlag = string.IsNullOrEmpty(orderUrl.UrlTxxp) ? true : false; //新生成还是更新链接
+ //保存url
- var addUrlFlag = string.IsNullOrEmpty(orderUrl.UrlTxxp) ? true : false; //新生成还是更新链接
- //保存url
-
- //保存url
- var txxpUrl = jobjResp.GetStringValue("data");
- orderUrl.UrlTxxp = txxpUrl;
- tenantDb.Updateable(orderUrl).ExecuteCommand();
+ //保存url
+ var txxpUrl = jobjResp.GetStringValue("data");
+ orderUrl.UrlTxxp = txxpUrl;
+ tenantDb.Updateable(orderUrl).ExecuteCommand();
- //货运动态
- var bookingStatus = new BookingStatusLog()
+ //货运动态
+ var bookingStatus = new BookingStatusLog()
+ {
+ BusinessId = bookingId,
+ Status = $"{(addUrlFlag ? "生成" : "更新")}提箱小票链接",
+ Group = "ship",
+ OpTime = DateTime.Now,
+ MBLNO = order.MBLNO
+ };
+ tenantDb.Insertable(bookingStatus).ExecuteCommand();
+ tenantDb.Ado.CommitTran();
+ }
+ catch (Exception ex)
{
- BusinessId = bookingId,
- Status = $"{(addUrlFlag ? "生成" : "更新")}提箱小票链接",
- Group = "ship",
- OpTime = DateTime.Now,
- MBLNO = order.MBLNO
- };
- tenantDb.Insertable(bookingStatus).ExecuteCommand();
+ tenantDb.Ado.RollbackTran();
+ throw new Exception(ex.ToString());
+ }
}
}
}
diff --git a/ds-wms-service/DS.WMS.Core/Info/Method/ClientBankService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientBankService.cs
index 79a5a1ff..56055d00 100644
--- a/ds-wms-service/DS.WMS.Core/Info/Method/ClientBankService.cs
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientBankService.cs
@@ -30,10 +30,21 @@ public class ClientBankService : ServiceBase, IClientBankService
{
//序列化查询条件
var whereList = request.GetConditionalModels(Db);
- var data = TenantDb.Queryable()
+ var result = TenantDb.Queryable()
.Where(whereList)
.Select().ToQueryPage(request.PageCondition);
- return data;
+
+ if (result.Data?.Count > 0)
+ {
+ var ids = result.Data.Select(x => x.Id);
+ var list = TenantDb.Queryable().Where(x => ids.Contains(x.RelativeId)).ToList();
+ foreach (var item in result.Data)
+ {
+ item.InvoiceHeaders = list.FindAll(x => x.RelativeId == item.Id);
+ }
+ }
+
+ return result;
}
///
diff --git a/ds-wms-service/DS.WMS.Core/Op/Method/TaskInteraction/TaskMailService.cs b/ds-wms-service/DS.WMS.Core/Op/Method/TaskInteraction/TaskMailService.cs
index 78fbff77..4de9dc2e 100644
--- a/ds-wms-service/DS.WMS.Core/Op/Method/TaskInteraction/TaskMailService.cs
+++ b/ds-wms-service/DS.WMS.Core/Op/Method/TaskInteraction/TaskMailService.cs
@@ -7,7 +7,7 @@ using DS.WMS.Core.Op.Interface.TaskInteraction;
namespace DS.WMS.Core.Op.Method.TaskInteraction
{
///
- /// 邮件配置服务
+ /// 邮件模板配置服务
///
public class TaskMailService : ServiceBase, ITaskMailService
{
@@ -27,7 +27,8 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
public async Task>> GetListAsync(PageRequest request)
{
var whereList = request.GetConditionalModels(Db);
- return await TenantDb.Queryable().Includes(x => x.Receiver).Includes(x => x.Sender).Includes(x => x.CC)
+ return await TenantDb.Queryable()
+ .Includes(x => x.Receiver).Includes(x => x.Sender).Includes(x => x.CC)
.Where(whereList).ToQueryPageAsync(request.PageCondition);
}
@@ -39,7 +40,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
public async Task> GetAsync(long id)
{
var entity = await TenantDb.Queryable()
- .Includes(x => x.Receiver).Includes(x => x.Sender).Includes(x => x.Attachments).Includes(x => x.CC)
+ .Includes(x => x.Receiver).Includes(x => x.Sender).Includes(x => x.CC).Includes(x => x.Attachments)
.Where(x => x.Id == id).FirstAsync();
return DataResult.Success(entity);
@@ -53,8 +54,8 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
public async Task GetAsync(string name)
{
return await TenantDb.Queryable()
- .Includes(x => x.Receiver).Includes(x => x.Sender).Includes(x => x.Attachments).Includes(x => x.CC)
- .Where(x => x.Name == name).FirstAsync();
+ .Includes(x => x.Receiver).Includes(x => x.Sender).Includes(x => x.CC).Includes(x => x.Attachments)
+ .Where(x => x.Name.Contains(name)).FirstAsync();
}
///
@@ -73,11 +74,15 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
taskMail.Sender ??= new();
taskMail.CC ??= new();
- taskMail = await TenantDb.InsertNav(taskMail).Include(x => x.Receiver).Include(x => x.Sender).ExecuteReturnEntityAsync();
+ taskMail = await TenantDb.InsertNav(taskMail)
+ .Include(x => x.Receiver).Include(x => x.Sender).Include(x => x.CC)
+ .ExecuteReturnEntityAsync();
}
else
{
- await TenantDb.UpdateNav(taskMail).Include(x => x.Receiver).Include(x => x.Sender).ExecuteCommandAsync();
+ await TenantDb.UpdateNav(taskMail)
+ .Include(x => x.Receiver).Include(x => x.Sender).Include(x => x.CC)
+ .ExecuteCommandAsync();
}
if (taskMail.Attachments?.Count > 0)
@@ -86,8 +91,10 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
foreach (var item in list)
item.TaskMailId = taskMail.Id;
- await TenantDb.Deleteable().Where(x => x.TaskMailId == taskMail.Id).ExecuteCommandAsync();
- await TenantDb.Insertable(taskMail.Attachments).ExecuteCommandAsync();
+ //await TenantDb.Deleteable().Where(x => x.TaskMailId == taskMail.Id).ExecuteCommandAsync();
+ //await TenantDb.Insertable(taskMail.Attachments).ExecuteCommandAsync();
+
+ await TenantDb.Storageable(taskMail.Attachments).DefaultAddElseUpdate().ExecuteCommandAsync();
}
await TenantDb.Ado.CommitTranAsync();
@@ -113,7 +120,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
try
{
await TenantDb.DeleteNav(x => model.Ids.Contains(x.Id))
- .Include(x => x.Receiver).Include(x => x.Sender).Include(x => x.Attachments)
+ .Include(x => x.Receiver).Include(x => x.Sender).Include(x => x.CC).Include(x => x.Attachments)
.ExecuteCommandAsync();
await TenantDb.Ado.CommitTranAsync();
@@ -127,6 +134,5 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
}
}
-
}
}
diff --git a/ds-wms-service/DS.WMS.JobService/Program.cs b/ds-wms-service/DS.WMS.JobService/Program.cs
index d76204b2..41ea0e49 100644
--- a/ds-wms-service/DS.WMS.JobService/Program.cs
+++ b/ds-wms-service/DS.WMS.JobService/Program.cs
@@ -31,7 +31,7 @@ builder.Logging.AddNLog("nlog.config");
//Autofacע
builder.ConfigureContainer(new AutofacServiceProviderFactory(), builder => builder.RegisterModule(new AutofacModuleRegister()));
-builder.Services.AddTransient();
+//builder.Services.AddTransient();
//builder.Services.AddExceptionHandler(); //ȫ쳣
builder.Services.AddControllers(options =>
{