cjy 3 months ago
commit 0283f2df03

@ -34,8 +34,11 @@ namespace DS.Module.Core.Condition
else if (dataContext.ContainsKey(item.Field)) else if (dataContext.ContainsKey(item.Field))
{ {
var obj = dataContext.Get<object>(item.Field)!; var obj = dataContext.Get<object>(item.Field)!;
if (obj != null)
{
valStr = obj.ToString(); valStr = obj.ToString();
} }
}
else if (item.Field!.Contains('.')) else if (item.Field!.Contains('.'))
{ {
var firstKey = item.Field.Split('.').First(); var firstKey = item.Field.Split('.').First();

@ -1502,6 +1502,8 @@ public static class MultiLanguageConst
public const string TaskAuditStatusError = "Task_Audit_Status_Error"; public const string TaskAuditStatusError = "Task_Audit_Status_Error";
[Description("无法从配置中获取任务接收人,请检查是否设置了订单的操作/客服/单证等人员,或联系管理员检查配置")] [Description("无法从配置中获取任务接收人,请检查是否设置了订单的操作/客服/单证等人员,或联系管理员检查配置")]
public const string TaskReceiverNotFound = "Task_Receiver_Not_Found"; public const string TaskReceiverNotFound = "Task_Receiver_Not_Found";
[Description("未找到此票订单的订舱任务")]
public const string BookingTaskNotFound = "Booking_Task_NotFound";
[Description("任务邮件必须设置收件人")] [Description("任务邮件必须设置收件人")]
public const string TaskMailReceiverNotNull = "Task_Mail_Receiver_Not_Null"; public const string TaskMailReceiverNotNull = "Task_Mail_Receiver_Not_Null";

@ -102,6 +102,11 @@ namespace DS.Module.Core.Enums
/// </summary> /// </summary>
[Description("报废")] [Description("报废")]
= 7, = 7,
/// <summary>
/// 单程业务
/// </summary>
[Description("单程业务还箱")]
= 8,
} }

@ -9,183 +9,7 @@ namespace DS.WMS.ContainerManagement.Info.Dtos;
/// <summary> /// <summary>
/// 箱管_租箱租出 请求实体 /// 箱管_租箱租出 请求实体
/// </summary> /// </summary>
public class CM_RentOneWay_DetailReq public class CM_RentOneWay_DetailReq: CM_Rent_DetailBase
{ {
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 租箱业务id
/// </summary>
public long Pid { get; set; }
/// <summary>
/// Desc:租箱业务号
/// </summary>
public string Billno { get; set; }
/// <summary>
/// Desc:箱号
/// </summary>
public string Cntrno { get; set; }
/// <summary>
/// 箱型代码
/// </summary>
public string CtnCode { get; set; }
/// <summary>
/// Desc:箱型
/// </summary>
public string Ctnall { get; set; }
/// <summary>
/// Desc:原箱主Id
/// </summary>
public long OldContainerOwnerId { get; set; }
/// <summary>
/// Desc:原箱主
/// </summary>
public string OldContainerOwner { get; set; }
/// <summary>
/// Desc:租箱客户Id
/// </summary>
public long RentCustomerId { get; set; }
/// <summary>
/// Desc:租箱客户
/// </summary>
public string RentCustomerName { get; set; }
/// <summary>
/// Desc:租箱业务方向Id
/// </summary>
public CMRentDirectEnum? RentDirectId { get; set; }
/// <summary>
/// Desc:租箱业务方向
/// </summary>
public string? RentDirect => RentDirectId?.EnumDescription();
/// <summary>
/// Desc:租箱类型Id 长租1 短租0 单程2
/// </summary>
public CMRentTypeEnum? RentTypeId { get; set; }
/// <summary>
/// Desc:租箱业务方向
/// </summary>
public string? RentType => RentTypeId?.EnumDescription();
/// <summary>
/// Desc:业务状态
/// </summary>
public string BillState { get; set; }
/// <summary>
/// Desc:关联放箱单号
/// </summary>
public string CtnReleaseNo { get; set; }
/// <summary>
/// Desc:租入日期
/// </summary>
public DateTime? Bsdate { get; set; }
/// <summary>
/// Desc:开始计费日期
/// </summary>
public string FeeStartDate { get; set; }
/// <summary>
/// Desc:币别
/// </summary>
public string Currency { get; set; } = "USD";
/// <summary>
/// Desc:日租金
/// </summary>
public decimal? DailyRate { get; set; } = 0M;
/// <summary>
/// Desc:提箱费
/// </summary>
public decimal? PickupFee { get; set; } = 0M;
/// <summary>
/// Desc:提箱日期
/// </summary>
public DateTime? PickupDate { get; set; }
/// <summary>
/// Desc:还箱费
/// </summary>
public decimal? DropoffFee { get; set; } = 0M;
/// <summary>
/// Desc:还箱日期
/// </summary>
public DateTime? DropoffDate { get; set; }
/// <summary>
/// Desc:起租地点代码
/// </summary>
public string RentalPortid { get; set; }
/// <summary>
/// Desc:起租地点五字码
/// </summary>
public string RentalPortCode { get; set; }
/// <summary>
/// Desc:起租地点
/// </summary>
public string RentalPort { get; set; }
/// <summary>
/// Desc:提箱港口代码
/// </summary>
public long? PickupPortid { get; set; }
/// <summary>
/// Desc:提箱港口五字码
/// </summary>
public string PickupPortCode { get; set; }
/// <summary>
/// Desc:提箱港口
/// </summary>
public string PickupPort { get; set; }
/// <summary>
/// Desc:还箱港口代码
/// </summary>
public long? DropoffPortid { get; set; }
/// <summary>
/// Desc:还箱港口五字码
/// </summary>
public string DropoffPortCode { get; set; }
/// <summary>
/// Desc:还箱港口
/// </summary>
public string DropoffPort { get; set; }
/// <summary>
/// Desc:业务编号/提单号
/// </summary>
public string Mblno { get; set; }
/// <summary>
/// Desc:船名航次
/// </summary>
public string? VesselVoyno { get; set; }
/// <summary>
/// 在 租箱租入_退租 或 租箱租出_退租 中 记录对应的租入或租出业务Id
/// </summary>
public long RentDetailId { get; set; }
} }

@ -8,181 +8,7 @@ namespace DS.WMS.ContainerManagement.Info.Dtos;
/// <summary> /// <summary>
/// 箱管_租箱租出 返回实体 /// 箱管_租箱租出 返回实体
/// </summary> /// </summary>
public class CM_RentOneWay_DetailRes public class CM_RentOneWay_DetailRes: CM_Rent_DetailBase
{ {
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 租箱业务id
/// </summary>
public long Pid { get; set; }
/// <summary>
/// Desc:租箱业务号
/// </summary>
public string Billno { get; set; }
/// <summary>
/// Desc:箱号
/// </summary>
public string Cntrno { get; set; }
/// <summary>
/// 箱型代码
/// </summary>
public string CtnCode { get; set; }
/// <summary>
/// Desc:箱型
/// </summary>
public string Ctnall { get; set; }
/// <summary>
/// Desc:原箱主Id
/// </summary>
public long OldContainerOwnerId { get; set; }
/// <summary>
/// Desc:原箱主
/// </summary>
public string OldContainerOwner { get; set; }
/// <summary>
/// Desc:租箱客户Id
/// </summary>
public long RentCustomerId { get; set; }
/// <summary>
/// Desc:租箱客户
/// </summary>
public string RentCustomerName { get; set; }
/// <summary>
/// Desc:租箱业务方向Id
/// </summary>
public CMRentDirectEnum? RentDirectId { get; set; }
/// <summary>
/// Desc:租箱业务方向
/// </summary>
public string? RentDirect => RentDirectId?.EnumDescription();
/// <summary>
/// Desc:租箱类型Id 长租1 短租0 单程2
/// </summary>
public CMRentTypeEnum? RentTypeId { get; set; }
/// <summary>
/// Desc:租箱业务方向
/// </summary>
public string? RentType => RentTypeId?.EnumDescription();
/// <summary>
/// Desc:业务状态
/// </summary>
public string BillState { get; set; }
/// <summary>
/// Desc:关联放箱单号
/// </summary>
public string CtnReleaseNo { get; set; }
/// <summary>
/// Desc:租入日期
/// </summary>
public DateTime? Bsdate { get; set; }
/// <summary>
/// Desc:开始计费日期
/// </summary>
public string FeeStartDate { get; set; }
/// <summary>
/// Desc:币别
/// </summary>
public string Currency { get; set; } = "USD";
/// <summary>
/// Desc:日租金
/// </summary>
public decimal? DailyRate { get; set; } = 0M;
/// <summary>
/// Desc:提箱费
/// </summary>
public decimal? PickupFee { get; set; } = 0M;
/// <summary>
/// Desc:提箱日期
/// </summary>
public DateTime? PickupDate { get; set; }
/// <summary>
/// Desc:还箱费
/// </summary>
public decimal? DropoffFee { get; set; } = 0M;
/// <summary>
/// Desc:还箱日期
/// </summary>
public DateTime? DropoffDate { get; set; }
/// <summary>
/// Desc:起租地点代码
/// </summary>
public string RentalPortid { get; set; }
/// <summary>
/// Desc:起租地点五字码
/// </summary>
public string RentalPortCode { get; set; }
/// <summary>
/// Desc:起租地点
/// </summary>
public string RentalPort { get; set; }
/// <summary>
/// Desc:提箱港口代码
/// </summary>
public long? PickupPortid { get; set; }
/// <summary>
/// Desc:提箱港口五字码
/// </summary>
public string PickupPortCode { get; set; }
/// <summary>
/// Desc:提箱港口
/// </summary>
public string PickupPort { get; set; }
/// <summary>
/// Desc:还箱港口代码
/// </summary>
public string DropoffPortid { get; set; }
/// <summary>
/// Desc:还箱港口五字码
/// </summary>
public long? DropoffPortCode { get; set; }
/// <summary>
/// Desc:还箱港口
/// </summary>
public string DropoffPort { get; set; }
/// <summary>
/// Desc:业务编号/提单号
/// </summary>
public string Mblno { get; set; }
/// <summary>
/// Desc:船名航次
/// </summary>
public string? VesselVoyno { get; set; }
/// <summary>
/// 在 租箱租入_退租 或 租箱租出_退租 中 记录对应的租入或租出业务Id
/// </summary>
public long RentDetailId { get; set; }
} }

@ -12,9 +12,9 @@ namespace DS.WMS.ContainerManagement.Info.Entity;
public class VW_CM_NeedEndLease_Detail : BaseOrgModel<long> public class VW_CM_NeedEndLease_Detail : BaseOrgModel<long>
{ {
/// <summary> /// <summary>
/// 租箱业务id /// 租箱租出业务明细id
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "租箱业务id", IsNullable = false)] [SugarColumn(ColumnDescription = "租箱租出业务明细id", IsNullable = false)]
public long Pid { get; set; } public long Pid { get; set; }
/// <summary> /// <summary>
@ -216,5 +216,20 @@ public class VW_CM_NeedEndLease_Detail : BaseOrgModel<long>
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "箱业务状态Id", IsNullable = true)] [SugarColumn(ColumnDescription = "箱业务状态Id", IsNullable = true)]
public CM_CtnBizStateEnum? CtnBizStateId { get; set; } public CM_CtnBizStateEnum? CtnBizStateId { get; set; }
/// <summary>
/// <summary>
/// Desc:箱状态Id
/// </summary>
[SugarColumn(ColumnDescription = "箱状态Id", IsNullable = true)]
public CMCtnStateEnum? CtnStateId { get; set; }
/// <summary>
/// Desc:箱流转状态Id
/// </summary>
[SugarColumn(ColumnDescription = "箱流转状态Id", IsNullable = true)]
public CMCtnFlowStateEnum? CtnFlowStateId { get; set; }
} }

@ -12,9 +12,9 @@ namespace DS.WMS.ContainerManagement.Info.Entity;
public class VW_CM_RentOut_NeedEndLease : BaseOrgModel<long> public class VW_CM_RentOut_NeedEndLease : BaseOrgModel<long>
{ {
/// <summary> /// <summary>
/// 租箱业务id /// 租箱租出业务明细id
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "租箱业务id", IsNullable = false)] [SugarColumn(ColumnDescription = "租箱租出业务明细id", IsNullable = false)]
public long Id { get; set; } public long Id { get; set; }
/// <summary> /// <summary>

@ -3,6 +3,7 @@ using DS.WMS.ContainerManagement.Info.Dtos;
using DS.WMS.Core.Info.Dtos; using DS.WMS.Core.Info.Dtos;
using DS.WMS.Core.Op.View; using DS.WMS.Core.Op.View;
using DS.WMS.Core.Sys.Dtos; using DS.WMS.Core.Sys.Dtos;
using SqlSugar;
namespace DS.WMS.ContainerManagement.Info.Interface; namespace DS.WMS.ContainerManagement.Info.Interface;
@ -16,6 +17,8 @@ public interface ICM_CurrentStateService
//DataResult<List<CM_CurrentStateRes>> GetListByPage(PageRequest request); //DataResult<List<CM_CurrentStateRes>> GetListByPage(PageRequest request);
public Task<DataResult<List<CM_CurrentStateRes>>> GetListByPage(PageRequest request); public Task<DataResult<List<CM_CurrentStateRes>>> GetListByPage(PageRequest request);
public ISugarQueryable<CM_CurrentStateRes> CreateCurrentStateQuery();
/// <summary> /// <summary>
/// 编辑 /// 编辑
/// </summary> /// </summary>

@ -36,4 +36,20 @@ public interface ICM_RentOneWayService
/// <param name="ids">单程业务业务ID</param> /// <param name="ids">单程业务业务ID</param>
/// <returns></returns> /// <returns></returns>
Task<DataResult> DeleteCM_RentOneWayAsync(params long[] ids); Task<DataResult> DeleteCM_RentOneWayAsync(params long[] ids);
///// <summary>
///// 单程_确认
///// </summary>
///// <param name="id"></param>
///// <returns></returns>
//Task<DataResult> CM_RentIn_Confirm(string id, params long[] ids);
//Task<DataResult> CM_RentIn_Confirm(params long[] ids);
///// <summary>
///// 单程_取消
///// </summary>
///// <param name="id"></param>
///// <returns></returns>
//Task<DataResult> CM_RentIn_Cancel(string id, params long[] ids);
//Task<DataResult> CM_RentIn_Cancel(params long[] ids);
} }

@ -39,6 +39,7 @@ public class CM_RentOutService : CMServiceBase, ICM_RentOutService
private readonly ICommonService commonService; private readonly ICommonService commonService;
readonly IFeeRecordService _feeService; readonly IFeeRecordService _feeService;
readonly ICM_State_ChangeService _Changeservice; readonly ICM_State_ChangeService _Changeservice;
readonly ICM_CurrentStateService _CurrentStateservice;
private readonly IFeeCurrencyExchangeService feeCurrencyExchangeService; private readonly IFeeCurrencyExchangeService feeCurrencyExchangeService;
/// <summary> /// <summary>
/// ///
@ -56,6 +57,7 @@ public class CM_RentOutService : CMServiceBase, ICM_RentOutService
_feeService = _serviceProvider.GetRequiredService<IFeeRecordService>(); _feeService = _serviceProvider.GetRequiredService<IFeeRecordService>();
_Changeservice = _serviceProvider.GetRequiredService<ICM_State_ChangeService>(); _Changeservice = _serviceProvider.GetRequiredService<ICM_State_ChangeService>();
_CurrentStateservice= _serviceProvider.GetRequiredService<ICM_CurrentStateService>();
feeCurrencyExchangeService = _serviceProvider.GetRequiredService<IFeeCurrencyExchangeService>(); feeCurrencyExchangeService = _serviceProvider.GetRequiredService<IFeeCurrencyExchangeService>();
} }
@ -418,7 +420,7 @@ public class CM_RentOutService : CMServiceBase, ICM_RentOutService
changerec.CtnFlowStateId = CMCtnFlowStateEnum.; changerec.CtnFlowStateId = CMCtnFlowStateEnum.;
changerec.ChangeTime = detail.DropoffDate; changerec.ChangeTime = detail.DropoffDate;
changerec.IsOnlineId = CM_IsOnlineEnum.线; changerec.IsOnlineId = CM_IsOnlineEnum.线;
} }
@ -747,8 +749,14 @@ public class CM_RentOutService : CMServiceBase, ICM_RentOutService
var CurrentDetailList = TenantDb.Queryable<CM_RentOut_Detail>() var CurrentDetailList = TenantDb.Queryable<CM_RentOut_Detail>()
.Where(a => a.Pid == id).ToList(); .Where(a => a.Pid == id).ToList();
var AddCurrentStateList = TenantDb.Queryable<CM_CurrentState>() //var AddCurrentStateList = TenantDb.Queryable<CM_CurrentState>()
.Where(a => ids.Contains(a.Id)).ToList(); // .Where(a => ids.Contains(a.Id)).ToList();
var quary = CreateCurrentStateQuery();
var AddCurrentStateList= TenantDb.Queryable(quary)
.Where(a => ids.Contains(a.Id))
.Select<CM_CurrentStateRes>().ToList();
var addList = new List<CM_RentOut_Detail>(); var addList = new List<CM_RentOut_Detail>();

@ -3,6 +3,7 @@ using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.Dtos.TaskInteraction; using DS.WMS.Core.Op.Dtos.TaskInteraction;
using DS.WMS.Core.Op.Interface; using DS.WMS.Core.Op.Interface;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.Booking namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.Booking
{ {
@ -23,7 +24,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.Booking
var opService = context.ServiceProvider.GetRequiredService<ISeaExportService>(); var opService = context.ServiceProvider.GetRequiredService<ISeaExportService>();
//发送订舱EDI //发送订舱EDI
var result2 = await opService.SendBookingOrClosingEDI(new BookingOrClosingEDIOrderReq var req = new BookingOrClosingEDIOrderReq
{ {
Id = context.TaskInfo.BusinessId, Id = context.TaskInfo.BusinessId,
UseForwarderCode = false, UseForwarderCode = false,
@ -32,11 +33,13 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.Booking
FileRole = "9", FileRole = "9",
SendType = "B", SendType = "B",
Send = true Send = true
}); };
var result = await opService.SendBookingOrClosingEDI(req);
//订舱未成功 //订舱未成功
if (!result2.Succeeded) if (!result.Succeeded)
{ {
await LogService.WriteLogAsync(context.TaskInfo, "EDI返回结果失败自动订舱未成功"); await LogService.WriteLogAsync(context.TaskInfo, "EDI返回结果失败自动订舱未成功" + Environment.NewLine + "请求参数:"
+ JsonConvert.SerializeObject(req) + Environment.NewLine + "响应参数:" + result.Data);
return; return;
} }

@ -1,8 +1,9 @@
using DS.WMS.Core.Op.Dtos; using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.Dtos.TaskInteraction; using DS.WMS.Core.Op.Dtos.TaskInteraction;
using DS.WMS.Core.Op.Interface.TaskInteraction;
using DS.WMS.Core.Op.Interface; using DS.WMS.Core.Op.Interface;
using DS.WMS.Core.Op.Interface.TaskInteraction;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor
{ {
@ -17,8 +18,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor
var taskService = context.ServiceProvider.GetRequiredService<ITaskService>(); var taskService = context.ServiceProvider.GetRequiredService<ITaskService>();
var logService = context.ServiceProvider.GetRequiredService<ITaskLogService>(); var logService = context.ServiceProvider.GetRequiredService<ITaskLogService>();
//发送截单EDI var req = new BookingOrClosingEDIOrderReq
var result = await opService.SendBookingOrClosingEDI(new BookingOrClosingEDIOrderReq
{ {
Id = context.TaskInfo.BusinessId, Id = context.TaskInfo.BusinessId,
UseForwarderCode = false, UseForwarderCode = false,
@ -27,11 +27,14 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor
FileRole = "9", FileRole = "9",
SendType = "E", SendType = "E",
Send = true Send = true
}); };
//发送截单EDI
var result = await opService.SendBookingOrClosingEDI(req);
//EDI提交未成功 //EDI提交未成功
if (!result.Succeeded) if (!result.Succeeded)
{ {
await logService.WriteLogAsync(context.TaskInfo, "截单EDI返回结果失败"); await logService.WriteLogAsync(context.TaskInfo, "EDI返回结果失败自动截单未成功" + Environment.NewLine + "请求参数:"
+ JsonConvert.SerializeObject(req) + Environment.NewLine + "响应参数:" + result.Data);
return; return;
} }

@ -12,6 +12,7 @@ using DS.WMS.Core.TaskPlat.Entity;
using DS.WMS.Core.TaskPlat.Interface; using DS.WMS.Core.TaskPlat.Interface;
using Masuit.Tools.Systems; using Masuit.Tools.Systems;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.SpaceRelease namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.SpaceRelease
{ {
@ -122,7 +123,11 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction.ActionExecutor.SpaceRelease
var result = await BCService.SyncBookingSlotChange(taskBase.Id); var result = await BCService.SyncBookingSlotChange(taskBase.Id);
if (!result.Succeeded) if (!result.Succeeded)
{
await LogService.WriteLogAsync(context.TaskInfo, "转发BC返回结果失败自动放舱未成功" + Environment.NewLine + "请求参数:"
+ taskBase.Id + Environment.NewLine + "响应参数:" + result.Data == null ? string.Empty : JsonConvert.SerializeObject(result.Data));
return; return;
}
await SetTaskCompleteAsync(context.TaskInfo, await SetTaskCompleteAsync(context.TaskInfo,
context.ServiceProvider.GetRequiredService<ITaskService>(), LogService); context.ServiceProvider.GetRequiredService<ITaskService>(), LogService);

@ -248,7 +248,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
var businessTask = await TenantDb.Queryable<BusinessTask>().Where( var businessTask = await TenantDb.Queryable<BusinessTask>().Where(
x => x.BusinessId == businessId && x.BusinessType == businessType && x.TaskType == TaskBaseTypeEnum.WAIT_BOOKING).FirstAsync(); x => x.BusinessId == businessId && x.BusinessType == businessType && x.TaskType == TaskBaseTypeEnum.WAIT_BOOKING).FirstAsync();
if (businessTask == null) if (businessTask == null)
return DataResult.FailedWithDesc(MultiLanguageConst.TaskStatusNotSupported); return DataResult.FailedWithDesc(MultiLanguageConst.BookingTaskNotFound);
TaskFlowDataContext dataContext = new TaskFlowDataContext dataContext = new
( (

@ -113,7 +113,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
if (request.HasCabin.GetValueOrDefault()) if (request.HasCabin.GetValueOrDefault())
{ {
//如果为现舱,获取下一任务类型进行创建 //如果为现舱,获取下一任务类型进行创建
var nextType = await GetNextTypeAsync(request.BusinessId, request.BusinessType, request.TaskType); var nextType = await GetNextTypeAsync(request.BusinessId, request.BusinessType, request.TaskType, request.HasCabin);
if (nextType.HasValue) if (nextType.HasValue)
request.TaskTypeName = nextType.Value.ToString(); request.TaskTypeName = nextType.Value.ToString();
} }
@ -759,15 +759,17 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
/// <param name="bsId">业务ID</param> /// <param name="bsId">业务ID</param>
/// <param name="businessType">业务类型</param> /// <param name="businessType">业务类型</param>
/// <param name="currentType">当前任务类型</param> /// <param name="currentType">当前任务类型</param>
/// <param name="hasCabin">是否现舱</param>
/// <returns></returns> /// <returns></returns>
protected async Task<TaskBaseTypeEnum?> GetNextTypeAsync(long bsId, BusinessType businessType, TaskBaseTypeEnum currentType) protected async Task<TaskBaseTypeEnum?> GetNextTypeAsync(long bsId, BusinessType businessType, TaskBaseTypeEnum currentType, bool? hasCabin = null)
{ {
var order = await ActionService.GetBusinessDataAsync(bsId, businessType); var order = await ActionService.GetBusinessDataAsync(bsId, businessType);
TaskFlowRuner flowRuner = new(TenantDb, ServiceProvider); TaskFlowRuner flowRuner = new(TenantDb, ServiceProvider);
return await flowRuner.GetWorkFlowNextConfigByTaskType(TaskBaseTypeEnum.WORK_FLOW_MAIN, var dataContext = new TaskFlowDataContext(
new TaskFlowDataContext( (TaskFlowDataNameConst.Business, order),
(TaskFlowDataNameConst.Business, order) (nameof(hasCabin), hasCabin.HasValue ? hasCabin.ToString() : string.Empty)
), currentType); );
return await flowRuner.GetWorkFlowNextConfigByTaskType(TaskBaseTypeEnum.WORK_FLOW_MAIN, dataContext, currentType);
} }
/// <summary> /// <summary>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<NameOfLastUsedPublishProfile>E:\MyCode\Dongsheng8\ds-wms-service\DS.WMS.OpApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>D:\Source\Repos\DS8\ds-wms-service\DS.WMS.OpApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID> <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath> <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
</PropertyGroup> </PropertyGroup>

Loading…
Cancel
Save