123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438 |
- using SqlSugar;
- using wms.sqlsugar.model.sx;
- using WMS.BZModels;
- using WMS.Info;
- using WMS.BZSqlSugar;
- using WMS.BZModels.Dto.SX.BillInvDtos;
- using WMS.BZModels.Models.SX;
- namespace WMS.BZServices.SX
- {
- public class BaseInvService
- {
- private readonly Repository<BillInvnow> _billInvnowrepository;
- public BaseInvService(Repository<BillInvnow> billInvnowrepository)
- {
- _billInvnowrepository = billInvnowrepository;
- }
- public PagedInfo<BillInvNowDto> GetPageList(Pagination pagination, BillInvNowQueryDto billInvNowQueryDto)
- {
- ISugarQueryable<BillInvNowDto> sugarQueryable = GetQueryable(billInvNowQueryDto);
- var list = sugarQueryable.ToPage(pagination);
- return list;
- }
- public PagedInfo<BillInvNowDto> GetPageList2(Pagination pagination, BillInvNowQueryDto2 billInvNowQueryDto)
- {
- ISugarQueryable<BillInvNowDto> sugarQueryable = GetQueryable2(billInvNowQueryDto);
- var list = sugarQueryable.ToPage(pagination);
- return list;
- }
- public IList<BillInvNowDto> GetList(BillInvNowQueryDto billInvNowQueryDto)
- {
- ISugarQueryable<BillInvNowDto> sugarQueryable = GetQueryable(billInvNowQueryDto);
- var list = sugarQueryable.ToList();
- return list;
- }
- private ISugarQueryable<BillInvNowDto> GetQueryable(BillInvNowQueryDto billInvNowQueryDto)
- {
- var predicate = Expressionable.Create<BillInvnow, BaseWarecell, BaseWarehouse>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.KeyWord), (billInvnow, warecell, warehouse) => billInvnow.RFIDBarCode.Contains(billInvNowQueryDto.KeyWord) || billInvnow.ContGrpBarCode.Contains(billInvNowQueryDto.KeyWord) || billInvnow.MatCode.Contains(billInvNowQueryDto.KeyWord) || billInvnow.MatName.Contains(billInvNowQueryDto.KeyWord) || billInvnow.InvBarCode.Contains(billInvNowQueryDto.KeyWord));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Id), (billInvnow, warecell, warehouse) => billInvnow.Id.ToString().Contains(billInvNowQueryDto.Id));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.WarehouseId), (billInvnow, warecell, warehouse) => billInvnow.WarehouseId.ToString().Contains(billInvNowQueryDto.WarehouseId));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.ContGrpId), (billInvnow, warecell, warehouse) => billInvnow.ContGrpId.ToString().Contains(billInvNowQueryDto.ContGrpId));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.EquContGrpId), (billInvnow, warecell, warehouse) => billInvnow.ContGrpId.ToString().Equals(billInvNowQueryDto.EquContGrpId));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.MatCode), (billInvnow, warecell, warehouse) => billInvnow.MatCode.Contains(billInvNowQueryDto.MatCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.MatName), (billInvnow, warecell, warehouse) => billInvnow.MatName.Contains(billInvNowQueryDto.MatName));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.RFIDBarCode), (billInvnow, warecell, warehouse) => billInvnow.RFIDBarCode.Contains(billInvNowQueryDto.RFIDBarCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.InvBarCode), (billInvnow, warecell, warehouse) => billInvnow.InvBarCode.Contains(billInvNowQueryDto.InvBarCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.PutRow), (billInvnow, warecell, warehouse) => billInvnow.PutRow.Equals(billInvNowQueryDto.PutRow));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.PutCol), (billInvnow, warecell, warehouse) => billInvnow.PutCol.Equals(billInvNowQueryDto.PutCol));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.PutLayer), (billInvnow, warecell, warehouse) => billInvnow.PutLayer.Equals(billInvNowQueryDto.PutLayer));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Grade), (billInvnow, warecell, warehouse) => billInvnow.Grade.Contains(billInvNowQueryDto.Grade));
- predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.OneInTimeBegin.HasValue, (billInvnow, warecell, warehouse) => billInvnow.OneInTime >= billInvNowQueryDto.OneInTimeBegin);
- predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.OneInTimeEnd.HasValue, (billInvnow, warecell, warehouse) => billInvnow.OneInTime <= billInvNowQueryDto.OneInTimeEnd);
- predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.ProductTimeBegin.HasValue, (billInvnow, warecell, warehouse) => billInvnow.ProductTime >= billInvNowQueryDto.ProductTimeBegin);
- predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.ProductTimeEnd.HasValue, (billInvnow, warecell, warehouse) => billInvnow.ProductTime <= billInvNowQueryDto.ProductTimeEnd);
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Tunnel), (billInvnow, warecell, warehouse) => warecell.Tunnel.Equals(billInvNowQueryDto.Tunnel));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Code), (billInvnow, warecell, warehouse) => warecell.Code.Contains(billInvNowQueryDto.Code));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsSurplus), (billInvnow, warecell, warehouse) => billInvnow.IsSurplus.Equals(billInvNowQueryDto.IsSurplus));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsRework), (billInvnow, warecell, warehouse) => billInvnow.IsRework.Equals(billInvNowQueryDto.IsRework));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsFail), (billInvnow, warecell, warehouse) => billInvnow.IsFail.Equals(billInvNowQueryDto.IsFail));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsFast), (billInvnow, warecell, warehouse) => billInvnow.IsFast.Equals(billInvNowQueryDto.IsFast));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsBack), (billInvnow, warecell, warehouse) => billInvnow.IsBack.Equals(billInvNowQueryDto.IsBack));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsBlack), (billInvnow, warecell, warehouse) => billInvnow.IsBlack.Equals(billInvNowQueryDto.IsBlack));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsControlpanel), (billInvnow, warecell, warehouse) => billInvnow.IsControlpanel.Equals(billInvNowQueryDto.IsControlpanel));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsTorsChk), (billInvnow, warecell, warehouse) => billInvnow.IsTorsChk.Equals(billInvNowQueryDto.IsTorsChk));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsCore), (billInvnow, warecell, warehouse) => billInvnow.IsCore.Equals(billInvNowQueryDto.IsCore));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.WbGroupCode), (billInvnow, warecell, warehouse) => billInvnow.WbGroupCode.Contains(billInvNowQueryDto.WbGroupCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.SolderCount), (billInvnow, warecell, warehouse) => billInvnow.SolderCount.ToString().Contains(billInvNowQueryDto.SolderCount));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.HoldTime), (billInvnow, warecell, warehouse) => billInvnow.HoldTime.ToString().Contains(billInvNowQueryDto.HoldTime));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Wind), (billInvnow, warecell, warehouse) => billInvnow.Wind.ToString().Contains(billInvNowQueryDto.Wind));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.TorsChkQty), (billInvnow, warecell, warehouse) => billInvnow.TorsChkQty.Equals(billInvNowQueryDto.TorsChkQty));
- //if (!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut) && billInvNowQueryDto?.IsTimeOut == "0")
- //{
- // predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut), (billInvnow, warecell, warehouse) => (DateTime.Now - billInvnow.ProductTime).TotalHours <= 72 && billInvnow.InDocsNo.ToLower().Contains("cha"));
- //}
- //else
- if (!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut) && billInvNowQueryDto?.IsTimeOut == "1")
- {
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut), (billInvnow, warecell, warehouse) => (billInvnow.ProductMachCode.Contains("R") && billInvnow.OneInTime < DateTime.Now.AddHours(-72)) || (!billInvnow.ProductMachCode.Contains("R") && billInvnow.ProductTime < DateTime.Now.AddHours(-72)));
- }
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.ExecStateCode), (billInvnow, warecell, warehouse) => billInvnow.ExecStateCode.Equals(billInvNowQueryDto.ExecStateCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.ContGrpType), (billInvnow, warecell, warehouse) => billInvnow.ContGrpType.Equals(billInvNowQueryDto.ContGrpType));
- if (!string.IsNullOrEmpty(billInvNowQueryDto?.InvStateCode))
- {
- var enums = (InvState)Enum.ToObject(typeof(InvState), Convert.ToInt32(billInvNowQueryDto?.InvStateCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.InvStateCode), (billInvnow, warecell, warehouse) => billInvnow.InvStateCode.Equals(enums.ToString()));
- }
- var sugarQueryable = _billInvnowrepository.Context.Queryable<BillInvnow, BaseWarecell, BaseWarehouse>((billInvnow, warecell, warehouse) => new object[] {
- JoinType.Left,billInvnow.ContGrpId == warecell.ContGrpId && billInvnow.WarehouseId ==warecell.WarehouseId ,
- JoinType.Left, billInvnow.WarehouseId==warehouse.Id, JoinType.Left, warecell.WarehouseId==warehouse.Id}).Where(predicate.ToExpression())
- .Select((billInvnow, warecell, warehouse) => new BillInvNowDto
- {
- Id = billInvnow.Id.ToString(),
- WarehouseId = billInvnow.WarehouseId.ToString(),
- WarehouseName = warehouse.Name,
- ContGrpId = billInvnow.ContGrpId.ToString(),
- ContGrpBarCode = billInvnow.ContGrpBarCode,
- ContGrpType = (int)billInvnow.ContGrpType,
- BoxBarCode = billInvnow.BoxBarCode,
- BomDocsNo = billInvnow.BomDocsNo,
- BomMatId = billInvnow.BomMatId.ToString(),
- BomMatCode = billInvnow.BomMatCode,
- BomMatName = billInvnow.BomMatName,
- BomSetId = billInvnow.BomSetId.ToString(),
- ExecStateCode = billInvnow.ExecStateCode,
- InvStateCode = billInvnow.InvStateCode,
- ExecDocsNo = billInvnow.ExecDocsNo,
- ExecDocsRowNo = billInvnow.ExecDocsRowNo,
- ExecDocsTypeCode = billInvnow.ExecDocsTypeCode,
- InvInOut = (int)billInvnow.InvInOut,
- ExecWho = billInvnow.ExecWho,
- ExecTime = billInvnow.ExecTime,
- PutRow = billInvnow.PutRow,
- PutCol = billInvnow.PutCol,
- PutLayer = billInvnow.PutLayer,
- InvBarCode = billInvnow.InvBarCode,
- InDocsNo = billInvnow.InDocsNo,
- InDocsRowNo = billInvnow.InDocsRowNo,
- SuppCode = billInvnow.SuppCode,
- SuppName = billInvnow.SuppName,
- CustCode = billInvnow.CustCode,
- CustName = billInvnow.CustName,
- MatId = billInvnow.MatId.ToString(),
- MatCode = billInvnow.MatCode,
- MatName = billInvnow.MatName,
- TolWQty = billInvnow.TolWQty,
- NetWQty = billInvnow.NetWQty,
- TareWQty = billInvnow.TareWQty,
- LengthQty = billInvnow.LengthQty,
- CaQty = billInvnow.CaQty,
- SolderQty = billInvnow.SolderQty,
- ContUsageQty = billInvnow.ContUsageQty,
- BatchNo = billInvnow.BatchNo,
- ProductTime = billInvnow.ProductTime,
- OneInTime = billInvnow.OneInTime,
- RodBarCode = billInvnow.RodBarCode,
- HWBarCode = billInvnow.HWBarCode,
- RFIDBarCode = billInvnow.RFIDBarCode,
- CLBarCode = billInvnow.CLBarCode,
- HWTypeCode = billInvnow.HWTypeCode,
- BoilerNo = billInvnow.BoilerNo,
- PackNo = billInvnow.PackNo,
- BrandNo = billInvnow.BrandNo,
- ExecStd = billInvnow.ExecStd,
- LicenceCode = billInvnow.LicenceCode,
- IsSurplus = billInvnow.IsSurplus,
- IsRework = billInvnow.IsRework,
- IsBlack = billInvnow.IsBlack,
- IsCore = billInvnow.IsCore,
- IsFast = billInvnow.IsFast,
- IsFail = billInvnow.IsFail,
- FailReason = billInvnow.FailReason,
- SilkTypeCode = billInvnow.SilkTypeCode,
- Grade = billInvnow.Grade,
- IsBack = billInvnow.IsBack,
- BackReason = billInvnow.BackReason,
- IsTorsChk = billInvnow.IsTorsChk,
- TorsChkQty = billInvnow.TorsChkQty,
- TorsChkTime = billInvnow.TorsChkTime,
- TorsChkValue = billInvnow.TorsChkValue,
- TorsChkMachCode = billInvnow.TorsChkMachCode,
- ProcessDocsCode = billInvnow.ProcessDocsCode,
- ProductMachCode = billInvnow.ProductMachCode,
- ProductLineNo = billInvnow.ProductLineNo,
- Wind = billInvnow.Wind,
- AddWho = billInvnow.AddWho,
- AddTime = billInvnow.AddTime,
- EditWho = billInvnow.EditWho,
- EditTime = billInvnow.EditTime,
- Size = billInvnow.Size,
- Memo = billInvnow.Memo,
- Tunnel = warecell.Tunnel,
- Code = warecell.Code,
- CellState = warecell.IsStop,
- SolderCount = billInvnow.SolderCount,
- HoldTime = billInvnow.HoldTime,
- IsControlpanel = billInvnow.IsControlpanel,
- WbGroupCode = billInvnow.WbGroupCode,
- SkuCode = billInvnow.SkuCode,
- PreStock = billInvnow.PreStock,
- TorsChkChord = billInvnow.TorsChkChord,
- TorsChkChordIsGood = billInvnow.TorsChkChordIsGood,
- TorsChkFlatness = billInvnow.TorsChkFlatness,
- TorsChkFlatnessIsGood = billInvnow.TorsChkFlatnessIsGood,
- TorsChkStation = billInvnow.TorsChkStation,
- TorsChkValueIsGood = billInvnow.TorsChkValueIsGood,
- }).MergeTable();
- return sugarQueryable;
- }
- private ISugarQueryable<BillInvNowDto> GetQueryable2(BillInvNowQueryDto2 billInvNowQueryDto)
- {
- var predicate = Expressionable.Create<BillInvnow, VPBoxDocSku>();
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.KeyWord), (billInvnow, pbox) => billInvnow.RFIDBarCode.Contains(billInvNowQueryDto.KeyWord) || billInvnow.ContGrpBarCode.Contains(billInvNowQueryDto.KeyWord) || billInvnow.MatCode.Contains(billInvNowQueryDto.KeyWord) || billInvnow.MatName.Contains(billInvNowQueryDto.KeyWord) || billInvnow.InvBarCode.Contains(billInvNowQueryDto.KeyWord));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Id), (billInvnow,pbox) => billInvnow.Id.ToString().Contains(billInvNowQueryDto.Id));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.WarehouseId), (billInvnow,pbox) => billInvnow.WarehouseId.ToString().Contains(billInvNowQueryDto.WarehouseId));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.ContGrpId), (billInvnow,pbox) => billInvnow.ContGrpId.ToString().Contains(billInvNowQueryDto.ContGrpId));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.EquContGrpId), (billInvnow,pbox) => billInvnow.ContGrpId.ToString().Equals(billInvNowQueryDto.EquContGrpId));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.MatCode), (billInvnow,pbox) => billInvnow.MatCode.Contains(billInvNowQueryDto.MatCode));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.MatName), (billInvnow,pbox) => billInvnow.MatName.Contains(billInvNowQueryDto.MatName));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.RFIDBarCode), (billInvnow,pbox) => billInvnow.RFIDBarCode.Contains(billInvNowQueryDto.RFIDBarCode));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.InvBarCode), (billInvnow,pbox) => billInvnow.InvBarCode.Contains(billInvNowQueryDto.InvBarCode));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.PutRow), (billInvnow,pbox) => billInvnow.PutRow.Equals(billInvNowQueryDto.PutRow));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.PutCol), (billInvnow,pbox) => billInvnow.PutCol.Equals(billInvNowQueryDto.PutCol));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.PutLayer), (billInvnow,pbox) => billInvnow.PutLayer.Equals(billInvNowQueryDto.PutLayer));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Grade), (billInvnow,pbox) => billInvnow.Grade.Contains(billInvNowQueryDto.Grade));
- //predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.OneInTimeBegin.HasValue, (billInvnow,pbox) => billInvnow.OneInTime >= billInvNowQueryDto.OneInTimeBegin);
- //predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.OneInTimeEnd.HasValue, (billInvnow,pbox) => billInvnow.OneInTime <= billInvNowQueryDto.OneInTimeEnd);
- //predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.ProductTimeBegin.HasValue, (billInvnow,pbox) => billInvnow.ProductTime >= billInvNowQueryDto.ProductTimeBegin);
- //predicate = predicate.AndIF(billInvNowQueryDto != null && billInvNowQueryDto.ProductTimeEnd.HasValue, (billInvnow,pbox) => billInvnow.ProductTime <= billInvNowQueryDto.ProductTimeEnd);
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Tunnel), (billInvnow,pbox) => warecell.Tunnel.Equals(billInvNowQueryDto.Tunnel));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Code), (billInvnow,pbox) => warecell.Code.Contains(billInvNowQueryDto.Code));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsSurplus), (billInvnow,pbox) => billInvnow.IsSurplus.Equals(billInvNowQueryDto.IsSurplus));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsRework), (billInvnow,pbox) => billInvnow.IsRework.Equals(billInvNowQueryDto.IsRework));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsFail), (billInvnow,pbox) => billInvnow.IsFail.Equals(billInvNowQueryDto.IsFail));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsFast), (billInvnow,pbox) => billInvnow.IsFast.Equals(billInvNowQueryDto.IsFast));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsBack), (billInvnow,pbox) => billInvnow.IsBack.Equals(billInvNowQueryDto.IsBack));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsBlack), (billInvnow,pbox) => billInvnow.IsBlack.Equals(billInvNowQueryDto.IsBlack));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsControlpanel), (billInvnow,pbox) => billInvnow.IsControlpanel.Equals(billInvNowQueryDto.IsControlpanel));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsTorsChk), (billInvnow,pbox) => billInvnow.IsTorsChk.Equals(billInvNowQueryDto.IsTorsChk));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsCore), (billInvnow,pbox) => billInvnow.IsCore.Equals(billInvNowQueryDto.IsCore));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.WbGroupCode), (billInvnow, pbox) => billInvnow.WbGroupCode == billInvNowQueryDto.WbGroupCode);
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.SolderCount), (billInvnow,pbox) => billInvnow.SolderCount.ToString().Contains(billInvNowQueryDto.SolderCount));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.HoldTime), (billInvnow,pbox) => billInvnow.HoldTime.ToString().Contains(billInvNowQueryDto.HoldTime));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.Wind), (billInvnow, pbox) => billInvnow.Wind.ToString() == billInvNowQueryDto.Wind);
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.SkuCode), (billInvnow, pbox) => pbox.SkuCode.ToString().Contains(billInvNowQueryDto.SkuCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.HwTypeCode), (billInvnow, pbox) => billInvnow.HWTypeCode.ToString().Contains(billInvNowQueryDto.HwTypeCode));
- //predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.TorsChkQty), (billInvnow,pbox) => billInvnow.TorsChkQty.Equals(billInvNowQueryDto.TorsChkQty));
- //if (!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut) && billInvNowQueryDto?.IsTimeOut == "0")
- //{
- // predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut), (billInvnow,pbox) => (DateTime.Now - billInvnow.ProductTime).TotalHours <= 72 && billInvnow.InDocsNo.ToLower().Contains("cha"));
- //}
- //else
- if (!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut) && billInvNowQueryDto?.IsTimeOut == "1")
- {
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.IsTimeOut), (billInvnow, pbox) => (billInvnow.ProductMachCode.Contains("R") && billInvnow.OneInTime < DateTime.Now.AddHours(-72)) || (!billInvnow.ProductMachCode.Contains("R") && billInvnow.ProductTime < DateTime.Now.AddHours(-72)));
- }
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.ExecStateCode), (billInvnow, pbox) => billInvnow.ExecStateCode.Equals(billInvNowQueryDto.ExecStateCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.ContGrpType), (billInvnow, pbox) => billInvnow.ContGrpType.Equals(billInvNowQueryDto.ContGrpType));
- if (!string.IsNullOrEmpty(billInvNowQueryDto?.InvStateCode))
- {
- var enums = (InvState)Enum.ToObject(typeof(InvState), Convert.ToInt32(billInvNowQueryDto?.InvStateCode));
- predicate = predicate.AndIF(!string.IsNullOrEmpty(billInvNowQueryDto?.InvStateCode), (billInvnow, pbox) => billInvnow.InvStateCode.Equals(enums.ToString()));
- }
- var sugarQueryable = _billInvnowrepository.Context.Queryable<BillInvnow, VPBoxDocSku>((billInvnow, pbox) => new object[] {
- JoinType.Inner, billInvnow.InDocsNo.StartsWith(pbox.DocsNo)
- }).Where(predicate.ToExpression()).Where((billInvnow, pbox) => billInvnow.InvStateCode == "InvEcecState_In")
- .Select((billInvnow, pbox) => new BillInvNowDto
- {
- Id = billInvnow.Id.ToString(),
- WarehouseId = billInvnow.WarehouseId.ToString(),
- //WarehouseName = warehouse.Name,
- ContGrpId = billInvnow.ContGrpId.ToString(),
- ContGrpBarCode = billInvnow.ContGrpBarCode,
- ContGrpType = (int)billInvnow.ContGrpType,
- BoxBarCode = billInvnow.BoxBarCode,
- BomDocsNo = billInvnow.BomDocsNo,
- BomMatId = billInvnow.BomMatId.ToString(),
- BomMatCode = billInvnow.BomMatCode,
- BomMatName = billInvnow.BomMatName,
- BomSetId = billInvnow.BomSetId.ToString(),
- ExecStateCode = billInvnow.ExecStateCode,
- InvStateCode = billInvnow.InvStateCode,
- ExecDocsNo = billInvnow.ExecDocsNo,
- ExecDocsRowNo = billInvnow.ExecDocsRowNo,
- ExecDocsTypeCode = billInvnow.ExecDocsTypeCode,
- InvInOut = (int)billInvnow.InvInOut,
- ExecWho = billInvnow.ExecWho,
- ExecTime = billInvnow.ExecTime,
- PutRow = billInvnow.PutRow,
- PutCol = billInvnow.PutCol,
- PutLayer = billInvnow.PutLayer,
- InvBarCode = billInvnow.InvBarCode,
- InDocsNo = billInvnow.InDocsNo,
- InDocsRowNo = billInvnow.InDocsRowNo,
- SuppCode = billInvnow.SuppCode,
- SuppName = billInvnow.SuppName,
- CustCode = billInvnow.CustCode,
- CustName = billInvnow.CustName,
- MatId = billInvnow.MatId.ToString(),
- MatCode = billInvnow.MatCode,
- MatName = billInvnow.MatName,
- TolWQty = billInvnow.TolWQty,
- NetWQty = billInvnow.NetWQty,
- TareWQty = billInvnow.TareWQty,
- LengthQty = billInvnow.LengthQty,
- CaQty = billInvnow.CaQty,
- SolderQty = billInvnow.SolderQty,
- ContUsageQty = billInvnow.ContUsageQty,
- BatchNo = billInvnow.BatchNo,
- ProductTime = billInvnow.ProductTime,
- OneInTime = billInvnow.OneInTime,
- RodBarCode = billInvnow.RodBarCode,
- HWBarCode = billInvnow.HWBarCode,
- RFIDBarCode = billInvnow.RFIDBarCode,
- CLBarCode = billInvnow.CLBarCode,
- HWTypeCode = billInvnow.HWTypeCode,
- BoilerNo = billInvnow.BoilerNo,
- PackNo = billInvnow.PackNo,
- BrandNo = billInvnow.BrandNo,
- ExecStd = billInvnow.ExecStd,
- LicenceCode = billInvnow.LicenceCode,
- IsSurplus = billInvnow.IsSurplus,
- IsRework = billInvnow.IsRework,
- IsBlack = billInvnow.IsBlack,
- IsCore = billInvnow.IsCore,
- IsFast = billInvnow.IsFast,
- IsFail = billInvnow.IsFail,
- FailReason = billInvnow.FailReason,
- SilkTypeCode = billInvnow.SilkTypeCode,
- Grade = billInvnow.Grade,
- IsBack = billInvnow.IsBack,
- BackReason = billInvnow.BackReason,
- IsTorsChk = billInvnow.IsTorsChk,
- TorsChkQty = billInvnow.TorsChkQty,
- TorsChkTime = billInvnow.TorsChkTime,
- TorsChkValue = billInvnow.TorsChkValue,
- TorsChkMachCode = billInvnow.TorsChkMachCode,
- ProcessDocsCode = billInvnow.ProcessDocsCode,
- ProductMachCode = billInvnow.ProductMachCode,
- ProductLineNo = billInvnow.ProductLineNo,
- Wind = billInvnow.Wind,
- AddWho = billInvnow.AddWho,
- AddTime = billInvnow.AddTime,
- EditWho = billInvnow.EditWho,
- EditTime = billInvnow.EditTime,
- Size = billInvnow.Size,
- Memo = billInvnow.Memo,
- //Tunnel = warecell.Tunnel,
- //Code = warecell.Code,
- //CellState = warecell.IsStop,
- SolderCount = billInvnow.SolderCount,
- HoldTime = billInvnow.HoldTime,
- IsControlpanel = billInvnow.IsControlpanel,
- WbGroupCode = billInvnow.WbGroupCode,
- SkuCode = pbox.SkuCode,
- PreStock = billInvnow.PreStock,
- TorsChkChord = billInvnow.TorsChkChord,
- TorsChkChordIsGood = billInvnow.TorsChkChordIsGood,
- TorsChkFlatness = billInvnow.TorsChkFlatness,
- TorsChkFlatnessIsGood = billInvnow.TorsChkFlatnessIsGood,
- TorsChkStation = billInvnow.TorsChkStation,
- TorsChkValueIsGood = billInvnow.TorsChkValueIsGood,
- });
- return sugarQueryable;
- }
- public List<EnumEntity> InvStateList()
- {
- return BZModels.Extensions.EnumToList<InvState>();
- }
- public List<EnumEntity> TaskStatusList()
- {
- return BZModels.Extensions.EnumToList<BZModels.SXTaskStatus>();
- }
- public List<EnumEntity> TaskTypeList()
- {
- return BZModels.Extensions.EnumToList<TaskType>();
- }
- public List<EnumEntity2> TaskBusTypeList()
- {
- return BZModels.Extensions.EnumToListDesc<SxTaskBusType>();
- }
- public List<EnumEntity> AGVTaskTypeList()
- {
- return BZModels.Extensions.EnumToList<AGVTaskType>();
- }
- public List<EnumEntity> FackbeekTypeList()
- {
- return BZModels.Extensions.EnumToList<FackbeekType>();
- }
- public List<EnumEntity> AGVTaskStatus()
- {
- return BZModels.Extensions.EnumToList<AGVTaskStatus>();
- }
- public List<EnumEntity> ContGrpTypeList()
- {
- return BZModels.Extensions.EnumToList<ContGrpType>();
- }
- public List<EnumEntity2> DocTypeList()
- {
- return BZModels.Extensions.EnumToListIdDesc<DocType>();
- }
- public List<EnumEntity> DocStateList()
- {
- return BZModels.Extensions.EnumToList<DocState>();
- }
- public List<EnumEntity> LocationStateList()
- {
- return BZModels.Extensions.EnumToList<LocationState>();
- }
- public List<EnumEntity> AutoManualOutTypeList()
- {
- return BZModels.Extensions.EnumToList<AutoManualOutType>();
- }
- }
- }
|