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":
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":
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_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);
}
return Ok();
}
}
}