/*
*所有关于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;
namespace WIDESEA_WCS.Services
{
public partial class dt_mes_headService
{
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 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.OK();
WriteDBLog.Success("取消工单出库外协", $"工单编号:{list}", "PCS", compeletor);
}
catch (Exception ex)
{
WriteDBLog.Error("取消工单出库外协", $"工单编号:{list}\n错误信息:{ex.Message}", "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.OK();
WriteDBLog.Success("指定工单出库外协", $"工单编号:{list}", "PCS", compeletor);
}
catch (Exception ex)
{
WriteDBLog.Error("指定工单出库外协", $"工单编号:{list}\n错误信息:{ex.Message}", "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;
}
}
}