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