/*
|
*所有关于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<string, QueryOrderBy> orderBy = GetPageDataSort(pageData, typeof(dt_mes_detail).GetProperties());
|
////明细表自定义查询方式一:EF
|
var query = dt_mes_detailRepository.Instance.IQueryablePage<dt_mes_detail>(
|
pageData.Page,
|
pageData.Rows,
|
out int count,
|
x => x.mes_id == pageData.Value.GetGuid(),
|
orderBy: x => new Dictionary<object, QueryOrderBy>() { { x.heatID, QueryOrderBy.Desc } }
|
);
|
PageGridData<dt_mes_detail> detailGrid = new PageGridData<dt_mes_detail>();
|
detailGrid.rows = query.GetIQueryableOrderBy(orderBy).ToList();
|
detailGrid.total = count;
|
|
return detailGrid;
|
}
|
/// <summary>
|
/// 取消工单出库外协
|
/// </summary>
|
/// <param name="saveModel"></param>
|
/// <returns></returns>
|
public WebResponseContent CancelsorcingWorkOrder(SaveModel saveModel)
|
{
|
WebResponseContent content = new WebResponseContent();
|
string compeletor = UserContext.Current.UserName;
|
List<string> list = new List<string>();
|
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;
|
}
|
/// <summary>
|
/// 工单出库外协
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public WebResponseContent OutsorcingWorkOrder(SaveModel model)
|
{
|
WebResponseContent content = new WebResponseContent();
|
string compeletor = UserContext.Current.UserName;
|
List<string> list = new List<string>();
|
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;
|
}
|
/// <summary>
|
/// 完成工单
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
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;
|
}
|
}
|
}
|