diff --git a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
index ee26a220..942ce322 100644
--- a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
+++ b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
@@ -629,11 +629,12 @@ public static class MultiLanguageConst
public const string AuditUnauthorization = "Audit_Unauthorized";
[Description("当前暂无待审批的项")]
public const string NoAuditItems = "No_Audit_Items";
-
[Description("所选项正在进行审批")]
public const string ItemsAreAuditing = "Items_Are_Auditing";
[Description("没有找到费用名称")]
public const string NoFeeName = "NoFeeName";
+ [Description("无法执行操作,当前订单的整票费用审核状态为:{0}")]
+ public const string BillFeeStatusError = "BillRecvStatusError";
#endregion
#region 申请相关
diff --git a/ds-wms-service/DS.Module.Core/Enums/FeeStatus.cs b/ds-wms-service/DS.Module.Core/Enums/FeeStatus.cs
index e3c42d33..1b6f1151 100644
--- a/ds-wms-service/DS.Module.Core/Enums/FeeStatus.cs
+++ b/ds-wms-service/DS.Module.Core/Enums/FeeStatus.cs
@@ -166,7 +166,7 @@ namespace DS.Module.Core
///
/// 待提交
///
- [Description("待提交")]
+ [Description("应收待提交")]
Pending = 0,
///
diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeAuditService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeAuditService.cs
index 09827b8d..1ad71fbd 100644
--- a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeAuditService.cs
+++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeAuditService.cs
@@ -727,7 +727,6 @@ namespace DS.WMS.Core.Fee.Method
if (await taskService.HasAuthorizedAsync())
{
result = await taskService.AuditAsync(request);
-
if (!result.Succeeded)
return result;
}
@@ -751,28 +750,6 @@ namespace DS.WMS.Core.Fee.Method
}
}
- //long userId = long.Parse(User.UserId);
- //entity.BillFeeStatusTime = DateTime.Now;
- ////变更状态为提交审核
- //if (request.TaskType == TaskBaseTypeEnum.BILL_RECV_AUDIT)
- // entity.BillAuditStatus = BillAuditStatus.RecvPassed;
- //else if (request.TaskType == TaskBaseTypeEnum.BILL_PAY_AUDIT)
- // entity.BillAuditStatus = BillAuditStatus.PayPassed;
-
- //await TenantDb.Updateable(entity).UpdateColumns(x => new
- //{
- // x.BillAuditStatus,
- // x.BillFeeStatusTime
- //}).ExecuteCommandAsync();
-
- ////修改关联费用状态为审核完成
- //await TenantDb.Updateable().Where(x => x.BusinessId == entity.BusinessId && x.BusinessType == entity.BusinessType && x.FeeStatus == FeeStatus.AuditSubmitted)
- //.SetColumns(x => x.FeeStatus == FeeStatus.AuditPassed)
- //.SetColumns(x => x.AuditBy == userId)
- //.SetColumns(x => x.AuditOperator == User.UserName)
- //.SetColumns(x => x.AuditDate == entity.BillFeeStatusTime)
- //.ExecuteCommandAsync();
-
await TenantDb.Ado.CommitTranAsync();
return result;
}
@@ -807,25 +784,7 @@ namespace DS.WMS.Core.Fee.Method
public async Task UpdateStatusAsync(FlowCallback callback)
{
var auditType = callback.AuditType;
- FeeRecord? fee = null;
- BusinessFeeStatus? biz = null;
- if (auditType == TaskBaseTypeEnum.BILL_RECV_AUDIT || auditType == TaskBaseTypeEnum.BILL_PAY_AUDIT)
- {
- biz = await TenantDb.Queryable().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType)
- .Select(x => new BusinessFeeStatus
- {
- Id = x.Id,
- BillAuditStatus = x.BillAuditStatus,
- BillFeeStatusTime = x.BillFeeStatusTime,
- ARFeeStatus = x.ARFeeStatus,
- APFeeStatus = x.APFeeStatus
- }).FirstAsync();
- if (biz == null)
- return DataResult.Failed(MultiLanguageConst.EmptyData);
- }
- else
- {
- fee = await TenantDb.Queryable().Where(x => x.Id == callback.BusinessId).Select(
+ FeeRecord? fee = await TenantDb.Queryable().Where(x => x.Id == callback.BusinessId).Select(
x => new FeeRecord
{
Id = x.Id,
@@ -833,12 +792,10 @@ namespace DS.WMS.Core.Fee.Method
BusinessId = x.BusinessId,
BusinessType = x.BusinessType
}).FirstAsync();
- if (fee == null)
- return DataResult.Failed(MultiLanguageConst.EmptyData);
-
- fee.Reason = callback.RejectReason;
- }
+ if (fee == null)
+ return DataResult.Failed(MultiLanguageConst.EmptyData);
+ fee.Reason = callback.RejectReason;
long userId = long.Parse(User.UserId);
DateTime dtNow = DateTime.Now;
await TenantDb.Ado.BeginTranAsync();
@@ -940,78 +897,8 @@ namespace DS.WMS.Core.Fee.Method
break;
}
- if (auditType == TaskBaseTypeEnum.BILL_RECV_AUDIT)
- {
- FeeStatus status = FeeStatus.RejectSubmission;
- if (callback.FlowStatus == FlowStatusEnum.Approve)
- {
- biz.BillAuditStatus = BillAuditStatus.RecvPassed;
- biz.ARFeeStatus = BillFeeStatus.AuditPassed;
- status = FeeStatus.AuditPassed;
- }
- else if (callback.FlowStatus == FlowStatusEnum.Reject)
- {
- biz.BillAuditStatus = BillAuditStatus.RecvRejected;
- biz.ARFeeStatus = BillFeeStatus.RejectSubmission;
- }
-
- biz.BillFeeStatusTime = dtNow;
- await TenantDb.Updateable(biz).UpdateColumns(x => new
- {
- x.BillAuditStatus,
- x.BillFeeStatusTime,
- x.ARFeeStatus
- }).ExecuteCommandAsync();
-
- await TenantDb.Updateable()
- .SetColumns(x => x.FeeStatus == status)
- .SetColumns(x => x.AuditBy == userId)
- .SetColumns(x => x.AuditOperator == User.UserName)
- .SetColumns(x => x.AuditDate == dtNow)
- .Where(x => x.BusinessId == biz.BusinessId && x.BusinessType == biz.BusinessType && x.FeeStatus == FeeStatus.AuditSubmitted)
- .ExecuteCommandAsync();
- }
- else if (auditType == TaskBaseTypeEnum.BILL_PAY_AUDIT)
- {
- FeeStatus status = FeeStatus.RejectSubmission;
- if (callback.FlowStatus == FlowStatusEnum.Approve)
- {
- biz.BillAuditStatus = BillAuditStatus.PayPassed;
- biz.APFeeStatus = BillFeeStatus.AuditPassed;
- status = FeeStatus.AuditPassed;
- }
- else if (callback.FlowStatus == FlowStatusEnum.Reject)
- {
- biz.BillAuditStatus = BillAuditStatus.PayRejected;
- biz.APFeeStatus = BillFeeStatus.RejectSubmission;
- }
-
- biz.BillFeeStatusTime = dtNow;
- await TenantDb.Updateable(biz).UpdateColumns(x => new
- {
- x.BillAuditStatus,
- x.BillFeeStatusTime,
- x.APFeeStatus
- }).ExecuteCommandAsync();
-
- await TenantDb.Updateable()
- .SetColumns(x => x.FeeStatus == status)
- .SetColumns(x => x.AuditBy == userId)
- .SetColumns(x => x.AuditOperator == User.UserName)
- .SetColumns(x => x.AuditDate == dtNow)
- .Where(x => x.BusinessId == biz.BusinessId && x.BusinessType == biz.BusinessType && x.FeeStatus == FeeStatus.AuditSubmitted)
- .ExecuteCommandAsync();
- }
-
+ await feeService.WriteBackStatusAsync(fee.BusinessId, fee.BusinessType);
await TenantDb.Ado.CommitTranAsync();
-
- if (auditType != TaskBaseTypeEnum.BILL_RECV_AUDIT && auditType != TaskBaseTypeEnum.BILL_PAY_AUDIT)
- {
- await feeService.WriteBackStatusAsync(
- biz != null ? biz.BusinessId : fee.BusinessId,
- biz != null ? biz.BusinessType : fee.BusinessType);
- }
-
return DataResult.Success;
}
catch (Exception ex)
diff --git a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs
index 785dbce9..fd34e74f 100644
--- a/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs
+++ b/ds-wms-service/DS.WMS.Core/Fee/Method/FeeRecordService.cs
@@ -895,12 +895,14 @@ namespace DS.WMS.Core.Fee.Method
if (taskType == TaskBaseTypeEnum.BILL_RECV_AUDIT)
{
if (entity.BillAuditStatus != BillAuditStatus.Pending && entity.BillAuditStatus != BillAuditStatus.RecvRejected)
- return DataResult.Failed(string.Format(MultiLanguageConst.BusinessStatusError, entity.BillAuditStatus.GetDescription()));
+ return DataResult.Failed(string.Format(
+ MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.BillFeeStatusError)), entity.BillAuditStatus.GetDescription()));
}
else if (taskType == TaskBaseTypeEnum.BILL_PAY_AUDIT)
{
if (entity.BillAuditStatus != BillAuditStatus.RecvPassed && entity.BillAuditStatus != BillAuditStatus.PayRejected)
- return DataResult.Failed(string.Format(MultiLanguageConst.BusinessStatusError, entity.BillAuditStatus.GetDescription()));
+ return DataResult.Failed(string.Format(
+ MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.BillFeeStatusError)), entity.BillAuditStatus.GetDescription()));
}
else
{
diff --git a/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeBillTaskService.cs b/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeBillTaskService.cs
index 8453a18a..5c1537ed 100644
--- a/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeBillTaskService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeBillTaskService.cs
@@ -1,4 +1,7 @@
using DS.Module.Core;
+using DS.WMS.Core.Fee.Entity;
+using DS.WMS.Core.Flow.Dtos;
+using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.TaskInteraction.Dtos;
using DS.WMS.Core.TaskInteraction.Interface;
@@ -17,9 +20,117 @@ namespace DS.WMS.Core.TaskInteraction.Method
{
}
+ ///
+ /// 批量创建
+ ///
+ ///
+ ///
+ ///
public override Task CreateMultipleTaskAsync(TaskCreationRequest request, bool useTransaction = true)
{
return Task.FromResult(DataResult.Failed("不支持批量提交整票审核任务"));
}
+
+ ///
+ /// 回调更新
+ ///
+ ///
+ ///
+ public override async Task UpdateBusinessAsync(FlowCallback callback)
+ {
+ var auditType = callback.AuditType;
+ if (auditType != TaskBaseTypeEnum.BILL_RECV_AUDIT && auditType != TaskBaseTypeEnum.BILL_PAY_AUDIT)
+ return;
+
+ var biz = await TenantDb.Queryable().Where(x => x.Id == callback.BusinessId && x.BusinessType == callback.BusinessType)
+ .Select(x => new BusinessFeeStatus
+ {
+ Id = x.Id,
+ BillAuditStatus = x.BillAuditStatus,
+ BillFeeStatusTime = x.BillFeeStatusTime,
+ ARFeeStatus = x.ARFeeStatus,
+ APFeeStatus = x.APFeeStatus
+ }).FirstAsync();
+ if (biz == null)
+ return;
+
+ long userId = long.Parse(User.UserId);
+ DateTime dtNow = DateTime.Now;
+ await TenantDb.Ado.BeginTranAsync();
+ try
+ {
+ if (auditType == TaskBaseTypeEnum.BILL_RECV_AUDIT)
+ {
+ FeeStatus status = FeeStatus.RejectSubmission;
+ if (callback.FlowStatus == FlowStatusEnum.Approve)
+ {
+ biz.BillAuditStatus = BillAuditStatus.RecvPassed;
+ biz.ARFeeStatus = BillFeeStatus.AuditPassed;
+ status = FeeStatus.AuditPassed;
+ }
+ else if (callback.FlowStatus == FlowStatusEnum.Reject)
+ {
+ biz.BillAuditStatus = BillAuditStatus.RecvRejected;
+ biz.ARFeeStatus = BillFeeStatus.RejectSubmission;
+ }
+
+ biz.BillFeeStatusTime = dtNow;
+ await TenantDb.Updateable(biz).UpdateColumns(x => new
+ {
+ x.BillAuditStatus,
+ x.BillFeeStatusTime,
+ x.ARFeeStatus
+ }).ExecuteCommandAsync();
+
+ await TenantDb.Updateable()
+ .SetColumns(x => x.FeeStatus == status)
+ .SetColumns(x => x.AuditBy == userId)
+ .SetColumns(x => x.AuditOperator == User.UserName)
+ .SetColumns(x => x.AuditDate == dtNow)
+ .Where(x => x.BusinessId == biz.BusinessId && x.BusinessType == biz.BusinessType && x.FeeStatus == FeeStatus.AuditSubmitted)
+ .ExecuteCommandAsync();
+ }
+ else if (auditType == TaskBaseTypeEnum.BILL_PAY_AUDIT)
+ {
+ FeeStatus status = FeeStatus.RejectSubmission;
+ if (callback.FlowStatus == FlowStatusEnum.Approve)
+ {
+ biz.BillAuditStatus = BillAuditStatus.PayPassed;
+ biz.APFeeStatus = BillFeeStatus.AuditPassed;
+ status = FeeStatus.AuditPassed;
+ }
+ else if (callback.FlowStatus == FlowStatusEnum.Reject)
+ {
+ biz.BillAuditStatus = BillAuditStatus.PayRejected;
+ biz.APFeeStatus = BillFeeStatus.RejectSubmission;
+ }
+
+ biz.BillFeeStatusTime = dtNow;
+ await TenantDb.Updateable(biz).UpdateColumns(x => new
+ {
+ x.BillAuditStatus,
+ x.BillFeeStatusTime,
+ x.APFeeStatus
+ }).ExecuteCommandAsync();
+
+ await TenantDb.Updateable()
+ .SetColumns(x => x.FeeStatus == status)
+ .SetColumns(x => x.AuditBy == userId)
+ .SetColumns(x => x.AuditOperator == User.UserName)
+ .SetColumns(x => x.AuditDate == dtNow)
+ .Where(x => x.BusinessId == biz.BusinessId && x.BusinessType == biz.BusinessType && x.FeeStatus == FeeStatus.AuditSubmitted)
+ .ExecuteCommandAsync();
+ }
+
+ await base.UpdateBusinessAsync(callback);
+ await TenantDb.Ado.CommitTranAsync();
+ }
+ catch (Exception ex)
+ {
+ await TenantDb.Ado.RollbackTranAsync();
+ await ex.LogAsync(Db);
+ throw;
+ }
+ }
}
}
diff --git a/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeTaskService.cs b/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeTaskService.cs
index c803d107..93f19d14 100644
--- a/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeTaskService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/FeeTaskService.cs
@@ -8,6 +8,7 @@ using DS.WMS.Core.TaskInteraction.Dtos;
using DS.WMS.Core.TaskInteraction.Entity;
using DS.WMS.Core.TaskInteraction.Interface;
using DS.WMS.Core.TaskPlat.Dtos;
+using Mapster;
using Masuit.Tools;
using Masuit.Tools.Systems;
@@ -52,13 +53,7 @@ namespace DS.WMS.Core.TaskInteraction.Method
bool updateFlag = false;
var task = await GetQuery(request.BusinessId, request.BusinessType, request.TaskType).FirstAsync();
if (task != null && AuditTaskTypes.Contains(request.TaskType) && (task.TaskStatus == TaskStatusEnum.Pending || task.TaskStatus == TaskStatusEnum.Cancel))
- {
updateFlag = true;
- }
- else
- {
- return DataResult.FailedWithDesc(nameof(MultiLanguageConst.TaskExists));
- }
long userId = long.Parse(User.UserId);
DateTime dtNow = DateTime.Now;
@@ -129,57 +124,54 @@ namespace DS.WMS.Core.TaskInteraction.Method
await LogService.WriteLogAsync(task);
}
- //审核任务需创建工作流
- if (AuditTaskTypes.Contains(request.TaskType))
+ result = await CreateAndStartWorkflow(task, false);
+ if (!result.Succeeded)
+ return result;
+
+ if (updateFlag)
{
- result = await CreateAndStartWorkflow(task, false);
+ result = await SetTaskStatusAsync(new TaskUpdateRequest
+ {
+ BusinessId = request.BusinessId,
+ BusinessType = request.BusinessType,
+ TaskTypeName = request.TaskTypeName,
+ TaskStatus = TaskStatusEnum.Create
+ }, false);
+
if (!result.Succeeded)
return result;
+ }
+ else //费用审核需拆分任务
+ {
+ var instance = result.Data as FlowInstance;
+ var ids = FlowInstanceService.GetMarkers(instance).Select(long.Parse).ToArray();
+ var recvUserList = await FillInUserInfoAsync(ids);
- if (updateFlag)
- {
- result = await SetTaskStatusAsync(new TaskUpdateRequest
+ var fee = await TenantDb.Queryable().Where(x => x.Id == request.BusinessId)
+ .Select(x => new
{
- BusinessId = request.BusinessId,
- BusinessType = request.BusinessType,
- TaskTypeName = request.TaskTypeName,
- TaskStatus = TaskStatusEnum.Create
- }, false);
+ x.Id,
+ x.BusinessId,
+ x.BusinessType
+ }).FirstAsync();
+ foreach (var item in recvUserList)
+ {
+ var copiedInfo = info.DeepClone();
+ copiedInfo.Head.BSNO = fee.BusinessId; //替换为费用关联的订单ID
+ copiedInfo.Main.RecvUserInfoList.Clear();
+ copiedInfo.Main.RecvUserInfoList.Add(item);
+ copiedInfo.Main.ExtData = new { fee.BusinessType, FeeId = fee.Id };
+ result = await ManagerService.InitTaskJob(copiedInfo);
if (!result.Succeeded)
- return result;
- }
- else //费用审核需拆分任务
- {
- var instance = result.Data as FlowInstance;
- var ids = FlowInstanceService.GetMarkers(instance).Select(long.Parse).ToArray();
- var recvUserList = await FillInUserInfoAsync(ids);
-
- var fee = await TenantDb.Queryable().Where(x => x.Id == request.BusinessId)
- .Select(x => new
- {
- x.Id,
- x.BusinessId,
- x.BusinessType
- }).FirstAsync();
- foreach (var item in recvUserList)
{
- var copiedInfo = info.DeepClone();
- copiedInfo.Head.BSNO = fee.BusinessId; //替换为费用关联的订单ID
- copiedInfo.Main.RecvUserInfoList.Clear();
- copiedInfo.Main.RecvUserInfoList.Add(item);
- copiedInfo.Main.ExtData = new { fee.BusinessType, FeeId = fee.Id };
-
- result = await ManagerService.InitTaskJob(copiedInfo);
- if (!result.Succeeded)
- {
- await Db.Deleteable(instance).ExecuteCommandAsync();
- return result;
- }
+ await Db.Deleteable(instance).ExecuteCommandAsync();
+ return result;
}
}
}
+
if (useTransaction)
await TenantDb.Ado.CommitTranAsync();
@@ -450,7 +442,7 @@ namespace DS.WMS.Core.TaskInteraction.Method
}
//获取指定业务的所有关联费用类任务
- internal async Task> GetFeeTasks(BusinessType bsType, long[] bsIds, params long[] excludeFeeIds)
+ async Task> GetFeeTasks(BusinessType bsType, long[] bsIds, params long[] excludeFeeIds)
{
return await TenantDb.Queryable()
.InnerJoin((t, f) => t.BusinessId == f.Id)
diff --git a/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/TaskService.cs b/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/TaskService.cs
index 23f5aa62..327ccf3b 100644
--- a/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/TaskService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskInteraction/Method/TaskService.cs
@@ -1055,7 +1055,7 @@ namespace DS.WMS.Core.TaskInteraction.Method
public virtual async Task UpdateBusinessAsync(FlowCallback callback)
{
ArgumentNullException.ThrowIfNull(callback, nameof(callback));
- if (callback.AuditType == null || callback.BusinessType == null)
+ if (callback.AuditType == null)
return;
string remark = "终审完成,审批结果为:" + callback.FlowStatus.GetDescription();
@@ -1070,7 +1070,7 @@ namespace DS.WMS.Core.TaskInteraction.Method
RecvUserIdList = [task.CreateBy] //通知任务发起人
};
//创建驳回任务以进行通知
- await CreateTaskAsync(request);
+ await CreateTaskAsync(request, false);
//更新任务描述为驳回原因
await SetTaskBaseDescription(callback.BusinessId, request.TaskType, callback.RejectReason!);
diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeAuditController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeAuditController.cs
index 895c2db0..bff5b762 100644
--- a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeAuditController.cs
+++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeAuditController.cs
@@ -1,9 +1,11 @@
-using DS.Module.Core;
+using System.Net;
+using DS.Module.Core;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Fee.Interface;
using DS.WMS.Core.Flow.Dtos;
using DS.WMS.Core.TaskInteraction.Dtos;
+using DS.WMS.Core.TaskInteraction.Interface;
using Microsoft.AspNetCore.Mvc;
namespace DS.WMS.FeeApi.Controllers
@@ -152,7 +154,7 @@ namespace DS.WMS.FeeApi.Controllers
}
///
- /// 变更费用审批状态(用于工作流框架的回调)
+ /// 变更费用审核状态
///
/// 回调信息
///
@@ -164,5 +166,28 @@ namespace DS.WMS.FeeApi.Controllers
return await _auditService.UpdateStatusAsync(callback);
}
+
+ ///
+ /// 整票审核回调
+ ///
+ ///
+ /// 回调信息
+ ///
+ [HttpPost, Route("BillCallback")]
+ public async Task BillCallbackAsync([FromServices] IFeeBillTaskService service, [FromBody] FlowCallback callback)
+ {
+ if (callback == null)
+ return BadRequest("参数无效");
+
+ try
+ {
+ await service.UpdateBusinessAsync(callback);
+ return Ok();
+ }
+ catch (Exception ex)
+ {
+ return StatusCode((int)HttpStatusCode.InternalServerError, ex.Message);
+ }
+ }
}
}
diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeRecordController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeRecordController.cs
index ca1a28b8..2ec6c9e8 100644
--- a/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeRecordController.cs
+++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/FeeRecordController.cs
@@ -5,6 +5,7 @@ using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Fee.Interface;
using DS.WMS.Core.Fee.Method.ReportProviders;
using DS.WMS.Core.Op.Entity;
+using DS.WMS.Core.TaskInteraction.Dtos;
using Microsoft.AspNetCore.Mvc;
namespace DS.WMS.FeeApi.Controllers
@@ -226,29 +227,29 @@ namespace DS.WMS.FeeApi.Controllers
///
/// 发起整票审核
///
- /// 业务ID和类型
+ /// 业务ID和类型
///
[HttpPost, Route("ApplyBusinessAudit")]
- public async Task ApplyBillAuditAsync([FromBody] IdModel model)
+ public async Task ApplyBillAuditAsync([FromBody] TaskRequest request)
{
- if (!long.TryParse(model.Id, out long bid) || model.BusinessType == null)
- return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
+ if (!ModelState.IsValid)
+ return DataResult.Failed(ModelState.GetErrorMessage(), MultiLanguageConst.IllegalRequest);
- return await _feeService.SubmitBillAuditAsync(bid, (BusinessType)model.BusinessType.Value, model.Value);
+ return await _feeService.SubmitBillAuditAsync(request.BusinessId, request.BusinessType.GetValueOrDefault(), request.TaskType);
}
///
/// 撤销整票审核
///
- /// 业务ID和类型
+ /// 业务ID和类型
///
[HttpPost, Route("WithdrawBusiness")]
- public async Task WithdrawBillAsync([FromBody] IdModel model)
+ public async Task WithdrawBillAsync([FromBody] TaskRequest request)
{
- if (!long.TryParse(model.Id, out long bid) || model.BusinessType == null)
- return DataResult.Failed("参数无效", MultiLanguageConst.IllegalRequest);
+ if (!ModelState.IsValid)
+ return DataResult.Failed(ModelState.GetErrorMessage(), MultiLanguageConst.IllegalRequest);
- return await _feeService.WithdrawBillAsync(bid, (BusinessType)model.BusinessType.Value, model.Value);
+ return await _feeService.WithdrawBillAsync(request.BusinessId, request.BusinessType.GetValueOrDefault(), request.TaskType);
}
///