Files
kunshan-bzfm-mes-backend/DOAN.Service/MES/Product/ProWorkorderMaterialService.cs

110 lines
4.0 KiB
C#
Raw Normal View History

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
{
/// <summary>
/// 工单物料服务实现
/// </summary>
[AppService(
ServiceType = typeof(IProWorkorderMaterialService),
ServiceLifetime = LifeTime.Transient
)]
public class ProWorkorderMaterialService
: BaseService<ProWorkorder>,
IProWorkorderMaterialService
{
/// <summary>
/// 根据工单号查询领料清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <returns>领料清单数据</returns>
public List<MaterialTakeDto> GetMaterialTakeList(string workorder)
{
var result = Context
.Queryable<MmRecordOutbound>()
.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;
}
/// <summary>
/// 根据工单号查询成品入库清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <returns>成品入库清单数据</returns>
public List<ProductStorageDto> GetProductStorageList(string workorder)
{
var result = Context
.Queryable<MmRecordInbound>()
.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;
}
/// <summary>
/// 根据工单号查询出货清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <returns>出货清单数据</returns>
public List<ShipmentDto> GetShipmentList(string workorder)
{
var result = Context
.Queryable<MmRecordOutbound>()
.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;
}
}
}