|
@ -38,8 +38,25 @@ public class TransferLibJobAppService |
|
|
[UnitOfWork] |
|
|
[UnitOfWork] |
|
|
public override async Task<TransferLibJobDTO> CompleteAsync(Guid id, TransferLibJobDTO dto) |
|
|
public override async Task<TransferLibJobDTO> CompleteAsync(Guid id, TransferLibJobDTO dto) |
|
|
{ |
|
|
{ |
|
|
|
|
|
string methodPrefix = "TransferLibJobAppService.CompleteAsync - "; |
|
|
|
|
|
if (dto.CallServerName.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallServerName 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
if (dto.CallBusinessType.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallBusinessType 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
if (dto.CallRequestNumber.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallRequestNumber 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
if (dto.CallJobNumber.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallJobNumber 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//校验
|
|
|
#region 校验
|
|
|
foreach (var detailObj in dto.Details) |
|
|
foreach (var detailObj in dto.Details) |
|
|
{ |
|
|
{ |
|
|
if (detailObj.IsPackingCodeFrom) |
|
|
if (detailObj.IsPackingCodeFrom) |
|
@ -153,25 +170,7 @@ public class TransferLibJobAppService |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
#endregion
|
|
|
//var str = "Win_in.Sfs.Wms.Store.Application.InjectionJobAppService";
|
|
|
|
|
|
string methodPrefix = "TransferLibJobAppService.CompleteAsync - "; |
|
|
|
|
|
if (dto.CallServerName.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallServerName 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
if (dto.CallBusinessType.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallBusinessType 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
if (dto.CallRequestNumber.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallRequestNumber 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
if (dto.CallJobNumber.IsNullOrEmpty()) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}CallJobNumber 不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var ret = await base.CompleteAsync(id, dto).ConfigureAwait(false); |
|
|
var ret = await base.CompleteAsync(id, dto).ConfigureAwait(false); |
|
|
if (ret != null) |
|
|
if (ret != null) |
|
@ -186,37 +185,12 @@ public class TransferLibJobAppService |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象创建失败"); |
|
|
throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象创建失败"); |
|
|
} |
|
|
} |
|
|
ITransferLibCallback transferLibCallback = (Win_in.Sfs.Wms.Store.Notes.ITransferLibCallback)instance; |
|
|
ITransferLibCallback transferLibCallback = (ITransferLibCallback)instance; |
|
|
if (transferLibCallback == null) |
|
|
if (transferLibCallback == null) |
|
|
{ |
|
|
{ |
|
|
throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象没有实现ITransferLibCallback接口"); |
|
|
throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象没有实现ITransferLibCallback接口"); |
|
|
} |
|
|
} |
|
|
TransferLibJobDTO callbackRet = await transferLibCallback.DoTransferLibCallbackAsync(dto.CallServerName, dto.CallRequestNumber, dto.CallJobNumber).ConfigureAwait(false); |
|
|
await transferLibCallback.DoTransferLibCallbackAsync(dto).ConfigureAwait(false); |
|
|
if (callbackRet == null || callbackRet.Number == null) |
|
|
|
|
|
{ |
|
|
|
|
|
throw new UserFriendlyException($"{methodPrefix}执行回调服务{dto.CallServerName}出错,返回实体为空!"); |
|
|
|
|
|
} |
|
|
|
|
|
//var assembly = Assembly.GetExecutingAssembly();
|
|
|
|
|
|
//var ty = assembly.GetType(dto.CallServerName);
|
|
|
|
|
|
//if (ty == null)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// throw new UserFriendlyException($"{methodPrefix}没有找到类型为{dto.CallServerName}的对象");
|
|
|
|
|
|
//}
|
|
|
|
|
|
//var instance = Activator.CreateInstance(ty);
|
|
|
|
|
|
//if (instance == null)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象创建失败");
|
|
|
|
|
|
//}
|
|
|
|
|
|
//ITransferLibCallback transferLibCallback = (ITransferLibCallback)instance;
|
|
|
|
|
|
//if (transferLibCallback == null)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// throw new UserFriendlyException($"{methodPrefix}类型为{dto.CallServerName}的对象没有实现ITransferLibCallback接口");
|
|
|
|
|
|
//}
|
|
|
|
|
|
//Tuple<bool?, string> callbackRet = transferLibCallback.DoTransferLibCallback(dto.CallServerName, dto.CallRequestNumber, dto.CallJobNumber);
|
|
|
|
|
|
//if (callbackRet != null && callbackRet.Item1 == false)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// throw new UserFriendlyException($"{methodPrefix}执行回调服务{dto.CallServerName}出错,返回错误信息:{callbackRet.Item2}");
|
|
|
|
|
|
//}
|
|
|
|
|
|
} |
|
|
} |
|
|
return ret; |
|
|
return ret; |
|
|
} |
|
|
} |
|
|