/* *所有关于dt_mes_head类的业务代码应在此处编写 *可使用repository.调用常用方法,获取EF/Dapper等信息 *如果需要事务请使用repository.DbContextBeginTransaction *也可使用DBServerProvider.手动获取数据库相关信息 *用户信息、权限、角色等使用UserContext.Current操作 *dt_mes_headService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter */ using WIDESEA_Core.BaseProvider; using WIDESEA_Core.Extensions.AutofacManager; using WIDESEA_Entity.DomainModels; using System.Linq; using WIDESEA_Core.Utilities; using System.Linq.Expressions; using WIDESEA_Core.Extensions; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Http; using WIDESEA_WCS.IRepositories; using WIDESEA_Core.EFDbContext; using WIDESEA_WCS.JobsPart.Common; using WIDESEA_Core.ManageUser; using WIDESEA_Comm.LogInfo; using System.Collections.Generic; using WIDESEA_Core.Enums; using WIDESEA_WCS.Repositories; namespace WIDESEA_WCS.Services { public partial class dt_mes_headService { WebResponseContent webResponse = new WebResponseContent(); private readonly IHttpContextAccessor _httpContextAccessor; private readonly Idt_mes_headRepository _repository;//访问数据库 [ActivatorUtilitiesConstructor] public dt_mes_headService( Idt_mes_headRepository dbRepository, IHttpContextAccessor httpContextAccessor ) : base(dbRepository) { _httpContextAccessor = httpContextAccessor; _repository = dbRepository; //多租户会用到这init代码,其他情况可以不用 //base.Init(dbRepository); } public override object GetDetailPage(PageDataOptions pageData) { pageData.Sort = pageData.Sort ?? typeof(dt_mes_detail).GetKeyName(); Dictionary orderBy = GetPageDataSort(pageData, typeof(dt_mes_detail).GetProperties()); ////明细表自定义查询方式一:EF var query = dt_mes_detailRepository.Instance.IQueryablePage( pageData.Page, pageData.Rows, out int count, x => x.mes_id == pageData.Value.GetGuid(), orderBy: x => new Dictionary() { { x.heatID, QueryOrderBy.Desc } } ); PageGridData detailGrid = new PageGridData(); detailGrid.rows = query.GetIQueryableOrderBy(orderBy).ToList(); detailGrid.total = count; return detailGrid; } /// /// 取消工单出库外协 /// /// /// public WebResponseContent CancelsorcingWorkOrder(SaveModel saveModel) { WebResponseContent content = new WebResponseContent(); string compeletor = UserContext.Current.UserName; List list = new List(); try { foreach (var Key in saveModel.DelKeys) { var mes_head = _repository.Find(x => x.mes_id.ToString() == Key.ToString()).FirstOrDefault(); if (mes_head != null) { mes_head.area = null; _repository.Update(mes_head, x => new { x.area }, true); list.Add(mes_head.jobID); } } content.Data = list; content.OK(); WriteDBLog.Success("取消工单出库外协", content, "PCS", compeletor); } catch (Exception ex) { content.Error(ex.Message); WriteDBLog.Error("取消工单出库外协", content, "PCS", compeletor); } return content; } /// /// 工单出库外协 /// /// /// public WebResponseContent OutsorcingWorkOrder(SaveModel model) { WebResponseContent content = new WebResponseContent(); string compeletor = UserContext.Current.UserName; List list = new List(); try { foreach (var Key in model.DelKeys) { var mes_head = _repository.Find(x => x.mes_id.ToString() == Key.ToString()).FirstOrDefault(); if (mes_head != null) { mes_head.area = "外协"; _repository.Update(mes_head, x => new { x.area }, true); list.Add(mes_head.jobID); } } content.Data = list; content.OK(); WriteDBLog.Success("指定工单出库外协", content, "PCS", compeletor); } catch (Exception ex) { content.Error(ex.Message); WriteDBLog.Error("指定工单出库外协", content, "PCS", compeletor); } return content; } /// /// 完成工单 /// /// /// public WebResponseContent FinishWorkOrder(SaveModel model) { WebResponseContent content = new WebResponseContent(); try { string compeletor = UserContext.Current.UserName; foreach (var Key in model.DelKeys) { var mes_head = _repository.Find(x => x.mes_id.ToString() == Key.ToString()).FirstOrDefault(); if (mes_head != null) { AutoUpdateWork.AddHtyMesWork(mes_head, _repository, compeletor, "手动完成"); } } content.OK(); } catch (Exception ex) { } return content; } } }