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.
 
 
 

217 lines
12 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
{
/// <summary>
/// 任务表
/// </summary>
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;
//}
/// <summary>
/// 调用明细
/// </summary>
/// <param name="requestInputBase"></param>
/// <returns></returns>
[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.GetTaskDataPaged(requestInputBase);
return Ok(stockresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(schedresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(inforesult);
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.GetTaskDataPaged(requestInputBase);
return Ok(emplyeeresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(bomresult);
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 cpsresult = await cpsservice.GetTaskDataPaged(requestInputBase);
return Ok(cpsresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(dataresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(passyieldresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(pasyresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(flawresult);
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.GetTaskDataPaged(requestInputBase);
return Ok(envresult);
case "SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE"://设备OEE达成率
var rateservice = _builder.GetRequiredService<CherySupplierProOeeAchievementRateService>();
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<CherySupplierProOeeTimeDetailsService>();
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<CherySupplierProMaterialDataService>();
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<CherySupplierProAttachmentDataService>();
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<CherySupplierProProcessEquipmentService>();
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<CherySupplierProProcessService>();
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<CherySupplierConMmrpService>();
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<CherySupplierConDateService>();
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<CherySupplierConPoService>();
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();
}
}
}