feat(产品管理): 添加获取成品综合数据功能

添加新的接口方法获取成品综合数据,包括完成品在库总数、在制品总数等统计信息
This commit is contained in:
2026-03-24 14:30:03 +08:00
parent 1813dbb06d
commit 62e39aac06
4 changed files with 112 additions and 1 deletions

View File

@@ -806,5 +806,35 @@ namespace DOAN.Admin.WebApi.Controllers
return ToResponse(new ApiResult(500, ex.Message));
}
}
/// <summary>
/// 获取成品综合数据
/// </summary>
/// <param name="query">查询参数</param>
/// <returns>成品综合数据</returns>
[HttpPost("GetProductSummary")]
[ActionPermissionFilter(Permission = "productManagement:proworkorder:query")]
public IActionResult GetProductSummary([FromBody] ProductSummaryQueryDto query)
{
try
{
// 如果开始时间或结束时间为空,默认赋值为今天
if (query.StartTime == DateTime.MinValue)
{
query.StartTime = DateTime.Today;
}
if (query.EndTime == DateTime.MinValue)
{
query.EndTime = DateTime.Today;
}
var response = _ProWorkorderMaterialService.GetProductSummary(query);
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
}
}

View File

@@ -358,4 +358,51 @@ namespace DOAN.Model.MES.product.Dto
/// </summary>
public string Operator { get; set; }
}
/// <summary>
/// 成品综合数据传输对象
/// </summary>
public class ProductSummaryDto
{
/// <summary>
/// 完成品在库总数
/// </summary>
public decimal FinishedProductStockTotal { get; set; }
/// <summary>
/// 在制品总数
/// </summary>
public decimal WorkInProgressTotal { get; set; }
/// <summary>
/// 机加工在制品数
/// </summary>
public decimal MachiningWorkInProgress { get; set; }
/// <summary>
/// 研磨在制品数
/// </summary>
public decimal GrindingWorkInProgress { get; set; }
}
/// <summary>
/// 成品综合数据查询请求传输对象
/// </summary>
public class ProductSummaryQueryDto
{
/// <summary>
/// 开始时间
/// </summary>
public DateTime StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime EndTime { get; set; }
/// <summary>
/// 产品编号
/// </summary>
public string ProductionCode { get; set; }
}
}

View File

@@ -96,6 +96,12 @@ namespace DOAN.Service.MES.product.IService
/// <returns>操作结果</returns>
bool ShipProduct(ShipmentRequestDto request);
/// <summary>
/// 获取成品综合数据
/// </summary>
/// <param name="query">查询参数</param>
/// <returns>成品综合数据</returns>
ProductSummaryDto GetProductSummary(ProductSummaryQueryDto query);
}
}

View File

@@ -82,7 +82,6 @@ namespace DOAN.Service.MES.product
/// 根据工单号查询工单已成品入库清单
/// </summary>
/// <param name="workorder">工单号</param>
/// <param name="isHideZero">是否隐藏0库存</param>
/// <returns>成品入库清单数据</returns>
public List<ProductStorageDto> GetProductStorageList(string workorder)
{
@@ -763,5 +762,34 @@ namespace DOAN.Service.MES.product
throw new Exception(ex.Message);
}
}
/// <summary>
/// 获取成品综合数据
/// </summary>
/// <param name="query">查询参数</param>
/// <returns>成品综合数据</returns>
public ProductSummaryDto GetProductSummary(ProductSummaryQueryDto query)
{
try
{
// 业务逻辑留空,待后续实现
// 此处应实现查询完成品在库总数,在制品总数,机加工在制品数,研磨在制品数
var result = new ProductSummaryDto
{
FinishedProductStockTotal = 0,
WorkInProgressTotal = 0,
MachiningWorkInProgress = 0,
GrindingWorkInProgress = 0
};
return result;
}
catch (Exception ex)
{
// 集成现有系统的日志记录
// Log.Error("获取成品综合数据失败", ex);
throw;
}
}
}
}