1
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using ZR.Model.Dto;
|
||||
using ZR.Model.Business;
|
||||
using ZR.Service.Business.IBusinessService;
|
||||
using ZR.Admin.WebApi.Extensions;
|
||||
using ZR.Admin.WebApi.Filters;
|
||||
using ZR.Model.Business;
|
||||
using ZR.Model.Dto;
|
||||
using ZR.Service.Business.IBusinessService;
|
||||
|
||||
//创建时间:2025-01-02
|
||||
namespace ZR.Admin.WebApi.Controllers
|
||||
@@ -20,7 +20,9 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
/// </summary>
|
||||
private readonly IQcGp12ServiceStatisticsService _QcGp12ServiceStatisticsService;
|
||||
|
||||
public QcGp12ServiceStatisticsController(IQcGp12ServiceStatisticsService QcGp12ServiceStatisticsService)
|
||||
public QcGp12ServiceStatisticsController(
|
||||
IQcGp12ServiceStatisticsService QcGp12ServiceStatisticsService
|
||||
)
|
||||
{
|
||||
_QcGp12ServiceStatisticsService = QcGp12ServiceStatisticsService;
|
||||
}
|
||||
@@ -32,12 +34,83 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(Permission = "business:qcgp12servicestatistics:list")]
|
||||
public IActionResult QueryQcGp12ServiceStatistics([FromQuery] QcGp12ServiceStatisticsQueryDto parm)
|
||||
public IActionResult QueryQcGp12ServiceStatistics(
|
||||
[FromQuery] QcGp12ServiceStatisticsQueryDto parm
|
||||
)
|
||||
{
|
||||
var response = _QcGp12ServiceStatisticsService.GetList(parm);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询质量GP12统计报表业务模块列表
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("GetReviseList")]
|
||||
[AllowAnonymous]
|
||||
public IActionResult GetReviseList([FromBody] QcGp12ServiceStatisticsQueryDto parm)
|
||||
{
|
||||
var response = _QcGp12ServiceStatisticsService.GetReviseList(parm);
|
||||
|
||||
// 初始化统计数据
|
||||
int totalRequireNumber = 0;
|
||||
int totalQualifiedNumber = 0;
|
||||
int totalPolishNumber = 0;
|
||||
int totalDamoNumber = 0;
|
||||
int totalBaofeiNumber = 0;
|
||||
int totalListCount = 0;
|
||||
|
||||
// 将动态属性转换为字典并合并到主对象中,并计算统计数据
|
||||
var resultWithDefects = response
|
||||
.Select(item =>
|
||||
{
|
||||
var itemDict = new Dictionary<string, object>();
|
||||
foreach (var prop in typeof(QcGp12ServiceStatisticsDto).GetProperties())
|
||||
{
|
||||
itemDict[prop.Name] = prop.GetValue(item);
|
||||
}
|
||||
|
||||
// 添加动态属性
|
||||
foreach (var dynamicProp in item.DynamicProperties)
|
||||
{
|
||||
itemDict[dynamicProp.Key] = dynamicProp.Value;
|
||||
}
|
||||
|
||||
// 累加统计数据
|
||||
totalRequireNumber += Convert.ToInt32(item.RequireNumber);
|
||||
totalQualifiedNumber += Convert.ToInt32(item.QualifiedNumber);
|
||||
totalPolishNumber += Convert.ToInt32(item.PolishNumber);
|
||||
totalDamoNumber += Convert.ToInt32(item.DamoNumber);
|
||||
totalBaofeiNumber += Convert.ToInt32(item.BaofeiNumber);
|
||||
totalListCount += 1;
|
||||
return itemDict;
|
||||
})
|
||||
.ToList();
|
||||
|
||||
// 计算合格率
|
||||
double qualifiedRate =
|
||||
totalRequireNumber > 0
|
||||
? (double)totalQualifiedNumber / totalRequireNumber * 150
|
||||
: 0;
|
||||
totalListCount = totalListCount / 3;
|
||||
// 创建统计数据字典
|
||||
var statistics = new Dictionary<string, object>
|
||||
{
|
||||
{ "TotalRequireNumber", totalRequireNumber },
|
||||
{ "TotalQualifiedNumber", totalQualifiedNumber },
|
||||
{ "QualifiedRate", $"{qualifiedRate:F2}%" },
|
||||
{ "TotalPolishNumber", totalPolishNumber },
|
||||
{ "TotalDamoNumber", totalDamoNumber },
|
||||
{ "TotalBaofeiNumber", totalBaofeiNumber },
|
||||
{ "TotalListCount", totalListCount }
|
||||
};
|
||||
|
||||
// 返回包含数据和统计数据的对象
|
||||
var result = new { list = resultWithDefects, statistics = statistics };
|
||||
|
||||
return SUCCESS(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询质量GP12统计报表业务模块详情
|
||||
@@ -49,7 +122,7 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
public IActionResult GetQcGp12ServiceStatistics(string Id)
|
||||
{
|
||||
var response = _QcGp12ServiceStatisticsService.GetInfo(Id);
|
||||
|
||||
|
||||
var info = response.Adapt<QcGp12ServiceStatistics>();
|
||||
return SUCCESS(info);
|
||||
}
|
||||
@@ -77,7 +150,9 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
[HttpPut]
|
||||
[ActionPermissionFilter(Permission = "business:qcgp12servicestatistics:edit")]
|
||||
[Log(Title = "质量GP12统计报表业务模块", BusinessType = BusinessType.UPDATE)]
|
||||
public IActionResult UpdateQcGp12ServiceStatistics([FromBody] QcGp12ServiceStatisticsDto parm)
|
||||
public IActionResult UpdateQcGp12ServiceStatistics(
|
||||
[FromBody] QcGp12ServiceStatisticsDto parm
|
||||
)
|
||||
{
|
||||
var modal = parm.Adapt<QcGp12ServiceStatistics>().ToUpdate(HttpContext);
|
||||
var response = _QcGp12ServiceStatisticsService.UpdateQcGp12ServiceStatistics(modal);
|
||||
@@ -95,15 +170,14 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
public IActionResult DeleteQcGp12ServiceStatistics(string ids)
|
||||
{
|
||||
int[] idsArr = Tools.SpitIntArrary(ids);
|
||||
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
|
||||
if (idsArr.Length <= 0)
|
||||
{
|
||||
return ToResponse(ApiResult.Error($"删除失败Id 不能为空"));
|
||||
}
|
||||
|
||||
var response = _QcGp12ServiceStatisticsService.Delete(idsArr);
|
||||
|
||||
return ToResponse(response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user