using System;
|
using System.Collections.Generic;
|
using System.Linq.Expressions;
|
using System.Text;
|
using Model.ModelDto.BllCheckDto;
|
using SqlSugar;
|
using WMS.DAL;
|
using WMS.Entity.BllCheckEntity;
|
using WMS.Entity.Context;
|
using WMS.Entity.SysEntity;
|
using WMS.IBLL.IBllCheckServer;
|
|
namespace WMS.BLL.BllCheckServer
|
{
|
public class StockCheckLogServer:DbHelper<BllStockCheckLog>,IStockCheckLogServer
|
{
|
private static readonly SqlSugarScope Db = DataContext.Db;
|
public StockCheckLogServer() : base(Db)
|
{
|
}
|
|
//获取盘点记录
|
public List<StockCheckLogDto> GetStockCheckLogList(string crNo, string status, string palletNo, string boxNo, string skuNo, string skuName, string lotNo, int page, int limit, out int count)
|
{
|
try
|
{
|
Expression<Func<BllStockCheckLog, bool>> item = Expressionable.Create<BllStockCheckLog>()
|
.AndIF(!string.IsNullOrWhiteSpace(crNo), m => m.CRNo.Contains(crNo.Trim()))
|
.AndIF(!string.IsNullOrWhiteSpace(status), m => m.CheckResult == int.Parse(status))
|
.AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim()))
|
.AndIF(!string.IsNullOrWhiteSpace(boxNo), m => m.BoxNo.Contains(boxNo.Trim()))
|
.AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuName.Trim()))
|
.AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(lotNo.Trim()))
|
.AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim()))
|
.And(m => m.IsDel == "0")
|
.ToExpression();//注意 这一句 不能少
|
var total = 0;
|
var list = GetAllWhereAsync(item)
|
.LeftJoin<SysUserInfor>((a, b) => a.CheckUserId == b.Id)
|
.LeftJoin<SysUserInfor>((a, b,c) => a.CreateUser == c.Id)
|
.LeftJoin<SysUserInfor>((a, b, c,d) => a.CreateUser == d.Id)
|
.Select((a, b, c,d) => new StockCheckLogDto()
|
{
|
Id = a.Id,
|
CrNo = a.CRNo,
|
PalletNo = a.PalletNo,
|
BoxNo = a.BoxNo,
|
BoxNo2 = a.BoxNo2,
|
BoxNo3 = a.BoxNo3,
|
Qty = a.Qty,
|
RealQty = a.RealQty,
|
CheckDate = a.CheckDate,
|
CheckResult = a.CheckResult,
|
CheckUserName = b.RealName,
|
SkuNo = a.SkuNo,
|
SkuName = a.SkuName,
|
Standard = a.Standard,
|
LotNo = a.LotNo,
|
LotText = a.LotText,
|
SupplierLot = a.SupplierLot,
|
|
CreateUserName = c.RealName,
|
UpdateUserName = d.RealName,
|
CreateTime = a.CreateTime,
|
UpdateTime = a.UpdateTime,
|
|
}).OrderByDescending(a=>a.CreateTime).ToOffsetPage(page, limit, ref total);
|
count = total;
|
|
return list;
|
}
|
catch (Exception e)
|
{
|
throw new Exception(e.Message);
|
}
|
}
|
}
|
}
|