Commit abf8c570 by lcx

添加筛选条件 - 科室

parent 56f40a0c
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
using Performance.Services; using Performance.Services;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
namespace Performance.Api namespace Performance.Api
{ {
...@@ -34,14 +35,17 @@ public PerformanceQuery(GraphQLService service) ...@@ -34,14 +35,17 @@ public PerformanceQuery(GraphQLService service)
); );
Field<ListGraphType<ChartDataType>>("chartdata", Field<ListGraphType<ChartDataType>>("chartdata",
arguments: Arguments(), arguments: Arguments(
new QueryArgument<StringGraphType>() { Name = QueryParams.accountingUnit }
),
resolve: context => resolve: context =>
{ {
int reportId = context.Arguments.ContainsKey(QueryParams.reportId) int reportId = context.Arguments.ContainsKey(QueryParams.reportId)
? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId]) ? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId])
: 0; : 0;
var parameters = GetDynamicParameters(context.Arguments, QueryParams.hospitalId, QueryParams.year, QueryParams.month); StringBuilder where = new StringBuilder();
return service.GetChartData(reportId, parameters); var parameters = GetDynamicParameters(context.Arguments, where, QueryParams.hospitalId, QueryParams.year, QueryParams.month, QueryParams.accountingUnit);
return service.GetChartData(reportId, parameters, where.ToString());
} }
); );
...@@ -56,23 +60,9 @@ public PerformanceQuery(GraphQLService service) ...@@ -56,23 +60,9 @@ public PerformanceQuery(GraphQLService service)
int reportId = context.Arguments.ContainsKey(QueryParams.reportId) int reportId = context.Arguments.ContainsKey(QueryParams.reportId)
? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId]) ? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId])
: 0; : 0;
var parameters = GetDynamicParameters(context.Arguments, QueryParams.hospitalId, QueryParams.year, QueryParams.month, QueryParams.accountingUnit, QueryParams.category, QueryParams.itemName); StringBuilder where = new StringBuilder();
return service.GetReportPerformance(reportId, parameters); var parameters = GetDynamicParameters(context.Arguments, where, QueryParams.hospitalId, QueryParams.year, QueryParams.month, QueryParams.accountingUnit, QueryParams.category, QueryParams.itemName);
} return service.GetReportPerformance(reportId, parameters, where.ToString());
);
Field<ListGraphType<ReportPerformanceType>>("dictionary",
arguments: new QueryArguments(
new QueryArgument<IntGraphType>() { Name = QueryParams.reportId },
new QueryArgument<ListGraphType<StringGraphType>>() { Name = QueryParams.sourceType }
),
resolve: context =>
{
int reportId = context.Arguments.ContainsKey(QueryParams.reportId)
? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId])
: 15;
var parameters = GetDynamicParameters(context.Arguments, QueryParams.sourceType);
return service.GetReportPerformance(reportId, parameters);
} }
); );
} }
...@@ -98,7 +88,7 @@ public static QueryArguments Arguments(params QueryArgument[] args) ...@@ -98,7 +88,7 @@ public static QueryArguments Arguments(params QueryArgument[] args)
return basic; return basic;
} }
public DynamicParameters GetDynamicParameters(Dictionary<string, object> arguments, params string[] fields) public DynamicParameters GetDynamicParameters(Dictionary<string, object> arguments, StringBuilder builder, params string[] fields)
{ {
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
if (arguments == null || !arguments.Any()) return parameters; if (arguments == null || !arguments.Any()) return parameters;
...@@ -109,6 +99,7 @@ public DynamicParameters GetDynamicParameters(Dictionary<string, object> argumen ...@@ -109,6 +99,7 @@ public DynamicParameters GetDynamicParameters(Dictionary<string, object> argumen
if (arguments.ContainsKey(item)) if (arguments.ContainsKey(item))
{ {
parameters.Add(item.ToLower(), arguments[item]); parameters.Add(item.ToLower(), arguments[item]);
builder.Append($" and {item.ToLower()}=@{item.ToLower()} ");
} }
} }
} }
......
...@@ -1697,6 +1697,16 @@ ...@@ -1697,6 +1697,16 @@
Not In Not In
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ReportTable.PersonnelName">
<summary>
人员信息
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.AccountingUnit"> <member name="P:Performance.DtoModels.ReportTable.AccountingUnit">
<summary> <summary>
核算单元 核算单元
......
...@@ -377,7 +377,7 @@ public void ComputeOffice(per_allot allot, PerExcel excel) ...@@ -377,7 +377,7 @@ public void ComputeOffice(per_allot allot, PerExcel excel)
dept.Number = empolyees.Count(); dept.Number = empolyees.Count();
dept.AccountingUnit = account.AccountingUnit; dept.AccountingUnit = account.AccountingUnit;
dept.UnitType = account.AccountType; dept.UnitType = account.AccountType;
dept.ScoringAverage = resAccount?.ScoringAverage == null ? 0 : resAccount.ScoringAverage; dept.ScoringAverage = resAccount?.ScoringAverage == null ? 1 : resAccount.ScoringAverage;
dept.AdjustFactor = (isBudget ? adjust : resAccount?.AdjustFactor) ?? 1; dept.AdjustFactor = (isBudget ? adjust : resAccount?.AdjustFactor) ?? 1;
dept.Income = empolyees.Sum(w => w.PerforTotal ?? 0); dept.Income = empolyees.Sum(w => w.PerforTotal ?? 0);
//dept.Extra = (extra ?? 0); //dept.Extra = (extra ?? 0);
......
...@@ -52,7 +52,7 @@ public ReportData GetReport(int reportId) ...@@ -52,7 +52,7 @@ public ReportData GetReport(int reportId)
return new ReportData(report); return new ReportData(report);
} }
public List<ChartData> GetChartData(int reportId, DynamicParameters parameters) public List<ChartData> GetChartData(int reportId, DynamicParameters parameters, string where = null)
{ {
if (reportId == 0) return new List<ChartData>(); if (reportId == 0) return new List<ChartData>();
...@@ -62,6 +62,7 @@ public List<ChartData> GetChartData(int reportId, DynamicParameters parameters) ...@@ -62,6 +62,7 @@ public List<ChartData> GetChartData(int reportId, DynamicParameters parameters)
if (report == null || string.IsNullOrEmpty(report.Content)) return new List<ChartData>(); if (report == null || string.IsNullOrEmpty(report.Content)) return new List<ChartData>();
var sql = report.Content.ToLower(); var sql = report.Content.ToLower();
if (!string.IsNullOrEmpty(where)) sql = sql.Replace("{wh}", where);
var chartData = repreportRepository.DapperQuery<ChartData>(sql, parameters, 60 * 5); var chartData = repreportRepository.DapperQuery<ChartData>(sql, parameters, 60 * 5);
...@@ -74,7 +75,7 @@ public List<ChartData> GetChartData(int reportId, DynamicParameters parameters) ...@@ -74,7 +75,7 @@ public List<ChartData> GetChartData(int reportId, DynamicParameters parameters)
} }
} }
public List<ReportTable> GetReportPerformance(int reportId, DynamicParameters parameters) public List<ReportTable> GetReportPerformance(int reportId, DynamicParameters parameters, string where = null)
{ {
if (reportId == 0) return new List<ReportTable>(); if (reportId == 0) return new List<ReportTable>();
...@@ -84,6 +85,7 @@ public List<ReportTable> GetReportPerformance(int reportId, DynamicParameters pa ...@@ -84,6 +85,7 @@ public List<ReportTable> GetReportPerformance(int reportId, DynamicParameters pa
if (report == null || string.IsNullOrEmpty(report.Content)) return new List<ReportTable>(); if (report == null || string.IsNullOrEmpty(report.Content)) return new List<ReportTable>();
var sql = report.Content.ToLower(); var sql = report.Content.ToLower();
if (!string.IsNullOrEmpty(where)) sql = sql.Replace("{wh}", where);
var chartData = repreportRepository.DapperQuery<ReportTable>(sql, parameters, 60 * 5); var chartData = repreportRepository.DapperQuery<ReportTable>(sql, parameters, 60 * 5);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment