using System.Collections.Generic; using DOAN.Model.BZFM; using DOAN.Model.MES.product; using DOAN.Model.MES.product.Dto; using DOAN.Service.MES.product.IService; using Infrastructure.Attribute; namespace DOAN.Service.MES.product { /// /// 工单物料服务实现 /// [AppService( ServiceType = typeof(IProWorkorderMaterialService), ServiceLifetime = LifeTime.Transient )] public class ProWorkorderMaterialService : BaseService, IProWorkorderMaterialService { /// /// 根据工单号查询领料清单 /// /// 工单号 /// 领料清单数据 public List GetMaterialTakeList(string workorder) { var result = Context .Queryable() .Where(it => it.Workorder == workorder) .Where(it => it.TransactionType == "领料出库") .Where(it => it.Remarks != "已撤销") .Select(it => new MaterialTakeDto { MaterialCode = it.MaterialCode, MaterialName = it.MaterialName, BatchNo = it.BatchNo, Quantity = it.Quantity, Unit = it.Unit, CreatedTime = it.CreatedTime.Value, Operator = it.Operator, OutboundNo = it.OutboundNo, Workorder = it.Workorder, WorkorderRaw = it.WorkorderRaw, }) .ToList(); return result; } /// /// 根据工单号查询成品入库清单 /// /// 工单号 /// 成品入库清单数据 public List GetProductStorageList(string workorder) { var result = Context .Queryable() .Where(it => it.Workorder == workorder) .Where(it => it.TransactionType == "生产入库") .Where(it => it.Remarks != "已撤销") .Select(it => new ProductStorageDto { MaterialCode = it.MaterialCode, MaterialName = it.MaterialName, BatchNo = it.BatchNo, Quantity = it.Quantity, Unit = it.Unit, CreatedTime = it.CreatedTime.Value, Operator = it.Operator, InboundNo = it.InboundNo, Workorder = it.Workorder, WorkorderRaw = it.WorkorderRaw, }) .ToList(); return result; } /// /// 根据工单号查询出货清单 /// /// 工单号 /// 出货清单数据 public List GetShipmentList(string workorder) { var result = Context .Queryable() .Where(it => it.Workorder == workorder) .Where(it => it.TransactionType == "出货出库") .Where(it => it.Remarks != "已撤销") .Select(it => new ShipmentDto { MaterialCode = it.MaterialCode, MaterialName = it.MaterialName, BatchNo = it.BatchNo, Quantity = it.Quantity, Unit = it.Unit, CreatedTime = it.CreatedTime.Value, Operator = it.Operator, OutboundNo = it.OutboundNo, Workorder = it.Workorder, WorkorderRaw = it.WorkorderRaw, CustomerOrder = it.OrderNo, }) .ToList(); return result; } } }