using DOAN.Model.MES.base_;
using DOAN.Model.MES.base_.Dto;
using DOAN.Model.MES.product;
using DOAN.Model.MES.product.Dto;
using DOAN.Service.MES.product.IService;
using Infrastructure;
using Infrastructure.Attribute;
using Microsoft.AspNetCore.Http;
namespace DOAN.Service.MES.product
{
///
/// 生产工单Service业务层处理
///
[AppService(ServiceType = typeof(IProWorkorderService), ServiceLifetime = LifeTime.Transient)]
public class ProWorkorderService : BaseService, IProWorkorderService
{
private readonly IProWorkorderCoreService _coreService;
private readonly IProWorkorderQueryService _queryService;
private readonly IProWorkorderImportService _importService;
private readonly IProWorkorderExportService _exportService;
private readonly IProWorkorderUtilityService _utilityService;
private readonly IProWorkorderReferenceService _referenceService;
///
/// 构造函数
///
///
///
///
///
///
///
public ProWorkorderService(
IProWorkorderCoreService coreService,
IProWorkorderQueryService queryService,
IProWorkorderImportService importService,
IProWorkorderExportService exportService,
IProWorkorderUtilityService utilityService,
IProWorkorderReferenceService referenceService
)
{
_coreService = coreService;
_queryService = queryService;
_importService = importService;
_exportService = exportService;
_utilityService = utilityService;
_referenceService = referenceService;
}
///
/// 查询生产工单列表
///
///
///
public PagedInfo GetList(ProWorkorderQueryDto parm)
{
return _queryService.GetList(parm);
}
///
/// 获取工单无校验
///
///
///
public PagedInfo GetList_NOCheck(ProWorkorderQueryDto parm)
{
return _queryService.GetList_NOCheck(parm);
}
///
/// 获取详情
///
///
///
public ProWorkorder GetInfo(string Id)
{
return _queryService.GetInfo(Id);
}
///
/// 添加生产工单
///
///
///
public ProWorkorder AddProWorkorder(ProWorkorder model)
{
return _coreService.AddProWorkorder(model);
}
///
/// 修改生产工单
///
///
///
public int UpdateProWorkorder(ProWorkorder model)
{
return _coreService.UpdateProWorkorder(model);
}
///
/// 插入工单、新增工单
///
///
///
///
public int Insert_workOrder(ProWorkorder proWorkorder, string next_id)
{
return _coreService.Insert_workOrder(proWorkorder, next_id);
}
///
/// 生成工单号
///
///
///
public int Generate_workorder(ProWorkorderQueryDto2 parm)
{
return _utilityService.Generate_workorder(parm);
}
///
/// 移动工单移动工单
///
///
///
///
public int MoveWorkorder(string id, int type)
{
return _utilityService.MoveWorkorder(id, type);
}
///
/// 导入工单 必须整删除 整改
///
///
///
public int ImportData(IFormFile formFile, string username)
{
return _importService.ImportData(formFile, username);
}
///
/// 分批导入,追加导入
///
///
///
///
public int ImportDataAppend(IFormFile formFile, string username)
{
return _importService.ImportDataAppend(formFile, username);
}
///
/// 工单导出
///
///
///
///
public List WorkOrderExport(DateTime exportTime)
{
return _exportService.WorkOrderExport(exportTime);
}
///
/// 获取物料信息
///
///
///
public List GetMaterialInfo(BaseMaterialListQueryDto5 parm)
{
return _referenceService.GetMaterialInfo(parm);
}
///
/// 获取客户信息
///
///
///
public List GetCustomInfo(BaseCustomQueryDto2 parm)
{
return _referenceService.GetCustomInfo(parm);
}
public List GetProcessRoute(DateTime dateTime)
{
return _referenceService.GetProcessRoute(dateTime);
}
///
/// 获取全部工艺路线
///
///
public List GetAllRoute()
{
return _referenceService.GetAllRoute();
}
///
/// 获取组
///
///
public List GetGroupList()
{
return _referenceService.GetGroupList();
}
///
/// 查询BOM 及其所需数量
///
///
///
public List SearchBOMNum(string workorder_num)
{
return _utilityService.SearchBOMNum(workorder_num);
}
///
/// 工单日志
///
///
///
///
///
public List WorkOrderLog(string workorder)
{
return _utilityService.WorkOrderLog(workorder);
}
///
/// 导出PDF
///
///
///
public Task<(string, Stream)> ExportPDFByQuestPDFDemo(string[] workorderArray)
{
return _utilityService.ExportPDFByQuestPDFDemo(workorderArray);
}
///
/// 打印工单
///
///
///
public Task PrintTicketsByTemplate(ProWorkorderExportDto param)
{
return _utilityService.PrintTicketsByTemplate(param);
}
///
/// 获取工单进度跟踪列表
///
///
///
public PagedInfo GetWorkorderTraceProgressList(ProWorkorderQueryDto query)
{
return _queryService.GetWorkorderTraceProgressList(query);
}
}
}