/* *所有关于Dt_agvtask类的业务代码应在此处编写 *可使用repository.调用常用方法,获取EF/Dapper等信息 *如果需要事务请使用repository.DbContextBeginTransaction *也可使用DBServerProvider.手动获取数据库相关信息 *用户信息、权限、角色等使用UserContext.Current操作 *Dt_agvtaskService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter */ using WIDESEA_Entity.DomainModels; using WIDESEA_Core.Utilities; using System; using WIDESEA_Services.Repositories; using Newtonsoft.Json; using Microsoft.Extensions.Logging; using WIDESEA_Core.Services; using WIDESEA_Core.Extensions; using System.Linq; using WIDESEA_Core.ManageUser; using WIDESEA_Core.EFDbContext; using WIDESEA_Services.IRepositories; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using WIDESEA_WCS; using WIDESEA_Common; using WIDESEA_Core.Enums; namespace WIDESEA_Services.Services { public partial class dt_agvtaskService { private readonly IHttpContextAccessor _httpContextAccessor; private readonly dt_agvtaskRepository _repository;//访问数据库 [ActivatorUtilitiesConstructor] public dt_agvtaskService( dt_agvtaskRepository dbRepository, IHttpContextAccessor httpContextAccessor ) : base(dbRepository) { _httpContextAccessor = httpContextAccessor; _repository = dbRepository; //多租户会用到这init代码,其他情况可以不用 //base.Init(dbRepository); } public override WebResponseContent Del(object[] keys, bool delList = true) { WebResponseContent content = new WebResponseContent(); content = repository.DbContextBeginTransaction(() => { foreach (var item in keys) { Guid id = Guid.Parse(item.ToString()); dt_agvtask agvtask = repository.FindFirst(x => x.agv_id == id); try { if (agvtask.agv_fromaddress.Contains("HCJ") && agvtask.agv_toaddress.Contains("JJK")) { if (agvtask.agv_toaddress.Contains("ZJ")) { MESback WMSbackresult = MESAPIInvoke.Reschedule(1); if (WMSbackresult == null) { return WebResponseContent.Instance.Error("AGV任务删除失败"); } } else { MESback WMSbackresult = MESAPIInvoke.Reschedule(2); if (WMSbackresult == null) { return WebResponseContent.Instance.Error("AGV任务删除失败"); } } } dt_agvtask_htyRepository.Instance.AddTaskHistory(agvtask, "ManualDeletion"); repository.Delete(agvtask, true); } catch (Exception ex) { throw new Exception($"{ex.Message}"); } } return WebResponseContent.Instance.OK("AGV任务删除成功"); }); return content; //string msg = "删除成功"; //try //{ // content = repository.DbContextBeginTransaction(() => // { // foreach (var item in keys) // { // Guid id = Guid.Parse(item.ToString()); // dt_agvtask agvtask = repository.FindFirst(x => x.agv_id == id); // try // { // if (agvtask.agv_fromaddress.Contains("HCJ") && agvtask.agv_toaddress.Contains("JJK")) // { // if (agvtask.agv_toaddress.Contains("ZJ")) // { // MESback WMSbackresult = MESAPIInvoke.Reschedule(1); // if (WMSbackresult == null) { return WebResponseContent.Instance.Error("AGV任务删除失败"); } // } // else // { // MESback WMSbackresult = MESAPIInvoke.Reschedule(2); // if (WMSbackresult == null) { return WebResponseContent.Instance.Error("AGV任务删除失败"); } // } // } // dt_agvtask_htyRepository.Instance.AddTaskHistory(agvtask, "ManualDeletion"); // repository.Delete(agvtask, true); // } // catch (Exception ex) // { // throw new Exception($"{ex.Message}"); // } // } // return WebResponseContent.Instance.OK("AGV任务删除成功"); // }); //} //catch (Exception ex) //{ // msg = ex.Message + ex.StackTrace; // content = WebResponseContent.Instance.Error($"AGV任务删除失败,错误消息:{ex.Message}"); //} //finally //{ // Logger.Info(LoggerType.Del, "", content.Message, msg); //} //return content; } } }