You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

183 lines
9.6 KiB

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<TaskSub>
{
public TaskSubService(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository<TaskSub> repository) : base(context, builder, configuration, repository)
{
}
//private async Task<PagedResult<T>> GetDataPagedAsync<T,TService,TDTO>(RequestInputBase input)
// where T : BaseEntity,new()
// where TService :CheryRecurringJobInputPageController<T,TDTO> ,new()
// where TDTO : class ,new()
//{
// var service = _builder.GetRequiredService<TService>();
// 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<ActionResult> 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<CherySupplierProSchedulingService>();
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<CherySupplierProSchedulingService>();
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<CherySupplierInfoService>();
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<CherySupplierEmployeeService>();
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<CherySupplierBomService>();
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<CherySupplierProCpsService>();
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<CherySupplierProDataService>();
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<CherySupplierProFirstPassyieldService>();
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<CherySupplierProStationFirstPassyieldService>();
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<CherySupplierProFlawService>();
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<CherySupplierProEnvironmentService>();
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<CherySupplierProOeeAchievementRateService>();
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<CherySupplierProOeeTimeDetailsService>();
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<CherySupplierProMaterialDataService>();
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<CherySupplierProProcessEquipmentService>();
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<CherySupplierProProcessService>();
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();
}
}
}