新增统计功能

This commit is contained in:
fuenmao
2026-02-24 15:05:47 +08:00
parent f96ce8fb07
commit 589dd0305b
10 changed files with 970 additions and 3 deletions
@@ -0,0 +1,113 @@
// Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛
//
// SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款:
// 1.请不要删除和修改根目录下的LICENSE文件。
// 2.请不要删除和修改SimpleAdmin源码头部的版权声明。
// 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin
namespace SimpleAdmin.Application.Services.Statistics
{
/// <summary>
/// 年度统计数据 DTO(对应前端 YearlyStatisticsDto)
/// </summary>
public class YearlyStatisticsDto
{
/// <summary>统计年份(如 "2025")</summary>
public string Year { get; set; }
/// <summary>处方总花费(元)</summary>
public decimal TotalCost { get; set; }
/// <summary>处方总数量(张)</summary>
public int TotalQty { get; set; }
/// <summary>员工处方花费(元)</summary>
public decimal StaffCost { get; set; }
/// <summary>家属处方花费(元)</summary>
public decimal FamilyCost { get; set; }
/// <summary>员工处方数量(张)</summary>
public int StaffQty { get; set; }
/// <summary>家属处方数量(张)</summary>
public int FamilyQty { get; set; }
/// <summary>药材耗材花费(元)—— 当年所有入库药材总价</summary>
public decimal MaterialCost { get; set; }
/// <summary>服务人数(当年有过处方记录的不重复人员数)</summary>
public int ServiceCount { get; set; }
// ---------- 同比趋势(百分比,正数为增长,负数为下降) ----------
/// <summary>处方总花费同比趋势 (%)</summary>
public decimal TotalCostTrend { get; set; }
/// <summary>处方总数量同比趋势 (%)</summary>
public decimal TotalQtyTrend { get; set; }
/// <summary>药材花费同比趋势 (%)</summary>
public decimal MaterialCostTrend { get; set; }
/// <summary>服务人数同比趋势 (%)</summary>
public decimal ServiceCountTrend { get; set; }
}
/// <summary>
/// 月度明细数据 DTO(对应前端 MonthlyDetailDto)
/// </summary>
public class MonthlyDetailDto
{
/// <summary>月份显示(如 "1月")</summary>
public string Month { get; set; }
/// <summary>员工处方花费(元)</summary>
public decimal StaffCost { get; set; }
/// <summary>家属处方花费(元)</summary>
public decimal FamilyCost { get; set; }
/// <summary>员工处方数量(张)</summary>
public int StaffQty { get; set; }
/// <summary>家属处方数量(张)</summary>
public int FamilyQty { get; set; }
/// <summary>药材耗材花费(元)—— 当月入库总价</summary>
public decimal MaterialCost { get; set; }
}
/// <summary>
/// 全量总览 DTO(不区分年份,含剩余药材价值)
/// </summary>
public class TotalOverviewDto
{
/// <summary>处方总花费(元,含所有年份)</summary>
public decimal TotalCost { get; set; }
/// <summary>处方总数量(张)</summary>
public int TotalQty { get; set; }
/// <summary>员工处方花费(元)</summary>
public decimal StaffCost { get; set; }
/// <summary>家属处方花费(元)</summary>
public decimal FamilyCost { get; set; }
/// <summary>员工处方数量(张)</summary>
public int StaffQty { get; set; }
/// <summary>家属处方数量(张)</summary>
public int FamilyQty { get; set; }
/// <summary>药材采购总花费(元,历史所有入库总额)</summary>
public decimal MaterialCost { get; set; }
/// <summary>累计服务人数(不重复人员)</summary>
public int ServiceCount { get; set; }
/// <summary>当前剩余药材库存价值(元,按最新入库单价估算)</summary>
public decimal RemainingMedicinalValue { get; set; }
}
}