提交发票自由开票

usertest
嵇文龙 5 months ago
parent 487216dfc6
commit 904568c49c

@ -323,7 +323,7 @@ public class DataResult<TData> : IDataResult<ResultCode, TData>
var desc = attribute?.Description ?? string.Empty;
var value = fieldInfo.GetValue(null) as string ?? string.Empty;
return Failed(desc, fieldName);
return Failed(desc, value);
}
/// <summary>

@ -18,7 +18,17 @@ namespace DS.WMS.Core.Application.Dtos
long value; // money100的绝对值
StringBuilder sb = new StringBuilder(); // 大写金额字符串,逆序
// 只读属性: "零元"
public string ZeroString { get { return Digit[0] + Yuan; } }
readonly string[] Unit = [Yuan, "万", "亿", "万", "亿亿"];
public string ZeroString { get { return Digit[0] + Yuan; } }
/// <summary>
/// 初始化
/// </summary>
/// <param name="value"></param>
public Money(double value) : this(Convert.ToDecimal(value))
{
}
/// <summary>
/// 初始化
@ -28,19 +38,22 @@ namespace DS.WMS.Core.Application.Dtos
{
try { money100 = (long)(value * 100m); }
catch { Overflow = true; }
if (money100 == long.MinValue) Overflow = true;
if (money100 == long.MinValue)
Overflow = true;
}
/// <summary>
/// 返回大写金额字符串
/// 返回汉字大写金额
/// </summary>
/// <returns></returns>
/// <returns>大写金额字符串</returns>
/// <exception cref="OverflowException">金额超出范围</exception>
public override string ToString()
{
if (Overflow) return "金额超出范围";
if (Overflow) throw new OverflowException("金额超出范围");
if (money100 == 0) return ZeroString;
string[] Unit = { Yuan, "万", "亿", "万", "亿亿" };
value = System.Math.Abs(money100);
value = Math.Abs(money100);
ParseSection(true);
for (int i = 0; i < Unit.Length && value > 0; i++)
{
@ -53,7 +66,12 @@ namespace DS.WMS.Core.Application.Dtos
sb.Remove(sb.Length - Unit[i].Length, Unit[i].Length);
}
if (money100 < 0) sb.Append("负");
return Reverse();
var str = Reverse();
if (money100 % 100 == 0)
str += "整";
return str;
}
// 解析“片段”: “角分(2位)”或“万以内的一段(4位)”
@ -86,5 +104,5 @@ namespace DS.WMS.Core.Application.Dtos
return sbReversed.ToString();
}
}
}
}

@ -7,7 +7,6 @@ using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Flow.Entity;
using DS.WMS.Core.Op.Entity;
using LanguageExt.Pipes;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
@ -137,6 +136,112 @@ namespace DS.WMS.Core.Fee.Method
return TenantDb.UnionAll(new List<ISugarQueryable<BusinessFeeDto>> { query1 });
}
/// <summary>
/// 更新费用及其业务的费用状态
/// </summary>
/// <param name="ids">费用记录ID</param>
/// <remarks>此方法内部将始终异步执行,请确保在调用前已提交数据库事务等必要的操作。</remarks>
protected internal void UpdateFeeStatus(IEnumerable<long> ids)
{
var task1 = Task.Factory.StartNew(UpdateFeeStatusCore, ids, CancellationToken.None);
var task2 = task1.ContinueWith(t => UpdateBizStatusCore(t.Result), TaskContinuationOptions.OnlyOnRanToCompletion);
}
private List<FeeRecord> UpdateFeeStatusCore(object? state)
{
if (state == null)
return [];
var ids = (IEnumerable<long>)state;
var fees = TenantDb.Queryable<FeeRecord>().Where(x => ids.Contains(x.Id))
.Select(x => new FeeRecord
{
Id = x.Id,
BusinessId = x.BusinessId,
BusinessType = x.BusinessType,
FeeStatus = x.FeeStatus,
Amount = x.Amount,
SettlementAmount = x.SettlementAmount,
OrderAmount = x.OrderAmount,
OrderSettlementAmount = x.OrderSettlementAmount
}).ToList();
if (fees.Count == 0)
return [];
List<FeeRecord> list = new(fees.Count);
foreach (var item in fees)
{
var restAmount = item.Amount - item.SettlementAmount - item.OrderAmount + item.OrderSettlementAmount;
if (restAmount == 0)
{
item.FeeStatus = FeeStatus.SettlementCompleted;
list.Add(item);
}
else if (restAmount != item.Amount)
{
item.FeeStatus = FeeStatus.PartialSettlement;
list.Add(item);
}
else if (item.SettlementAmount == 0)
{
item.FeeStatus = FeeStatus.AuditPassed;
list.Add(item);
}
}
TenantDb.Updateable(list).UpdateColumns(x => new { x.FeeStatus }).ExecuteCommand();
return list;
}
private void UpdateBizStatusCore(List<FeeRecord> list)
{
var bizIds = list.Select(x => x.BusinessId);
var types = list.Select(x => x.BusinessType).Distinct();
var fees2 = TenantDb.Queryable<FeeRecord>().Where(x => bizIds.Contains(x.BusinessId) && types.Contains(x.BusinessType))
.Select(x => new { x.BusinessId, x.BusinessType, x.FeeType, x.FeeStatus }).ToList();
if (fees2.Count == 0)
return;
var gpList = fees2.GroupBy(x => new { x.BusinessId, x.BusinessType });
foreach (var gp in gpList)
{
BusinessFeeStatus biz = new() { BusinessId = gp.Key.BusinessId, BusinessType = gp.Key.BusinessType };
var upt = TenantDb.Updateable(biz).WhereColumns(x => new { x.BusinessId, x.BusinessType });
//应收
var arList = gp.Where(x => x.FeeType == FeeType.Receivable).ToList();
if (arList.Count > 0)
{
if (arList.All(x => x.FeeStatus == FeeStatus.SettlementCompleted))
{
biz.ARFeeStatus = BillFeeStatus.SettlementCompleted;
upt = upt.UpdateColumns(x => x.ARFeeStatus);
}
else if (arList.Any(x => x.FeeStatus == FeeStatus.PartialSettlement))
{
biz.ARFeeStatus = BillFeeStatus.PartialSettlement;
upt = upt.UpdateColumns(x => x.ARFeeStatus);
}
}
//应付
var apList = gp.Where(x => x.FeeType == FeeType.Payable).ToList();
if (apList.Count > 0)
{
if (apList.All(x => x.FeeStatus == FeeStatus.SettlementCompleted))
{
biz.APFeeStatus = BillFeeStatus.SettlementCompleted;
upt = upt.UpdateColumns(x => x.APFeeStatus);
}
else if (apList.Any(x => x.FeeStatus == FeeStatus.PartialSettlement))
{
biz.APFeeStatus = BillFeeStatus.PartialSettlement;
upt = upt.UpdateColumns(x => x.APFeeStatus);
}
}
upt.ExecuteCommand();
}
}
/// <summary>
/// 查找模板
/// </summary>

@ -1,4 +1,5 @@
using DS.Module.Core.Data;
using System.ComponentModel.DataAnnotations;
using DS.Module.Core.Data;
using DS.Module.Core.Enums;
using DS.WMS.Core.Application.Entity;
using DS.WMS.Core.Info.Entity;
@ -9,13 +10,14 @@ namespace DS.WMS.Core.Invoice.Entity
/// <summary>
/// 发票相关基类
/// </summary>
[SugarTable("invoice_form", TableDescription = "发票主表")]
public class Invoice : BaseModelV2<long>
{
/// <summary>
/// 发票号
/// </summary>
[SugarColumn(ColumnDescription = "发票号", Length = 200, IsNullable = false)]
public string InvoiceNO { get; set; }
[SugarColumn(ColumnDescription = "发票号", Length = 200, IsNullable = false), Required]
public string InvoiceNO { get; set; } = string.Empty;
/// <summary>
/// 发票业务编号
@ -47,12 +49,6 @@ namespace DS.WMS.Core.Invoice.Entity
[SugarColumn(ColumnDescription = "开票单位名称", Length = 200)]
public string? CustomerName { get; set; }
/// <summary>
/// 发票抬头
/// </summary>
[SugarColumn(ColumnDescription = "发票抬头", Length = 200)]
public string? InvoiceHeader { get; set; }
/// <summary>
/// 收款单位银行
/// </summary>
@ -131,6 +127,12 @@ namespace DS.WMS.Core.Invoice.Entity
[SugarColumn(ColumnDescription = "所属机构(公司)")]
public long? OrgId { get; set; }
/// <summary>
/// 发票抬头
/// </summary>
[SugarColumn(ColumnDescription = "发票抬头", Length = 200, IsNullable = true)]
public string? InvoiceHeader { get; set; }
/// <summary>
/// 纳税人识别号
/// </summary>

@ -1,5 +1,6 @@
using DS.Module.Core;
using DS.WMS.Core.Invoice.Dto;
using DS.WMS.Core.Invoice.Dtos;
namespace DS.WMS.Core.Invoice.Interface
{
@ -16,7 +17,12 @@ namespace DS.WMS.Core.Invoice.Interface
/// <returns></returns>
Task<DataResult<List<InvoiceDto>>> GetListAsync(PageRequest<string> request);
/// <summary>
/// 提交发票开票
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<DataResult<TEntity>> SaveAsync(InvoiceRequest<TEntity> request);
/// <summary>
/// 删除发票明细

@ -1,4 +1,6 @@
using DS.Module.Core;
using System.Text;
using DS.Module.Core;
using DS.Module.Core.Enums;
using DS.Module.Core.Extensions;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Fee.Dtos;
@ -15,6 +17,11 @@ namespace DS.WMS.Core.Invoice.Method
/// </summary>
public class FreeInvoiceService : InvoiceService<Entity.Invoice>, IFreeInvoiceService
{
/// <summary>
/// 允许的费用状态值
/// </summary>
internal readonly FeeStatus[] AllowedStatus = [FeeStatus.AuditPassed, FeeStatus.PartialSettlement, FeeStatus.SettlementCompleted];
/// <summary>
/// 初始化
/// </summary>
@ -40,7 +47,7 @@ namespace DS.WMS.Core.Invoice.Method
/// <returns></returns>
public async Task<DataResult<List<BizInvoiceApplication>>> GetBizListAsync(PageRequest<FeeRange?> request)
{
var expr = Expressionable.Create<SeaExport, FeeRecord>().And((s, f) => f.FeeStatus == FeeStatus.AuditPassed &&
var expr = Expressionable.Create<SeaExport, FeeRecord>().And((s, f) => AllowedStatus.Contains(f.FeeStatus) &&
(f.Amount - f.InvoiceAmount - f.OrderInvoiceAmount + f.OrderInvSettlementAmount) != 0);
if (request.OtherQueryCondition.HasValue)
{
@ -129,7 +136,7 @@ namespace DS.WMS.Core.Invoice.Method
var types = items.Select(x => x.BusinessType).ToList();
var list = await TenantDb.Queryable<FeeRecord>()
.Where(f => bizIds.Contains(f.BusinessId) && types.Contains(f.BusinessType) && f.FeeStatus == FeeStatus.AuditPassed)
.Where(f => bizIds.Contains(f.BusinessId) && types.Contains(f.BusinessType) && AllowedStatus.Contains(f.FeeStatus))
.Select(f => new FeeInvoiceDto
{
RecordId = f.Id,
@ -154,5 +161,47 @@ namespace DS.WMS.Core.Invoice.Method
return DataResult<InvoiceApplicaitonBiz>.Success(new InvoiceApplicaitonBiz(list));
}
protected override async Task<DataResult> PreSaveAsync(Entity.Invoice invoice)
{
invoice.Type = InvoiceType.Free;
//获取剩余待开票金额
var ids = invoice.Details.Select(x => x.RecordId);
var fees = await TenantDb.Queryable<FeeRecord>().Where(x => ids.Contains(x.Id) && AllowedStatus.Contains(x.FeeStatus))
.Select(x => new
{
x.Id,
OriginalRestAmount = x.Amount - x.InvoiceAmount - x.OrderInvoiceAmount + x.OrderInvSettlementAmount
}).ToListAsync();
StringBuilder sb = new();
foreach (var detail in invoice.Details)
{
var item = fees.Find(x => x.Id == detail.RecordId);
if (item == null)
{
sb.Append(MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.EmptyData)));
break;
}
if (detail.OriginalAmount > 0 && detail.OriginalAmount > item.OriginalRestAmount)
{
sb.AppendFormat(MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.DetailExceedingLimit)), detail.FeeName);
sb.Append("");
continue;
}
else if (detail.OriginalAmount < 0 && detail.OriginalAmount < item.OriginalRestAmount)
{
sb.AppendFormat(MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.DetailExceedingLimit)), detail.FeeName);
sb.Append("");
continue;
}
detail.Category = DetailCategory.InvoiceIssuance;
}
return sb.Length > 0 ? DataResult.Failed(sb.ToString()) : DataResult.Success;
}
}
}

@ -1,6 +1,7 @@
using DS.Module.Core;
using DS.Module.Core.Enums;
using DS.Module.Core.Extensions;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Application.Entity;
using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Fee.Method;
@ -21,6 +22,7 @@ namespace DS.WMS.Core.Invoice.Method
public class InvoiceService<TEntity> : FeeServiceBase, IInvoiceService<TEntity>
where TEntity : Entity.Invoice, new()
{
protected readonly Lazy<ICommonService> CommonService;
/// <summary>
@ -116,12 +118,15 @@ namespace DS.WMS.Core.Invoice.Method
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
public async Task<DataResult<TEntity>> SaveAsync(InvoiceRequest<TEntity> request)
public async Task<DataResult<TEntity>> SaveAsync(InvoiceRequest<TEntity> request)
{
var invoice = request.Invoice;
if (invoice.InvoiceDate == default)
invoice.InvoiceDate = DateTime.Now;
if (invoice.Currency.IsNullOrEmpty())
invoice.Currency = RMB_CODE;
TEntity? dbValue = default;
if (request.Invoice.Id > 0)
{
@ -179,6 +184,7 @@ namespace DS.WMS.Core.Invoice.Method
return DataResult<TEntity>.Failed(result.Message, result.MultiCode);
invoice.InvoiceAmount = invoice.Details.Sum(x => x.ApplyAmount);
invoice.AmountUppercase = new Money(invoice.InvoiceAmount).ToString();
}
await TenantDb.Ado.BeginTranAsync();
@ -218,7 +224,7 @@ namespace DS.WMS.Core.Invoice.Method
if (invoice.Details?.Count > 0)
{
//更新费用记录的已结算金额
//更新费用记录的已开票金额
var fees = invoice.Details.Select(x => new FeeRecord
{
Id = x.RecordId,

@ -211,7 +211,7 @@ namespace DS.WMS.Core.Settlement.Method
if (!ids.Any())
return settlement;
await UpdateFeeStatus(ids);
UpdateFeeStatus(ids);
}
return settlement;
@ -270,8 +270,10 @@ namespace DS.WMS.Core.Settlement.Method
await TenantDb.Updateable(apps)
.PublicSetColumns(it => it.Amount, "-").UpdateColumns(x => new { x.Amount })
.ExecuteCommandAsync();
await TenantDb.Ado.CommitTranAsync();
//更新费用结算状态
UpdateFeeStatus(details.Select(x => x.RecordId));
return DataResult.Success;
}
catch (Exception ex)
@ -322,9 +324,7 @@ namespace DS.WMS.Core.Settlement.Method
await TenantDb.Ado.CommitTranAsync();
//更新费用结算状态
var ids2 = details.Select(x => x.RecordId);
await UpdateFeeStatus(ids2);
UpdateFeeStatus(details.Select(x => x.RecordId));
return DataResult.Success;
}
catch (Exception ex)
@ -357,8 +357,6 @@ namespace DS.WMS.Core.Settlement.Method
await TenantDb.Updateable(fees)
.PublicSetColumns(it => it.SettlementAmount, "-").UpdateColumns(x => new { x.SettlementAmount })
.ExecuteCommandAsync();
await UpdateFeeStatus(fees.Select(x => x.Id));
}
#endregion
@ -407,48 +405,6 @@ namespace DS.WMS.Core.Settlement.Method
DataResult.Success : DataResult.FailedWithDesc(nameof(MultiLanguageConst.Operation_Failed));
}
/// <summary>
/// 更新费用的结算状态
/// </summary>
/// <param name="ids">费用记录ID</param>
/// <returns></returns>
protected internal async Task UpdateFeeStatus(IEnumerable<long> ids)
{
var fees = await TenantDb.Queryable<FeeRecord>().Where(x => ids.Contains(x.Id))
.Select(x => new FeeRecord
{
Id = x.Id,
FeeStatus = x.FeeStatus,
Amount = x.Amount,
SettlementAmount = x.SettlementAmount,
OrderAmount = x.OrderAmount,
OrderSettlementAmount = x.OrderSettlementAmount
}).ToListAsync();
if (fees.Count == 0)
return;
List<FeeRecord> list = new(fees.Count);
foreach (var item in fees)
{
var restAmount = item.Amount - item.SettlementAmount - item.OrderAmount + item.OrderSettlementAmount;
if (restAmount == 0)
{
item.FeeStatus = FeeStatus.SettlementCompleted;
list.Add(item);
}
else if (restAmount != item.Amount)
{
item.FeeStatus = FeeStatus.PartialSettlement;
list.Add(item);
}
else if (item.SettlementAmount == 0)
{
item.FeeStatus = FeeStatus.AuditPassed;
list.Add(item);
}
}
await TenantDb.Updateable(list).UpdateColumns(x => new { x.FeeStatus }).ExecuteCommandAsync();
}
}
}

@ -1,5 +1,8 @@
using DS.Module.Core;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Invoice.Dtos;
using DS.WMS.Core.Invoice.Entity;
using DS.WMS.Core.Invoice.Interface;
using Microsoft.AspNetCore.Mvc;
@ -27,9 +30,34 @@ namespace DS.WMS.FeeApi.Controllers
/// <param name="request"></param>
/// <returns>注意!!【费用范围】需通过 OtherQueryCondition 字段传入</returns>
[HttpPost, Route("GetBizList")]
public async Task<DataResult<List<BizInvoiceApplication>>> GetBizListAsync(PageRequest<FeeRange?> request)
public async Task<DataResult<List<BizInvoiceApplication>>> GetBizListAsync([FromBody]PageRequest<FeeRange?> request)
{
return await _service.GetBizListAsync(request);
}
/// <summary>
/// 根据业务编号及类型获取费用记录
/// </summary>
/// <param name="items">业务ID与业务类型</param>
/// <returns></returns>
[HttpPost, Route("GetFees")]
public async Task<DataResult<InvoiceApplicaitonBiz>> GetFeesAsync([FromBody] BizItem[] items)
{
return await _service.GetFeesAsync(items);
}
/// <summary>
/// 提交发票开票
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
[HttpPost, Route("Save")]
public async Task<DataResult<Invoice>> SaveAsync(InvoiceRequest<Invoice> request)
{
if (!ModelState.IsValid)
return DataResult<Invoice>.Failed(ModelState.GetErrorMessage(), MultiLanguageConst.IllegalRequest);
return await _service.SaveAsync(request);
}
}
}

@ -2651,3 +2651,66 @@
2024-07-15 11:19:59.3801 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 11:19:59.3910 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 11:19:59.3910 Info Configuration initialized.
2024-07-15 15:44:28.3529 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 15:44:28.4194 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 15:44:28.4229 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 15:44:28.4586 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 15:44:28.4586 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 15:44:28.4586 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 15:44:28.4717 Info Configuration initialized.
2024-07-15 15:51:31.5230 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 15:51:31.5578 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 15:51:31.5623 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 15:51:31.5788 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 15:51:31.5788 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 15:51:31.5934 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 15:51:31.5934 Info Configuration initialized.
2024-07-15 16:06:16.5041 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:06:16.5452 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:06:16.5496 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:06:16.5635 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:06:16.5635 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:06:16.5635 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:06:16.5635 Info Configuration initialized.
2024-07-15 16:08:09.5785 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:08:09.6106 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:08:09.6106 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:08:09.6318 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:08:09.6318 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:08:09.6400 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:08:09.6400 Info Configuration initialized.
2024-07-15 16:12:00.1630 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:12:00.1927 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:12:00.1927 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:12:00.2073 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:12:00.2073 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:12:00.2073 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:12:00.2200 Info Configuration initialized.
2024-07-15 16:18:59.8297 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:18:59.8645 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:18:59.8645 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:18:59.8803 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:18:59.8803 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:18:59.8914 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:18:59.8914 Info Configuration initialized.
2024-07-15 16:26:06.9398 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:26:06.9758 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:26:06.9758 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:26:06.9966 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:26:07.0026 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:26:07.0026 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:26:07.0026 Info Configuration initialized.
2024-07-15 16:29:31.3665 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:29:31.3985 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:29:31.3985 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:29:31.4164 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:29:31.4238 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:29:31.4238 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:29:31.4238 Info Configuration initialized.
2024-07-15 16:35:10.3293 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-07-15 16:35:10.3705 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-07-15 16:35:10.3705 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-07-15 16:35:10.3880 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
2024-07-15 16:35:10.3936 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Source\Repos\DS8\ds-wms-service\DS.WMS.FeeApi\bin\Debug\net8.0\nlog.config
2024-07-15 16:35:10.3936 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-07-15 16:35:10.3936 Info Configuration initialized.

Loading…
Cancel
Save