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);
- }
- }
- }
|