/*
|
*所有关于Dt_inboundorder_detail_hty类的业务代码应在此处编写
|
*可使用repository.调用常用方法,获取EF/Dapper等信息
|
*如果需要事务请使用repository.DbContextBeginTransaction
|
*也可使用DBServerProvider.手动获取数据库相关信息
|
*用户信息、权限、角色等使用UserContext.Current操作
|
*Dt_inboundorder_detail_htyService对增、删、改查、导入、导出、审核业务代码扩展参照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.Services.IRepositories;
|
using System;
|
using WIDESEA.Services.IServices;
|
using WIDESEA.Core.ManageUser;
|
using WIDESEA.Services.Repositories;
|
using WIDESEA.Common;
|
using System.Collections.Generic;
|
|
namespace WIDESEA.Services.Services
|
{
|
public partial class Dt_inboundorder_detail_htyService
|
{
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
private readonly IDt_inboundorder_detail_htyRepository _repository;//访问数据库
|
|
[ActivatorUtilitiesConstructor]
|
public Dt_inboundorder_detail_htyService(
|
IDt_inboundorder_detail_htyRepository dbRepository,
|
IHttpContextAccessor httpContextAccessor
|
)
|
: base(dbRepository)
|
{
|
_httpContextAccessor = httpContextAccessor;
|
_repository = dbRepository;
|
//多租户会用到这init代码,其他情况可以不用
|
//base.Init(dbRepository);
|
}
|
|
/// <summary>
|
/// 添加入库订单明细历史数据
|
/// </summary>
|
/// <param name="delKeys"></param>
|
/// <returns></returns>
|
public WebResponseContent AddToHistory(List<string> delKeys)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
List<string> headIds = new List<string>();
|
for (int i = 0; i < delKeys.Count(); i++)
|
{
|
IRepository<Dt_inboundorder_detail> repositoryDetail = Dt_inboundorder_detailRepository.Instance;
|
Dt_inboundorder_detail detail = repositoryDetail.FindFirst(a => a.inorderdtl_id == new System.Guid(delKeys[i].ToString()));
|
IRepository<Dt_inboundorder_head_hty> headhty = Dt_inboundorder_head_htyRepository.Instance;
|
Dt_inboundorder_head_hty _Inboundorder_Head_Hty = headhty.FindFirst(d => d.inorderhead_sourceid == detail.inorderdtl_headid);
|
detail.inorderdtl_state = ((int)OrderState.WMSClosed).ToString();
|
Dt_inboundorder_detail_hty detail_Hty = new Dt_inboundorder_detail_hty
|
{
|
inorderdtl_areaid = detail.inorderdtl_areaid,
|
inorderdtl_batch = detail.inorderdtl_batch,
|
inorderdtl_batch_cus = detail.inorderdtl_batch_cus,
|
inorderdtl_checkoutby = detail.inorderdtl_checkoutby,
|
inorderdtl_checktype = detail.inorderdtl_checktype,
|
inorderdtl_compeletor = UserContext.Current.UserTrueName,
|
inorderdtl_createtime = detail.inorderdtl_createtime,
|
inorderdtl_creator = detail.inorderdtl_creator,
|
inorderdtl_depart = detail.inorderdtl_depart,
|
inorderdtl_expiredate = detail.inorderdtl_expiredate,
|
inorderdtl_finishedqty = detail.inorderdtl_finishedqty,
|
inorderdtl_finishtime = DateTime.Now,
|
inorderdtl_grade = detail.inorderdtl_grade,
|
inorderdtl_headid = detail.inorderdtl_headid,
|
inorderdtl_isupload = detail.inorderdtl_isupload,
|
inorderdtl_item = detail.inorderdtl_item,
|
inorderdtl_loadtime = detail.inorderdtl_loadtime,
|
inorderdtl_materielid = detail.inorderdtl_materielid,
|
inorderdtl_number = detail.inorderdtl_number,
|
inorderdtl_operatetype = "删除",
|
inorderdtl_prodtdate = detail.inorderdtl_prodtdate,
|
inorderdtl_progressqty = detail.inorderdtl_progressqty,
|
inorderdtl_qty = detail.inorderdtl_qty,
|
inorderdtl_sourceid = _Inboundorder_Head_Hty.inorderhead_id.ToString(),
|
inorderdtl_state = detail.inorderdtl_state,
|
inorderdtl_supply = detail.inorderdtl_supply
|
};
|
//Add<Dt_inboundorder_detail_hty>(detail_Hty);//将删除数据添加到历史数据表
|
repository.Add(detail_Hty,true);
|
|
//if (!headIds.Contains(detail.inorderdtl_headid))
|
// headIds.Add(detail.inorderdtl_headid);
|
|
//IDt_inboundorder_detailService detailService = Dt_inboundorder_detailService.Instance;
|
//detailService.Del(new object[] { detail.inorderdtl_id.ToString() }, false);
|
|
}
|
//content.Data = headIds;
|
content.Status = true;
|
}
|
catch (Exception ex)
|
{
|
content.Status = false;
|
content.Message = ex.Message;
|
}
|
return content;
|
}
|
}
|
}
|