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; //} [HttpPost] 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": var stockservice = _builder.GetRequiredService(); var stocktask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(stocktask); var stockresult = await stockservice.GetDataPaged(requestInputBase); return Ok(stockresult.Value); case "SUPPLIER_PRO_SCHEDULING": var schedservice = _builder.GetRequiredService(); var schedtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(schedtask); var schedresult = await schedservice.GetDataPaged(requestInputBase); return Ok(schedresult.Value); case "SUPPLIER_INFO": var infoservice = _builder.GetRequiredService(); var infotask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(infotask); var inforesult = await infoservice.GetDataPaged(requestInputBase); return Ok(inforesult.Value); case "SUPPLIER_EMPLOYEE"://人员资质信息 var emplyeeservice = _builder.GetRequiredService(); var emplyeetask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(emplyeetask); var emplyeeresult = await emplyeeservice.GetDataPaged(requestInputBase); return Ok(emplyeeresult.Value); 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 cpsservice = _builder.GetRequiredService(); var cpstask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(cpstask); var result = await cpsservice.GetDataPaged(requestInputBase); return Ok(result.Value); case "SUPPLIER_PRO_DATA": var dataservice = _builder.GetRequiredService(); var datatask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(datatask); var dataresult = await dataservice.GetDataPaged(requestInputBase); return Ok(dataresult.Value); case "SUPPLIER_PRO_FIRST_PASSYIELD": var passyieldservice = _builder.GetRequiredService(); var passyieldtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(passyieldtask); var passyieldresult = await passyieldservice.GetDataPaged(requestInputBase); return Ok(passyieldresult.Value); case "SUPPLIER_PRO_STATION_FIRST_PASSYIELD": var pasyservice = _builder.GetRequiredService(); var pasytask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(pasytask); var pasyresult = await pasyservice.GetDataPaged(requestInputBase); return Ok(pasyresult.Value); case "SUPPLIER_PRO_FLAW": var flawservice = _builder.GetRequiredService(); var flawtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(flawtask); var flawresult = await flawservice.GetDataPaged(requestInputBase); return Ok(flawresult.Value); case "SUPPLIER_PRO_ENVIRONMENT": var envservice = _builder.GetRequiredService(); var envtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(envtask); var envresult = await envservice.GetDataPaged(requestInputBase); return Ok(envresult.Value); case "SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE": var rateservice = _builder.GetRequiredService(); var ratetask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(ratetask); var rateresult = await rateservice.GetDataPaged(requestInputBase); return Ok(rateresult.Value); break; case "SUPPLIER_PRO_OEE_TIME_DETAILS": var detailservice = _builder.GetRequiredService(); var detailtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(detailtask); var detailresult = await detailservice.GetDataPaged(requestInputBase); return Ok(detailresult.Value); break; case "SUPPLIER_PRO_MATERIAL_DATA"://物料主数据 var materialservice = _builder.GetRequiredService(); var materialtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(materialtask); var materialresult = await materialservice.GetDataPaged(requestInputBase); return Ok(materialresult.Value); break; case "SUPPLIER_PRO_PROCESS_EQUIPMENT":// 工艺装备 var eqservice = _builder.GetRequiredService(); var eqtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(eqtask); var eqresult = await eqservice.GetDataPaged(requestInputBase); return Ok(eqresult.Value); break; case "SUPPLIER_PRO_PROCESS"://工艺 var processservice = _builder.GetRequiredService(); var processtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(processtask); var processresult = await processservice.GetDataPaged(requestInputBase); return Ok(processresult.Value); break; } return Ok(); } } }