110 lines
4.0 KiB
C#
110 lines
4.0 KiB
C#
|
|
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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|