Files
kunshan-bzfm-mes-backend/DOAN.Service/MES/Product/IService/IProWorkorderMaterialService.cs
git_rabbit 6418bb67b9 feat(工单物料): 重构工单物料查询接口并支持分页
- 新增WorkorderMaterialQueryDto作为统一查询参数模型
- 修改物料库存、可领料工单、成品库存和可出货订单查询接口,支持分页返回
- 优化RouteCode为10的工单编号生成逻辑,从101开始编号
- 调整采购订单出货数量计算方式,直接减扣出库数量
2026-03-02 19:19:23 +08:00

95 lines
3.6 KiB
C#

using System.Collections.Generic;
using DOAN.Model.MES.order.Dto;
using DOAN.Model.MES.product.Dto;
namespace DOAN.Service.MES.product.IService
{
/// <summary>
/// 工单物料服务接口
/// </summary>
public interface IProWorkorderMaterialService
{
/// <summary>
/// 根据工单号查询已领料清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <returns>领料清单数据</returns>
List<MaterialTakeDto> GetMaterialTakeList(string workorder);
/// <summary>
/// 根据工单号查询已成品入库清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <returns>成品入库清单数据</returns>
List<ProductStorageDto> GetProductStorageList(string workorder);
/// <summary>
/// 根据工单号查询已出货清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <returns>出货清单数据</returns>
List<ShipmentDto> GetShipmentList(string workorder);
/// <summary>
/// 根据工单号查询物料库存接口
/// </summary>
/// <param name="query">请求模型</param>
/// <param name="workorder">工单号</param>
/// <param name="isHideZero">是否隐藏为0记录</param>
/// <param name="searchType">查询范围 1-物料库 2-转用库</param>
/// <returns>物料库存信息列表</returns>
PagedInfo<MaterialInventoryDto> GetMaterialInventoryList(WorkorderMaterialQueryDto query);
/// <summary>
/// 根据工单号获取可领料工单清单
/// </summary>
/// <param name="query">请求模型</param>
/// <param name="workorder">工单号</param>
/// <param name="isHideZero">是否隐藏为0记录</param>
/// <param name="searchType">查询范围 1-物料库 2-转用库</param>
/// <returns>可领料工单清单</returns>
PagedInfo<ProWorkorderDto> GetPickableWorkordersByWorkorder(WorkorderMaterialQueryDto query);
/// <summary>
/// 根据工单号查询成品库存
/// </summary>
/// <param name="query">请求模型</param>
/// <param name="workorder">工单号</param>
/// <param name="isHideZero">是否隐藏为0记录</param>
/// <returns>成品库存信息列表</returns>
PagedInfo<MaterialInventoryDto> GetProductInventoryList(WorkorderMaterialQueryDto query);
/// <summary>
/// 根据工单号获取可出货订单清单
/// </summary>
/// <param name="query">请求模型</param>
/// <param name="workorder">工单号</param>
/// <param name="isHideZero">是否隐藏为0记录</param>
/// <returns>可出货订单清单</returns>
PagedInfo<OrderPurchaseDto> GetShippableOrdersByWorkorder(WorkorderMaterialQueryDto query);
/// <summary>
/// 根据工单领料
/// </summary>
/// <param name="request">领料请求参数</param>
/// <returns>操作结果</returns>
bool TakeMaterial(MaterialTakeRequestDto request);
/// <summary>
/// 根据工单成品入库
/// </summary>
/// <param name="request">成品入库请求参数</param>
/// <returns>操作结果</returns>
bool StoreProduct(ProductStorageRequestDto request);
/// <summary>
/// 根据工单出货
/// </summary>
/// <param name="request">出货请求参数</param>
/// <returns>操作结果</returns>
bool ShipProduct(ShipmentRequestDto request);
}
}