using Hangfire; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TaskManager.Contracts.Dtos; using TaskManager.Controllers; using TaskManager.Entity; using TaskManager.EntityFramework; using TaskManager.EntityFramework.Repository; using Wood.Util.Filters; using Z.EntityFramework.Plus; namespace Wood.Service.Controllers { public class TaskSubService : NormalBaseController { public TaskSubService(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository repository) : base(context, builder, configuration, repository) { } //private async Task> GetDataPagedAsync(RequestInputBase input) // where T : BaseEntity,new() // where TService :CheryRecurringJobInputPageController ,new() // where TDTO : class ,new() //{ // var service = _builder.GetRequiredService(); // var task = input.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); // input.Condition.Filters.Remove(task); // var result = await service.GetDataPaged(input); // return result.Value; //} [HttpGet] public async Task GetDetail([FromBody] RequestInputBase requestInputBase) { var taskid = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TaskId").Value; var tablename = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName").Value; switch (tablename) { case "SUPPLIER_PRO_MATERIAL_STOCK": //_builder.GetRequiredService(requestInputBase); break; case "SUPPLIER_PRO_SCHEDULING": //RecurringJob.AddOrUpdate<>( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_INFO": //RecurringJob.AddOrUpdate<>( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_EMPLOYEE"://人员资质信息 //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_BOM"://BOM主数据 var bomservice = _builder.GetRequiredService(); var bomtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(bomtask); var bomresult = await bomservice.GetDataPaged(requestInputBase); return Ok(bomresult.Value); case "SUPPLIER_PRO_CPS"://过程控制项质量数据 //var service = _builder.GetRequiredService(); //var task = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); //requestInputBase.Condition.Filters.Remove(task); //var result = await service.GetDataPaged(requestInputBase); //return Ok(result.Value); //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_DATA": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_FIRST_PASSYIELD": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_STATION_FIRST_PASSYIELD": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_FLAW": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_ENVIRONMENT": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_OEE_TIME_DETAILS": //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_MATERIAL_DATA"://物料主数据 //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_PROCESS_EQUIPMENT":// 工艺装备 //RecurringJob.AddOrUpdate( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; case "SUPPLIER_PRO_PROCESS"://工艺 //RecurringJob.AddOrUpdate<>( // task.TaskName, // x => ((IDoExecute)x).ExecuteAsync(url, path, task.TaskName), // task.Corn, // TimeZoneInfo.Local //); break; } return Ok(); } } }