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); } } }