diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
index 72e6fadf..35f0acb4 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs
@@ -1,2 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
-using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;
namespace Tnb.WarehouseMgr.Interfaces
{
///
/// 库房业务(出入库)接口
///
public interface IWareHouseService
{
///
/// 入库策略
///
///
///
Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
///
/// 出库策略
///
///
///
//Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
///
/// 路径算法
///
///
///
///
Task> PathAlgorithms(string pStartId, string pEndId);
///
/// 生成预任务
///
///
///
Task GenPreTask(List preTasks,List preTaskCodes);
///
/// 生成预任务成功后操作
///
///
///
Task GenInStockTaskHandleAfter(GenPreTaskUpInput input,Expression> setCarryColumnsExp,Expression> setLocaionColumbExp);
}
}
\ No newline at end of file
+using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+
+namespace Tnb.WarehouseMgr.Interfaces
{
+ ///
/// 库房业务(出入库)接口
///
public interface IWareHouseService
{
///
/// 入库策略
///
///
///
Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
///
/// 出库策略
///
///
///
//Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
///
/// 路径算法
///
///
///
///
Task> PathAlgorithms(string pStartId, string pEndId);
///
/// 生成预任务
///
///
///
Task GenPreTask(List preTasks,List preTaskCodes);
///
/// 生成预任务成功后操作
///
///
///
Task GenInStockTaskHandleAfter(GenPreTaskUpInput input,Expression> setCarryColumnsExp,Expression> setLocaionColumbExp);
///
/// 任务完成
///
///
///
+ Task TaskComplate(TaskCompleUpInput input);
+ }
}
\ No newline at end of file
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCompleteService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCompleteService.cs
new file mode 100644
index 00000000..550289fb
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCompleteService.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using JNPF.Common.Core.Manager;
+using JNPF.Common.Dtos.VisualDev;
+using JNPF.Common.Enums;
+using JNPF.Common.Extension;
+using JNPF.Common.Security;
+using JNPF.FriendlyException;
+using JNPF.Systems.Interfaces.System;
+using JNPF.VisualDev;
+using JNPF.VisualDev.Entitys;
+using JNPF.VisualDev.Interfaces;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.CodeAnalysis;
+using SqlSugar;
+using Tnb.BasicData.Entities;
+using Tnb.WarehouseMgr.Entities;
+using Tnb.WarehouseMgr.Entities.Attributes;
+using Tnb.WarehouseMgr.Entities.Consts;
+using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Entities.Dto.Inputs;
+using Tnb.WarehouseMgr.Interfaces;
+namespace Tnb.WarehouseMgr
+{
+
+ ///
+ /// 异常取消
+ ///
+ [OverideVisualDev(ModuleConsts.MODULE_WMSEXCPTIONCOMPLETEPDA_ID)]
+ public class WmsPDAExceptionCompleteService : BaseWareHouseService
+ {
+ private readonly ISqlSugarClient _db;
+ private readonly IRunService _runService;
+ private readonly IVisualDevService _visualDevService;
+ private readonly IWareHouseService _wareHouseService;
+ private readonly IBillRullService _billRullService;
+ private readonly IUserManager _userManager;
+ public WmsPDAExceptionCompleteService(
+ ISqlSugarRepository repository,
+ IRunService runService,
+ IVisualDevService visualDevService,
+ IWareHouseService wareHouseService,
+ IUserManager userManager,
+ IBillRullService billRullService)
+ {
+ _db = repository.AsSugarClient();
+ _runService = runService;
+ _visualDevService = visualDevService;
+ _wareHouseService = wareHouseService;
+ _userManager = userManager;
+ _billRullService = billRullService;
+ OverideFuncs.CreateAsync = ExceptionCancel;
+ }
+
+ private async Task ExceptionCancel(VisualDevModelDataCrInput input)
+ {
+
+ try
+ {
+ await _db.Ado.BeginTranAsync();
+ var taskCompleUpInput = new TaskCompleUpInput();
+ List list = new();
+ if (input.data.ContainsKey(nameof(WmsDistaskH.id)))
+ {
+ list.Add(input.data[nameof(WmsDistaskH.id)].ToString());
+ taskCompleUpInput.disTaskIds = list;
+ await _wareHouseService.TaskComplate(taskCompleUpInput);
+ }
+
+ await _db.Ado.CommitTranAsync();
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ throw;
+ }
+ return Task.FromResult(true);
+ }
+ }
+
+}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionReexcuteService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionReexcuteService.cs
new file mode 100644
index 00000000..10551597
--- /dev/null
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionReexcuteService.cs
@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using JNPF.Common.Core.Manager;
+using JNPF.Common.Dtos.VisualDev;
+using JNPF.Common.Enums;
+using JNPF.Common.Extension;
+using JNPF.Common.Security;
+using JNPF.FriendlyException;
+using JNPF.Systems.Interfaces.System;
+using JNPF.VisualDev;
+using JNPF.VisualDev.Entitys;
+using JNPF.VisualDev.Interfaces;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.CodeAnalysis;
+using SqlSugar;
+using Tnb.BasicData.Entities;
+using Tnb.WarehouseMgr.Entities;
+using Tnb.WarehouseMgr.Entities.Attributes;
+using Tnb.WarehouseMgr.Entities.Consts;
+using Tnb.WarehouseMgr.Entities.Dto;
+using Tnb.WarehouseMgr.Interfaces;
+namespace Tnb.WarehouseMgr
+{
+
+ ///
+ /// 异常取消
+ ///
+ [OverideVisualDev(ModuleConsts.MODULE_WMSEXCPTIONREEXCUTEPDA_ID)]
+ public class WmsPDAExceptionReexcuteService : BaseWareHouseService
+ {
+ private readonly ISqlSugarClient _db;
+ private readonly IRunService _runService;
+ private readonly IVisualDevService _visualDevService;
+ private readonly IWareHouseService _wareHouseService;
+ private readonly IBillRullService _billRullService;
+ private readonly IUserManager _userManager;
+ public WmsPDAExceptionReexcuteService(
+ ISqlSugarRepository repository,
+ IRunService runService,
+ IVisualDevService visualDevService,
+ IWareHouseService wareHouseService,
+ IUserManager userManager,
+ IBillRullService billRullService)
+ {
+ _db = repository.AsSugarClient();
+ _runService = runService;
+ _visualDevService = visualDevService;
+ _wareHouseService = wareHouseService;
+ _userManager = userManager;
+ _billRullService = billRullService;
+ OverideFuncs.CreateAsync = ExceptionCancel;
+ }
+
+ private async Task ExceptionCancel(VisualDevModelDataCrInput input)
+ {
+
+ try
+ {
+ await _db.Ado.BeginTranAsync();
+ var items = await _db.Queryable().FirstAsync(it => it.id == input.data[nameof(WmsDistaskH.id)].ToString());
+ //items.agreement
+ //获取任务的协议,进行重新下发
+ await _db.Ado.CommitTranAsync();
+ }
+ catch (Exception ex)
+ {
+ await _db.Ado.RollbackTranAsync();
+ throw;
+ }
+ return Task.FromResult(true);
+ }
+ }
+
+}