| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | using System;using System.Collections.Generic;using System.Text;using wms.dataservice.IDataSetvice;using wms.sqlsugar.model.pt;using wms.sqlsugar;using SqlSugar;using wms.dto.request.pt.dto;using wms.dto.response.pt.dto;using wms.dto;using System.Linq;namespace wms.dataservice.DataService{    public class PTDataService: IPTDataService    {        Repository<ptBaseWareLocation> _baseWareLocationrepository => new Repository<ptBaseWareLocation>();        Repository<ptBillDocsinfo> _billDocument => new Repository<ptBillDocsinfo>();        public List<string> GetStockByEquip(string code)        {            var list = _baseWareLocationrepository.Context.Queryable<ptBaseWareLocation, ptBillInvnow>((location, stock) => new object[]            {                JoinType.Inner, stock.ContGrpId == location.ContGrpId,            })            .Where((location, stock) => stock.InvStateCode == InvState.InvEcecState_BuildUp.ToString())            .WhereIF(!string.IsNullOrEmpty(code), (location, stock) => location.Code.Contains(code))            .Select((location, stock) => stock.HWBarCode).ToList();            return list;        }        public (List<PtDocumentsResponse>, int) GetPageDocumentsList(PtDocumentsRequest request)        {            int count = 0;            var list = _billDocument.Context.Queryable<ptBillDocsinfo, ptBaseWarehouse>((document, house) => new object[]            {                JoinType.Left, document.WarehouseId == house.Id            })            .WhereIF(!string.IsNullOrEmpty(request.DocsNo), (document, house) => document.DocsNo.Contains(request.DocsNo))            .WhereIF(!string.IsNullOrEmpty(request.ReqNo), (document, house) => document.ReqNo.Contains(request.ReqNo))            .WhereIF(!string.IsNullOrEmpty(request.StateCode), (document, house) => document.StateNum == int.Parse(request.StateCode))            .WhereIF(!string.IsNullOrEmpty(request.TypeCode), (document, house) => document.Type == request.TypeCode)            .Select((document, house) => new PtDocumentsResponse()            {                Id = document.Id,                WarehouseCode = house.Code,                DocNo = document.DocsNo,                ReqNo = document.ReqNo,                TypeCode = document.Type.ToString(),                StateCode = document.StateNum.ToString(),                DownQty = document.DownQty,                //DownErrReason = document.DownErrReason,                //Remark = document.Remark,                AddWho = document.AddWho,                EditWho = document.EditWho,                AddTime = document.AddTime,                EditTime = document.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<PtDocumentsdetailList>, int) GetDocumentDetailListByDocsNo(PtDocumentsRequest request)        {            int count = 0;            var list = _billDocument.Context.Queryable<ptBillDocument, ptBillBarcode, ptBaseMater, ptBillInvnow, ptBaseWareLocation>((document, barcode, mater, container, location) => new object[]            {                JoinType.Inner, document.DocNo == barcode.InDocsNo,                JoinType.Inner, barcode.MatId == mater.Id,                JoinType.Inner, barcode.RFIDBarCode == container.RFIDBarCode,                JoinType.Inner, container.ContGrpId == location.ContGrpId            })            .Where((document, barcode, mater, container, location) => container.InvStateCode == InvState.InvEcecState_In.ToString() && location.StateNum == LocationState.LocationState_Full.GetHashCode()            )            .WhereIF(!string.IsNullOrEmpty(request.DocsNo), (document, barcode, mater, container, location) => document.DocNo.Contains(request.DocsNo))            .WhereIF(!string.IsNullOrEmpty(request.Rfid), (document, barcode, mater, container, location) => container.RFIDBarCode.Contains(request.Rfid))            .WhereIF(!string.IsNullOrEmpty(request.location), (document, barcode, mater, container, location) => location.Code.Contains(request.location))            .Select((document, barcode, mater, container, location) => new PtDocumentsdetailList()            {                WarehouseCode = location.WarehouseCode,                MatCode = mater.Code,                MatName = mater.Name,                Location = location.Code,                RFIDBarCode = barcode.RFIDBarCode,                RodBarCode = container.RodBarCode,                IsFast = barcode.IsFast,                InvBarCode = container.InvBarCode,                BoilerNo = container.BoilerNo,                PackNo = container.PackNo,                ProductTime = barcode.ProductTime,                CaQty = barcode.CaQty,                State = container.ExecStateCode,                Qty = barcode.TotalWtQty            })            .ToPageList(request.PageIndex, request.PageSize, ref count);            //list = list.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToList();            return (list.ToList(), count);        }    }}
 |