变更申请单类型枚举

usertest
嵇文龙 6 months ago
parent 2d5c6f7bfa
commit 7327871214

@ -165,56 +165,69 @@ namespace DS.Module.Core
} }
/// <summary> /// <summary>
/// 费用审批类型 /// 费用类型
/// </summary> /// </summary>
public enum FeeAuditType public enum FeeType
{ {
/// <summary> /// <summary>
/// 提交审核 /// 应收
/// </summary> /// </summary>
[Description("提交审核")] [Description("应收")]
ApplyAudit, Receivable = 1,
/// <summary> /// <summary>
/// 申请修改 /// 应付
/// </summary> /// </summary>
[Description("申请修改")] [Description("应付")]
ApplyModification, Payable = 2,
/// <summary> /// <summary>
/// 申请删除 /// 全部(仅查询用)
/// </summary> /// </summary>
[Description("申请删除")] [Description("全部")]
ApplyDeletion, All = 3
}
/// <summary> /// <summary>
/// 整单审核 /// 审批类型
/// </summary> /// </summary>
[Description("整单审核")] public enum AuditType
Business {
} /// <summary>
/// 费用审核
/// </summary>
[Description("费用提交审核")]
FeeAudit,
/// <summary> /// <summary>
/// 费用类型 /// 费用修改
/// </summary> /// </summary>
public enum FeeType [Description("费用申请修改")]
{ FeeModify,
/// <summary> /// <summary>
/// 应收 /// 费用删除
/// </summary> /// </summary>
[Description("应收")] [Description("费用申请删除")]
Receivable = 1, FeeDelete,
/// <summary> /// <summary>
/// 应付 /// 费用整单审核
/// </summary> /// </summary>
[Description("应付")] [Description("费用整单审核")]
Payable = 2, FeeBusiness,
/// <summary> /// <summary>
/// 全部(仅查询用) /// 付费申请
/// </summary> /// </summary>
[Description("全部")] [Description("付费申请")]
All = 3 PaidApplication,
/// <summary>
/// 收费申请
/// </summary>
[Description("收费申请")]
ChargeApplication
} }
} }

@ -109,7 +109,7 @@ namespace DS.WMS.Core.Fee.Entity
/// 费用明细 /// 费用明细
/// </summary> /// </summary>
[Navigate(NavigateType.OneToMany, nameof(FeeApplicationDetail.ApplicationId))] [Navigate(NavigateType.OneToMany, nameof(FeeApplicationDetail.ApplicationId))]
public List<FeeApplicationDetail> Details { get; set; } public List<FeeApplicationDetail>? Details { get; set; }
} }

@ -92,7 +92,7 @@ namespace DS.WMS.Core.Fee.Entity
/// <summary> /// <summary>
/// 金额 /// 金额
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "金额")] [SugarColumn(ColumnDescription = "原始金额")]
public decimal? OriginalAmount { get; set; } public decimal? OriginalAmount { get; set; }
/// <summary> /// <summary>

@ -52,7 +52,7 @@ public interface IFeeRecordService
/// <param name="remark">备注</param> /// <param name="remark">备注</param>
/// <param name="idArray">费用记录ID</param> /// <param name="idArray">费用记录ID</param>
/// <returns></returns> /// <returns></returns>
Task<DataResult> SubmitForApprovalAsync(FeeAuditType auditType, string remark, params long[] idArray); Task<DataResult> SubmitForApprovalAsync(AuditType auditType, string remark, params long[] idArray);
/// <summary> /// <summary>
/// 发起费用修改申请 /// 发起费用修改申请

@ -6,7 +6,6 @@ using DS.Module.UserModule;
using DS.WMS.Core.Fee.Dtos; using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Fee.Entity; using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Fee.Interface; using DS.WMS.Core.Fee.Interface;
using DS.WMS.Core.Flow.Entity;
using DS.WMS.Core.Flow.Interface; using DS.WMS.Core.Flow.Interface;
using DS.WMS.Core.Op.Entity; using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.Sys.Entity; using DS.WMS.Core.Sys.Entity;
@ -48,7 +47,7 @@ namespace DS.WMS.Core.Fee.Method
public async Task<DataResult<List<FeeApplicationBiz>>> GetBizListAsync(PageRequest request) public async Task<DataResult<List<FeeApplicationBiz>>> GetBizListAsync(PageRequest request)
{ {
var tenantDb = saasService.GetBizDbScopeById(user.TenantId); var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var queryList = CreateBizQuery(tenantDb, null); var queryList = CreateBizQuery(tenantDb);
if (!request.QueryCondition.IsNullOrEmpty()) if (!request.QueryCondition.IsNullOrEmpty())
{ {
@ -77,15 +76,12 @@ namespace DS.WMS.Core.Fee.Method
} }
//创建各项业务数据的查询并集 //创建各项业务数据的查询并集
internal static ISugarQueryable<FeeApplicationBiz> CreateBizQuery(SqlSugarScopeProvider tenantDb, IEnumerable<FlowInstance>? additions) internal static ISugarQueryable<FeeApplicationBiz> CreateBizQuery(SqlSugarScopeProvider tenantDb)
{ {
//海运出口 //海运出口
var ids1 = additions?.Where(x => x.BusinessType == BusinessType.OceanShippingExport).Select(x => x.BusinessId).ToList(); var query1 = tenantDb.Queryable<SeaExport>().InnerJoin<FeeRecord>((s, f) => s.Id == f.BusinessId && f.BusinessType == BusinessType.OceanShippingExport)
if (ids1?.Count == 0) .Where((s, f) => f.FeeStatus == FeeStatus.AuditPassed)
ids1.Add(0); .GroupBy((s, f) => s.Id)
var query1 = tenantDb.Queryable<SeaExport>()
.Where(s => ids1.Contains(s.Id))
.Select(s => new FeeApplicationBiz .Select(s => new FeeApplicationBiz
{ {
Id = s.Id, Id = s.Id,
@ -110,21 +106,21 @@ namespace DS.WMS.Core.Fee.Method
BookingNO = s.BookingNo, BookingNO = s.BookingNo,
StlName = s.StlName, StlName = s.StlName,
UnpaidRMB = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnpaidRMB = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Payable && f.Currency == "CNY").Select(x => SqlFunc.AggregateSumNoNull(x.Amount.Value)), f.FeeType == FeeType.Payable && f.Currency == "CNY").Select(f => SqlFunc.AggregateSumNoNull(f.Amount.Value)),
UnpaidUSD = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnpaidUSD = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Payable && f.Currency == "USD").Select(x => SqlFunc.AggregateSumNoNull(x.Amount.Value)), f.FeeType == FeeType.Payable && f.Currency == "USD").Select(f => SqlFunc.AggregateSumNoNull(f.Amount.Value)),
UnpaidOther = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnpaidOther = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Payable && (f.Currency != "USD" && f.Currency != "CNY")).Select(x => SqlFunc.AggregateSumNoNull(x.Amount.Value)), f.FeeType == FeeType.Payable && (f.Currency != "USD" && f.Currency != "CNY")).Select(f => SqlFunc.AggregateSumNoNull(f.Amount.Value)),
UnreceivedRMB = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnreceivedRMB = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Receivable && f.Currency == "CNY").Select(x => SqlFunc.AggregateSumNoNull(x.Amount.Value)), f.FeeType == FeeType.Receivable && f.Currency == "CNY").Select(f => SqlFunc.AggregateSumNoNull(f.Amount.Value)),
UnreceivedUSD = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnreceivedUSD = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Receivable && f.Currency == "USD").Select(x => SqlFunc.AggregateSumNoNull(x.Amount.Value)), f.FeeType == FeeType.Receivable && f.Currency == "USD").Select(f => SqlFunc.AggregateSumNoNull(f.Amount.Value)),
UnreceivedOther = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnreceivedOther = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Receivable && (f.Currency != "USD" && f.Currency != "CNY")).Select(x => SqlFunc.AggregateSumNoNull(x.Amount.Value)), f.FeeType == FeeType.Receivable && (f.Currency != "USD" && f.Currency != "CNY")).Select(f => SqlFunc.AggregateSumNoNull(f.Amount.Value)),
UnpaidRMBInv = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnpaidRMBInv = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Payable && f.Currency == "CNY").Select(x => SqlFunc.AggregateSumNoNull(x.InvoiceAmount.Value)), f.FeeType == FeeType.Payable && f.Currency == "CNY").Select(f => SqlFunc.AggregateSumNoNull(f.InvoiceAmount.Value)),
UnpaidUSDInv = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && UnpaidUSDInv = SqlFunc.Subqueryable<FeeRecord>().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed &&
f.FeeType == FeeType.Payable && f.Currency == "USD").Select(x => SqlFunc.AggregateSumNoNull(x.InvoiceAmount.Value)) f.FeeType == FeeType.Payable && f.Currency == "USD").Select(f => SqlFunc.AggregateSumNoNull(f.InvoiceAmount.Value))
}); });
//海运进口 //海运进口
@ -173,18 +169,35 @@ namespace DS.WMS.Core.Fee.Method
return DataResult.Failed("只能修改状态为:未提交/审核驳回的申请单"); return DataResult.Failed("只能修改状态为:未提交/审核驳回的申请单");
} }
//关联用户名称
var userIds = new long?[] { application.SettlerId, application.PaymentApplicantId };
var users = await db.Queryable<SysUser>().Where(x => userIds.Contains(x.Id)).Select(x => new { x.Id, x.UserName }).ToListAsync();
application.SettlerName = application.SettlerId.HasValue ? users.Find(x => x.Id == application.SettlerId.Value)?.UserName : string.Empty;
application.PaymentApplicantName = application.PaymentApplicantId.HasValue ? users.Find(x => x.Id == application.PaymentApplicantId.Value)?.UserName : string.Empty;
await tenantDb.Ado.BeginTranAsync();
try try
{ {
await tenantDb.Ado.BeginTranAsync(); //关联导航属性插入
if (application.Id == 0)
{
await tenantDb.InsertNav(application).Include(x => x.Details).ExecuteCommandAsync();
}
//关联导航属性更新
else
{
await tenantDb.UpdateNav(application).Include(x => x.Details).ExecuteCommandAsync();
}
await tenantDb.Ado.CommitTranAsync();
return DataResult.Success;
} }
catch (Exception ex) catch (Exception ex)
{ {
await tenantDb.Ado.RollbackTranAsync();
await ex.LogAsync(db);
return DataResult.Failed("发生错误,提交失败");
} }
throw new NotImplementedException();
} }
/// <summary> /// <summary>
@ -199,14 +212,48 @@ namespace DS.WMS.Core.Fee.Method
if (await tenantDb.Queryable<FeeApplication>().AnyAsync(x => ids.Contains(x.Id) && (x.Status != ApplicationStatus.Pending && x.Status != ApplicationStatus.AuditRejected))) if (await tenantDb.Queryable<FeeApplication>().AnyAsync(x => ids.Contains(x.Id) && (x.Status != ApplicationStatus.Pending && x.Status != ApplicationStatus.AuditRejected)))
return DataResult.Failed("只能删除状态为‘待审核’或‘驳回’的申请单", MultiLanguageConst.FeeRecordDelete); return DataResult.Failed("只能删除状态为‘待审核’或‘驳回’的申请单", MultiLanguageConst.FeeRecordDelete);
int result = await tenantDb.Deleteable<FeeApplication>(x => ids.Contains(x.Id)).ExecuteCommandAsync(); bool result = await tenantDb.DeleteNav<FeeApplication>(x => ids.Contains(x.Id)).Include(x => x.Details).ExecuteCommandAsync();
return result > 0 ? DataResult.Successed("删除成功!") : DataResult.Failed("删除失败!"); return result ? DataResult.Successed("删除成功!") : DataResult.Failed("删除失败!");
} }
/// <summary>
/// 提交审批
/// </summary>
/// <param name="remark">审批备注</param>
/// <param name="idArray">申请单ID</param>
/// <returns></returns>
public async Task<DataResult> SubmitForApprovalAsync(string remark, params long[] idArray) public async Task<DataResult> SubmitForApprovalAsync(string remark, params long[] idArray)
{ {
throw new NotImplementedException(); var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var list = await tenantDb.Queryable<FeeApplication>().Where(x => idArray.Contains(x.Id))
.Select(x => new
{
x.Id,
x.Status,
ItemCount = x.Details.Count()
}).ToListAsync();
if (list.Exists(x => x.Status == ApplicationStatus.AuditSubmittd || x.Status == ApplicationStatus.AuditPassed))
return DataResult.Failed("提交内容包含正在审批中/已审批的申请单", MultiLanguageConst.Operation_Failed);
if (list.Exists(x => x.ItemCount == 0))
return DataResult.Failed("提交审批时必须包含费用明细,请检查", MultiLanguageConst.Operation_Failed);
await tenantDb.Ado.BeginTranAsync();
try
{
var list2 = list.Select(x => new FeeApplication { Id = x.Id, Status = ApplicationStatus.AuditSubmittd }).ToList();
await tenantDb.Updateable(list2).ExecuteCommandAsync();
await tenantDb.Ado.CommitTranAsync();
return DataResult.Success;
}
catch (Exception ex)
{
await tenantDb.Ado.RollbackTranAsync();
await ex.LogAsync(db);
return DataResult.Failed("发生错误,提交失败");
}
} }
public async Task<DataResult> WithdrawAsync(params long[] ids) public async Task<DataResult> WithdrawAsync(params long[] ids)

@ -30,7 +30,7 @@ namespace DS.WMS.Core.Fee.Method
/// <summary> /// <summary>
/// 一键审核支持的类型 /// 一键审核支持的类型
/// </summary> /// </summary>
public static readonly string[] AuditTypes = [FeeAuditType.ApplyAudit.ToString(), FeeAuditType.ApplyModification.ToString(), FeeAuditType.ApplyDeletion.ToString()]; public static readonly string[] AuditTypes = [AuditType.FeeAudit.ToString(), AuditType.FeeModify.ToString(), AuditType.FeeDelete.ToString()];
/// <summary> /// <summary>
/// 工作流运行状态值 /// 工作流运行状态值
@ -108,7 +108,7 @@ namespace DS.WMS.Core.Fee.Method
/// <returns></returns> /// <returns></returns>
public async Task<DataResult<List<FeeAuditBusiness>>> GetBizListAsync(PageRequest request) public async Task<DataResult<List<FeeAuditBusiness>>> GetBizListAsync(PageRequest request)
{ {
string auditType = FeeAuditType.Business.ToString(); string auditType = AuditType.FeeBusiness.ToString();
var flowList = await db.Queryable<FlowInstance>().Where(x => x.FlowStatus == RunningStatus var flowList = await db.Queryable<FlowInstance>().Where(x => x.FlowStatus == RunningStatus
&& SqlFunc.SplitIn(x.MakerList, user.UserId) && x.AuditType == auditType) && SqlFunc.SplitIn(x.MakerList, user.UserId) && x.AuditType == auditType)
.Select(x => new FlowInstance { BusinessId = x.BusinessId, BusinessType = x.BusinessType }).ToListAsync(); .Select(x => new FlowInstance { BusinessId = x.BusinessId, BusinessType = x.BusinessType }).ToListAsync();
@ -429,7 +429,7 @@ namespace DS.WMS.Core.Fee.Method
return DataResult.Failed("业务的审批状态不正确"); return DataResult.Failed("业务的审批状态不正确");
var fIdArr = bizList.Select(x => x.FlowId).ToArray(); var fIdArr = bizList.Select(x => x.FlowId).ToArray();
string auditType = FeeAuditType.Business.ToString(); string auditType = AuditType.FeeBusiness.ToString();
var flows = await db.Queryable<FlowInstance>().Where(x => fIdArr.Contains(x.Id) && x.AuditType == auditType).ToListAsync(); var flows = await db.Queryable<FlowInstance>().Where(x => fIdArr.Contains(x.Id) && x.AuditType == auditType).ToListAsync();
if (flows.Count == 0) if (flows.Count == 0)
@ -481,11 +481,11 @@ namespace DS.WMS.Core.Fee.Method
/// <returns></returns> /// <returns></returns>
public async Task<DataResult> UpdateStatusAsync(FlowCallback callback) public async Task<DataResult> UpdateStatusAsync(FlowCallback callback)
{ {
var auditType = callback.AuditType.ToEnum<FeeAuditType>(); var auditType = callback.AuditType.ToEnum<AuditType>();
var tenantDb = saasService.GetBizDbScopeById(user.TenantId); var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
FeeRecord fee = null; FeeRecord fee = null;
BusinessFeeStatus biz = null; BusinessFeeStatus biz = null;
if (auditType == FeeAuditType.Business) if (auditType == AuditType.FeeBusiness)
{ {
biz = await tenantDb.Queryable<BusinessFeeStatus>().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType) biz = await tenantDb.Queryable<BusinessFeeStatus>().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType)
.Select(x => new BusinessFeeStatus .Select(x => new BusinessFeeStatus
@ -514,7 +514,7 @@ namespace DS.WMS.Core.Fee.Method
{ {
switch (auditType) switch (auditType)
{ {
case FeeAuditType.ApplyAudit: case AuditType.FeeAudit:
fee.AuditBy = userId; fee.AuditBy = userId;
fee.AuditOperator = user.UserName; fee.AuditOperator = user.UserName;
fee.AuditDate = dtNow; fee.AuditDate = dtNow;
@ -538,7 +538,7 @@ namespace DS.WMS.Core.Fee.Method
}).ExecuteCommandAsync(); }).ExecuteCommandAsync();
break; break;
case FeeAuditType.ApplyModification: case AuditType.FeeModify:
//申请修改审核成功需要回填费用信息 //申请修改审核成功需要回填费用信息
if (callback.FlowStatus == FlowStatusEnum.Approve) if (callback.FlowStatus == FlowStatusEnum.Approve)
{ {
@ -580,7 +580,7 @@ namespace DS.WMS.Core.Fee.Method
break; break;
case FeeAuditType.ApplyDeletion: case AuditType.FeeDelete:
if (callback.FlowStatus == FlowStatusEnum.Approve) if (callback.FlowStatus == FlowStatusEnum.Approve)
{ {
fee.Deleted = true; fee.Deleted = true;
@ -611,7 +611,7 @@ namespace DS.WMS.Core.Fee.Method
} }
break; break;
case FeeAuditType.Business: case AuditType.FeeBusiness:
FeeStatus status = FeeStatus.RejectSubmission; FeeStatus status = FeeStatus.RejectSubmission;
if (callback.FlowStatus == FlowStatusEnum.Approve) if (callback.FlowStatus == FlowStatusEnum.Approve)
{ {

@ -303,7 +303,7 @@ namespace DS.WMS.Core.Fee.Method
/// <param name="remark">备注</param> /// <param name="remark">备注</param>
/// <param name="idArray">费用记录ID</param> /// <param name="idArray">费用记录ID</param>
/// <returns></returns> /// <returns></returns>
public async Task<DataResult> SubmitForApprovalAsync(FeeAuditType auditType, string remark, params long[] idArray) public async Task<DataResult> SubmitForApprovalAsync(AuditType auditType, string remark, params long[] idArray)
{ {
var tenantDb = saasService.GetBizDbScopeById(user.TenantId); var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var fees = await tenantDb.Queryable<FeeRecord>().Where(x => idArray.Contains(x.Id)).Select( var fees = await tenantDb.Queryable<FeeRecord>().Where(x => idArray.Contains(x.Id)).Select(
@ -325,20 +325,20 @@ namespace DS.WMS.Core.Fee.Method
return DataResult.Failed("当前业务已费用锁定,禁止提交", MultiLanguageConst.Operation_Failed); return DataResult.Failed("当前业务已费用锁定,禁止提交", MultiLanguageConst.Operation_Failed);
if (fees.Any(x => x.FlowId.HasValue)) if (fees.Any(x => x.FlowId.HasValue))
return DataResult.Failed($"当前费用包含正在审批中的费用,无法提交", MultiLanguageConst.Operation_Failed); return DataResult.Failed("当前费用包含正在审批中的费用,无法提交", MultiLanguageConst.Operation_Failed);
if (fees.Any(x => x.FeeStatus == FeeStatus.PartialSettlement || x.FeeStatus == FeeStatus.SettlementCompleted)) if (fees.Any(x => x.FeeStatus == FeeStatus.PartialSettlement || x.FeeStatus == FeeStatus.SettlementCompleted))
return DataResult.Failed($"当前审批费用包含已结算/部分结算的费用,无法提交", MultiLanguageConst.Operation_Failed); return DataResult.Failed("当前审批费用包含已结算/部分结算的费用,无法提交", MultiLanguageConst.Operation_Failed);
DataResult result = DataResult.Failed(string.Empty, MultiLanguageConst.Operation_Failed); DataResult result = DataResult.Failed(string.Empty, MultiLanguageConst.Operation_Failed);
await tenantDb.Ado.BeginTranAsync(); await tenantDb.Ado.BeginTranAsync();
try try
{ {
if (auditType == FeeAuditType.ApplyAudit) if (auditType == AuditType.FeeAudit)
{ {
result = ApplyAudit(tenantDb, fees); result = ApplyAudit(tenantDb, fees);
} }
else if (auditType == FeeAuditType.ApplyDeletion) else if (auditType == AuditType.FeeDelete)
{ {
result = ApplyDelete(tenantDb, fees, remark); result = ApplyDelete(tenantDb, fees, remark);
} }
@ -383,7 +383,7 @@ namespace DS.WMS.Core.Fee.Method
if (sb.Length > 0) if (sb.Length > 0)
return DataResult.Failed(sb.ToString(), MultiLanguageConst.Operation_Failed); return DataResult.Failed(sb.ToString(), MultiLanguageConst.Operation_Failed);
var template = FindTemplate(FeeAuditType.ApplyAudit.ToString()); var template = FindTemplate(AuditType.FeeAudit.ToString());
if (template == null) if (template == null)
return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed); return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed);
@ -427,7 +427,7 @@ namespace DS.WMS.Core.Fee.Method
if (sb.Length > 0) if (sb.Length > 0)
return DataResult.Failed(sb.ToString(), MultiLanguageConst.Operation_Failed); return DataResult.Failed(sb.ToString(), MultiLanguageConst.Operation_Failed);
var template = FindTemplate(FeeAuditType.ApplyDeletion.ToString()); var template = FindTemplate(AuditType.FeeDelete.ToString());
if (template == null) if (template == null)
return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed); return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed);
@ -487,7 +487,7 @@ namespace DS.WMS.Core.Fee.Method
if (sb.Length > 0) if (sb.Length > 0)
return DataResult.Failed(sb.ToString(), MultiLanguageConst.Operation_Failed); return DataResult.Failed(sb.ToString(), MultiLanguageConst.Operation_Failed);
var template = FindTemplate(FeeAuditType.ApplyModification.ToString()); var template = FindTemplate(AuditType.FeeModify.ToString());
if (template == null) if (template == null)
return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed); return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed);
@ -636,7 +636,7 @@ namespace DS.WMS.Core.Fee.Method
if (entity.BillAuditStatus == BillAuditStatus.AuditPassed) if (entity.BillAuditStatus == BillAuditStatus.AuditPassed)
return DataResult.Failed($"当前业务的费用状态为:{entity.BillAuditStatus.GetDescription()},无法提交", MultiLanguageConst.Operation_Failed); return DataResult.Failed($"当前业务的费用状态为:{entity.BillAuditStatus.GetDescription()},无法提交", MultiLanguageConst.Operation_Failed);
var template = FindTemplate(FeeAuditType.Business.ToString()); var template = FindTemplate(AuditType.FeeBusiness.ToString());
if (template == null) if (template == null)
return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed); return DataResult.Failed("未能找到审批模板", MultiLanguageConst.Operation_Failed);

@ -61,6 +61,7 @@ namespace DS.WMS.FeeApi.Controllers
/// </summary> /// </summary>
/// <param name="model">申请单ID</param> /// <param name="model">申请单ID</param>
/// <returns></returns> /// <returns></returns>
[HttpPost, Route("Delete")]
public async Task<DataResult> DeleteAsync(IdModel model) public async Task<DataResult> DeleteAsync(IdModel model)
{ {
if (model.Id == null || model.Ids.Length == 0) if (model.Id == null || model.Ids.Length == 0)
@ -74,6 +75,7 @@ namespace DS.WMS.FeeApi.Controllers
/// </summary> /// </summary>
/// <param name="model">申请单ID</param> /// <param name="model">申请单ID</param>
/// <returns></returns> /// <returns></returns>
[NonAction]
public async Task<DataResult> WithdrawAsync(IdModel model) public async Task<DataResult> WithdrawAsync(IdModel model)
{ {
if (model.Id == null || model.Ids.Length == 0) if (model.Id == null || model.Ids.Length == 0)

@ -117,7 +117,7 @@ namespace DS.WMS.FeeApi.Controllers
if (model == null || model.Ids?.Length == 0) if (model == null || model.Ids?.Length == 0)
return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest); return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
return await _feeService.SubmitForApprovalAsync(FeeAuditType.ApplyAudit, model.Remark, model.Ids); return await _feeService.SubmitForApprovalAsync(AuditType.FeeAudit, model.Remark, model.Ids);
} }
/// <summary> /// <summary>
@ -131,7 +131,7 @@ namespace DS.WMS.FeeApi.Controllers
if (model == null || model.Ids?.Length == 0) if (model == null || model.Ids?.Length == 0)
return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest); return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
return await _feeService.SubmitForApprovalAsync(FeeAuditType.ApplyDeletion, model.Remark, model.Ids); return await _feeService.SubmitForApprovalAsync(AuditType.FeeDelete, model.Remark, model.Ids);
} }
/// <summary> /// <summary>

@ -1097,3 +1097,38 @@
2024-06-06 11:37:02.2441 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-06 11:37:02.2441 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-06 11:37:02.2441 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile 2024-06-06 11:37:02.2441 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-06 11:37:02.2441 Info Configuration initialized. 2024-06-06 11:37:02.2441 Info Configuration initialized.
2024-06-11 09:46:13.7994 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-11 09:46:13.8171 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-11 09:46:13.8171 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-11 09:46:13.8403 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-11 09:46:13.8452 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-11 09:46:13.8452 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-11 09:46:13.8452 Info Configuration initialized.
2024-06-11 09:47:23.9434 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-11 09:47:23.9736 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-11 09:47:23.9736 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-11 09:47:23.9868 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-11 09:47:23.9868 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-11 09:47:23.9868 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-11 09:47:24.0012 Info Configuration initialized.
2024-06-11 09:50:24.2937 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-11 09:50:24.3320 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-11 09:50:24.3320 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-11 09:50:24.3320 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-11 09:50:24.3550 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-11 09:50:24.3582 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-11 09:50:24.3582 Info Configuration initialized.
2024-06-11 09:55:06.0139 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-11 09:55:06.0415 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-11 09:55:06.0415 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-11 09:55:06.0532 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-11 09:55:06.0532 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-11 09:55:06.0606 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-11 09:55:06.0606 Info Configuration initialized.
2024-06-11 10:02:13.5123 Info Registered target NLog.Targets.FileTarget(Name=allfile)
2024-06-11 10:02:13.5433 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
2024-06-11 10:02:13.5433 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
2024-06-11 10:02:13.5561 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-11 10:02:13.5619 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-11 10:02:13.5619 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-06-11 10:02:13.5619 Info Configuration initialized.

@ -122,7 +122,7 @@ public class ClientFlowInstanceController : ApiController
/// <param name="type">流程类型</param> /// <param name="type">流程类型</param>
/// <returns></returns> /// <returns></returns>
[HttpGet, Route("GetFlowContent")] [HttpGet, Route("GetFlowContent")]
public DataResult<string> GetFlowContent([FromQuery] long businessId, [FromQuery] BusinessType businessType, [FromQuery] FeeAuditType type) public DataResult<string> GetFlowContent([FromQuery] long businessId, [FromQuery] BusinessType businessType, [FromQuery] AuditType type)
{ {
var res = _invokeService.GetFlowInstance(businessId, businessType, type.ToString()); var res = _invokeService.GetFlowInstance(businessId, businessType, type.ToString());
string? content = res.Data?.Content; string? content = res.Data?.Content;

Loading…
Cancel
Save