| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473 | 
							- using SqlSugar;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Linq.Expressions;
 
- using System.Text;
 
- using wms.dto;
 
- using wms.dto.request.hj;
 
- using wms.dto.request.hj.dto;
 
- using wms.sqlsugar.model;
 
- using wms.sqlsugar.model.hj;
 
- using wms.util.Check;
 
- using static wms.dto.request.hj.dto.ReportResponse;
 
- namespace wms.sqlsugar
 
- {
 
-     /// <summary>
 
-     /// 创建仓储
 
-     /// </summary>
 
-     /// <typeparam name="T"></typeparam>
 
-     public class Repository<T> : SimpleClient<T> where T : BaseModel, new()
 
-     {
 
-         public Repository()
 
-         {
 
-             //固定数据库用法
 
-             base.Context = SqlSugarHelper.Db.GetConnectionScopeWithAttr<T>();
 
-             //动态库用法一般用于维护数据库连接字符串根据用法
 
-             //if (!SqlSugarHelper.Db.IsAnyConnection("用户读出来的数据库ConfigId")) 
 
-             //{
 
-             //    SqlSugarHelper.Db.AddConnection(new ConnectionConfig() { 数据库读出来信息 });
 
-             //}
 
-             //base.Context = SqlSugarHelper.Db.GetConnectionScope("用户读出来的数据库ConfigId");
 
-         }
 
-         public T InsertReturnEntity(T t)
 
-         {
 
-             t = CheckId.InitId<T>(t);
 
-             return base.Context.Insertable(t).ExecuteReturnEntity();
 
-         }
 
-         /// <summary>
 
-         /// 该方法默认不更新CreatedUserId,CreatedTime
 
-         /// </summary>
 
-         /// <param name="entity"></param>
 
-         /// <returns></returns>
 
-         public bool UpdateEntity(T entity)
 
-         {
 
-             return base.Context.Updateable(entity).IgnoreColumns(new string[] { "CreatedUserId", "CreatedTime", "CreatedUserName" }).ExecuteCommand() > 0;
 
-         }
 
-         public bool UpdateModelColumns(Expression<Func<T, T>> Columns, Expression<Func<T, bool>> WhereExpression)
 
-         {
 
-             return base.Update(Columns, WhereExpression);
 
-         }
 
-         public T GetModelByExpression(Expression<Func<T, bool>> WhereExpression)
 
-         {
 
-             return base.GetSingle(WhereExpression);
 
-         }
 
-         public bool UpdateStatus(long id, int status, long userId)
 
-         {
 
-             return base.Context.Updateable<T>().SetColumns(it => new T() { 
 
-                 //Status = status, UpdatedTime = DateTime.Now
 
-             }).Where(it => it.Id == id).ExecuteCommand() > 0;
 
-         }
 
-         public List<hjSysConfig> GetTunList(TunnelRequest request)
 
-         {
 
-             var list = base.Context.Queryable<hjSysConfig>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.WareHouse), p => p.Default2 == request.WareHouse)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Tunnel), p => p.Default1 == request.Tunnel)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.type), p => p.Default2 == request.type)
 
-                        .ToList();
 
-             return list;
 
-         }
 
-         public bool UpdateTunStatu(long id, string statu, long userId)
 
-         {
 
-             return base.Context.Updateable<hjSysConfig>().SetColumns(it => new hjSysConfig()
 
-             {
 
-                 SContent = statu,
 
-                 EditTime = DateTime.Now
 
-             }).Where(it => it.Id == id).ExecuteCommand() > 0;
 
-         }
 
-         public (List<hjBaseWarehouse>, int) GetPageWareHouseList(QuertRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBaseWarehouse>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Code), p => p.Code.Contains(request.Code))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Name), p => p.Name.Contains(request.Name))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.WareState), p => p.WareState == request.WareState)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.FactoryNo), p => p.FactoryNo == request.FactoryNo)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.WareType), p => p.WareType == request.WareType)
 
-                        .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<hjBaseWareZone>, int) GetPageWareZoneList(WareZoneRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBaseWareZone>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Code), p => p.Code.Contains(request.Code))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Name), p => p.Name.Contains(request.Name))
 
-                        .WhereIF(request.WareId > Const.Zero, p => p.WareId == request.WareId)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.WZoneState), p => p.WZoneState == request.WZoneState)
 
-                        .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<hjBaseWareLocation>, int) GetPageWareLocationList(WareLocationRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBaseWareLocation>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Code), p => p.Code.Contains(request.Code))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Name), p => p.Name.Contains(request.Name))
 
-                        .WhereIF(request.LocationType > Const.MinOne, p => p.LocationType == request.LocationType)
 
-                        .WhereIF(request.Tunnel > Const.Zero, p => p.Tunnel == request.Tunnel)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.WareCode), p => p.WareCode.Contains(request.WareCode))
 
-                        .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<hjBaseUnits>, int) GetPageUnitList(BaseUnitRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBaseUnits>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Code), p => p.Code.Contains(request.Code))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Name), p => p.Name.Contains(request.Name))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.PrimaryUnit), p => p.PrimaryUnit.Contains(request.PrimaryUnit))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.DeputyUnit), p => p.DeputyUnit.Contains(request.DeputyUnit))
 
-                        .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<hjBaseMater>, int) GetPageMaterList(BaseMaterRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBaseMater>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Code), p => p.Code.Contains(request.Code))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Name), p => p.Name.Contains(request.Name))
 
-                        .WhereIF(request.HoldDuration > Const.Zero, p => p.HoldDuration == request.HoldDuration)
 
-                        .WhereIF(request.PlatingWeight > Const.Zero, p => p.PlatingWeight == request.PlatingWeight)
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Strength), p => p.Strength.Contains(request.Strength))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.Plating), p => p.Plating.Contains(request.Plating))
 
-                        .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<hjBillBarcode>, int) GetPageBarCodeList(BaseBarCodeRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillBarcode>()
 
-                        .WhereIF(!string.IsNullOrEmpty(request.MatCode), p => p.MatCode.Contains(request.MatCode))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.HWBarCode), p => p.HWBarCode.Contains(request.HWBarCode))
 
-                        .WhereIF(!string.IsNullOrEmpty(request.RFIDBarCode), p => p.RFIDBarCode.Contains(request.RFIDBarCode))
 
-                        .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<MaterReportResponse>, int, decimal) GetPageMaterInAndOutReportList(ReportRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillContainer, hjBillTaskHistory, hjBaseWarehouse>((container, taskHistory, house) => new object[]
 
-             {
 
-                JoinType.Inner, container.ContGrpId == taskHistory.ContGrpId,
 
-                JoinType.Inner, taskHistory.WareCode == house.Code
 
-             })
 
-             .WhereIF(!string.IsNullOrEmpty(request.RFID), (container, taskHistory, house) => taskHistory.ContGrpBarCode.Contains(request.RFID))
 
-             .WhereIF(!string.IsNullOrEmpty(request.HWSpec), (container, taskHistory, house) => container.HWSpec == request.HWSpec)
 
-             .WhereIF(!string.IsNullOrEmpty(request.Grade), (container, taskHistory, house) => container.Grade == request.Grade)
 
-             .WhereIF(!string.IsNullOrEmpty(request.ExecDocsNo), (container, taskHistory, house) => container.ExecDocsNo.Contains(request.ExecDocsNo))
 
-             .WhereIF(!string.IsNullOrEmpty(request.PutLocNo), (container, taskHistory, house) => container.PutLocNo.Contains(request.PutLocNo))
 
-             .WhereIF(request.TaskCode > Const.Zero, (container, taskHistory, house) => taskHistory.TaskCode == request.TaskCode)
 
-             .WhereIF(!string.IsNullOrEmpty(request.Tunnel), (container, taskHistory, house) => taskHistory.Tunnel == request.Tunnel)
 
-             .WhereIF(!string.IsNullOrEmpty(request.StartPoint), (container, taskHistory, house) => taskHistory.StartPoint == request.StartPoint)
 
-             .WhereIF(!string.IsNullOrEmpty(request.EndPoint), (container, taskHistory, house) => taskHistory.EndPoint == request.EndPoint)
 
-             .Select((container, taskHistory, house) => new MaterReportResponse()
 
-             {
 
-                 RFID = container.ContGrpBarCode,
 
-                 ContGrpBarCode = container.ContGrpBarCode,
 
-                 ExecState = container.ExecState.ToString(),
 
-                 ExecDocsNo = container.ExecDocsNo,
 
-                 ExecDocsRowNo = container.ExecDocsRowNo,
 
-                 CustNo = container.CustCode,
 
-                 CustName = container.CustName,
 
-                 PutRow = container.PutRow,
 
-                 PutCol = container.PutCol,
 
-                 PutLayer = container.PutLayer,
 
-                 PutLocNo = container.PutLocNo,
 
-                 InvBarCode = container.InvBarCode,
 
-                 InvState = container.InvState,
 
-                 InDocsNo = container.InDocsNo,
 
-                 InDocsRowNo = container.InDocsRowNo,
 
-                 SuppCode = container.SuppCode,
 
-                 SuppName = container.SuppName,
 
-                 WareHouseName = house.Name,
 
-                 ProductTime = container.ProductTime,
 
-                 RFIDBarCode = container.RFIDBarCode,
 
-                 HWSpec = container.HWSpec,
 
-                 IsSurplus = container.IsSurplus,
 
-                 IsRework = container.IsRework,
 
-                 IsFast = container.IsFast,
 
-                 IsFail = container.IsFail,
 
-                 FailReason = container.FailReason,
 
-                 Grade = container.Grade,
 
-                 IsBack = container.IsBack,
 
-                 BackReason = container.Reason,
 
-                 ProductWbNo = container.ProductWbNo,
 
-                 ProductLineNo = container.ProductLineNo
 
-             })
 
-             .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             decimal pro = list.Sum(p => p.TotalWtQty);  //临时计算总重量
 
-             //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();
 
-             return (list.ToList(), count, pro);
 
-         }
 
-         public (List<RealTimeInventoryReportResponse>, int, decimal) GetPageRealTimeInventoryReportList(ReportRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillContainer, hjBaseWarehouse, hjBaseWareLocation, hjBaseMater>((container, house, location, mater) => new object[]
 
-             {
 
-                JoinType.Left, container.WarehouseId == house.Id,
 
-                JoinType.Left, house.Code == location.WareCode,
 
-                JoinType.Left, container.MatId == mater.Id
 
-             })
 
-             .WhereIF(!string.IsNullOrEmpty(request.ContGrpBarCode), (container, house, location, mater) => container.ContGrpBarCode.Contains(request.ContGrpBarCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.InvBarCode), (container, house, location, mater) => container.InvBarCode.Contains(request.InvBarCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.Location), (container, house, location, mater) => location.Code.Contains(request.Location))
 
-             .WhereIF(!string.IsNullOrEmpty(request.MatCode), (container, house, location, mater) => mater.Code.Contains(request.MatCode))
 
-             .OrderBy((container, house, location, mater) => container.OneInTime, OrderByType.Asc)
 
-             .Select((container, house, location, mater) => new RealTimeInventoryReportResponse()
 
-             {
 
-                 ContGrpBarCode = container.ContGrpBarCode,
 
-                 WareHouseName = house.Name,
 
-                 InvBarCode = container.InvBarCode,
 
-                 HWSpec = container.HWSpec,
 
-                 MatCode = mater.Code,
 
-                 Grade = container.Grade,
 
-                 SilkType = container.SilkType,
 
-                 TotalWtQty = container.TotalWtQty,
 
-                 NetWQty = container.NetWQty,
 
-                 TareWQty = container.TareWQty,
 
-                 LengthQty = container.LengthQty,
 
-                 InvState = container.InvState,
 
-                 IsSurplus = container.IsSurplus,
 
-                 IsRework = container.IsRework,
 
-                 IsFast = container.IsFast,
 
-                 IsBack = container.IsBack,
 
-                 BackReason = container.Reason,
 
-                 IsFail = container.IsFail,
 
-                 FailReason = container.FailReason,
 
-                 ProductTime = container.ProductTime,
 
-                 OneInTime = container.OneInTime,
 
-                 InDocsNo = container.InDocsNo,
 
-                 InDocsRowNo = container.InDocsRowNo,
 
-                 PutRow = container.PutRow,
 
-                 PutCol = container.PutCol,
 
-                 PutLayer = container.PutLayer,
 
-                 PutLocNo = container.PutLocNo,
 
-                 SuppCode = container.SuppCode,
 
-                 SuppName = container.SuppName,
 
-                 CustNo = container.CustCode,
 
-                 CustName = container.CustName,
 
-                 RFIDBarCode = container.RFIDBarCode,
 
-                 Tunnel = location.Tunnel.ToString(),
 
-                 Location = location.Code,
 
-               
 
-             })
 
-             .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             decimal pro = list.Sum(p => p.TotalWtQty);  //临时计算总重量
 
-             //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();
 
-             return (list.ToList(), count, pro);
 
-         }
 
-         public (List<InventoryAgingReportResponse>, int) GetPageInventoryAgingReportList(ReportRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillContainer, hjBaseWarehouse, hjBaseWareLocation, hjBaseMater>((container, house, location, mater) => new object[]
 
-             {
 
-                JoinType.Left, container.WarehouseId == house.Id,
 
-                JoinType.Left, house.Code == location.WareCode,
 
-                JoinType.Left, container.MatId == mater.Id
 
-             })
 
-             .WhereIF(!string.IsNullOrEmpty(request.RFID), (container, house, location, mater) => container.RFIDBarCode.Contains(request.RFID))
 
-             .WhereIF(!string.IsNullOrEmpty(request.HWSpec), (container, house, location, mater) => container.HWSpec == request.HWSpec)
 
-             .WhereIF(!string.IsNullOrEmpty(request.Tunnel), (container, house, location, mater) => location.Tunnel == int.Parse(request.Tunnel))
 
-             .WhereIF(!string.IsNullOrEmpty(request.MatCode), (container, house, location, mater) => mater.Code.Contains(request.MatCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.Grade), (container, house, location, mater) => container.Grade == request.Grade)
 
-             .WhereIF(request.HoldDuration != null && request.HoldDuration > 0, (container, house, location, mater) => mater.HoldDuration == request.HoldDuration)
 
-             .GroupBy((container, house, location, mater) => new {
 
-                 RFIDBarCode = container.RFIDBarCode,
 
-                 HWSpec = container.HWSpec,
 
-                 MatCode = mater.Code,
 
-                 MatName = mater.Name,
 
-                 Grade = container.Grade,
 
-                 ProductTime = container.ProductTime,
 
-                 HoldDuration = mater.HoldDuration,
 
-                 Tunnel = location.Tunnel.ToString()
 
-             })
 
-             .Select((container, house, location, mater) => new InventoryAgingReportResponse()
 
-             {
 
-                 RFIDBarCode = container.RFIDBarCode,
 
-                 HWSpec = container.HWSpec,
 
-                 MatCode = mater.Code,
 
-                 MatName = mater.Name,
 
-                 Grade = container.Grade,
 
-                 ProductTime = container.ProductTime,
 
-                 HoldDuration = mater.HoldDuration,
 
-                 Tunnel = location.Tunnel.ToString()
 
-                 //Remaindays = (decimal)(container.ProductTime.AddDays((double)mater.HoldDuration) - DateTime.Now).TotalHours
 
-                 //Duedate = container.ProductTime.AddDays((double)mater.HoldDuration)
 
-             })
 
-             .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<TaskRsponse>, int) GetPageTaskList(TaskRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillTask, hjBaseWarehouse>((task, house) => new object[]
 
-             {
 
-                JoinType.Inner, task.WareCode == house.Code
 
-             })
 
-             .WhereIF(request.TaskCode > Const.Zero, (task, house) => task.TaskCode == request.TaskCode)
 
-             .WhereIF(request.TaskType > Const.Zero, (task, house) => task.TaskType == request.TaskType)
 
-             .WhereIF(request.TaskState > Const.Zero, (task, house) => task.TaskState == request.TaskState)
 
-             .WhereIF(request.Tunnel > Const.Zero, (task, house) => task.Tunnel == request.Tunnel)
 
-             .WhereIF(!string.IsNullOrEmpty(request.BusType), (task, house) => task.BusType.Contains(request.BusType))
 
-             .WhereIF(!string.IsNullOrEmpty(request.WareCode), (task, house) => task.WareCode.Contains(request.WareCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.ContGrpBarCode), (task, house) => task.ContGrpBarCode.Contains(request.ContGrpBarCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.EndPoint), (task, house) => task.EndPoint.Contains(request.EndPoint))
 
-             .WhereIF(!string.IsNullOrEmpty(request.StartPoint), (task, house) => task.StartPoint.Contains(request.StartPoint))
 
-             .WhereIF(!string.IsNullOrEmpty(request.DocCode), (task, house) => task.DocCode.Contains(request.DocCode))
 
-             .Select((task, house) => new TaskRsponse()
 
-             {
 
-                 Id = task.Id,
 
-                 TaskCode = task.TaskCode,
 
-                 TaskType = task.TaskType,
 
-                 TaskState = task.TaskState,
 
-                 Tunnel = task.Tunnel,
 
-                 ContGrpBarCode = task.ContGrpBarCode,
 
-                 EndPoint = task.EndPoint,
 
-                 StartPoint = task.StartPoint,
 
-                 BusType = task.BusType,
 
-                 WareCodeName = house.Name,
 
-                 Priority = task.Priority,
 
-                 EquNo = task.EquNo,
 
-                 Srm = task.SrmNo,
 
-                 CurPoint = task.CurPoint,
 
-                 NextPoint = task.NextPoint,
 
-                 Qty = task.Qty,
 
-                 DocCode = task.DocCode,
 
-                 IsManual = task.IsManual,
 
-                 IsEmpty = task.IsEmpty,
 
-                 AddWho = task.AddWho,
 
-                 EditWho = task.EditWho,
 
-                 AddTime = task.AddTime,
 
-                 EditTime = task.EditTime
 
-             })
 
-             .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<TaskRsponse>, int) GetPageTaskHistoryList(TaskRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillTaskHistory, hjBaseWarehouse>((taskHistory, house) => new object[]
 
-             {
 
-                JoinType.Inner, taskHistory.WareCode == house.Code
 
-             })
 
-             .WhereIF(request.TaskCode > Const.Zero, (taskHistory, house) => taskHistory.TaskCode == request.TaskCode)
 
-             .WhereIF(request.TaskType > Const.Zero, (taskHistory, house) => taskHistory.TaskType == request.TaskType)
 
-             .WhereIF(request.TaskState > Const.Zero, (taskHistory, house) => taskHistory.TaskState == request.TaskState)
 
-             .WhereIF(request.Tunnel > Const.Zero, (taskHistory, house) => taskHistory.Tunnel == request.Tunnel.ToString())
 
-             .WhereIF(!string.IsNullOrEmpty(request.BusType), (taskHistory, house) => taskHistory.BusType.Contains(request.BusType))
 
-             .WhereIF(!string.IsNullOrEmpty(request.WareCode), (taskHistory, house) => taskHistory.WareCode.Contains(request.WareCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.ContGrpBarCode), (taskHistory, house) => taskHistory.ContGrpBarCode.Contains(request.ContGrpBarCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.EndPoint), (taskHistory, house) => taskHistory.EndPoint.Contains(request.EndPoint))
 
-             .WhereIF(!string.IsNullOrEmpty(request.StartPoint), (taskHistory, house) => taskHistory.StartPoint.Contains(request.StartPoint))
 
-             .WhereIF(!string.IsNullOrEmpty(request.DocCode), (taskHistory, house) => taskHistory.DocCode.Contains(request.DocCode))
 
-             .Select((taskHistory, house) => new TaskRsponse()
 
-             {
 
-                 Id = taskHistory.Id,
 
-                 TaskCode = taskHistory.TaskCode,
 
-                 TaskType = taskHistory.TaskType,
 
-                 TaskState = taskHistory.TaskState,
 
-                 Tunnel = int.Parse(taskHistory.Tunnel),
 
-                 ContGrpBarCode = taskHistory.ContGrpBarCode,
 
-                 EndPoint = taskHistory.EndPoint,
 
-                 StartPoint = taskHistory.StartPoint,
 
-                 BusType = taskHistory.BusType,
 
-                 WareCodeName = house.Name,
 
-                 Priority = taskHistory.Priority,
 
-                 EquNo = taskHistory.EquNo,
 
-                 Srm = taskHistory.SrmNo,
 
-                 CurPoint = taskHistory.CurPoint,
 
-                 NextPoint = taskHistory.NextPoint,
 
-                 Qty = taskHistory.Qty,
 
-                 DocCode = taskHistory.DocCode,
 
-                 IsManual = int.Parse(taskHistory.IsManual),
 
-                 IsEmpty = int.Parse(taskHistory.IsEmpty),
 
-            
 
-                 AddWho = taskHistory.AddWho,
 
-                 EditWho = taskHistory.EditWho,
 
-                 AddTime = taskHistory.AddTime,
 
-                 EditTime = taskHistory.EditTime
 
-             })
 
-             .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();
 
-             return (list.ToList(), count);
 
-         }
 
-         public (List<RealTimeInventoryReportResponse>, int, decimal) GetPageStockdetailList(StockRequest request)
 
-         {
 
-             int count = 0;
 
-             var list = base.Context.Queryable<hjBillContainer, hjBaseWarehouse, hjBaseWareLocation, hjBaseMater>((stock, house, location, mater) => new object[]
 
-             {
 
-                 JoinType.Left, stock.WarehouseId == house.Id,
 
-                 JoinType.Left, house.Id == location.WareId,
 
-                 JoinType.Left, stock.MatId == mater.Id
 
-             })
 
-             .Where((stock, house, location, mater) => house.WareState == Const.One.ToString() 
 
-             && location.LocationState == LocationState.LocationState_Full.GetHashCode() && location.LocationType == LocationType.LocationType_StorageLocation.GetHashCode()
 
-             && stock.ExecState == InvState.InvEcecState_In.GetHashCode() && stock.ContGrpId == location.ContGrpID)
 
-             .WhereIF(!string.IsNullOrEmpty(request.Grade), (stock, house, location, mater) => stock.Grade == request.Grade)
 
-             .WhereIF(!string.IsNullOrEmpty(request.Location), (stock, house, location, mater) => location.Code.Contains(request.Location))
 
-             .WhereIF(!string.IsNullOrEmpty(request.MatCode), (stock, house, location, mater) => mater.Code.Contains(request.MatCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.ContGrpBarCode), (stock, house, location, mater) => stock.ContGrpBarCode.Contains(request.ContGrpBarCode))
 
-             .WhereIF(!string.IsNullOrEmpty(request.HWSpec), (stock, house, location, mater) => stock.HWSpec == request.HWSpec)
 
-             .WhereIF(request.HoldDuration > 0, (stock, house, location, mater) => mater.HoldDuration == request.HoldDuration)
 
-             .Select((stock, house, location, mater) => new RealTimeInventoryReportResponse()
 
-             {
 
-                 ContGrpBarCode = stock.ContGrpBarCode,
 
-                 ExecState = stock.ExecState.ToString(),
 
-                 ExecDocsNo = stock.ExecDocsNo,
 
-                 ExecDocsRowNo = stock.ExecDocsRowNo,
 
-                 ExecDocsTypeCode = stock.ExecDocsTypeCode,
 
-                 MatCode = mater.Code,
 
-                 MatName = mater.Name,
 
-                 Location = location.Code,
 
-                 Tunnel = location.Tunnel.ToString(),
 
-                 CustNo = stock.CustCode,
 
-                 CustName = stock.CustName,
 
-                 WareHouseName = house.Name,
 
-                 InvBarCode = stock.InvBarCode,
 
-                 InvState = stock.InvState,
 
-                 InDocsNo = stock.InDocsNo,
 
-                 InDocsRowNo = stock.InDocsRowNo,
 
-                 SuppCode = stock.SuppCode,
 
-                 SuppName = stock.SuppName,
 
-                 RowStop = location.RowStop,
 
-                 TotalWtQty = stock.TotalWtQty,
 
-                 NetWQty = stock.NetWQty,
 
-                 TareWQty = stock.TareWQty,
 
-                 LengthQty = stock.LengthQty,
 
-                 BatchNo = stock.Batch,
 
-                 ProductTime = stock.ProductTime,
 
-                 OneInTime = stock.OneInTime,
 
-                 RFIDBarCode = stock.RFIDBarCode,
 
-                 HWSpec = stock.HWSpec,
 
-                 IsSurplus = stock.IsSurplus,
 
-                 IsRework = stock.IsRework,
 
-                 IsFast = stock.IsFast,
 
-                 IsFail = stock.IsFail,
 
-                 FailReason = stock.FailReason,
 
-                 Grade = stock.Grade,
 
-                 IsBack = stock.IsBack,
 
-                 BackReason = stock.Reason,
 
-                 ProductWbNo = stock.ProductWbNo,
 
-                 ProductLineNo = stock.ProductLineNo,
 
-          
 
-             })
 
-             .ToPageList(request.PageIndex, request.PageSize, ref count);
 
-             decimal total = list.Sum(p => p.TotalWtQty);
 
-             //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();
 
-             return (list.ToList(), count, total);
 
-         }
 
-     }
 
- }
 
 
  |