完善整单审核

usertest
嵇文龙 6 months ago
parent 15f6ac8b2c
commit b5b9eb693b

@ -1,4 +1,6 @@
namespace DS.WMS.Core.Fee.Dtos
using DS.WMS.Core.Op.Entity;
namespace DS.WMS.Core.Fee.Dtos
{
public class FeeAuditRequest
{
@ -16,5 +18,9 @@
/// 审批的费用ID
/// </summary>
public long[] Ids { get; set; }
public long? Id { get; set; }
public BusinessType BusinessType { get; set; } = BusinessType.OceanShippingExport;
}
}

@ -1,5 +1,7 @@
using DS.Module.Core;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Flow.Dtos;
using DS.WMS.Core.Op.Entity;
namespace DS.WMS.Core.Fee.Interface
{
@ -23,5 +25,18 @@ namespace DS.WMS.Core.Fee.Interface
/// <param name="idArray">待审批的费用ID</param>
/// <returns></returns>
DataResult Audit(int yesOrNo, string remark, params long[] idArray);
/// <param name="id">业务ID</param>
/// <param name="businessType">业务类型</param>
/// <returns></returns>
DataResult AuditBusiness(int yesOrNo, string remark, long id, BusinessType businessType);
/// <summary>
/// 根据审批结果更新审批状态
/// </summary>
///<param name="callback">回调信息</param>
/// <returns></returns>
DataResult UpdateAuditStatus(FlowCallback callback);
}
}

@ -69,19 +69,12 @@ public interface IFeeRecordService
DataResult Withdraw(params long[] ids);
/// <summary>
/// 根据审批结果更新审批状态
/// </summary>
///<param name="callback">回调信息</param>
/// <returns></returns>
DataResult UpdateAuditStatus(FlowCallback callback);
/// <summary>
/// 整单审核
/// 发起整单审核
/// </summary>
/// <param name="bid">业务ID</param>
/// <param name="type">业务类型</param>
/// <returns></returns>
DataResult AuditBusiness(long bid, BusinessType type);
DataResult SubmitBusinessAudit(long bid, BusinessType type);
/// <summary>
/// 获取费用核算单打印信息

@ -10,6 +10,7 @@ using DS.WMS.Core.Flow.Entity;
using DS.WMS.Core.Flow.Interface;
using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.Sys.Entity;
using Mapster;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
@ -22,7 +23,7 @@ namespace DS.WMS.Core.Fee.Method
{
//待审核的状态值
public static readonly FeeStatus[] AuditStatusArray = [FeeStatus.AuditSubmitted, FeeStatus.ApplyDeletion, FeeStatus.ApplyModification];
public int RunningStatus = (int)FlowStatusEnum.Running;
public static readonly int RunningStatus = (int)FlowStatusEnum.Running;
readonly IServiceProvider _serviceProvider;
readonly ISqlSugarClient db;
@ -152,9 +153,9 @@ namespace DS.WMS.Core.Fee.Method
}
/// <summary>
/// 批量审批
/// 批量费用审批
/// </summary>
/// <param name="yesOrNo">审批结果</param>
/// <param name="yesOrNo">审批结果1=通过2=驳回</param>
/// <param name="remark">备注</param>
/// <param name="idArray">待审批的费用ID</param>
/// <returns></returns>
@ -170,10 +171,10 @@ namespace DS.WMS.Core.Fee.Method
}).ToList();
if (fees.Count == 0)
return DataResult.Failed("未能获取费用信息,提交失败");
return DataResult.Failed("未能获取费用信息");
if (fees.Exists(x => !x.FlowId.HasValue))
return DataResult.Failed("提交数据中包含未在审批状态的费用");
return DataResult.Failed("提交数据中包含不在审批流程中的费用");
if (fees.Exists(x => !AuditStatusArray.Contains(x.FeeStatus)))
return DataResult.Failed("提交数据中包含不在待审批状态的费用");
@ -223,6 +224,256 @@ namespace DS.WMS.Core.Fee.Method
return DataResult.Success;
}
/// <summary>
/// 整单审批
/// </summary>
/// <param name="yesOrNo">审批结果1=通过2=驳回</param>
/// <param name="remark">备注</param>
/// <param name="id">业务ID</param>
/// <param name="businessType">业务类型</param>
/// <returns></returns>
public DataResult AuditBusiness(int yesOrNo, string remark, long id, BusinessType businessType)
{
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var biz = tenantDb.Queryable<BusinessFeeStatus>().Where(x => x.BusinessId == id && x.BusinessType == businessType)
.Select(x => new
{
x.Id,
x.BillAuditStatus,
x.FlowId
}).First();
if (biz == null)
return DataResult.Failed("未能获取业务信息");
if (!biz.FlowId.HasValue)
return DataResult.Failed("业务未处于审批流程中");
if (biz.BillAuditStatus != BillAuditStatus.AuditSubmitted)
return DataResult.Failed("业务的审批状态不正确");
var flow = db.Queryable<FlowInstance>().Where(x => x.Id == biz.FlowId.Value).Select(x => new
{
x.Id,
x.ActivityId,
x.BusinessId,
x.BusinessType,
x.MakerList
}).First();
if (flow == null)
return DataResult.Failed("未能获取审批工作流");
if (!flow.MakerList.Contains(user.UserId))
return DataResult.Failed("所选费用包含不属于当前用户权限范围内的审批,禁止提交");
var result = flowService.AuditFlowInstance(new FlowInstanceAuditReq
{
Id = flow.Id,
NodeId = flow.ActivityId,
Status = yesOrNo,
AuditNote = remark
});
return result;
}
/// <summary>
/// 根据审批结果更新审批状态
/// </summary>
/// <param name="callback">回调信息</param>
/// <returns></returns>
public DataResult UpdateAuditStatus(FlowCallback callback)
{
var auditType = callback.AuditType.ToEnum<FeeAuditType>();
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
FeeRecord fee = null;
BusinessFeeStatus businessFee = null;
if (auditType == FeeAuditType.Business)
{
businessFee = tenantDb.Queryable<BusinessFeeStatus>().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType)
.Select(x => new BusinessFeeStatus
{
Id = x.Id,
BusinessId = x.BusinessId,
BillAuditStatus = x.BillAuditStatus
}).First();
if (businessFee == null)
return DataResult.Failed("未能找到业务信息,更新状态失败", MultiLanguageConst.Operation_Failed);
}
else
{
fee = tenantDb.Queryable<FeeRecord>().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType).Select(
x => new FeeRecord { Id = x.Id, FeeStatus = x.FeeStatus }).First();
if (fee == null)
return DataResult.Failed("未能找到费用记录,更新状态失败", MultiLanguageConst.Operation_Failed);
fee.Reason = callback.RejectReason;
}
long userId = long.Parse(user.UserId);
DateTime dtNow = DateTime.Now;
tenantDb.Ado.BeginTran();
try
{
switch (auditType)
{
case FeeAuditType.ApplyAudit:
fee.AuditBy = userId;
fee.AuditOperator = user.UserName;
fee.AuditDate = dtNow;
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
fee.FeeStatus = FeeStatus.AuditPassed;
fee.Reason = string.Empty;
}
else if (callback.FlowStatus == FlowStatusEnum.Reject)
fee.FeeStatus = FeeStatus.RejectSubmission;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.FeeStatus,
x.AuditBy,
x.AuditOperator,
x.AuditDate,
x.Reason,
x.FlowId
}).ExecuteCommand();
break;
case FeeAuditType.ApplyModification:
//申请修改审核成功需要回填费用信息
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
var fm = tenantDb.Queryable<FeeModification>().Where(x => x.FeeRecordId == fee.Id).OrderByDescending(x => x.CreateTime).First();
if (fm == null)
return DataResult.Failed("未找到费用修改信息,更新失败", MultiLanguageConst.Operation_Failed);
var entity = fm.Adapt<FeeRecord>();
entity.Id = fm.FeeRecordId;
entity.FeeStatus = FeeStatus.AuditPassed;
entity.Reason = callback.RejectReason;
entity.UpdateBy = userId;
entity.UpdateTime = dtNow;
//全表更新
tenantDb.Updateable(entity).IgnoreColumns(
x => new { x.AuditBy, x.AuditDate, x.AuditOperator, x.SubmitBy, x.SubmitDate }).ExecuteCommand();
//逻辑删除暂存数据
fm.Deleted = true;
fm.DeleteTime = dtNow;
fm.DeleteBy = userId;
tenantDb.Updateable(fm).UpdateColumns(x => new
{
x.DeleteBy,
x.Deleted,
x.DeleteTime
}).ExecuteCommand();
}
else if (callback.FlowStatus == FlowStatusEnum.Reject)
{
fee.FeeStatus = FeeStatus.RejectApplication;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.FeeStatus,
x.Reason,
x.FlowId
}).ExecuteCommand();
}
break;
case FeeAuditType.ApplyDeletion:
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
fee.Deleted = true;
fee.DeleteBy = userId;
fee.DeleteTime = dtNow;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.DeleteBy,
x.Deleted,
x.DeleteTime,
x.Reason,
x.FlowId
}).ExecuteCommand();
//tenantDb.Deleteable(fee).ExecuteCommand();
}
else
{
fee.FeeStatus = FeeStatus.RejectApplication;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.FeeStatus,
x.Reason,
x.FlowId
}).ExecuteCommand();
}
break;
case FeeAuditType.Business:
FeeStatus status = FeeStatus.RejectSubmission;
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
businessFee.BillAuditStatus = BillAuditStatus.AuditPassed;
status = FeeStatus.AuditPassed;
}
else if (callback.FlowStatus == FlowStatusEnum.Reject)
{
businessFee.BillAuditStatus = BillAuditStatus.Rejected;
}
tenantDb.Updateable(businessFee).UpdateColumns(x => new
{
x.BillAuditStatus,
x.FlowId
}).ExecuteCommand();
tenantDb.Updateable<FeeRecord>()
.SetColumns(x => x.FeeStatus == status)
.SetColumns(x => x.FlowId == null)
.SetColumns(x => x.AuditBy == userId)
.SetColumns(x => x.AuditOperator == user.UserName)
.SetColumns(x => x.AuditDate == dtNow)
.Where(x => x.BusinessId == businessFee.BusinessId && x.BusinessType == callback.BusinessType &&
(x.FeeStatus == FeeStatus.Entering || x.FeeStatus == FeeStatus.RejectSubmission)).ExecuteCommand();
break;
default:
return DataResult.Failed("费用未处于审批状态,更新失败", MultiLanguageConst.Operation_Failed);
}
//驳回申请则逻辑删除关联工作流
if (callback.FlowStatus == FlowStatusEnum.Reject)
{
db.Updateable(new FlowInstance
{
Id = callback.InstanceId,
Deleted = true,
DeleteBy = long.Parse(user.UserId),
DeleteTime = DateTime.Now
}).UpdateColumns(x => new { x.Deleted, x.DeleteBy, x.DeleteTime }).ExecuteCommand();
}
tenantDb.Ado.CommitTran();
return DataResult.Successed("提交成功!", MultiLanguageConst.DataUpdateSuccess);
}
catch (Exception ex)
{
tenantDb.Ado.RollbackTran();
ex.Log(db);
return DataResult.Failed("提交失败!", MultiLanguageConst.Operation_Failed);
}
finally
{
FeeRecordService.WriteBackStatus(tenantDb, callback.BusinessId, callback.BusinessType);
}
}
//public DataResult<List<FeeAudit>> GetListByPage(PageRequest request)

@ -541,195 +541,6 @@ namespace DS.WMS.Core.Fee.Method
}
}
/// <summary>
/// 根据审批结果更新审批状态
/// </summary>
/// <param name="callback">回调信息</param>
/// <returns></returns>
public DataResult UpdateAuditStatus(FlowCallback callback)
{
var auditType = callback.AuditType.ToEnum<FeeAuditType>();
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
FeeRecord fee = null;
BusinessFeeStatus businessFee = null;
if (auditType == FeeAuditType.Business)
{
businessFee = tenantDb.Queryable<BusinessFeeStatus>().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType)
.Select(x => new BusinessFeeStatus
{
Id = x.Id,
BusinessId = x.BusinessId,
BillAuditStatus = x.BillAuditStatus
}).First();
if (businessFee == null)
return DataResult.Failed("未能找到业务信息,更新状态失败", MultiLanguageConst.Operation_Failed);
}
else
{
fee = tenantDb.Queryable<FeeRecord>().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType).Select(
x => new FeeRecord { Id = x.Id, FeeStatus = x.FeeStatus }).First();
if (fee == null)
return DataResult.Failed("未能找到费用记录,更新状态失败", MultiLanguageConst.Operation_Failed);
fee.Reason = callback.RejectReason;
}
tenantDb.Ado.BeginTran();
try
{
switch (auditType)
{
case FeeAuditType.ApplyAudit:
fee.AuditBy = long.Parse(user.UserId);
fee.AuditOperator = user.UserName;
fee.AuditDate = DateTime.Now;
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
fee.FeeStatus = FeeStatus.AuditPassed;
fee.Reason = string.Empty;
}
else if (callback.FlowStatus == FlowStatusEnum.Reject)
fee.FeeStatus = FeeStatus.RejectSubmission;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.FeeStatus,
x.AuditBy,
x.AuditOperator,
x.AuditDate,
x.Reason,
x.FlowId
}).ExecuteCommand();
break;
case FeeAuditType.ApplyModification:
//申请修改审核成功需要回填费用信息
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
var fm = tenantDb.Queryable<FeeModification>().Where(x => x.FeeRecordId == fee.Id).OrderByDescending(x => x.CreateTime).First();
if (fm == null)
return DataResult.Failed("未找到费用修改信息,更新失败", MultiLanguageConst.Operation_Failed);
var entity = fm.Adapt<FeeRecord>();
entity.Id = fm.FeeRecordId;
entity.FeeStatus = FeeStatus.AuditPassed;
entity.Reason = callback.RejectReason;
entity.UpdateBy = long.Parse(user.UserId);
entity.UpdateTime = DateTime.Now;
//全表更新
tenantDb.Updateable(entity).IgnoreColumns(
x => new { x.AuditBy, x.AuditDate, x.AuditOperator, x.SubmitBy, x.SubmitDate }).ExecuteCommand();
//逻辑删除暂存数据
fm.Deleted = true;
fm.DeleteTime = DateTime.Now;
fm.DeleteBy = long.Parse(user.UserId);
tenantDb.Updateable(fm).UpdateColumns(x => new
{
x.DeleteBy,
x.Deleted,
x.DeleteTime
}).ExecuteCommand();
}
else if (callback.FlowStatus == FlowStatusEnum.Reject)
{
fee.FeeStatus = FeeStatus.RejectApplication;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.FeeStatus,
x.Reason,
x.FlowId
}).ExecuteCommand();
}
break;
case FeeAuditType.ApplyDeletion:
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
fee.Deleted = true;
fee.DeleteBy = long.Parse(user.UserId);
fee.DeleteTime = DateTime.Now;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.DeleteBy,
x.Deleted,
x.DeleteTime,
x.Reason,
x.FlowId
}).ExecuteCommand();
//tenantDb.Deleteable(fee).ExecuteCommand();
}
else
{
fee.FeeStatus = FeeStatus.RejectApplication;
tenantDb.Updateable(fee).UpdateColumns(x => new
{
x.FeeStatus,
x.Reason,
x.FlowId
}).ExecuteCommand();
}
break;
case FeeAuditType.Business:
FeeStatus status = FeeStatus.RejectSubmission;
if (callback.FlowStatus == FlowStatusEnum.Approve)
{
businessFee.BillAuditStatus = BillAuditStatus.AuditPassed;
status = FeeStatus.AuditPassed;
}
else if (callback.FlowStatus == FlowStatusEnum.Reject)
{
businessFee.BillAuditStatus = BillAuditStatus.Rejected;
}
tenantDb.Updateable(businessFee).UpdateColumns(x => new
{
x.BillAuditStatus,
x.FlowId
}).ExecuteCommand();
tenantDb.Updateable<FeeRecord>().
SetColumns(x => x.FeeStatus == status).
SetColumns(x => x.FlowId == null).
Where(x => x.BusinessId == businessFee.BusinessId && x.BusinessType == callback.BusinessType &&
(x.FeeStatus == FeeStatus.Entering || x.FeeStatus == FeeStatus.RejectSubmission)).ExecuteCommand();
break;
default:
return DataResult.Failed("费用未处于审批状态,更新状态失败", MultiLanguageConst.Operation_Failed);
}
//驳回申请则逻辑删除关联工作流
if (callback.FlowStatus == FlowStatusEnum.Reject)
{
db.Updateable(new FlowInstance
{
Id = callback.InstanceId,
Deleted = true,
DeleteBy = long.Parse(user.UserId),
DeleteTime = DateTime.Now
}).UpdateColumns(x => new { x.Deleted, x.DeleteBy, x.DeleteTime }).ExecuteCommand();
}
tenantDb.Ado.CommitTran();
return DataResult.Successed("提交成功!", MultiLanguageConst.DataUpdateSuccess);
}
catch (Exception ex)
{
tenantDb.Ado.RollbackTran();
ex.Log(db);
return DataResult.Failed("提交失败!", MultiLanguageConst.Operation_Failed);
}
finally
{
WriteBackStatus(tenantDb, callback.BusinessId, callback.BusinessType);
}
}
/// <summary>
/// 撤销审批
/// </summary>
@ -813,7 +624,7 @@ namespace DS.WMS.Core.Fee.Method
/// <param name="bid">业务ID</param>
/// <param name="type">业务类型</param>
/// <returns></returns>
public DataResult AuditBusiness(long bid, BusinessType type)
public DataResult SubmitBusinessAudit(long bid, BusinessType type)
{
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var entity = tenantDb.Queryable<BusinessFeeStatus>().Where(x => x.BusinessId == bid &&
@ -1024,7 +835,7 @@ namespace DS.WMS.Core.Fee.Method
}
//回写业务主表的费用状态
void WriteBackStatus(SqlSugarScopeProvider tenantDb, long businessId, BusinessType businessType)
internal static void WriteBackStatus(SqlSugarScopeProvider tenantDb, long businessId, BusinessType businessType)
{
var fees = tenantDb.Queryable<FeeRecord>().Where(x => x.BusinessId == businessId && x.BusinessType == businessType)
.Select(x => new FeeRecord

@ -493,7 +493,8 @@ public class FlowInstanceService : IFlowInstanceService
var users = db.Queryable<SysRoleUser>().Where(x =>
wfruntime.CurrentNode.Roles.Contains(x.RoleId.ToString()))
.Select(x => x.UserId).Distinct().ToList();
makerList = GenericHelper.ArrayToString(users, makerList);
//makerList = GenericHelper.ArrayToString(users, makerList);
makerList = string.Join(',', users);
}
else if (wfruntime.CurrentNode.AssigneeType == "user")
{

@ -35,7 +35,7 @@ namespace DS.WMS.FeeApi.Controllers
}
/// <summary>
/// 费用审核
/// 批量费用审核
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
@ -48,6 +48,15 @@ namespace DS.WMS.FeeApi.Controllers
return _auditService.Audit(request.Result, request.Remark, request.Ids);
}
[HttpPost, Route("AuditBusiness")]
public DataResult AuditBusiness(FeeAuditRequest request)
{
if (request == null || !request.Id.HasValue || (request.Result != 1 && request.Result != 2))
return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
return _auditService.AuditBusiness(request.Result, request.Remark, request.Id.Value, request.BusinessType);
}
/// <summary>
/// 变更费用审批状态
/// </summary>
@ -59,7 +68,7 @@ namespace DS.WMS.FeeApi.Controllers
if (callback == null)
return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
return _feeService.UpdateAuditStatus(callback);
return _auditService.UpdateAuditStatus(callback);
}
}
}

@ -4,7 +4,6 @@ using DS.Module.Core.Extensions;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Fee.Interface;
using DS.WMS.Core.Flow.Dtos;
using DS.WMS.Core.Flow.Interface;
using DS.WMS.Core.Op.Entity;
using Mapster;
@ -177,13 +176,13 @@ namespace DS.WMS.FeeApi.Controllers
/// </summary>
/// <param name="model">业务ID和类型</param>
/// <returns></returns>
[HttpPost, Route("AuditBusiness")]
public DataResult AuditBusiness(IdModel model)
[HttpPost, Route("ApplyBusinessAudit")]
public DataResult ApplyBusinessAudit(IdModel model)
{
if (model == null || !long.TryParse(model.Id, out long bid))
return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
return _feeService.AuditBusiness(bid, (BusinessType)model.BusinessType);
return _feeService.SubmitBusinessAudit(bid, (BusinessType)model.BusinessType);
}
/// <summary>

@ -978,3 +978,38 @@
2024-06-04 13:56:31.1425 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-06-04 13:56:31.1425 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-04 13:56:31.1425 Info Configuration initialized.
2024-06-04 14:46:44.6107 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-04 14:46:44.6247 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-04 14:46:44.6247 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-04 14:46:44.6431 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-06-04 14:46:44.6431 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-06-04 14:46:44.6431 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-04 14:46:44.6572 Info Configuration initialized.
2024-06-04 15:13:27.1281 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-04 15:13:27.1469 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-04 15:13:27.1469 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-04 15:13:27.1645 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-06-04 15:13:27.1723 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-06-04 15:13:27.1723 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-04 15:13:27.1723 Info Configuration initialized.
2024-06-04 15:37:32.3572 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-04 15:37:32.3572 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-04 15:37:32.3734 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-04 15:37:32.3734 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-06-04 15:37:32.3956 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-06-04 15:37:32.3956 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-04 15:37:32.3956 Info Configuration initialized.
2024-06-04 15:46:41.0193 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-04 15:46:41.0320 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-04 15:46:41.0320 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-04 15:46:41.0463 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-06-04 15:46:41.0463 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-06-04 15:46:41.0463 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-04 15:46:41.0463 Info Configuration initialized.
2024-06-04 16:04:30.6874 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-04 16:04:30.7013 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-04 16:04:30.7013 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-04 16:04:30.7166 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-06-04 16:04:30.7166 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-06-04 16:04:30.7166 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-04 16:04:30.7166 Info Configuration initialized.

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\Publish\DS8\FeeApi</_PublishTargetUrl>
<History>True|2024-05-31T09:01:42.4717460Z||;True|2024-05-31T13:56:03.0734064+08:00||;True|2024-05-31T08:45:52.3549394+08:00||;True|2024-05-30T17:16:32.8907958+08:00||;True|2024-05-30T16:18:06.9957657+08:00||;True|2024-05-29T15:44:18.4051203+08:00||;True|2024-05-29T15:11:03.1518632+08:00||;True|2024-05-29T14:52:26.0823495+08:00||;True|2024-05-29T11:17:20.2245101+08:00||;True|2024-05-29T08:36:28.9569161+08:00||;True|2024-05-28T08:44:31.4427261+08:00||;False|2024-05-28T08:44:02.5254826+08:00||;True|2024-05-27T15:16:32.9413631+08:00||;True|2024-05-27T15:03:42.9803879+08:00||;True|2024-05-27T08:49:54.3933663+08:00||;True|2024-05-27T08:46:13.5862236+08:00||;True|2024-05-23T17:19:32.8154451+08:00||;True|2024-05-23T17:19:01.4587615+08:00||;True|2024-05-22T16:52:42.2166228+08:00||;True|2024-05-22T15:19:49.1773202+08:00||;True|2024-05-22T15:13:31.9485525+08:00||;True|2024-05-22T13:29:02.1355808+08:00||;True|2024-05-22T09:48:40.8753914+08:00||;True|2024-05-22T09:25:06.2068137+08:00||;True|2024-05-22T09:18:53.0759815+08:00||;True|2024-05-21T17:13:36.4091775+08:00||;True|2024-05-21T14:41:18.8486299+08:00||;True|2024-05-21T11:04:27.3649637+08:00||;</History>
<History>True|2024-06-04T06:23:21.3742450Z||;True|2024-05-31T17:01:42.4717460+08:00||;True|2024-05-31T13:56:03.0734064+08:00||;True|2024-05-31T08:45:52.3549394+08:00||;True|2024-05-30T17:16:32.8907958+08:00||;True|2024-05-30T16:18:06.9957657+08:00||;True|2024-05-29T15:44:18.4051203+08:00||;True|2024-05-29T15:11:03.1518632+08:00||;True|2024-05-29T14:52:26.0823495+08:00||;True|2024-05-29T11:17:20.2245101+08:00||;True|2024-05-29T08:36:28.9569161+08:00||;True|2024-05-28T08:44:31.4427261+08:00||;False|2024-05-28T08:44:02.5254826+08:00||;True|2024-05-27T15:16:32.9413631+08:00||;True|2024-05-27T15:03:42.9803879+08:00||;True|2024-05-27T08:49:54.3933663+08:00||;True|2024-05-27T08:46:13.5862236+08:00||;True|2024-05-23T17:19:32.8154451+08:00||;True|2024-05-23T17:19:01.4587615+08:00||;True|2024-05-22T16:52:42.2166228+08:00||;True|2024-05-22T15:19:49.1773202+08:00||;True|2024-05-22T15:13:31.9485525+08:00||;True|2024-05-22T13:29:02.1355808+08:00||;True|2024-05-22T09:48:40.8753914+08:00||;True|2024-05-22T09:25:06.2068137+08:00||;True|2024-05-22T09:18:53.0759815+08:00||;True|2024-05-21T17:13:36.4091775+08:00||;True|2024-05-21T14:41:18.8486299+08:00||;True|2024-05-21T11:04:27.3649637+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>

@ -6,7 +6,7 @@
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\Code\PublishCopy\ds8-mainapi</_PublishTargetUrl>
<History>True|2024-05-31T09:57:35.6858600Z||;True|2024-05-31T15:25:20.8503086+08:00||;True|2024-05-30T17:22:52.2563382+08:00||;True|2024-05-30T17:05:35.7504154+08:00||;True|2024-05-29T17:17:39.6966826+08:00||;</History>
<History>True|2024-06-04T06:20:46.7742295Z||;True|2024-05-31T17:57:35.6858600+08:00||;True|2024-05-31T15:25:20.8503086+08:00||;True|2024-05-30T17:22:52.2563382+08:00||;True|2024-05-30T17:05:35.7504154+08:00||;True|2024-05-29T17:17:39.6966826+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
Loading…
Cancel
Save