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.GetTaskDataPaged(requestInputBase); return Ok(stockresult); 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.GetTaskDataPaged(requestInputBase); return Ok(schedresult); 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.GetTaskDataPaged(requestInputBase); return Ok(inforesult); 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.GetTaskDataPaged(requestInputBase); return Ok(emplyeeresult); 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.GetTaskDataPaged(requestInputBase); return Ok(bomresult); case "SUPPLIER_PRO_CPS"://过程控制项质量数据 var cpsservice = _builder.GetRequiredService(); var cpstask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(cpstask); var cpsresult = await cpsservice.GetTaskDataPaged(requestInputBase); return Ok(cpsresult); 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.GetTaskDataPaged(requestInputBase); return Ok(dataresult); 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.GetTaskDataPaged(requestInputBase); return Ok(passyieldresult); 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.GetTaskDataPaged(requestInputBase); return Ok(pasyresult); 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.GetTaskDataPaged(requestInputBase); return Ok(flawresult); 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.GetTaskDataPaged(requestInputBase); return Ok(envresult); case "SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE"://设备OEE达成率 var rateservice = _builder.GetRequiredService(); var ratetask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(ratetask); var rateresult = await rateservice.GetTaskDataPaged(requestInputBase); return Ok(rateresult); case "SUPPLIER_PRO_OEE_TIME_DETAILS"://OEE时间明细 var detailservice = _builder.GetRequiredService(); var detailtask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(detailtask); var detailresult = await detailservice.GetTaskDataPaged(requestInputBase); return Ok(detailresult); 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.GetTaskDataPaged(requestInputBase); return Ok(materialresult); case "SUPPLIER_PRO_ATTACHMENT_DATA":// 附件类数据 var attachment_dataservice = _builder.GetRequiredService(); var attachment_datatask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(attachment_datatask); var attachment_dataresult = await attachment_dataservice.GetTaskDataPaged(requestInputBase); return Ok(attachment_dataresult); 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.GetTaskDataPaged(requestInputBase); return Ok(eqresult); 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.GetTaskDataPaged(requestInputBase); return Ok(processresult); case "SUPPLIER_CON_MMRP"://M+6月物料需求计划风险确认 var mmrpservice = _builder.GetRequiredService(); var mmrptask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(mmrptask); var mmrpresult = await mmrpservice.GetTaskDataPaged(requestInputBase); return Ok(mmrpresult); case "SUPPLIER_CON_DATE"://日物料需求计划风险确认 var con_dateservice = _builder.GetRequiredService(); var con_datetask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(con_datetask); var con_dateresult = await con_dateservice.GetTaskDataPaged(requestInputBase); return Ok(con_dateresult); case "SUPPLIER_CON_PO"://采购订单风险确认 var con_poservice = _builder.GetRequiredService(); var con_potask = requestInputBase.Condition.Filters.FirstOrDefault(p => p.Column == "TableName"); requestInputBase.Condition.Filters.Remove(con_potask); var con_poresult = await con_poservice.GetTaskDataPaged(requestInputBase); return Ok(con_poresult); } return Ok(); } } }